JP2012226463A - Image rotation device and image formation device - Google Patents
Image rotation device and image formation device Download PDFInfo
- Publication number
- JP2012226463A JP2012226463A JP2011091851A JP2011091851A JP2012226463A JP 2012226463 A JP2012226463 A JP 2012226463A JP 2011091851 A JP2011091851 A JP 2011091851A JP 2011091851 A JP2011091851 A JP 2011091851A JP 2012226463 A JP2012226463 A JP 2012226463A
- Authority
- JP
- Japan
- Prior art keywords
- storage unit
- pixels
- image
- data
- read
- 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
Links
- 230000015572 biosynthetic process Effects 0.000 title abstract 2
- 238000000034 method Methods 0.000 claims description 8
- 230000000052 comparative effect Effects 0.000 description 33
- 230000015654 memory Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Abstract
Description
本発明は、画像データに基づく画像を回転させる画像回転装置、及び、その画像回転装置を備える画像形成装置に関する。 The present invention relates to an image rotating apparatus that rotates an image based on image data, and an image forming apparatus that includes the image rotating apparatus.
デジタルカメラやコピー機等において利用される画像データの画像サイズや1画素あたりのビット数の増大は、組み込みシステムに取ってコストアップの種となっている。特に顕著に影響される画像処理の一つが回転処理である。これは通常の電子機器で扱われるデータがラスタ構造であることに起因する。デジタルカメラでは、カメラをランドスケープで用いるかポートレートで用いるかによって、カメラ自身が画像の回転処理を行なう必要がある。さらに、コピー機では、原稿読取部によって読み取った原稿の画像の方向と、印刷画像を用紙に形成する方向とが異なる場合には画像の回転処理が必要になる。 An increase in the image size and the number of bits per pixel of image data used in a digital camera, a copier, or the like is a seed for increasing the cost for an embedded system. One of image processing that is particularly noticeably affected is rotation processing. This is due to the fact that data handled by ordinary electronic equipment has a raster structure. In a digital camera, the camera itself needs to perform image rotation processing depending on whether the camera is used in a landscape or a portrait. Further, in the copying machine, when the direction of the original image read by the original reading unit is different from the direction in which the print image is formed on the paper, an image rotation process is required.
画像の回転処理は、画像の回転処理を行う前の画像データが記憶される第1記憶部から適切な画素をピックアップして、ピックアップした画素を第1記憶部の適切な位置に置くことにより行うことができる。しかしながら、複数画素が同じメモリーワード中に配置されていたり、画像の回転を行う処理回路が複数画素を並列に処理できる能力があるにもかかわらず、画像の回転処理が一画素毎の処理になったりする場合には、処理速度は、著しく低下する。この問題を回避するために、通常の回転処理は、画像回転装置内にn画素×n画素の正方形(通常nは2のべき乗)の第2記憶部を配置し、n画素格子でタイル上に分割した処理前画像をタイル毎に一時的に第2記憶部に取り込み、回転した後に、回転処理後の画像を記憶する第1記憶部にタイル単位で転送している。 The image rotation process is performed by picking up an appropriate pixel from the first storage unit in which the image data before the image rotation process is stored and placing the picked-up pixel at an appropriate position in the first storage unit. be able to. However, even though multiple pixels are arranged in the same memory word and the processing circuit that rotates the image has the ability to process multiple pixels in parallel, the image rotation processing is a process for each pixel. The processing speed is significantly reduced. In order to avoid this problem, in the normal rotation process, a second storage unit of n pixels × n pixels square (usually n is a power of 2) is arranged in the image rotation apparatus, and an n pixel grid is used on the tile. The divided pre-processing images are temporarily fetched into the second storage unit for each tile, rotated, and then transferred in tile units to the first storage unit that stores the rotated image.
ところで、画像回転装置には、画像データに基づく画像を回転させる場合に、単位サイズの矩形画像データを列状に複数並べて、その矩形画像データの1辺のデータを超えるデータを連続するアドレス領域とし、回転させる単位サイズの矩形画像データより長いバースト長となるようにメモリーアクセスして、単位サイズの矩形画像データを読み出し及び書き込みを行うものがある。その画像回転装置は、回転される画像がカラー画像の場合には、同時に回転するべきカラー画像の画像データ(例えば、シアン、イエロー、マゼンタ、黒それぞれの画像データ)をパック化して、ライン方向に一列に並べて連続したアドレス領域としている(特許文献1参照)。 By the way, when rotating an image based on image data, the image rotation device arranges a plurality of unit-size rectangular image data in a line, and sets the data exceeding one side of the rectangular image data as a continuous address area. In some cases, memory access is made so that the burst length is longer than the unit-size rectangular image data to be rotated, and the unit-size rectangular image data is read and written. When the image to be rotated is a color image, the image rotation device packs the image data (for example, cyan, yellow, magenta, and black image data) of the color image that should be rotated at the same time, in the line direction. The address areas are arranged in a row and are continuous (see Patent Document 1).
画像回転装置における90°単位の画像回転処理は、処理自体は単純であるが、以下の課題を有する。
(1)画像の回転処理に利用される第2記憶部は、小容量のものが入手しにくくなり、動作速度も高速となった反面、バーストサイズが増大し、小さな単位のアクセスでは効率が格段に悪い。
(2)第2記憶部の効率を落とさないためには、ラスタ順にデータを一気に読み書きしなくてはならず、画像の回転を行う処理回路の中にその分のバッファメモリーが必要になる。
The image rotation process in units of 90 ° in the image rotation apparatus is simple, but has the following problems.
(1) The second storage unit used for image rotation processing has become difficult to obtain a small-capacity storage unit, and the operation speed has been increased, but the burst size has increased, and the efficiency of the small unit access is markedly high. It ’s bad.
(2) In order not to reduce the efficiency of the second storage unit, data must be read and written at a stretch in raster order, and a corresponding buffer memory is required in the processing circuit that rotates the image.
DDR3(Double−Date−Rate3)メモリーを例に挙げると、メモリーの最小バースト数は、8である。すなわち、DDR3メモリーは、64ビット幅のメモリーであれば64バイトのプリフェッチ長(バーストサイズ)となり、64バイト未満では急激にパフォーマンスが低下する。これは、一定サイズより小さなデータ転送は、メモリーの内部処理ワードよりも小さくなってしまうことで、内部ではそれ以上に速く動作できないことが原因である。 Taking a DDR3 (Double-Date-Rate3) memory as an example, the minimum burst number of the memory is 8. In other words, the DDR3 memory has a prefetch length (burst size) of 64 bytes if it is a 64-bit width memory, and if it is less than 64 bytes, the performance drops sharply. This is because a data transfer smaller than a certain size becomes smaller than the internal processing word of the memory, and cannot operate faster than that internally.
また、特許文献1に記載された画像回転装置では、カラー画像を回転する場合に、各色の画像データを同時に処理するだけのメモリー(記憶部)の容量が必要になる。
Further, the image rotation apparatus described in
本発明は、画像の回転に利用される記憶部の容量を小さく抑えることが可能な画像回転装置を提供することを目的とする。
また、本発明は、その画像回転装置を備える画像形成装置を提供することを目的とする。
An object of the present invention is to provide an image rotation apparatus capable of suppressing the capacity of a storage unit used for image rotation.
Another object of the present invention is to provide an image forming apparatus including the image rotation device.
本発明は、画像データを記憶可能であって、画像データの書込み方向と画像データの読み出し方向が同一の方向であり、且つ、第1方向における所定のバースト長に対応する画素数と、前記第1方向に直交する第2方向の画素数とが同一である第1記憶部と、画像データを記憶可能であって、第3方向の画素数が前記第1記憶部における前記第1方向の画素数と同一であると共に、前記第3方向に直交する第4方向の画素数が前記第1記憶部における前記第2方向の画素数よりも少ない第2記憶部と、画像データを記憶可能であって、第5方向の画素数が前記第2記憶部における前記第3方向の画素数と同一であると共に、前記第5方向に直交する第6方向の画素数が前記第5方向の画素数と同一である第3記憶部と、前記第1記憶部又は前記第3記憶部に記憶される画像データを所定のバースト長に対応する画素数のデータ毎に読み出して前記第2記憶部に書き込むことと、前記第2記憶部に記憶されるデータを所定のバースト長に対応する画素数のデータ毎に読み出して前記第1記憶部又は前記第3記憶部に書き込むことと、を行う読出書込部と、前記第1記憶部に記憶される画像データを、前記第1方向のラインに対応する第1ラインデータ毎に読み出して、前記第2記憶部の前記第3方向のライン毎に書き込む第1動作と、前記第1動作後の前記第2記憶部に記憶される画像データを、前記第3方向において複数に分割して第2ブロックデータを複数生成すると共に、分割生成された複数の第2ブロックデータを前記第3方向に読み出して、前記第3記憶部の前記第5方向又は前記第6方向に書き込む第2動作と、前記第2動作後の前記第3記憶部に記憶される第2ブロックデータを、前記第5方向及び前記第6方向のうち前記第2動作により第2ブロックデータが書き込まれた方向に対して直交する方向に沿って読み出して、第2ブロックデータに基づく画像の回転処理を行った後、回転処理が行われた第2ブロックデータを前記第3方向に沿って前記第2記憶部に書き込む第3動作と、前記第3動作後の前記第2記憶部に記憶される画像データを、前記第3方向のラインに対応する第3ラインデータ毎に読み出して、前記第1記憶部の前記第1方向のライン毎に書き込む第4動作と、を前記読出書込部に順次実行させる制御部と、を備える画像回転装置に関する。 The present invention is capable of storing image data, wherein the writing direction of the image data is the same as the reading direction of the image data, and the number of pixels corresponding to a predetermined burst length in the first direction, The first storage unit having the same number of pixels in the second direction orthogonal to the one direction and the image data can be stored, and the number of pixels in the third direction is the number of pixels in the first direction in the first storage unit. A second storage unit having the same number as the number of pixels in a fourth direction orthogonal to the third direction and less than the number of pixels in the second direction in the first storage unit, and image data can be stored. The number of pixels in the fifth direction is the same as the number of pixels in the third direction in the second storage unit, and the number of pixels in the sixth direction orthogonal to the fifth direction is the number of pixels in the fifth direction. The same third storage unit and the first storage unit or the previous The image data stored in the third storage unit is read for each pixel number corresponding to a predetermined burst length and written to the second storage unit, and the data stored in the second storage unit is stored in a predetermined burst. Read and write for each data of the number of pixels corresponding to the length and write to the first storage unit or the third storage unit, and image data stored in the first storage unit, A first operation for reading each first line data corresponding to a line in the first direction and writing for each line in the third direction of the second storage unit, and storing in the second storage unit after the first operation Image data to be divided into a plurality of second block data by dividing the image data into a plurality in the third direction, and reading the plurality of divided second block data in the third direction, the third storage unit The fifth direction of The second operation for writing in the sixth direction and the second block data stored in the third storage unit after the second operation by the second operation out of the fifth direction and the sixth direction. After reading out along the direction orthogonal to the direction in which the two block data is written and performing image rotation processing based on the second block data, the second block data subjected to the rotation processing is converted into the third direction. Read out the image data stored in the second storage unit after the third operation for each third line data corresponding to the line in the third direction. And a control unit that causes the read / write unit to sequentially execute a fourth operation of writing for each line in the first direction of the first storage unit.
また、前記第2記憶部は、第4方向の画素数が前記第1記憶部における第2方向の画素数に比べて、1/4n(n=1,2,3、・・・)であることが好ましい。 In addition, the second storage unit has a number of pixels in the fourth direction of 1/4 n (n = 1, 2, 3,...) Compared to the number of pixels in the second direction in the first storage unit. Preferably there is.
また、本発明は、上述した画像回転装置を備える画像形成装置に関する。 The present invention also relates to an image forming apparatus including the above-described image rotation device.
本発明は、画像の回転に利用される記憶部の容量を小さく抑えることが可能な画像回転装置、及び、その画像回転装置を備える画像形成装置を提供することができる。 The present invention can provide an image rotation apparatus capable of reducing the capacity of a storage unit used for image rotation, and an image forming apparatus including the image rotation apparatus.
以下、図面を参照して、本発明の画像回転装置の一実施形態について説明する。図1は、本発明の一実施形態に係る画像回転装置の機能構成を示すブロック図である。
画像回転装置1は、第1記憶部11と、第2記憶部12と、第3記憶部13と、読出書込部20と、制御部30と、入出力部40とを備える。第1記憶部11と、第2記憶部12と、第3記憶部13とは、ハードディスクや半導体メモリー等から構成される。第2記憶部12は、制御部30(集積回路)の内部に配置される作業用メモリーである。
Hereinafter, an embodiment of an image rotation device of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a functional configuration of an image rotation apparatus according to an embodiment of the present invention.
The
第1記憶部11は、画像データを記憶可能である。また、第1記憶部11は、画像データの書込み方向と画像データの読み出し方向が同一の方向である。さらに、第1記憶部11は、第1方向における所定のバースト長に対応する画素数(第1方向の画素数)と、第1方向に直交する第2方向の画素数とが同一である。すなわち、第1記憶部11は、正方形となっている。
The
第2記憶部12は、画像データを記憶可能である。また、第2記憶部12は、第3方向の画素数が第1記憶部11における第1方向の画素数と同一であると共に、第3方向に直交する第4方向の画素数が第1記憶部11における第2方向の画素数よりも少ない。より具体的には、第2記憶部12は、第4方向の画素数が第1記憶部11における第2方向の画素数に比べて、1/4n(n=1,2,3、・・・)になっている。すなわち、第2記憶部12は、第1記憶部11に比べて、1/4、1/16、・・・のいずれかのサイズになる。
The
第3記憶部13は、画像データを記憶可能である。また、第3記憶部13は、第5方向の画素数が第2記憶部12における第3方向の画素数と同一であると共に、第5方向に直交する第6方向の画素数が第5方向の画素数と同一である。すなわち、第3記憶部13は、正方形となっている。なお、第3記憶部13は、第1記憶部11と同一のものである。このため、第5方向と第1方向とは、同一方向になる。さらに、第6方向と第2方向とは、同一方向になる。
The
読出書込部20は、第1記憶部11又は第3記憶部13に記憶される画像データを所定のバースト長に対応する画素数のデータ毎に読み出して第2記憶部12に書き込むことを行う。また、読出書込部20は、第2記憶部12に記憶されるデータを所定のバースト長に対応する画素数のデータ毎に読み出して第1記憶部11又は第3記憶部13に書き込むことを行う。より具体的には、読出書込部20は、(1)画像データを構成するデータを第1記憶部11から読み出して、第2記憶部12に書き込むこと、(2)第2記憶部12からデータを読み出して第3記憶部13に書き込むこと、(3)第3記憶部13からデータを読み出して、第2記憶部12に書き込むこと、(4)第2記憶部12に記憶されたデータを読み出して第1記憶部11に書き込むこと、を順次行う。読出書込部20は、所定のバースト長に対応する画素数のデータ毎に読み出し及び書き込みを行うので、データの読み出し及びデータの書き込みを行う効率が低下することがない。読出書込部20は、後述する制御部30によって制御される。
The read / write unit 20 reads out the image data stored in the
制御部30は、第1動作と、第2動作と、第3動作と、第4動作と、を読出書込部20に順次実行させる。
第1動作は、第1記憶部11に記憶される画像データを、第1方向のラインに対応する第1ラインデータ毎に読み出して、第2記憶部12の第3方向のライン毎に書き込む動作である。一例として、第1記憶部11が64画素(第1方向)×64画素(第2方向)の場合には、第1動作は、64画素(第1方向)×1画素(第2方向)に対応する第1ラインデータ毎に第1記憶部11から読み出して、第2記憶部12に書き込む。
The
The first operation is an operation of reading the image data stored in the
第2動作は、第1動作後の第2記憶部12に記憶される画像データを、第3方向において複数に分割して第2ブロックデータを複数生成すると共に、分割生成された複数の第2ブロックデータを第3方向に読み出して、第3記憶部13の第5方向又は第6方向に書き込む動作である。一例として、第2記憶部12が64画素(第3方向)×16画素(第4方向)の場合には、第2動作は、16画素(第3方向)×16画素(第4方向)に対応するデータ毎に第2ブロックデータを第2記憶部12から読み出して、第3記憶部13に書き込む。
In the second operation, the image data stored in the
第3動作は、第2動作後の第3記憶部13に記憶される第2ブロックデータを、第5方向及び第6方向のうち第2動作により第2ブロックデータが書き込まれた方向に対して直交する方向に沿って読み出して、第2ブロックデータに基づく画像の回転処理を行った後、回転処理が行われた第2ブロックデータを第3方向に沿って第2記憶部12に書き込む動作である。一例として、第3記憶部13が64画素(第5方向)×64画素(第6方向)の場合には、第3動作は、16画素(第5方向)×16画素(第6方向)に対応するデータ毎に第2ブロックデータを第3記憶部13から読み出して、第2記憶部12に書き込む。
In the third operation, the second block data stored in the
第4動作は、第3動作後の第2記憶部12に記憶される画像データを、第3方向のラインに対応する第3ラインデータ毎に読み出して、第1記憶部11の第1方向のライン毎に書き込む動作である。一例として、第4動作は、64画素(第3方向)×1画素(第4方向)に対応するデータ毎に第3ラインデータを第2記憶部12から読み出して、第1記憶部11に書き込む。
In the fourth operation, the image data stored in the
入出力部40は、画像データが画像回転装置1に入出力されるときに利用されるインターフェイスである。
The input /
次に、画像回転装置1の動作について説明する。
図2は、画像回転装置1の動作について説明するための図である。なお、以下では、第2記憶部12における第4方向の画素数が第1記憶部11における第2方向の画素数の1/4の数の場合に、画像の90°回転を2段階の動作で実現することを説明する。
Next, the operation of the
FIG. 2 is a diagram for explaining the operation of the
ここで、図2において、矢印(1)が指す方向は、第1方向を示し、矢印(2)が指す方向は、第2方向を示す。また、矢印(3)が指す方向は、第3方向を示し、矢印(4)が指す方向は、第4方向を示す。また、矢印(5)が指す方向は、第5方向を示し、矢印(6)が指す方向は、第6方向を示す。
さらに、図2に例示する場合では、第1記憶部11、第2記憶部12及び第3記憶部13は、次の画素数を有する。すなわち、第1記憶部11は、第1方向に64画素を有すると共に、第2方向に64画素を有する。第2記憶部12は、第3方向に64画素を有すると共に、第4方向に16画素を有する。第3記憶部13は、第5方向に64画素を有すると共に、第6方向に64画素を有する。
Here, in FIG. 2, the direction indicated by the arrow (1) indicates the first direction, and the direction indicated by the arrow (2) indicates the second direction. The direction indicated by the arrow (3) indicates the third direction, and the direction indicated by the arrow (4) indicates the fourth direction. The direction indicated by the arrow (5) indicates the fifth direction, and the direction indicated by the arrow (6) indicates the sixth direction.
Furthermore, in the case illustrated in FIG. 2, the
まず、画像回転装置1は、画像を回転させるための第1段階の動作を実行する。
すなわち、まず、読出書込部20は、制御部30による制御に基づいて、第1動作を実行する。具体的には、読出書込部20は、第1記憶部11に記憶される画像データのうち第1方向に沿った1ライン目に記憶される第1ラインデータを読み出す(図2(A)参照)。ここでは、所定のバースト長に対応する画素数は、64画素である。次に、読出書込部20は、第1記憶部11から読み出された第1ラインデータを、第2記憶部12の第3方向に沿った1ライン目に書き込む(図2(B)参照)。この後、読出書込部20は、上記と同様に、第1記憶部11の第1方向に沿った2ライン目から16ライン目に記憶される第1ラインデータを1ライン毎に順次読み出して、第2記憶部12の第3方向に沿った2ライン目から16ライン目に順次書き込む。
First, the
That is, first, the read / write unit 20 performs the first operation based on the control by the
次に、読出書込部20は、制御部30による制御に基づいて、第2動作を実行する。すなわち、読出書込部20は、第2記憶部12に記憶される画像データを矩形の記憶部領域に対応する第2ブロックデータ毎に読み出して、読み出された第2ブロックデータを第3記憶部13の第5方向又は第6方向に沿って書き込む(図2(C)参照)。矩形の記憶部領域は、第3方向に16画素を有し、第4方向に16画素を有する。
次に、読出書込部は、上記の第1動作と上記の第2動作を繰り返すことにより、第1記憶部11に記憶される画像データを第2ブロックデータにする。なお、図2(C)に示す場合では、第2ブロックデータは、丸の中に示す数字の順番で(第5方向に沿って)第3記憶部13に書き込まれる。
Next, the read / write unit 20 performs the second operation based on the control by the
Next, the read / write unit repeats the first operation and the second operation to change the image data stored in the
次に、画像回転装置1は、画像を回転させるための第2段階の動作を実行する。
すなわち、まず、読出書込部20は、制御部30による制御に基づいて、第3動作を実行する。具体的には、読出書込部20は、第3記憶部13に記憶される画像データ(第2ブロックデータ)を、その第2ブロックデータが書き込まれた方向に直交する方向(ここでは、第6方向)に沿って順次読み出す。具体的には、図2(C)に示す場合には、第2ブロックデータは、丸の中に示す数字が「4」、「8」、「12」、「16」の順番で第3記憶部13から読み出される。さらに、読出書込部20は、第3記憶部13から読み出した第2ブロックデータに基づく画像を回転させた後、画像が回転された第2ブロックデータを第3方向に沿って第2記憶部12に順次書き込む。(図2(D)参照)。
Next, the
That is, first, the read / write unit 20 performs the third operation based on the control by the
次に、読出書込部20は、制御部30による制御に基づいて、第4動作を実行する。すなわち、読出書込部20は、第2記憶部12に記憶される画像データのうち第3方向に沿った1ライン目に記憶される第3ラインデータを読み出す(図2(D)参照)。さらに、読出書込部20は、読み出された第3ラインデータを、第1記憶部11の第1方向に沿った1ライン目に書き込む(図2(E)参照)。
この後、読出書込部20は、上記と同様に、第2記憶部12の第3方向に沿った2ライン目から16ライン目に記憶される第3ラインデータを1ライン毎に順次読み出して、第1記憶部11の第1方向に沿った2ライン目から16ライン目に順次書き込む。さらに、読出書込部20は、第3動作と、第4動作とを繰り返すことにより、第3記憶部13に記憶される第2ブロックデータの全てを第3ラインデータにして第1記憶部11に書き込む。
これにより、第1記憶部11に記憶された画像データに基づく画像は、90°回転される。
Next, the read / write unit 20 performs the fourth operation based on the control by the
Thereafter, in the same manner as described above, the read / write unit 20 sequentially reads out the third line data stored in the second to 16th lines along the third direction of the
As a result, the image based on the image data stored in the
なお、第2段階の動作においては、画像回転装置1は、第2記憶部12を16画素(第3方向)×64画素(第4方向)として利用することも可能である。この場合、読出書込部20は、第3記憶部13から読み出した第2ブロックデータを回転することなく第2記憶部12に書き込む。さらに、読出書込部20は、第4方向に沿ったラインに対応する第3ラインデータを第2記憶部12から読み出して、第1記憶部11の第2方向に沿って第3ラインデータを書き込む。この場合、画像回転装置1は、第1記憶部11と第3記憶部13とを同一の記憶部にすることが可能である。
In the second stage operation, the
なお、画像回転装置1は、第2記憶部12における第4方向の画素数が第1記憶部11における第2方向の画素数の1/16の数の場合に、画像の90°回転を3段階の動作で実現する。
まず、第1段階として、画像回転装置1は、第2記憶部12を64画素(第3方向)×4画素(第4方向)の矩形で利用する。なお、第1記憶部11は、64画素(第1方向)×64画素(第2方向)を有する。この場合、読出書込部20は、第1記憶部11に記憶される画像データのうち、64画素(第1方向)×1画素(第2方向)の領域に対応するデータを4回読み出して、第2記憶部12に書き込む。次に、読出書込部20は、第2記憶部12に書き込まれた画像データのうち、16画素(第3方向)×4画素(第4方向)の領域に対応するデータを4回読み出して、第3記憶部13に書き込む。この後、読出書込部20は、上記と同様にして、第1記憶部11に記憶される画像データを64画素×1画素の領域に対応するデータ毎に読み出して第2記憶部12に書き込むことと、第2記憶部12に記憶される画像データを16画素×4画素の領域に対応するデータ毎に読み出して第3記憶部13に書き込むこととを繰り返す。
Note that the
First, as a first stage, the
次に、第2段階として、画像回転装置1は、第2記憶部12を16画素(第3方向)×16画素(第4方向)で利用する。この場合、読出書込部20は、第3記憶部13に記憶される画像データのうち、16画素(第5方向)×4画素(第6方向)の領域に対応するデータを4回読み出して、第2記憶部12に書き込む。次に、読出書込部20は、第2記憶部12に記憶された画像データのうち、4画素(第3方向)×16画素(第4方向)の領域に対応するデータを4回読み出して、第3記憶部13に記憶させる。この後、読出書込部20は、上記と同様にして、第3記憶部13に記憶される画像データのうち、16画素×4画素の領域に対応するデータを読み出して第2記憶部12に書き込むことと、第2記憶部12に記憶される画像データを4画素×16画素の領域に対応するデータを第3記憶部13に書き込むことと、を繰り返す。
Next, as a second stage, the
次に、第3段階として、画像回転装置1は、第2記憶部12を4画素(第3方向)×64画素(第4方向)の矩形で利用する。この場合、読出書込部20は、第3記憶部13に記憶される画像データのうち、4画素(第5方向)×16画素(第6方向)の領域に対応するデータを4回読み出して、第2記憶部12に書き込む。次に、読出書込部20は、第2記憶部12に記憶された画像データのうち、1画素(第3方向)×64(第4方向)の領域に対応するデータを4回読み出して、第1記憶部11に記憶させる。この後、読出書込部20は、上記と同様にして、第3記憶部13に記憶される画像データを4画素×16画素の領域に対応するデータ毎に読み出して第2記憶部12に書き込むことと、第2記憶部12に記憶される画像データを1画素×64画素の領域に対応するデータ毎に読み出して第1記憶部11に書き込むこととを繰り返す。
これにより、第1記憶部11に記憶された画像データに基づく画像は、90°回転される。
Next, as a third stage, the
As a result, the image based on the image data stored in the
次に、比較例について説明する。
まず、第1比較例について説明する。図3は、第1比較例における画像回転の動作を説明するための図である。第1比較例は、第1記憶部101aの画素数(例えば、64画素×64画素)と、第2記憶部102aの画素数(例えば、64画素×64画素)が同じものを利用することにより、画像を90°回転する場合である。
Next, a comparative example will be described.
First, the first comparative example will be described. FIG. 3 is a diagram for explaining the image rotation operation in the first comparative example. The first comparative example uses the same number of pixels (for example, 64 pixels × 64 pixels) in the
まず、読出書込部20(図示せず)は、第1記憶部101aに記憶される画像データをバースト長に対応する画素数(例えば、64画素×1画素)のデータ毎に順次読み出して(図3(A)参照)、第2記憶部102aに順次書き込む(図3(B)参照)。次に、読出書込部20は、第2記憶部102aに記憶されるデータをバースト長に対応する画素数(例えば、1画素×64画素)のデータ毎に順次読み出して(図3(B)参照)、第1記憶部101aに書き込む(図3(C)参照)。
これにより、第1比較例における画像回転の動作では、画像データに基づく画像を90°回転させることが可能になる。
First, the read / write unit 20 (not shown) sequentially reads the image data stored in the
Thereby, in the image rotation operation in the first comparative example, the image based on the image data can be rotated by 90 °.
次に、第2比較例について説明する。図4は、第2比較例における画像回転の動作を説明するための図である。第2比較例では、第2記憶部102bの画素数が第1記憶部101bの画素数と比較して、1/4の数を有するようになっている。すなわち、第2比較例では、第1記憶部101bが64画素×64画素を有する一方、第2記憶部102bが32画素×32画素を有するようになっている。
Next, a second comparative example will be described. FIG. 4 is a diagram for explaining the image rotation operation in the second comparative example. In the second comparative example, the number of pixels in the
まず、読出書込部20は、第1記憶部101bに記憶される画像データを、32画素×1画素の領域(バースト長に対応する画素数の半分の画素数)に対応するデータ毎に順次読み出して(図4(A)参照)、第2記憶部102bに順次書き込む(図4(B)参照)。次に、読出書込部20は、第2記憶部102bに記憶されるデータを1画素×32画素の領域(バースト長に対応する画素数の半分の画素数)に対応するデータ毎に順次読み出して(図4(B)参照)、第1記憶部101bに書き込む(図4(C)参照)。
これにより、第2比較例における画像回転の動作では、画像データに基づく画像を90°回転させることが可能になる。
First, the read / write unit 20 sequentially stores the image data stored in the
Thereby, in the image rotation operation in the second comparative example, the image based on the image data can be rotated by 90 °.
ここで、第2比較例における画像回転の動作では、第1記憶部101bから第2記憶部102bへ転送される画像データのサイズと、第2記憶部102bから第1記憶部101bへ転送される画像データのサイズとが、第1比較例における画像回転の動作に比べて1/2になっている。しかしながら、バースト長以下の画素数に対応するデータを転送する場合には、その転送にかかる時間は同じである。このため、第2比較例の画像回転の動作における32画素×1画素に対応するデータと、1画素×32画素に対応するデータとの転送時間は、第1比較例の画像回転の動作における64画素×1画素に対応するデータと、1画素×64画素に対応するデータとの転送時間と同じになる。さらに、第2比較例における画像回転の動作では、第1比較例における画像回転の動作に比べて、データの転送回数が2倍になる。したがって、第2比較例における画像回転の動作の性能は、第1比較例における画像回転の動作に比べて、1/2になる。
Here, in the image rotation operation in the second comparative example, the size of the image data transferred from the
さらに、第3比較例として、第2記憶部が第1記憶部の1/16のサイズ(16画素×16画素)を利用することにより画像を90°回転させる場合には、画像回転の動作では、データの転送回数が第1比較例における画像回転の動作に比べて4倍になる。したがって、第3比較例における画像回転の動作の性能は、第1比較例における画像回転の動作に比べて、1/4になる。 Furthermore, as a third comparative example, when the second storage unit rotates the image 90 ° by using 1/16 the size (16 pixels × 16 pixels) of the first storage unit, The number of data transfers is four times that of the image rotation operation in the first comparative example. Therefore, the performance of the image rotation operation in the third comparative example is ¼ that of the image rotation operation in the first comparative example.
一方、本実施形態に係る画像回転装置1において、2段階の動作で画像の90°回転を実現する場合(第2記憶部12の画素数が第1記憶部11の画素数に比べて1/4の場合)には、全工程で、第2記憶部12へのアクセス回数は2倍に増えている。しかしながら、画像データの読み出し及び書き込みは、全て高効率の転送、すなわちバースト長での転送を行っている。このため、2段階の動作で画像の90°回転を実現する場合の画像回転装置1の性能は、第1比較例における画像回転の動作に比べて、1/2になる。
On the other hand, in the
さらに、本実施形態に係る画像回転装置1において、3段階の動作で画像の90°回転を実現する場合(第2記憶部12の画素数が第1記憶部11の画素数に比べて1/16の場合)には、全工程で、第2記憶部12へのアクセス回数は3倍に増えている。しかしながら、画像データの読み出し及び書き込みは、全て高効率の転送、すなわちバースト長での転送を行っている。このため、3段階の動作で画像の90°回転を実現する場合の画像回転装置1の性能は、第1比較例における画像回転の動作に比べて、1/3になる。
Furthermore, in the
そして、第2記憶部12の画素数を1/4n(n=0,1,2,3,…)まで汎化した場合、以下の表1のようになる。
ここで、第2記憶部12の画素数は、基準となる画素数と比較した場合の値である。例えば、基本となる画素数が第1比較例における第2記憶部102aの画素数の場合には、第2記憶部が16画素×16画素を有する(第2比較例)、及び、第2記憶部が64画素×16画素を有する(本実施形態)それぞれのときでは、第2記憶部の画素数は、1/4になる。
また、第2記憶部12のサイズが正方形の場合の性能(比較例)とは、第2,3比較例で説明したような、第2記憶部12の第3方向と第4方向の画素数が互いに等しい場合の、第1比較例と比較した性能である。また、本実施形態の場合の性能とは、本実施形態の画像回転装置1と、第1比較例とを比較した場合の性能である。
そして、第2記憶部12のサイズが正方形の場合の性能(比較例)は、2のn乗のオーダーで低下するのに対して、本実施形態の場合の性能は、1次式で低下する。したがって、第1記憶部11のサイズが大きくなるにしたがって、本実施形態の画像回転装置1が有利であることがわかる。
Here, the number of pixels in the
The performance (comparative example) when the size of the
The performance (comparative example) when the size of the
以上説明したように、本実施形態の画像回転装置1によれば、以下の効果が奏される。
すなわち、本実施形態の画像回転装置1は、第1記憶部11に記憶される画像データを、第1方向のラインに対応する第1ラインデータ毎に読み出して、第2記憶部12の第3方向のライン毎に書き込む第1動作と、第1動作後の第2記憶部12に記憶される画像データを、第3方向において複数に分割して第2ブロックデータを複数生成すると共に、分割生成された複数の第2ブロックデータを第3方向に読み出して、第3記憶部13の第5方向又は第6方向に書き込む第2動作と、第2動作後の第3記憶部13に記憶される第2ブロックデータを、第5方向及び第6方向のうち第2動作により第2ブロックデータが書き込まれた方向に対して直交する方向に沿って読み出して、第2ブロックデータに基づく画像の回転処理を行った後、回転処理が行われた第2ブロックデータを第3方向に沿って第2記憶部12に書き込む第3動作と、第3動作後の第2記憶部12に記憶される画像データを、第3方向のラインに対応する第3ラインデータ毎に読み出して、第1記憶部11の第1方向のライン毎に書き込む第4動作と、を順次実行させる。この場合、各データの書き込み及び各データの読み出しは、所定のバースト長に対応する画素数のデータ毎に行われる。
As described above, according to the
That is, the
このような画像回転装置1は、第2記憶部12の画素数(容量)が第1記憶部11の画素数(容量)に比べて少なくなったとしても、所定のバースト長に対応する画素数のデータ毎に読み出し及び書き込みを行うので、データの読み出し及びデータの書き込みを行う効率が低下することがない。また、画像回転装置1は、第2記憶部12の容量を小さくすることによって生じる性能の低下が緩やか(1次式の低下)である。よって、画像回転装置1は、画像の回転に利用される第2記憶部12の容量を小さく抑えることができる。
Such an
また、画像回転装置1においては、第2記憶部12が第4方向の画素数が第1記憶部11における第2方向の画素数に比べて、1/4n(n=1,2,3、・・・)になっている。また、画像回転装置1は、一画素当たり(n+1)回の回転操作により、画像を回転させる。なお、回転操作は、第2記憶部へのデータの書き込みと、第2記憶部からのデータの読み出しとによって、1回の回転操作となる。これにより、画像回転装置1は、第1記憶部11の画素数(容量)が大きくなったとしても、少ない画素数(容量)の第2記憶部12により、画像を回転させることができる。
Further, in the
なお、画像回転装置1は、例えば、コピー機や複合機やプリンター等の画像形成装置、カメラ、パーソナルコンピュータ等の電子機器に搭載される。例えば、画像回転装置1が画像形成装置に搭載された場合には、画像データは、原稿読取部(不図示)によって原稿の画像を読み取ることにより、又は、通信ネットワークを介して接続される外部端末(パーソナルコンピュータ等)から送信されることにより、入出力部40を介して第1記憶部11に記憶される。さらに、画像形成装置は、画像回転装置1によって画像データに基づく画像を回転させた後、回転後の画像に対応する画像データを入出力部40を介して出力して、その画像をエンジン部(不図示)によって用紙(被画像形成媒体)に形成することが可能である。
Note that the
1…画像回転装置、11…第1記憶部、12…第2記憶部、13…第3記憶部、20…読出書込部、30…制御部
DESCRIPTION OF
Claims (3)
画像データを記憶可能であって、第3方向の画素数が前記第1記憶部における前記第1方向の画素数と同一であると共に、前記第3方向に直交する第4方向の画素数が前記第1記憶部における前記第2方向の画素数よりも少ない第2記憶部と、
画像データを記憶可能であって、第5方向の画素数が前記第2記憶部における前記第3方向の画素数と同一であると共に、前記第5方向に直交する第6方向の画素数が前記第5方向の画素数と同一である第3記憶部と、
前記第1記憶部又は前記第3記憶部に記憶される画像データを所定のバースト長に対応する画素数のデータ毎に読み出して前記第2記憶部に書き込むことと、前記第2記憶部に記憶されるデータを所定のバースト長に対応する画素数のデータ毎に読み出して前記第1記憶部又は前記第3記憶部に書き込むことと、を行う読出書込部と、
前記第1記憶部に記憶される画像データを、前記第1方向のラインに対応する第1ラインデータ毎に読み出して、前記第2記憶部の前記第3方向のライン毎に書き込む第1動作と、前記第1動作後の前記第2記憶部に記憶される画像データを、前記第3方向において複数に分割して第2ブロックデータを複数生成すると共に、分割生成された複数の第2ブロックデータを前記第3方向に読み出して、前記第3記憶部の前記第5方向又は前記第6方向に書き込む第2動作と、前記第2動作後の前記第3記憶部に記憶される第2ブロックデータを、前記第5方向及び前記第6方向のうち前記第2動作により第2ブロックデータが書き込まれた方向に対して直交する方向に沿って読み出して、第2ブロックデータに基づく画像の回転処理を行った後、回転処理が行われた第2ブロックデータを前記第3方向に沿って前記第2記憶部に書き込む第3動作と、前記第3動作後の前記第2記憶部に記憶される画像データを、前記第3方向のラインに対応する第3ラインデータ毎に読み出して、前記第1記憶部の前記第1方向のライン毎に書き込む第4動作と、を前記読出書込部に順次実行させる制御部と、
を備える画像回転装置。 The image data can be stored, the image data writing direction and the image data reading direction are the same direction, and the number of pixels corresponding to a predetermined burst length in the first direction is orthogonal to the first direction. A first storage unit having the same number of pixels in the second direction
Image data can be stored, and the number of pixels in the third direction is the same as the number of pixels in the first direction in the first storage unit, and the number of pixels in the fourth direction orthogonal to the third direction is A second storage unit that is less than the number of pixels in the second direction in the first storage unit;
Image data can be stored, and the number of pixels in the fifth direction is the same as the number of pixels in the third direction in the second storage unit, and the number of pixels in the sixth direction orthogonal to the fifth direction is A third storage unit having the same number of pixels in the fifth direction;
The image data stored in the first storage unit or the third storage unit is read and written to the second storage unit for each data of the number of pixels corresponding to a predetermined burst length, and stored in the second storage unit A read / write unit that reads the data to be read for each pixel number of data corresponding to a predetermined burst length and writes the data to the first storage unit or the third storage unit;
A first operation for reading the image data stored in the first storage unit for each first line data corresponding to the line in the first direction and writing for each line in the third direction in the second storage unit; The image data stored in the second storage unit after the first operation is divided into a plurality of second block data in the third direction to generate a plurality of second block data, and the plurality of second block data generated by the division Is read in the third direction and written in the fifth direction or the sixth direction of the third storage unit, and second block data stored in the third storage unit after the second operation Is read out along the direction orthogonal to the direction in which the second block data is written by the second operation out of the fifth direction and the sixth direction, and image rotation processing based on the second block data is performed. After going A third operation for writing the second block data subjected to the rotation process to the second storage unit along the third direction, and image data stored in the second storage unit after the third operation, A control unit that causes the read / write unit to sequentially execute a fourth operation of reading for each third line data corresponding to a line in the third direction and writing for each line in the first direction of the first storage unit; ,
An image rotation apparatus comprising:
請求項1に記載の画像回転装置。 The number of pixels in the fourth direction of the second storage unit is 1/4 n (n = 1, 2, 3,...) Compared to the number of pixels in the second direction of the first storage unit. Item 2. The image rotation device according to Item 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011091851A JP2012226463A (en) | 2011-04-18 | 2011-04-18 | Image rotation device and image formation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011091851A JP2012226463A (en) | 2011-04-18 | 2011-04-18 | Image rotation device and image formation device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012226463A true JP2012226463A (en) | 2012-11-15 |
Family
ID=47276580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011091851A Pending JP2012226463A (en) | 2011-04-18 | 2011-04-18 | Image rotation device and image formation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012226463A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60165694A (en) * | 1984-02-09 | 1985-08-28 | 株式会社リコー | Data rotary processing system |
JPS60201477A (en) * | 1984-03-26 | 1985-10-11 | Nippon Telegr & Teleph Corp <Ntt> | Document conversion and display device |
JPH11154228A (en) * | 1997-11-25 | 1999-06-08 | Fuji Xerox Co Ltd | Image processor and its method |
JPH11306343A (en) * | 1998-04-17 | 1999-11-05 | Toshiba Corp | Rotational processing device for two-dimensional data |
JP2005102168A (en) * | 2003-08-25 | 2005-04-14 | Olympus Corp | Image processing apparatus and its method |
JP2008282135A (en) * | 2007-05-09 | 2008-11-20 | Sharp Corp | Image processing apparatus, image reading apparatus, image forming apparatus, and image processing method |
-
2011
- 2011-04-18 JP JP2011091851A patent/JP2012226463A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60165694A (en) * | 1984-02-09 | 1985-08-28 | 株式会社リコー | Data rotary processing system |
JPS60201477A (en) * | 1984-03-26 | 1985-10-11 | Nippon Telegr & Teleph Corp <Ntt> | Document conversion and display device |
JPH11154228A (en) * | 1997-11-25 | 1999-06-08 | Fuji Xerox Co Ltd | Image processor and its method |
JPH11306343A (en) * | 1998-04-17 | 1999-11-05 | Toshiba Corp | Rotational processing device for two-dimensional data |
JP2005102168A (en) * | 2003-08-25 | 2005-04-14 | Olympus Corp | Image processing apparatus and its method |
JP2008282135A (en) * | 2007-05-09 | 2008-11-20 | Sharp Corp | Image processing apparatus, image reading apparatus, image forming apparatus, and image processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755474B2 (en) | Tile based interleaving and de-interleaving for digital signal processing | |
JP4448866B2 (en) | Drawing device | |
CN107430759B (en) | Virtual linebuffer for image signal processor | |
CN104981838B (en) | Optimizing image memory access | |
WO2019216376A1 (en) | Arithmetic processing device | |
JP5886638B2 (en) | System, method and apparatus for image tile rotation using line segment read buffer | |
US7768678B2 (en) | Systems, methods and devices for rotating images | |
JP2009295159A (en) | Memory access method | |
CN108701102A (en) | Direct memory access controller, method for reading data and method for writing data | |
JP2012226463A (en) | Image rotation device and image formation device | |
US7979153B2 (en) | Exposure data generating apparatus | |
JP2014174898A (en) | Image data processing apparatus, image data processing method and image data processing program | |
JP5635551B2 (en) | Image processing apparatus and image forming apparatus | |
JP2016134005A (en) | Image processor | |
CN104850391A (en) | Apparatus for mutple data sets and related method | |
JP5658612B2 (en) | Image processing apparatus, image processing system, and image processing method | |
JP6241670B2 (en) | Image processing device | |
JP2011188050A (en) | Image processing method and apparatus, and image forming apparatus | |
JP2007272667A (en) | Ring buffer device | |
JP2008236085A (en) | Image processor | |
JP2008027077A (en) | Memory management device, image processor, and image forming device | |
TW201600982A (en) | System, method, and computer program product for generating a mobile application based on page metadata | |
US20100125748A1 (en) | Remote data access device and remote data access method | |
JP2018205987A (en) | Image processing device, image processing method and program | |
JP6008770B2 (en) | Image forming apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130322 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140214 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140617 |