JP2001043359A - Image processor and method - Google Patents

Image processor and method

Info

Publication number
JP2001043359A
JP2001043359A JP2000210140A JP2000210140A JP2001043359A JP 2001043359 A JP2001043359 A JP 2001043359A JP 2000210140 A JP2000210140 A JP 2000210140A JP 2000210140 A JP2000210140 A JP 2000210140A JP 2001043359 A JP2001043359 A JP 2001043359A
Authority
JP
Japan
Prior art keywords
rectangular block
image
data
reading
local data
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.)
Pending
Application number
JP2000210140A
Other languages
Japanese (ja)
Inventor
Kazunori So
一憲 宋
Taro Yokose
太郎 横瀬
Hiroaki Tomita
浩明 冨田
Fujio Ihara
富士夫 井原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2000210140A priority Critical patent/JP2001043359A/en
Publication of JP2001043359A publication Critical patent/JP2001043359A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To attain the fast rotation, enlargement and reduction and clipping of an image by means of a memory of small capacity with no use of a page memory and with no redundant reading operations required. SOLUTION: A band data storing means 40 reads in sequence the input images, and the local data stored in the means 40 are sequentially read out to undergo the conversion processing such as the rotation and enlargement/ reduction via a local data conversion part 50 and then stored in an intermediate buffer of a converted data storing means 60. Then the local data are read out of the means 60 in their outputting order, stored temporarily in a band buffer of a band data storing means 70 and outputted via an image output means 80.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は画像処理技術に関す
るものであり、特に任意角回転、拡大縮小、クリッピン
グを安価で高速に行うようにするものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing technique, and more particularly to an inexpensive and high-speed rotation, enlargement / reduction, and clipping of an arbitrary angle.

【0002】[0002]

【従来の技術】一般に画像処理は画素の位置に変更を加
える幾何学的処理と、画素値に変更を加える画素値処理
とに大別できる。前者の具体例としては画像の回転、拡
大、縮小といったアフィン変換や、画素を切り抜くクリ
ッピングなどがある。後者の具体例としては色補正、フ
ィルタ処理などがある。
2. Description of the Related Art Generally, image processing can be broadly divided into geometric processing for changing the position of a pixel and pixel value processing for changing a pixel value. Specific examples of the former include affine transformation such as image rotation, enlargement, and reduction, and clipping for clipping pixels. Specific examples of the latter include color correction and filter processing.

【0003】これらの画像処理の中でも回転処理は他の
処理と異なる点がある。すなわち、一般的な画像処理で
は、画像データをラスタ走査順に処理し、結果もラスタ
走査順に出力される。これに対し回転処理は入力すなわ
ちソース側と出力すなわちデスティネーション側でデー
タの入出力の順番が異なる。
[0003] Among these image processes, the rotation process is different from other processes. That is, in general image processing, image data is processed in the raster scanning order, and the result is also output in the raster scanning order. On the other hand, in the rotation processing, the input / output order of data differs between the input, that is, the source side and the output, that is, the destination side.

【0004】具体的にはソース側からラスタ走査順にデ
ータを入力すると、回転されたデータはデスティネーシ
ョン側で斜め方向に書き込まれることになる。従って、
デスティネーション側では画像データのランダムアクセ
スが必要になる。これを以下順変換方式と呼ぶ。反対に
デスティネーション側でラスタ走査順となるように画像
データを転送させると、ソース側にランダムアクセスが
必要となる。この方式を以下逆変換方式と呼ぶ。
Specifically, when data is input from the source side in the raster scanning order, the rotated data is written diagonally on the destination side. Therefore,
On the destination side, random access to image data is required. This is hereinafter referred to as a forward conversion method. Conversely, if the image data is transferred on the destination side in the raster scanning order, random access is required on the source side. This method is hereinafter referred to as an inverse conversion method.

【0005】どちらの方式でもソース側とデスティネー
ション側のいずれかでランダムアクセスが必要となる。
従来技術ではこれを可能とするためにページメモリを用
いる。すなわち、順変換方式ならデスティネーション側
のページメモリ上に回転画像を生成し、また逆変換方式
ならページメモリに全画像を書き込んでから回転処理し
ている。この方式を前提に画像データの転送時間と座標
計算時間を短縮する方式が提案されている。
[0005] In either system, random access is required on either the source side or the destination side.
The prior art uses a page memory to make this possible. That is, in the case of the forward conversion method, a rotated image is generated on the page memory on the destination side, and in the case of the inverse conversion method, the entire image is written in the page memory and then the rotation processing is performed. On the premise of this method, a method for reducing the transfer time of image data and the coordinate calculation time has been proposed.

【0006】従来例として、こういった方式の1つであ
る特開昭61−161576号公報に記載された技術に
ついて説明する。従来例は画像を局所的、すなわちブロ
ック単位で処理することにより、回転処理の高速化を図
ったものである。以下、従来例について図17を用いて
説明する。図17は本発明の説明に合うよう語句などを
変更してあるが、本質的には従来例の公報の記載となん
ら変わることはない。図17中、10は画像入力部、2
9は逆変換座標算出部、48はページメモリ読み出し
部、49はソース側ページメモリ、52は変換ROM、
51は局所データ変換部、78はページメモリ書き込み
部、79はデスティネーション側ページメモリ、80は
画像出力部、200は入力画像データ、228はソース
側アドレス情報、229は逆変換座標、230は局所デ
ータ、231は変換ROMの変換情報、240は変換さ
れた局所データ、269はデスティネーション側アドレ
ス情報、270は出力画像データである。
As a conventional example, a technique described in Japanese Patent Laid-Open No. 61-161576, which is one of such systems, will be described. In the conventional example, the image is processed locally, that is, in units of blocks, thereby speeding up the rotation process. Hereinafter, a conventional example will be described with reference to FIG. In FIG. 17, words and the like are changed so as to match the description of the present invention, but there is essentially no change from the description in the publication of the conventional example. In FIG. 17, reference numeral 10 denotes an image input unit;
9 is an inverse transformation coordinate calculation unit, 48 is a page memory read unit, 49 is a source page memory, 52 is a conversion ROM,
51 is a local data conversion unit, 78 is a page memory writing unit, 79 is a destination page memory, 80 is an image output unit, 200 is input image data, 228 is source address information, 229 is inverse transformation coordinates, and 230 is local Data 231 is conversion information of the conversion ROM, 240 is converted local data, 269 is destination-side address information, and 270 is output image data.

【0007】次に各部について説明する。画像入力部1
0は入力画像データ200をソース側ページメモリ49
へ格納する。逆変換座標算出部29はデスティネーショ
ン側における局所データの中心画素を逆変換したソース
側における座標を算出し、逆変換座標229として出力
する。ページメモリ読み出し部48は逆変換座標229
を中心とする局所データのソース側アドレス228をソ
ース側ページメモリ49へ送出する。ソース側ページメ
モリ49は入力画像データ200を格納し、ソース側ア
ドレス228に従って局所データ230を局所データ変
換部61へ送出する。局所データ変換部51は変換RO
M52の変換情報231に基づいて、読み出した局所デ
ータ230に回転、拡大、縮小などの変換処理を行い、
変換した局所データ240をデスティネーション側ペー
ジメモリ79へ出力する。ページメモリ書き込み部78
は逆変換座標229に対応するデスティネーション側ア
ドレス269をデスティネーション側ページメモリ79
へ送出する。デスティネーション側ページメモリ79は
変換した局所データ240を格納し、デスティネーショ
ン側アドレス269に従って出力画像データ270を画
像出力部80へ送出する。画像出力部80は出力画像デ
ータ270を外部へ出力する。
Next, each part will be described. Image input unit 1
0 indicates that the input image data 200 is stored in the source page memory 49.
To store. The inverse-transformed coordinate calculating unit 29 calculates the coordinates on the source side obtained by inversely converting the center pixel of the local data on the destination side, and outputs the coordinates as the inverse-transformed coordinates 229. The page memory read unit 48 has the inverse transformed coordinates 229.
Is transmitted to the source-side page memory 49. The source side page memory 49 stores the input image data 200 and sends out the local data 230 to the local data converter 61 according to the source side address 228. Local data converter 51 converts RO
Based on the conversion information 231 of M52, conversion processing such as rotation, enlargement, and reduction is performed on the read local data 230,
The converted local data 240 is output to the destination page memory 79. Page memory writing unit 78
Stores the destination-side address 269 corresponding to the inverse transformed coordinate 229 in the destination-side page memory 79.
Send to The destination-side page memory 79 stores the converted local data 240, and sends out the output image data 270 to the image output unit 80 according to the destination-side address 269. The image output unit 80 outputs the output image data 270 to the outside.

【0008】以上の構成の中で局所データ230は例え
ば3×3画素のブロックデータであるとする。
In the above configuration, it is assumed that the local data 230 is, for example, block data of 3 × 3 pixels.

【0009】以上の構成に基づいて画像の回転を局所的
回転と広域的回転に分けて処理する動作を、図18を用
いて説明する。図18中、400は回転前局所データ、
410は回転前中心画素、420は回転中心画素、43
0は理想回転後局所データ、440は回転後中心画素、
450は回転後局所データである。
The operation of processing the rotation of an image based on the above configuration by dividing the rotation into a local rotation and a global rotation will be described with reference to FIG. In FIG. 18, 400 is local data before rotation,
Reference numeral 410 denotes a center pixel before rotation, 420 denotes a center pixel of rotation, 43
0 is the local data after the ideal rotation, 440 is the central pixel after the rotation,
450 is local data after rotation.

【0010】回転前局所データ400を、回転中心画素
420を中心に回転すると、理想回転後局所データ43
0となる。しかし画素は水平方向および垂直方向に並べ
なければならないので、実際には回転後局所データ45
0とその位置する座標を得ることが回転処理の目的とな
る。さて、第1の実施例において、回転後局所データ4
50は、理想回転後局所データ430に対して回転後中
心画素440を中心とした局所的な回転処理を行うこと
によって得られる。この処理は局所データによらず一定
だから、回転角度αに応じて局所データ内における回転
先をテーブル化してROMに格納しておけば、局所デー
タごとに座標計算しなおす必要がない。回転後中心画素
440は回転前中心画素410と回転中心画素420お
よび回転角度αから計算する必要があるが、この計算は
局所データ毎に行えばよい。
When the pre-rotation local data 400 is rotated around the rotation center pixel 420, the ideal post-rotation local data 43
It becomes 0. However, since pixels must be arranged in the horizontal and vertical directions, the local data 45 after rotation is actually used.
The purpose of the rotation process is to obtain 0 and its coordinates. Now, in the first embodiment, the rotated local data 4
50 is obtained by performing local rotation processing on the post-rotation center pixel 440 on the ideal post-rotation local data 430. Since this processing is constant regardless of the local data, if the rotation destination in the local data is tabulated and stored in the ROM according to the rotation angle α, it is not necessary to recalculate the coordinates for each local data. The post-rotation center pixel 440 needs to be calculated from the pre-rotation center pixel 410, the rotation center pixel 420, and the rotation angle α, but this calculation may be performed for each local data.

【0011】このように従来例における回転処理は、変
換ROM52に基づく局所的処理と、回転先の局所デー
タのアドレスを求める広域的処理の2つの処理によって
行うことを特徴とする。従来例によれば高速な回転処理
が可能である。すなわち前者の局所的処理は単純化され
ているためにハードウェアなどによる高速化が可能であ
り、また広域的処理は演算回数自体を削減できる。
As described above, the rotation processing in the conventional example is characterized in that it is performed by two processings: a local processing based on the conversion ROM 52 and a global processing for obtaining the address of the local data of the rotation destination. According to the conventional example, high-speed rotation processing is possible. That is, since the former local processing is simplified, it can be speeded up by hardware or the like, and the wide area processing can reduce the number of operations itself.

【0012】しかしながら従来例は2つのページメモリ
を持つことが前提となっており、ページメモリが一般に
高価であることから、装置全体のコストが高くなるとい
う問題がある。
However, the conventional example is premised on having two page memories, and since the page memories are generally expensive, there is a problem that the cost of the entire apparatus increases.

【0013】[0013]

【発明が解決しようとする課題】本発明は上記問題点を
解決するためのもので、ページメモリを持つことなく少
ない容量のメモリを用いて、高速に低コストでこれら画
像の回転、拡大縮小、クリッピング処理可能にすること
を目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and uses a small-capacity memory without having a page memory to rotate and scale these images at high speed and at low cost. The purpose is to enable clipping.

【0014】[0014]

【課題を解決するための手段】本発明によれば、以上の
目的を達成するために、特許請求の範囲に記載のとおり
の構成を採用している。
According to the present invention, in order to achieve the above object, a configuration as described in the claims is adopted.

【0015】本発明によれば、回転角に応じて傾けた第
一の矩形ブロックを含むように第二の矩形ブロックを設
定し、この第二の矩形ブロック単位に、入力画像を順次
読出し、読出した第二の矩形ブロックから回転角度に応
じた回転処理を施した第一の矩形ブロックを得るよう構
成したため、任意回転角度の回転を行う場合、ページメ
モリを用いることなく、回転前の入力画像の読取、およ
び回転後の出力画像からの読みだし、いずれの画像読取
についても、ラスタスキャン方向の画像読取だけですま
すことができる。
According to the present invention, the second rectangular block is set so as to include the first rectangular block tilted according to the rotation angle, and the input image is sequentially read out in units of the second rectangular block, and read out. Since the first rectangular block subjected to the rotation processing according to the rotation angle is obtained from the second rectangular block, the rotation of the input image before rotation is performed without using a page memory when performing rotation at an arbitrary rotation angle. Scanning and reading from the output image after rotation can be performed only in the raster scan direction.

【0016】[0016]

【発明の実施の形態】以下、本発明の画像処理装置につ
いて詳細に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an image processing apparatus according to the present invention will be described in detail.

【0017】図1は本発明の基本概念を説明するブロッ
ク図である。図中、10は画像入力部、20はアドレス
制御手段、40はバンドデータ格納手段、50は局所デ
ータ変換手段、60は変換データ格納手段、70はバン
ドデータ格納手段、80は画像出力手段、200は入力
画像データ、220はソース側のアドレス情報、230
は局所データ、240は変換された局所データ、250
はデスティネーション側のアドレス情報、260は変換
された局所データ、270は出力画像データである。
FIG. 1 is a block diagram for explaining the basic concept of the present invention. In the figure, 10 is an image input unit, 20 is an address control unit, 40 is a band data storage unit, 50 is a local data conversion unit, 60 is a converted data storage unit, 70 is a band data storage unit, 80 is an image output unit, 200 Is input image data, 220 is address information on the source side, 230
Is local data, 240 is transformed local data, 250
Is address information on the destination side, 260 is converted local data, and 270 is output image data.

【0018】図1の構成を詳細に説明する。画像入力手
段10はラスタ走査順に1ラインずつ入力画像データ2
00をバンドデータ格納手段40へ送出する。アドレス
制御手段20はソース側のアドレス情報220をバンド
データ格納手段40へ送出し、デスティネーション側の
アドレス情報250を変換データ格納手段60へ送出す
る。バンドデータ格納手段40は局所データが十分格納
できる大きさで常にラスタ走査順に1ライン画像データ
が入力されたら最も古い1ラインのデータを破棄するよ
うなバンドバッファを有し、入力画像データをバンド状
のデータ(以下これをバンドデータと呼ぶ)としてバン
ドバッファに格納する機能を有し、ソース側のアドレス
情報220の示すバンドバッファ内の局所データ230
を送出する。局所データ変換部50は回転や拡大縮小な
どの変換機能を有し、画像の局所データ230の変換さ
れた局所データ240を送出する。変換データ格納手段
60は変換された局所データ240を一時的に格納でき
るランダムアクセス可能な中間バッファを有し、デステ
ィネーション側のアドレス情報250の示す局所データ
260を送出する。バンドデータ格納手段70は局所デ
ータを十分格納できる大きさのバンドバッファを有し、
このバンドバッファへ変換された局所データ260を格
納した後に出力画像データ270を画像出力手段80へ
送出する。画像出力手段80は出力画像データ270を
バンドごとに受け取り、他の記憶装置または外部へ送出
する。
The configuration of FIG. 1 will be described in detail. The image input means 10 inputs image data 2 one line at a time in raster scanning order.
00 to the band data storage means 40. The address control means 20 sends the source-side address information 220 to the band data storage means 40 and sends the destination-side address information 250 to the converted data storage means 60. The band data storage means 40 has a band buffer which is large enough to store local data and which always discards the oldest one-line data when one-line image data is input in raster scanning order. (Hereinafter referred to as band data) in the band buffer, and the local data 230 in the band buffer indicated by the address information 220 on the source side.
Is sent. The local data conversion unit 50 has a conversion function such as rotation and enlargement / reduction, and sends out the converted local data 240 of the local data 230 of the image. The converted data storage means 60 has a random accessible intermediate buffer capable of temporarily storing the converted local data 240, and sends out the local data 260 indicated by the address information 250 on the destination side. The band data storage means 70 has a band buffer large enough to store local data,
After storing the converted local data 260 in the band buffer, the output image data 270 is sent to the image output means 80. The image output means 80 receives the output image data 270 for each band, and sends it out to another storage device or outside.

【0019】以上の構成に基づいて本基本概念の動作を
説明する。図2は本基本概念の動作を説明するフローチ
ャートである。以下、図2を用いて説明する。
The operation of the basic concept based on the above configuration will be described. FIG. 2 is a flowchart for explaining the operation of the basic concept. Hereinafter, description will be made with reference to FIG.

【0020】S10では入力画像の1ラインをバンドバ
ッファに読み出す。S20ではバンドデータ格納手段4
0が保持するバンドバッファ内に、ソース側のアドレス
情報が示す局所データが存在する場合はS30へ、バン
ドバッファ内に存在しない場合はS10で再び入力画像
の1ラインを読み出す。S30ではソース側のアドレス
情報が示すバンドバッファ内の局所データを局所データ
変換部50へ送出する。S40では送出された局所デー
タを回転や拡大縮小といった変換処理を行い、変換デー
タ格納手段60が保持する中間バッファに格納する。S
50では入力画像について必要な処理を全て行ってない
場合はS10へ、行った場合はS60へ進む。S60で
はデスティネーション側のアドレス情報に従って、中間
バッファ内に格納されている変換された局所データをバ
ンドデータ格納手段70が保持するバンドバッファへ送
出する。S70ではデスティネーション側のアドレス情
報に従ってバンドバッファ内の局所データを画像出力手
段80へ送出する。S80では入力画像について必要な
処理を全て行ってない場合はS60へ、行った場合は処
理を終了させる。
In S10, one line of the input image is read out to the band buffer. In S20, the band data storage means 4
If the local data indicated by the address information on the source side exists in the band buffer held by 0, the process proceeds to S30. If the local data does not exist in the band buffer, one line of the input image is read again in S10. In S30, the local data in the band buffer indicated by the address information on the source side is sent to the local data conversion unit 50. In S40, the transmitted local data is subjected to conversion processing such as rotation and enlargement / reduction, and is stored in the intermediate buffer held by the converted data storage unit 60. S
In 50, if all the necessary processing has not been performed on the input image, the process proceeds to S10, and if it has been performed, the process proceeds to S60. In S60, the converted local data stored in the intermediate buffer is sent to the band buffer held by the band data storage unit 70 in accordance with the address information on the destination side. In S70, the local data in the band buffer is sent to the image output means 80 according to the address information on the destination side. In S80, if all necessary processes have not been performed on the input image, the process proceeds to S60, and if performed, the process ends.

【0021】以上の手段により入力画像から局所データ
を読み出すためのバンドデータ格納手段40において、
入力画像を何度も読み込む必要がなくなり、ラスタ走査
順に1回だけ入力画像を読み込むだけで入力画像を局所
的に分割した局所データ単位に回転処理でき、これらを
中間バッファ(変換データ格納手段60)に格納して再
びバンドバッファ(バンドデータ格納手段70)上に格
納することで局所データの広域的回転(平行移動)が行
われ、回転および拡大縮小処理などの変換された出力画
像が得られる。また同時にページメモリを不要とし、少
ないバッファだけでこれら変換処理を実現することがで
きる。
In the band data storage means 40 for reading local data from an input image by the above means,
There is no need to read the input image many times, and by reading the input image only once in the raster scanning order, the input image can be rotated in local data units obtained by locally dividing the input image. And then store it again on the band buffer (band data storage means 70), thereby performing a wide-area rotation (parallel movement) of the local data and obtaining a converted output image such as rotation and enlargement / reduction processing. At the same time, a page memory is not required, and these conversion processes can be realized with only a small number of buffers.

【0022】[0022]

【実施例】以下本発明の実施例を説明する。 [第1の実施例]本発明の第1の実施例としてバンドバ
ッファを用いた回転処理を行う手法を説明する。なお、
以下に説明する実施例においては、逆変換方式により回
転処理を行なうようにしている。逆変換方式を採用する
と、出力画素の画素位置を基準にして回転処理を行なえ
るのでより正確な回転処理を行なえる。もちろん、順変
換方式を採用することもできる。
Embodiments of the present invention will be described below. [First Embodiment] A method of performing a rotation process using a band buffer will be described as a first embodiment of the present invention. In addition,
In the embodiment described below, the rotation processing is performed by the inverse conversion method. When the inverse conversion method is adopted, the rotation processing can be performed with reference to the pixel position of the output pixel, so that more accurate rotation processing can be performed. Of course, a forward conversion method can also be adopted.

【0023】図3は本発明の第1の実施例を説明するブ
ロック図である。図中、10は画像入力部、21はアド
レスリスト生成部、30はアドレスリストソート部、4
1は読み出し用バンドバッファ、42はバンドバッファ
読み出し制御部、51は局所データ変換部、52は変換
ROM、61は中間バッファ、62は中間バッファ制御
部、71は書き込み用バンドバッファ、80は画像出力
部、200は入力画像データ、210はソース側の逆変
換されたアドレスリスト、220はソートされたソース
側のアドレスリスト、221は読み出し用バンドバッフ
ァ制御信号、230は局所データ、231は局所データ
の変換座標、240は変換された局所データ、250は
デスティネーション側のアドレスリスト、251は中間
バッファ制御信号、260は変換された局所データ、2
70は出力画像データである。
FIG. 3 is a block diagram for explaining the first embodiment of the present invention. In the figure, 10 is an image input unit, 21 is an address list generation unit, 30 is an address list sort unit, 4
1 is a read band buffer, 42 is a band buffer read control unit, 51 is a local data conversion unit, 52 is a conversion ROM, 61 is an intermediate buffer, 62 is an intermediate buffer control unit, 71 is a write band buffer, and 80 is an image output. , Reference numeral 200 denotes input image data, 210 denotes a source-side inverted address list, 220 denotes a sorted source-side address list, 221 denotes a read band buffer control signal, 230 denotes local data, and 231 denotes local data. Transformed coordinates, 240 is transformed local data, 250 is a destination address list, 251 is an intermediate buffer control signal, 260 is transformed local data,
70 is output image data.

【0024】図3の構成を説明する。画像入力部10は
入力画像データ200を順次ラスタ走査順に送出する。
アドレスリスト生成部21はデスティネーション側のア
ドレスリスト250およびこれの逆変換処理によって得
られるソース側のアドレスリスト210を送出する。ア
ドレスリストソート部30はy座標についてソート機能
を有しソース側のアドレスリスト220を送出する。バ
ンドバッファ読み出し制御部42はソース側のアドレス
リストに基づいて読み出し用バンドバッファ41を制御
する機能を有し、制御信号を送出する。局所データ変換
部51は局所データ230および局所データの変換座標
231に基づいて変換された局所データ240を送出す
る。中間バッファ制御部62はデスティネーション側の
アドレスリスト250に基づいて中間バッファの制御信
号251を送出する。中間バッファ61は変換された局
所データを格納する機能を有し、必要に応じて局所デー
タ260を送出する。書き込み用バンドバッファ71は
局所データを格納する機能を有し、バッファデータを順
次送出する。画像出力部80は出力画像を送出する。
The configuration of FIG. 3 will be described. The image input unit 10 sequentially sends the input image data 200 in a raster scanning order.
The address list generation unit 21 sends out the destination address list 250 and the source address list 210 obtained by inversely converting the address list 250. The address list sorting unit 30 has a sorting function for the y-coordinate and sends out the address list 220 on the source side. The band buffer read control unit 42 has a function of controlling the read band buffer 41 based on the source-side address list, and sends out a control signal. The local data conversion unit 51 sends out the local data 230 and the local data 240 converted based on the converted coordinates 231 of the local data. The intermediate buffer control unit 62 sends an intermediate buffer control signal 251 based on the destination address list 250. The intermediate buffer 61 has a function of storing the converted local data, and sends out the local data 260 as needed. The write band buffer 71 has a function of storing local data, and sequentially sends out buffer data. The image output unit 80 sends out an output image.

【0025】以上の構成に基づいて本実施例の動作を説
明する。図4、図5および図8は本実施例の動作を説明
するフローチャートである。以下、図4、図5および図
8等を用いて本実施例の動作を説明する。
The operation of this embodiment will be described based on the above configuration. FIGS. 4, 5, and 8 are flowcharts for explaining the operation of this embodiment. The operation of the present embodiment will be described below with reference to FIGS.

【0026】図4について本実施例の動作を全体として
説明する。図4は本実施例の動作を大まかに2つに分け
られることを示している。S100では入力画像を分割
し局所データに分けて変換し、変換結果を変換順に中間
バッファ61へ格納する。S200では中間バッファ6
1内にソートされたアドレスの順番で格納されている局
所データを、広域的に回転(平行移動)させて出力画像
を送出する。それぞれS100およびS200の詳細な
動作は図5および図8に対応している。
Referring to FIG. 4, the operation of the present embodiment will be described as a whole. FIG. 4 shows that the operation of this embodiment can be roughly divided into two. In S100, the input image is divided and divided into local data and converted, and the conversion result is stored in the intermediate buffer 61 in the conversion order. In S200, the intermediate buffer 6
The local data stored in the order of the addresses sorted in 1 is rotated (translated) in a wide area, and an output image is transmitted. The detailed operations of S100 and S200 correspond to FIGS. 5 and 8, respectively.

【0027】図5を参照して本実施例のS100(図
4)の動作を説明する。S110ではデスティネーショ
ン側のアドレスリストおよびこれを逆変換して求められ
るソース側のアドレスリストを生成する。S120では
ソース側のアドレスリストをy座標についてソート処理
する。S130ではソートされたソース側のアドレスリ
ストのアドレスを特定するアドレスポインターの初期化
を行う。S140では入力画像の1ラインの画像データ
を読み出し用バンドバッファ41に読み出す。S150
ではアドレスポインターの示すアドレスを中心とした局
所データとなるn×n画素ブロックのデータがバンドバ
ッファ41内に存在するかどうかを判断し、局所データ
の全画素が存在しない場合はS140にて再び入力画像
の1ラインをバンドバッファ41に読み出す。S160
ではS150において局所データの全画素が存在してい
る場合に、このアドレスを中心としたn×n画素ブロッ
クのデータを送出する。S170では予め求めてある座
標変換テーブルに基づいて局所データを変換し中間バッ
ファ61へ格納する。S180ではアドレスリスト上の
アドレスポインターを1つ進ませ、次のアドレスによる
処理準備を行う。S190ではソース側でソートされた
アドレスリストにまたアドレスがあるかどうか判断し、
存在する場合はS150において先のS140において
読み込んだバンドバッファ41内にアドレスの示す局所
データが存在する場合があるためにS150へとぶこと
になり、アドレスリストにアドレスが残っていない場合
は入力画像全てを局所的に変換して中間バッファ61へ
格納したことになる。
The operation of S100 (FIG. 4) of this embodiment will be described with reference to FIG. In S110, an address list on the destination side and an address list on the source side obtained by inversely converting the address list are generated. In S120, the address list on the source side is sorted for the y coordinate. In S130, an address pointer for specifying the address of the sorted source-side address list is initialized. In S140, the image data of one line of the input image is read out to the readout band buffer 41. S150
Then, it is determined whether or not the data of the n × n pixel block serving as the local data centering on the address indicated by the address pointer exists in the band buffer 41, and if all the pixels of the local data do not exist, it is input again in S140. One line of the image is read out to the band buffer 41. S160
In S150, when all the pixels of the local data exist in S150, the data of the n × n pixel block centering on this address is transmitted. In S170, the local data is converted based on the previously obtained coordinate conversion table and stored in the intermediate buffer 61. In S180, the address pointer on the address list is advanced by one, and the process preparation for the next address is performed. In S190, it is determined whether or not there is another address in the address list sorted on the source side.
If it exists, the local buffer indicated by the address may exist in the band buffer 41 read in S140 in S150, so that the process jumps to S150. If no address remains in the address list, the entire input image is displayed. Is locally converted and stored in the intermediate buffer 61.

【0028】以上の動作中読み出し用バンドバッファ4
1へのデータの読み出し処理について説明する。図6
(a)は、図5の読み出し用バンドバッファ41におけ
るデータの流れを示している。読み出し用バンドバッフ
ァ41としてリングバッファを用いたときの読み出し処
理は次のような流れで行なわれる。
The above-mentioned band buffer 4 for reading during operation
1 will be described. FIG.
5A shows the flow of data in the read band buffer 41 of FIG. The reading process when a ring buffer is used as the reading band buffer 41 is performed in the following flow.

【0029】リングバッファのラインデータのうち最
も古く読み出したラインデータを破棄する。 破棄したラインデータの次に読み出したラインデータ
から順番にシフトする。 (n−1)のラインデータをシフトした後、空いたラ
インバッファへ入力画像から新しく1ライン読み出す。
The oldest read line data among the line data in the ring buffer is discarded. Shifting is performed sequentially from the line data read next to the discarded line data. After shifting the line data of (n-1), one new line is read from the input image to an empty line buffer.

【0030】以上の動作によりリングバッファを用い
て、入力画像から1ラインずつデータを読み出しなが
ら、局所データを取出せる。
By the above operation, local data can be extracted while reading data line by line from the input image using the ring buffer.

【0031】また図6(b)は読み出し用バンドバッフ
ァ41としてダブルバッファを用いたときのデータの流
れを示している。一般的にデータ転送にバッファを用い
る場合、効率化のためにダブルバッファが頻繁に用いら
れる。本発明においてもダブルバッファを採用すること
ができる。ダブルバッファを用いた読み出し処理は次の
ような流れで行われる。
FIG. 6B shows the flow of data when a double buffer is used as the read band buffer 41. Generally, when a buffer is used for data transfer, a double buffer is frequently used for efficiency. The present invention can also employ a double buffer. The reading process using the double buffer is performed according to the following flow.

【0032】ダブルバッファのうち古く読み出したバ
ンドバッファ(たとえばバッファB)内の局所データを
すべてハードウェアに読み込んだとき、このバンドバッ
ファB内のデータを破棄する。 入力画像において次のnラインのラインデータをステ
ップのバンドバッファBへ読み込む。 バッファAまたはバッファA、Bにまたがる局所デー
タをハードウェアに読み込んだ後に、バッファA内のラ
インデータを破棄し、次の入力画像の読み出しに備え
る。
When all the local data in the band buffer (for example, buffer B) that has been read out of the double buffer has been read into the hardware, the data in the band buffer B is discarded. The line data of the next n lines in the input image is read into the band buffer B of the step. After reading the buffer A or the local data spanning the buffers A and B into the hardware, the line data in the buffer A is discarded, and the readout of the next input image is prepared.

【0033】以上の動作によりn画素幅のバンドバッフ
ァを2つ用いて、交互にnライン単位で読み出せるた
め、読み出し効率が向上する。
By the above operation, two band buffers having a width of n pixels can be alternately read in units of n lines, so that the reading efficiency is improved.

【0034】さらに図5の動作中の中間バッファ格納処
理(S170)について説明する。図7は本発明におけ
るアドレスリストの例および大まかな生成手順を示して
いる。局所データの中間バッファ61への格納処理は以
下の流れで行なわれる。
Next, the intermediate buffer storing process (S170) during the operation of FIG. 5 will be described. FIG. 7 shows an example of an address list and a rough generation procedure in the present invention. The process of storing local data in the intermediate buffer 61 is performed in the following flow.

【0035】デスティネーション側の全ブロックのア
ドレスリストを生成する(図5のS110における処
理)。 ステップのアドレスを逆変換し、さらにy座標に沿
ってソート処理を行ないソース側アドレスを生成する
(図5のS120における処理)。 ソース側アドレス順に変換された局所データを格納
し、その格納アドレスをソース側アドレスに対応させて
記録する。
An address list of all blocks on the destination side is generated (processing in S110 of FIG. 5). The address of the step is inversely converted, and the source side address is generated by performing a sort process along the y-coordinate (process in S120 in FIG. 5). The local data converted in the order of the source address is stored, and the stored address is recorded in correspondence with the source address.

【0036】以上の動作により中間バッファ61に格納
されたデスティネーション側のブロックに対応するデー
タを、アドレスリストから求めることができる。
With the above operation, data corresponding to the destination block stored in the intermediate buffer 61 can be obtained from the address list.

【0037】図8について本実施例のS200(図4)
の動作を説明する。S201ではデスティネーション側
のアドレスリストのアドレスを特定するアドレスポイン
ターの初期化を行う。S210ではデスティネーション
側のアドレスリストからアドレスポインターの示すアド
レスを読み込む。S220では次の処理のためにアドレ
スポインターを1つ進めておく。S230では読み込ん
だデスティネーション側のアドレスに対応する局所デー
タを、中間バッファ61から送出させ書き込み用バンド
バッファ71へ格納する。S240ではアドレスポイン
ターの示すアドレスが画像の端かどうか判断し、画像端
でない場合はS210にて次のアドレスについて処理す
る。S250ではS240において画像端である場合に
書き込み用バンドバッファ71内の全データをラスタ走
査順に画像出力部80へ送出する。S260ではアドレ
スリストに未処理アドレスが存在するかどうかを判断
し、アドレスが存在する場合はS210にて次のアドレ
スに対する処理を行い、アドレスが存在しない場合は中
間バッファ61に格納された入力画像を全て出力したこ
とになるため処理を終了する。
Referring to FIG. 8, S200 of this embodiment (FIG. 4)
Will be described. In S201, an address pointer for specifying an address in the address list on the destination side is initialized. In S210, the address indicated by the address pointer is read from the address list on the destination side. In S220, the address pointer is advanced by one for the next processing. In S230, the local data corresponding to the read address on the destination side is transmitted from the intermediate buffer 61 and stored in the write band buffer 71. In S240, it is determined whether or not the address indicated by the address pointer is the end of the image. If not, the process proceeds to S210 for the next address. In S250, if it is the image end in S240, all the data in the write band buffer 71 is sent to the image output unit 80 in the raster scanning order. In S260, it is determined whether or not an unprocessed address exists in the address list. If the address exists, the process for the next address is performed in S210. If the address does not exist, the input image stored in the intermediate buffer 61 is deleted. The process is terminated because all have been output.

【0038】次に本実施例のデータの流れを説明する。
図9は本実施例のデータの流れ(〜)を示してい
る。本実施例における処理は次のような流れで行われ
る。
Next, the data flow of this embodiment will be described.
FIG. 9 shows a data flow (-) of this embodiment. The processing in this embodiment is performed according to the following flow.

【0039】デスティネーション側でブロッキングし
たブロック(ブロック1〜24)の中心座標をラスタ走
査順に求めデスティネーション側のアドレスリストとす
る。 デスティネーション側のアドレスリストの座標を逆変
換して得られる座標をy座標についてソートし、ソース
側のアドレスリストを生成する。 入力画像から1ラインずつバンドバッファ41へ読み
込む。 バンドバッファ41内にアドレスポインターの示す座
標を中心とする局所データが存在すれば、その局所デー
タを読み出す。 変換ROM52に予め生成してある局所データの変換
座標に基づいて変換を行い、中間バッファ61へ変換順
に書き込む。 ソース側のアドレスリストについて処理が終わった
ら、ステップで生成したデスティネーション側のアド
レスリストに従って、中間バッファ61から書き込み用
バンドバッファ71に局所データを読み出す。 デスティネーション側のアドレスリストより画像端で
ある場合は、書き込み用バンドバッファ71内のデータ
を出力画像データとして送出する。これをデスティネー
ション側のアドレスリストについて全て行う。
The center coordinates of the blocks (blocks 1 to 24) blocked on the destination side are obtained in the raster scanning order, and are used as an address list on the destination side. The coordinates obtained by inversely transforming the coordinates of the address list on the destination side are sorted with respect to the y-coordinate to generate an address list on the source side. The input image is read into the band buffer 41 line by line. If there is local data centered on the coordinates indicated by the address pointer in the band buffer 41, the local data is read. The conversion is performed based on the conversion coordinates of the local data generated in advance in the conversion ROM 52, and is written to the intermediate buffer 61 in the order of conversion. When the processing is completed for the source-side address list, the local data is read from the intermediate buffer 61 to the write band buffer 71 in accordance with the destination-side address list generated in the step. If the destination is the image end from the address list, the data in the write band buffer 71 is transmitted as output image data. This is all performed for the address list on the destination side.

【0040】以上の動作の中でステップにおける変換
ROM52の変換座標について説明する。図10は8×
8画素のブロックを45度回転する場合の変換テーブル
の例である。図10(a)は変換後の画素の位置を示
し、(b)は45度回転前の画素の位置を示している。
この座標の算出方法は式(1)により容易に求めること
ができる。回転前のブロックの中心に対する各画素の回
転先を算出する。
The conversion coordinates of the conversion ROM 52 in the steps in the above operation will be described. FIG. 10 is 8 ×
It is an example of a conversion table in the case of rotating a block of 8 pixels by 45 degrees. FIG. 10A shows the positions of the pixels after the conversion, and FIG. 10B shows the positions of the pixels before the 45-degree rotation.
The method of calculating the coordinates can be easily obtained by equation (1). The rotation destination of each pixel with respect to the center of the block before rotation is calculated.

【0041】[0041]

【数1】 (Equation 1)

【0042】[第2の実施例]本発明の第2の実施例と
してマクロブロックバッファを用いた回転処理を行う手
法を説明する。図11は本発明の第2の実施例を説明す
るブロック図である。図中、第1の実施例と異なる構成
を説明すると、22はマクロブロック(以下MBと記
す)アドレスリスト生成部、31はMBアドレスリスト
ソート部、43は読み出し用MBバンドバッファ、44
はMBバッファ読み出し制御部、72は書き込み用MB
バンドバッファ、211はソース側の逆変換されたMB
アドレスリスト、222はソートされたソース側のMB
アドレスリスト、223は読み出し用MBバッファ制御
信号、252はデスティネーション側のMBアドレスリ
スト、253は中間バッファ制御信号である。
[Second Embodiment] As a second embodiment of the present invention, a method for performing a rotation process using a macroblock buffer will be described. FIG. 11 is a block diagram illustrating a second embodiment of the present invention. In the figure, a configuration different from that of the first embodiment will be described. Reference numeral 22 denotes a macroblock (hereinafter referred to as MB) address list generation unit, 31 denotes an MB address list sort unit, 43 denotes a read MB band buffer, 44
Is an MB buffer read control unit, and 72 is a write MB.
Band buffer 211 is the source-side inversely converted MB
Address list, 222 is the source MB sorted
An address list 223 is a read MB buffer control signal, 252 is a destination MB address list, and 253 is an intermediate buffer control signal.

【0043】図11の構成について第1の実施例と異な
る構成を説明する。MBアドレスリスト生成部22はデ
スティネーション側のMBアドレスリスト252および
これの逆変換処理によって得られるソース側のアドレス
リスト211を送出する。MBアドレスリストソート部
31はy座標についてソート機能を有しソース側のMB
アドレスリスト222を送出する。MBバッファ読み出
し制御部44はソース側のMBアドレスリストに基づい
て読みだし用MBバンドバッファ43を制御する機能を
有し、制御信号を送出する。書き込み用MBバンドバッ
ファ72はMBの全データ(以下MBデータと呼ぶ)を
格納する機能を有し、MBデータを順次送出する。
The configuration of FIG. 11 different from that of the first embodiment will be described. The MB address list generation unit 22 sends out the destination-side MB address list 252 and the source-side address list 211 obtained by performing the inverse conversion process on the destination MB address list 252. The MB address list sort unit 31 has a sort function for the y-coordinate and has a source side MB.
The address list 222 is sent. The MB buffer read controller 44 has a function of controlling the read MB band buffer 43 based on the source-side MB address list, and sends out a control signal. The write MB band buffer 72 has a function of storing all MB data (hereinafter referred to as MB data), and sequentially sends out MB data.

【0044】次に第2の実施例の動作を説明する。図1
2は第2の実施例のデータの流れを示している。以下、
図12を用いて説明するが、第1の実施例と同様の動作
を行う部分は説明を省略する。
Next, the operation of the second embodiment will be described. FIG.
2 shows a data flow of the second embodiment. Less than,
This will be described with reference to FIG. 12, but the description of the parts performing the same operations as in the first embodiment will be omitted.

【0045】デスティネーション側でブロッキングし
たブロックをいくつか合わせたものをMB(MB:a〜
f)とし、MBおよびMB内の各ブロックの中心座標を
ラスタ走査順に求めデスティネーション側のMBアドレ
スリストとする。 デスティネーション側のMBアドレスリストの座標を
逆変換して得られる座標をy座標についてソートし、ソ
ース側のMBアドレスリストを生成する。このときソー
ト処理はMBの中心座標にのみ行う。 入力画像から1ラインずつMBバンドバッファ43へ
読み込む。 MBバンドバッファ43内にMBアドレスポインター
の示す座標を中心とするMBデータが存在すれば、その
MBデータを各局所データ単位に読み出す。 変換ROM52に予め生成してある局所データの変換
座標に基づいて変換を行い、中間バッファ61へ変換順
にMBデータを書き込む。 ソース側のMBアドレスリストについて処理が終わっ
たら、ステップで生成したデスティネーション側のM
Bアドレスリストに従って、中間バッファ61から書き
込み用MBバンドバッファ72にMBデータを読み出
す。 デスティネーション側のアドレスリストより画像端で
ある場合は、書き込み用MBバンドバッファ72内のデ
ータを出力画像データとして送出する。これをデスティ
ネーション側のアドレスリストについて全て行う。
The combination of several blocks blocked on the destination side is referred to as MB (MB: a to
f), the center coordinates of the MB and each block in the MB are determined in the raster scanning order, and are set as the MB address list on the destination side. The coordinates obtained by inversely transforming the coordinates of the destination-side MB address list are sorted with respect to the y-coordinate to generate a source-side MB address list. At this time, the sorting process is performed only on the center coordinates of the MB. The input image is read into the MB band buffer 43 line by line. If there is MB data centered on the coordinates indicated by the MB address pointer in the MB band buffer 43, the MB data is read for each local data unit. The conversion is performed based on the conversion coordinates of the local data generated in advance in the conversion ROM 52, and the MB data is written to the intermediate buffer 61 in the conversion order. When the processing is completed for the source side MB address list, the destination side M
The MB data is read from the intermediate buffer 61 to the write MB band buffer 72 according to the B address list. If the destination is the image end according to the address list, the data in the write MB band buffer 72 is transmitted as output image data. This is all performed for the address list on the destination side.

【0046】以上のように本実施例ではブロックをいく
つか集めたMBを導入する。MBデータが十分格納でき
るMBバンドバッファを用意することにより、ソートす
べきアドレス数をMBの数だけに押さえることができ
る。すなわち図12の例では4ブロックで1つのMBと
すると、ソート数は1/4となる。局所データの変換は
第1の実施例と同様なため変換のためのH/Wは不変で
ある。以上のようにMBを導入することによりソフトウ
ェアの処理負荷を押さえることが可能となる。
As described above, in this embodiment, an MB in which some blocks are collected is introduced. By preparing an MB band buffer capable of sufficiently storing MB data, the number of addresses to be sorted can be reduced to the number of MBs. That is, in the example of FIG. 12, if one block is composed of four blocks, the number of sorts is 1 /. Since the conversion of the local data is the same as in the first embodiment, the H / W for the conversion is unchanged. By introducing the MB as described above, the processing load of software can be suppressed.

【0047】さらにソフトウェアの処理負荷を軽減させ
るために、アドレスリストをMBだけにして、MB内の
各ブロックのアドレスをブロック間のオフセット値から
ハードウェア内で算出する方式を採用してもよい。対応
するソース側のアドレスリストについてもMBだけに
し、中間バッファ61に格納するデータはいくつかのブ
ロックをまとめて1つの格納アドレスを記録することに
よっても、ソフトウェアの処理負荷が軽減できる。
To further reduce the processing load of software, a method may be adopted in which the address list is made up of only MBs and the address of each block in the MB is calculated in hardware from the offset value between blocks. The processing load of the software can also be reduced by using only the MB for the corresponding address list on the source side and recording one storage address collectively for several blocks of data stored in the intermediate buffer 61.

【0048】[第3の実施例]本発明の第3の実施例と
して中間バッファ61に格納する際に圧縮処理を併用し
た手法を説明する。図13は本発明の第3の実施例を説
明するブロック図である。図中、第2の実施例と異なる
構成を説明すると、90はデータ圧縮部、91はデータ
伸長部、242は圧縮された局所データ、261は圧縮
された局所データである。
[Third Embodiment] As a third embodiment of the present invention, a description will be given of a method in which a compression process is also used when storing data in the intermediate buffer 61. FIG. 13 is a block diagram illustrating a third embodiment of the present invention. In the figure, a configuration different from that of the second embodiment will be described. 90 is a data compression unit, 91 is a data decompression unit, 242 is compressed local data, and 261 is compressed local data.

【0049】図13の構成について第2の実施例と異な
る構成を説明する。データ圧縮部90は局所データ単位
の圧縮を行う機能を有し、圧縮された局所データ242
を送出する。データ伸長部91は局所データ単位の伸長
を行う機能を有し、伸長された局所データ260を送出
する。
The configuration of FIG. 13 different from that of the second embodiment will be described. The data compression section 90 has a function of performing compression in units of local data, and the compressed local data 242
Is sent. The data decompression unit 91 has a function of decompressing a local data unit, and sends out the decompressed local data 260.

【0050】本実施例では局所データとしてn×n画素
のブロックデータとしている。このためJPEG(Jo
int Photographic Experts
Group)方式などのブロック符号化を併用すること
によって、中間バッファ61の大きさを削減できるだけ
でなく転送時間を少なくすることができる。なお、本実
施例の圧縮手法としては、例えば、DCT、DFT、D
ST、LOT、アダマール変換、Wavelet変換、
サブバンド符号化のうちいずれかの周波数変換を利用し
たものを採用できる。
In this embodiment, block data of n × n pixels is used as local data. For this reason, JPEG (Jo
int Photographic Experts
By using block coding such as Group method, not only the size of the intermediate buffer 61 can be reduced, but also the transfer time can be reduced. The compression method of this embodiment includes, for example, DCT, DFT, D
ST, LOT, Hadamard transform, Wavelet transform,
Any of sub-band codings using any frequency conversion can be adopted.

【0051】図14は、本実施例(第4の実施例も同
様)を理論的に説明するものである。すなわち、アフィ
ン変換の効果は、図14に示すように、局所的な画素単
位の処理(第1項)と広域的な部分画像単位の処理(第
2項)とに分割され、両処理は独立に実行することがで
きる。本実施例では、部分画像内の画素単位の処理(第
1項)を局所データ変換部51で実行し、その後に、こ
れをデータ圧縮部90で圧縮している。そして、書き込
み用MBバンドバッファ72の書き込み時に部分画像単
位の広域的な処理(第2項)を実行するようにしてい
る。このようにすることにより、第2項の処理は画像デ
ータを圧縮した状態で実行することができ、データの転
送やメモリへの書き込みに要する時間を短縮することが
できる。
FIG. 14 theoretically explains the present embodiment (the same applies to the fourth embodiment). That is, as shown in FIG. 14, the effect of the affine transformation is divided into local pixel unit processing (first term) and wide area partial image unit processing (second term), and both processes are independent. Can be performed. In the present embodiment, the processing (first term) in units of pixels in the partial image is executed by the local data conversion unit 51, and thereafter, this is compressed by the data compression unit 90. Then, at the time of writing to the write MB band buffer 72, a wide area process (second term) is executed in units of partial images. By doing so, the processing of the second term can be executed in a state where the image data is compressed, and the time required for data transfer and writing to the memory can be reduced.

【0052】[第4の実施例]本発明の第4の実施例と
して第3の実施例においてデータ伸長部91を取り除く
ことにより、処理された画像の圧縮画像を送出する手法
を説明する。図15は本発明の第4の実施例を説明する
ブロック図である。図中、第3の実施例と異なる構成を
説明すると、81は圧縮画像出力部、271は圧縮され
た局所データである。
[Fourth Embodiment] As a fourth embodiment of the present invention, a method of transmitting a compressed image of a processed image by removing the data decompression unit 91 in the third embodiment will be described. FIG. 15 is a block diagram for explaining a fourth embodiment of the present invention. In the figure, a configuration different from that of the third embodiment will be described. Reference numeral 81 denotes a compressed image output unit, and 271 denotes compressed local data.

【0053】図15の構成について第3の実施例と異な
る構成を説明する。圧縮画像出力部81は圧縮された局
所データをマージする機能を有し、圧縮された出力画像
を送出する。
The configuration of FIG. 15 different from that of the third embodiment will be described. The compressed image output unit 81 has a function of merging the compressed local data, and sends out a compressed output image.

【0054】一般に画像は膨大な情報量となるため圧縮
して取り扱うのが普通である。このため出力後に圧縮処
理を行うことが十分予想されるが、本方式により局所デ
ータを圧縮したままで広域的処理を行うことができる。
本実施例においてJPEG方式などのブロック符号化を
行った場合、各ブロックにおけるDC成分の差分を符号
化する必要があるが、これは圧縮画像出力部81で取り
ながら行うこととする。
In general, an image has an enormous amount of information and is usually compressed and handled. For this reason, although it is expected that compression processing will be performed after output, wide-area processing can be performed with local data compressed by this method.
In the present embodiment, when block coding such as the JPEG method is performed, it is necessary to code the difference between DC components in each block, but this is performed while the compressed image output unit 81 captures the difference.

【0055】[第5の実施例]本発明の第5の実施例と
して複数のラスタ画像のクリッピング処理を伴った回転
処理手法を説明する。図16は本発明の第5の実施例を
説明するブロック図である。図中、第3の実施例と異な
る構成を説明すると、90はクリップ情報生成部、28
0はクリップ情報である。
Fifth Embodiment As a fifth embodiment of the present invention, a description will be given of a rotation processing method involving clipping processing of a plurality of raster images. FIG. 16 is a block diagram for explaining a fifth embodiment of the present invention. In the figure, a configuration different from that of the third embodiment will be described.
0 is clip information.

【0056】図16の構成について第2の実施例と異な
る構成を説明する。クリップ情報生成部90は複数のラ
スタ画像の位置や形状情報からクリップ情報を生成する
機能を有し、クリップ情報280をMBアドレスリスト
生成部22に送出する。
The configuration of FIG. 16 different from that of the second embodiment will be described. The clip information generation unit 90 has a function of generating clip information from the position and shape information of a plurality of raster images, and sends the clip information 280 to the MB address list generation unit 22.

【0057】クリッピングはラスタ走査順に入力される
複数のラスタデータをその位置情報に従って重ね合わせ
る処理である。従って一つの出力画像を生成するために
重ね合わせるラスタデータ数だけ部分的だとしてもラス
タ走査する必要がある。このためクリッピング処理につ
いても回転処理と同様に入力と出力の順番が異なるため
ページメモリを必要とする。さらにクリッピング処理で
はエッジリスト等の重なり情報に従って、1画素単位に
行う必要がある。この場合データアクセスだけでも膨大
となる。
Clipping is a process of superimposing a plurality of pieces of raster data input in raster scanning order according to their position information. Therefore, it is necessary to perform raster scanning even if it is only the number of pieces of raster data to be overlapped in order to generate one output image. Therefore, the clipping process requires a page memory because the order of input and output is different as in the rotation process. Further, the clipping process needs to be performed for each pixel in accordance with the overlapping information such as the edge list. In this case, data access alone is enormous.

【0058】以上からクリップ処理に対しても回転処理
と同様に局所的処理と広域的処理にわける。すなわち画
素ごとのクリップ処理は局所データに対して行い、広域
的処理は局所データ単位にクリップを行う。図15に示
すように局所データすなわちブロック単位にアドレスを
生成する際に、クリップ情報に基づいて最終的に一番上
側にくる局所領域のみについて行う。例えばラスタA、
Bのクリップ処理を行うときに、ブロック内にラスタ
A、Bが存在する場合はそれぞれのラスタでこのブロッ
クアドレスを生成する。完全にラスタAがラスタBに隠
れるときはこのブロックについてはラスタBだけアドレ
スを生成する。これによって、中間バッファ61に書き
こまれたラスタの境界を含まないブロックは書き込み用
MBバンドバッファ72にそのまま書き込み、境界を含
むブロックは書き込み用MBバンドバッファ72上で画
素単位の局所的処理を行うことができる。
As described above, the clip processing is also divided into the local processing and the wide area processing as in the rotation processing. That is, clip processing for each pixel is performed on local data, and wide processing is performed on a local data unit basis. As shown in FIG. 15, when an address is generated in local data, that is, in block units, it is performed only for a local region that finally comes to the top based on clip information. For example, raster A,
If the rasters A and B exist in the block when the clip processing of B is performed, the block address is generated for each raster. When the raster A is completely hidden by the raster B, only the raster B generates an address for this block. As a result, blocks that do not include the boundaries of the raster written in the intermediate buffer 61 are written to the write MB band buffer 72 as they are, and blocks that include the boundaries are subjected to pixel-based local processing on the write MB band buffer 72. be able to.

【0059】本実施例では以上の説明から回転処理が伴
わない場合でもページメモリを用いずにクリッピング処
理がなされ、クリッピング処理の局所的処理および広域
的処理が可能となり、少ない計算時間で処理できる。さ
らに回転を伴ったクリッピング処理の場合に隠れる部分
の回転処理を行う必要がなく、計算量を少なくできる。
According to the present embodiment, the clipping process is performed without using the page memory even when the rotation process is not involved, so that the local process and the global process of the clipping process can be performed, and the process can be performed in a short calculation time. Furthermore, there is no need to perform rotation processing of a portion hidden in the case of clipping processing involving rotation, and the amount of calculation can be reduced.

【0060】[0060]

【発明の効果】以上の説明から明らかなように、本発明
によれば、回転角に応じて傾けた第一の矩形ブロックを
含むように第二の矩形ブロックを設定し、この第二の矩
形ブロック単位に、入力画像を順次読出し、読出した第
二の矩形ブロックから回転角度に応じた回転処理を施し
た第一の矩形ブロックを得るよう構成したため、任意回
転角度の回転を行う場合、ページメモリを用いることな
く、回転前の入力画像の読取、および回転後の出力画像
からの読みだし、いずれの画像読取についても、ラスタ
スキャン方向の画像読取だけですますことができる。
As is apparent from the above description, according to the present invention, the second rectangular block is set so as to include the first rectangular block tilted according to the rotation angle, and the second rectangular block is set. Since the input image is sequentially read in block units, and a first rectangular block subjected to a rotation process in accordance with the rotation angle is obtained from the read second rectangular block, a page memory is used when rotating at an arbitrary rotation angle. Without reading, reading an input image before rotation and reading from an output image after rotation can be performed only in the raster scan direction.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of the present invention.

【図2】 本発明の動作を説明するフローチャートであ
る。
FIG. 2 is a flowchart illustrating the operation of the present invention.

【図3】 本発明の第1の実施例の構成を示すブロック
図である。
FIG. 3 is a block diagram illustrating a configuration of a first exemplary embodiment of the present invention.

【図4】 本発明の第1の実施例の動作を説明するフロ
ーチャートである。
FIG. 4 is a flowchart illustrating an operation of the first exemplary embodiment of the present invention.

【図5】 本発明の第1の実施例の動作を説明するフロ
ーチャートである。
FIG. 5 is a flowchart illustrating an operation of the first exemplary embodiment of the present invention.

【図6】 本発明の第1の実施例の読み出し用バンドバ
ッファの説明図である。
FIG. 6 is an explanatory diagram of a read band buffer according to the first embodiment of the present invention.

【図7】 本発明の第1の実施例におけるアドレスリス
トの説明図である。
FIG. 7 is an explanatory diagram of an address list according to the first embodiment of this invention.

【図8】 本発明の第1の実施例の動作を説明するフロ
ーチャートである。
FIG. 8 is a flowchart illustrating an operation of the first exemplary embodiment of the present invention.

【図9】 本発明の第1の実施例における広域的処理の
説明図である。
FIG. 9 is an explanatory diagram of a wide area process in the first embodiment of the present invention.

【図10】 本発明の第1の実施例における局所的処理
の説明図である。
FIG. 10 is an explanatory diagram of a local process in the first embodiment of the present invention.

【図11】 本発明の第2の実施例の構成を示すブロッ
ク図である。
FIG. 11 is a block diagram showing a configuration of a second exemplary embodiment of the present invention.

【図12】 本発明の第2の実施例における広域的処理
の説明図である。
FIG. 12 is an explanatory diagram of a wide area process in the second embodiment of the present invention.

【図13】 本発明の第3の実施例の構成を示すブロッ
ク図である。
FIG. 13 is a block diagram showing a configuration of a third example of the present invention.

【図14】 本発明の第3の実施例を説明する図であ
る。
FIG. 14 is a diagram illustrating a third embodiment of the present invention.

【図15】 本発明の第4の実施例の構成を示すブロッ
ク図である。
FIG. 15 is a block diagram illustrating a configuration of a fourth exemplary embodiment of the present invention.

【図16】 本発明の第5の実施例の構成を示すブロッ
ク図である。
FIG. 16 is a block diagram showing a configuration of a fifth example of the present invention.

【図17】 従来例の構成を示すブロック図である。FIG. 17 is a block diagram showing a configuration of a conventional example.

【図18】 従来例における回転処理の説明図である。FIG. 18 is an explanatory diagram of a rotation process in a conventional example.

【符号の説明】[Explanation of symbols]

10 画像入力手段 20 アドレス制御手段 21 アドレスリスト生成部 22 マクロブロック(以下MBと記す)アドレスリ
スト生成部 29 逆変換座標算出部 30 アドレスリストソート部 31 MBアドレスリストソート部 40 バンドデータ格納手段 41 読み出し用バンドバッファ 42 バンドバッファ読み出し制御部 43 読み出し用MBバンドバッファ 44 MBバッファ読み出し制御部 46 バッファ読み出し部 47 読み出し用バッファ 48 ページメモリ読み出し部 49 ソース側ページメモリ 50 局所データ変換手段 51 局所データ変換部 52 変換ROM 60 変換データ格納手段 61 中間バッファ 62 中間バッファ制御部 70 バンドデータ格納手段 71 書き込み用バンドバッファ 72 書き込み用MBバッファ 76 バッファ書き込み部 77 書き込み用バッファ 78 ページメモリ書き込み部 79 デスティネーション側ページメモリ 80 画像出力手段 90 クリップ情報生成部 200 入力画像データ 210 ソース側の逆変換されたアドレスリスト 211 ソース側の逆変換されたMBアドレスリスト 220 ソース側のアドレス情報 221 ソートされたソース側のアドレスリスト 222 読み出し用バンドバッファ制御信号 223 ソートされたソース側のMBアドレスリスト 224 読み出し用MBバッファ制御信号 227 ソース側アドレス情報 228 ソース側アドレス情報 229 逆変換座標 230 局所データ 231 局所データの変換座標 231 変換ROMの変換情報 240 変換された局所データ 250 デスティネーション側のアドレス情報 251 デスティネーション側のアドレスリスト 252 中間バッファ制御信号 253 デスティネーション側のMBアドレスリスト 254 中間バッファ制御信号 260 変換された局所データ 268 デスティネーション側アドレス情報 269 デスティネーション側アドレス情報 270 出力画像データ 280 クリップ情報 400 回転前局所データ 410 回転前中心画素 420 回転中心画素 430 理想的回転後局所データ 440 回転後中心画素 450 回転後局所データ
DESCRIPTION OF SYMBOLS 10 Image input means 20 Address control means 21 Address list generation part 22 Macro block (hereinafter referred to as MB) address list generation part 29 Inverse transformation coordinate calculation part 30 Address list sort part 31 MB address list sort part 40 Band data storage means 41 Reading Band buffer for band 42 Band buffer read controller 43 MB band buffer for read 44 MB buffer read controller 46 Buffer reader 47 Buffer for read 48 Page memory reader 49 Source page memory 50 Local data converter 51 Local data converter 52 Conversion ROM 60 Conversion data storage means 61 Intermediate buffer 62 Intermediate buffer control unit 70 Band data storage means 71 Write band buffer 72 Write MB buffer 76 buffer File writing unit 77 Writing buffer 78 Page memory writing unit 79 Destination page memory 80 Image output unit 90 Clip information generation unit 200 Input image data 210 Inverted address list on source side 211 Inverted MB on source side Address list 220 Source side address information 221 Sorted source side address list 222 Read band buffer control signal 223 Sorted source MB address list 224 Read MB buffer control signal 227 Source side address information 228 Source side address Information 229 Inverse conversion coordinates 230 Local data 231 Conversion coordinates of local data 231 Conversion information of conversion ROM 240 Converted local data 250 Address information on destination side 51 Destination-side address list 252 Intermediate buffer control signal 253 Destination-side MB address list 254 Intermediate buffer control signal 260 Converted local data 268 Destination-side address information 269 Destination-side address information 270 Output image data 280 Clip information 400 local data before rotation 410 center pixel before rotation 420 center pixel of rotation 430 ideal local data after rotation 440 center pixel after rotation 450 local data after rotation

───────────────────────────────────────────────────── フロントページの続き (72)発明者 冨田 浩明 神奈川県足柄上郡中井町境430 グリーン テクなかい 富士ゼロックス株式会社内 (72)発明者 井原 富士夫 神奈川県足柄上郡中井町境430 グリーン テクなかい 富士ゼロックス株式会社内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Hiroaki Tomita 430 Nakaicho, Nakaicho, Ashigarakami-gun, Kanagawa Prefecture Inside Green X-Tech Fuji Xerox Co., Ltd. Inside

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 複数画素からなる第一の矩形ブロック単
位に入力画像を回転させ出力画像を得る画像処理装置で
あって、 回転角に応じて傾けた前記第一の矩形ブロックを含むよ
うに第二の矩形ブロックを設定し、この第二の矩形ブロ
ック単位に、前記入力画像から順次読出す読出手段と、 前記読出手段で読出された前記第二の矩形ブロックか
ら、回転角度に応じた局所回転を施した前記第一の矩形
ブロックを生成する手段と、 前記生成手段で生成された前記第一の矩形ブロックを記
憶部に順次格納する記憶制御手段とを備えたことを特徴
とする画像処理装置。
1. An image processing apparatus for obtaining an output image by rotating an input image in units of a first rectangular block composed of a plurality of pixels, wherein the image processing apparatus includes a first rectangular block tilted according to a rotation angle. Reading means for setting two rectangular blocks and sequentially reading the input image in units of the second rectangular blocks; and performing local rotation according to a rotation angle from the second rectangular blocks read by the reading means. An image processing apparatus comprising: means for generating the first rectangular block to which the first rectangular block is applied; and storage control means for sequentially storing the first rectangular block generated by the generating means in a storage unit. .
【請求項2】 前記読出手段は、前記第二の矩形ブロッ
クに含まれる前記第一の矩形ブロックが互いに一辺を共
有するように、前記第二の矩形ブロックを設定して読出
すことを特徴とする請求項1記載の画像処理装置。
2. The reading means sets and reads the second rectangular block so that the first rectangular blocks included in the second rectangular block share one side with each other. The image processing device according to claim 1.
【請求項3】 前記読出手段は、複数ラインからなるバ
ンドデータ単位に、このバンドデータに含まれる前記第
二の矩形ブロックを順次読取り、各バンドデータは他の
バンドデータと一部重複したラインを有することを特徴
とする請求項1記載の画像処理装置。
3. The reading means sequentially reads the second rectangular blocks included in the band data in a band data unit consisting of a plurality of lines, and each band data sets a line partially overlapping with another band data. The image processing apparatus according to claim 1, further comprising:
【請求項4】 前記バンドデータへ前記入力画像を1ラ
インずつ送出する画像入力手段を備え、前記読出手段
は、前記バンドデータに前記第二の矩形ブロックが存在
しているか否かを判断し、判断結果に応じて前記バンド
データに前記第二の矩形ブロックが存在している場合
に、前記バンドデータに含まれる前記第二の矩形ブロッ
クを順次読取ることを特徴とする請求項3記載の画像処
理装置。
4. An image input unit for transmitting the input image line by line to the band data, wherein the reading unit determines whether or not the second rectangular block exists in the band data, 4. The image processing apparatus according to claim 3, wherein when the second rectangular block is present in the band data according to the determination result, the second rectangular blocks included in the band data are sequentially read. apparatus.
【請求項5】 前記記憶部から前記第一の矩形ブロック
を、回転角度に応じた出力順に読出す制御手段とを備え
ることを特徴とする請求項1記載の画像処理装置。
5. The image processing apparatus according to claim 1, further comprising control means for reading out the first rectangular blocks from the storage unit in an output order according to a rotation angle.
【請求項6】 前記記憶部は、前記第一の矩形ブロック
を識別情報とともに記憶するとともに、前記読出手段は
前記記憶部から前記第一の矩形ブロックを回転角度に応
じた所定の順序で読出す手段を有していることを特徴と
する請求項5記載の画像処理装置。
6. The storage unit stores the first rectangular block together with identification information, and the reading unit reads the first rectangular block from the storage unit in a predetermined order according to a rotation angle. 6. The image processing apparatus according to claim 5, further comprising a unit.
【請求項7】 複数画素からなる矩形ブロック単位に入
力画像を回転させ出力画像を得る画像処理方法であっ
て、 回転角に応じて傾けた第一の矩形ブロックを含む第二の
矩形ブロックを、前記入力画像から順次読出す読出工程
と、 前記読出工程で読出された前記第二の矩形ブロックか
ら、回転角度に応じた局所回転を施した前記第一の矩形
ブロックを生成する工程と、 前記生成工程で生成された前記第一の矩形ブロックを記
憶部に格納する工程とを備えることを特徴とする画像処
理方法。
7. An image processing method for obtaining an output image by rotating an input image in units of a rectangular block composed of a plurality of pixels, wherein a second rectangular block including a first rectangular block tilted according to a rotation angle is provided. A reading step of sequentially reading from the input image; a step of generating, from the second rectangular block read in the reading step, the first rectangular block subjected to local rotation according to a rotation angle; Storing the first rectangular block generated in the step in a storage unit.
【請求項8】 前記読出工程は、前記第二の矩形ブロッ
クに含まれる前記第一の矩形ブロックが互いに一辺を共
有するように、前記第二の矩形ブロックを設定して読出
すことを特徴とする請求項7記載の画像処理方法。
8. The reading step includes setting and reading the second rectangular block so that the first rectangular blocks included in the second rectangular block share one side with each other. The image processing method according to claim 7, wherein:
【請求項9】 前記読出工程は、複数ラインからなるバ
ンドデータ単位に、このバンドデータに含まれる前記第
二の矩形ブロックを順次読取り、各バンドデータは他の
バンドデータと一部重複したラインを有することを特徴
とする請求項7記載の画像処理方法。
9. The reading step sequentially reads the second rectangular blocks included in the band data in a band data unit consisting of a plurality of lines, and each band data includes a line partially overlapping with other band data. The image processing method according to claim 7, further comprising:
【請求項10】 前記記憶部から前記第一の矩形ブロッ
クを、回転角度に応じた出力順に読出す制御工程を備え
ることを特徴とする請求項7記載の画像処理方法。
10. The image processing method according to claim 7, further comprising a control step of reading out the first rectangular blocks from the storage unit in an output order according to a rotation angle.
JP2000210140A 2000-01-01 2000-07-11 Image processor and method Pending JP2001043359A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000210140A JP2001043359A (en) 2000-01-01 2000-07-11 Image processor and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000210140A JP2001043359A (en) 2000-01-01 2000-07-11 Image processor and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP09322824A Division JP3104868B2 (en) 1997-11-25 1997-11-25 Image processing device

Publications (1)

Publication Number Publication Date
JP2001043359A true JP2001043359A (en) 2001-02-16

Family

ID=18706449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000210140A Pending JP2001043359A (en) 2000-01-01 2000-07-11 Image processor and method

Country Status (1)

Country Link
JP (1) JP2001043359A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004056683A (en) * 2002-07-23 2004-02-19 Sumitomo Electric Ind Ltd Image transformation system, image processing apparatus, and image transformation method
JP2005250534A (en) * 2004-03-01 2005-09-15 Fuji Xerox Co Ltd Image processor
JP2007200141A (en) * 2006-01-27 2007-08-09 Canon Inc Image forming apparatus and image forming method
JP2008192073A (en) * 2007-02-07 2008-08-21 Canon Inc Image processing device and control method therefor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004056683A (en) * 2002-07-23 2004-02-19 Sumitomo Electric Ind Ltd Image transformation system, image processing apparatus, and image transformation method
JP2005250534A (en) * 2004-03-01 2005-09-15 Fuji Xerox Co Ltd Image processor
JP2007200141A (en) * 2006-01-27 2007-08-09 Canon Inc Image forming apparatus and image forming method
JP2008192073A (en) * 2007-02-07 2008-08-21 Canon Inc Image processing device and control method therefor

Similar Documents

Publication Publication Date Title
JP3104868B2 (en) Image processing device
US6671418B2 (en) Image processing apparatus and method which determines a block size in accordance with a filter structure
US20060098883A1 (en) Image compression/decompression system employing pixel thinning-out and interpolation scheme
US20060233444A1 (en) JBIG coding apparatus and method with low cost, high-performance ping-pong buffer arrangement
JP2001043359A (en) Image processor and method
US7538900B2 (en) Image processing apparatus, image processing method, and image processing system
JPH07118002B2 (en) Image processing device
JP2713930B2 (en) Image processing method
JP3901869B2 (en) Memory device
JP3875465B2 (en) Image reduction method, image processing apparatus and image processing apparatus control method
JP3520166B2 (en) Image processing device
JP3576575B2 (en) Image processing apparatus and image processing method
JP2653781B2 (en) Image editing processing method
JP2006067513A (en) Image magnification/reduction converting apparatus and digital video system
JP4080726B2 (en) Image reduction method, image processing apparatus, and image processing apparatus control method
JP2744229B2 (en) Image processing device
JP2020090075A (en) Image formation device and image formation method
JPH05211607A (en) Device and method for image processing
JPH06141169A (en) Picture communication equipment
JPH04277980A (en) Picture data read registration system
JPS6359674A (en) Interface device
JP2012034104A (en) Image processor
JPH10224617A (en) Image processing unit
JPH05211603A (en) Device and method for image communication
JPH06189116A (en) Image information processor