JP5597272B2 - Arithmetic method, arithmetic device, image processing device, and program - Google Patents

Arithmetic method, arithmetic device, image processing device, and program Download PDF

Info

Publication number
JP5597272B2
JP5597272B2 JP2013048475A JP2013048475A JP5597272B2 JP 5597272 B2 JP5597272 B2 JP 5597272B2 JP 2013048475 A JP2013048475 A JP 2013048475A JP 2013048475 A JP2013048475 A JP 2013048475A JP 5597272 B2 JP5597272 B2 JP 5597272B2
Authority
JP
Japan
Prior art keywords
data
image processing
image data
band
pixel
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.)
Active
Application number
JP2013048475A
Other languages
Japanese (ja)
Other versions
JP2013109784A (en
Inventor
忠幸 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013048475A priority Critical patent/JP5597272B2/en
Publication of JP2013109784A publication Critical patent/JP2013109784A/en
Application granted granted Critical
Publication of JP5597272B2 publication Critical patent/JP5597272B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、演算方法、演算装置、画像処理装置およびプログラムに関するものである。特に、本発明は、画像処理のためにメインメモリの複数の画像データや補正データなどを分割して取り扱い、必要なデータを逐次的に読み出して画像処理や補正処理を行なう場合に、好適に用いられるものである。   The present invention relates to a calculation method, a calculation device, an image processing device, and a program. In particular, the present invention is preferably used when a plurality of image data and correction data in the main memory are divided and handled for image processing, and necessary data are sequentially read out to perform image processing and correction processing. It is

従来から、画像形成を行うに際し、空間フィルタ処理などの局所(近傍)画像処理が行なわれている。この局所画像処理は、処理対象となる画素を含む空間フィルタ領域に含まれるすべての画素を用いて、何らかの演算を行なう画像処理のことである。なお、以下の説明では、処理対象となる画素を注目画素と略称する。   Conventionally, when image formation is performed, local (neighboring) image processing such as spatial filter processing has been performed. This local image processing is image processing in which some calculation is performed using all the pixels included in the spatial filter region including the pixel to be processed. In the following description, a pixel to be processed is abbreviated as a target pixel.

例えば、図11のデジタル画像データ300に対して、エッジ強調処理やぼかし処理といった空間フィルタ処理が施される。このような局所画像処理の従来技術として、デジタル画像データを領域ごとに分割し、分割された別々の領域ごとに局所画像処理を行なうという技術がある(特許文献1〜4を参照)。一般に、かかる技術では、図11の(a)〜(d)に示されるように、1枚のデジタル画像データ300の全体が帯状(短冊状)に分割され、逐次的に領域毎に各種の画像処理が行なわれる。この分割された細長い領域をバンド領域と呼び、バンド領域が展開される記憶領域をバンドメモリと呼び、画像を分割する行為をバンド分割と呼ぶ。バンドメモリは、メインメモリ内に記憶領域として確保されると決まっているわけではなく、システム上のどの記憶領域に確保してもよいが、ここでは、説明を簡潔にするためにバンドメモリをメインメモリ内に確保する場合を例に挙げて説明する。   For example, spatial filter processing such as edge enhancement processing and blurring processing is performed on the digital image data 300 in FIG. As a conventional technique of such local image processing, there is a technique in which digital image data is divided for each area, and local image processing is performed for each divided area (see Patent Documents 1 to 4). In general, in this technique, as shown in FIGS. 11A to 11D, the entire digital image data 300 is divided into strips (strips), and various images are sequentially obtained for each region. Processing is performed. This elongated and divided area is called a band area, a storage area where the band area is expanded is called a band memory, and an action of dividing an image is called a band division. The band memory is not necessarily reserved as a storage area in the main memory, and may be allocated in any storage area on the system. However, for the sake of brevity, the band memory is used as the main memory. An example of securing in the memory will be described.

なお、デジタル画像データの座標系(主走査方向−副走査方向)は、長さ方向と高さ方向という新たな座標系(バンド領域座標系)を定義し、バンド領域を(長さBdl×高さBdh)で表現する。副走査方向に画像をバンド分割する場合は、図11の(e)に示すように、バンド領域を(長さBdl×高さBdh)で表現する。一方、主走査方向に画像をバンド分割する場合は、図12の(a)〜(d)に示すように、バンド領域を(長さBdl×高さBdh)で表現する。   The coordinate system (main scanning direction-sub-scanning direction) of the digital image data defines a new coordinate system (band area coordinate system) of the length direction and the height direction, and the band area is expressed by (length Bdl × height). Bdh). When the image is band-divided in the sub-scanning direction, the band region is expressed by (length Bdl × height Bdh) as shown in FIG. On the other hand, when the image is band-divided in the main scanning direction, the band region is expressed by (length Bdl × height Bdh) as shown in FIGS.

すなわち、バンド領域の長さBdlは、必ずデジタル画像データの主走査方向の幅もしくは副走査方向の高さの何れかの値となり、バンドの高さは任意の値となる。   That is, the length Bdl of the band region is always a value of the width in the main scanning direction or the height in the sub scanning direction of the digital image data, and the height of the band is an arbitrary value.

バンド処理について、図11の例でもう少し詳しく説明する。なお、図12においても基本的に同様であるので、重複した説明はさける。   The band processing will be described in more detail with reference to the example of FIG. In addition, since it is fundamentally the same also in FIG. 12, the overlapping description is avoided.

まず、図11の(a)に示す第1のバンド領域301を、メインメモリ上のバンドメモリに展開して画像処理を行なう。次に、図11の(b)に示す第2のバンド領域302を第1のバンド領域301が展開されたバンドメモリに上書き展開して画像処理を行なう。さらに、図11の(c)に示す第3のバンド領域303を第2のバンド領域302が展開されたバンドメモリに上書き展開して画像処理を行なう。最後に、図11の(d)に示す第4のバンド領域304を第3のバンド領域303が展開されたバンドメモリに上書き展開して画像処理を行なう。 図11の(a)〜(d)で明らかなように、バンド領域301〜304の長さは同じであるが、高さは同じである必要性は無い。メインメモリに確保される記憶領域であるところのバンドメモリの高さは、高さ方向のサイズが最も大きいバンド領域(図11の場合、第1〜第3のバンド領域301〜303)によって決定される。図12の場合も、バンド分割が3つであるのみで、図11と同様である。   First, the first band region 301 shown in FIG. 11A is developed in the band memory on the main memory to perform image processing. Next, the second band region 302 shown in FIG. 11B is overwritten and expanded on the band memory in which the first band region 301 is expanded, and image processing is performed. Further, the third band area 303 shown in FIG. 11C is overwritten and expanded on the band memory where the second band area 302 is expanded, and image processing is performed. Finally, the fourth band area 304 shown in FIG. 11 (d) is overwritten on the band memory in which the third band area 303 is expanded, and image processing is performed. As is clear from FIGS. 11A to 11D, the band regions 301 to 304 have the same length, but the heights need not be the same. The height of the band memory which is a storage area secured in the main memory is determined by the band area having the largest size in the height direction (in the case of FIG. 11, the first to third band areas 301 to 303). The 12 is the same as FIG. 11 except that there are only three band divisions.

かかる技術では、各バンド領域間で隙間なく局所画像処理を行なうために、各バンド領域が、夫々隣接する領域との境界で一部分が互いに重なり合うように工夫している。また、特許文献4では、各バンド領域の高さと同一の方向に1画素ずつ余分に画素を走査して、局所画像処理に必要な注目画素を保持する遅延メモリの容量を各バンド領域の高さの大きさで規定することで、この遅延メモリの省メモリ化を実現している。   In such a technique, in order to perform local image processing without a gap between the band regions, each band region is devised so that a part thereof overlaps each other at a boundary with an adjacent region. Further, in Patent Document 4, an extra pixel is scanned one by one in the same direction as the height of each band area, and the capacity of a delay memory that holds a target pixel necessary for local image processing is set to the height of each band area. By defining the size of the delay memory, the delay memory can be saved.

米国特許第6,587,158号公報US Pat. No. 6,587,158 特開2000−312327公報JP 2000-31327 A 特許第3733826号公報Japanese Patent No. 3733826 特開2006−139606公報JP 2006-139606 A

しかしながら、画像処理方法および装置の分野を見渡すと、前述の特許文献1〜4で示される空間フィルタ処理などの局所(近傍)画像処理を考慮するだけは、対応できない画像処理が多く存在する。以下に、図13を参照しながらその例を示す。   However, looking over the field of image processing methods and apparatuses, there are many image processes that cannot be handled only by considering local (neighboring) image processing such as the spatial filter processing described in Patent Documents 1 to 4 described above. An example is shown below with reference to FIG.

まず、図13の上段に示す、スキャナなどの画像読み取り装置による読み取り画像に対して、センサ・デバイスの読み取り素子の個体差を補正するような補正処理1010があげられる。このような補正処理1010に必要な情報は、例えばセンサ・デバイスの読み取り素子ごとの読み取り最小値データと読み取り最大値データとである。これらの情報を基に、補正対象である読み取り画像を画素データ(画素値)ごとに、例えば下記(式1)を用いた演算により補正する。   First, a correction process 1010 for correcting individual differences of reading elements of the sensor / device with respect to an image read by an image reading apparatus such as a scanner shown in the upper part of FIG. Information necessary for such correction processing 1010 is, for example, read minimum value data and read maximum value data for each reading element of the sensor device. Based on these pieces of information, the read image to be corrected is corrected for each pixel data (pixel value) by, for example, calculation using the following (Equation 1).

X=(P−MIN)/(MAX−MIN)×1023 ...(式1)
ここで、X:補正画素値(Xは10bitのデジタル信号の場合)、P:読み取り画素値、MIN:読み取り最小値、MAX:読み取り最大値である。
X = (P-MIN) / (MAX-MIN) × 1023 (Formula 1)
Here, X is a correction pixel value (X is a 10-bit digital signal), P is a reading pixel value, MIN is a reading minimum value, and MAX is a reading maximum value.

つまり、補正処理1010に必要なデータは、画素ごとに異なる最小値データ、最大値データと読み取り画像の画素データという3種の異なる情報である。スキャナのセンサー・デバイスが、画素ごとの読み取り素子を1ラインにまとめたラインセンサの場合には、このセンサが副走査方向に移動することで2次元画像の読み取りを行う。このような読み取り方式の場合、主走査方向に対しては、画素ごとに異なる最小値データと最大値データが並び、副走査方向に対しては、主走査方向の位置が同一の画素の場合、同一の最小値データと最大値データとなる。   That is, the data necessary for the correction process 1010 is three kinds of different information, ie, minimum value data, maximum value data, and pixel data of the read image that are different for each pixel. When the sensor device of the scanner is a line sensor in which the reading elements for each pixel are combined into one line, this sensor moves in the sub-scanning direction to read a two-dimensional image. In the case of such a reading method, in the main scanning direction, different minimum value data and maximum value data are arranged for each pixel, and in the sub scanning direction, in the case of pixels having the same position in the main scanning direction, It becomes the same minimum value data and maximum value data.

また上記に類似した補正処理として液晶テレビ、プラズマテレビなどの薄型テレビで使用される2次元表示デバイスに対する補正処理がある。2次元表示デバイスの場合、2次元に敷き詰められた表示素子の個体差が異なるため、上記補正処理1010のように1次元の補正データではなく、2次元の補正データを用いて補正処理を施すことになる。上記のような補正処理では、デバイス形状(素子の敷き詰められ方)に依存して補正データの繰り返し方が異なるので注意が必要となる。   Further, as a correction process similar to the above, there is a correction process for a two-dimensional display device used in a flat-screen television such as a liquid crystal television or a plasma television. In the case of a two-dimensional display device, since individual differences of display elements spread in two dimensions are different, correction processing is performed using two-dimensional correction data instead of one-dimensional correction data as in the correction processing 1010. become. In the correction processing as described above, it is necessary to pay attention because the correction data repetition method differs depending on the device shape (how elements are spread).

また、図13の中段に示す、例えば複数のレンダリング画像を合成データ(α値)に応じて画像合成するような合成処理1020がある。合成対象のレンダリング画像が2枚のとき、例えば下記(式2)のような合成式を用いて各画素ごとに合成処理1020を施す。   In addition, there is a synthesis process 1020 shown in the middle part of FIG. 13, for example, for synthesizing a plurality of rendering images according to synthesis data (α value). When there are two rendering images to be combined, for example, a combining process 1020 is performed for each pixel using a combining expression such as the following (Expression 2).

X=P2×A+P1×(1024−A) ...(式2)
ここで、X:合成後の画素値(α値が10bitのデジタル信号の場合)、P1:第1レンダリング画像の画素値、P2:第2レンダリング画像の画素値、A:合成データの画素毎のα値である。なお、合成データ(α値)は、レンダリング画像の画素すべてにおいて同一である場合もあれば、レンダリング画像の画素ごとに異なる2次元の合成データ(α値)である場合もある。
X = P2 * A + P1 * (1024-A) (Formula 2)
Here, X: the pixel value after synthesis (when the α value is a 10-bit digital signal), P1: the pixel value of the first rendering image, P2: the pixel value of the second rendering image, A: for each pixel of the synthesis data α value. Note that the composite data (α value) may be the same for all pixels of the rendered image, or may be two-dimensional composite data (α value) that differs for each pixel of the rendered image.

後者のような合成データ(α値)の場合、上記のような合成処理1020では、合成対象のレンダリング画像の枚数Nの場合、処理に必要な画素データと合成データ(α値)の数が上述の例と異なることは言うまでもない。   In the case of the composite data (α value) as described above, in the composite processing 1020 as described above, when the number of rendering images to be composited is N, the number of pixel data and composite data (α value) necessary for the processing is the above. It goes without saying that it is different from the example.

また、図13の下段に示すような、例えば、動画像のインタレース/プログレッシブ変換(以下、I/P変換1030と略称する)のように、時間軸方向に連続した複数のフィールド画像を参照して適応的な空間フィルタ処理を施す場合がある。一般的に、I/P変換1030のように複数のフィールド画像を参照するような画像処理では、より多くのフィールド画像を用いて適応処理した方が高品位な画像処理を施せる。   Further, as shown in the lower part of FIG. 13, for example, a plurality of field images continuous in the time axis direction are referred to, such as interlace / progressive conversion of moving images (hereinafter abbreviated as I / P conversion 1030). In some cases, adaptive spatial filtering may be performed. In general, in image processing such as I / P conversion 1030 that refers to a plurality of field images, high-quality image processing can be performed by performing adaptive processing using more field images.

しかしながら、複数のフィールド画像は、画像処理回路が実装される半導体チップ(ASICなど)と接続された安価なDRAMなどの外部メモリに記憶されていることが一般的である。そのため、I/P変換のために外部メモリから毎回複数のフィールド画像を読み出し、I/P変換回路に入力する必要がある。多くは、製品のコスト制約から外部メモリから複数フィールド画像を読み出すときに許容されるメモリ帯域には当然ながら限りがある。従って、例えば、フルハイビジョン(1920×1080i)のような高解像度のフィールド画像を際限なく読み出してI/P変換を施すわけにはいかない。   However, the plurality of field images are generally stored in an external memory such as an inexpensive DRAM connected to a semiconductor chip (ASIC or the like) on which an image processing circuit is mounted. For this reason, it is necessary to read out a plurality of field images from the external memory each time for I / P conversion and input them to the I / P conversion circuit. In many cases, the memory bandwidth allowed when reading a multi-field image from an external memory is naturally limited due to product cost constraints. Therefore, for example, it is not possible to read out a high-resolution field image such as full high-definition (1920 × 1080i) indefinitely and perform I / P conversion.

一方、前述フルハイビジョン解像度のフィールド画像を例えば3枚までI/P変換のために読み出せるメモリ帯域の画像処理装置があったと仮定する。この画像処理装置において、NTSC(720×480i)のような低解像度の動画像をI/P変換するのであれば、前述フルハイビジョン解像度の動画像より多くのフィールド画像を参照して高品位なI/P変換ができることは自明である。   On the other hand, it is assumed that there is an image processing apparatus having a memory band that can read up to three field images of the full high-definition resolution, for example, for I / P conversion. In this image processing apparatus, if a low resolution moving image such as NTSC (720 × 480i) is subjected to I / P conversion, a high-definition I is referred to by referring to more field images than the full high definition resolution moving image. It is obvious that / P conversion can be performed.

上記のようなI/P変換1030では、使用可能なメモリ帯域が一定の場合、できるだけ高品位な画像処理を行うために、解像度や参照フィールド数に応じて柔軟に画像処理方法を切り替えることが重要となる。   In the I / P conversion 1030 as described above, it is important to switch the image processing method flexibly according to the resolution and the number of reference fields in order to perform as high-quality image processing as possible when the usable memory bandwidth is constant. It becomes.

前述の図13に示した画像処理に共通することは、画素データが2次元に配置された画像データを1枚だけ考慮して画像処理を行うだけでは不十分であるということである。あるときは補正データが必要であったり、合成データが必要であったり、また、あるときは使用する画像データの枚数が任意であったりする。また、上記画像処理に必要な画像データや補正データや合成データは、センサ形状に依存して取得方法が異なる。例えば、繰り返し外部メモリなどの記憶装置から読み出すことが必要であったり、ユーザの指定する数によって読み出すレンダリング画像の枚数が異なったり、放送波の入力解像度によって読み出すフィールド画像の枚数が異なったりする。   What is common to the image processing shown in FIG. 13 described above is that it is not sufficient to perform image processing considering only one piece of image data in which pixel data is two-dimensionally arranged. In some cases, correction data is required, composite data is required, and in other cases, the number of image data to be used is arbitrary. Further, the image data, correction data, and composite data necessary for the image processing differ in acquisition method depending on the sensor shape. For example, it is necessary to repeatedly read from a storage device such as an external memory, the number of rendering images to be read differs depending on the number specified by the user, and the number of field images to read differs depending on the input resolution of the broadcast wave.

ところで、近年、機器の差別化を目的とした高画質化を実現するために、デジタル画像データの解像度は増大しており、画像処理におけるデータ処理量もそれに応じて増大している。また、製品の高画質化や機能強化のために必要とされる情報も多岐にわたる。しかし、製品開発においては、限られたコスト制約の中で種々の画像処理の要求に対応することが望まれている。つまり、メモリ帯域や回路規模を一定に保ったままで、前述の種々の画像処理を柔軟に実現する装置や手法が望まれているのである。   Incidentally, in recent years, the resolution of digital image data has increased in order to achieve high image quality for the purpose of device differentiation, and the amount of data processing in image processing has increased accordingly. In addition, there is a wide variety of information required to improve product image quality and enhance functions. However, in product development, it is desired to meet various image processing requirements within limited cost constraints. In other words, there is a demand for an apparatus and method that can flexibly realize the various image processes described above while keeping the memory bandwidth and circuit scale constant.

しかしながら、上記従来技術は、局所画像処理を行なうに際し、バンド領域毎に外部メモリから1枚の画像データを読み出して空間フィルタ処理のための遅延メモリの省容量化については言及する。しかし、1枚の画像データに対する複数の補正データや複数の画像データや連続した複数フィールド画像に対して、各データの解像度とその数量に応じて柔軟にバンド領域を変更するという観点からの検討は行われていない。ここで、データの数量とは、参照フィールド数、レンダリング画像数、補正データ数である。   However, the above-described prior art refers to the capacity saving of the delay memory for the spatial filter processing by reading one piece of image data from the external memory for each band region when performing the local image processing. However, for a plurality of correction data, a plurality of image data, and a plurality of continuous field images for one image data, an examination from the viewpoint of flexibly changing the band area according to the resolution and the quantity of each data is not possible. Not done. Here, the quantity of data is the number of reference fields, the number of rendered images, and the number of correction data.

本発明は、従来技術と同様に遅延メモリの省容量化を実現しつつも、ある一定のメモリ帯域の中でさまざまな形態の画像処理を実現するため、データの解像度と参照枚数が変化しても柔軟に対処できる演算方法、演算装置、画像処理装置を提供する。   The present invention realizes various types of image processing within a certain memory bandwidth while realizing the capacity saving of the delay memory as in the prior art. Provide an arithmetic method, an arithmetic device, and an image processing device that can flexibly cope with the above.

上記の課題を解決するための本発明の演算方法は、入力される画像データを複数のバンド領域に分割し、該分割したバンド領域内の部分画像データをバッファ経由で画像処理手段へ供給し、参照用データを参照して画像処理を実施する画像処理装置のための演算方法であって、
前記部分画像データの転送単位を取得する工程と、
前記部分画像データにおける第1データ量のデータと、該第1データ量のデータを処理するために参照される前記参照用データにおける第2データ量のデータと、が前記バッファの容量に収まるように、前記バッファの容量と前記転送単位とに基づいて、該第1データ量を前記部分画像データの転送量として取得する第2取得工程と、
前記転送量と前記転送単位とに基づいて、前記バンド領域の高さを取得する第3取得工程と
を有することを特徴とする。
The calculation method of the present invention for solving the above problem divides input image data into a plurality of band areas, supplies partial image data in the divided band areas to an image processing means via a buffer, An arithmetic method for an image processing apparatus that performs image processing with reference to reference data,
Obtaining a transfer unit of the partial image data;
The first data amount data in the partial image data and the second data amount data in the reference data referred to for processing the first data amount data fit within the capacity of the buffer. A second acquisition step of acquiring the first data amount as the transfer amount of the partial image data based on the capacity of the buffer and the transfer unit ;
And a third acquisition step of acquiring the height of the band area based on the transfer amount and the transfer unit.

本発明によれば、小さい回路規模で処理対象の画像データを複数バンド領域に分割し、分割したバンド領域毎に逐次的に画像処理を行うことができる。また、従来技術では実現していない多種多様な画像処理についてバンド領域の高さを柔軟に変更し、任意の解像度に対応した画像処理を小さい回路規模で実現できる。   According to the present invention, image data to be processed can be divided into a plurality of band areas with a small circuit scale, and image processing can be sequentially performed for each divided band area. In addition, the height of the band region can be flexibly changed for various image processing that has not been realized in the prior art, and image processing corresponding to an arbitrary resolution can be realized with a small circuit scale.

画像処理装置の全体構成の一例を示すブロック図である。It is a block diagram which shows an example of the whole structure of an image processing apparatus. 種々のデータのRAMへの格納例を説明する図である。It is a figure explaining the example of storing to RAM of various data. 画像データの画素値の格納例を説明する図である。It is a figure explaining the example of storing the pixel value of image data. 画像処理部の回路構成の一例を示すブロック図である。It is a block diagram which shows an example of the circuit structure of an image process part. 画像処理に必要なデータをRAMからバッファに格納し、画像処理入力回路から画素データを出力するまでの動作例を示す図である。It is a figure which shows the operation example until it stores data required for image processing from RAM to a buffer, and outputs pixel data from an image processing input circuit. 画像処理工程の一例を示すフローチャートである。It is a flowchart which shows an example of an image processing process. 画像処理装置の画像処理入力回路の構成の一例を示す図である。It is a figure which shows an example of a structure of the image processing input circuit of an image processing apparatus. 画像処理装置の画像処理入力回路の動作の一例を示す図である。It is a figure which shows an example of operation | movement of the image processing input circuit of an image processing apparatus. 画像処理装置の画像処理入力回路の動作の一例を示す図である。It is a figure which shows an example of operation | movement of the image processing input circuit of an image processing apparatus. 画素データの出力例を示すフローチャートである。It is a flowchart which shows the example of an output of pixel data. 画像データ・フォーマットの一例を説明する図である。It is a figure explaining an example of an image data format. バンド処理の動作の一例を説明する図である。It is a figure explaining an example of operation of band processing. バンド処理の動作の一例を説明する図である。It is a figure explaining an example of operation of band processing. 従来の画像処理の例を説明する図である。It is a figure explaining the example of the conventional image processing.

以下、添付の図面を参照して本発明の好適な実施例を説明する。   Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

[実施例1]
実施例1では、バンド処理に特化した画像処理を行なう。これにより、特許文献1〜4記載の空間フィルタ処理などの局所(近傍)画像処理における遅延メモリの省容量化や特許文献4記載の複数画素を1つの処理単位とすることによる回路規模削減や高速化を実現する。それと共に、1枚の画像データに対する処理ではなく、複数の画像データと補正データの少なくとも一方を参照した画像データの補正処理や画像処理を実現する。このような目的を達成するために、実施例1では、デジタル画像データの座標系(主走査方向−副走査方向)とは異なるバンド領域座標系で画像処理が行なわれる。
[Example 1]
In the first embodiment, image processing specialized for band processing is performed. As a result, the capacity of the delay memory in local (neighboring) image processing such as spatial filter processing described in Patent Documents 1 to 4 can be reduced, and the circuit scale can be reduced and high speed can be achieved by using a plurality of pixels described in Patent Document 4 as one processing unit. Realize. At the same time, correction processing and image processing of image data with reference to at least one of a plurality of image data and correction data are realized instead of processing one piece of image data. In order to achieve such an object, in the first embodiment, image processing is performed in a band area coordinate system different from the digital image data coordinate system (main scanning direction-sub-scanning direction).

<画像処理装置の全体構成>
図1は、実施例1による画像処理装置の全体構成の一例を示すブロック図である。
<Overall configuration of image processing apparatus>
FIG. 1 is a block diagram illustrating an example of the overall configuration of the image processing apparatus according to the first embodiment.

図1において、画像読み取り部120は、レンズ124、CCDセンサ126、及びアナログ信号処理部127等を有する。画像読み取り部120において、レンズ124を介しCCDセンサ126に結像された原稿110の画像情報が、CCDセンサ126によりR(Red),G(Green),B(Blue)のアナログ電気信号に変換される。アナログ電気信号に変換された画像情報は、アナログ信号処理部127に入力され、R,G,Bの各色毎に補正等が行われた後にアナログ/デジタル変換(A/D変換)される。こうして、デジタル化されたフルカラー信号(デジタル画像データという)が生成される。   In FIG. 1, the image reading unit 120 includes a lens 124, a CCD sensor 126, an analog signal processing unit 127, and the like. In the image reading unit 120, image information of the original 110 formed on the CCD sensor 126 through the lens 124 is converted into analog electric signals of R (Red), G (Green), and B (Blue) by the CCD sensor 126. The The image information converted into the analog electric signal is input to the analog signal processing unit 127, and is subjected to analog / digital conversion (A / D conversion) after being corrected for each color of R, G, B. In this way, a digitized full color signal (referred to as digital image data) is generated.

生成されたデジタル画像データは、CPU102により予め動作を設定されたDMAC(Direct Memory Access Controller)192により、共有バス190を介して、CPU回路部100のRAM106に格納される。次に、CPU102は、DMAC194に設定してRAM106に格納されたデジタル画像データを読み出して、画像処理部150に入力する。   The generated digital image data is stored in the RAM 106 of the CPU circuit unit 100 via the shared bus 190 by a DMAC (Direct Memory Access Controller) 192 whose operation is set in advance by the CPU 102. Next, the CPU 102 reads out the digital image data set in the DMAC 194 and stored in the RAM 106 and inputs it to the image processing unit 150.

画像処理部150は、入力されたデジタル画像データに対し、ある時はスキャナなどのセンサ・デバイスの読み取り素子の個体差の補正と入力ガンマ補正などの色補正を行い、読み取り画像を正規化して一定水準の画像データを作成する。そして、これら処理が施されたデジタル画像データを予め書き込み動作の設定が成されたDMAC196により、RAM106に再度、格納させる。また、あるとき画像処理部150は、入力されたデジタル画像データに対し、入力色補正処理、空間フィルタ処理、色空間変換、濃度補正処理、及び中間調処理などの印刷のための画像処理を施して印刷可能な画像データを作成する。そして、上述同様DMAC196によりRAM106に格納させる。   The image processing unit 150 performs correction of individual differences of reading elements of a sensor device such as a scanner and color correction such as input gamma correction on the input digital image data, and normalizes the read image to be constant. Create standard image data. Then, the digital image data subjected to these processes is stored again in the RAM 106 by the DMAC 196 in which the writing operation has been set in advance. In some cases, the image processing unit 150 performs image processing for printing such as input color correction processing, spatial filter processing, color space conversion, density correction processing, and halftone processing on the input digital image data. To create printable image data. Then, it is stored in the RAM 106 by the DMAC 196 as described above.

最後にCPU102は、DMAC198に設定してRAM106に格納された画像処理済みのデジタル画像データを読み出して、画像印刷部(プリンタ)170へ出力する。この画像印刷部(プリンタ)170は、たとえば、インクジェットヘッドやサーマルヘッド等を使用したラスタプロッタ等の印刷出力部(図示せず)を備えて構成され、入力されたデジタル画像信号により紙上に画像を記録する。あるいは、後述の実施例2では、ディスプレイなどの映像表示部160により表示出力される。   Finally, the CPU 102 reads the digital image data that has been set in the DMAC 198 and stored in the RAM 106, and outputs it to the image printing unit (printer) 170. The image printing unit (printer) 170 includes, for example, a print output unit (not shown) such as a raster plotter using an inkjet head, a thermal head, or the like, and an image is printed on paper by an input digital image signal. Record. Or in Example 2 mentioned later, it is displayed and output by video display parts 160, such as a display.

なお、CPU回路部100は、演算制御用のCPU102、固定データやプログラムを格納するROM104、データの一時保存やプログラムのロードに使用されるRAM106、及び外部記憶装置108等を備える。CPU回路部100は、画像読み取り部120、画像処理部150、及び画像印刷部(プリンタ)170等を制御し、本実施例の画像処理装置のシーケンスを統括的に制御する。外部記憶部108は、本実施例の画像処理装置が使用するパラメータやプログラムや補正データを記憶するディスク等の記憶媒体であり、RAM106のデータやプログラム等は、外部記憶部108からロードされる構成としても構わない。   The CPU circuit unit 100 includes a CPU 102 for arithmetic control, a ROM 104 that stores fixed data and programs, a RAM 106 that is used for temporarily storing data and loading programs, and an external storage device 108. The CPU circuit unit 100 controls the image reading unit 120, the image processing unit 150, the image printing unit (printer) 170, and the like, and comprehensively controls the sequence of the image processing apparatus of this embodiment. The external storage unit 108 is a storage medium such as a disk that stores parameters, programs, and correction data used by the image processing apparatus of the present embodiment. The data, programs, and the like in the RAM 106 are loaded from the external storage unit 108. It does not matter.

<補正処理>
まず、図1の画像読み取り部120による読み取り画像に対して、センサ・デバイスの読み取り素子の個体差を補正するような補正処理を行う場合について説明する。このような画像処理の場合、前述のようにセンサ・デバイスの読み取り素子ごとの読み取り最小値データと読み取り最大値データが必要になる。これらの種々のデータは一時的に前述RAM106に格納されているが、一般的にRAM106は安価なDRAMで構成されることが多い。従って、前述のようにDMACを介してこのような種々のデータを読み書きするには、DRAMが性能を落とさずに読み書きできるような単位でデータをアクセスすることが望ましい。
<Correction process>
First, a description will be given of a case in which correction processing is performed on an image read by the image reading unit 120 in FIG. In the case of such image processing, the minimum read value data and the maximum read value data for each reading element of the sensor device are required as described above. These various data are temporarily stored in the RAM 106. In general, the RAM 106 is often composed of an inexpensive DRAM. Therefore, in order to read and write such various data via the DMAC as described above, it is desirable to access data in units that allow the DRAM to read and write without degrading performance.

(RAM106のデータ構成例)
図2を用いて、RAM106へのデータ格納のし方を説明する。
(Data configuration example of RAM 106)
A method of storing data in the RAM 106 will be described with reference to FIG.

図2のIMG_AREA_STR_ADDRからIMG_AREA_END_ADDRまでが、画像処理に必要な種々のデータを格納する領域である。図2の一例では、この領域にS0_IMGからS5_IMGまで6種のデータが格納されている状態である。DRAMの性能を落とさずにデータをアクセスできるように、各々格納されるデータの容量の最小単位は、参照番号408で示すように32bit×8wordの32Byteとなっている。当然ながら、S0_IMGからS5_IMGまでのデータの格納容量は、32Byteの整数倍となる。   In FIG. 2, IMG_AREA_STR_ADDR to IMG_AREA_END_ADDR are areas for storing various data necessary for image processing. In the example of FIG. 2, six types of data from S0_IMG to S5_IMG are stored in this area. The minimum unit of the capacity of each stored data is 32 bits × 8 words of 32 bytes so that the data can be accessed without degrading the performance of the DRAM. Naturally, the storage capacity of data from S0_IMG to S5_IMG is an integral multiple of 32 bytes.

たとえば、2次元の画像データの場合、最大画像領域(window's area)440に相当する領域がメモリ上に420で示される。そして、そこに収まるS0_IMG(image's area)430の領域がメモリ上に410で示される領域に格納されている。422,424,426は、S1_IMG〜S3_IMGが収まる最大画像領域に相当するメモリ上の領域を示す。   For example, in the case of two-dimensional image data, an area corresponding to the maximum image area (window's area) 440 is indicated by 420 on the memory. An area of S0_IMG (image's area) 430 that fits in the area is stored in an area indicated by 410 on the memory. Reference numerals 422, 424, and 426 denote areas on the memory corresponding to the maximum image area in which S1_IMG to S3_IMG can be accommodated.

スキャナのライン・センサ・デバイス450が原稿490に対して副走査方向(v)に移動しながら原稿を読み取る場合には、ライン・センサ・デバイス450の主走査方向(h)に補正データ(MAX)470と補正データ(MIN)475が分布している。そのデータは、図2の例では、RAM106上のS4_IMG460とS5_IMG465に格納されている。   When the line sensor device 450 of the scanner reads the original while moving in the sub-scanning direction (v) with respect to the original 490, correction data (MAX) in the main scanning direction (h) of the line sensor device 450 is read. 470 and correction data (MIN) 475 are distributed. The data is stored in S4_IMG 460 and S5_IMG 465 on the RAM 106 in the example of FIG.

さらに、図3を用いてデータ構造を詳しく説明する。   Further, the data structure will be described in detail with reference to FIG.

500は、前述のS0_IMG(image's area)430の領域の画像データを示している。510の領域は、前述の32Byte単位のデータであり、その中に520で示す8画素のデータがパッキングされている。また、1つの画素データには、530で示すように、それぞれ10bitのR(Red),G(Green),B(Blue)データがパッキングされている。図3の例では、残りの2bitは、DRAMのデータアクセスを簡単にするために無効データとして使用しない。図3の太枠500の範囲は、8M×Nの大きさの画像を意味する。また、前述のS4_IMG460とS5_IMG465に格納されているスキャナ・センサ・デバイスの補正データの場合、1ラインのライン・センサであるため座標(0,0)から(8M,0)の範囲のデータとなる。   Reference numeral 500 denotes image data of the area of the above-described S0_IMG (image's area) 430. The area 510 is the above-mentioned data of 32 bytes, and 8 pixel data indicated by 520 is packed therein. Further, as indicated by 530, each pixel data is packed with 10-bit R (Red), G (Green), and B (Blue) data. In the example of FIG. 3, the remaining 2 bits are not used as invalid data in order to simplify data access of the DRAM. The range of the thick frame 500 in FIG. 3 means an image having a size of 8M × N. In the case of the scanner sensor device correction data stored in S4_IMG460 and S5_IMG465 described above, the data is in the range of coordinates (0,0) to (8M, 0) because it is a line sensor of one line. .

前述の画像読み取り部120により読み取られた読み取り画像の画像データと補正データは、図2および図3に基づいて説明したように、RAM106に格納されている。   The image data and the correction data of the read image read by the image reading unit 120 are stored in the RAM 106 as described with reference to FIGS.

(画像処理部150の構成例)
図4は、実施例1の画像処理部150の構成例を示すブロック図である。
(Configuration example of image processing unit 150)
FIG. 4 is a block diagram illustrating a configuration example of the image processing unit 150 according to the first embodiment.

CPU102がDMAC194を起動し、RAM106から上記のように格納された読み取り画像データと補正データとを読み出し、本実施例の画像処理装置が有する主要な回路構成の一例である、図4の画像処理部150に入力する。   The CPU 102 activates the DMAC 194, reads the read image data and correction data stored as described above from the RAM 106, and is an example of the main circuit configuration of the image processing apparatus of the present embodiment. Enter 150.

読み取り画像データと補正データとは、DMAC194を介しバス205を経由して画像処理部150に入力される。後述に詳細説明を行うが、画像処理入力回路220は、各種データを受け取り、図3で説明したパッキングされた読み取り画像データと補正データ(MAX)と補正データ(MIN)から、1画素単位の画素データ(画素値)を後述の順番で抜き出す。そして、後段の画像処理回路(1)230、画像処理回路(2)240、...、画像処理回路(P)280に送り、各種の補正処理(もしくは画像処理)を行う。そして、画像処理出力回路290にて、図3の32Byte単位のデータに再度パッキングしたデータを作成し、DMAC196を介しバス295を経由してRAM106に補正処理(画像処理)済みの画像データを書き戻す。画像処理回路(1)220から画像処理回路(P)290のうちのいずれかにて、上記(式1)で示したセンサ・デバイスの読み取り素子の個体差の補正を行う。もちろん、入力色補正処理、空間フィルタ処理、色空間変換、濃度補正処理、及び中間調処理のような画像処理も行っている。   The read image data and the correction data are input to the image processing unit 150 via the DMAC 194 and the bus 205. As will be described in detail later, the image processing input circuit 220 receives various types of data, and from the packed read image data, correction data (MAX), and correction data (MIN) described in FIG. Data (pixel value) is extracted in the order described later. The image processing circuit (1) 230, the image processing circuit (2) 240,..., And the image processing circuit (P) 280 are then sent to perform various correction processes (or image processing). Then, in the image processing output circuit 290, data repacked into 32-byte data shown in FIG. 3 is created, and the corrected image data (image processing) is written back to the RAM 106 via the bus 295 via the DMAC 196. . In any one of the image processing circuit (1) 220 to the image processing circuit (P) 290, the individual difference of the reading elements of the sensor device shown in the above (Expression 1) is corrected. Of course, image processing such as input color correction processing, spatial filter processing, color space conversion, density correction processing, and halftone processing is also performed.

<RAM106から画像処理入力回路220へのデータ転送>
図5は、実施例1の画像処理方法を用いた場合に、RAM106から画像処理入力回路220に前述の画像データや補正データを入力する方法についての詳細を説明する図である。
<Data Transfer from RAM 106 to Image Processing Input Circuit 220>
FIG. 5 is a diagram for explaining details of a method of inputting the above-described image data and correction data from the RAM 106 to the image processing input circuit 220 when the image processing method of the first embodiment is used.

点線605で囲まれた画像データが、RAM106に格納されている。図5の(a)の600は画像データの全体像であり、そのうちバンド領域610を抜き出し、実施例1の画像処理方法を行う。処理対象となるバンド領域610は、図5の(b)と(c)で示されるようにバンド領域座標系でバンド領域の高さBdhが16ライン(16画素)であり、バンド領域の長さBdlが8×M画素である。まず、図5の(d)記載のCPU102は、DMAC194に対して、共有バス190を介してRAM106のバンド領域610の先頭アドレスと連続読み出し量、インクリメント・アドレスと繰り返し回数を設定する。ここで、連続読み出し量とは、32Byte単位のデータを連続して何回読み出すかを表す。図示の例では、先頭アドレスは図2のS0_IMG_STR_ADDRとなり、連続読み出し量は1回(32Byte)、インクリメント・アドレスは1ラインのデータ量である(32Byte×M)となり、繰り返し数は16回である。   Image data surrounded by a dotted line 605 is stored in the RAM 106. Reference numeral 600 in FIG. 5A denotes an overall image data image. A band region 610 is extracted from the image data, and the image processing method according to the first embodiment is performed. As shown in FIGS. 5B and 5C, the band area 610 to be processed has a band area height Bdh of 16 lines (16 pixels) in the band area coordinate system, and the length of the band area. Bdl is 8 × M pixels. First, the CPU 102 described in (d) of FIG. 5 sets, for the DMAC 194, the start address, the continuous read amount, the increment address, and the number of repetitions of the band area 610 of the RAM 106 via the shared bus 190. Here, the continuous read amount represents how many times 32 bytes of data are read continuously. In the example shown in the figure, the start address is S0_IMG_STR_ADDR in FIG. 2, the continuous read amount is 1 time (32 bytes), the increment address is the data amount of 1 line (32 bytes × M), and the number of repetitions is 16.

また、図5の(d)のように、DMAC194と画像処理入力回路220の間には、両モジュールからデータ・アクセス可能な共有バッファ660が存在する。そこで、CPU102は共有バス190を介してDMAC194に取得データの書き込み先である共有バッファの書き込み先頭アドレスも指示する。図5の一例では、バッファ662にデータを一時保存するため、S0_BUF_STR_ADDRが設定されるアドレスとなる。DMAC194はCPU102からの指示を受け、RAM106の画像データの図5の(c)に記載のバンド領域630の領域(1)640から領域(M)645のいずれかを読み出す(650として記載)。そして、バス694を介して共有バッファ660の領域662に取得データを格納後、割り込み信号692を介して転送終了を通知する。   In addition, as shown in FIG. 5D, a shared buffer 660 that allows data access from both modules exists between the DMAC 194 and the image processing input circuit 220. Therefore, the CPU 102 also instructs the DMAC 194 via the shared bus 190 also the write start address of the shared buffer that is the write destination of the acquired data. In the example of FIG. 5, the data is temporarily stored in the buffer 662, so that S0_BUF_STR_ADDR is an address to be set. In response to an instruction from the CPU 102, the DMAC 194 reads any one of the area (1) 640 to the area (M) 645 of the band area 630 shown in FIG. 5C of the image data in the RAM 106 (described as 650). Then, after the acquired data is stored in the area 662 of the shared buffer 660 via the bus 694, the transfer end is notified via the interrupt signal 692.

次に、CPU102は、共有バス190を介して後述の画像処理用のパラメータを設定する。画像処理用のパラメータとしては、処理データ数、データ識別子(番号)、バンド領域の高さ、画像データ・フォーマット、左端削除画素数と右端削除画素数、上端糊代画素数と下端糊代画素数と左端糊代画素数と右端糊代画素数を含む。更に、バンド領域の長さ方向の連続するN画素(画素群:Nは1以上の整数)を示す並列度、走査モード、共有バッファの読み出し先頭アドレスS0_BUF_STR_ADDRなどを含む。そして、CPU102は画像処理入力回路220を起動する。画像処理入力回路220は、共有バッファ660に対して、チップセレクト信号、アドレス信号などの制御信号672を介してリード・アクセスしてリード・データ674を取得する。そして、後述の動作を行い、1画素単位の画素データ(画素値)を選び出し、画像処理部150の内部バス225に画素データを出力した後、割り込み信号678を介して入力動作の終了を通知する。   Next, the CPU 102 sets parameters for image processing to be described later via the shared bus 190. Parameters for image processing include the number of processing data, data identifier (number), band area height, image data format, left edge deletion pixel number and right edge deletion pixel number, top edge margin pixel number and bottom edge margin pixel number And the left margin margin pixel number and the right margin margin pixel number. Furthermore, it includes a parallelism indicating N pixels (pixel group: N is an integer of 1 or more) continuous in the length direction of the band region, a scanning mode, a read start address S0_BUF_STR_ADDR of the shared buffer, and the like. Then, the CPU 102 activates the image processing input circuit 220. The image processing input circuit 220 reads and accesses the shared buffer 660 via a control signal 672 such as a chip select signal and an address signal, and acquires read data 674. Then, an operation described later is performed to select pixel data (pixel value) for each pixel, output the pixel data to the internal bus 225 of the image processing unit 150, and then notify the end of the input operation via the interrupt signal 678. .

なお、共有バッファは、図5の(e)に660'で示すように、2つ以上のバッファ666と667で構成しても良い。前述の図5の(d)の例では、DMAC194と画像処理入力回路220で1つのバッファを共有しているため、時分割で動作していた。しかし、図5の(e)の共有バッファ660'の構成にすると、画像処理入力回路220が共有バッファ660'から画素データの取得処理をしている間に、DMAC194は共有バッファ660'にRAM106から次ぎの画像データを転送できる。そのため、DMAC194と画像処理入力回路220の処理を並列化できる。   The shared buffer may be composed of two or more buffers 666 and 667 as indicated by 660 ′ in FIG. In the example of FIG. 5D described above, the DMAC 194 and the image processing input circuit 220 share one buffer, and thus operate in time division. However, with the configuration of the shared buffer 660 ′ in FIG. 5E, the DMAC 194 transfers data from the RAM 106 to the shared buffer 660 ′ while the image processing input circuit 220 is performing pixel data acquisition processing from the shared buffer 660 ′. The next image data can be transferred. Therefore, the processing of the DMAC 194 and the image processing input circuit 220 can be parallelized.

画像データのバンド領域を画像処理するためには、図5の(d)に記載の領域(1)640から領域(M)645まで、同様の動作をM回繰り返せばよい。以上のように、RAM106から共有バッファへの画像データの取得を行う。そして、その後の2つの補正データに関しても、DMAC194に設定する繰り返し回数を1回(つまり、バンド領域の高さが1ライン)として、画像データと同様の動作で順次必要なデータを取得する。   In order to perform image processing on the band region of the image data, the same operation may be repeated M times from the region (1) 640 to the region (M) 645 shown in FIG. As described above, image data is acquired from the RAM 106 to the shared buffer. Then, regarding the subsequent two correction data, the number of repetitions set in the DMAC 194 is set to one (that is, the height of the band area is one line), and necessary data is sequentially acquired in the same operation as the image data.

なお、Nが2以上の整数のときには、N個の処理対象画素を同時に取得し、N個の前記画像処理回路へ同時に提供する。   When N is an integer equal to or greater than 2, N processing target pixels are simultaneously acquired and provided to the N image processing circuits simultaneously.

<バンド領域の高さの決定手順>
次に、実施例1のバンド領域の高さの決め方について、図6を用いて説明する。図6は、CPU102が実行するプログラムの処理手順例を示すフローチャートである。
<Procedure for determining the height of the band area>
Next, how to determine the height of the band region of the first embodiment will be described with reference to FIG. FIG. 6 is a flowchart illustrating a processing procedure example of a program executed by the CPU 102.

CPU102は、処理を開始し(S705)、補正処理に必要となる種々のデータの個数を、処理データ数Sとして設定する(S710)。本実施例の場合、処理データ数は"3"となる。第1の処理データに対しては、補正対象の読み取り画像データとしてそのデータを識別するために、データ識別子(番号)をとして0"を付加する。次に、第2の処理データに対しては、センサ・デバイスの補正データ(MAX)としてそのデータを識別するために、データ識別子(番号)として"1"を付加する。さらに、第3の処理データに対しては、センサ・デバイスの補正データ(MIN)としてそのデータを識別するために、データ識別子(番号)として"2"を付加する。さらに、図3で説明した画像データ・フォーマットの設定により、32Byteデータに何画素が含まれるかが規定される。本実施例では、説明を簡潔にするために、処理対象の画像データと補正データ(MAXおよびMIN)のデータ・フォーマットは、図3に図示のものと同一フォーマットとする。   The CPU 102 starts processing (S705), and sets the number of various data necessary for the correction processing as the processing data number S (S710). In this embodiment, the number of processing data is “3”. To the first processing data, 0 ″ is added as a data identifier (number) to identify the data as the read image data to be corrected. Next, for the second processing data, In order to identify the data as correction data (MAX) of the sensor device, “1” is added as a data identifier (number), and the correction data of the sensor device is added to the third processing data. In order to identify the data as (MIN), “2” is added as the data identifier (number), and how many pixels are included in the 32-byte data by the setting of the image data format described in FIG. In this embodiment, the data format of the image data to be processed and the correction data (MAX and MIN) are shown in FIG. It is shown to be the same format as that of the.

次に、処理データ数Sの数だけ、後述の処理のために以下のパラメータを設定する(S720)。例えば、入力画像処理回路の動作に必要な左端削除画素数と右端削除画素数、上端糊代画素数と下端糊代画素数と左端糊代画素数と右端糊代画素数、バンド領域の長さ方向の連続するN画素(画素群)を示す並列度、走査モードを含む。すなわち、変数lpを初期化し(S721)、変数lpがSに成るまで(S722)、各種パラメータの設定(S723)と変数lp+1(S724)を繰り返す。   Next, the following parameters are set for processing to be described later by the number of processing data S (S720). For example, the number of left edge deletion pixels and right edge deletion pixels required for the operation of the input image processing circuit, the number of upper edge margin pixels, the number of lower edge margin pixels, the number of left edge margin pixels, the number of right edge margin pixels, the length of the band area It includes a parallelism and a scanning mode indicating N pixels (pixel groups) that are continuous in direction. That is, the variable lp is initialized (S721), and various parameter settings (S723) and variable lp + 1 (S724) are repeated until the variable lp becomes S (S722).

パラメータの設定が終わると(S722のYes)、次に、バンド領域の高さおよび共有バッファの読み出し先頭アドレスを算出する(S730)。まず、処理対象の画像データのフォーマットを設定する(S731)。前述のデータ・フォーマットの例では、32Byte単位のデータが画像データの1ラインを表す。本実施例の補正処理の場合、この1ラインの画像データを処理するために補正データ(MAXおよびMIN)が必要となる。ただし、本実施例ではライン・センサであり、1ラインの補正データが読み取り原稿の副走査方向に繰り返されるため、図3の画像データのA列(A−AからA−N)のすべての画像データに関して同一の補正データとなる。このA列の領域の画素データ(8×Nライン)を処理するための補正データ(MAX)は、1ライン×8画素分の32Byteあればよく、補正データ(MIN)に関しても同様である。   When the parameter setting is completed (Yes in S722), the height of the band area and the read start address of the shared buffer are calculated (S730). First, the format of image data to be processed is set (S731). In the example of the data format described above, data of 32 bytes unit represents one line of image data. In the case of the correction process of this embodiment, correction data (MAX and MIN) are required to process this one line of image data. However, in this embodiment, it is a line sensor, and one line of correction data is repeated in the sub-scanning direction of the read document. Therefore, all the images in the A column (AA to AN) of the image data in FIG. The correction data is the same for the data. The correction data (MAX) for processing the pixel data (8 × N lines) in the A column region may be 32 bytes for one line × 8 pixels, and the same applies to the correction data (MIN).

そこで、共有バッファの容量が{256bit(=32Byte)×BLワード}であり、BLラインの種々のデータを保持できると仮定して、以下の算出を説明する。   Accordingly, the following calculation will be described on the assumption that the capacity of the shared buffer is {256 bits (= 32 bytes) × BL words} and various data of the BL line can be held.

処理対象の画像データの最小転送単位と、この画像データを補正するための補正データ(MAXおよびMIN)の最小転送単位とが算出される(S732,S733)。本例では、画像データの最小転送単位は32Byte(共有バッファの1ワード(1ライン)に相当)であり、この画像データを補正するための補正データ(MAXおよびMIN)の最小転送単位も32Byteである。本実施例の場合、画像データA列については同一の補正データが繰り返される(S740の有)。この場合に、画像データの最小転送単位32Byteを処理するために(32Byte×2)の補正データが必要となる(S741)。そして、画像データの処理ライン数が増えても補正データのライン数は増えない。そこで、バッファライン数BLから"2"を減算した値を画像データの転送量として得て(S742)、参照データの最小転送単位を"0"とする(S750)。そして、バッファライン数BLから"2"を減算した値を画像データの最小転送単位である32Byteで除算した値がバンド領域の高さとなる(S751)。   A minimum transfer unit of image data to be processed and a minimum transfer unit of correction data (MAX and MIN) for correcting the image data are calculated (S732, S733). In this example, the minimum transfer unit of image data is 32 bytes (corresponding to one word (one line) of the shared buffer), and the minimum transfer unit of correction data (MAX and MIN) for correcting this image data is also 32 bytes. is there. In the case of the present embodiment, the same correction data is repeated for the image data A row (Yes in S740). In this case, (32 bytes × 2) of correction data is required to process the minimum transfer unit 32 bytes of image data (S741). And even if the number of processing lines of image data increases, the number of lines of correction data does not increase. Therefore, a value obtained by subtracting “2” from the number of buffer lines BL is obtained as the transfer amount of the image data (S742), and the minimum transfer unit of the reference data is set to “0” (S750). Then, a value obtained by subtracting “2” from the number of buffer lines BL and dividing by 32 bytes, which is the minimum transfer unit of image data, is the height of the band area (S751).

最後に共有バッファの先頭アドレスS0_BUF_STR_ADDR、S1_BUF_STR_ADDR、S2_BUF_STR_ADDRを設定する(S760)。上述の例では、
画像データ :S0_BUF_STR_ADDR=0
補正データ(MAX):S1_BUF_STR_ADDR=BL−2
補正データ(MIN):S2_BUF_STR_ADDR=BL−1
となる。
Finally, the shared buffer start address S0_BUF_STR_ADDR, S1_BUF_STR_ADDR, and S2_BUF_STR_ADDR are set (S760). In the above example,
Image data: S0_BUF_STR_ADDR = 0
Correction data (MAX): S1_BUF_STR_ADDR = BL-2
Correction data (MIN): S2_BUF_STR_ADDR = BL-1
It becomes.

なお、上記例では、補正データによる補正処理に限定して示したが、参照用画像データによる他の画像処理についても同様に実現される(S733参照)。   In the above example, the correction process using the correction data is illustrated. However, other image processes using the reference image data can be realized in the same manner (see S733).

<画像処理入力回路220の構成例と処理例>
(画像処理入力回路220の構成例)
本実施例の画像処理入力回路220の内部構成を、図7に示す。なお、図7で、図6と同じ機能要素や信号は同じ参照番号で示している。
<Configuration Example and Processing Example of Image Processing Input Circuit 220>
(Configuration Example of Image Processing Input Circuit 220)
The internal configuration of the image processing input circuit 220 of this embodiment is shown in FIG. In FIG. 7, the same functional elements and signals as those in FIG. 6 are denoted by the same reference numerals.

図7で、CPU102から動作パラメータ810が設定され、この値は内部レジスタに記憶され、シーケンサ820が動作する。動作については図8Aおよび図8Bと図9により後述する。シーケンサ820により共有バッファ660のアドレス672が算出され、32Byteのデータ674を共有バッファ660から取得する。そして、画素データ生成回路830にて1画素のデータ、もしくはバンド領域の長さ方向に連続するN画素のデータを生成し、画像処理部150の内部バス225へ出力される。   In FIG. 7, an operation parameter 810 is set from the CPU 102, and this value is stored in an internal register, and the sequencer 820 operates. The operation will be described later with reference to FIGS. 8A, 8B, and 9. The sequencer 820 calculates the address 672 of the shared buffer 660, and acquires 32-byte data 674 from the shared buffer 660. Then, the pixel data generation circuit 830 generates data for one pixel or data for N pixels continuous in the length direction of the band region, and outputs the generated data to the internal bus 225 of the image processing unit 150.

(画像処理入力回路220の処理例)
画像データのバンド領域を画像処理するためには、図8Aの領域(1)640から領域(M)645まで32Byte×ライン数分(以下、転送ブロックと呼ぶ)のデータ処理をM回繰り返せばよい。また、画像データと参照する複数の画像データと補正データの少なくとも一方についてデータ処理をM回繰り返すので、本実施例の補正処理の場合は合計3M回繰り返すこととなる。また、各々のデータについてバンド領域の長さ方向にトリミング処理(不必要な端部画素を切り捨てる処理)を行うために、各々のデータ毎に左端削除画素数と右端削除画素数を設定する。
(Processing example of image processing input circuit 220)
In order to perform image processing on the band region of the image data, data processing of 32 bytes × number of lines (hereinafter referred to as a transfer block) from region (1) 640 to region (M) 645 in FIG. 8A may be repeated M times. . In addition, since the data processing is repeated M times for at least one of the image data and the plurality of image data to be referred to and the correction data, the correction processing of this embodiment is repeated 3M times in total. Further, in order to perform trimming processing (processing for discarding unnecessary end pixels) in the length direction of the band area for each data, the number of left end deleted pixels and the number of right end deleted pixels are set for each data.

この削除画素数は、画像データ・フォーマットの32Byte単位の画素領域を超えては設定することはできない。つまり、本実施例のデータ・フォーマットは8画素/32Byteであるため、左端削除画素数と右端削除画素数は7までの値となる。それ以上のトリミング処理を行う場合には、そもそも転送するブロックをRAM106からの読み出し時に転送しなければよい。また、この左端削除画素数と右端削除画素数の設定は、最初の転送ブロック640と最後の転送ブロック645でしか意味がない。そのため、左端削除画素数の設定は最初の転送ブロック640に影響を与え、斜線領域856(画素3〜7)が有効となり、画素0〜2は削除される。同様に右端削除画素数の設定は最後の転送ブロック645に影響を与え、斜線領域858(画素0から1)が有効となり画素2〜7は削除される。そしてトリミング処理後の画像データ領域860が生成される。   The number of deleted pixels cannot be set beyond the pixel area of 32 bytes in the image data format. That is, since the data format of the present embodiment is 8 pixels / 32 bytes, the left end deletion pixel number and the right end deletion pixel number are values up to 7. When performing further trimming processing, it is not necessary to transfer the block to be transferred at the time of reading from the RAM 106. The setting of the left end deleted pixel number and the right end deleted pixel number is meaningful only in the first transfer block 640 and the last transfer block 645. Therefore, the setting of the left end deletion pixel number affects the first transfer block 640, the hatched area 856 (pixels 3 to 7) becomes effective, and the pixels 0 to 2 are deleted. Similarly, the setting of the right end deletion pixel number affects the last transfer block 645, the hatched area 858 (pixels 0 to 1) becomes valid, and the pixels 2 to 7 are deleted. Then, an image data area 860 after the trimming process is generated.

次に、上記トリミング処理後の画像860に対して端部画素を指定画素数分(上端糊代画素数と下端糊代画素数と左端糊代画素数と右端糊代画素数)の画素コピー拡張を行い、糊代領域を生成して画像データの領域870にようにする。画像処理回路の中には空間フィルタなどの局所画像処理があり、画像データの上端、下端、左端、右端で局所画像処理を行うためには、上記糊代領域の生成機能があることが望ましい。   Next, the pixel copy expansion of the edge pixels of the trimmed image 860 by the designated number of pixels (the number of upper edge margin pixels, the number of lower edge margin pixels, the number of left edge margin pixels, and the number of right edge margin pixels) is performed. To generate a margin area so that it becomes an image data area 870. The image processing circuit includes local image processing such as a spatial filter. In order to perform local image processing at the upper end, the lower end, the left end, and the right end of the image data, it is desirable to have a function for generating the margin area.

本実施例では、スキャナ補正であるため、スキャナの読み取り領域を予め広く設定しておけば、糊代領域の生成機能がなくとも、所望の出力画像を得ることができる。しかし、後述の実施例2の場合では、入力が放送波などの規格化された映像信号であるため、所望の出力画像を得るためには上記糊代領域の生成機能が必要となる。上端糊代画素数と下端糊代画素数と左端糊代画素数と右端糊代画素数の設定により、シーケンサ820が糊代領域を考慮して共有バッファ660をアクセスする。   In this embodiment, since the scanner correction is performed, a desired output image can be obtained even if there is no function for generating a margin area if the reading area of the scanner is set wide in advance. However, in the case of Example 2 described later, since the input is a standardized video signal such as a broadcast wave, the function of generating the margin area is necessary to obtain a desired output image. The sequencer 820 accesses the shared buffer 660 in consideration of the margin area by setting the upper margin margin pixel number, the lower margin margin pixel number, the left margin margin pixel number, and the right margin margin pixel number.

具体的には転送ブロック(1)640のときには、上端糊代画素数と下端糊代画素数と左端糊代画素数を考慮し、上端糊代画素もしくは下端糊代画素を生成する間、共有バッファのアドレスをインクリメントしない。また、読み出した32Byteの画素データを872のように左端を拡張して画素があると考える。また、転送フロック(2)から(M−1)に関しては、前述同様に上端糊代画素もしくは下端糊代画素を生成する間、共有バッファのアドレスをインクリメントしない。左端、右端共に32Byteの画素領域を拡張して考える必要はない。また、最後の転送ブロック(M)645では、前述同様に上端糊代画素もしくは下端糊代画素を生成する間、共有バッファのアドレスをインクリメントしない。また、読み出した32Byteの画素データを874のように右端を拡張して画素があると考える。   Specifically, in the case of the transfer block (1) 640, the shared buffer is used while the upper margin margin pixel or the lower margin margin pixel is generated in consideration of the upper margin margin pixel number, the lower margin margin pixel number, and the left margin margin pixel number. Do not increment the address. Further, it is considered that there is a pixel by extending the left end of the read 32-byte pixel data like 872. As for transfer flocks (2) to (M-1), the address of the shared buffer is not incremented while the upper edge margin pixel or the lower margin margin pixel is generated as described above. There is no need to expand the 32-byte pixel area at both the left and right ends. In the last transfer block (M) 645, the address of the shared buffer is not incremented while the upper edge margin pixel or the lower edge margin pixel is generated as described above. Further, it is considered that there is a pixel by expanding the right end of the read 32-byte pixel data like 874.

図8Bは、前述トリミング処理および糊代領域の生成機能による端部拡張処理によって作成された画像データ870がどのように内部バス225を介して出力されるかを説明している。図8Bでは、転送ブロック(1)640を例にしている。   FIG. 8B illustrates how the image data 870 created by the above-described trimming processing and edge extension processing by the function of generating the margin area is output via the internal bus 225. In FIG. 8B, transfer block (1) 640 is taken as an example.

出力ライン数Lは上端糊代画素と下端糊代画素とバンド高さを示すライン数の合計である。CPU102から設定されたバンド領域の長さ方向の連続するN画素(画素群)を示す並列度および走査モードにより画素データの出力のし方が変わる。前記並列度の設定だけ、バンド領域長さ方向に連続して画素を出力する。走査モードの設定によりN画素を1画素/サイクルで出力するか、N画素/サイクルで同時(並列)に出力するかを定める。N画素/サイクルでの同時(並列)出力の場合、画像処理150の内部バス225は同時に出力できるだけの帯域を持っている必要があり、後段の画像処理回路もN画素並列で動作する必要がある。また、画像データ・フォーマットの32Byte単位の画素数と左端削除画素数と左端糊代画素数と前述の並列度により定まる画素群の数PNとは整数でなければならないという制限がある。   The output line number L is the total of the upper edge margin pixel, the lower edge margin pixel, and the number of lines indicating the band height. The method of outputting pixel data varies depending on the degree of parallelism and the scanning mode indicating N pixels (pixel groups) continuous in the length direction of the band region set by the CPU 102. Pixels are output continuously in the band area length direction only by the setting of the degree of parallelism. Depending on the setting of the scanning mode, it is determined whether N pixels are output at 1 pixel / cycle or simultaneously (parallel) at N pixels / cycle. In the case of simultaneous (parallel) output at N pixels / cycle, the internal bus 225 of the image processing 150 needs to have a band that can be output at the same time, and the subsequent image processing circuit also needs to operate in N pixels in parallel. . In addition, there is a limitation that the number of pixels in the 32-byte unit of the image data format, the number of left end deleted pixels, the number of left end glue margin pixels, and the number PN of pixel groups determined by the above-described parallelism must be integers.

<画像処理入力回路の内部バス225への画素データの出力手順例>
図9のフローチャートに、画像処理入力回路220の内部バス225への画素データの出力の手順例をまとめる。かかる図9のフローチャート
ステップS960のループ(S961,S962,S970,S963)から分かるように、画像データもしくは種々の参照データ(複数の補正データと画像データの少なくとも一方)の画素群を順番に出力して画像処理回路に提供する。図4の画像処理回路230、240、...、280は、N画素の画像データ、補正データMAX、補正データMINを順次受け取り、データが揃ったところで補正処理を行い、N画素の補正処理後のデータを出力する。各種データの区別は、前述のデータ識別子(番号)により判定される。これらの処理を、ステップS950のループ(S951,S952,S960,S953)が示すようにバンド領域の高さ方向に毎ライン繰り返す。ただし、補正データの場合は、バンド高さが1ラインであり、常に同じラインの共有バッファアドレスを繰り返し読むこととなる。出力ライン数(L×N)の画素の領域が出力された後、ステップS940のループ(S941,S942,S950,S943)が示すようにバンド領域の長さ方向に画素群(N画素)だけ走査し、次に画素分の処理へ移る。これらの処理を繰り返して画素群の数PNだけ処理が移行し、(PN×N×L)の画素数すべてが処理されると、1つの転送ブロック(1)が終了し、次の転送ブロック(2)〜(M)を繰り返すこととなる。
<Example of Procedure for Outputting Pixel Data to Internal Bus 225 of Image Processing Input Circuit>
The flowchart of FIG. 9 summarizes a procedure example of outputting pixel data to the internal bus 225 of the image processing input circuit 220. As can be seen from the loop (S961, S962, S970, S963) of step S960 in FIG. 9, pixel groups of image data or various reference data (a plurality of correction data and image data) are output in order. To the image processing circuit. The image processing circuits 230, 240,..., 280 in FIG. 4 sequentially receive N-pixel image data, correction data MAX, and correction data MIN, perform correction processing when the data is complete, and perform N-pixel correction processing. Output the data. The distinction between the various data is determined by the above-described data identifier (number). These processes are repeated for each line in the height direction of the band region as indicated by the loop (S951, S952, S960, S953) of step S950. However, in the case of correction data, the band height is one line, and the shared buffer address of the same line is always read repeatedly. After the pixel area of the number of output lines (L × N) is output, scanning is performed for a pixel group (N pixels) in the length direction of the band area as indicated by the loop (S941, S942, S950, S943) in step S940. Then, the process proceeds to the processing for pixels. When these processes are repeated and the process shifts by the number PN of the pixel groups and all the number of pixels (PN × N × L) is processed, one transfer block (1) is completed, and the next transfer block ( 2) to (M) will be repeated.

[実施例2]
実施例1と同一機能を有する構成や工程には同一符号を付すとともに、構成的、機能的にかわらないものについてはその説明を省略する。
[Example 2]
Configurations and processes having the same functions as those of the first embodiment are denoted by the same reference numerals, and descriptions of those that are not structurally and functionally omitted are omitted.

次に、本発明を図13に示した合成処理1020やI/P変換1030に適用した実施例2ついて考える。   Next, a second embodiment in which the present invention is applied to the composition processing 1020 and the I / P conversion 1030 shown in FIG. 13 will be considered.

実施例1との違いは、図1の映像入力部130を介して種々のデータが入力されること、および映像表示部160によりディスプレイなどの表示装置に処理後のデータが出力されることであり、図1のその他の構成部品の動作は実施例1と同じである。また、図4の画像処理部の構成は実施例1と同じである。   The difference from the first embodiment is that various data are input via the video input unit 130 of FIG. 1 and the processed data is output to a display device such as a display by the video display unit 160. 1 are the same as those in the first embodiment. 4 is the same as that of the first embodiment.

本実施例2では、画像データを画像処理する場合に必要となる複数の画像データや合成データは、実施例1と違って2次元のデータとなっている。また実施例1の補正データ(MAXおよびMIN)のように副走査方向に同一のデータ値を繰り返すことはない。そのため、図2のS1_IMGやS2_IMGやS3_IMGのように処理対象であるS0_IMGと同様に、座標系440と同じ格納のし方となる。説明を簡潔にするために実施例2でも種々の画像データおよび合成データは、図3のデータ・フォーマットであると仮定する。また、RAM106から共有バッファ660への各種データ取得動作も、実施例1と同様である。   In the second embodiment, unlike the first embodiment, a plurality of image data and composite data necessary for image processing of image data are two-dimensional data. Further, unlike the correction data (MAX and MIN) in the first embodiment, the same data value is not repeated in the sub-scanning direction. Therefore, the storage method is the same as that of the coordinate system 440 like S0_IMG which is a processing target like S1_IMG, S2_IMG and S3_IMG in FIG. For the sake of brevity, it is assumed in the second embodiment that the various image data and composite data are in the data format shown in FIG. Various data acquisition operations from the RAM 106 to the shared buffer 660 are the same as those in the first embodiment.

<バンド領域の高さの決め方>
実施例2のバンド領域の高さの決め方については、実施例1と異なる。以下、その違いを説明する。
<How to determine the height of the band area>
The method of determining the height of the band region in the second embodiment is different from that in the first embodiment. The difference will be described below.

CPU102は、画像処理に必要となる種々のデータの個数を処理データ数Sとして設定する。レンダリング画像2枚の合成処理のときは、必要なデータは、処理対象の画像データ1枚に合成対象の画像データと合成データ2枚の計3種のデータであり、S=3である。また、フィールド画像3枚に対するI/P変換の場合は、処理対象の時間のフィールド画像に対し、過去、未来の1フィールドづつの画像データが必要となり、計3種のデータとなり、S=3である。また、フィールド画像5枚に対するI/P変換の場合は、処理対象の時間のフィールド画像に対し、過去、未来の2フィールドづつの画像データが必要となり、計5種のデータとなり、S=5である。なお、処理データ数Sの数だけデータ識別子(番号)、左端削除画素数と右端削除画素数、上端糊代画素数と下端糊代画素数と左端糊代画素数と右端糊代画素数、バンド領域の長さ方向の連続するN画素(画素群)を示す並列度、走査モードの設定を行う。しかし、実施例1と同様のため説明を割愛する。   The CPU 102 sets the number of various data necessary for image processing as the processing data number S. When combining two rendering images, the necessary data is three types of data: one image data to be processed, image data to be combined and two combined data, and S = 3. In addition, in the case of I / P conversion for three field images, image data for each past and future is required for the field image at the time to be processed, resulting in a total of three types of data, and S = 3 is there. In addition, in the case of I / P conversion for five field images, image data for each of the past and future fields is required for the field image of the processing target time, resulting in a total of five types of data, and S = 5 is there. It should be noted that the number of processing data S is the number of data identifiers (numbers), the number of left edge deleted pixels and the number of right edge deleted pixels, the number of upper edge margin pixels, the number of lower edge margin pixels, the number of left edge margin pixels, the number of right margin margin pixels, and the band The parallelism indicating the N pixels (pixel group) continuous in the length direction of the region and the scanning mode are set. However, since it is the same as that of Example 1, description is omitted.

次に、バンド領域の高さおよび共有バッファの読み出し先頭アドレスを算出する。前述フォーマットにより32Byte単位のデータが画像データの1ラインを表す。本実施例の場合、この1ラインの画像データを処理するためにその他の画像データおよび合成データも32Byte(1ライン)となる。そこで、共有バッファ660の容量が{256bit(=32Byte)×BL}ワードであり、BLラインの種々のデータを保持できると仮定して、以下の算出を説明する。   Next, the height of the band area and the read start address of the shared buffer are calculated. According to the above-described format, data of 32 bytes represents one line of image data. In the case of this embodiment, other image data and composite data are also 32 bytes (one line) in order to process this one line of image data. Therefore, the following calculation will be described on the assumption that the capacity of the shared buffer 660 is {256 bits (= 32 bytes) × BL} words and various data of the BL line can be held.

画像データの最小転送単位は32Byte(共有バッファの1ワード(1ライン)に相当)であり、この画像データを処理するための種々のデータの最小転送単位も32Byteである。つまり、画像データの最小転送単位32Byteを処理するために、レンダリング画像2枚の合成処理のときは(32Byte×2)の種々のデータが必要となる。フィールド画像3枚に対するI/P変換の場合も同様である。フィールド画像5枚に対するI/P変換のときは、(32Byte×4)の種々のデータが必要となる。そこで、バンド領域の高さ(ライン数)は以下の結果となる。
・レンダリング画像2枚の合成処理
BLライン/(1ライン+2ライン)=BL/3
・フィールド画像3枚に対するI/P変換
BLライン/(1ライン+2ライン)=BL/3
・フィールド画像5枚に対するI/P変換
BLライン/(1ライン+4ライン)=BL/5
バッファライン数BLを、画像データの最小転送単位32Byteとそれを処理するために必要なデータの最小転送単位との合計値で除算した値が、バンド領域の高さとなる。
The minimum transfer unit of image data is 32 bytes (corresponding to one word (one line) of the shared buffer), and the minimum transfer unit of various data for processing this image data is also 32 bytes. In other words, in order to process the minimum transfer unit 32 bytes of image data, various data of (32 bytes × 2) are required when combining two rendering images. The same applies to the case of I / P conversion for three field images. When performing I / P conversion on five field images, various data of (32 bytes × 4) are required. Therefore, the height (number of lines) of the band region is as follows.
・ Composition processing of two rendering images BL line / (1 line + 2 line) = BL / 3
I / P conversion for 3 field images BL line / (1 line + 2 line) = BL / 3
-I / P conversion for 5 field images BL line / (1 line + 4 line) = BL / 5
A value obtained by dividing the number of buffer lines BL by the total value of the minimum transfer unit 32 bytes of image data and the minimum transfer unit of data necessary for processing the image data is the band area height.

共有バッファ660の先頭アドレスは、上記バンド領域の高さ(ライン数)づつ等間隔に配置されたアドレスとなる。図6の参照データの繰り返しの有無(S740)が"無"の場合の算出フローを参照されたい。   The head address of the shared buffer 660 is an address arranged at equal intervals for each band area height (number of lines). Refer to the calculation flow when the presence / absence of repetition of the reference data (S740) in FIG. 6 is “None”.

上記バンド高さの設定に従い、所望の画像データおよび種々の参照データを共有バッファに書き込んだ後の画像処理回路への画素データの出力のし方は、実施例1と同様である。   According to the setting of the band height, the method of outputting the pixel data to the image processing circuit after writing the desired image data and various reference data in the shared buffer is the same as in the first embodiment.

[他の実施例]
図12に示すように、特許文献1と同様にバンド領域の長さ方向を画像データの副走査方向に合わせて設定する。そして、図3の画像データ・フォーマットの32Byte単位に含まれる画素の領域520を主走査方向に1画素、副走査方向に8画素と設定しても、前述の実施例1及び2が成立することは言うまでもない。
[Other embodiments]
As shown in FIG. 12, the length direction of the band area is set in accordance with the sub-scanning direction of the image data, as in Patent Document 1. Further, even if the pixel area 520 included in the 32-byte unit of the image data format of FIG. 3 is set to 1 pixel in the main scanning direction and 8 pixels in the sub-scanning direction, the above-described first and second embodiments are established. Needless to say.

また、図10に示すように、32Byte単位に含まれる画素の領域1282が主走査方向に4画素、副走査方向に2画素と設定した場合を考える。この場合には、CPU102とDMAC194による共有バッファ660への画像データ転送は、最小転送単位が2ラインとなり無駄に転送することになる。しかし、図7の画像処理入力回路220のシーケンサ820が1ライン単位に共有バッファ660へのアクセス処理を行うことができるのであれば、前述の実施例1乃至3が成立することは言うまでもない。   Further, as shown in FIG. 10, a case is considered in which the pixel region 1282 included in the unit of 32 bytes is set to 4 pixels in the main scanning direction and 2 pixels in the sub-scanning direction. In this case, image data transfer to the shared buffer 660 by the CPU 102 and the DMAC 194 is wastefully transferred because the minimum transfer unit is two lines. However, if the sequencer 820 of the image processing input circuit 220 in FIG. 7 can perform access processing to the shared buffer 660 in units of one line, it goes without saying that the first to third embodiments are established.

また、前述の各実施例の処理は、複数のハードウェアとソフトウエアの協同によって実現するようにしてもよい。この場合、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をコンピュータ等の処理装置(CPU、プロセッサ)にて実行することで実現できる。   Further, the processing of each of the above-described embodiments may be realized by cooperation of a plurality of hardware and software. In this case, it can be realized by executing software (program) acquired via a network or various storage media by a processing device (CPU, processor) such as a computer.

また、本発明は前述した実施例の機能をコンピュータに実現させるプログラムを記憶した記憶媒体を、システム或いは装置に供給することによって実現してもよい。   The present invention may also be realized by supplying a storage medium storing a program for causing a computer to realize the functions of the above-described embodiments to a system or apparatus.

Claims (21)

入力される画像データを複数のバンド領域に分割し、該分割したバンド領域内の部分画像データをバッファ経由で画像処理手段へ供給し、参照用データを参照して画像処理を実施する画像処理装置のための演算方法であって、
前記部分画像データの転送単位を取得する工程と、
前記部分画像データにおける第1データ量のデータと、該第1データ量のデータを処理するために参照される前記参照用データにおける第2データ量のデータと、が前記バッファの容量に収まるように、前記バッファの容量と前記転送単位とに基づいて、該第1データ量を前記部分画像データの転送量として取得する第2取得工程と、
前記転送量と前記転送単位とに基づいて、前記バンド領域の高さを取得する第3取得工程と
を有することを特徴とする演算方法。
An image processing apparatus that divides input image data into a plurality of band areas, supplies partial image data in the divided band areas to an image processing means via a buffer, and performs image processing with reference to reference data An arithmetic method for
Obtaining a transfer unit of the partial image data;
The first data amount data in the partial image data and the second data amount data in the reference data referred to for processing the first data amount data fit within the capacity of the buffer. A second acquisition step of acquiring the first data amount as the transfer amount of the partial image data based on the capacity of the buffer and the transfer unit ;
And a third acquisition step of acquiring a height of the band region based on the transfer amount and the transfer unit.
前記第2の取得工程では、前記参照用データを参照して前記部分画像データを処理するときに前記参照用データの繰り返しがある場合、該繰り返しを考慮した前記参照用データにおける前記第2データ量を用いて前記転送量を定めることを特徴とする請求項1に記載の演算方法。 In the second acquisition step, if the reference data is repeated when the partial image data is processed with reference to the reference data, the second data in the reference data considering the repetition. The calculation method according to claim 1, wherein the transfer amount is determined using an amount. 前記転送量と前記第2データ量とに従い、前記バッファに前記部分画像データおよび前記参照用データを格納する工程を更に有することを特徴とする請求項1に記載の演算方法。 The calculation method according to claim 1, further comprising a step of storing the partial image data and the reference data in the buffer according to the transfer amount and the second data amount . 前記バッファに格納されたバンド領域の高さに相当する前記部分画像データおよび前記参照用データから、バンド領域の長さ方向に連続するN画素(ここで、Nは1以上の整数)からなる各々の画素群を各々の格納されたデータから読み出す工程と、
前記部分画像データおよび前記参照用データを区別するための識別子を付加して、画像処理に必要な順番で前記各々の画素群を画像処理手段に提供する提供工程とを更に有することを特徴とする請求項3に記載の演算方法。
Each of N pixels (where N is an integer of 1 or more) continuous in the length direction of the band area from the partial image data corresponding to the height of the band area stored in the buffer and the reference data Reading out each pixel group from each stored data;
A providing step of adding an identifier for distinguishing the partial image data and the reference data and providing each pixel group to the image processing means in an order necessary for image processing. The calculation method according to claim 3.
前記読み出す工程では、バンド領域の高さ方向に1画素ずつ走査することを特徴とする請求項4に記載の演算方法。   The calculation method according to claim 4, wherein in the reading step, scanning is performed pixel by pixel in the height direction of the band region. 前記読み出す工程では、左端削除画素数と右端削除画素数の指定に従い、前記画像データおよび前記参照用データに対してバンド領域の長さ方向にトリミング処理を行うことを特徴とする請求項4に記載の演算方法。   5. The read-out process according to claim 4, wherein in the reading step, trimming processing is performed on the image data and the reference data in a length direction of a band area in accordance with designation of a left end deletion pixel number and a right end deletion pixel number. Calculation method. 前記読み出す工程では、バンド領域の長さ方向のトリミング処理後の前記画像データおよび前記参照用データに対して、上端糊代画素数、下端糊代画素数、左端糊代画素数、右端糊代画素数の指定に従い、端部を拡張することを特徴とする請求項6に記載の演算方法。   In the reading step, for the image data after the trimming process in the length direction of the band area and the reference data, the number of upper margin margin pixels, the number of lower margin margin pixels, the number of left margin margin pixels, the right margin margin pixel The calculation method according to claim 6, wherein the end portion is expanded according to the designation of the number. 前記Nが2以上の整数のときの前記提供工程では、N個の処理対象の画素から順次1画素ずつを前記画像処理手段に提供することを特徴とする請求項4に記載の演算方法。   5. The calculation method according to claim 4, wherein, in the providing step when N is an integer equal to or greater than 2, one pixel at a time is sequentially provided to the image processing unit from N pixels to be processed. 前記Nが2以上の整数のときの前記提供工程では、N個の処理対象の画素を同時に取得し、N個の前記画像処理手段へ同時に提供することを特徴とする請求項4に記載の演算方法。   5. The calculation according to claim 4, wherein, in the providing step when N is an integer of 2 or more, N pixels to be processed are simultaneously acquired and provided to the N image processing means simultaneously. Method. 前記画像処理手段は、画素に付加された前記識別子に従い、処理対象の部分画像データ、参照用データのいずれであるかを区別して受け取り、画像処理を行うことを特徴とする請求項4に記載の演算方法。 5. The image processing unit according to claim 4, wherein the image processing unit receives and distinguishes whether it is partial image data to be processed or reference data according to the identifier added to a pixel, and performs image processing. Calculation method. 画像処理装置であって、
入力される画像データを複数のバンド領域に分割した場合の該分割したバンド領域内の部分画像データにおける第1データ量のデータと、該第1データ量のデータを処理するために参照される参照用データにおける第2データ量のデータと、が該画像処理装置のバッファの容量に収まるように、前記バッファの容量と前記部分画像データの転送単位とに基づいて、該第1データ量を前記部分画像データの転送して取得し、該転送量と前記部分画像データの転送単位とに基づいてバンド領域の高さを取得する演算装置、により求められた該バンド領域の高さを保持する保持手段と、
入力される画像データを複数のバンド領域に分割する分割手段と、
該分割したバンド領域内の部分画像データをバッファ経由で取得し、参照用データを参照して画像処理を実施する画像処理手段と
を有することを特徴とする画像処理装置。
An image processing apparatus,
When the input image data is divided into a plurality of band areas, the data of the first data amount in the partial image data in the divided band area and the reference that is referred to for processing the data of the first data amount The first data amount is calculated based on the capacity of the buffer and the transfer unit of the partial image data so that the second data amount of data in the image data can be accommodated in the buffer capacity of the image processing apparatus . acquired by the transfer amount of the image data, holding the height of the band area obtained by the arithmetic unit, for obtaining the height of the band area on the basis of the transfer unit of the partial image data and the transfer amount Holding means;
A dividing means for dividing the input image data into a plurality of band regions;
An image processing apparatus comprising: image processing means for acquiring partial image data in the divided band region via a buffer and performing image processing with reference to reference data.
前記画像処理手段は、前記バッファに格納されたバンド領域の高さに相当する部分画像データおよび前記参照用データについて、バンド領域の長さ方向に連続するN画素(ここで、Nは1以上の整数)の各々の画素群を読み出し、前記部分画像データと前記参照用データとを区別するための識別子を付加して、画像処理に必要な順番で前記各々の画素群を該画像処理手段に入力する入力手段を有することを特徴とする請求項11に記載の画像処理装置。 For the partial image data corresponding to the height of the band area stored in the buffer and the reference data, the image processing means N pixels that are continuous in the length direction of the band area (where N is 1 or more) (Integer) pixel groups, an identifier for distinguishing the partial image data from the reference data is added, and the pixel groups are input to the image processing means in the order required for image processing. The image processing apparatus according to claim 11, further comprising an input unit configured to perform input. 前記入力手段は、バンド領域の高さ方向に1画素ずつ走査することを特徴とする請求項12に記載の画像処理装置。   The image processing apparatus according to claim 12, wherein the input unit scans one pixel at a time in the height direction of the band region. 前記入力手段は、左端削除画素数と右端削除画素数の指定に従い、前記画像データおよび前記参照用データに対してバンド領域の長さ方向にトリミング処理を行うことを特徴とする請求項12に記載の画像処理装置。   The input means performs a trimming process in a length direction of a band region on the image data and the reference data according to designation of a left end deletion pixel number and a right end deletion pixel number. Image processing apparatus. 前記入力手段では、バンド領域の長さ方向のトリミング処理後の前記画像データおよび前記参照用データに対して、上端糊代画素数、下端糊代画素数、左端糊代画素数、右端糊代画素数の指定に従い、端部を拡張することを特徴とする請求項14に記載の画像処理装置。   In the input means, with respect to the image data after the trimming process in the length direction of the band area and the reference data, the number of upper margin margin pixels, the number of lower margin margin pixels, the number of left margin margin pixels, and the right margin margin pixel The image processing apparatus according to claim 14, wherein the end portion is expanded in accordance with designation of the number. 前記入力手段は、前記Nが2以上の整数の場合に、N個の処理対象の画素から順次1画素ずつを前記画像処理手段に入力することを特徴とする請求項12に記載の画像処理装置。   The image processing apparatus according to claim 12, wherein when the N is an integer equal to or greater than 2, the input unit sequentially inputs pixels one by one from N pixels to be processed to the image processing unit. . 前記入力手段は、前記Nが2以上の整数の場合に、N個の処理対象の画素を同時に取得し、N個の前記画像処理手段へ同時に入力することを特徴とする請求項12に記載の画像処理装置。   13. The input unit according to claim 12, wherein when the N is an integer of 2 or more, the N processing target pixels are simultaneously acquired and input to the N image processing units at the same time. Image processing device. 前記画像処理手段は、画素に付加された識別子に基づいて処理対象の部分画像データと参照用データとのいずれであるかを判別して、前記画像処理を行うことを特徴とする請求項12に記載の画像処理装置。 The image processing means determines whether it is partial image data to be processed or reference data based on an identifier added to a pixel, and performs the image processing. The image processing apparatus described. 入力される画像データを複数のバンド領域に分割し、該分割したバンド領域内の部分画像データをバッファ経由で画像処理手段へ供給し、参照用データを参照して画像処理を実施する画像処理装置に対して設定する、バンド領域の高さを取得する演算装置であって、
前記部分画像データの転送単位を取得する取得手段と、
前記部分画像データにおける第1データ量のデータと、該第1データ量のデータを処理するために参照される前記参照用データにおける第2データ量のデータと、が前記バッファの容量に収まるように、前記バッファの容量と前記転送単位とに基づいて、該第1データ量を前記部分画像データの転送量として取得する第2取得手段と、
前記転送量と前記転送単位とに基づいて、前記バンド領域の高さを取得する第3取得手段と
を有することを特徴とする演算装置。
An image processing apparatus that divides input image data into a plurality of band areas, supplies partial image data in the divided band areas to an image processing means via a buffer, and performs image processing with reference to reference data An arithmetic unit for obtaining the height of the band region set for
Obtaining means for obtaining a transfer unit of the partial image data;
The first data amount data in the partial image data and the second data amount data in the reference data referred to for processing the first data amount data fit within the capacity of the buffer. Second acquisition means for acquiring the first data amount as the transfer amount of the partial image data based on the capacity of the buffer and the transfer unit ;
An arithmetic device comprising: third acquisition means for acquiring the height of the band region based on the transfer amount and the transfer unit.
入力される画像データを複数のバンド領域に分割した場合の該分割したバンド領域内の部分画像データにおける第1データ量のデータと、該第1データ量のデータを処理するために参照される参照用データにおける第2データ量のデータと、が画像処理装置のバッファの容量に収まるように、前記バッファの容量と前記部分画像データの転送単位とに基づいて、該第1データ量を前記部分画像データの転送して取得し、該転送量と前記部分画像データの転送単位とに基づいてバンド領域の高さを取得する演算装置、により求められた該バンド領域の高さを保持する保持手段を有する該画像処理装置を、
入力される画像データを複数のバンド領域に分割する分割手段、
該分割したバンド領域内の部分画像データをバッファ経由で取得し、参照用データを参照して画像処理を実施する画像処理手段
として機能させるためのコンピュータプログラム。
When the input image data is divided into a plurality of band areas, the data of the first data amount in the partial image data in the divided band area and the reference that is referred to for processing the data of the first data amount The first data amount is calculated based on the buffer capacity and the transfer unit of the partial image data so that the data of the second data amount in the data for use can be accommodated in the buffer capacity of the image processing apparatus . acquired by the transfer amount of data, holding the height of the band area obtained by the arithmetic unit, for obtaining the height of the band area on the basis of the transfer unit of the partial image data and the transfer amount holding The image processing apparatus having means,
A dividing means for dividing input image data into a plurality of band regions;
A computer program for obtaining partial image data in the divided band area via a buffer and functioning as image processing means for performing image processing with reference to reference data.
入力される画像データを複数のバンド領域に分割し、該分割したバンド領域内の部分画像データをバッファ経由で画像処理手段へ供給し、参照用データを参照して画像処理を実施する画像処理装置に対して設定する、バンド領域の高さを取得する演算装置を、
前記部分画像データの転送単位を取得する取得手段、
前記部分画像データにおける第1データ量のデータと、該第1データ量のデータを処理するために参照される前記参照用データにおける第2データ量のデータと、が前記バッファの容量に収まるように、前記バッファの容量と前記転送単位とに基づいて、該第1データ量を前記部分画像データの転送量として取得する第2取得手段、
前記転送量と前記転送単位とに基づいて、前記バンド領域の高さを取得する第3取得手段
として機能させるためのコンピュータプログラム。
An image processing apparatus that divides input image data into a plurality of band areas, supplies partial image data in the divided band areas to an image processing means via a buffer, and performs image processing with reference to reference data An arithmetic unit that acquires the height of the band region set for
Obtaining means for obtaining a transfer unit of the partial image data;
The first data amount data in the partial image data and the second data amount data in the reference data referred to for processing the first data amount data fit within the capacity of the buffer. Second acquisition means for acquiring the first data amount as the transfer amount of the partial image data based on the capacity of the buffer and the transfer unit ;
A computer program for functioning as third acquisition means for acquiring the height of the band area based on the transfer amount and the transfer unit.
JP2013048475A 2013-03-11 2013-03-11 Arithmetic method, arithmetic device, image processing device, and program Active JP5597272B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013048475A JP5597272B2 (en) 2013-03-11 2013-03-11 Arithmetic method, arithmetic device, image processing device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013048475A JP5597272B2 (en) 2013-03-11 2013-03-11 Arithmetic method, arithmetic device, image processing device, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009124720A Division JP5222227B2 (en) 2009-05-22 2009-05-22 Image processing method, image processing apparatus, and program

Publications (2)

Publication Number Publication Date
JP2013109784A JP2013109784A (en) 2013-06-06
JP5597272B2 true JP5597272B2 (en) 2014-10-01

Family

ID=48706407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013048475A Active JP5597272B2 (en) 2013-03-11 2013-03-11 Arithmetic method, arithmetic device, image processing device, and program

Country Status (1)

Country Link
JP (1) JP5597272B2 (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3652231B2 (en) * 2000-09-21 2005-05-25 キヤノン株式会社 Image reading apparatus, control method therefor, and storage medium
JP2003150145A (en) * 2001-11-09 2003-05-23 Nec Corp Image display method and portable information equipment
JP4075546B2 (en) * 2002-07-17 2008-04-16 セイコーエプソン株式会社 Image processing device
JP4594042B2 (en) * 2004-11-12 2010-12-08 キヤノン株式会社 Image processing method, image processing apparatus, and computer program
JP2006264257A (en) * 2005-03-25 2006-10-05 Seiko Epson Corp Image processing apparatus for performing image processing in band unit
JP4349370B2 (en) * 2006-01-18 2009-10-21 セイコーエプソン株式会社 Image processing apparatus and image processing program for superimposing images
JP2008090814A (en) * 2006-09-08 2008-04-17 Seiko Epson Corp Printer, image retrieval method and image retrieval program
JP4795264B2 (en) * 2007-02-06 2011-10-19 キヤノン株式会社 Scan conversion device and scan conversion method
JP5264126B2 (en) * 2007-09-07 2013-08-14 キヤノン株式会社 Image processing apparatus, control method therefor, and program

Also Published As

Publication number Publication date
JP2013109784A (en) 2013-06-06

Similar Documents

Publication Publication Date Title
US10027848B2 (en) Image processing apparatus and control method for applying spatial filters to images
JP5222227B2 (en) Image processing method, image processing apparatus, and program
JP2010282429A (en) Image processing device and control method thereof
US9531911B2 (en) Data processing apparatus, data processing method and storage medium for storing image data
US8520948B2 (en) Image processing apparatus and image processing method
US9569703B2 (en) Data transfer apparatus and method thereof
US8928782B2 (en) Image processing device and image capture device
US9786250B2 (en) Control apparatus, image processing apparatus, control method, and non-transitory computer-readable storage medium
JP4594042B2 (en) Image processing method, image processing apparatus, and computer program
JP5597272B2 (en) Arithmetic method, arithmetic device, image processing device, and program
JP6463437B2 (en) Image processing apparatus, control method therefor, and program
JP5567790B2 (en) Image processing apparatus, control method therefor, and program
JP5671635B2 (en) Image processing apparatus and control method thereof
CN111105356A (en) Image processing method, image processing apparatus, and computer-readable storage medium
JP6808712B2 (en) Image processing device, its control method, and program
JPH11168610A (en) Image processor
JP6779263B2 (en) Data processing equipment and methods and programs
JP5885780B2 (en) Image processing apparatus, control method therefor, and program
JP2016076279A (en) Image processing device and control method of the same, and program
JP2014036361A (en) Image processing device, control method therefor, and control program
JPH09231350A (en) Image processing method and its device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140311

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: 20140711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140808

R151 Written notification of patent or utility model registration

Ref document number: 5597272

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151