JP2011259511A - Image processing apparatus and image processing method - Google Patents
Image processing apparatus and image processing method Download PDFInfo
- Publication number
- JP2011259511A JP2011259511A JP2011214146A JP2011214146A JP2011259511A JP 2011259511 A JP2011259511 A JP 2011259511A JP 2011214146 A JP2011214146 A JP 2011214146A JP 2011214146 A JP2011214146 A JP 2011214146A JP 2011259511 A JP2011259511 A JP 2011259511A
- Authority
- JP
- Japan
- Prior art keywords
- image
- pixel data
- coordinates
- row
- coordinate
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 195
- 230000008569 process Effects 0.000 claims abstract description 156
- 239000000872 buffer Substances 0.000 claims abstract description 116
- 238000004364 calculation method Methods 0.000 claims abstract description 45
- 238000003169 complementation method Methods 0.000 abstract 1
- 230000000295 complement effect Effects 0.000 description 64
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
本発明は、画像処理装置に関する。 The present invention relates to an image processing apparatus.
従来より、画像の補完技術として最近傍法や線形補完法が知られている。例えば、最近傍法は、最も基本的な手法で処理が単純であるため補完精度は低いが比較的高速な補完を実現することができる。そのため、高精度が必要とされない程度の縮小方向の補完や、低速な演算装置等の状況下では最近傍法による画像補完が有効である。 Conventionally, the nearest neighbor method and the linear interpolation method are known as image complementation techniques. For example, since the nearest neighbor method is the most basic method and is simple in processing, it can realize complementation at a relatively high speed although the complementation accuracy is low. Therefore, complementation in the reduction direction to the extent that high accuracy is not required, or image complementation by the nearest neighbor method is effective in the situation of a low-speed arithmetic device or the like.
しかし、これらの補完技術に基づく従来の画像処理装置では、画像メモリから元画像を読み込んで補完後の画像に必要な画素の座標を計算し、計算した座標の画素データにより補完後の画像を生成して画像メモリに書き込む処理をCPUが行っている。そのため、元画像や補完後の画像が大きい場合は画像メモリに対して画素データを読み書きする回数や座標計算の回数も増えるためCPUの負荷が増大し、装置全体としての高速処理を実現することが難しかった。 However, conventional image processing devices based on these complementary technologies read the original image from the image memory, calculate the pixel coordinates required for the complemented image, and generate the complemented image based on the calculated coordinate pixel data. Then, the CPU performs processing for writing into the image memory. For this reason, when the original image or the complemented image is large, the number of times of reading / writing pixel data from / to the image memory and the number of times of coordinate calculation increase, so the load on the CPU increases, and high-speed processing as a whole apparatus can be realized. was difficult.
本発明は、以上のような問題点に鑑みてなされたものであり、CPUの負荷を軽減することにより高速な画像補完を実現可能な画像処理装置を提供することを目的とする。 The present invention has been made in view of the above problems, and an object thereof is to provide an image processing apparatus capable of realizing high-speed image complementation by reducing the load on the CPU.
(1)本発明は、第1の画像を縮小又は拡大して第2の画像を生成する処理を行う画像処理装置であって、前記第1の画像を構成する画素データ及び前記第2の画像を構成する画素データを記憶する第1の記憶部と、第2の記憶部と、所定の画像補完方法に基づいて、前記第2の画像を構成する各画素データに対応する前記第1の画像を構成する各画素データの列方向の座標及び行方向の座標を計算する処理を行う計算処理部と、前記列方向の座標及び前記行方向の座標により特定される各画素データを第1の記憶部から読み出して前記第2の記憶部に転送する読み出し処理と、前記第2の記憶部に格納された画素データを前記第2の画像を構成する画素データとして前記第1の記憶部に転送する書き込み処理を行うデータ転送処理部と、を含むことを特徴とする。 (1) The present invention is an image processing apparatus that performs processing for generating a second image by reducing or enlarging a first image, the pixel data constituting the first image, and the second image The first image corresponding to each pixel data constituting the second image based on a first storage unit, a second storage unit, and a predetermined image complementing method for storing pixel data constituting the second image A calculation processing unit that performs processing for calculating the column-direction coordinates and the row-direction coordinates of each pixel data constituting the pixel data, and each pixel data specified by the column-direction coordinates and the row-direction coordinates is stored in a first memory Read out from the image storage unit and transferred to the second storage unit, and transfer the pixel data stored in the second storage unit to the first storage unit as pixel data constituting the second image A data transfer processing unit for performing write processing; And wherein the Mukoto.
所定の画像補完方法は、例えば、最近傍法であってもよい。 The predetermined image complementing method may be, for example, a nearest neighbor method.
本発明によれば、第1の記憶部に対する画素データの読み出し処理と書き込み処理をデータ転送処理部が行うので、計算処理部がこれらの処理を行う必要がない。そのため、計算処理部の負荷が大幅に低減し座標計算処理を高速に行うことができる。 According to the present invention, since the data transfer processing unit performs the pixel data reading process and writing process for the first storage unit, it is not necessary for the calculation processing unit to perform these processes. Therefore, the load on the calculation processing unit is greatly reduced, and the coordinate calculation process can be performed at high speed.
また、本発明によれば、計算処理部による座標計算処理とデータ転送処理部による画素データの転送処理(読み出し処理と書き込み処理)を並行して行うことができるので、高速な画像補完を実現することができる。 In addition, according to the present invention, coordinate calculation processing by the calculation processing unit and pixel data transfer processing (reading processing and writing processing) by the data transfer processing unit can be performed in parallel, thereby realizing high-speed image complementation. be able to.
また、本発明によれば、計算処理部は第2の画像を構成する各画素データに対応する第1の画像を構成する各画素データの列方向の座標及び行方向の座標を計算し、データ転送処理部は、計算処理部が計算した列方向の座標及び行方向の座標により特定される各画素データを第1の記憶部から読み出して第2の記憶部に転送する。すなわち、第1の画像を縮小して第2の画像を生成する場合には第1の画像のすべての画素データを読み出すことなく、第2の画像を生成するために必要な画素データのみを第1の記憶部から読み出すことができる。従って、第1の画像の画素データの読み出し処理を高速化することができるので高速な画像補完を実現することができる。 Further, according to the present invention, the calculation processing unit calculates the coordinate in the column direction and the coordinate in the row direction of each pixel data constituting the first image corresponding to each pixel data constituting the second image, and the data The transfer processing unit reads each pixel data specified by the column-direction coordinates and the row-direction coordinates calculated by the calculation processing unit from the first storage unit, and transfers the pixel data to the second storage unit. That is, when the second image is generated by reducing the first image, only the pixel data necessary for generating the second image is read without reading all the pixel data of the first image. It is possible to read from one storage unit. Accordingly, the pixel data reading process of the first image can be speeded up, so that high-speed image complementation can be realized.
(2)本発明の画像処理装置は、前記データ転送処理部は、前記行方向の座標が同一の画素データ毎に前記読み出し処理及び前記書き込み処理を行うことを特徴とする。 (2) The image processing apparatus according to the present invention is characterized in that the data transfer processing unit performs the reading process and the writing process for each pixel data having the same coordinate in the row direction.
本発明によれば、第2の画像を構成する各画素データに対応する第1の画像を構成する各画素データのうち、列方向の座標が同一の画素データの読み出し処理を行い、当該列方向の座標が同一の画素データを第2の画像の1行分の画素データとして書き込み処理を行う。従って、第2の画像を構成する1行分の画素データ毎に読み出し処理及び書き込み処理を行うことができる。 According to the present invention, among the pixel data constituting the first image corresponding to the pixel data constituting the second image, the pixel data having the same coordinate in the column direction is read out, and the column direction Is written as pixel data for one row of the second image. Therefore, the reading process and the writing process can be performed for each row of pixel data constituting the second image.
(3)本発明の画像処理装置は、前記計算処理部は、前記データ転送処理部が前記行方向の座標が同一の画素データの読み出し処理を終了する毎に次回の読み出し処理の対象となる画素データの行方向の座標を特定するための情報を前記データ転送処理部に送信し、前記データ転送処理部は、前記行方向の座標を特定するための情報に基づいて前記読み出し処理を行うことを特徴とする。 (3) In the image processing apparatus according to the aspect of the invention, the calculation processing unit causes the pixel to be subjected to the next reading process every time the data transfer processing unit finishes reading the pixel data having the same row-direction coordinates. Information for specifying the coordinates in the row direction of the data is transmitted to the data transfer processing unit, and the data transfer processing unit performs the reading process based on the information for specifying the coordinates in the row direction. Features.
(4)本発明の画像処理装置は、前記データ転送処理部は、読み出し処理の対象となる前記行方向の座標が同一の画素データの当該行方向の座標が前回読み出し処理の対象であった画素データの行方向の座標と同じである場合には、前記読み出し処理を行わずに前記書き込み処理を行うことを特徴とする。 (4) In the image processing apparatus according to the aspect of the invention, the data transfer processing unit may include a pixel in which the row direction coordinate of the pixel data having the same row direction coordinate that is the target of the read process is the target of the previous read process. When the coordinates are the same as the data in the row direction, the writing process is performed without performing the reading process.
本発明によれば、第2の画像を構成する1行分の画素データに対応する第1の画像を構成する画素データと同一の画素データが前回の読み出し処理によりすでに第2の記憶部に格納されている場合には読み出し処理を行わないようにすることができる。すなわち、不要な読み出し処理を省くことにより高速な画像補完を実現することができる。 According to the present invention, the same pixel data as the pixel data constituting the first image corresponding to the pixel data for one row constituting the second image is already stored in the second storage unit by the previous readout process. If it is, the reading process can be prevented from being performed. That is, high-speed image complementation can be realized by omitting unnecessary read processing.
(5)本発明の画像処理装置は、前記第2の記憶部は、前記データ転送処理部が読み出した前記行方向の座標が同一の画素データを格納するためのバッファを2つ以上含み、前記データ転送処理部は、前記読み出し処理において、読み出し処理の対象となる前記行方向の座標が同一の画素データの当該行方向の座標が前回読み出し処理の対象であった画素データの行方向の座標と異なる場合には、前記読み出し処理の対象となる前記行方向の座標が同一の画素データを、前回読み出し処理の対象であった画素データが格納されているバッファと異なるバッファに転送し、前記書き込み処理において前回読み出し処理の対象であった画素データを前記第1の記憶部に転送することを特徴とする。 (5) In the image processing device of the present invention, the second storage unit includes two or more buffers for storing pixel data having the same row-direction coordinates read by the data transfer processing unit, In the readout process, the data transfer processing unit, in the readout process, the coordinates in the row direction of the pixel data having the same coordinates in the row direction are the coordinates in the row direction of the pixel data that was the subject of the previous readout process. If they are different, the pixel data having the same row-direction coordinates to be read is transferred to a buffer different from the buffer in which the pixel data to be read previously is stored, and the writing process is performed. The pixel data that was the object of the previous reading process is transferred to the first storage unit.
本発明によれば、第1の記憶部から読み出した画素データを、第1の記憶部に転送する画素データを格納するバッファと常に異なるバッファに格納することができる。すなわち、データ転送処理部は、書き込み処理において必要となる画素データを上書きすることなく読み出し処理を並行して行うことができる。従って、高速な画像補完を実現することができる。 According to the present invention, pixel data read from the first storage unit can be stored in a buffer that is always different from a buffer that stores pixel data to be transferred to the first storage unit. That is, the data transfer processing unit can perform the reading process in parallel without overwriting the pixel data necessary for the writing process. Therefore, high-speed image complementation can be realized.
(6)本発明の画像処理装置は、第3の記憶部を含み、前記計算処理部は、前記列方向の座標を特定するための情報を前記第3の記憶部に格納し、前記データ転送処理部は、前記第3の記憶部に格納された前記列方向の座標を特定するための情報に基づいて前記読み出し処理を行うことを特徴とする。 (6) The image processing apparatus of the present invention includes a third storage unit, and the calculation processing unit stores information for specifying coordinates in the column direction in the third storage unit, and the data transfer The processing unit performs the reading process based on information for specifying the column direction coordinates stored in the third storage unit.
本発明によれば、計算処理部があらかじめ列方向の座標を計算して第3の記憶部に記憶させておくことができる。すなわち、データ転送処理部は、第3の記憶部に格納された情報に基づいて、必要な画素の読み出し処理を行うことができる。従って、計算処理部は行方向の座標の計算のみを行えばよくなるため計算処理部の負荷を低減することができるので、高速な画像補完を実現することができる。 According to the present invention, the calculation processing unit can calculate the coordinates in the column direction in advance and store them in the third storage unit. That is, the data transfer processing unit can perform necessary pixel readout processing based on the information stored in the third storage unit. Accordingly, since the calculation processing unit only needs to calculate the coordinates in the row direction, the load on the calculation processing unit can be reduced, and high-speed image complementation can be realized.
(7)本発明の画像処理装置は、前記計算処理部は、前記行方向の座標を特定するための情報を前記第3の記憶部に格納し、前記データ転送処理部は、前記第3の記憶部に格納された前記行方向の座標を特定するための情報に基づいて前記読み出し処理を行うことを特徴とする。 (7) In the image processing apparatus of the present invention, the calculation processing unit stores information for specifying the row direction coordinates in the third storage unit, and the data transfer processing unit stores the third transfer unit The readout process is performed based on information for specifying the row-direction coordinates stored in the storage unit.
本発明によれば、計算処理部があらかじめ行方向の座標と列方向の座標を計算して第3の記憶部に記憶させておくことができる。すなわち、データ転送処理部は、第3の記憶部に格納された情報に基づいて、計算処理部から独立して必要な画素の読み出し処理を行うことができる。従って、計算処理部は、データ転送処理部によるデータ転送処理の間、座標計算を行う必要がなく計算処理部の負荷を大幅に低減することができる。 According to the present invention, the calculation processing unit can calculate the coordinates in the row direction and the coordinates in the column direction in advance and store them in the third storage unit. That is, the data transfer processing unit can perform necessary pixel readout processing independently of the calculation processing unit based on the information stored in the third storage unit. Therefore, the calculation processing unit does not need to perform coordinate calculation during the data transfer processing by the data transfer processing unit, and can greatly reduce the load on the calculation processing unit.
(8)本発明の画像処理装置は、前記画像補完方法は最近傍法であることを特徴とする。 (8) The image processing apparatus of the present invention is characterized in that the image complementing method is a nearest neighbor method.
最近傍法によれば補完座標を生成するための特別な計算を行う必要がないので、本発明によれば、第1の記憶部ら読み出して第2の記憶部に転送した画素データを、第2の画像を構成する画素データとして第1の記憶部に転送して書き込む処理を行うだけで、簡単かつ高速に第2の画像を生成することができる。 According to the present invention, since it is not necessary to perform a special calculation for generating complementary coordinates according to the nearest neighbor method, according to the present invention, the pixel data read from the first storage unit and transferred to the second storage unit The second image can be generated easily and at high speed simply by performing a process of transferring and writing to the first storage unit as pixel data constituting the second image.
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。 DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. The embodiments described below do not unduly limit the contents of the present invention described in the claims. Also, not all of the configurations described below are essential constituent requirements of the present invention.
1.最近傍法
図1及び図2は、最近傍法による縮小画像及び拡大画像の生成についてそれぞれ説明するための図である。
1. Nearest Neighbor Method FIGS. 1 and 2 are diagrams for explaining generation of a reduced image and an enlarged image by the nearest neighbor method, respectively.
図1は、横方向(列方向)に40列、縦方向(行方向)に40行の1600個の画素により構成される画像100(第1の画像に相当し、以下、元画像という)を、横方向(列方向)に30列、縦方向(行方向)に30行の900個の画素により構成される画像110(第2の画像に相当し、以下、縮小画像という)に縮小する場合の一例であり、図2は、図1と同じ元画像100を、50列50行の2500個の画素により構成される画像120(第2の画像に相当し、以下、拡大画像という)に拡大する場合の一例である。元画像又は縮小画像を構成する各画素の位置は、縦方向の座標(以下、行座標という)と横方向の座標(以下、列座標という)によって特定される。例えば、縮小画像の0行目の画素の各座標は(0,0)、(1,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、・・・、(29,0)である。 FIG. 1 shows an image 100 (corresponding to a first image, hereinafter referred to as an original image) composed of 1600 pixels of 40 columns in the horizontal direction (column direction) and 40 rows in the vertical direction (row direction). When the image is reduced to an image 110 (corresponding to a second image, hereinafter referred to as a reduced image) composed of 900 pixels of 30 columns in the horizontal direction (column direction) and 30 rows in the vertical direction (row direction). 2 is an example in which the same original image 100 as FIG. 1 is enlarged to an image 120 (corresponding to a second image, hereinafter referred to as an enlarged image) composed of 2500 pixels of 50 columns and 50 rows. This is an example of the case. The position of each pixel constituting the original image or the reduced image is specified by a vertical coordinate (hereinafter referred to as a row coordinate) and a horizontal coordinate (hereinafter referred to as a column coordinate). For example, the coordinates of the pixel in the 0th row of the reduced image are (0,0), (1,0), (2,0), (3,0), (4,0), (5,0), (6, 0), ..., (29, 0).
最近傍法では、元画像を構成する画素において、縮小画像又は拡大画像を構成する各画素に最も近い座標の画素を選択することにより、縮小画像又は拡大画像を生成する。例えば、図1の場合、例えば縮小画像の0行目の画素の行座標及び列座標を40/30倍(4/3倍)して得られる座標(0,0)、(4/3,0)、(8/3,0)、(4,0)、(16/3,0)、(20/3,0)、(8,0)、・・・、(116/3,0)を最も近い整数の座標に変換することにより、元画像の対応する画素の座標(0,0)、(1,0)、(3,0)、(4,0)、(5,0)、(7,0)、(8,0)、・・・、(39,0)を得る。すなわち、元画像における座標(0,0)、(1,0)、(3,0)、(4,0)、(5,0)、(7,0)、(8,0)、・・・、(39,0)の画素が、縮小画像における座標(0,0)、(1,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、・・・、(29,0)の画素として選択される。 In the nearest neighbor method, a reduced image or an enlarged image is generated by selecting a pixel having a coordinate closest to each pixel constituting a reduced image or an enlarged image among the pixels constituting the original image. For example, in the case of FIG. 1, for example, coordinates (0,0), (4 / 3,0) obtained by multiplying the row coordinate and the column coordinate of the pixel of the 0th row of the reduced image by 40/30 times (4/3 times). ), (8/3, 0), (4, 0), (16/3, 0), (20/3, 0), (8, 0), ..., (116/3, 0) By converting to the nearest integer coordinates, the coordinates (0,0), (1,0), (3,0), (4,0), (5,0), (5, 7,0), (8,0), ..., (39,0) are obtained. That is, the coordinates (0,0), (1,0), (3,0), (4,0), (5,0), (7,0), (8,0) in the original image,. .. (39,0) pixels have coordinates (0,0), (1,0), (2,0), (3,0), (4,0), (5,0) in the reduced image , (6, 0),..., (29, 0).
見方を変えれば、縮小画像における0行目の30画素は、元画像における0行目の40画素のうち、列座標が2、6、・・・、38の画素(すなわち、列座標が4n+2(nは0〜9の整数)の画素)を間引くことにより生成することができる。縮小画像における他の行の30画素についても、元画像における対応する行の40画素のうち、列座標が4n+2(nは0〜9の整数)の画素を間引くことにより生成することができる。同様に、縮小画像における各列の30画素についても、元画像における対応する列の40画素のうち、行座標が4n+2(nは0〜9の整数)の画素を間引くことにより生成することができる。結局、最近傍法によれば、40×40の元画像の座標(4n+2,k)(nは0〜9の整数、kは0〜39の整数)の画素及び座標(k,4n+2)(kは0〜39の整数、nは0〜9の整数)の画素を間引くことにより30×30の縮小画像を生成することができる。 In other words, 30 pixels in the 0th row in the reduced image are pixels having column coordinates 2, 6,..., 38 out of 40 pixels in the 0th row in the original image (that is, the column coordinates are 4n + 2 ( n can be generated by thinning out pixels of 0 to 9). The 30 pixels in the other rows in the reduced image can also be generated by thinning out the pixels whose column coordinates are 4n + 2 (n is an integer of 0 to 9) among the 40 pixels in the corresponding row in the original image. Similarly, 30 pixels in each column in the reduced image can be generated by thinning out pixels having a row coordinate of 4n + 2 (n is an integer of 0 to 9) among 40 pixels in the corresponding column in the original image. . After all, according to the nearest neighbor method, the pixel and coordinates (k, 4n + 2) (k) of the coordinates (4n + 2, k) (n is an integer of 0 to 9, k is an integer of 0 to 39) of the 40 × 40 original image. 30 × 30 reduced image can be generated by thinning out pixels of 0 to 39 and n is an integer of 0 to 9.
同様に、図2の場合、例えば拡大画像の0行目の画素の行座標及び列座標を40/50倍(4/5倍)して得られる座標(0,0)、(4/5,0)、(8/5,0)、(12/5,0)、(16/5,0)、(4,0)、(24/5,0)、(28/5,0)、(32/5,0)、(36/5,0)、(8,0)、・・・、(196/5,0)を最も近い整数の座標に変換することにより、元画像の対応する画素の座標(0,0)、(1,0)、(2,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、(6,0)、(7,0)、(8,0)、・・・、(39,0)を得る。すなわち、元画像における座標(0,0)、(1,0)、(2,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、(6,0)、(7,0)、(8,0)、・・・、(39,0)の画素が、拡大画像における座標(0,0)、(1,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、(7,0)、(8,0)、(9,0)、(10,0)、・・・、(49,0)の画素として選択される。 Similarly, in the case of FIG. 2, for example, coordinates (0,0), (4 / 5,4) obtained by multiplying the row coordinate and the column coordinate of the pixel of the 0th row of the enlarged image by 40/50 (4/5) 0), (8 / 5,0), (12 / 5,0), (16 / 5,0), (4,0), (24 / 5,0), (28 / 5,0), ( 32/5, 0), (36/5, 0), (8, 0),..., (196/5, 0) are converted to the nearest integer coordinates, thereby corresponding pixels of the original image. Coordinates (0,0), (1,0), (2,0), (2,0), (3,0), (4,0), (5,0), (6,0), (6, 0), (7, 0), (8, 0), ..., (39, 0) are obtained. That is, the coordinates (0,0), (1,0), (2,0), (2,0), (3,0), (4,0), (5,0), (6) in the original image , 0), (6,0), (7,0), (8,0),..., (39,0) are represented by coordinates (0,0), (1,0) in the enlarged image. , (2,0), (3,0), (4,0), (5,0), (6,0), (7,0), (8,0), (9,0), ( 10, 0),..., (49, 0).
見方を変えれば、拡大画像における0行目の50画素は、元画像における0行目の40画素のうち、列座標が2、6、・・・、38の画素(すなわち、列座標が4n+2(nは0〜9の整数)の画素)を複製することにより生成することができる。拡大画像における他の行の50画素についても、元画像における対応する行の40画素のうち、列座標が4n+2(nは0〜9の整数)の画素を複製することにより生成することができる。同様に、拡大画像における各列の50画素についても、元画像における対応する列の40画素のうち、行座標が4n+2(nは0〜9の整数)の画素を複製することにより生成することができる。結局、最近傍法によれば、40×40の元画像の座標(4n+2,k)(nは0〜9の整数、kは0〜39の整数)の画素及び座標(k,4n+2)(kは0〜39の整数、nは0〜9の整数)の画素を複製することにより50×50の拡大画像を生成することができる。 In other words, the 50 pixels in the 0th row in the enlarged image have the pixel coordinates of 2, 6,..., 38 out of the 40 pixels in the 0th row in the original image (that is, the column coordinates are 4n + 2 ( n can be generated by duplicating 0) to 9). The 50 pixels in the other rows in the enlarged image can also be generated by duplicating the pixels whose column coordinates are 4n + 2 (n is an integer of 0 to 9) among the 40 pixels in the corresponding row in the original image. Similarly, 50 pixels in each column in the enlarged image may be generated by duplicating a pixel having a row coordinate of 4n + 2 (n is an integer of 0 to 9) among 40 pixels in the corresponding column in the original image. it can. After all, according to the nearest neighbor method, the pixel and coordinates (k, 4n + 2) (k) of the coordinates (4n + 2, k) (n is an integer of 0 to 9, k is an integer of 0 to 39) of the 40 × 40 original image. Is an integer from 0 to 39, and n is an integer from 0 to 9), and a 50 × 50 enlarged image can be generated.
2.画像処理装置
図3は、本実施の形態の画像処理装置の機能ブロック図の一例である。
2. Image Processing Device FIG. 3 is an example of a functional block diagram of the image processing device of the present embodiment.
画像処理装置1は、画像メモリ10、CPU20、データ転送装置30、バッファメモリ40を含んで構成されており、さらに座標メモリ50を含んでいてもよい。画像メモリ10、CPU20、データ転送装置30、バッファメモリ40、座標メモリ50はバス60(データバス、アドレスバス等)に接続されている。 The image processing device 1 includes an image memory 10, a CPU 20, a data transfer device 30, and a buffer memory 40, and may further include a coordinate memory 50. The image memory 10, CPU 20, data transfer device 30, buffer memory 40, and coordinate memory 50 are connected to a bus 60 (data bus, address bus, etc.).
画像メモリ10は、第1の記憶部として機能し、第1の画像(元画像)を構成する画素データ及び第2の画像(縮小画像又は拡大画像)を構成する画素データを記憶する。 The image memory 10 functions as a first storage unit, and stores pixel data constituting a first image (original image) and pixel data constituting a second image (reduced image or enlarged image).
バッファメモリ40は、第2の記憶部として機能する。バッファメモリ40は、データ転送装置30が読み出した行方向の座標が同一の画素データを格納するためのバッファを2つ以上含むように構成されていてもよい。 The buffer memory 40 functions as a second storage unit. The buffer memory 40 may be configured to include two or more buffers for storing pixel data having the same row-direction coordinates read by the data transfer device 30.
CPU20は、計算処理部として機能し、所定の画像補完方法に基づいて、第2の画像を構成する各画素データに対応する第1の画像を構成する各画素データの列方向の座標及び行方向の座標を計算する処理を行う。所定の画像補完方法は、図1及び図2で説明した最近傍法であってもよい。 The CPU 20 functions as a calculation processing unit, and based on a predetermined image complementing method, the column direction coordinates and row direction of each pixel data constituting the first image corresponding to each pixel data constituting the second image. Perform processing to calculate the coordinates of. The predetermined image complementing method may be the nearest neighbor method described with reference to FIGS.
データ転送装置30は、データ転送処理部として機能し、CPU20が計算した列方向の座標及び行方向の座標により特定される各画素データを画像メモリ10から読み出してバッファメモリ40に転送する読み出し処理と、バッファメモリ40に格納された画素データを第2の画像を構成する画素データとして画像メモリに転送する書き込み処理を行う。 The data transfer device 30 functions as a data transfer processing unit, and reads out each pixel data specified by the coordinates in the column direction and the row direction calculated by the CPU 20 from the image memory 10 and transfers them to the buffer memory 40. Then, a writing process is performed in which the pixel data stored in the buffer memory 40 is transferred to the image memory as the pixel data constituting the second image.
データ転送装置30は、行方向の座標が同一の画素データ毎に読み出し処理及び書き込み処理を行うようにしてもよい。この場合、CPU20は、データ転送装置30が行方向の座標が同一の画素データの読み出し処理を終了する毎に次回の読み出し処理の対象となる画素データの行方向の座標を特定するための情報をデータ転送装置30に送信し、データ転送装置30は行方向の座標を特定するための情報に基づいて読み出し処理を行うようにしてもよい。 The data transfer device 30 may perform read processing and write processing for each pixel data having the same row-direction coordinate. In this case, each time the data transfer device 30 finishes reading the pixel data having the same row direction coordinates, the CPU 20 uses the information for specifying the row direction coordinates of the pixel data to be subjected to the next reading process. The data may be transmitted to the data transfer device 30, and the data transfer device 30 may perform a reading process based on information for specifying the coordinates in the row direction.
また、データ転送装置30は、読み出し処理の対象となる行方向の座標が同一の画素データの当該行方向の座標が前回読み出し処理の対象であった画素データの行方向の座標と同じである場合には、読み出し処理を行わずに書き込み処理を行うようにしてもよい。 Further, the data transfer device 30 has a case in which the row-direction coordinates of the pixel data having the same row-direction coordinates to be read out are the same as the row-direction coordinates of the pixel data to be read-out previously. Alternatively, the writing process may be performed without performing the reading process.
また、データ転送装置30は、読み出し処理において、読み出し処理の対象となる行方向の座標が同一の画素データの当該行方向の座標が前回読み出し処理の対象であった画素データの行方向の座標と異なる場合には、読み出し処理の対象となる行方向の座標が同一の画素データを、前回読み出し処理の対象であった画素データが格納されているバッファと異なるバッファに転送し、書き込み処理において前回読み出し処理の対象であった画素データを画像メモリ10に転送するようにしてもよい。 Further, in the readout process, the data transfer device 30 uses the coordinates in the row direction of the pixel data having the same row direction coordinates to be subjected to the readout process as the row direction coordinates of the pixel data to be subjected to the previous readout process. If they are different, the pixel data with the same row-direction coordinates to be read is transferred to a buffer different from the buffer in which the pixel data that was the previous read process is stored, and the previous read is performed in the write process. The pixel data that was the object of processing may be transferred to the image memory 10.
座標メモリ50は、第3の記憶部として機能する。画像処理装置1が座標メモリ50を含む場合、CPU20は、列方向の座標を特定するための情報を座標メモリ50に格納し、データ転送装置30は、座標メモリ50に格納された列方向の座標を特定するための情報に基づいて読み出し処理を行うようにしてもよい。また、CPU20は、さらに、行方向の座標を特定するための情報を座標メモリ50に格納し、データ転送装置30は、座標メモリ50に格納された行方向の座標を特定するための情報に基づいて読み出し処理を行うようにしてもよい。 The coordinate memory 50 functions as a third storage unit. When the image processing apparatus 1 includes the coordinate memory 50, the CPU 20 stores information for specifying the column direction coordinates in the coordinate memory 50, and the data transfer apparatus 30 stores the column direction coordinates stored in the coordinate memory 50. The reading process may be performed based on the information for specifying. Further, the CPU 20 further stores information for specifying the coordinates in the row direction in the coordinate memory 50, and the data transfer device 30 is based on the information for specifying the coordinates in the row direction stored in the coordinate memory 50. Thus, the reading process may be performed.
図4は、画像メモリ10の構成例について説明するための図である。 FIG. 4 is a diagram for explaining a configuration example of the image memory 10.
画像メモリ10は、元画像(第1の画像)を構成する画素データを記憶するための元画像記憶領域12を含む。1つの画素データは、例えば、それぞれ1バイトのRデータ、Gデータ、Bデータを含む3バイトデータとして構成される。図1で説明した40×40の画素により構成される元画像であれば、1600個の画素データの各々が3バイトの記憶領域を必要とするので元画像記憶領域12は少なくとも4.8kバイト必要である。そして、例えば、元画像の座標(0,0)の画素のRデータ、座標(0,0)の画素のGデータ、座標(0,0)の画素のBデータ、座標(1,0)の画素のRデータ、座標(1,0)の画素のGデータ、座標(1,0)の画素のBデータ、・・・の順に行方向を優先して元画像記憶領域12に記憶されている。 The image memory 10 includes an original image storage area 12 for storing pixel data constituting the original image (first image). One pixel data is configured as, for example, 3-byte data including 1-byte R data, G data, and B data. If the original image is composed of 40 × 40 pixels described in FIG. 1, each of 1600 pixel data requires a storage area of 3 bytes, so the original image storage area 12 needs at least 4.8 kbytes. It is. For example, the R data of the pixel at the coordinate (0, 0) of the original image, the G data of the pixel at the coordinate (0, 0), the B data of the pixel at the coordinate (0, 0), and the coordinate (1, 0) The R direction of the pixel, the G data of the pixel at the coordinate (1, 0), the B data of the pixel at the coordinate (1, 0), and so on are stored in the original image storage area 12 with priority in the row direction. .
また、画像メモリ10は、補完画像(第2の画像に相当する縮小画像または拡大画像)を構成する画素データを記憶するための補完画像記憶領域14を含む。図1で説明した30×30の画素により構成される縮小画像であれば、補完画像記憶領域14は、900個の画素データ(Rデータ、Gデータ、Bデータから成る3バイトデータ)を記憶するために少なくとも2.7kバイト必要である。一方、図2で説明した50×50の画素により構成される拡大画像であれば、補完画像記憶領域14は、2500個の画素データを記憶するために少なくとも7.5kバイト必要である。そして、例えば、元画像記憶領域12と同様のアドレス順により、補完画像記憶領域14において補完画像を構成する各画像データが格納される。 The image memory 10 also includes a complementary image storage area 14 for storing pixel data constituting a complementary image (a reduced image or an enlarged image corresponding to the second image). In the case of a reduced image composed of 30 × 30 pixels described in FIG. 1, the complementary image storage area 14 stores 900 pixel data (3-byte data composed of R data, G data, and B data). This requires at least 2.7 kbytes. On the other hand, in the case of an enlarged image composed of 50 × 50 pixels described with reference to FIG. 2, the complementary image storage area 14 requires at least 7.5 kbytes to store 2500 pixel data. Then, for example, each image data constituting the complementary image is stored in the complementary image storage area 14 in the same address order as the original image storage area 12.
なお、元画像記憶領域12、補完画像記憶領域14のベースアドレス(図4ではそれぞれ0000H、4000H)は、データ転送装置30の内部レジスタ(それぞれ、元画像記憶領域ベースアドレス設定レジスタ、補完画像記憶領域ベースアドレス設定レジスタ)に所定の設定値を書き込むことにより可変に設定することができるようにしてもよい。 Note that the base addresses (0000H and 4000H in FIG. 4 respectively) of the original image storage area 12 and the complementary image storage area 14 are internal registers of the data transfer device 30 (the original image storage area base address setting register and the complementary image storage area, respectively). A predetermined setting value may be written in the base address setting register) so as to be variably set.
図5は、バッファメモリ40の構成例について説明するための図である。 FIG. 5 is a diagram for explaining a configuration example of the buffer memory 40.
バッファメモリ40は、補完画像を構成する1行分の画素データを一時的に格納するための記憶領域42(バッファ0)を含む。図1で説明した30×30の画素により構成される縮小画像であれば、バッファ0は、1行分の30個の画素データを格納するために90バイト以上あればよい。また、図2で説明した50×50の画素により構成される拡大画像であれば、バッファ0は、1行分の50個の画素データを格納するために150バイト以上あればよい。そして、例えば、補完画像のX行目の画素について、座標(0,X)の画素のRデータ、Gデータ、Bデータ、座標(1,X)の画素のRデータ、Gデータ、Bデータ、・・・の順にバッファ0に一時的に格納される。 The buffer memory 40 includes a storage area 42 (buffer 0) for temporarily storing pixel data for one row constituting the complementary image. In the case of a reduced image composed of 30 × 30 pixels described with reference to FIG. 1, the buffer 0 may be 90 bytes or more in order to store 30 pixel data for one row. In the case of an enlarged image composed of 50 × 50 pixels described in FIG. 2, the buffer 0 may be 150 bytes or more in order to store 50 pixel data for one row. For example, for the pixel in the X-th row of the complementary image, the R data, G data, and B data of the pixel at coordinates (0, X), the R data, G data, and B data of the pixel at coordinates (1, X), Are temporarily stored in the buffer 0 in this order.
バッファメモリ40は、補完画像を構成する1行分の画素データを一時的に格納するための他の記憶領域44(バッファ1)を含むようにしてもよい。すなわち、バッファメモリ40はバッファ0とバッファ1のダブルバッファにより構成されていてもよい。バッファ1はバッファ0と同じ大きさの記憶領域に割り当てられる。そして、例えば、バッファ0に補完画像のX行目の画素データ(前回読み出し処理の対象であった1行分の画素データ)が格納されている場合には、バッファメモリ1にはX+1行目の画素データ(今回読み出し処理の対象となる1行分の画素データ)が格納されるようにしてもよい。 The buffer memory 40 may include another storage area 44 (buffer 1) for temporarily storing pixel data for one row constituting the complementary image. That is, the buffer memory 40 may be configured by a double buffer of the buffer 0 and the buffer 1. Buffer 1 is allocated to a storage area of the same size as buffer 0. For example, when the pixel data of the X-th row of the complementary image (pixel data for one row that was the object of the previous reading process) is stored in the buffer 0, the buffer memory 1 stores the X + 1-th row. Pixel data (pixel data for one row that is the target of the current read process) may be stored.
このように、バッファメモリ40が2つのバッファを有する(3つ以上のバッファを有していてもよい)ことにより、データ転送装置30は、画像メモリ10から補完画像のX行目の画素データに対応する元画像の1行分の画像データを読み出してバッファ0に格納した後、バッファ0に格納された画素データを画像メモリ10に転送する書き込み処理を行いながら、画像メモリ10から補完画像のX+1行目の画素データに対応する元画像の1行分の画像データを読み出してバッファ1に格納する読み出し処理を同時に行うことができる。すなわち、バッファメモリ40が2つ以上のバッファバンクを有することにより、より高速に補完画像を生成することができるようになる。 As described above, since the buffer memory 40 includes two buffers (may include three or more buffers), the data transfer device 30 converts the pixel data of the X-th row of the complementary image from the image memory 10. The image data for one line of the corresponding original image is read out and stored in the buffer 0, and then the pixel data stored in the buffer 0 is written to the image memory 10 while performing the writing process to transfer the complemented image X + 1. A reading process of reading out image data of one row of the original image corresponding to the pixel data of the row and storing it in the buffer 1 can be performed simultaneously. That is, since the buffer memory 40 has two or more buffer banks, a complementary image can be generated at a higher speed.
なお、バッファ0、バッファ1のベースアドレス(図5ではそれぞれ000H、100H)は、データ転送装置30の内部レジスタ(それぞれ、バッファ0ベースアドレス設定レジスタ、バッファ1ベースアドレス設定レジスタ)に所定の設定値を書き込むことにより可変に設定することができるようにしてもよい。 Note that the base addresses of the buffer 0 and the buffer 1 (000H and 100H in FIG. 5, respectively) are set in predetermined values in the internal registers (the buffer 0 base address setting register and the buffer 1 base address setting register, respectively) of the data transfer device 30. May be set variably by writing.
図6は、座標メモリ50の構成例について説明するための図である。 FIG. 6 is a diagram for explaining a configuration example of the coordinate memory 50.
座標メモリ50は、補完画像の1行分の各画素データに対応する元画像の各画素データの列座標を特定するための情報(列座標特定情報)を格納するための列座標特定情報記憶領域52を含む。例えば、補完画像のX行目の画素について、座標(0,X)の画素(0列目の画素)に対する列座標特定情報、座標(1,X)の画素(1列目の画素)に対する列座標特定情報、・・・の順に列座標特定情報記憶領域52に格納される。図1及び図2で説明したように、最近傍法によれば補完画像の1行分の画素に対応する元画像の各画素の列座標はすべての行で同じ値である。従って、図1で説明した30×30の画素により構成される縮小画像であれば、列座標特定情報記憶領域52は、1行分の30個の画素データに対する列座標特定情報を格納することができればよい。同様に、図2で説明した50×50の画素により構成される拡大画像であれば、列座標特定情報記憶領域52は、1行分の50個の画素データに対する列座標特定情報を格納することができればよい。 The coordinate memory 50 is a column coordinate specifying information storage area for storing information (column coordinate specifying information) for specifying the column coordinates of each pixel data of the original image corresponding to each pixel data of one row of the complementary image. 52. For example, for the pixel in the X row of the complementary image, column coordinate specifying information for the pixel at the coordinate (0, X) (pixel at the 0th column), the column for the pixel at the coordinate (1, X) (the pixel at the first column) It is stored in the column coordinate specifying information storage area 52 in the order of coordinate specifying information,. As described with reference to FIGS. 1 and 2, according to the nearest neighbor method, the column coordinates of each pixel of the original image corresponding to the pixels for one row of the complementary image have the same value in all rows. Therefore, in the case of a reduced image composed of 30 × 30 pixels described in FIG. 1, the column coordinate specifying information storage area 52 can store column coordinate specifying information for 30 pixel data for one row. I can do it. Similarly, in the case of an enlarged image composed of 50 × 50 pixels described in FIG. 2, the column coordinate specifying information storage area 52 stores column coordinate specifying information for 50 pixel data for one row. If you can.
列座標特定情報記憶領域52に、補完画像の1行分の画素に対する列座標特定情報をあらかじめ記憶させておくことにより、CPU20は読み出し対象の1行分の画像データの行座標を特定ための情報(行座標特定情報)をデータ転送装置30に送信するだけで、データ転送装置30は列座標特定情報記憶領域52に記憶された列座標特定情報に基づいて補完画像の1行分の各画素を読み出すことができる。すなわち、CPU20がデータ送信装置30に対して読み出し対象の各画素の列座標を送信する必要がないので、CPU20の負荷を軽減することができる。 Information for specifying the row coordinates of the image data for one row to be read is stored in the column coordinate specifying information storage area 52 by storing the column coordinate specifying information for the pixels for one row of the complementary image in advance. By only transmitting (row coordinate specifying information) to the data transfer device 30, the data transfer device 30 selects each pixel for one row of the complementary image based on the column coordinate specifying information stored in the column coordinate specifying information storage area 52. Can be read. That is, it is not necessary for the CPU 20 to transmit the column coordinates of each pixel to be read out to the data transmission device 30, so that the load on the CPU 20 can be reduced.
さらに、座標メモリ50は、補完画像の1列分の各画素データに対応する元画像の画素データの行座標特定情報を格納するための行座標特定情報記憶領域54を含むようにしてもよい。例えば、補完画像のX列目の画素について、座標(X,0)の画素(0行目の画素)に対する行座標特定情報、座標(X,1)の画素(1行目の画素)に対する行座標特定情報、・・・の順に行座標特定情報記憶領域54に格納される。図1及び図2で説明したように、最近傍法によれば補完画像の1列分の画素に対応する元画像の各画素の行座標はすべての列で同じ値である。従って、図1で説明した30×30の画素により構成される縮小画像であれば、行座標特定情報記憶領域54は、1列分の30個の画素データに対する行座標特定情報を格納することができればよい。同様に、図2で説明した50×50の画素により構成される拡大画像であれば、行座標特定情報記憶領域54は、1列分の50個の画素データに対する行座標特定情報を格納することができればよい。 Furthermore, the coordinate memory 50 may include a row coordinate specifying information storage area 54 for storing row coordinate specifying information of pixel data of the original image corresponding to each pixel data of one column of the complementary image. For example, for the pixel in the X column of the complementary image, the row coordinate specifying information for the pixel at the coordinate (X, 0) (pixel at the 0th row), the row for the pixel at the coordinate (X, 1) (the pixel at the first row) They are stored in the row coordinate specification information storage area 54 in the order of coordinate specification information,. As described with reference to FIGS. 1 and 2, according to the nearest neighbor method, the row coordinates of each pixel of the original image corresponding to the pixels for one column of the complementary image have the same value in all the columns. Accordingly, in the case of a reduced image composed of 30 × 30 pixels described with reference to FIG. 1, the row coordinate specifying information storage area 54 can store row coordinate specifying information for 30 pixel data for one column. I can do it. Similarly, in the case of an enlarged image composed of 50 × 50 pixels described in FIG. 2, the row coordinate specifying information storage area 54 stores the row coordinate specifying information for 50 pixel data for one column. If you can.
行座標特定情報記憶領域54に、補完画像の1列分の画素に対する行座標特定情報をあらかじめ記憶させておくことにより、CPU20はデータ送信装置30に対して読み出し対象の各画素の列座標だけでなく行座標も送信する必要がなくなるので、CPU20の負荷をさらに軽減することができる。 By storing in advance the row coordinate specifying information for the pixels corresponding to one column of the complementary image in the row coordinate specifying information storage area 54, the CPU 20 allows only the column coordinates of each pixel to be read out to the data transmitting device 30. In addition, since it is not necessary to transmit the line coordinates, the load on the CPU 20 can be further reduced.
なお、列座標特定情報は、元画像の所定の画素の列座標を基準とする相対座標であってもよい。例えば、図1の場合は、列座標特定情報は、元画像の座標(0,0)の画素を基準とすると0、1、3、4、5、7、8、・・・、39であってもよい。図2の場合は、列座標特定情報は、元画像の座標(0,0)の画素を基準とすると0、1、2、2、3、4、5、6、6、7、8、・・・、39であってもよい。また、列座標特定情報は、元画像の所定の画素の列座標を基準とする相対座標であってもよい。例えば、図1の場合は、列座標特定情報は、補完画像の1行において隣合う2つの画素に対応する元画像の2つの画素の列座標の差分であってもよい。例えば、図1の場合は、列座標特定情報は、0、1、3、4、5、7、8、・・・、39の差分をとった0、1、2、1、1、2、1、・・・、2であってもよい。図2の場合は、列座標特定情報は、0、1、1、0、1、1、1、1、0、1、1、・・・、1であってもよい。行座標特定情報についても同様である。 Note that the column coordinate specifying information may be a relative coordinate based on the column coordinate of a predetermined pixel of the original image. For example, in the case of FIG. 1, the column coordinate specifying information is 0, 1, 3, 4, 5, 7, 8,..., 39 based on the pixel at the coordinates (0, 0) of the original image. May be. In the case of FIG. 2, the column coordinate specifying information is 0, 1, 2, 2, 3, 4, 5, 6, 6, 7, 8,... With reference to the pixel at the coordinates (0, 0) of the original image. .., 39 may be used. Further, the column coordinate specifying information may be a relative coordinate based on the column coordinate of a predetermined pixel of the original image. For example, in the case of FIG. 1, the column coordinate specifying information may be a difference between column coordinates of two pixels of the original image corresponding to two adjacent pixels in one row of the complementary image. For example, in the case of FIG. 1, the column coordinate specifying information is 0, 1, 2, 1, 1, 2,. 1, ... 2, may be sufficient. In the case of FIG. 2, the column coordinate specifying information may be 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1,. The same applies to the line coordinate specifying information.
なお、列座標特定情報記憶領域52、行座標特定情報記憶領域54のベースアドレス(図6ではそれぞれ000H、800H)は、データ転送装置30の内部レジスタ(それぞれ、列座標特定情報記憶領域ベースアドレス設定レジスタ、行座標特定情報記憶領域ベースアドレス設定レジスタ)に所定の設定値を書き込むことにより可変に設定することができるようにしてもよい。 The base addresses of the column coordinate specifying information storage area 52 and the row coordinate specifying information storage area 54 (000H and 800H in FIG. 6, respectively) are the internal registers of the data transfer device 30 (respectively, the column coordinate specifying information storage area base address setting). A predetermined setting value may be written in a register or a row coordinate specifying information storage area base address setting register) so that it can be variably set.
図7は、データ転送装置30の構成例について説明するための図である。 FIG. 7 is a diagram for explaining a configuration example of the data transfer device 30.
例えば、データ転送装置30は、制御レジスタ310、制御レジスタインターフェース部320、データ転送制御部330、アドレス計算部340、データ転送制御部350、データ転送制御部360、割り込み発生部370を含んで構成されている。 For example, the data transfer device 30 includes a control register 310, a control register interface unit 320, a data transfer control unit 330, an address calculation unit 340, a data transfer control unit 350, a data transfer control unit 360, and an interrupt generation unit 370. ing.
制御レジスタ310は、データ転送装置30の動作を制御するレジスタ群である。例えば、制御レジスタ310は、データ転送制御部330、350及び360がDMA(Direct Memory Access)転送を行うための条件を設定するレジスタや元画像の1行分の画素数を設定するレジスタ(元画像1行分画素数設定レジスタ)等を含む。また、制御レジスタ310は、図4で説明した元画像記憶領域ベースアドレス設定レジスタ及び補完画像記憶領域ベースアドレス設定レジスタ、図5で説明したバッファ0ベースアドレス設定レジスタ及びバッファ1ベースアドレス設定、図6で説明した列座標特定情報記憶領域ベースアドレス設定レジスタ及び行座標特定情報記憶領域ベースアドレス設定レジスタを含んでいてもよい。 The control register 310 is a register group that controls the operation of the data transfer apparatus 30. For example, the control register 310 is a register that sets conditions for the data transfer control units 330, 350, and 360 to perform DMA (Direct Memory Access) transfer, and a register that sets the number of pixels for one row of the original image (original image). 1 row pixel number setting register). Further, the control register 310 includes an original image storage area base address setting register and a complementary image storage area base address setting register described in FIG. 4, a buffer 0 base address setting register and a buffer 1 base address setting described in FIG. The column coordinate specifying information storage area base address setting register and the row coordinate specifying information storage area base address setting register described in the above may be included.
制御レジスタインターフェース部320は、バス60を介してCPU20から受け取った設定データを制御レジスタ310に設定する処理を行う。 The control register interface unit 320 performs processing for setting the setting data received from the CPU 20 via the bus 60 in the control register 310.
データ転送制御部330は、制御レジスタ310に含まれるレジスタの設定値に基づいて座標メモリ50からデータを読み出す処理を行う。具体的には、データ転送制御部330は、列座標特定情報記憶領域ベースアドレス設定レジスタの設定値に基づいて、座標メモリ50の列座標特定情報記憶領域52のベースアドレスから順にアドレスをインクリメントしながら列座標特定情報を読み出す。座標メモリ50が行座標特定情報記憶領域54も有する場合には、データ転送制御部330は、さらに、座標メモリ50の行座標特定情報記憶領域ベースアドレス設定レジスタの設定値に基づいて、座標メモリ50の行座標特定情報記憶領域54のベースアドレスから順にアドレスをインクリメントしながら行座標特定情報を読み出す。データ転送制御部330は、例えば、座標メモリ50の読み出しアドレスを格納するレジスタ(座標メモリ読み出しアドレスレジスタ)をインクリメントしながら座標メモリ50にアクセスすることにより列座標特定情報の転送処理を行うことができる。 The data transfer control unit 330 performs a process of reading data from the coordinate memory 50 based on a set value of a register included in the control register 310. Specifically, the data transfer control unit 330 increments the address sequentially from the base address of the column coordinate specifying information storage area 52 of the coordinate memory 50 based on the set value of the column coordinate specifying information storage area base address setting register. Read column coordinate identification information. When the coordinate memory 50 also has the line coordinate specifying information storage area 54, the data transfer control unit 330 further controls the coordinate memory 50 based on the set value of the line coordinate specifying information storage area base address setting register of the coordinate memory 50. The line coordinate specifying information is read while incrementing the address in order from the base address of the line coordinate specifying information storage area 54. For example, the data transfer control unit 330 can perform transfer processing of column coordinate specifying information by accessing the coordinate memory 50 while incrementing a register (coordinate memory read address register) that stores a read address of the coordinate memory 50. .
アドレス計算部340は、画像メモリ10の読み出しアドレスを計算する処理を行う。具体的には、アドレス計算部340は、まず、データ転送制御部330が座標メモリから読み出した列座標特定情報から列座標aを計算する。さらに、座標メモリ50に行座標特定情報も格納されている場合には、データ転送制御部330が座標メモリから読み出した行座標特定情報から行座標bを計算する。一方、CPU20が行座標bを計算してデータ転送装置30に送信する場合には、データ転送制御部330による行座標bの計算は不要である。そして、元画像記憶領域ベースアドレス設定レジスタの設定値cと元画像1行分画素数設定レジスタの設定値dに基づいて、元画像の座標(a,b)の画素データが格納されている画像メモリ10のアドレスをc+3×(d×a+b)の式により計算する(1画素のRGBデータが3バイト分あるので係数3をかけている)。 The address calculation unit 340 performs processing for calculating the read address of the image memory 10. Specifically, the address calculation unit 340 first calculates the column coordinate a from the column coordinate specifying information read from the coordinate memory by the data transfer control unit 330. Furthermore, when the line coordinate specifying information is also stored in the coordinate memory 50, the data transfer control unit 330 calculates the line coordinate b from the line coordinate specifying information read from the coordinate memory. On the other hand, when the CPU 20 calculates the line coordinate b and transmits it to the data transfer device 30, it is not necessary to calculate the line coordinate b by the data transfer control unit 330. Then, based on the setting value c of the original image storage area base address setting register and the setting value d of the pixel count setting register for one line of the original image, an image in which pixel data of the coordinates (a, b) of the original image is stored The address of the memory 10 is calculated by the formula c + 3 × (d × a + b) (the coefficient 3 is multiplied because there is 3 bytes of RGB data for one pixel).
データ転送制御部350は、制御レジスタ310に含まれるレジスタの設定値に基づいて画像メモリ10から画素データを読み出してバッファメモリ40に転送する処理を行う。具体的には、データ転送制御部350は、アドレス計算部340が計算したアドレスから元画像の画素データを読み出し、バッファ0ベースアドレス設定レジスタの設定値に基づいて、読み出した画素データをバッファ0の先頭から順に書き込む処理を1行分の画素データに対して行う。データ転送制御部350は、画像メモリ10から次の1行分の画素データを読み出してバッファメモリ40に転送する場合には、バッファ1ベースアドレス設定レジスタの設定値に基づいて、読み出した画素データをバッファ1の先頭から順に書き込む処理を行う。すなわち、データ転送制御部350は、前回書き込んだバッファと異なるバッファに切り替えながら1行分の画素データをバッファメモリ40に書き込む処理を行う。データ転送制御部350は、例えば、画像メモリ10の読み出しアドレスを格納するレジスタ(画像メモリ読み出しアドレスレジスタ)とバッファメモリ40の書き込みアドレスを格納するレジスタ(バッファメモリ書き込みアドレスレジスタ)をそれぞれインクリメントしながら画像メモリ10及びバッファメモリ40にアクセスすることにより画素データの転送処理を行うことができる。 The data transfer control unit 350 performs processing for reading out pixel data from the image memory 10 based on the set value of the register included in the control register 310 and transferring the pixel data to the buffer memory 40. Specifically, the data transfer control unit 350 reads the pixel data of the original image from the address calculated by the address calculation unit 340, and reads the read pixel data of the buffer 0 based on the set value of the buffer 0 base address setting register. A process of sequentially writing from the top is performed on pixel data for one row. When the data transfer control unit 350 reads out the pixel data for the next row from the image memory 10 and transfers it to the buffer memory 40, the data transfer control unit 350 converts the read pixel data based on the set value of the buffer 1 base address setting register. Write processing is performed in order from the top of the buffer 1. That is, the data transfer control unit 350 performs a process of writing the pixel data for one row into the buffer memory 40 while switching to a buffer different from the previously written buffer. For example, the data transfer control unit 350 increments a register for storing a read address of the image memory 10 (image memory read address register) and a register for storing a write address of the buffer memory 40 (buffer memory write address register). Pixel data transfer processing can be performed by accessing the memory 10 and the buffer memory 40.
データ転送制御部360は、制御レジスタ310に含まれるレジスタの設定値に基づいてバッファメモリ40からデータを読み出して画像メモリ10に転送する処理を行う。具体的には、データ転送制御部360は、バッファ0ベースアドレス設定レジスタの設定値に基づいてバッファ0の先頭から順に1行分の画素データを読み出し、補完画像記憶領域ベースアドレス設定レジスタの設定値に基づいて、読み出した画素データを画像メモリ10の補完画像記憶領域14のベースアドレスから順にアドレスをインクリメントしながら書き込む処理を行う。データ転送制御部360は、バッファメモリ40から次の1行分の画素データを読み出して画像メモリ10に転送する場合には、バッファ1ベースアドレス設定レジスタの設定値に基づいてバッファ1のベースアドレスから順に1行分の画素データを読み出し、読み出した画素データを画像メモリ10の補完画像記憶領域14にアドレスをインクリメントしながら書き込む処理を行う。すなわち、データ転送制御部360は、前回読み出しを行ったバンクと異なるバンクに切り替えて1行分の画素データをバッファメモリ40から読み出して画像メモリ10の補完画像記憶領域14に書き込む処理を行う。データ転送制御部360は、例えば、バッファメモリ40の読み出しアドレスを格納するレジスタ(バッファメモリ読み出しアドレスレジスタ)と画像メモリ10の書き込みアドレスを格納するレジスタ(画像メモリ書き込みアドレスレジスタ)をそれぞれインクリメントしながらバッファメモリ40及び画像メモリ10にアクセスすることにより画素データの転送処理を行うことができる。 The data transfer control unit 360 performs a process of reading data from the buffer memory 40 based on the set value of the register included in the control register 310 and transferring it to the image memory 10. Specifically, the data transfer control unit 360 reads pixel data for one row in order from the top of the buffer 0 based on the setting value of the buffer 0 base address setting register, and sets the setting value of the complementary image storage area base address setting register. The read pixel data is written while incrementing the address in order from the base address of the complementary image storage area 14 of the image memory 10. The data transfer control unit 360 reads the next row of pixel data from the buffer memory 40 and transfers it to the image memory 10 based on the set value of the buffer 1 base address setting register. The pixel data for one row is read in order, and the read pixel data is written into the complementary image storage area 14 of the image memory 10 while incrementing the address. That is, the data transfer control unit 360 performs a process of switching to a bank different from the bank from which the previous reading was performed, reading out pixel data for one row from the buffer memory 40, and writing it into the complementary image storage area 14 of the image memory 10. For example, the data transfer control unit 360 increments a register that stores a read address of the buffer memory 40 (buffer memory read address register) and a register that stores a write address of the image memory 10 (image memory write address register). Pixel data transfer processing can be performed by accessing the memory 40 and the image memory 10.
割り込み発生部370は、CPU10に対して割り込みを発生させる処理を行う。具体的には、データ転送制御部350による画像メモリ10からの画像データの読み出し処理の終了やデータ転送制御部360による画像メモリ10への画素データの書き込み処理の終了により割り込みを発生させる。 The interrupt generation unit 370 performs processing for causing the CPU 10 to generate an interrupt. Specifically, an interrupt is generated when the data transfer control unit 350 finishes reading image data from the image memory 10 or the data transfer control unit 360 finishes writing pixel data into the image memory 10.
このように、本実施の形態の画像処理装置によれば、CPU20を介さずにデータ転送装置30のデータ転送制御部330、350及び360において専用ハードウェアによる画素データのDMA転送を直接的に行うことができるので、CPUの負荷を大幅に軽減するとともに画像処理の高速化を達成することができる。 As described above, according to the image processing apparatus of the present embodiment, the DMA transfer of pixel data by dedicated hardware is directly performed in the data transfer control units 330, 350, and 360 of the data transfer apparatus 30 without using the CPU 20. Therefore, it is possible to significantly reduce the load on the CPU and to speed up the image processing.
図8はCPU20の処理のフローチャートの第1の例を示す図であり、図9はこれに対応するデータ転送装置30の処理のフローチャートの第1の例を示す図である。図8、図9は、座標メモリ50には列座標特定情報記憶領域52のみが割り当てられている場合のフローチャートである。また、バッファメモリ40はバッファ0、バッファ1のダブルバッファ構成であるものとして説明する。 FIG. 8 is a diagram illustrating a first example of a flowchart of processing of the CPU 20, and FIG. 9 is a diagram illustrating a first example of a flowchart of processing of the data transfer apparatus 30 corresponding thereto. 8 and 9 are flowcharts when only the column coordinate specifying information storage area 52 is allocated to the coordinate memory 50. FIG. The buffer memory 40 will be described as having a double buffer configuration of buffer 0 and buffer 1.
まず、CPU20は、補完画像の各行に含まれる画素に対応する元画像の画素の列座標を計算する(図8のステップS10)。例えば、図1で説明した縮小画像を最近傍法により生成する場合は、列座標の計算結果として0、1、3、4、5、7、8、・・・、39が得られる。また、例えば、図2で説明した拡大画像を最近傍法により生成する場合は、列座標の計算結果として0、1、2、2、3、4、5、6、6、7、8、・・・、39の列が得られる。そして、CPU20はこの列座標を特定するための列座標特定情報を座標メモリ50の列座標特定情報記憶領域52に書き込む。図10及び図11に、図1及び図2の場合に列座標特定情報記憶領域52に書き込まれた列座標特定情報の一例をそれぞれ示す。 First, the CPU 20 calculates the column coordinates of the pixels of the original image corresponding to the pixels included in each row of the complementary image (step S10 in FIG. 8). For example, when the reduced image described in FIG. 1 is generated by the nearest neighbor method, 0, 1, 3, 4, 5, 7, 8,..., 39 are obtained as column coordinate calculation results. For example, when the enlarged image described in FIG. 2 is generated by the nearest neighbor method, 0, 1, 2, 2, 3, 4, 5, 6, 6, 7, 8,. .., 39 rows are obtained. Then, the CPU 20 writes column coordinate specifying information for specifying the column coordinates in the column coordinate specifying information storage area 52 of the coordinate memory 50. FIGS. 10 and 11 show examples of column coordinate specifying information written in the column coordinate specifying information storage area 52 in the case of FIGS. 1 and 2, respectively.
次に、CPU20は、補完画像の最初の行に対応する元画像の行の行座標を計算する(図8のステップS12)。例えば、図1で説明した縮小画像や図2で説明した拡大画像を最近傍法により生成する場合、行座標の計算結果として0が得られる。 Next, the CPU 20 calculates the row coordinates of the row of the original image corresponding to the first row of the complementary image (step S12 in FIG. 8). For example, when the reduced image described in FIG. 1 or the enlarged image described in FIG. 2 is generated by the nearest neighbor method, 0 is obtained as the calculation result of the row coordinates.
次に、CPU20は、データ転送装置30に対してステップS12で計算した行座標に対応する元画像の行(例えば、0行目)の画素データを画像メモリ10から読み出す処理の開始を指示する(図8のステップS14)。ここで、CPU20は、ステップS12で計算した行座標の情報をデータ転送装置20に送信する。 Next, the CPU 20 instructs the data transfer device 30 to start processing for reading out pixel data of the row (for example, the 0th row) of the original image corresponding to the row coordinates calculated in step S12 from the image memory 10 ( Step S14 in FIG. Here, the CPU 20 transmits the information on the line coordinates calculated in step S <b> 12 to the data transfer device 20.
データ転送装置30は、CPU20による読み出し処理の開始指示があるまで待機状態にあり(図9のステップS40でNoの場合)、読み出し処理の開始指示があると(ステップS40でYesの場合)CPU20から受け取った行座標の情報(例えば0)に基づいて、画像メモリ10から1行分の画素データ(例えば0行目の画素データ)を読み出す処理を行う(図9のステップS42)。例えば、図1で説明した縮小画像を生成する場合、CPU20のステップS10における処理により座標メモリ50の列座標特定情報記憶領域52の先頭から0、1、3、4、5、7、8、・・・、39の列座標が格納されているので(図10参照)、データ転送制御部330は、座標メモリ読み出しアドレスレジスタに列座標特定情報記憶領域52のベースアドレス(000H)をセットして、まず座標メモリ50の000Hアドレスから列座標0を読み出す処理を行う。そして、データ転送制御部350は、アドレス計算部340が計算したアドレス値(0000H)を画像メモリ読み出しアドレスレジスタにセットして元画像の(0,0)座標の画素のRデータを読み出す処理を行う。さらに、データ転送制御部350は、バッファメモリ書き込みアドレスレジスタにバッファメモリ40のバッファ0のベースアドレス(000H)をセットし、画像メモリ10から読み出した画素データ((0,0)座標の画素のRデータ)をバッファメモリ50のバッファ0(000Hアドレス)に書き込む処理を行う。次に、データ転送制御部350は、画像メモリ読み出しアドレスレジスタをインクリメントして画像メモリ10の0001Hアドレスから元画像の(0,0)座標の画素のGデータを読み出し、バッファメモリ書き込みアドレスレジスタをインクリメントして、画像メモリ10から読み出した画素データ((0,0)座標の画素のGデータ)をバッファメモリ50のバッファ0(001Hアドレス)に書き込む処理を行う。同様に、データ転送制御部350は、元画像の(0,0)座標の画素のBデータの転送処理を行う。次に、データ転送制御部330は、座標メモリ読み出しアドレスレジスタをインクリメントして、座標メモリ50の001Hアドレスから列座標1を読み出す処理を行い、データ転送制御部350は、(1,0)座標の画素データ(RGBデータ)の転送処理を同様に行う。以後、(39,0)座標の画素データの転送処理が終了するまで、同様の処理が繰り返される。 The data transfer device 30 is in a standby state until a read processing start instruction is issued by the CPU 20 (No in step S40 in FIG. 9), and when there is a read processing start instruction (Yes in step S40), the CPU 20 Based on the received row coordinate information (for example, 0), a process for reading pixel data for one row (for example, pixel data for the 0th row) from the image memory 10 is performed (step S42 in FIG. 9). For example, when the reduced image described with reference to FIG. 1 is generated, 0, 1, 3, 4, 5, 7, 8,... From the top of the column coordinate specifying information storage area 52 of the coordinate memory 50 by the processing in step S10 of the CPU 20. Since the column coordinates of 39 are stored (see FIG. 10), the data transfer control unit 330 sets the base address (000H) of the column coordinate specifying information storage area 52 in the coordinate memory read address register, First, the process of reading the column coordinate 0 from the 000H address of the coordinate memory 50 is performed. Then, the data transfer control unit 350 performs processing for setting the address value (0000H) calculated by the address calculation unit 340 in the image memory read address register and reading the R data of the pixel at the (0, 0) coordinate of the original image. . Further, the data transfer control unit 350 sets the base address (000H) of the buffer 0 of the buffer memory 40 to the buffer memory write address register, and the pixel data ((0, 0) coordinate pixel R read out from the image memory 10). Data) is written to buffer 0 (000H address) of the buffer memory 50. Next, the data transfer control unit 350 increments the image memory read address register to read the G data of the pixel at the (0, 0) coordinate of the original image from the 0001H address of the image memory 10, and increments the buffer memory write address register. Then, the pixel data read out from the image memory 10 (G data of the pixel at the (0,0) coordinate) is written into the buffer 0 (001H address) of the buffer memory 50. Similarly, the data transfer control unit 350 performs B data transfer processing of the pixel at the (0, 0) coordinate of the original image. Next, the data transfer control unit 330 increments the coordinate memory read address register and performs a process of reading the column coordinate 1 from the 001H address of the coordinate memory 50, and the data transfer control unit 350 performs the processing of the (1,0) coordinate. Pixel data (RGB data) transfer processing is performed in the same manner. Thereafter, the same processing is repeated until the transfer processing of the pixel data of the (39, 0) coordinates is completed.
データ転送装置30は、元画像の0行目の画素データの読み出し処理を終了すると、割り込み発生部370によりCPU20に対して割り込み(読み出し終了割り込み)を発生し(図9のステップS44)、CPU20による書き込み処理の開始指示があるまで待機状態になる(図9のステップS46でNoの場合)。 When the data transfer device 30 finishes reading the pixel data of the 0th row of the original image, the interrupt generation unit 370 generates an interrupt (reading end interrupt) to the CPU 20 (step S44 in FIG. 9). The system waits until there is an instruction to start the writing process (in the case of No in step S46 in FIG. 9).
次に、CPU20は、データ転送装置30による読み出し終了割り込みを検出すると(図8のステップS16でYesの場合)、補完画像の最終行に対応する元画像の行の行座標計算が終了したか否かを判断し(図8のステップS18)、終了していない場合(ステップS18でNoの場合)は補完画像の次の行に対応する元画像の行の行座標を計算する。例えば、図1で説明した縮小画像や図2で説明した拡大画像を最近傍法により生成する場合、行座標の計算結果として1が得られる。 Next, when the CPU 20 detects a read end interrupt by the data transfer device 30 (Yes in step S16 in FIG. 8), whether or not the row coordinate calculation of the row of the original image corresponding to the last row of the complementary image is finished. Is determined (step S18 in FIG. 8), and if not completed (No in step S18), the line coordinates of the line of the original image corresponding to the next line of the complementary image are calculated. For example, when the reduced image described in FIG. 1 or the enlarged image described in FIG. 2 is generated by the nearest neighbor method, 1 is obtained as the calculation result of the row coordinates.
次に、CPU20は、データ転送装置30に対してステップS20で計算した行座標に対応する元画像の行(例えば、1行目)の画素データを画像メモリ10から読み出す処理及びデータ転送装置30がステップ42で読み出した1行分の画素データを画像メモリ10に書き込む処理の開始を指示する(図8のステップS22)。ここで、CPU20は、ステップS20で計算した行座標の情報をデータ転送装置20に送信する。 Next, the CPU 20 reads out the pixel data of the row (for example, the first row) of the original image corresponding to the row coordinate calculated in step S20 from the image memory 10 to the data transfer device 30, and the data transfer device 30 The start of the process of writing the pixel data for one row read in step 42 to the image memory 10 is instructed (step S22 in FIG. 8). Here, the CPU 20 transmits the information on the line coordinates calculated in step S20 to the data transfer device 20.
データ転送装置30は、CPU20による書き込み処理の開始指示(ステップS46でYesの場合)及び読み出し処理の開始指示(ステップS48でYesの場合)を受けて、まず、CPU20から受け取った行座標の情報(例えば1)が前回CPU20から受け取った行座標と一致するか否かを判断する(図9のステップS50)。 Upon receiving an instruction to start writing processing from the CPU 20 (in the case of Yes in step S46) and an instruction to start reading processing (in the case of Yes in step S48), the data transfer device 30 first receives row coordinate information (from the CPU 20). For example, it is determined whether or not 1) matches the line coordinates received from the CPU 20 last time (step S50 in FIG. 9).
2つの行座標が一致しない場合(ステップS50でNoの場合)は、データ転送装置30は、バッファメモリ50から画像メモリ10に1行分の画素データ(例えば0行目の画素データ)を転送して書き込む処理と画像メモリ10から1行分の画素データ(例えば1行目の画素データ)を読み出す処理を並行して行う(図9のステップS52)。例えば、図1で説明した縮小画像を生成する場合、データ転送制御部360は、バッファメモリ読み出しアドレスレジスタに前回画素データを読み出したバッファ(バッファ0)のベースアドレス(000H)をセットして、まずバッファメモリ40の000Hアドレスから補完画像の(0,0)座標の画素のRデータを読み出す処理を行う。さらに、データ転送制御部360は、画像メモリ書き込みアドレスレジスタに画像メモリ10の補完画像記憶領域14のベースアドレス(4000H)をセットし、バッファメモリ40から読み出した画素データ((0,0)座標の画素のRデータ)を画像メモリ10の補完画像記憶領域14(4000Hアドレス)に書き込む処理を行う。次に、データ転送制御部360は、バッファメモリ読み出しアドレスレジスタをインクリメントしてバッファメモリ40の0001Hアドレスから元画像の(0,0)座標の画素のGデータを読み出し、画像メモリ書き込みアドレスレジスタをインクリメントして、バッファメモリ40から読み出した画素データ((0,0)座標の画素のGデータ)を画像メモリ10の補完画像記憶領域14(4001Hアドレス)に書き込む処理を行う。同様に、データ転送制御部360は、補完画像の(0,0)座標の画素のBデータの転送処理を行う。以後、データ転送制御部360は、補完画像の(1,0)座標〜(29,0)座標の画素データ(RGBデータ)の転送処理を同様に行う。データ転送処理部360による画像メモリ10の補完画像記憶領域14への補完画像の0行目の画素データの書き込み処理と並行して、データ転送処理部350は、画像メモリ10の元画像記憶領域12からの元画像の1行目の画素データ(補完画像の1行目の画素データに対応する)の読み出し処理を行う。この読み出し処理はステップS42の読み出し処理と同様であるので説明を省略する。 If the two row coordinates do not match (No in step S50), the data transfer device 30 transfers one row of pixel data (for example, pixel data of the zeroth row) from the buffer memory 50 to the image memory 10. The processing for writing the pixel data and the processing for reading out pixel data for one row (for example, pixel data in the first row) from the image memory 10 are performed in parallel (step S52 in FIG. 9). For example, when generating the reduced image described with reference to FIG. 1, the data transfer control unit 360 sets the base address (000H) of the buffer (buffer 0) from which the previous pixel data was read in the buffer memory read address register, A process of reading R data of the pixel at the (0, 0) coordinate of the complementary image from the 000H address of the buffer memory 40 is performed. Further, the data transfer control unit 360 sets the base address (4000H) of the complementary image storage area 14 of the image memory 10 in the image memory write address register, and the pixel data ((0, 0) coordinates read from the buffer memory 40. The pixel R data) is written into the complementary image storage area 14 (4000H address) of the image memory 10. Next, the data transfer control unit 360 increments the buffer memory read address register to read the G data of the pixel at the (0, 0) coordinate of the original image from the 0001H address of the buffer memory 40, and increments the image memory write address register. Then, the pixel data read from the buffer memory 40 (G data of the pixel at the (0,0) coordinate) is written into the complementary image storage area 14 (4001H address) of the image memory 10. Similarly, the data transfer control unit 360 performs transfer processing of B data of the pixel at the (0, 0) coordinate of the complementary image. Thereafter, the data transfer control unit 360 similarly performs the transfer process of the pixel data (RGB data) of the (1,0) coordinate to the (29,0) coordinate of the complementary image. In parallel with the process of writing the pixel data of the 0th row of the complementary image to the complementary image storage area 14 of the image memory 10 by the data transfer processing part 360, the data transfer processing part 350 performs the original image storage area 12 of the image memory 10. Is read out from the pixel data of the first row of the original image (corresponding to the pixel data of the first row of the complementary image). Since this reading process is the same as the reading process in step S42, a description thereof will be omitted.
データ転送装置30は、補完画像の1行目の画素データの書き込み処理を終了すると割り込み発生部370によりCPU20に対して割り込み(書き込み終了割り込み)を発生するとともに、元画像の1行目の画素データの読み出し処理を終了すると割り込み発生部370によりCPU20に対して読み出し終了割り込みを発生し(図9のステップS54)、CPU20による次の書き込み処理の開始指示があるまで待機状態になる(図9のステップS46でNoの場合)。 When the data transfer device 30 finishes writing the pixel data in the first row of the complementary image, the interrupt generation unit 370 generates an interrupt (write end interrupt) to the CPU 20 and the pixel data in the first row of the original image. When the reading process ends, the interrupt generation unit 370 generates a reading end interrupt to the CPU 20 (step S54 in FIG. 9), and waits until the CPU 20 instructs to start the next writing process (step in FIG. 9). (No in S46).
ステップS50において今回の行座標が前回の行座標と一致する場合(ステップS50でYesの場合)は、今回の行座標による行の画素データは前回のステップS52の処理によりバッファメモリ40のバッファ0又はバッファ1にすでに格納されているため、データ転送装置30は読み出し処理を行う必要がない。例えば、図2で説明した拡大画像を最近傍法により生成する場合は、拡大画像の2行目と3行目の画素データはともに元画像の2行目に含まれる同一の画素データであり、拡大画像の3行目の画素データに対応する画素データの読み出し指示を受けた時には元画像の2行目の画素データはすでにバッファメモリ40(バッファ0)に格納されているので、画像メモリ10から読み出す必要がない。同様に、拡大画像の7行目と8行目の画素データはともに元画像の6行目に含まれる同一の画素データであり、拡大画像の8行目の画素データに対応する画素データの読み出し指示を受けた時には元画像の6行目の画素データはすでにバッファメモリ40(バッファ0)に格納されているので、画像メモリ10から読み出す必要がない。そこで、データ転送装置30は読み出し処理を行わずに、CPU20に対して読み出し終了割り込みを発生する(ステップS58)。 If the current line coordinate matches the previous line coordinate in step S50 (Yes in step S50), the pixel data of the line based on the current line coordinate is stored in the buffer 0 of the buffer memory 40 by the process in the previous step S52. Since the data is already stored in the buffer 1, the data transfer device 30 does not need to perform a read process. For example, when the enlarged image described in FIG. 2 is generated by the nearest neighbor method, the pixel data in the second and third rows of the enlarged image are the same pixel data included in the second row of the original image, When the pixel data read instruction corresponding to the pixel data of the third row of the enlarged image is received, the pixel data of the second row of the original image is already stored in the buffer memory 40 (buffer 0). There is no need to read. Similarly, the pixel data in the seventh and eighth rows of the enlarged image are the same pixel data included in the sixth row of the original image, and the pixel data corresponding to the pixel data in the eighth row of the enlarged image is read out. When the instruction is received, the pixel data of the sixth row of the original image is already stored in the buffer memory 40 (buffer 0), so there is no need to read out from the image memory 10. Therefore, the data transfer device 30 generates a read end interrupt to the CPU 20 without performing the read process (step S58).
そして、データ転送装置30は、補完画素の1行分の画素データの画像メモリ10への書き込み処理のみを行い(図9のステップS60)、書き込み処理終了後に書き込み終了割り込みを発生する(図9のステップS62)。ステップS60における書き込み処理及びステップS62における書き込み終了割り込みの発生処理は、ステップS52における書き込み処理及びステップS54における書き込み終了割り込みの発生処理と同様であるので説明を省略する。 Then, the data transfer device 30 performs only a process of writing pixel data for one row of complementary pixels to the image memory 10 (step S60 in FIG. 9), and generates a write end interrupt after the write process ends (in FIG. 9). Step S62). The write process in step S60 and the write end interrupt generation process in step S62 are the same as the write process in step S52 and the write end interrupt generation process in step S54, and a description thereof will be omitted.
さらに、データ転送装置30は、データ転送終了フラグがセットされているか否かを判断し(図9のステップS64)、データ転送終了フラグがセットされていない場合は(ステップS64でNoの場合)、CPU20による次の書き込み処理の開始指示があるまで待機状態になる(図9のステップS46でNoの場合)。 Further, the data transfer device 30 determines whether or not the data transfer end flag is set (step S64 in FIG. 9). If the data transfer end flag is not set (in the case of No in step S64), The CPU 20 is in a standby state until an instruction to start the next writing process is given (in the case of No in step S46 in FIG. 9).
次に、CPU20は、データ転送装置30による読み出し終了割り込みを検出し(図8のステップS24でYesの場合)、かつ、書き込み終了割り込みを検出すると(図8のステップS26でYesの場合)、補完画像の最終行に対応する元画像の行の行座標計算が終了したか否かを判断し(図8のステップS18)、終了していない場合(ステップS18でNoの場合)はステップS20〜S26の処理を繰り返す。これに対応して、データ転送装置30は、ステップS46〜S54の処理又はステップS46〜S64の処理を繰り返す。 Next, the CPU 20 detects a read end interrupt by the data transfer device 30 (Yes in step S24 of FIG. 8) and detects a write end interrupt (Yes in step S26 of FIG. 8). It is determined whether or not the line coordinate calculation of the line of the original image corresponding to the last line of the image has been completed (step S18 in FIG. 8). If not completed (No in step S18), steps S20 to S26 are performed. Repeat the process. In response to this, the data transfer device 30 repeats the processes of steps S46 to S54 or the processes of steps S46 to S64.
CPU20は、補完画像の最終行に対応する元画像の行の行座標計算を終了した場合(図8のステップS18でYesの場合)、データ転送装置30に対して、データ転送装置30がステップ52で読み出した1行分の画素データを画像メモリ10に書き込む処理の開始を指示する(図8のステップS28)。ここで、ステップS22と異なり、CPU20が読み出し処理の開始指示を行わないのは、補完画素の最終行に対応する元画像の行の画素データは前回のステップS52の処理によりバッファメモリ40のバッファ0又はバッファ1にすでに格納されているため、読み出し処理を行う必要がないからである。言うまでもないが、ステップS28においてCPU20はデータ転送装置30に対してダミーの読み出し処理の開始指示を行うようにしてもよい。 When the CPU 20 finishes calculating the row coordinates of the row of the original image corresponding to the last row of the complementary image (Yes in step S18 in FIG. 8), the data transfer device 30 performs step 52 on the data transfer device 30. The start of the process of writing the pixel data for one row read out in step 1 to the image memory 10 is instructed (step S28 in FIG. 8). Here, unlike step S22, the CPU 20 does not issue an instruction to start the reading process because the pixel data in the row of the original image corresponding to the last row of the complementary pixels is stored in the buffer 0 of the buffer memory 40 by the processing in the previous step S52. Alternatively, since it is already stored in the buffer 1, it is not necessary to perform a reading process. Needless to say, the CPU 20 may instruct the data transfer apparatus 30 to start a dummy read process in step S28.
データ転送装置30は、CPU20による書き込み処理の開始指示を受けるが(ステップS46でYesの場合)、読み出し処理の開始指示を受けていないので(ステップS48でNoの場合)、補完画素の最終行の画素データの画像メモリ10への書き込み処理の開始指示であると判断し、データ転送終了フラグをセットする(図9のステップS56)。 The data transfer device 30 receives an instruction to start the writing process by the CPU 20 (in the case of Yes in step S46), but does not receive an instruction to start the reading process (in the case of No in step S48), so It is determined that this is an instruction to start the pixel data writing process to the image memory 10, and a data transfer end flag is set (step S56 in FIG. 9).
そして、データ転送装置30は、補完画素の最終行の画素データの画像メモリ10への書き込み処理を行い(ステップS60)、書き込み処理終了後にCPU20に対して書き込み終了割り込みを発生し(ステップS62)、データ転送終了フラグがセットされていれば転送処理を終了する(ステップS64でYesの場合)。 Then, the data transfer device 30 performs a process of writing the pixel data of the last row of the complementary pixels to the image memory 10 (Step S60), and generates a write end interrupt to the CPU 20 after the end of the write process (Step S62). If the data transfer end flag is set, the transfer process ends (in the case of Yes in step S64).
最後に、CPU20は、データ転送装置30による書き込み終了割り込みを検出し(図8のステップS30でYesの場合)、処理を終了する。 Finally, the CPU 20 detects a write end interrupt by the data transfer device 30 (Yes in step S30 in FIG. 8), and ends the process.
このように最近傍法によれば補完座標を生成するための特別な計算を行う必要がないので、本実施の形態の画像処理装置1によれば、前回画像メモリ10の元画像記憶領域12から読み出してバッファメモリ40のバッファ0(又はバッファ1)に書き込んだ1行分の画素データをそのまま読み出して画像メモリ10の補完画像記憶領域14に書き込むことにより、簡単かつ高速に補完画像を生成することができる。 As described above, according to the nearest neighbor method, it is not necessary to perform a special calculation for generating the complementary coordinates. Therefore, according to the image processing apparatus 1 of the present embodiment, the previous image memory 10 stores the original image storage area 12. By reading the pixel data for one row read and written in the buffer 0 (or buffer 1) of the buffer memory 40 as it is and writing it in the complementary image storage area 14 of the image memory 10, a complementary image can be generated easily and at high speed. Can do.
また、本実施の形態の画像処理装置によれば、画像メモリ10に対する画素データの読み出し処理と書き込み処理をデータ転送装置30が行うので、CPU20がこれらの処理を行う必要がない。そのため、CPU20の負荷が大幅に低減し座標計算処理を高速に行うことができる。 Further, according to the image processing apparatus of the present embodiment, since the data transfer apparatus 30 performs the pixel data reading process and the writing process with respect to the image memory 10, it is not necessary for the CPU 20 to perform these processes. Therefore, the load on the CPU 20 is greatly reduced, and the coordinate calculation process can be performed at high speed.
また、本実施の形態の画像処理装置によれば、CPU20による座標計算処理とデータ転送装置30による画素データの転送処理(読み出し処理と書き込み処理)を並行して行うことができるので、高速な画像補完を実現することができる。 Further, according to the image processing apparatus of the present embodiment, the coordinate calculation process by the CPU 20 and the pixel data transfer process (reading process and writing process) by the data transfer apparatus 30 can be performed in parallel, so that a high-speed image can be obtained. Complement can be realized.
また、本実施の形態の画像処理装置によれば、CPU20は補完画像を構成する各画素データに対応する元画像を構成する各画素データの列座標及び行座標を計算し、データ転送装置30は、CPU20が計算した列座標及び行座標により特定される各画素データを画像メモリ10から読み出してバッファメモリ40に転送する。すなわち、縮小画像を生成する場合には元画像のすべての画素データを読み出すことなく、縮小画像を生成するために必要な画素データのみを画像メモリ10から読み出すことができる。従って、元画像の画素データの読み出し処理を高速化することができるので高速な画像補完を実現することができる。 Further, according to the image processing apparatus of the present embodiment, the CPU 20 calculates the column coordinates and row coordinates of each pixel data constituting the original image corresponding to each pixel data constituting the complementary image, and the data transfer apparatus 30 Each pixel data specified by the column coordinates and the row coordinates calculated by the CPU 20 is read from the image memory 10 and transferred to the buffer memory 40. That is, when generating a reduced image, only pixel data necessary for generating a reduced image can be read from the image memory 10 without reading all pixel data of the original image. Therefore, the pixel data of the original image can be read out at high speed, so that high-speed image complementation can be realized.
また、本実施の形態の画像処理装置によれば、補完画像を構成する1行分の画素データに対応する元画像を構成する画素データと同一の画素データが前回の読み出し処理によりすでにバッファメモリ40に格納されている場合には読み出し処理を行わないようにすることができる。すなわち、不要な読み出し処理を省くことにより高速な画像補完を実現することができる。 Further, according to the image processing apparatus of the present embodiment, the same pixel data as the pixel data constituting the original image corresponding to the pixel data for one row constituting the complementary image has already been obtained in the buffer memory 40 by the previous reading process. In the case where it is stored in the memory, it is possible to prevent the reading process from being performed. That is, high-speed image complementation can be realized by omitting unnecessary read processing.
また、本実施の形態の画像処理装置によれば、画像メモリ10から読み出した画素データを、画像メモリ10に転送する画素データを格納するバッファと常に異なるバッファに格納することができる。すなわち、データ転送装置30は、書き込み処理において必要となる画素データを上書きすることなく読み出し処理を並行して行うことができる。従って、高速な画像補完を実現することができる。 Further, according to the image processing apparatus of the present embodiment, the pixel data read from the image memory 10 can be stored in a buffer that is always different from the buffer that stores the pixel data to be transferred to the image memory 10. That is, the data transfer device 30 can perform the reading process in parallel without overwriting the pixel data required in the writing process. Therefore, high-speed image complementation can be realized.
また、本実施の形態の画像処理装置によれば、CPU20があらかじめ列座標を計算して座標メモリ50に記憶させておくことができる。すなわち、データ転送装置30は、座標メモリ50に格納された情報に基づいて、必要な画素の読み出し処理を行うことができる。従って、CPU20は行座標の計算のみを行えばよくなるためCP20の負荷を低減することができるので、高速な画像補完を実現することができる。 Further, according to the image processing apparatus of the present embodiment, the CPU 20 can calculate the column coordinates in advance and store them in the coordinate memory 50. That is, the data transfer device 30 can perform a necessary pixel readout process based on the information stored in the coordinate memory 50. Accordingly, since the CPU 20 only needs to calculate the line coordinates, the load on the CP 20 can be reduced, so that high-speed image complementation can be realized.
図12はCPU20の処理のフローチャートの第2の例を示す図であり、図13はこれに対応するデータ転送装置30の処理のフローチャートの第2の例を示す図である。図12、図13は、座標メモリ50には列座標特定情報記憶領域52に加えて行座標特定情報記憶領域54も割り当てられている場合のフローチャートである。 FIG. 12 is a diagram illustrating a second example of a flowchart of processing of the CPU 20, and FIG. 13 is a diagram illustrating a second example of a flowchart of processing of the data transfer apparatus 30 corresponding to this. 12 and 13 are flowcharts in the case where the row coordinate specifying information storage area 54 is also assigned to the coordinate memory 50 in addition to the column coordinate specifying information storage area 52.
まず、CPU20は、補完画像の各行に含まれる画素に対応する元画像の画素の列座標を計算する(図12のステップS70)。ステップS70の処理は図8のステップS10の処理と同様であるので説明を省略する。 First, the CPU 20 calculates the column coordinates of the pixels of the original image corresponding to the pixels included in each row of the complementary image (step S70 in FIG. 12). The processing in step S70 is the same as the processing in step S10 in FIG.
次に、CPU20は、補完画像の各列に含まれる画素に対応する元画像の画素の行座標を計算する(図12のステップS70)。ステップS70の処理は図8のステップS10と同様の処理であるので説明を省略する。例えば、図1で説明した縮小画像を最近傍法により生成する場合は、行座標の計算結果として0、1、3、4、5、7、8、・・・、39が得られる。また、例えば、図2で説明した拡大画像を最近傍法により生成する場合は、行座標の計算結果として0、1、2、2、3、4、5、6、6、7、8、・・・、39の列が得られる。そして、CPU20はこの行座標を特定するための行座標特定情報を座標メモリ50の行座標特定情報記憶領域54に書き込む。 Next, the CPU 20 calculates the row coordinates of the pixels of the original image corresponding to the pixels included in each column of the complementary image (step S70 in FIG. 12). The processing in step S70 is the same as that in step S10 in FIG. For example, when the reduced image described in FIG. 1 is generated by the nearest neighbor method, 0, 1, 3, 4, 5, 7, 8,. For example, when the enlarged image described with reference to FIG. 2 is generated by the nearest neighbor method, 0, 1, 2, 2, 3, 4, 5, 6, 6, 7, 8,. .., 39 rows are obtained. Then, the CPU 20 writes the line coordinate specifying information for specifying the line coordinates in the line coordinate specifying information storage area 54 of the coordinate memory 50.
次に、CPU20は、データ転送装置30に対して補完画像を生成するために必要な画素データの転送処理の開始を指示する(図12のステップS74)。 Next, the CPU 20 instructs the data transfer device 30 to start transfer processing of pixel data necessary for generating a complementary image (step S74 in FIG. 12).
データ転送装置30は、CPU20による転送処理の開始指示があるまで待機状態にあり(図13のステップS80でNoの場合)、転送処理の開始指示があると(ステップS80でYesの場合)、座標メモリ50に格納された列座標特定情報及び行座標特定情報に基づいて、画像メモリ10から1行分の画素データ(例えば0行目の画素データ)を読み出す処理を行う(図13のステップS82)。例えば、図1で説明した縮小画像を生成する場合、CPU20のステップS70及びS72における処理により座標メモリ50の列座標特定情報記憶領域52及び行座標特定情報記憶領域54の先頭からともに0、1、3、4、5、7、8、・・・、39の列座標が格納されているので、データ転送制御部330は、座標メモリ読み出しアドレスレジスタに列座標特定情報記憶領域52のベースアドレス(000H)をセットして、座標メモリ50の000Hアドレスから列座標0を読み出す処理を行う。さらに、データ転送制御部330は、座標メモリ読み出しアドレスレジスタに行座標特定情報記憶領域54のベースアドレス(800H)をセットして、座標メモリ50の800Hアドレスから行座標0を読み出す処理を行う。アドレス計算部340は、列座標0及び行座標0から画像メモリ10の読み出しアドレスを計算し、データ転送制御部350は、アドレス計算部340が計算したアドレス値(0000H)を画像メモリ読み出しアドレスレジスタにセットして元画像の(0,0)座標の画素のRデータを読み出す処理を行う。以降は、図9のステップS42の処理において説明した処理と同様の処理により1行分の画素データの読み出し処理を終了する。 The data transfer device 30 is in a standby state until a transfer processing start instruction is issued by the CPU 20 (in the case of No in step S80 in FIG. 13), and when there is a transfer processing start instruction (in the case of Yes in step S80), coordinates are set. Based on the column coordinate specifying information and the row coordinate specifying information stored in the memory 50, a process of reading pixel data for one row (for example, pixel data on the 0th row) from the image memory 10 is performed (step S82 in FIG. 13). . For example, when the reduced image described with reference to FIG. 1 is generated, the CPU 20 performs the processing in steps S70 and S72 from the beginning of the column coordinate specifying information storage area 52 and the row coordinate specifying information storage area 54 of the coordinate memory 50 together. Since the column coordinates of 3, 4, 5, 7, 8,..., 39 are stored, the data transfer control unit 330 stores the base address (000H) of the column coordinate specifying information storage area 52 in the coordinate memory read address register. ) Is set, and the process of reading the column coordinate 0 from the 000H address of the coordinate memory 50 is performed. Furthermore, the data transfer control unit 330 sets the base address (800H) of the row coordinate specifying information storage area 54 in the coordinate memory read address register, and performs a process of reading the row coordinate 0 from the 800H address of the coordinate memory 50. The address calculation unit 340 calculates the read address of the image memory 10 from the column coordinate 0 and the row coordinate 0, and the data transfer control unit 350 stores the address value (0000H) calculated by the address calculation unit 340 in the image memory read address register. A process of reading the R data of the pixel at the (0, 0) coordinate of the original image is performed. Thereafter, the pixel data reading process for one row is completed by the same process as the process described in step S42 of FIG.
次に、データ転送装置30は、補完画像の最終行の画素データの画像メモリ10への転送処理(書き込み処理)か否かを判断する(図13のステップS84)。データ転送装置30は、最終行の画素データの転送処理が終了していない場合(ステップS84でNoの場合)は、座標メモリ50から行座標を読み出し、前回の行座標と一致するか否かを判断する(図13のステップS86)。 Next, the data transfer device 30 determines whether or not it is a transfer process (write process) of the pixel data of the last row of the complementary image to the image memory 10 (step S84 in FIG. 13). The data transfer device 30 reads the row coordinates from the coordinate memory 50 when the transfer processing of the pixel data of the last row is not completed (in the case of No in step S84), and determines whether or not it matches the previous row coordinates. Judgment is made (step S86 in FIG. 13).
2つの行座標が一致しない場合(ステップS86でNoの場合)は、データ転送装置30は、バッファメモリ50から画像メモリ10に1行分の画素データ(例えば0行目の画素データ)を転送して書き込む処理と画像メモリ10から1行分の画素データ(例えば1行目の画素データ)を読み出す処理を並行して行う(図13のステップS88)。ステップS88における書き込み処理及び読み出し処理は、図9のステップS52における書き込み処理及び図13のステップS82における読み出し処理と同様であるので説明を省略する。 If the two row coordinates do not match (No in step S86), the data transfer device 30 transfers pixel data for one row (for example, pixel data on the 0th row) from the buffer memory 50 to the image memory 10. The writing process and the reading process of pixel data for one row (for example, the pixel data of the first row) from the image memory 10 are performed in parallel (step S88 in FIG. 13). The writing process and reading process in step S88 are the same as the writing process in step S52 of FIG. 9 and the reading process in step S82 of FIG.
ステップS86において今回の行座標が前回の行座標と一致する場合(ステップS86でYesの場合)は、今回の行座標による行の画素データは前回のステップS88の処理によりバッファメモリ40のバッファ0又はバッファ1にすでに格納されているため、データ転送装置30は読み出し処理を行う必要がない。そのため、データ転送装置30は、補完画素の1行分の画素データの画像メモリ10への書き込み処理のみを行う(図13のステップS92)。ステップS92における書き込み処理は、図9のステップS52における書き込み処理と同様であるので説明を省略する。 If the current line coordinate matches the previous line coordinate in Step S86 (Yes in Step S86), the pixel data of the line based on the current line coordinate is stored in the buffer 0 or the buffer memory 40 in the previous step S88. Since the data is already stored in the buffer 1, the data transfer device 30 does not need to perform a read process. Therefore, the data transfer device 30 performs only the process of writing pixel data for one row of complementary pixels to the image memory 10 (step S92 in FIG. 13). The writing process in step S92 is the same as the writing process in step S52 of FIG.
さらに、データ転送装置30は、データ転送終了フラグがセットされているか否かを判断し(図13のステップS94)、データ転送終了フラグがセットされていない場合は(ステップS94でNoの場合)、ステップS84〜S88の処理又はステップS84〜S94の処理を繰り返す。データ転送装置30は、補完画像の最終行の画素データの画像メモリ10への転送処理(書き込み処理)である場合には(図13のステップS84でYesの場合)、データ転送終了フラグをセットする(図13のステップS90)。 Further, the data transfer device 30 determines whether or not the data transfer end flag is set (step S94 in FIG. 13). If the data transfer end flag is not set (in the case of No in step S94), Steps S84 to S88 or steps S84 to S94 are repeated. The data transfer device 30 sets a data transfer end flag when it is the transfer process (write process) of the pixel data of the last row of the complementary image to the image memory 10 (Yes in step S84 in FIG. 13). (Step S90 in FIG. 13).
そして、データ転送装置30は、補完画素の最終行の画素データの画像メモリ10への書き込み処理を行い(ステップS92)、書き込み処理終了後にデータ転送終了フラグがセットされていれば(ステップS94でYesの場合)転送処理を終了し、CPU20に対して転送終了割り込みを発生する(図13のステップS96)。 Then, the data transfer device 30 performs a process of writing the pixel data of the last row of the complementary pixels to the image memory 10 (step S92), and if the data transfer end flag is set after the write process ends (Yes in step S94). In this case, the transfer process is terminated, and a transfer end interrupt is generated for the CPU 20 (step S96 in FIG. 13).
最後に、CPU20は、データ転送装置30による転送終了割り込みを検出し(図12のステップS76でYesの場合)、処理を終了する。 Finally, the CPU 20 detects a transfer end interrupt by the data transfer device 30 (Yes in step S76 in FIG. 12), and ends the process.
本実施の形態の画像処理装置によれば、CPU20があらかじめ行座標と列座標を計算して座標メモリ50に記憶させておくことができる。すなわち、データ転送装置30は、座標メモリ50に格納された情報に基づいて、CPU20から独立して必要な画素の読み出し処理を行うことができる。従って、CPU20は、データ転送装置30によるデータ転送処理の間、座標計算を行う必要がなくCPU20の負荷を大幅に低減することができる。 According to the image processing apparatus of the present embodiment, the CPU 20 can calculate the row coordinates and the column coordinates in advance and store them in the coordinate memory 50. That is, the data transfer device 30 can perform necessary pixel readout processing independently of the CPU 20 based on the information stored in the coordinate memory 50. Therefore, the CPU 20 does not need to perform coordinate calculation during the data transfer process by the data transfer device 30, and the load on the CPU 20 can be greatly reduced.
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。 In addition, this invention is not limited to this embodiment, A various deformation | transformation implementation is possible within the range of the summary of this invention.
例えば、図8のフローチャートにおいてステップS20で行座標の計算を行っているが、ステップS12ですべての行座標を計算してしまってもよい。その場合は、ステップS18で最終行の行座標計算が終了したか否かを判断する代わりに、最終行の画素データの読み出し処理が終了したか否か(読み出し終了割り込みを検出したか否か)を判断するようにすればよい。 For example, although the line coordinates are calculated in step S20 in the flowchart of FIG. 8, all the line coordinates may be calculated in step S12. In this case, instead of determining whether or not the line coordinate calculation for the last line has ended in step S18, whether or not the pixel data reading process for the last line has ended (whether or not a read end interrupt has been detected). Judgment should be made.
また、例えば、図9のフローチャートにおいて書き込み終了割り込みと読み出し終了割り込みの2種類の割り込みを発生させているが、1種類の割り込みのみ発生させるようにしてもよい。その場合でも、CPU20は、読み出し処理の開始指示のみ、書き込み処理の開始指示のみ、又は読み出し処理と書き込み処理の両方の開始指示のいずれを行ったかにより割り込みの種類を判断して適切な処理を選択することができる。 For example, in the flowchart of FIG. 9, two types of interrupts, a write end interrupt and a read end interrupt, are generated, but only one type of interrupt may be generated. Even in that case, the CPU 20 selects the appropriate process by judging the type of interrupt depending on whether only the read process start instruction, only the write process start instruction, or both the read process and write process start instructions are issued. can do.
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。 The present invention includes configurations that are substantially the same as the configurations described in the embodiments (for example, configurations that have the same functions, methods, and results, or configurations that have the same objects and effects). In addition, the invention includes a configuration in which a non-essential part of the configuration described in the embodiment is replaced. In addition, the present invention includes a configuration that exhibits the same operational effects as the configuration described in the embodiment or a configuration that can achieve the same object. Further, the invention includes a configuration in which a known technique is added to the configuration described in the embodiment.
1 画像処理装置、10 画像メモリ、12 元画像記憶領域、14 補完画像記憶領域、20 CPU、30 データ転送装置、40 バッファメモリ、42 バッファ0、44 バッファ1、50 座標メモリ、52 列座標特定情報記憶領域、54 行座標特定情報記憶領域、60 バス、100 元画像、110 縮小画像、120 拡大画像、310 制御レジスタ、320 制御レジスタインターフェース部、330 データ転送制御部、340 アドレス計算部、350 データ転送制御部、360 データ転送制御部、370 割り込み発生部 1 image processing device, 10 image memory, 12 original image storage area, 14 complementary image storage area, 20 CPU, 30 data transfer device, 40 buffer memory, 42 buffer 0, 44 buffer 1, 50 coordinate memory, 52 column coordinate specifying information Storage area, 54 line coordinate specific information storage area, 60 bus, 100 original image, 110 reduced image, 120 enlarged image, 310 control register, 320 control register interface unit, 330 data transfer control unit, 340 address calculation unit, 350 data transfer Control unit, 360 Data transfer control unit, 370 Interrupt generation unit
次に、CPU20は、補完画像の各列に含まれる画素に対応する元画像の画素の行座標を計算する(図12のステップS72)。ステップS72の処理は図8のステップS10と同様の処理であるので説明を省略する。例えば、図1で説明した縮小画像を最近傍法により生成する場合は、行座標の計算結果として0、1、3、4、5、7、8、・・・、39が得られる。また、例えば、図2で説明した拡大画像を最近傍法により生成する場合は、行座標の計算結果として0、1、2、2、3、4、5、6、6、7、8、・・・、39の列が得られる。そして、CPU20はこの行座標を特定するための行座標特定情報を座標メモリ50の行座標特定情報記憶領域54に書き込む。 Next, the CPU 20 calculates the row coordinates of the pixels of the original image corresponding to the pixels included in each column of the complementary image (step S 72 in FIG. 12). The process of step S 72 is omitted because it is the same process as in step S10 in FIG. 8. For example, when the reduced image described in FIG. 1 is generated by the nearest neighbor method, 0, 1, 3, 4, 5, 7, 8,. For example, when the enlarged image described with reference to FIG. 2 is generated by the nearest neighbor method, 0, 1, 2, 2, 3, 4, 5, 6, 6, 7, 8,. .., 39 rows are obtained. Then, the CPU 20 writes the line coordinate specifying information for specifying the line coordinates in the line coordinate specifying information storage area 54 of the coordinate memory 50.
Claims (8)
前記第1の画像を構成する画素データ及び前記第2の画像を構成する画素データを記憶する第1の記憶部と、
第2の記憶部と、
所定の画像補完方法に基づいて、前記第2の画像を構成する各画素データに対応する前記第1の画像を構成する各画素データの列方向の座標及び行方向の座標を計算する処理を行う計算処理部と、
前記列方向の座標及び前記行方向の座標により特定される各画素データを第1の記憶部から読み出して前記第2の記憶部に転送する読み出し処理と、前記第2の記憶部に格納された画素データを前記第2の画像を構成する画素データとして前記第1の記憶部に転送する書き込み処理を行うデータ転送処理部と、を含むことを特徴とする画像処理装置。 An image processing apparatus that performs a process of generating a second image by reducing or enlarging a first image,
A first storage unit for storing pixel data constituting the first image and pixel data constituting the second image;
A second storage unit;
Based on a predetermined image complementing method, a process of calculating coordinates in the column direction and coordinates in the row direction of each pixel data constituting the first image corresponding to each pixel data constituting the second image is performed. A calculation processing unit;
Read processing for reading each pixel data specified by the coordinates in the column direction and the coordinates in the row direction from the first storage unit and transferring them to the second storage unit, and stored in the second storage unit An image processing apparatus comprising: a data transfer processing unit that performs a writing process of transferring pixel data to the first storage unit as pixel data constituting the second image.
前記データ転送処理部は、
前記行方向の座標が同一の画素データ毎に前記読み出し処理及び前記書き込み処理を行うことを特徴とする画像処理装置。 In claim 1,
The data transfer processing unit
An image processing apparatus that performs the reading process and the writing process for each pixel data having the same coordinate in the row direction.
前記計算処理部は、
前記データ転送処理部が前記行方向の座標が同一の画素データの読み出し処理を終了する毎に次回の読み出し処理の対象となる画素データの行方向の座標を特定するための情報を前記データ転送処理部に送信し、
前記データ転送処理部は、
前記行方向の座標を特定するための情報に基づいて前記読み出し処理を行うことを特徴とする画像処理装置。 In claim 2,
The calculation processing unit
Each time the data transfer processing unit finishes reading the pixel data having the same row-direction coordinate, information for specifying the row-direction coordinate of the pixel data to be subjected to the next read process is the data transfer process. Send to the department,
The data transfer processing unit
An image processing apparatus that performs the reading process based on information for specifying coordinates in the row direction.
前記データ転送処理部は、
読み出し処理の対象となる前記行方向の座標が同一の画素データの当該行方向の座標が前回読み出し処理の対象であった画素データの行方向の座標と同じである場合には、前記読み出し処理を行わずに前記書き込み処理を行うことを特徴とする画像処理装置。 In claim 2 or 3,
The data transfer processing unit
If the coordinates in the row direction of the pixel data having the same row direction coordinates to be read out are the same as the coordinates in the row direction of the pixel data to be read out last time, the read processing is performed. An image processing apparatus that performs the writing process without performing the process.
前記第2の記憶部は、
前記データ転送処理部が読み出した前記行方向の座標が同一の画素データを格納するためのバッファを2つ以上含み、
前記データ転送処理部は、
前記読み出し処理において、読み出し処理の対象となる前記行方向の座標が同一の画素データの当該行方向の座標が前回読み出し処理の対象であった画素データの行方向の座標と異なる場合には、前記読み出し処理の対象となる前記行方向の座標が同一の画素データを、前回読み出し処理の対象であった画素データが格納されているバッファと異なるバッファに転送し、前記書き込み処理において前回読み出し処理の対象であった画素データを前記第1の記憶部に転送することを特徴とする画像処理装置。 In any of claims 2 to 4,
The second storage unit is
Including two or more buffers for storing pixel data having the same row-direction coordinates read by the data transfer processing unit;
The data transfer processing unit
In the readout process, when the row direction coordinates of the pixel data having the same row direction coordinates that are the targets of the readout process are different from the row direction coordinates of the pixel data that was the target of the previous readout process, The pixel data having the same row-direction coordinates to be read is transferred to a buffer that is different from the buffer in which the pixel data that was the previous read process is stored, and the previous read process target in the write process The image processing apparatus is characterized in that the pixel data that has been obtained is transferred to the first storage unit.
第3の記憶部を含み、
前記計算処理部は、
前記列方向の座標を特定するための情報を前記第3の記憶部に格納し、
前記データ転送処理部は、
前記第3の記憶部に格納された前記列方向の座標を特定するための情報に基づいて前記読み出し処理を行うことを特徴とする画像処理装置。 In any one of Claims 1 thru | or 5,
Including a third storage unit;
The calculation processing unit
Information for specifying the coordinates in the column direction is stored in the third storage unit,
The data transfer processing unit
An image processing apparatus that performs the reading process based on information for specifying coordinates in the column direction stored in the third storage unit.
前記計算処理部は、
前記行方向の座標を特定するための情報を前記第3の記憶部に格納し、
前記データ転送処理部は、
前記第3の記憶部に格納された前記行方向の座標を特定するための情報に基づいて前記読み出し処理を行うことを特徴とする画像処理装置。 In claim 6,
The calculation processing unit
Storing information for specifying the coordinates in the row direction in the third storage unit;
The data transfer processing unit
An image processing apparatus that performs the reading process based on information for specifying the row-direction coordinates stored in the third storage unit.
前記画像補完方法は最近傍法であることを特徴とする画像処理装置。 In any one of Claims 1 thru | or 7,
An image processing apparatus, wherein the image complementing method is a nearest neighbor method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011214146A JP5327482B2 (en) | 2011-09-29 | 2011-09-29 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011214146A JP5327482B2 (en) | 2011-09-29 | 2011-09-29 | Image processing apparatus and image processing method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007304988A Division JP4835872B2 (en) | 2007-11-26 | 2007-11-26 | Image processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011259511A true JP2011259511A (en) | 2011-12-22 |
JP5327482B2 JP5327482B2 (en) | 2013-10-30 |
Family
ID=45475076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011214146A Active JP5327482B2 (en) | 2011-09-29 | 2011-09-29 | Image processing apparatus and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5327482B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111325333A (en) * | 2020-03-02 | 2020-06-23 | Oppo广东移动通信有限公司 | Data processing method, neural network processor, storage medium, and electronic device |
CN111783780A (en) * | 2019-11-18 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | Image processing method, image processing apparatus, and computer-readable storage medium |
CN111833232A (en) * | 2019-04-18 | 2020-10-27 | 杭州海康威视数字技术股份有限公司 | Image processing device |
JP7418340B2 (en) | 2018-03-13 | 2024-01-19 | マジック リープ, インコーポレイテッド | Image augmented depth sensing using machine learning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02302171A (en) * | 1989-05-17 | 1990-12-14 | Kyocera Corp | Picture processing system and its apparatus |
JPH03236097A (en) * | 1990-02-14 | 1991-10-22 | Hitachi Ltd | Method and device for image display |
-
2011
- 2011-09-29 JP JP2011214146A patent/JP5327482B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02302171A (en) * | 1989-05-17 | 1990-12-14 | Kyocera Corp | Picture processing system and its apparatus |
JPH03236097A (en) * | 1990-02-14 | 1991-10-22 | Hitachi Ltd | Method and device for image display |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7418340B2 (en) | 2018-03-13 | 2024-01-19 | マジック リープ, インコーポレイテッド | Image augmented depth sensing using machine learning |
CN111833232A (en) * | 2019-04-18 | 2020-10-27 | 杭州海康威视数字技术股份有限公司 | Image processing device |
CN111783780A (en) * | 2019-11-18 | 2020-10-16 | 北京沃东天骏信息技术有限公司 | Image processing method, image processing apparatus, and computer-readable storage medium |
CN111783780B (en) * | 2019-11-18 | 2024-03-05 | 北京沃东天骏信息技术有限公司 | Image processing method, device and computer readable storage medium |
CN111325333A (en) * | 2020-03-02 | 2020-06-23 | Oppo广东移动通信有限公司 | Data processing method, neural network processor, storage medium, and electronic device |
Also Published As
Publication number | Publication date |
---|---|
JP5327482B2 (en) | 2013-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI430655B (en) | Apparatus and method for displaying a warped version of a source image | |
JP5593060B2 (en) | Image processing apparatus and method of operating image processing apparatus | |
US8904069B2 (en) | Data processing apparatus and image processing apparatus | |
JP2001101396A (en) | Processor and method for correcting image distortion and medium with program performing image distortion correction processing stored therein | |
JP2002328881A (en) | Image processor, image processing method and portable video equipment | |
JP5327482B2 (en) | Image processing apparatus and image processing method | |
CN111984189B (en) | Neural network computing device, data reading method, data storage method and related equipment | |
US20160070642A1 (en) | Memory control and data processing using memory address generation based on differential addresses | |
JP6414388B2 (en) | Accelerator circuit and image processing apparatus | |
US11409655B2 (en) | Interface apparatus, data processing apparatus, cache control method, and medium | |
JP4835872B2 (en) | Image processing device | |
JP2021012596A (en) | Calculation processing device and calculation processing method | |
JP2013213928A (en) | Image processing device and control method of the same | |
JP2010108284A (en) | Image processing processor | |
US20210004667A1 (en) | Operation processing apparatus and operation processing method | |
US20100030978A1 (en) | Memory controller, memory control method, and image processing device | |
JP4790545B2 (en) | Image processing apparatus and image processing method | |
TWI756771B (en) | Image transformation method | |
JP2008102599A (en) | Processor | |
CN104915923A (en) | Adaptive scaling method of images with different resolutions | |
JP2002354400A (en) | Data storing/reading method and image data recording device using the same method and image correcting device using the same device | |
CN110072032B (en) | Image processing apparatus | |
JP2017228849A (en) | Image processing apparatus, imaging device, control method and program | |
US12047698B2 (en) | Image processing device and image processing method | |
US20130286762A1 (en) | Memory control apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111028 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130606 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130626 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5327482 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |