JP4482356B2 - Image processing method and image processing apparatus using SIMD processor - Google Patents

Image processing method and image processing apparatus using SIMD processor Download PDF

Info

Publication number
JP4482356B2
JP4482356B2 JP2004080367A JP2004080367A JP4482356B2 JP 4482356 B2 JP4482356 B2 JP 4482356B2 JP 2004080367 A JP2004080367 A JP 2004080367A JP 2004080367 A JP2004080367 A JP 2004080367A JP 4482356 B2 JP4482356 B2 JP 4482356B2
Authority
JP
Japan
Prior art keywords
data
label
temporary
memory
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004080367A
Other languages
Japanese (ja)
Other versions
JP2005267362A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004080367A priority Critical patent/JP4482356B2/en
Publication of JP2005267362A publication Critical patent/JP2005267362A/en
Application granted granted Critical
Publication of JP4482356B2 publication Critical patent/JP4482356B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、SIMD型マイクロプロセッサを用いる画像処理方法及び画像処理装置に関する。   The present invention relates to an image processing method and an image processing apparatus using a SIMD type microprocessor.

2値画像データに対する一般的な画像処理として、連結している特徴画素に対し同一のラベル(例えば昇順の番号)を割り付けていくラベリング処理がある。   As a general image process for binary image data, there is a labeling process in which the same label (for example, ascending numbers) is assigned to connected feature pixels.

連結の仕方には、対象画素の上下左右の4画素との連結を判定する4連結の考え方と、その4連結に斜め方向を加えた周囲8画素との連結を判定する8連結の考え方があるが、本明細書では、すべて4連結の考え方を例にとって説明を進める。記憶装置に2次元状に配置された2値画像データに対してラベリング処理を行う場合、例えば、対象画素からみて左に隣接している画素、又は上に隣接している画素に対する処理結果を参照しながら、2値画像データを左上端の画素から順に、右方向(主走査方向)及び下方向(副走査方向)に走査していく逐次処理を行わなければならない。この逐次処理では、処理時間が膨大になってしまう。   As a method of connection, there are a four-connection concept for determining the connection between the upper, lower, left, and right four pixels of the target pixel, and an eight-connection concept for determining the connection with the surrounding eight pixels by adding an oblique direction to the four connections. However, in the present specification, the explanation will be made with the concept of all four connections as an example. When labeling processing is performed on binary image data arranged two-dimensionally in the storage device, for example, refer to the processing result for the pixel adjacent to the left as viewed from the target pixel or the pixel adjacent to the top. However, sequential processing must be performed in which binary image data is scanned in the right direction (main scanning direction) and the lower direction (sub-scanning direction) in order from the upper left pixel. In this sequential processing, the processing time becomes enormous.

また、前方での処理により異なるラベル(仮ラベル)が割り付けられた2つ以上の領域が、後方での処理により連結した場合(連結した領域であることが判明した場合)には、仮ラベルの値を更新し、同一のラベル値を割り付け直さなければならない。この処理を実現するには、まず各仮ラベル間の接続情報を記憶しておき、すべての画素に対する仮ラベリング処理終了後に、その接続情報を参照しながら、連結しているすべての特徴画素に対して同一のラベルが割り付けられるまで、画像データに対する走査を繰り返していく処理(本ラベリング処理)をすることが考えられる。しかし、異なるラベルの割り付けられた複数の領域が間接的に連結している場合等には、接続情報の記憶方法を工夫しなければ、膨大な記憶領域が必要となる可能性や、ラベル間の接続情報が一部失われてしまう可能性が生じる。   In addition, when two or more areas to which different labels (temporary labels) are assigned by the process in the front are connected by the process in the rear (when it is determined that they are connected areas), the temporary label The value must be updated and the same label value reassigned. To realize this process, first, the connection information between the temporary labels is stored, and after the provisional labeling process for all the pixels is completed, the connection information is referred to for all the connected characteristic pixels. Until the same label is assigned, it is conceivable to perform a process of repeatedly scanning the image data (this labeling process). However, if multiple areas with different labels are indirectly linked, etc., there is a possibility that an enormous storage area may be required unless the connection information storage method is devised. There is a possibility that a part of the connection information is lost.

ところで、SIMD型マイクロプロセッサでは、複数のデータに対して1つの命令で同時に同一の演算処理を実行できる。この構造により、SIMD型マイクロプロセッサは、データ量が非常に多いが同一演算を一斉に行うような処理(例えばデジタルコピアなどにおける画像処理)において頻用される。   By the way, the SIMD type microprocessor can simultaneously execute the same arithmetic processing with respect to a plurality of data with one instruction. With this structure, the SIMD type microprocessor is frequently used in processing (for example, image processing in a digital copier, etc.) that performs the same operation all at once although the amount of data is very large.

SIMD型マイクロプロセッサにおける通常の画像処理では、複数の演算ユニット(Processor Element [PE]; プロセッサエレメント)を主走査方向に並べ、同一の演算を同時に複数のデータに対して実行することで高速な演算処理が可能となっている。   In normal image processing in a SIMD type microprocessor, a plurality of arithmetic units (Processor Element [PE]; processor elements) are arranged in the main scanning direction, and high-speed arithmetic is performed by simultaneously executing the same arithmetic on a plurality of data. Processing is possible.

このSIMD型マイクロプロセッサでも、上述のラベリング処理をいかに行うかが課題として挙げられる。   Even in this SIMD type microprocessor, how to perform the above-described labeling process is an issue.

そこで、特許文献1では、仮ラベリング処理の際に行う画像データに対する処理を一部SIMDプロセッサで一度に並列に処理することにより、ラベリング処理の処理時間を低減している。しかし、各画素毎に行う処理が複雑であるため、仮ラベリング処理のためにSIMDプロセッサに追加するハードウエアが大きくなってしまう。   Therefore, in Patent Document 1, the processing time of the labeling process is reduced by processing a part of the image data performed in the provisional labeling process in parallel by a part of the SIMD processor. However, since the processing to be performed for each pixel is complicated, hardware to be added to the SIMD processor for temporary labeling processing becomes large.

また、特許文献2では、2次元状に配置された画像データを、斜め方向の画素ごとに並列に、左に隣接している画素と上に隣接している画素に既に割り付けられた仮ラベル値を参照しがら、仮ラベリング処理を行うことで、仮ラベリング処理の際に行う画像データに対する処理をすべてSIMDプロセッサによる並列処理で実現しているが、斜め方向の画素ごとに並列に行う処理のために、1ライン中に存在する画素数より多くのPEを必要とするためSIMD演算の処理能力が落ちてしまう。
特許第2734959号公報 特開2002−230540公報
Further, in Patent Literature 2, image data arranged in a two-dimensional manner is converted into temporary label values that are already assigned to pixels adjacent to the left and pixels adjacent to the top in parallel for each pixel in the diagonal direction. With reference to the above, the provisional labeling process performs all the processing on the image data performed in the provisional labeling process by the parallel processing by the SIMD processor. In addition, since more PEs are required than the number of pixels existing in one line, the processing capacity of SIMD calculation is reduced.
Japanese Patent No. 2734959 JP 2002-230540 A

本発明は、SIMD型マイクロプロセッサにデータ制御装置、記憶装置等の簡単なハードウェアを追加し、仮ラベリング処理の一部をSIMD型マイクロプロセッサで一度に並列に処理することで処理時間を低減し、複雑な図形の2値画像データが与えられた場合も効率よくラベリング処理を行うことを目的とする。更に、仮ラベリング処理にて所定のメモリにアクセスする回数を低減させて仮ラベリング処理が高速化することを目的とする。   The present invention reduces the processing time by adding simple hardware such as a data control device and a storage device to the SIMD type microprocessor, and processing a part of the provisional labeling process in parallel by the SIMD type microprocessor. An object of the present invention is to efficiently perform labeling processing even when binary image data of a complicated figure is given. It is another object of the present invention to speed up the temporary labeling process by reducing the number of times a predetermined memory is accessed in the temporary labeling process.

本発明は、上記の目的を達成するためになされたものである。
本発明に係る請求項に記載の画像処理装置は、
複数のデータを処理するための複数のプロセッサエレメントを有するSIMD型マイクロプロセッサと、
各プロセッサエレメントが内蔵している汎用レジスタにプロセッサ外部からアクセスするためのデータ転送用ポートに接続されたデータ制御装置とを含み、
2次元状に配置された2値画像データに対して、主走査方向に隣接している画素が連結しているかどうかの判定を該データ制御装置において行うことにより仮ラベリング処理を行う画像処理装置である。その画像処理装置において、
該データ転送用ポートから読み出した画素データを記憶するデータレジスタと、
該データ制御装置が新規に仮ラベルを発生させるラベルカウンタと、
1つ前の画素に割り付けた仮ラベルを記憶しておくラベルレジスタと、
連結している仮ラベル間の接続情報を記憶しておくメモリと、
該データ転送用ポートから読み出した画素データに割り付ける仮ラベルを、該データレジスタのデータ、該仮ラベルカウンタのデータ、該ラベルレジスタのデータ、及び、該メモリから読み出される仮ラベル間の接続情報から、決定するラベル制御装置と、
該メモリを制御するアドレス及びデータを該ラベル制御装置の処理結果から決定するメモリ制御装置と、
対象とする2値画像データに対して、主走査方向の左からも右からも画素データを順次読み出せるように該データ転送用ポートを制御する外部インタフェース制御部とを
備えることを特徴とする。
The present invention has been made to achieve the above object.
The image processing apparatus according to claim 1 according to the present invention,
A SIMD type microprocessor having a plurality of processor elements for processing a plurality of data;
A data control device connected to a data transfer port for accessing a general-purpose register built in each processor element from outside the processor;
An image processing apparatus that performs provisional labeling processing on binary image data arranged in a two-dimensional manner by determining whether or not adjacent pixels in the main scanning direction are connected in the data control apparatus. is there. In the image processing apparatus,
A data register for storing pixel data read from the data transfer port;
A label counter for newly generating a temporary label by the data control device;
A label register for storing a temporary label assigned to the previous pixel;
A memory for storing connection information between linked temporary labels;
The temporary label assigned to the pixel data read from the data transfer port is obtained from the data register data, the temporary label counter data, the label register data, and the connection information between the temporary labels read from the memory, A label controller to determine;
A memory control device for determining an address and data for controlling the memory from a processing result of the label control device;
And an external interface control unit that controls the data transfer port so that pixel data can be sequentially read from the left and the right in the main scanning direction with respect to the target binary image data.

本発明に係る請求項に記載の画像処理装置は、
上記メモリに格納されている仮ラベル間の接続情報をアドレスの昇順方向に1度だけ走査してチェックし、本ラベリング処理の際に欠番となる仮ラベルを見つけ、その欠番となる仮ラベルより大きな値の仮ラベルを、欠番となる仮ラベルがなくなるように前方にシフトさせることで、仮ラベル間の接続情報を、仮ラベルから本ラベルへと変換するためのテーブル変換データに更新するように構成されている、
請求項に記載の画像処理装置である。
An image processing apparatus according to claim 2 of the present invention is provided.
The connection information between the temporary labels stored in the memory is checked by scanning once in the ascending order of the address, and a temporary label that is missing is found during the labeling process, and is larger than the temporary label that is missing. The temporary label of the value is shifted forward so that there are no missing temporary labels, so that the connection information between the temporary labels is updated to the table conversion data for converting from the temporary label to the actual label. Being
An image processing apparatus according to claim 1 .

本発明に係る請求項に記載の画像処理装置は、
上記データ制御装置が、仮ラベルを割り付けた画素データを上記データ転送用ポートから順次読み出し、上記メモリに記憶されている仮ラベルを本ラベルに変換するためのテーブル変換データを参照することで、仮ラベルを本ラベルへと変換するように構成されている、
請求項1または2に記載の画像処理装置である。
An image processing apparatus according to claim 3 of the present invention is provided.
The data control device sequentially reads out the pixel data assigned the temporary label from the data transfer port, and refers to the table conversion data for converting the temporary label stored in the memory into the actual label. Configured to convert a label to a book label,
An image processing apparatus according to claim 1 .

本発明に係る請求項に記載の画像処理装置は、
上記データ制御装置はその外部に処理中の画像データを一時記憶しておくためのラインバッファを有し、画像データの主走査方向の左側から走査して行った仮ラベリング処理後の画像データを1ライン分の処理が終了するまで貯えていき、
1ライン分の処理終了後に、該ラインバッファに貯えた画像データを主走査方向の右側から読み出していき仮ラベリング処理を行えるように構成されている、
請求項1乃至3のうちのいずれか一つに記載の画像処理装置である。

An image processing apparatus according to claim 4 of the present invention is provided.
The data control device has a line buffer for temporarily storing image data being processed outside of the data control device, and the image data after provisional labeling processing performed by scanning from the left side in the main scanning direction of the image data is 1 Store until line processing is complete,
After the processing for one line is completed, the image data stored in the line buffer is read from the right side in the main scanning direction so that temporary labeling processing can be performed.
The image processing apparatus according to claim 1 .

本発明を利用することにより、以下のような効果を得ることができる。   By using the present invention, the following effects can be obtained.

仮ラベリング処理の際に主走査方向の画素の連結を判定する処理を、対象ライン毎に主走査方向の左からと右からの2度走査して行い、異なる仮ラベル間の接続情報を更新するための処理を低減することで、仮ラベリング処理を高速に行うことができ、接続情報の記述の仕方を工夫することで、接続情報を記憶するために用いるメモリの要領を節約することができる。   The process of determining the connection of pixels in the main scanning direction during the temporary labeling process is performed by scanning twice from the left and the right in the main scanning direction for each target line, and the connection information between different temporary labels is updated. The provisional labeling process can be performed at a high speed by reducing the processing for the connection, and the procedure for describing the connection information can be devised to save the memory used for storing the connection information.

上記の仮ラベリング処理は、SIMD型マイクロプロセッサに簡単なハードウェア(データ制御装置、メモリなど)を追加することで実現できる。同様に、簡単なハードウェアを追加することにより、仮ラベル間の接続情報を、本ラベリング処理の際に使用するテーブル変換データへと更新することができるようになり、更に本ラベリング処理も実現できるようになる。   The provisional labeling process can be realized by adding simple hardware (data control device, memory, etc.) to the SIMD type microprocessor. Similarly, by adding simple hardware, the connection information between temporary labels can be updated to the table conversion data used in the main labeling process, and the main labeling process can also be realized. It becomes like this.

以下、図面を参照して本発明に係る好適な実施の形態を説明する。   DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments according to the present invention will be described below with reference to the drawings.

図11は、本発明に係る画像処理装置の構成を示すブロック図である。該画像処理装置は、SIMD型マイクロプロセッサ2、及びデータ制御装置11を含む。更に該SIMD型マイクロプロセッサ2は、概略、グローバルプロセッサ4、レジスタファイル6、演算アレイ8、及び外部インタフェース7から構成される。   FIG. 11 is a block diagram showing the configuration of the image processing apparatus according to the present invention. The image processing apparatus includes a SIMD type microprocessor 2 and a data control apparatus 11. Further, the SIMD type microprocessor 2 is generally composed of a global processor 4, a register file 6, an operation array 8, and an external interface 7.

(1)グローバルプロセッサ4
このグローバルプロセッサ4そのものは、いわゆるSISD(Single Instruction Stream, Single Data Stream)型のプロセッサである。プログラムRAM10とデータRAM12を内蔵し(図12参照)、プログラムを解読し各種制御信号を生成する。この制御信号は内蔵する各種ブロックの制御以外に、レジスタファイル6、演算アレイ8、及びデータ制御装置11にも供給される。また、GP(グローバルプロセッサ)命令実行時は内蔵する汎用レジスタ、ALU(算術論理演算器)等を使用して各種演算処理、プログラム制御処理を行う。
(1) Global processor 4
The global processor 4 itself is a so-called SISD (Single Instruction Stream, Single Data Stream) type processor. A program RAM 10 and a data RAM 12 are built in (see FIG. 12), and the program is decoded to generate various control signals. This control signal is supplied to the register file 6, the arithmetic array 8, and the data control device 11 in addition to the control of various built-in blocks. When a GP (global processor) instruction is executed, various arithmetic processes and program control processes are performed using a built-in general-purpose register, an ALU (arithmetic logic unit), and the like.

(2)レジスタファイル6
PE(プロセッサエレメント)命令で処理されるデータを保持している。PE(プロセッサエレメント)3は、公知のように、SIMD(Single Instruction−Stream,Multiple Data−Stream)型マイクロプロセッサにおいて個別の演算を実行する構成単位である。図12のレジスタファイル6及び演算アレイ8が示すように、図12のSIMD型マイクロプロセッサ2では256個のPE3を含んでいる。PE命令はSIMD型の命令であり、レジスタファイル6に保持されている複数のデータに同時に同じ処理を行う。このレジスタファイル6からのデータの読み出し/書き込みの制御はグローバルプロセッサ4からの制御によって行われる。読み出されたデータは演算アレイ8に送られ、演算アレイ8での演算処理後にレジスタファイル6に書き込まれる。
(2) Register file 6
It holds data processed by PE (processor element) instructions. As is well known, the PE (processor element) 3 is a structural unit that executes individual operations in a single instruction-stream (SIMD) type microprocessor. As shown in the register file 6 and the operation array 8 in FIG. 12, the SIMD type microprocessor 2 in FIG. 12 includes 256 PE3. The PE instruction is a SIMD type instruction, and simultaneously performs the same processing on a plurality of data held in the register file 6. Control of reading / writing of data from the register file 6 is performed by control from the global processor 4. The read data is sent to the arithmetic array 8 and is written in the register file 6 after the arithmetic processing in the arithmetic array 8.

また、レジスタファイル6は、外部インタフェース7を介してプロセッサ外部のデータ制御装置11からのアクセスが可能であり、グローバルプロセッサ4の制御とは別に、外部から特定のレジスタに対して読み出し/書き込みが行われる。   Further, the register file 6 can be accessed from the data control device 11 outside the processor via the external interface 7, and read / write to a specific register is performed from the outside separately from the control of the global processor 4. Is called.

(3)演算アレイ8
PE命令の演算処理が行われる。処理の制御はすべてグローバルプロセッサ4から行われる。
(3) Arithmetic array 8
Processing of PE instruction is performed. All processing control is performed from the global processor 4.

(4)データ制御装置11
外部インタフェース7のポートに、クロックとアドレス、リード/ライト制御を出力し、任意のPE3のレジスタから、データを読み出し、データ処理することができる。処理の制御はすべてグローバルプロセッサ4から行われる。
(4) Data control device 11
The clock, address, and read / write control are output to the port of the external interface 7, and data can be read from the register of any PE3 and processed. All processing control is performed from the global processor 4.

図12は、本発明に係るSIMD型マイクロプロセッサ2の、更に詳細な構成を示すブロック図である。   FIG. 12 is a block diagram showing a more detailed configuration of the SIMD type microprocessor 2 according to the present invention.

グローバルプロセッサ4には、本プロセッサ2のプログラム格納用のプログラムRAM10と、演算データ格納用のデータRAM12が内蔵されている。さらに、プログラムのアドレスを保持するプログラムカウンタ(PC)14、演算処理のデータ格納のための汎用レジスタであるG0、G1、G2及びG3レジスタ(16、18、20、22)、レジスタ退避・復帰時に退避先データRAMのアドレスを保持しているスタックポインタ(SP)24、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ(LS)26、同じくIRQ(Interrupt ReQuest;割込み要求)時とNMI(Non−Maskable Interrupt request;禁止不能割込み要求)時の分岐元アドレスを保持するLIレジスタ28及びLNレジスタ30、プロセッサの状態を保持しているプロセッサステータスレジスタ(P)32が内蔵されている。   The global processor 4 includes a program RAM 10 for storing the program of the processor 2 and a data RAM 12 for storing operation data. Furthermore, a program counter (PC) 14 that holds a program address, G0, G1, G2, and G3 registers (16, 18, 20, and 22), which are general-purpose registers for storing data for arithmetic processing, A stack pointer (SP) 24 that holds the address of the save destination data RAM, a link register (LS) 26 that holds the address of the call source at the time of a subroutine call, and an NMI (Non-Non−) when IRQ (Interrupt Request) A LI register 28 and an LN register 30 that hold a branch source address at the time of maskable interrupt request (inhibit disable interrupt request), and a processor status register (P) 32 that holds the state of the processor are incorporated.

これらのレジスタと、(図示していない)命令デコーダ、ALU、メモリ制御回路、割り込み制御回路、外部I/O制御回路、及びGP演算制御回路を使用して、GP命令の実行が行われる。   The GP instruction is executed using these registers, an instruction decoder (not shown), an ALU, a memory control circuit, an interrupt control circuit, an external I / O control circuit, and a GP operation control circuit.

また、PE命令実行時には、命令デコーダ(図示せず)、レジスタファイル制御回路(図示せず)、PE演算制御回路(図示せず)を使用して、レジスタファイル6の制御と演算アレイ8の制御を行う。   When executing the PE instruction, the instruction decoder (not shown), the register file control circuit (not shown), and the PE operation control circuit (not shown) are used to control the register file 6 and the operation array 8. I do.

レジスタファイル6には、1つのPE単位に8ビットのレジスタが32本内蔵されており、256PE分の(32本の)組がアレイ構成になっている。レジスタ34はPE毎にR0、R1、R2、・・・R31と呼ばれる。それぞれのレジスタ34は演算アレイに対して1つの読み出しポートと1つの書き込みポートを備えており、8ビットのリード/ライト兼用のバスで演算アレイからアクセスされる。32本のレジスタの内、24本(R0〜R23)は外部インタフェース7を介してプロセッサ外部からアクセス可能であり、外部からクロック(CLK)とアドレス(Address)、リード/ライト制御(RWB)を入力することで、任意のレジスタ34に対して読み書きできる。   The register file 6 incorporates 32 8-bit registers in one PE unit, and (32) sets of 256 PEs have an array configuration. The register 34 is called R0, R1, R2,... R31 for each PE. Each register 34 has one read port and one write port for the arithmetic array, and is accessed from the arithmetic array by an 8-bit read / write bus. Of the 32 registers, 24 (R0 to R23) are accessible from the outside of the processor via the external interface 7, and the clock (CLK), address (Address), and read / write control (RWB) are input from the outside. By doing so, it is possible to read / write from / to any register 34.

レジスタ34の外部からのアクセスにおいて、1つの外部ポートで各PEの1つのレジスタ34がアクセス可能である。外部から入力されたアドレスでPEの番号(0〜255)が指定される。したがって、レジスタアクセスの外部ポートは全部で24組搭載されている。また、外部からのアクセスは16ビットデータで行い、1回のアクセスで2つのレジスタ(偶数のPEのレジスタと奇数のPEレジスタの1組)に同時にアクセスしている。   In accessing from the outside of the register 34, one register 34 of each PE can be accessed by one external port. The PE number (0 to 255) is designated by an address input from the outside. Therefore, a total of 24 external ports for register access are installed. Further, external access is performed with 16-bit data, and two registers (one set of even-numbered PE registers and odd-numbered PE registers) are accessed simultaneously by one access.

演算アレイ8は、16ビットALU36と16ビットAレジスタ38、Fレジスタ40を内蔵している。PE命令による演算は、レジスタファイル6から読み出されたデータ若しくはグローバルプロセッサ4から与えられたデータをALU36の片側の入力とし、Aレジスタ38の内容をもう片側の入力として行われる。演算結果はAレジスタ38に格納される。したがって、R0〜R31レジスタ34若しくはグローバルプロセッサ4から与えられたデータと、Aレジスタ38に格納されるデータとの、演算が通常行われることになる。   The arithmetic array 8 includes a 16-bit ALU 36, a 16-bit A register 38, and an F register 40. The operation by the PE instruction is performed by using the data read from the register file 6 or the data supplied from the global processor 4 as an input on one side of the ALU 36 and the content of the A register 38 as an input on the other side. The calculation result is stored in the A register 38. Therefore, an operation is normally performed on the data supplied from the R0 to R31 register 34 or the global processor 4 and the data stored in the A register 38.

レジスタファイル6と演算アレイ8との接続に、7to1(7対1)のマルチプレクサ42が置かれている。図12に示すように、あるマルチプレクサ42から見て、左方向の3つのPE3に含まれるR0〜R31レジスタ34のデータと、右方向の3つのPE3に含まれるR0〜R31レジスタ34のデータと、自らが属するPE3に含まれるR0〜R31レジスタ34のデータを、演算対象として選択し得るように設定されている。また、レジスタファイル6の8ビットのデータは、シフト・拡張回路44により任意ビットだけ、左シフトしてALU36に入力する。   A 7 to 1 (7 to 1) multiplexer 42 is placed between the register file 6 and the operation array 8. As shown in FIG. 12, when viewed from a certain multiplexer 42, the data in the R0-R31 register 34 included in the three PE3 in the left direction, the data in the R0-R31 register 34 included in the three PE3 in the right direction, It is set so that the data in the R0 to R31 register 34 included in the PE 3 to which it belongs can be selected as an operation target. The 8-bit data of the register file 6 is shifted to the left by an arbitrary bit by the shift / extension circuit 44 and input to the ALU 36.

さらに、8ビットの条件レジスタ(図示せず)により、PE3別に演算実行の無効/有効の制御をしており、特定のPE3だけを演算対象として選択できるようになっている。   Furthermore, the execution / invalidation control of the operation is controlled for each PE 3 by an 8-bit condition register (not shown), and only a specific PE 3 can be selected as an operation target.

≪第1の実施の形態≫
まず、本発明の第1の実施の形態に係る画像処理方法を説明する(図1、図2参照)。以下では、図3(1)のような9×9の2値化された画像データが与えられた場合のラベリング処理を例にとる。2値画像データは、PE3のレジスタファイル6上に2次元状に配置されているとする。通常、画像データの1ライン中の画素数はPE数より多い。この場合は、図示はしないが外部インタフェース7にデータ転送装置11、及びラインバッファとしてのメモリ15を配置し、このメモリ(ラインバッファ)15に画像データを格納して、処理に応じてPE3のレジスタファイル6に画像データを順次転送すればよい。
<< First Embodiment >>
First, an image processing method according to the first embodiment of the present invention will be described (see FIGS. 1 and 2). In the following, an example of labeling processing when 9 × 9 binarized image data as shown in FIG. It is assumed that the binary image data is arranged two-dimensionally on the register file 6 of PE3. Usually, the number of pixels in one line of image data is larger than the number of PEs. In this case, although not shown, a data transfer device 11 and a memory 15 as a line buffer are arranged in the external interface 7, and image data is stored in the memory (line buffer) 15, and a register of the PE 3 is processed according to processing. The image data may be sequentially transferred to the file 6.

なお、本明細書では、画素の処理は、副走査方向では(特に図面上の)上から下へと行われるものとしている。一方、主走査方向では、特に、左から右へ行われるものと右から左へ行われるものとが存在している。   In this specification, pixel processing is performed from the top to the bottom (particularly on the drawing) in the sub-scanning direction. On the other hand, in the main scanning direction, there are particularly those performed from left to right and those performed from right to left.

本明細書で取り扱う2値画像データ、及び(仮)ラベルを以下のように定義する。
・2値画像データ
背景画素・・・0000h(図中では空欄で表す。)
特徴画素・・・8000h(図中では黒丸で表す。)
・(仮)ラベル・・・0001hから7FFFhの数(図中でも0001hから7FFFhまでの数で表す。)
なお、上記のような数字末尾の“h”は16進法表記であることを示す。
The binary image data and (temporary) label handled in this specification are defined as follows.
Binary image data Background pixel: 0000h (represented by a blank in the figure)
Characteristic pixel 8000h (represented by black circles in the figure)
-(Tentative) Label: Number from 0001h to 7FFFh (Indicated in the figure from 0001h to 7FFFh)
Note that “h” at the end of the number as described above indicates hexadecimal notation.

このような定義にした理由は、2値画像データにおいて背景画素と特徴画素の判別を16ビットのデータの最上位1ビットのみを判定すればよく、また、(仮)ラベルを含めて、0000hより大きな数は特徴画素であると判断すればよい、という処理の簡単さを考慮したからである。   The reason for this definition is that in the binary image data, the background pixel and the feature pixel need only be determined by the most significant 1 bit of the 16-bit data, and from 0000h including the (provisional) label. This is because the simplicity of processing in which a large number should be determined as a feature pixel is taken into consideration.

まず、仮ラベリング処理の流れについて説明する。第1の実施の形態に係る仮ラベリング処理は、以下の処理A1、及び処理B1に大きく分類される。
・処理A1・・・2値画像データにおいて副走査方向の画素の連結を判定する処理。この処理は図11に図示しているPE3の演算アレイ8において並列処理により行う。
・処理B1・・・2値画像データにおいて主走査方向の画素の連結を判定する処理。この処理は図11に図示しているPE3の外部インタフェース7に接続されているデータ制御装置11において逐次処理により行う。
First, the flow of the temporary labeling process will be described. The temporary labeling process according to the first embodiment is roughly classified into the following process A1 and process B1.
Process A1... Process for determining pixel connection in the sub-scanning direction in binary image data. This processing is performed by parallel processing in the arithmetic array 8 of PE3 shown in FIG.
Process B1... Process for determining the connection of pixels in the main scanning direction in the binary image data. This processing is performed by sequential processing in the data control device 11 connected to the external interface 7 of the PE 3 shown in FIG.

処理B1の中では、新規に仮ラベルを発生させるために15ビットのカウンタ(最大仮ラベル7fffhまで対応)を用いており、このカウンタを仮ラベルカウンタと呼ぶことにする。また、処理B1では仮ラベル間の接続情報を記憶するためのメモリ15を用いており、アドレスに仮ラベルを対応させ、データにその仮ラベルと連結している他の仮ラベルの値を記述している。アドレス値addrのメモリのデータをRAM[addr]と表記することとすると、具体的には以下のように接続情報を記憶している。
・RAM[addr]=8000h(初期値、ラベリング処理開始前に初期化)の時、仮ラベルaddrは存在しない。
・RAM[addr]=addrの時、仮ラベルaddrと連結している他の仮ラベルがない、もしくは連結している複数の仮ラベルの中で自身の値が一番小さい。
・RAM[addr]=A(A!=8000h、A!=addr)の時、仮ラベルaddrと仮ラベルAが連結している。
In the process B1, a 15-bit counter (corresponding to the maximum temporary label 7fffh) is used to newly generate a temporary label, and this counter is called a temporary label counter. In the process B1, the memory 15 for storing connection information between temporary labels is used. The temporary label is associated with the address, and the value of another temporary label connected to the temporary label is described in the data. ing. When the memory data of the address value addr is expressed as RAM [addr], specifically, connection information is stored as follows.
When RAM [addr] = 8000h (initial value, initialized before starting the labeling process), there is no temporary label addr.
When RAM [addr] = addr, there is no other temporary label connected to the temporary label addr, or its own value is the smallest among the plurality of connected temporary labels.
When RAM [addr] = A (A! = 8000h, A! = Addr), the temporary label addr and the temporary label A are connected.

続いて、処理A1、及び処理B1の処理の詳細である。
≪処理A1≫
<処理A1−1>
対象ラインから見て、1つ上のラインの画素データに仮ラベル(0001hから7fffh)が割り付けられており、かつ対象ラインの同一列の画素データが特徴画素(8000h)であれば、その仮ラベルを対象ラインにコピーする。
Then, it is the detail of the process A1 and the process B1.
<< Process A1 >>
<Process A1-1>
If a temporary label (0001h to 7fffh) is assigned to the pixel data of the line one line higher than the target line, and the pixel data in the same column of the target line is a feature pixel (8000h), the temporary label Is copied to the target line.

≪処理B1≫
処理B1では、対象画素に対して、以下の処理B1−1から処理B1−5の処理のいずれかを行う。どの処理を実行するかは、対象画素のデータと、対象画素の1つ前の画素(画像データを主走査方向の左から右に走査する場合は、対象画素の1つ左隣の画素)に割り付けた仮ラベルとの組み合わせにより決定される。また、処理B1では、仮ラベル間の接続情報を更新していく処理も併せて行う。
<< Process B1 >>
In the process B1, any of the following processes B1-1 to B1-5 is performed on the target pixel. Which process is executed depends on the data of the target pixel and the pixel immediately before the target pixel (when the image data is scanned from the left to the right in the main scanning direction, the pixel adjacent to the left of the target pixel). It is determined by a combination with the assigned temporary label. In the process B1, a process for updating the connection information between the temporary labels is also performed.

<処理B1−1>
対象画素が背景画素(0000h)の場合、そのまま0000hを対象画素に書き戻す。処理終了後の仮ラベルカウンタの値、対象画素のデータ、及び接続情報の更新処理については以下の通りである。
・仮ラベルカウンタの値:インクリメントなし
・対象画素のデータ:0000h
・接続情報の更新:何もしない
<Process B1-1>
When the target pixel is the background pixel (0000h), 0000h is written back to the target pixel as it is. The process of updating the value of the temporary label counter, the target pixel data, and the connection information after the process is as follows.
・ Temporary label counter value: No increment ・ Target pixel data: 0000h
・ Update connection information: Do nothing

<処理B1−2>
対象画素の1つ前の画素が背景画素(0000h)で、対象画素が特徴画素(8000h)の場合、仮ラベルカウンタの値を1インクリメントして新規に仮ラベルを発生させ、対象画素に割り付ける。処理終了後の仮ラベルカウンタの値、対象画素のデータ、及び接続情報の更新処理については以下の通りである。
・仮ラベルカウンタの値:1インクリメント
・対象画素のデータ:インクリメント後の仮ラベルカウンタの値
・接続情報の更新:RAM[仮ラベルカウンタの値]=仮ラベルカウンタの値
<Process B1-2>
When the pixel immediately before the target pixel is the background pixel (0000h) and the target pixel is the feature pixel (8000h), the value of the temporary label counter is incremented by 1, a new temporary label is generated, and assigned to the target pixel. The process of updating the value of the temporary label counter, the target pixel data, and the connection information after the process is as follows.
Temporary label counter value: 1 increment ・ Target pixel data: Temporary label counter value after incrementing ・ Update of connection information: RAM [temporary label counter value] = temporary label counter value

<処理B1−3>
対象画素の1つ前の画素が背景画素(0000h)で、対象画素が仮ラベル(値lab_A:0001hから7fffh)の場合、RAM[lab_A]の値を仮ラベルとして対象画素に割り付ける。処理終了後の仮ラベルカウンタの値、対象画素のデータ、及び接続情報の更新処理については以下の通りである。
・仮ラベルカウンタの値:インクリメントなし
・対象画素のデータ:RAM[lab_A]
・接続情報の更新:何もしない。
<Process B1-3>
When the pixel immediately before the target pixel is a background pixel (0000h) and the target pixel is a temporary label (value lab_A: 0001h to 7fffh), the value of RAM [lab_A] is assigned to the target pixel as a temporary label. The process of updating the value of the temporary label counter, the target pixel data, and the connection information after the process is as follows.
-Temporary label counter value: No increment-Target pixel data: RAM [lab_A]
・ Update connection information: Do nothing.

<処理B1−4>
対象画素の1つ前の画素が仮ラベル(値lab_A:0001hから7fffh)で、対象画素が特徴画素(8000h)の場合、1つ前の画素に割り付けた仮ラベルlab_Aと同一の仮ラベルを対象画素に割り付ける。処理終了後の仮ラベルカウンタの値、対象画素のデータ、及び接続情報の更新処理については以下の通り。
・仮ラベルカウンタの値:インクリメントなし
・対象画素のデータ:lab_A
・接続情報の更新:何もしない
<Process B1-4>
When the previous pixel of the target pixel is a temporary label (value lab_A: 0001h to 7fffh) and the target pixel is a feature pixel (8000h), the same temporary label as the temporary label lab_A assigned to the previous pixel is targeted Assign to pixels. The process of updating the value of the temporary label counter, the target pixel data, and the connection information after the process is as follows.
-Temporary label counter value: No increment-Target pixel data: lab_A
・ Update connection information: Do nothing

<処理B1−5>
対象画素の1つ前の画素が仮ラベル(値lab_A:0001hから7fffh)で、対象画素が仮ラベル(値lab_B:0001hから7fffh)の場合、lab_AとRAM[lab_B]の値を比較し、小さい方を仮ラベルとして対象画素に割り付ける。処理終了後の仮ラベルカウンタの値、対象画素のデータ、及び接続情報の更新処理については以下の通り。ここで、aとbの最小値をmin(a、b)、最大値をmax(a,b)と表記することとする。
・仮ラベルカウンタの値:インクリメントなし
・対象画素のデータ:min(lab_A、RAM[lab_B])
・接続情報の更新:RAM[max(lab_A、RAM[lab_B])]=min(lab_A、RAM[lab_B])
<Process B1-5>
When the pixel immediately before the target pixel is a temporary label (value lab_A: 0001h to 7fffh) and the target pixel is a temporary label (value lab_B: 0001h to 7fffh), the value of lab_A is compared with the value of RAM [lab_B] Is assigned to the target pixel as a temporary label. The process of updating the value of the temporary label counter, the target pixel data, and the connection information after the process is as follows. Here, the minimum value of a and b is expressed as min (a, b), and the maximum value is expressed as max (a, b).
-Temporary label counter value: No increment-Target pixel data: min (lab_A, RAM [lab_B])
Connection information update: RAM [max (lab_A, RAM [lab_B])] = min (lab_A, RAM [lab_B])

通常、上記の処理B1のような逐次処理による画素の連結処理を画像データの一方向からのみ行う場合には、異なる仮ラベル同士がぶつかり仮ラベル間の接続情報が更新される(処理B1−5のような処理)度に、存在する仮ラベルの分だけメモリ15のデータを調査し、各仮ラベルが自身と連結している他の仮ラベルの中で最も小さな値を接続情報として残すような処理を行わなければならず、存在する仮ラベルが多ければ多いほど、仮ラベリング処理にかかる時間が膨大なものとなってしまう。   Normally, when pixel concatenation processing by sequential processing such as the above processing B1 is performed only from one direction of image data, different temporary labels collide with each other, and the connection information between the temporary labels is updated (processing B1-5). Each time, the data in the memory 15 is checked for the number of existing temporary labels, and the smallest value among the other temporary labels connected to itself is left as connection information. Processing has to be performed, and the more temporary labels that are present, the more time is required for the temporary labeling processing.

本実施の形態では、逐次処理を行う主走査方向の画素の連結を、画像データの各ラインにおいて、主走査方向の左からと右からの2度行う。よって、対象ラインの中で連結している画素すべてに同一の仮ラベルを割り付けることになる。そうすると、上記の接続情報を書き直す処理を省略することができる。   In the present embodiment, pixels in the main scanning direction that perform sequential processing are connected twice from the left and right in the main scanning direction for each line of image data. Therefore, the same temporary label is assigned to all connected pixels in the target line. Then, the process for rewriting the connection information can be omitted.

図3(1)(2)(3)・・から、図8(19)までに、図3(1)の2値画像データに対して本実施の形態の仮ラベリング処理を行った例を示す。この一連の仮ラベリング処理例では、6ライン目、8ライン目の処理以外は、主走査方向の左からと右からの両方の処理が終了した時点での画像の状態を示している。   FIGS. 3 (1), (2), (3),... To FIG. 8 (19) show examples in which the temporary labeling processing of the present embodiment is performed on the binary image data of FIG. . This series of provisional labeling processing examples shows the state of the image at the time when both the processing from the left and the right in the main scanning direction is completed, except for the processing of the sixth line and the eighth line.

次に、図8(20)に示す仮ラベリング処理終了後の画像データに対して、連結している異なる仮ラベルに同一のラベルを割り付け直す本ラベリング処理について説明する。本ラベリング処理は、仮ラベリング処理の際に作成した仮ラベル間の接続情報をテーブル変換データとして行う。このとき、図8(20)に示すような仮ラベリング処理終了直後の接続情報をそのまま用い、仮ラベル1→1、仮ラベル2→2、仮ラベル3→2、仮ラベル4→2、仮ラベル5→3、仮ラベル6→5というように本ラベルを割り付けていくと、「ラベル4」のように欠番となるラベルがでてしまうことがある。   Next, a description will be given of the main labeling process in which the same label is reassigned to different connected temporary labels for the image data after the provisional labeling process shown in FIG. In the present labeling process, connection information between temporary labels created during the temporary labeling process is used as table conversion data. At this time, connection information immediately after the provisional labeling process as shown in FIG. 8 (20) is used as it is, provisional label 1 → 1, provisional label 2 → 2, provisional label 3 → 2, provisional label 4 → 2, provisional label. If this label is assigned such as 5 → 3 and temporary label 6 → 5, a missing label such as “label 4” may appear.

そのため、本ラベリング処理を行う前に、仮ラベル間の接続情報に対して以下の処理C1を行い、本ラベリング処理のための適正なテーブル変換データに書き直す処理が必要となる。処理C1では、本ラベルとして割り付けたラベル値をカウントするためのカウンタを1つ用いる。このカウンタを本ラベルカウンタと呼ぶことにする。   For this reason, before performing the main labeling process, the following process C1 is performed on the connection information between the temporary labels, and a process of rewriting the appropriate table conversion data for the main labeling process is required. In the process C1, one counter for counting the label value assigned as the actual label is used. This counter will be referred to as the present label counter.

≪処理C1≫
処理C1では、メモリ15のデータに対して以下の処理C1−1からC1−2のいずれかを、RAM[addr]=8000h(初期値、addrに対応する仮ラベルが存在しないことを示す。)となるまで、addrを1から昇順にインクリメントしていき実行していく。本ラベルカウンタは、処理開始前に“0000h”に初期化しておく。
<< Process C1 >>
In the process C1, any one of the following processes C1-1 to C1-2 is performed on the data in the memory 15, and RAM [addr] = 8000h (indicating that there is no temporary label corresponding to the initial value, addr). Until it becomes, addr is incremented from 1 in ascending order and executed. This label counter is initialized to “0000h” before the processing is started.

<処理C1−1>
RAM[addr]=addrのとき、本ラベルカウンタを1インクリメントし、インクリメント後の値をRAM[addr]に書き戻す。
<処理C1−2>
RAM[addr]!=addrのとき、RAM[RAM[addr]]の値をRAM[addr]に書き戻す。
<Process C1-1>
When RAM [addr] = addr, the label counter is incremented by 1, and the incremented value is written back to RAM [addr].
<Process C1-2>
RAM [addr]! When = addr, the value of RAM [RAM [addr]] is written back to RAM [addr].

図8(20)の接続情報に対して、上記処理C1を実行した結果を図9(21)に示す。まず本ラベルカウンタの初期値を0、addrの初期値を1とする。
RAM[1]=1
なのでインクリメント後のカウンタ値1をRAM[1]に書き戻し、
RAM[2]=2
なのでインクリメント後のカウンタ値2をRAM[2]に書き戻し、
RAM[3]=2(!=3)
なのでRAM[RAM[3]]=RAM[2]=2をRAM[3]に書き戻し、
というようにaddrの値を1ずつ順にインクリメントして実行していく。
RAM[7]=8000hとなるので、その時点で処理を終了する。
FIG. 9 (21) shows the result of executing the process C1 on the connection information of FIG. 8 (20). First, the initial value of this label counter is set to 0, and the initial value of addr is set to 1.
RAM [1] = 1
So, the incremented counter value 1 is written back to RAM [1],
RAM [2] = 2
So, the incremented counter value 2 is written back to RAM [2],
RAM [3] = 2 (! = 3)
So RAM [RAM [3]] = RAM [2] = 2 is written back to RAM [3],
In this way, the value of addr is incremented by 1 in order.
Since RAM [7] = 8000h, the processing ends at that time.

上記の処理C1の処理により作成したテーブル変換データを用いて行う本ラベリング処理を、処理D1として以下に記す。   This labeling process performed using the table conversion data created by the process C1 will be described as process D1 below.

≪処理D1≫
処理D1では、仮ラベリング処理終了後の画像データを主走査方向、副走査方向に順に走査し、対象画素について以下の処理D1−1から処理D1−2の処理のいずれかを行う。
<処理D1−1>
対象画素が背景画素(0000h)の場合、そのまま0000hを対象画素に書き戻す。
<処理D1−2>
対象画素が仮ラベル(値lab_A:0001hから7fffh)の場合、RAM[lab_A]を本ラベルとして対象画素に書き戻す。
<< Process D1 >>
In the process D1, the image data after the provisional labeling process is sequentially scanned in the main scanning direction and the sub-scanning direction, and any one of the following processes D1-1 to D1-2 is performed on the target pixel.
<Process D1-1>
When the target pixel is the background pixel (0000h), 0000h is written back to the target pixel as it is.
<Process D1-2>
When the target pixel is a temporary label (value lab_A: 0001h to 7fffh), RAM [lab_A] is written back to the target pixel as the main label.

図9(21)に示す仮ラベリング処理終了後の画像データに対して、処理D1の本ラベリング処理を行った結果を図9(22)に示す。   FIG. 9 (22) shows the result of performing the main labeling process D1 on the image data after the provisional labeling process shown in FIG. 9 (21).

図2にて、以上で説明した処理A1、B1、C1、D1による一連のラベリング処理の概略のフローチャートを示す。   FIG. 2 shows a schematic flowchart of a series of labeling processes by the processes A1, B1, C1, and D1 described above.

≪第2の実施の形態≫
図1は、本発明の第2の実施の形態に係るデータ制御装置11の構成を示すブロック図である。第1の実施の形態に係るデータ制御装置11は、
・外部インタフェース7に対してクロック、アドレス、及びリード/ライト制御を供給することで外部インタフェースを制御する外部インタフェース制御部52、
・データ制御装置11に接続されている仮ラベル間の接続情報を記憶するためのメモリ15に対して、クロック、アドレス、リード/ライト制御、及びデータを供給することでメモリ15を制御するメモリ制御部64、
・外部インタフェース7を介してPE3のレジスタファイルから読み出される画素データと、メモリ15から読み出されるデータと、1つ前の処理で対象画素に隣接する画素に割り付けた仮ラベルの値を読み込み、対象画素に割り付けるべき仮ラベルの値を決定するラベル判定回路58、
・ラベル判定回路での判定結果にもとづいて(仮)ラベルを新規に発生させるカウンタ56、
・上記カウンタ56によって発生される仮ラベルと、仮ラベル割り付け済みの対象画素のデータと、1つ前の処理で対象画素に隣接する画素に割り付けた仮ラベルと、メモリから読み出されるデータが入力されており、上記ラベル判定回路58において仮ラベルとして判定されたデータを出力するマルチプレクサ60、
・マルチプレクサ60からデータを受け取り、そのデータを仮ラベルとして外部インタフェース7に書き戻すためのラベルレジスタ62
から構成されている。
<< Second Embodiment >>
FIG. 1 is a block diagram showing a configuration of a data control apparatus 11 according to the second embodiment of the present invention. The data control device 11 according to the first embodiment
An external interface control unit 52 that controls the external interface by supplying clock, address, and read / write control to the external interface 7;
Memory control for controlling the memory 15 by supplying clock, address, read / write control, and data to the memory 15 for storing connection information between temporary labels connected to the data control device 11 Part 64,
Read the pixel data read from the register file of PE3 via the external interface 7, the data read from the memory 15, and the value of the temporary label assigned to the pixel adjacent to the target pixel in the previous process, Label determination circuit 58 for determining the value of the temporary label to be assigned to
A counter 56 for newly generating a (temporary) label based on the determination result in the label determination circuit;
The temporary label generated by the counter 56, the data of the target pixel already assigned with the temporary label, the temporary label assigned to the pixel adjacent to the target pixel in the previous process, and the data read from the memory are input. A multiplexer 60 for outputting the data determined as the temporary label by the label determination circuit 58;
A label register 62 for receiving data from the multiplexer 60 and writing the data back to the external interface 7 as a temporary label
It is composed of

上記の構成において、ラベル判定回路58に読み込むデータのうち、上記の「1つ前の処理で対象画素に隣接する画素に割り付けた仮ラベル」は、対象画素についての処理開始前のラベルレジスタ62のデータと等価である。外部インタフェース制御部52は、外部インタフェース7に供給するアドレスを発生させるためのアドレスカウンタを内蔵している。アドレスカウンタは、画素データの転送が主走査方向の左からも右からも行えるように、アップ・ダウンカウンタを用いている。   In the above configuration, among the data read into the label determination circuit 58, the “temporary label assigned to the pixel adjacent to the target pixel in the previous process” is stored in the label register 62 of the target pixel before the process starts. It is equivalent to data. The external interface control unit 52 incorporates an address counter for generating an address to be supplied to the external interface 7. The address counter uses an up / down counter so that pixel data can be transferred from the left or the right in the main scanning direction.

メモリ制御部64は、仮ラベリング処理開始前のメモリ初期化時には内蔵しているアップカウンタからアドレスを生成し、内蔵しているレジスタの値をメモリ15への入力データとして発行する。仮ラベリング処理時においては、上記処理B1のアルゴリズムに従い仮ラベルカウンタ56の値、対象画素のデータ、ラベルレジスタ62の値、メモリ15から読み出したデータのいずれかをアドレスとして発行し、仮ラベルカウンタ56の値、ラベルレジスタ62の値、メモリ15から読み出したデータのいずれかをメモリ15への入力データとして発行する。   The memory control unit 64 generates an address from the built-in up counter at the time of memory initialization before the temporary labeling process is started, and issues the value of the built-in register as input data to the memory 15. At the time of the temporary labeling process, according to the algorithm of the process B1, the value of the temporary label counter 56, the data of the target pixel, the value of the label register 62, or the data read from the memory 15 is issued as an address, and the temporary label counter 56 , The value of the label register 62, and the data read from the memory 15 are issued as input data to the memory 15.

≪第3の実施の形態≫
第3の実施の形態に係るデータ制御装置11は、第2の実施の形態に係るデータ制御装置11と略同様の構成を備える。よって、その差異を中心に説明する。
<< Third Embodiment >>
The data control device 11 according to the third embodiment has substantially the same configuration as the data control device 11 according to the second embodiment. Therefore, the difference will be mainly described.

第3の実施の形態に係るデータ制御装置11は、図1で示す第2の実施の形態に係るデータ制御装置11において上記処理C1の処理を行うことができるようにしたものである。つまり、メモリ15から読み出したデータが8000h(初期値、アドレスに対応する仮ラベルが存在しないことを示す。)であった場合には処理を終了し、データとアドレスが一致する場合には本ラベルカウンタを1インクリメントし、インクリメント後の本ラベルカウンタの値をメモリ15のデータとして書き戻すようにメモリ制御部64を制御し、データとアドレスが一致しない場合には、メモリ15から読み出したデータをアドレスとして読み出したデータをメモリ15のデータとして書き戻すようにメモリ制御部64を制御する判定回路を追加する。   The data control apparatus 11 according to the third embodiment is configured such that the process C1 can be performed in the data control apparatus 11 according to the second embodiment shown in FIG. That is, if the data read from the memory 15 is 8000h (indicating that there is no temporary label corresponding to the initial value and address), the process is terminated. If the data and the address match, this label is displayed. The counter is incremented by 1, and the memory control unit 64 is controlled so as to write back the value of the incremented label counter as data in the memory 15. If the data and the address do not match, the data read from the memory 15 is addressed. As a result, a determination circuit for controlling the memory control unit 64 is added so as to write back the read data as data in the memory 15.

≪第4の実施の形態≫
第4の実施の形態に係るデータ制御装置11は、第3の実施の形態に係るデータ制御装置11と略同様の構成を備える。よって、その差異を中心に説明する。
<< Fourth Embodiment >>
The data control device 11 according to the fourth embodiment has substantially the same configuration as the data control device 11 according to the third embodiment. Therefore, the difference will be mainly described.

第4の実施の形態に係るデータ制御装置11は、第3の実施の形態に係るデータ制御装置11において上記処理D1の処理を行うことができるようにしたものである。つまり、対象画素が背景画素(0000h)の場合、そのまま0000hを対象画素に書き戻し、対象画素が仮ラベル(値lab_A:0001hから7fffh)の場合、RAM[lab_A]を本ラベルとして対象画素に書き戻すようにラベルレジスタ62を制御する判定回路を追加することで実現することができる。   The data control apparatus 11 according to the fourth embodiment is configured such that the process D1 can be performed in the data control apparatus 11 according to the third embodiment. That is, when the target pixel is the background pixel (0000h), 0000h is written back to the target pixel as it is, and when the target pixel is the temporary label (value lab_A: 0001h to 7fffh), RAM [lab_A] is written as the main label to the target pixel. This can be realized by adding a determination circuit for controlling the label register 62 so as to return.

≪第5の実施の形態≫
第5の実施の形態に係るデータ制御装置11は、第4の実施の形態に係るデータ制御装置11と略同様の構成を備える。よって、その差異を中心に説明する。
<< Fifth Embodiment >>
The data control device 11 according to the fifth embodiment has substantially the same configuration as the data control device 11 according to the fourth embodiment. Therefore, the difference will be mainly described.

図10は、第5の実施の形態に係るデータ制御装置11及びその周辺装置の概略のブロック図である。第5の実施の形態では、図1で示す第1の実施の形態に係るデータ制御装置11に対してラインバッファ80がメモリとして設けられる。   FIG. 10 is a schematic block diagram of the data control device 11 and its peripheral devices according to the fifth embodiment. In the fifth embodiment, a line buffer 80 is provided as a memory for the data control apparatus 11 according to the first embodiment shown in FIG.

このラインバッファ80に対して、主走査方向の左側から走査して行う処理B1の結果得られる画像データを、1ライン分の処理が終了するまで順次転送していく。1ライン分の処理が終了すれば、次はラインバッファ80から主走査方向の右側より画像データを読み出し処理B1を行えるように構成する。   Image data obtained as a result of the process B1 scanned from the left side in the main scanning direction is sequentially transferred to the line buffer 80 until the process for one line is completed. When the processing for one line is completed, image data is read from the line buffer 80 from the right side in the main scanning direction, and processing B1 can be performed.

このラインバッファ80が無いならば、仮ラベリング処理にて、画像データを保存しているフレームメモリ→PEのレジスタファイル→データ制御装置→PEのレジスタファイル→フレームメモリというデータ転送を、1ラインの処理が終了するまで繰り返さなければならない。一方、ラインバッファ80を利用するならば、フレームメモリ→PEのレジスタファイル→データ制御装置→ラインバッファ(1ライン分の画素データ)→データ制御装置→PEのレジスタファイル→フレームメモリというデータ転送に簡略化することができる。よって、処理の高速化をはかることができる。   If this line buffer 80 does not exist, the data transfer of the frame memory storing the image data → the PE register file → the data control device → the PE register file → the frame memory in the temporary labeling process is processed in one line. It must be repeated until is finished. On the other hand, if the line buffer 80 is used, the frame memory → PE register file → data control device → line buffer (pixel data for one line) → data control device → PE register file → frame memory is simplified. Can be Therefore, the processing speed can be increased.

本発明の第2の実施の形態に係るデータ制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data control apparatus which concerns on the 2nd Embodiment of this invention. 本発明の第1の実施の形態に係る画像処理方法における一連のラベリング処理の概略のフローチャートである。3 is a schematic flowchart of a series of labeling processes in the image processing method according to the first embodiment of the present invention. (1)は2値画像データの例である。(1)の2値画像データに対し仮ラベリング処理を行う際の、画像データの変遷とラベル間接続情報格納メモリの更新の様子<1>とを示す。(1) is an example of binary image data. The transition of image data and the state of updating the inter-label connection information storage memory <1> when the temporary labeling process is performed on the binary image data of (1) are shown. 図3(1)の2値画像データに対し仮ラベリング処理を行う際の、画像データの変遷とラベル間接続情報格納メモリの更新の様子<2>とを示す。The transition of the image data and the state <2> of the update of the inter-label connection information storage memory when the temporary labeling process is performed on the binary image data of FIG. 図3(1)の2値画像データに対し仮ラベリング処理を行う際の、画像データの変遷とラベル間接続情報格納メモリの更新の様子<3>とを示す。The transition of the image data and the state <3> of the update of the inter-label connection information storage memory when the temporary labeling process is performed on the binary image data of FIG. 図3(1)の2値画像データに対し仮ラベリング処理を行う際の、画像データの変遷とラベル間接続情報格納メモリの更新の様子<4>とを示す。The transition of the image data and the state of updating the inter-label connection information storage memory <4> when the temporary labeling process is performed on the binary image data in FIG. 図3(1)の2値画像データに対し仮ラベリング処理を行う際の、画像データの変遷とラベル間接続情報格納メモリの更新の様子<5>とを示す。The transition of the image data and the state <5> of updating the inter-label connection information storage memory when the temporary labeling process is performed on the binary image data of FIG. 図3(1)の2値画像データに対し仮ラベリング処理を行う際の、画像データの変遷とラベル間接続情報格納メモリの更新の様子<6>とを示す。The transition of the image data and the state <6> of updating of the inter-label connection information storage memory when the temporary labeling process is performed on the binary image data of FIG. 図3(1)の2値画像データに対し仮ラベリング処理を行う際の、画像データの変遷とラベル間接続情報格納メモリの更新の様子<7>とを示す。The transition of the image data and the state <7> of updating the inter-label connection information storage memory when the temporary labeling process is performed on the binary image data of FIG. 第5の実施の形態に係るデータ制御装置及びその周辺装置の概略のブロック図である。FIG. 10 is a schematic block diagram of a data control device and its peripheral devices according to a fifth embodiment. 本発明に係る画像処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image processing apparatus which concerns on this invention. 本発明に係るSIMD型マイクロプロセッサの、更に詳細な構成を示すブロック図である。It is a block diagram which shows the further detailed structure of the SIMD type | mold microprocessor which concerns on this invention.

符号の説明Explanation of symbols

4・・・グローバルプロセッサ、6・・・レジスタファイル、7・・・外部インタフェース、11・・・データ制御装置、15・・・(仮ラベル間接続情報格納)メモリ、52・・・外部インタフェース制御部、58・・・ラベル判定回路、62・・・ラベルレジスタ、64・・・メモリ制御部。

4 ... global processor, 6 ... register file, 7 ... external interface, 11 ... data control device, 15 ... (temporary label connection information storage) memory, 52 ... external interface control 58, label determination circuit, 62, label register, 64, memory control unit.

Claims (4)

複数のデータを処理するための複数のプロセッサエレメントを有するSIMD型マイクロプロセッサと、
各プロセッサエレメントが内蔵している汎用レジスタにプロセッサ外部からアクセスするためのデータ転送用ポートに接続されたデータ制御装置とを含み、
2次元状に配置された2値画像データに対して、主走査方向に隣接している画素が連結しているかどうかの判定を該データ制御装置において行うことにより仮ラベリング処理を行う画像処理装置において、
該データ転送用ポートから読み出した画素データを記憶するデータレジスタと、
該データ制御装置が新規に仮ラベルを発生させるラベルカウンタと、
1つ前の画素に割り付けた仮ラベルを記憶しておくラベルレジスタと、
連結している仮ラベル間の接続情報を記憶しておくメモリと、
該データ転送用ポートから読み出した画素データに割り付ける仮ラベルを、該データレジスタのデータ、該仮ラベルカウンタのデータ、該ラベルレジスタのデータ、及び、該メモリから読み出される仮ラベル間の接続情報から、決定するラベル制御装置と、
該メモリを制御するアドレス及びデータを該ラベル制御装置の処理結果から決定するメモリ制御装置と、
対象とする2値画像データに対して、主走査方向の左からも右からも画素データを順次読み出せるように該データ転送用ポートを制御する外部インタフェース制御部とを
備えることを特徴とする画像処理装置
A SIMD type microprocessor having a plurality of processor elements for processing a plurality of data;
A data control device connected to a data transfer port for accessing a general-purpose register built in each processor element from outside the processor;
In an image processing apparatus that performs temporary labeling processing on binary image data arranged two-dimensionally by determining whether or not adjacent pixels in the main scanning direction are connected in the data control apparatus. ,
A data register for storing pixel data read from the data transfer port;
A label counter for newly generating a temporary label by the data control device;
A label register for storing a temporary label assigned to the previous pixel;
A memory for storing connection information between linked temporary labels;
The temporary label assigned to the pixel data read from the data transfer port is obtained from the data register data, the temporary label counter data, the label register data, and the connection information between the temporary labels read from the memory, A label controller to determine;
A memory control device for determining an address and data for controlling the memory from a processing result of the label control device;
An external interface control unit for controlling the data transfer port so that pixel data can be sequentially read from the left and the right in the main scanning direction with respect to the target binary image data.
An image processing apparatus comprising:
上記メモリに格納されている仮ラベル間の接続情報をアドレスの昇順方向に1度だけ走査してチェックし、本ラベリング処理の際に欠番となる仮ラベルを見つけ、その欠番となる仮ラベルより大きな値の仮ラベルを、欠番となる仮ラベルがなくなるように前方にシフトさせることで、仮ラベル間の接続情報を、仮ラベルから本ラベルへと変換するためのテーブル変換データに更新するように構成されている、
請求項1に記載の画像処理装置。
The connection information between the temporary labels stored in the memory is checked by scanning once in the ascending order of the address, and a temporary label that is missing is found during the labeling process, and is larger than the temporary label that is missing. The temporary label of the value is shifted forward so that there are no missing temporary labels, so that the connection information between the temporary labels is updated to the table conversion data for converting from the temporary label to the actual label. Being
The image processing apparatus according to claim 1 .
上記データ制御装置は、仮ラベルを割り付けた画素データを上記データ転送用ポートから順次読み出し、上記メモリに記憶されている仮ラベルを本ラベルに変換するためのテーブル変換データを参照することで、仮ラベルを本ラベルへと変換するように構成されている、
請求項1または2に記載の画像処理装置。
The data control device sequentially reads out the pixel data to which the temporary label is assigned from the data transfer port and refers to the table conversion data for converting the temporary label stored in the memory into the actual label. Configured to convert a label to a book label,
The image processing apparatus according to claim 1 .
上記データ制御装置はその外部に処理中の画像データを一時記憶しておくためのラインバッファを有し、画像データの主走査方向の左側から走査して行った仮ラベリング処理後の画像データを1ライン分の処理が終了するまで貯えていき、
1ライン分の処理終了後に、該ラインバッファに貯えた画像データを主走査方向の右側から読み出していき仮ラベリング処理を行えるように構成されている、
請求項1乃至3のうちのいずれか一つに記載の画像処理装置。
The data control device has a line buffer for temporarily storing image data being processed outside of the data control device, and the image data after provisional labeling processing performed by scanning from the left side in the main scanning direction of the image data is 1 Store until line processing is complete,
After the processing for one line is completed, the image data stored in the line buffer is read from the right side in the main scanning direction so that temporary labeling processing can be performed.
The image processing apparatus according to claim 1 .
JP2004080367A 2004-03-19 2004-03-19 Image processing method and image processing apparatus using SIMD processor Expired - Fee Related JP4482356B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004080367A JP4482356B2 (en) 2004-03-19 2004-03-19 Image processing method and image processing apparatus using SIMD processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004080367A JP4482356B2 (en) 2004-03-19 2004-03-19 Image processing method and image processing apparatus using SIMD processor

Publications (2)

Publication Number Publication Date
JP2005267362A JP2005267362A (en) 2005-09-29
JP4482356B2 true JP4482356B2 (en) 2010-06-16

Family

ID=35091835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004080367A Expired - Fee Related JP4482356B2 (en) 2004-03-19 2004-03-19 Image processing method and image processing apparatus using SIMD processor

Country Status (1)

Country Link
JP (1) JP4482356B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048222A (en) * 2004-08-02 2006-02-16 Ricoh Co Ltd Image processor and image processing method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4934809B2 (en) * 2006-10-16 2012-05-23 国立大学法人広島大学 Image processing apparatus and image processing method
KR101026051B1 (en) 2008-12-15 2011-03-30 삼성전기주식회사 Method for grouping pixels in 2d digital image
JP7242273B2 (en) * 2018-11-30 2023-03-20 コイト電工株式会社 Image processing device and image processing method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6334A (en) * 1986-06-18 1988-01-05 池上通信機株式会社 High-speed labelling
JP2000339456A (en) * 1999-03-19 2000-12-08 Japan Radio Co Ltd Picture processing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6334A (en) * 1986-06-18 1988-01-05 池上通信機株式会社 High-speed labelling
JP2000339456A (en) * 1999-03-19 2000-12-08 Japan Radio Co Ltd Picture processing method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048222A (en) * 2004-08-02 2006-02-16 Ricoh Co Ltd Image processor and image processing method
JP4612352B2 (en) * 2004-08-02 2011-01-12 株式会社リコー Labeling processing apparatus and labeling processing method

Also Published As

Publication number Publication date
JP2005267362A (en) 2005-09-29

Similar Documents

Publication Publication Date Title
JP3955741B2 (en) SIMD type microprocessor having sort function
US7512290B2 (en) Image processing apparatus with SIMD-type microprocessor to perform labeling
JP2009223758A (en) Image processing apparatus
JP2011141823A (en) Data processing device and parallel arithmetic device
US8060726B2 (en) SIMD microprocessor, image processing apparatus including same, and image processing method used therein
JP4482356B2 (en) Image processing method and image processing apparatus using SIMD processor
US8024550B2 (en) SIMD processor with each processing element receiving buffered control signal from clocked register positioned in the middle of the group
JP4612352B2 (en) Labeling processing apparatus and labeling processing method
JP2007108913A (en) Simd microprocessor for detecting peak value
JP3837293B2 (en) SIMD type microprocessor having constant selection function
US5475828A (en) Digital processor having plurality of memories and plurality of arithmetic logic units corresponding in number thereto and method for controlling the same
JP3969580B2 (en) Data processing apparatus, image processing apparatus, image forming apparatus, program, and storage medium
JP5369669B2 (en) SIMD type microprocessor
JP4442907B2 (en) SIMD type processor
JP4821427B2 (en) Data processing apparatus and program thereof
JP4346039B2 (en) Data processing device
JP4413905B2 (en) SIMD type processor
JP2013161325A (en) Simd (single instruction-stream multiple data-stream) type microprocessor, processor system and data processing method for simd type microprocessor
JP2001202351A (en) Simd type processor
JP2024000852A (en) Programmable signal processing circuit and program for the circuit
JP2004206387A (en) Image processing method, processor, and image processor
JP2004192405A (en) Simd type processor
JP2011134042A (en) Simd type microprocessor and data alignment method of the same
JPS61123967A (en) Memory circuit
JP2005135163A (en) Device and method for signal processing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100125

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100319

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees