JP2003281516A - Image processor and its method - Google Patents

Image processor and its method

Info

Publication number
JP2003281516A
JP2003281516A JP2002081249A JP2002081249A JP2003281516A JP 2003281516 A JP2003281516 A JP 2003281516A JP 2002081249 A JP2002081249 A JP 2002081249A JP 2002081249 A JP2002081249 A JP 2002081249A JP 2003281516 A JP2003281516 A JP 2003281516A
Authority
JP
Japan
Prior art keywords
processor
random number
image processing
register
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.)
Withdrawn
Application number
JP2002081249A
Other languages
Japanese (ja)
Inventor
Hiroshi Tanioka
宏 谷岡
Shigeo Yamagata
茂雄 山形
Manabu Takebayashi
学 竹林
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 JP2002081249A priority Critical patent/JP2003281516A/en
Publication of JP2003281516A publication Critical patent/JP2003281516A/en
Withdrawn legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To resolve a problem in carrying out a pseudorandom number process by using an SIMD type element processor wherein it is difficult to supply favorable pseudorandom numbers at high speed. <P>SOLUTION: The SIMD type processor has twenty five F/Fs 501-525 composing a linear feedback shift register, eight sets of calculating means for calculating exclusive ORs regarding four F/F outputs of the F/Fs 501-525, a feedback means for concurrently feeding back each output data from the eight sets of calculating means to eight registers, a shifting means for shifting the data held in the eight registers to registers positioned in each subsequent stage, and a random number generating means for generating a pseudorandom number of eight bits from the feedback data by the feedback means and the data shifted by the shifting means. The SIMD type processor carries out the pseudorandom number process by using the generated pseudorandom number. <P>COPYRIGHT: (C)2004,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、擬似乱数を発生す
る画像処理装置及びその方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus and method for generating pseudo random numbers.

【0002】[0002]

【従来の技術】現在、コピー機、ファクシミリ、プリン
タ、スキャナといった、それぞれ異なる機能を有する画
像処理装置の複合機として構成された、いわゆるMFP(M
ulti Function Printer)と呼ばれる画像処理装置が知
られている。このようなMFPにおいては、その画像処理
部にSIMD(Single Instruction stream Multiple Data
stream)型のプロッセッサを使用することにより、高
速、かつプログラマブルに画像を処理する技術が、例え
ば特開平8-315126号公報に記載されている。
2. Description of the Related Art At present, a so-called MFP (MFP) configured as a multifunction machine of image processing apparatuses having different functions such as a copying machine, a facsimile machine, a printer, and a scanner.
An image processing device called an ulti function printer is known. In such an MFP, SIMD (Single Instruction stream Multiple Data
A technique for processing an image in a high-speed and programmable manner by using a stream type processor is described in, for example, Japanese Patent Laid-Open No. 8-315126.

【0003】このようなMFPにおいては、擬似乱数を用
いた画像処理が行われる。例えば擬似中間調処理の様に
中間調を擬似的に表現する場合、人間の目に目障りな周
波数成分を持ち、さらに規則性を有するテクスチャを軽
減するために、より不規則で高い周波数成分を持つ擬似
的な乱数を用いて、該目障りなテクスチャを乱す処理が
知られている。このような擬似乱数を用いた処理は、例
えば図5Aに示す乱数発生器等、簡単なハードウエアによ
って実現されていた。
In such an MFP, image processing using pseudo random numbers is performed. For example, when a halftone is expressed in a pseudo manner such as a pseudo halftone process, it has a frequency component that is unpleasant to the human eye, and further has a more irregular and higher frequency component in order to reduce regular texture. A process of disturbing the unpleasant texture using a pseudo random number is known. Processing using such pseudo-random numbers has been realized by simple hardware such as the random number generator shown in FIG. 5A.

【0004】[0004]

【発明が解決しようとする課題】しかしながら上記従来
のMFPにおいて、SIMD型のプロセッサを用いたソフトウ
エアによって多数の画素を並列に処理する場合、上記擬
似乱数を発生させる方法としては、以下のような方法が
考えられる。
However, in the conventional MFP described above, when a large number of pixels are processed in parallel by software using a SIMD type processor, the pseudo random number is generated by the following method. A method can be considered.

【0005】a) 図5Aに示すような乱数発生器を外部ハ
ードウエアとして並列に用意し、発生した擬似乱数を画
像信号と同様にラスタ状に入力する。
A) Random number generators as shown in FIG. 5A are prepared in parallel as external hardware, and the generated pseudo random numbers are input in a raster form like an image signal.

【0006】b) 他のCPUで擬似乱数を生成する。B) A pseudo random number is generated by another CPU.

【0007】c) SIMD型プロセッサを構成する各PE(プ
ロセッサエレメント)で独立に擬似乱数を発生させる。
C) Each PE (processor element) forming the SIMD type processor independently generates a pseudo random number.

【0008】通常のSIMD型プロセッサにおいては、外部
からのデータを入力する際には、PE数分のシフトレジス
タを用いたシリアル入力を行う。また、SIMD型プロセッ
サが並列に処理するPEの数分の擬似乱数を同時に発生さ
せる必要があるため、高速な処理が要求される。したが
って、上記方法a)及びb)では、SIMDプロセッサへの高速
な入力は望めない。
In a normal SIMD type processor, when inputting data from the outside, serial input using shift registers for the number of PEs is performed. In addition, high-speed processing is required because it is necessary to simultaneously generate pseudo-random numbers for the number of PEs that the SIMD type processor processes in parallel. Therefore, in the above methods a) and b), high-speed input to the SIMD processor cannot be expected.

【0009】また上記方法c)では、SIMD型プロッセッサ
における全てのPEは同一のプログラムによって動作する
ため、PE毎に異なる乱数を発生することはできない。し
たがってこの方法では、隣接するプロセッサが隣接する
画像信号に処理を行う場合に同一の乱数が発生してしま
うため、通常の乱数処理は行えない。
Further, in the above method c), all PEs in the SIMD type processor operate by the same program, and therefore different random numbers cannot be generated for each PE. Therefore, in this method, since the same random number is generated when the adjacent processors process the adjacent image signals, the normal random number processing cannot be performed.

【0010】本発明は上記問題を解決するためになされ
たものであり、SIMD型プロセッサを用いた高速な擬似乱
数処理を可能とする画像処理装置及びその方法を提供す
ることを目的とする。
The present invention has been made to solve the above problems, and an object of the present invention is to provide an image processing apparatus and a method therefor capable of high-speed pseudo-random number processing using a SIMD type processor.

【0011】[0011]

【課題を解決するための手段】上記目的を達成する一手
段として、本発明は以下の構成を備える。
As one means for achieving the above object, the present invention has the following configuration.

【0012】すなわち、複数のプロセッサエレメントが
単一のプログラムに従って並列かつ同時に動作するプロ
セッサにおいて、擬似乱数を用いた画像処理を行う画像
処理装置であって、線形フィードバックシフトレジスタ
を構成する複数のレジスタと、所定数のレジスタからの
出力について排他的論理和を演算するN組の演算手段
と、前記N組の演算手段からの各出力データをN個のレ
ジスタへ同時に帰還する帰還手段と、前記N個のレジス
タに保持されたデータを、夫々の後段に位置するレジス
タへシフトするシフト手段と、前記帰還手段による帰還
データ、及び前記シフト手段によってシフトされたデー
タより擬似乱数を発生する乱数発生手段と、を有し、前
記プロセッサは、前記乱数発生手段で発生した擬似乱数
を用いて画像処理を行うことを特徴とする。
That is, in a processor in which a plurality of processor elements operate in parallel and simultaneously according to a single program, an image processing device for performing image processing using pseudo random numbers, and a plurality of registers forming a linear feedback shift register , N sets of calculation means for calculating an exclusive OR of outputs from a predetermined number of registers, feedback means for returning each output data from the N sets of calculation means to N registers at the same time, and the N sets. Shift means for shifting the data held in the register of each to a register located at a subsequent stage, feedback data by the feedback means, and random number generating means for generating a pseudo random number from the data shifted by the shift means, And the processor performs image processing using the pseudo-random number generated by the random number generation means. And wherein the Ukoto.

【0013】例えば、前記乱数発生手段は、Nビットの
擬似乱数を同時に発生することを特徴とする。
For example, the random number generating means is characterized in that it simultaneously generates N-bit pseudo random numbers.

【0014】例えば、前記N組の演算手段は、夫々の演
算処理を並列に行うことを特徴とする。
For example, the N sets of arithmetic means are characterized by performing respective arithmetic processes in parallel.

【0015】例えば、前記Nは8または16であること
を特徴とする。
For example, the N is 8 or 16.

【0016】例えば、前記N組の演算手段は、夫々ルッ
クアップテーブルにより構成されることを特徴とする。
For example, each of the N sets of computing means is constituted by a lookup table.

【0017】例えば、前記レジスタ、前記帰還手段、前
記シフト手段および前記乱数発生手段は、前記プロセッ
サとは異なるプロセッサ上で実現されることを特徴とす
る。
For example, the register, the feedback unit, the shift unit, and the random number generation unit are implemented on a processor different from the processor.

【0018】[0018]

【発明の実施の形態】以下、本発明に係る一実施形態に
ついて、図面を参照して詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described in detail below with reference to the drawings.

【0019】●画像処理装置の基本機能構成 まず、本実施形態にかかる画像処理装置の基本機能構成
を図1のブロック図に示し、説明する。同図によれば本
画像処理装置は、主制御を行う画像データ制御ユニット
100と、画像データを入力する画像データ入力ユニット1
01と、画像を蓄積する画像メモリを制御して画像データ
の書き込み/読み出しをおこなう画像メモリ制御ユニッ
ト102と、画像データに対して加工編集等の画像処理を
施す画像処理ユニット103と、画像データを転写紙等に
書き込む画像書込ユニット104、の5つのユニットからな
る。
Basic Functional Configuration of Image Processing Apparatus First, the basic functional configuration of the image processing apparatus according to the present embodiment will be described with reference to the block diagram of FIG. According to the figure, the image processing apparatus is an image data control unit that performs main control.
Image data input unit 1 for inputting 100 and image data
01, an image memory control unit 102 that controls an image memory that stores images and writes / reads image data, an image processing unit 103 that performs image processing such as processing and editing on the image data, and image data An image writing unit 104 for writing on a transfer sheet or the like is composed of five units.

【0020】上記各ユニットは、画像データ制御ユニッ
ト100を中心に構成されている。すなわち、画像データ
入力ユニット101、画像メモリ制御ユニット102、画像処
理ユニット103、画像書込ユニット104は、いずれも画像
データ制御ユニット100に接続されている。以下、この
各ユニットについて、それぞれ説明する。
The above-mentioned units are mainly composed of the image data control unit 100. That is, the image data input unit 101, the image memory control unit 102, the image processing unit 103, and the image writing unit 104 are all connected to the image data control unit 100. Each unit will be described below.

【0021】まず、画像データ制御ユニット100による
処理を以下に示す。
First, the processing by the image data control unit 100 will be described below.

【0022】制御データバスインターフェース処理、全
体システム制御、ローカルバス制御処理(システム・コ
ントローラーを起動させるためのROM、RAM、アク
セス制御処理)、画像データ入力ユニット101とのイン
ターフェース処理、画像メモリ制御ユニット102とのイ
ンターフェース処理、画像処理ユニット103とのインタ
ーフェース処理、画像書込みユニット104とのインター
フェース処理、ネットワーク制御処理、等である。
Control data bus interface processing, overall system control, local bus control processing (ROM, RAM for accessing system controller, access control processing), interface processing with image data input unit 101, image memory control unit 102 Interface processing with the image processing unit 103, interface processing with the image writing unit 104, network control processing, and the like.

【0023】画像データ入力ユニット101においては、
システム・コントローラとのインタフェース制御処理、
光学系による原稿反射光の読み取り処理、CCD(Charge
Coupled Device:電荷結合素子)等を用いた電気信号へ
の変換処理、A/D変換器でのディジタル化処理、シェー
ディング補正処理(光源の照度分布ムラを補正する処
理)、読み取り系の濃度特性を補正する処理、ネットワ
ークを介して入力されるPDL画像データのラスタライズ
処理、等が行われる。
In the image data input unit 101,
Interface control processing with the system controller,
CCD (Charge)
Coupled Device: Charged device) conversion processing to electrical signals, A / D converter digitization processing, shading correction processing (processing to correct the unevenness of the illuminance distribution of the light source), density characteristics of the reading system Correction processing, rasterization processing of PDL image data input via a network, and the like are performed.

【0024】画像メモリ制御ユニット102においては、
システム・コントローラとのインタフェース制御処理、
メモリ部への書き込み・読み出し処理、メモリ・モジュ
ールへのアクセス制御処理(複数のユニットからのメモ
リ・アクセス要求の調停処理)、等が行われる。
In the image memory control unit 102,
Interface control processing with the system controller,
Write / read processing to the memory unit, access control processing to the memory module (arbitration processing of memory access requests from a plurality of units), and the like are performed.

【0025】画像処理ユニット103においては、色変換
処理、色補正処理、MTF補正処理、平滑化処理、主走
査方向の任意変倍処理、濃度変換(γ変換処理:濃度調
整キーに対応)、単純二値化処理、各種擬似中間調処
理、ドット配置位相制御処理(ジャギー補正)、像域分
離処理(色判定、属性判定、適応処理)、密度変換処
理、等が行われる。
In the image processing unit 103, color conversion processing, color correction processing, MTF correction processing, smoothing processing, arbitrary scaling processing in the main scanning direction, density conversion (γ conversion processing: corresponding to density adjustment key), simple Binarization processing, various pseudo-halftone processing, dot arrangement phase control processing (jaggy correction), image area separation processing (color determination, attribute determination, adaptive processing), density conversion processing, etc. are performed.

【0026】画像書込ユニット104においては、画像信
号のパルス制御処理、パラレルデータとシリアルデータ
のフォーマット変換処理、等が行われる。
In the image writing unit 104, pulse control processing of image signals, format conversion processing of parallel data and serial data, etc. are performed.

【0027】●ディジタル複合機のハードウェア構成 上述した本実施形態に係る画像処理装置はディジタル複
合機を構成する。以下、本ディジタル複合機のハードウ
ェア構成の一例を図2のブロック図に示し、説明する。
同図によれば本ディジタル複合機は、読取ユニット20
1、PDL処理ユニット202、画像データ制御部203、画像処
理プロセッサ204、作像ユニット205、メモリ制御部20
6、メモリモジュール207、ネットワーク制御部214、ワ
ーキングメモリ216、を備える。さらに制御用データバ
ス208を介して、システムコントローラ209、ROM210、RA
M211、操作パネル212を備える。また、ネットワーク213
を介して、パーソナルコンピュータ215に接続されてい
る。
Hardware Configuration of Digital Multifunction Peripheral The above-described image processing apparatus according to this embodiment constitutes a digital multifunctional peripheral. Hereinafter, an example of the hardware configuration of this digital multi-function peripheral will be described with reference to the block diagram of FIG.
According to the figure, this digital multi-function peripheral has a reading unit 20
1, PDL processing unit 202, image data control unit 203, image processing processor 204, image forming unit 205, memory control unit 20
6, a memory module 207, a network control unit 214, a working memory 216. Further, via the control data bus 208, the system controller 209, ROM 210, RA
An M211 and an operation panel 212 are provided. Also, the network 213
Via a personal computer 215.

【0028】上記図2に示す構成のうち、画像処理プロ
セッサ204は、画像に基づいて作成されたディジタル信
号である画像データを顕像として出力できるように処理
し、複数の画像形成動作を実現できるプログラマブルな
画像処理手段である。また、画像データ制御部203は、
画像データを伝送するデータバスと画像処理プロセッサ
204による画像処理に用いられる処理ユニット間の画像
データ伝送を一括して管理する画像データ伝送管理手段
であり、読取ユニット201、PDL処理ユニット202、画像
処理プロセッサ204、メモリ制御部206、作像ユニット20
5、ネットワーク制御部214間のデータ伝送管理を行な
う。なお、本実施形態は画像処理プロセッサ204におけ
る処理を特徴とするものであり、画像処理プロセッサ20
4の詳細な構成については、図3以降の図面を用いて詳細
に説明するものとする。
Of the configuration shown in FIG. 2, the image processor 204 processes image data, which is a digital signal created based on an image, so that it can be output as a visible image, thereby realizing a plurality of image forming operations. It is a programmable image processing means. Further, the image data control unit 203,
Data bus and image processor for transmitting image data
An image data transmission management unit that collectively manages image data transmission between processing units used for image processing by 204, and includes a reading unit 201, a PDL processing unit 202, an image processing processor 204, a memory control unit 206, and an image forming unit. 20
5. Manages data transmission between network control units 214. The present embodiment is characterized by the processing in the image processing processor 204.
The detailed configuration of 4 will be described in detail with reference to the drawings starting from FIG.

【0029】また、本ディジタル複合機は、画像データ
記憶管理手段として、画像メモリ制御部206に接続され
るメモリ・モジュール207を備える。
The digital multi-function peripheral further comprises a memory module 207 connected to the image memory control unit 206 as image data storage management means.

【0030】ここで、図2に示す各構成と、図1に示した
各ユニット100〜104との関係について説明する。すなわ
ち、読取ユニット201およびPDL処理ユニット202によ
り、図1に示した画像データ入力ユニット101の機能を実
現する。また同様に、画像データ制御部203、システム
コントローラ209、ROM210、RAM211、操作パネル212、ネ
ットワーク制御部214により、画像データ制御ユニット1
00の機能を実現する。また同様に、画像処理プロセッサ
204、ワーキングメモリ216により画像処理ユニット103
の機能を実現する。
Here, the relationship between each configuration shown in FIG. 2 and each of the units 100 to 104 shown in FIG. 1 will be described. That is, the function of the image data input unit 101 shown in FIG. 1 is realized by the reading unit 201 and the PDL processing unit 202. Similarly, the image data control unit 203, the system controller 209, the ROM 210, the RAM 211, the operation panel 212, the network control unit 214, the image data control unit 1
Realize the function of 00. Similarly, an image processor
204, image processing unit 103 by working memory 216
Realize the function of.

【0031】また同様に、作像ユニット205により画像
書込ユニット104を実現し、メモリ制御部206およびメモ
リ・モジュール207により画像メモリ制御ユニット102を
実現する。
Similarly, the image forming unit 205 realizes the image writing unit 104, and the memory control unit 206 and the memory module 207 realize the image memory control unit 102.

【0032】尚、図2に示すシステムコントローラ209
は、制御用データバス208を介して接続されたROM210に
記憶された制御プログラムに基づいて動作し、RAM211を
ワーク用メモリとして使用する。また、読取ユニット20
1、PDL処理ユニット202、画像データ制御部203、画像処
理プロセッサ部204、作像ユニット205、メモリ制御部20
6、ネットワーク制御部214、操作パネル212は、制御用
データバス208を介して、システムコントローラ209によ
りそれぞれの動作が制御される。
The system controller 209 shown in FIG.
Operates based on the control program stored in the ROM 210 connected via the control data bus 208, and uses the RAM 211 as a work memory. Also, the reading unit 20
1, PDL processing unit 202, image data control unit 203, image processing processor unit 204, image forming unit 205, memory control unit 20
6, the operation of the network control unit 214 and the operation panel 212 are controlled by the system controller 209 via the control data bus 208.

【0033】以下、図2に示す各構成の動作について詳
細に説明する。原稿を光学的に読み取る読取ユニット20
1は、ランプとミラーとレンズ、および受光素子から構
成され、原稿に対するランプ照射の反射光をミラーおよ
びレンズにより受光素子に集光する。CCD等の受光素子
において電気信号に変換された画像データはディジタル
信号に変換された後、読取ユニット201より出力(送
信)される。
The operation of each component shown in FIG. 2 will be described in detail below. Scanning unit 20 that optically scans documents
Reference numeral 1 is composed of a lamp, a mirror, a lens, and a light receiving element, and collects the reflected light of the illumination of the document on the light receiving element by the mirror and the lens. The image data converted into an electric signal in a light receiving element such as a CCD is converted into a digital signal and then output (transmitted) from the reading unit 201.

【0034】PDL処理ユニット202は、ネットワーク213
に接続されたパーソナルコンピュータ215より入力され
たPDL画像データを、ビットマップ画像へラスタライズ
するユニットである。ネットワーク213を介して入力さ
れたPDL画像データがネットワーク制御部214を介してPD
L処理ユニット202に入力されると、PDL処理ユニット202
は、入力されたPDL画像データに基づいたラスタライズ
を行ない、ビットマップ画像データを出力(送信)す
る。以上のように、読取ユニット201、PDL処理ユニット
202より出力(送信)された画像データは、画像データ
制御部203に入力(受信)される。
The PDL processing unit 202 includes a network 213.
Is a unit for rasterizing the PDL image data input from the personal computer 215 connected to the to a bitmap image. PDL image data input via the network 213 is transmitted to the PD via the network control unit 214.
When input to the L processing unit 202, the PDL processing unit 202
Performs rasterization based on the input PDL image data and outputs (transmits) bitmap image data. As described above, the reading unit 201 and the PDL processing unit
The image data output (transmitted) from 202 is input (received) to the image data control unit 203.

【0035】読取ユニット201、PDL処理ユニット202よ
り画像データ制御部203が受信した画像データは、画像
データ処理プロセッサ部204、または、メモリ制御部206
に出力される。
The image data received by the image data control unit 203 from the reading unit 201 and the PDL processing unit 202 is the image data processing processor unit 204 or the memory control unit 206.
Is output to.

【0036】まず、画像処理プロセッサ部204に出力さ
れる場合の動作について説明する。
First, the operation when output to the image processing processor unit 204 will be described.

【0037】画像処理プロセッサ部204に入力された画
像データは、ワーキングメモリ216を用いながら画像処
理プロセッサ部204にて処理された後、再度画像データ
制御部203に出力され、メモリ制御部206を介してメモリ
モジュール207に記憶される。
The image data input to the image processing processor unit 204 is processed by the image processing processor unit 204 while using the working memory 216, and then output to the image data control unit 203 again and passed through the memory control unit 206. Stored in the memory module 207.

【0038】画像処理プロセッサ部204による1画面分の
画像データの処理が終了し、該1画面分の処理済みデー
タがメモリモジュール207に記憶された後、メモリ制御
部206は、メモリモジュール207に対する画像データの読
み出しを行ない、該読み出した画像データを画像データ
制御部203を介して作像ユニット205に出力し、プリント
出力を得る。あるいは、メモリモジュール207より読み
出された画像データを画像データ制御部203を介してネ
ットワーク制御部214に出力し、さらにネットワーク213
を介してパーソナルコンピュータ215に出力するように
動作する。
After the processing of the image data for one screen by the image processing processor unit 204 is completed and the processed data for one screen is stored in the memory module 207, the memory control unit 206 causes the image for the memory module 207 to be processed. Data is read and the read image data is output to the image forming unit 205 via the image data control unit 203 to obtain a print output. Alternatively, the image data read from the memory module 207 is output to the network control unit 214 via the image data control unit 203, and the network 213
It operates so as to output to the personal computer 215 via.

【0039】次に、読取ユニット201、PDL処理ユニット
202より画像データ制御部203が受信した画像データを、
メモリ制御部206に出力する場合の動作について説明す
る。
Next, the reading unit 201 and the PDL processing unit
Image data received by the image data control unit 203 from 202,
The operation when outputting to the memory control unit 206 will be described.

【0040】画像データ制御部203よりメモリ制御部206
に入力された画像データは、メモリモジュール207に記
憶される。次にメモリ制御部206はメモリモジュール207
より、記憶された画像データを読み出し、画像データ制
御部203を介して画像処理プロセッサ部204に出力する。
画像処理プロセッサ部204では、入力された画像データ
を処理し、処理後の画像データを、再度画像データ制御
部203、メモリ制御部206を介して、メモリモジュール20
7に記憶する。そして、画像処理プロセッサ部204による
1画面分の画像データの処理が終了し、1画面分の処理済
みデータがメモリモジュール207に記憶された後、メモ
リ制御部206は、メモリモジュール207に対する画像デー
タの読み出しを行ない、読み出された画像データを画像
データ制御部203を介して作像ユニット205に出力し、プ
リント出力を得る。あるいは、メモリモジュール207よ
り読み出された画像データを、画像データ制御部203を
介してネットワーク制御部214に出力し、さらにネット
ワーク213を介してパーソナルコンピュータ215に出力す
るように動作する。
From the image data control unit 203 to the memory control unit 206
The image data input to is stored in the memory module 207. Next, the memory control unit 206 detects the memory module 207.
Then, the stored image data is read out and output to the image processing processor unit 204 via the image data control unit 203.
The image processing processor unit 204 processes the input image data and outputs the processed image data to the memory module 20 via the image data control unit 203 and the memory control unit 206 again.
Remember in 7. Then, by the image processing processor unit 204
After the processing of the image data for one screen is completed and the processed data for one screen is stored in the memory module 207, the memory control unit 206 reads the image data from the memory module 207 and reads the image data. Image data is output to the image forming unit 205 via the image data control unit 203 to obtain a print output. Alternatively, the image data read from the memory module 207 is output to the network control unit 214 via the image data control unit 203 and further output to the personal computer 215 via the network 213.

【0041】なお上記においては、読取ユニット201、P
DL処理ユニット202より出力された画像データに対する
処理を画像処理プロセッサ部204において行ない、1画面
分の処理済み画像データがメモリモジュール207に記憶
された後、該処理済画像データの読み出しを行ない、作
像ユニット205、あるいは、ネットワーク制御部214に出
力する例を示した。しかしながら本実施形態はこの例に
限らず、処理済み画像データのメモリモジュール207に
対する記憶が1画面分終了する前に、メモリモジュール2
07から処理済みの画像データの読み出しを開始するよう
に制御してもよい。
In the above, the reading units 201, P
The image processing processor unit 204 performs processing on the image data output from the DL processing unit 202, and after the processed image data for one screen is stored in the memory module 207, the processed image data is read out and created. An example of outputting to the image unit 205 or the network control unit 214 has been shown. However, the present embodiment is not limited to this example, and the memory module 2 is processed before the storage of the processed image data in the memory module 207 is completed for one screen.
It may be controlled to start reading the processed image data from 07.

【0042】また、メモリモジュール207に画像データ
を記憶させないように制御することも可能である。以
下、この場合の動作例について説明する。
It is also possible to control so that the image data is not stored in the memory module 207. Hereinafter, an operation example in this case will be described.

【0043】読取ユニット201、PDL処理ユニット202よ
り画像データ制御部203が受信した画像データは、画像
処理プロセッサ部204に出力される。画像処理プロセッ
サ部204では、入力された画像データに対して所定の処
理を行ない、画像データ制御部203に出力する。画像処
理プロセッサ部204より画像データ制御部203に入力され
た画像データはその後、作像ユニット205、ネットワー
ク制御部214に出力される。
The image data received by the image data control unit 203 from the reading unit 201 and the PDL processing unit 202 is output to the image processing processor unit 204. The image processing processor unit 204 performs a predetermined process on the input image data and outputs it to the image data control unit 203. The image data input from the image processor 204 to the image data controller 203 is then output to the image forming unit 205 and the network controller 214.

【0044】メモリ・モジュール207に処理済みの画像
データ1画面分を記憶する場合の操作例としては、1枚の
原稿について複数枚を複写する場合がある。この場合、
読取ユニット201を1回だけ動作させ、読取ユニット201
により読み取った画像データをメモリ・モジュール207
に記憶し、記憶された画像データを複数回読み出す。
As an example of the operation for storing one screen of processed image data in the memory module 207, there is a case where a plurality of sheets of one original is copied. in this case,
Operate the reading unit 201 only once,
Image data read by the memory module 207
The stored image data is read a plurality of times.

【0045】また、メモリ・モジュール207に画像デー
タを記憶させない操作例としては、1枚の原稿を1枚だけ
複写する場合がある。この場合、読み取り画像データに
対する処理済みデータを直接作像ユニット205に出力す
ればよいので、メモリ・モジュール207へのアクセスを
行う必要はない。
Further, as an operation example in which the image data is not stored in the memory module 207, there is a case where only one original is copied. In this case, the processed data corresponding to the read image data may be directly output to the image forming unit 205, and thus it is not necessary to access the memory module 207.

【0046】尚、本ディジタル複合装置の全体の動作
は、操作パネル212より入力された、処理命令に基づい
てシステムコントローラ209により制御される。操作パ
ネル212からは、処理の種類(複写、送信、画像読込、
プリント等)および処理の枚数等を入力することができ
る。
The overall operation of the digital multi-function peripheral is controlled by the system controller 209 based on the processing command input from the operation panel 212. From the operation panel 212, type of processing (copy, transmission, image reading,
It is possible to input the number of sheets to be processed and the like.

【0047】●画像処理プロセッサ構成 図3は、図2に示した画像処理プロセッサ204の詳細構成
を示すブロック図である。同図によれば画像処理プロセ
ッサ204は、FIFOメモリ301,307と、演算処理ユニット3
00から構成される。さらに演算処理ユニット300は、入
力レジスタ302、出力レジスタ304、SIMD型のデータ演算
処理部303からなるSIMDプロセッサ308と、制御プロセッ
サ部305、および外部メモリインタフェース306を有して
いる。
Image Processing Processor Configuration FIG. 3 is a block diagram showing the detailed configuration of the image processing processor 204 shown in FIG. According to the figure, the image processor 204 includes the FIFO memories 301 and 307 and the arithmetic processing unit 3
Composed of 00. Further, the arithmetic processing unit 300 has an input register 302, an output register 304, a SIMD processor 308 including a SIMD type data arithmetic processing unit 303, a control processor unit 305, and an external memory interface 306.

【0048】ここでSIMDとは、複数のデータに対し、単
一の命令を並列に実行させることを示し、本実施形態に
おいては、データ演算処理部303が128個のPEにより構成
されている。
Here, SIMD indicates that a single instruction is executed in parallel with respect to a plurality of data, and in this embodiment, the data operation processing unit 303 is composed of 128 PEs.

【0049】FIFOメモリ301は、読取ユニット201、また
は、PDL処理ユニット202より入力される画像データ1ラ
イン分(7168画素)の容量を有するファーストイン・ファ
ーストアウトのメモリであり、書込みと読み出しが独立
に制御される。画像データ制御部203のデータバスAより
入力された画像データは、FIFOメモリ301に入力され、
データ演算処理部303が有するPEの数と等しいレジスタ
数で構成された入力レジスタ302に、128個分の画像デー
タとして56分割して入力される。
The FIFO memory 301 is a first-in / first-out memory having a capacity of one line of image data (7168 pixels) input from the reading unit 201 or the PDL processing unit 202, and writing and reading are independent. Controlled by. The image data input from the data bus A of the image data control unit 203 is input to the FIFO memory 301,
128 pieces of image data are divided into 56 and input to the input register 302 configured by the number of registers equal to the number of PEs included in the data calculation processing unit 303.

【0050】入力レジスタ302に入力された画像データ
は、データ演算処理部303および外部メモリインタフェ
ース306に出力される。データ演算処理部303に入力され
た画像データは、そこで所定の処理が施された後、出力
レジスタ304、外部メモリインタフェース306に出力され
る。尚、外部メモリインタフェース306には、データ演
算処理部303で処理された中間データを出力することも
可能である。
The image data input to the input register 302 is output to the data calculation processing unit 303 and the external memory interface 306. The image data input to the data calculation processing unit 303 is subjected to predetermined processing there, and then output to the output register 304 and the external memory interface 306. It is also possible to output the intermediate data processed by the data calculation processing unit 303 to the external memory interface 306.

【0051】出力レジスタ304は、入力レジスタ302と同
様に、データ演算処理部303が有するPE数と等しいレジ
スタ数で構成されている。出力レジスタ304の出力画像
データは、画像データ1ライン分の容量を有するFIFOメ
モリ307に入力される。FIFOメモリ307は、書込みと読み
出しが独立に制御されるファーストイン・ファーストア
ウトのメモリである。FIFOメモリ307より出力される画
像データ信号は、データバスBを介して画像データ制御
部203に出力される。
Like the input register 302, the output register 304 has the same number of registers as the number of PEs included in the data operation processing unit 303. The output image data of the output register 304 is input to the FIFO memory 307 having a capacity of one line of image data. The FIFO memory 307 is a first-in / first-out memory whose writing and reading are controlled independently. The image data signal output from the FIFO memory 307 is output to the image data control unit 203 via the data bus B.

【0052】さらに、SIMDプロセッサ308及び外部メモ
リインターフェイス306は、図2に示す制御用データバス
208に接続された制御プロセッサ部305と接続されてい
る。制御プロセッサ部305は、データ演算処理部303のPE
に対する命令の供給、各PEのステータスの判断、各PEに
接続されたメモリ、レジスタへのデータの入出力等の制
御及び外部メモリインターフェイス部306を制御し、SIM
Dプロセッサ308の内部メモリやレジスタとワーキングメ
モリ216間のデータ制御を行なう。尚、制御プロセッサ3
05とSIMDプロセッサ308は、互いに異なる処理を独立に
実行することが可能である。
Further, the SIMD processor 308 and the external memory interface 306 are the control data buses shown in FIG.
It is connected to the control processor unit 305 connected to 208. The control processor unit 305 is a PE of the data calculation processing unit 303.
To control the status of each PE, control the memory connected to each PE, input / output of data to and from the register, and control the external memory interface unit 306.
It controls data between the internal memory or register of the D processor 308 and the working memory 216. The control processor 3
05 and the SIMD processor 308 can independently perform different processes.

【0053】●演算処理ユニット構成 図4は、上記図3に示したSIMD型プロセッサ308を含んだ
演算処理ユニット300の概略構成を示すブロック図であ
る。
Arithmetic Processing Unit Configuration FIG. 4 is a block diagram showing a schematic configuration of the arithmetic processing unit 300 including the SIMD type processor 308 shown in FIG.

【0054】図4によれば制御プロセッサ部305は、制御
プロセッサ401および、制御プロセッサ及びSIMD型プロ
セッサの動作を制御するプログラムが格納されたプログ
ラムメモリ402、データメモリ403より構成される。
According to FIG. 4, the control processor unit 305 comprises a control processor 401, a program memory 402 storing a program for controlling the operations of the control processor and the SIMD type processor, and a data memory 403.

【0055】404はSIMD型プロセッサ308を構成するひと
つのPEを示し、上述したように、本実施形態におけるSI
MDプロセッサ308は128個のPE(PE0〜PE127)により構成
されている。
Reference numeral 404 denotes one PE that constitutes the SIMD type processor 308, and as described above, the SI in this embodiment is SI.
The MD processor 308 is composed of 128 PEs (PE0 to PE127).

【0056】図4に示すように、それぞれのPEは、8ビッ
トの演算ユニット(ALU)405と、8ビットのレジスタ16
本から構成される汎用レジスタ406、ALU405の演算動作
を実施するか否かを制御するマスクレジスタ407、演算
途中のデータを格納するPEレジスタ408、出力レジスタ4
09、入力レジスタ408、2Kバイトの容量を有するメモリ4
11、から構成される。ALU405、PEレジスタ408は、隣接
するPE間における同一構成要素との接続がなされてお
り、データの入出力が可能な構成となっている。また、
出力レジスタ409、入力レジスタ410も隣接するPE間の同
一構成要素との接続が行なわれており、128段のシフト
レジスタとして動作する。尚、図4において、図3に示す
入力レジスタ302、出力レジスタ304に相当するブロック
には同一符号を付してある。
As shown in FIG. 4, each PE has an 8-bit arithmetic unit (ALU) 405 and an 8-bit register 16
A general-purpose register 406 composed of a book, a mask register 407 for controlling whether or not the arithmetic operation of the ALU 405 is performed, a PE register 408 for storing data in the middle of arithmetic operation, an output register 4
09, input register 408, memory 4 with a capacity of 2K bytes
It is composed of 11. The ALU 405 and the PE register 408 are connected to the same constituent element between adjacent PEs, and have a configuration capable of inputting / outputting data. Also,
The output register 409 and the input register 410 are also connected to the same constituent elements between adjacent PEs, and operate as a 128-stage shift register. Note that, in FIG. 4, blocks corresponding to the input register 302 and the output register 304 shown in FIG.

【0057】また、各PEにおけるメモリ411は、外部メ
モリインタフェース306及びデータバスCを介して、ワー
キングメモリ216に接続される。
The memory 411 in each PE is connected to the working memory 216 via the external memory interface 306 and the data bus C.

【0058】尚、同一PEを構成するALU405、汎用レジス
タ406、マスクレジスタ407、PEレジスタ408、出力レジ
スタ409、入力レジスタ410、メモリ413は、任意のブロ
ック間におけるデータの入出力が可能な構成となってお
り、例えば、メモリ411からPEレジスタ408へのデータ入
出力、PEレジスタ408から外部メモリインタフェース306
へのデータ入出力、等を可能とする。
The ALU 405, the general-purpose register 406, the mask register 407, the PE register 408, the output register 409, the input register 410, and the memory 413 which compose the same PE have a structure capable of inputting / outputting data between arbitrary blocks. For example, data input / output from the memory 411 to the PE register 408, and external memory interface 306 from the PE register 408.
It enables data input / output to / from.

【0059】各PEに対する命令は、制御プロセッサ401
により命令供給バス413を介して同一内容で供給され、
全てのPEが同一の命令に従った動作を行なうように制御
されるが、各PEに与える処理対象のデータを異ならせる
ことにより、各PEが異なる処理対象データに対する演算
処理を並列に行なうように制御される。例えば、画像デ
ータ1ライン中の128画素の内容を各画素ごとにPEレジス
タに配置し、同一の命令コードによって各PEレジスタに
対する演算処理を行わせれば、1画素ずつ逐次処理する
よりも短時間で、128画素分の処理結果が得られる。
The instruction for each PE is the control processor 401.
Is supplied with the same contents via the instruction supply bus 413,
All PEs are controlled to operate according to the same instruction, but by differentiating the processing target data given to each PE, each PE performs arithmetic processing on different processing target data in parallel. Controlled. For example, if the contents of 128 pixels in one line of image data are arranged in the PE register for each pixel and the same instruction code is used to perform arithmetic processing on each PE register, it will take less time than sequentially processing pixel by pixel. , 128 pixel processing results are obtained.

【0060】各PEのALU405における演算結果、および、
PEレジスタ408の内容は、隣接するPE間で入出力可能な
構成となっていることにより、隣接PEのPEレジスタ40
8、および、ALU405の演算結果を参照した演算処理を各P
Eで行なうことも可能である。さらに、各PEのメモリ411
および、入力レジスタ410、出力レジスタ409、PEレジス
タ408、マスクレジスタ407、汎用レジスタ406は、メモ
リ/レジスタアクセスバス414を介して制御プロセッサ4
01に接続され、メモリおよび各レジスタデータの入出力
が、制御プロセッサ401により制御される。
Calculation result in ALU405 of each PE, and
Since the contents of the PE register 408 can be input / output between adjacent PEs, the PE register 40 of the adjacent PE is
8 and the calculation processing referring to the calculation result of ALU405 for each P
It is also possible to do it with E. In addition, each PE's memory 411
The input register 410, the output register 409, the PE register 408, the mask register 407, and the general-purpose register 406 are controlled by the control processor 4 via the memory / register access bus 414.
The control processor 401 controls the input / output of the memory and each register data.

【0061】また、制御プロセッサ401は、制御用デー
タバス208を介して、図2中のシステムコントローラ209
との制御データの入出力が可能な構成となっている。さ
らに、制御プロセッサ401の動作を制御するプログラム
メモリ402、および、データメモリ403は、制御用データ
バス208を介してシステムコントローラ209よりアクセス
可能な構成となっており、システムコントローラ209に
より、画像処理ユニット300で行なわれる処理内容に応
じて、制御プロセッサ401の動作を制御するプログラム
メモリ402の書き換えが可能である。
The control processor 401 also receives the system controller 209 in FIG. 2 via the control data bus 208.
Control data can be input and output to and from. Further, the program memory 402 for controlling the operation of the control processor 401 and the data memory 403 are configured to be accessible from the system controller 209 via the control data bus 208. The program memory 402 for controlling the operation of the control processor 401 can be rewritten according to the contents of processing performed in 300.

【0062】●乱数発生の原理 以下、本実施形態における擬似乱数発生の原理につい
て、理解を容易とするために、まず図5Aに示す従来のハ
ードウェア構成を例として説明する。
[Principle of Random Number Generation] In order to facilitate understanding of the principle of pseudo random number generation in this embodiment, the conventional hardware configuration shown in FIG. 5A will be described as an example.

【0063】乱数発生法としては例えば、文献「現代信
号理論」(池野、小山著、昭和61年発行、電子情報通信
学会)に示されているように、最大長周期系列(M系
列)を発生する線形フィードバックシフトレジスタ(LF
SR)を用いる方法が知られている。
As the random number generation method, for example, as shown in the document "Modern Signal Theory" (Ikeno, Koyama, published in 1986, Institute of Electronics, Information and Communication Engineers), a maximum long-period sequence (M sequence) is generated. Linear feedback shift register (LF
SR) is known.

【0064】LFSR方式による従来の乱数発生装置は図5A
に示すように、1ビットn段のDフリップフロップ(以下、
単にF/Fと記載)501、502、・・・、525と、特定のF/Fから
の出力信号を演算する排他的論和演算器526、527、528
から成る。図5Aに示す例においては1ビット25段のシフ
トレジスタを構成しており、22段目のF/F522と、23段目
のF/F523と、24段目のF/F524と、25段目のF/F525からの
出力値を、夫々排他的論和演算器526、527、528を用い
て演算し、その結果を初段のF/F501入力する。したがっ
て、全てのF/Fにクロック534を与えてデータを一段ずつ
シフトすれば、クロックが入る度に1個の乱数が発生さ
れ、その結果、225-1個を一周期とするM系列の1ビット
の擬似乱数列が、F/F525の出力529として得られる。な
お、このLFSR方式における各F/Fの出力は、その状態が
全て0である場合を除く225-1通りの初期状態から、擬似
乱数を発生させることが出できる。
FIG. 5A shows a conventional random number generator based on the LFSR method.
As shown in, a 1-bit n-stage D flip-flop (hereinafter,
(Only described as F / F) 501, 502, ..., 525, and exclusive logical sum calculators 526, 527, 528 for calculating output signals from specific F / Fs
Consists of. In the example shown in FIG. 5A, a 1-bit 25-stage shift register is configured, and the 22nd-stage F / F522, the 23rd-stage F / F523, the 24th-stage F / F524, and the 25th-stage The output values from the F / F 525 are calculated using the exclusive OR calculators 526, 527, and 528, respectively, and the result is input to the F / F 501 at the first stage. Therefore, if the clock 534 is given to all the F / Fs and the data is shifted one stage at a time, one random number is generated each time the clock enters, and as a result, 2 25 -1 M-sequences with one cycle are generated. A 1-bit pseudo random number sequence is obtained as the output 529 of the F / F 525. It should be noted that the output of each F / F in this LFSR system can generate a pseudo random number from 2 25 -1 initial states except when all the states are 0.

【0065】ところで、A4サイズの画像を600DPIで処理
する場合、長手方向が7168画素、短手方向が4960画素で
あるとすれば、全画素数は約1.06×225であるため、図5
に示すLFSR方式によれば、A4サイズ600DPIの画像信号の
総数に略等しい個数の乱数を生成することができる。
By the way, when processing with 600DPI image A4 size, the longitudinal direction 7168 pixels, if the lateral direction is 4960 pixels, since the total number of pixels is about 1.06 × 2 25, 5
According to the LFSR system shown in (1), it is possible to generate a number of random numbers substantially equal to the total number of A4 size 600 DPI image signals.

【0066】次に、本実施形態における高速な擬似乱数
発生の原理について、図5Bを参照して説明する。尚、図
5Bにおいて図5Aと同様の構成には同一番号を付してあ
る。
Next, the principle of high-speed pseudo random number generation in this embodiment will be described with reference to FIG. 5B. The figure
5B, the same components as those in FIG. 5A are denoted by the same reference numerals.

【0067】図5Bに示す25段のF/Fのうち、後段から4個
のF/F522〜525の出力信号を3個の排他的論理和演算器52
6,527,528を用いて演算し、初段のF/F501に帰還する信
号550については、図5Aで説明した通りである。
Of the 25 stages of F / Fs shown in FIG. 5B, the output signals of the four F / Fs 522 to 525 from the latter stage are converted into three exclusive OR calculators 52.
The signal 550 calculated using 6,527,528 and returned to the F / F 501 in the first stage is as described in FIG. 5A.

【0068】ここで、図5Aにおける初段のF/F501への2
番目の帰還信号は、シフトクロック534の入力によって
各F/Fのデータが1ビット右にシフトされた後に、得られ
ていた。これに対し図5Bに示す本実施形態においては、
この初段のF/F501への2番目の帰還信号が、最初の帰還
信号550と同時に得られる。すなわち図5Bにおいて、図5
Aでも説明した4個のF/F522〜525の1段前であるF/F521〜
524からの出力信号を3個の排他的論理和演算器540,541,
542を用いて演算した結果551が、前記2番目の帰還信号
に相当する。
Here, 2 to the first stage F / F 501 in FIG. 5A
The second feedback signal was obtained after the data of each F / F was shifted to the right by 1 bit by the input of the shift clock 534. On the other hand, in the present embodiment shown in FIG. 5B,
The second feedback signal to the first stage F / F 501 is obtained at the same time as the first feedback signal 550. That is, in FIG.
F / F521 ~ which is one step before the four F / F522 ~ 525 described in A
The output signal from the 524 is converted into three exclusive OR calculators 540, 541,
The result 551 calculated using 542 corresponds to the second feedback signal.

【0069】同様に、F/F520〜523の出力信号を3個の排
他的論理和演算器543,544,545を用いて演算し、3番目に
帰還する信号552を生成する。
Similarly, the output signals of the F / Fs 520 to 523 are calculated by using the three exclusive OR calculators 543, 544 and 545, and the signal 552 to be fed back to the third is generated.

【0070】このように本実施形態においては、図5Aの
構成によれば1クロック毎にF/Fのデータをシフトするこ
とで1ビット毎に得られていた帰還信号を、その複数個
を並列処理によって同時に帰還する。これにより、F/F
の転送回数、及び帰還信号を演算する時間を削減するこ
とができ、高速化が達成される。
As described above, in the present embodiment, according to the configuration of FIG. 5A, a plurality of feedback signals, which are obtained for each bit by shifting the F / F data for each clock, are parallelized. Return at the same time by processing. By this, F / F
It is possible to reduce the number of transfer times and the time for calculating the feedback signal, and speed up is achieved.

【0071】図5Bに示す構成によれば、8組の排他的倫
理和演算器を備えることにより、同時に8個の帰還信号5
50〜557を並列処理により生成する。従って図5Bに示す
構成によれば、図5Aに示す構成と比べて8倍程度高速に
乱数を発生することができる。
According to the configuration shown in FIG. 5B, by providing eight sets of exclusive ethics and arithmetic units, eight feedback signals 5
50 to 557 are generated by parallel processing. Therefore, according to the configuration shown in FIG. 5B, it is possible to generate random numbers about eight times faster than the configuration shown in FIG. 5A.

【0072】<第1実施形態>以下、上述した本実施形
態における擬似乱数の発生原理を、ハードウェアに適用
する例について説明する。
<First Embodiment> An example in which the principle of generating pseudo-random numbers in the present embodiment described above is applied to hardware will be described below.

【0073】図6は、第1実施形態におけるハードウェア
構成例を示すブロック図である。
FIG. 6 is a block diagram showing an example of the hardware configuration of the first embodiment.

【0074】図6において1〜25のブロックはそれぞれ、
図5Bに示したF/F501〜525と同じ1ビットのD-F/Fである
が、夫々8個離れたF/Fと互いに接続されている。即ち、
F/F1はF/F9へ、F/F9はF/F17へ、F/F17はF/F25に接続さ
れ、転送クロック601が入力されれば、夫々8個分のシフ
ト動作が行われる。F/F18〜25の出力信号603は、連続し
た1ビットの乱数として、或いは8ビットの乱数として用
いることができる。
In FIG. 6, blocks 1 to 25 are respectively
It is the same 1-bit DF / F as the F / F 501 to 525 shown in FIG. 5B, but is connected to each other 8 F / Fs apart. That is,
The F / F1 is connected to the F / F9, the F / F9 is connected to the F / F17, the F / F17 is connected to the F / F25, and when the transfer clock 601 is input, eight shift operations are performed respectively. The output signals 603 of the F / Fs 18 to 25 can be used as continuous 1-bit random numbers or 8-bit random numbers.

【0075】尚、F/F15〜25からの11ビットの出力信号
は、排他的論理和演算部602に入力される。排他的論理
和演算部602は図5Bにおいて説明した様に、夫々連続す
る4個のF/F出力を3個の排他的論理和演算器で演算する
ユニットの8組を内部に有し、同時に8個の帰還信号550
〜557を出力する。
The 11-bit output signal from the F / Fs 15 to 25 is input to the exclusive OR calculation unit 602. As described in FIG.5B, the exclusive OR operation unit 602 has eight sets of units each internally operating four consecutive F / F outputs with three exclusive OR calculators, and at the same time, 8 return signals 550
Outputs ~ 557.

【0076】これら8個の帰還信号の内、最も先行する
信号550をF/F8の入力に、次の帰還信号551をF/F7の入力
に接続する、というように、8本の帰還信号を順次F/F8
〜1に入力する。
Of these eight feedback signals, the most preceding signal 550 is connected to the input of F / F8 and the next feedback signal 551 is connected to the input of F / F7. Sequential F / F8
Type in ~ 1.

【0077】以上説明したように第1実施形態によれ
ば、図6に示すハードウェア構成により、図5Aに示す従
来の乱数発生器と比べて、8倍程度高速に乱数を発生す
ることができる。
As described above, according to the first embodiment, the hardware configuration shown in FIG. 6 makes it possible to generate random numbers about eight times faster than the conventional random number generator shown in FIG. 5A. .

【0078】従って、図6に示す構成からなる乱数発生
器を備えることにより、該乱数発生器から発生した擬似
乱数をSIMDプロセッサ308に供給することができるた
め、SIMDプロセッサ308による高速な擬似乱数処理が可
能となる。
Therefore, since the pseudo random number generated by the random number generator having the configuration shown in FIG. 6 can be supplied to the SIMD processor 308, the SIMD processor 308 performs high-speed pseudo random number processing. Is possible.

【0079】尚、排他的論理和演算部602は、図5Bに示
す論理回路で実施しても良いが、F/F15〜25の出力信号
を各アドレス端子に接続するROMを用いて所謂ルックア
ップテーブルを実現すれば、8個の帰還信号を更に高速
に生成することができる。
The exclusive OR operation unit 602 may be implemented by the logic circuit shown in FIG. 5B, but a so-called lookup is performed using a ROM that connects the output signals of the F / Fs 15 to 25 to each address terminal. If a table is realized, eight feedback signals can be generated even faster.

【0080】<第2実施形態>以下、本実施形態におけ
る擬似乱数の発生原理を、更に異なるハードウェア構成
で実現する例について、図7を参照して説明する。
<Second Embodiment> An example in which the pseudo-random number generation principle of this embodiment is realized by a different hardware configuration will be described below with reference to FIG.

【0081】上述した図6においては、図5Bで示した25
段のLFSRで8個の1ビット乱数を同時に発生する例を示し
たが、図7に示すハードウェア構成によれば、16個の1ビ
ット乱数を同時に発生することが可能である。
In FIG. 6 described above, 25 shown in FIG. 5B is used.
Although an example in which eight 1-bit random numbers are simultaneously generated by the LFSR of a stage has been shown, the hardware configuration shown in FIG. 7 can generate 16 1-bit random numbers at the same time.

【0082】図7において、F/F1〜25は図5Bに示すF/F50
1〜525と同じ1ビットのD-F/Fであるが、夫々が16個離れ
たF/Fと互いに接続されている。即ち、図7においてF/F1
はF/F17へ、F/F2はF/F18へ、F/F3はF/F19に接続され、
転送クロック701の入力に応じて、図5Aでのクロック16
個分のシフトに相当する動作が一度で行われる。F/F10
〜25の出力信号703は、16個の連続した1ビットの乱数と
して、或いは16ビットの乱数として用いることができ
る。
In FIG. 7, F / F1 to 25 are F / F50s shown in FIG. 5B.
It is the same 1-bit DF / F as 1-525, but each is connected to 16 F / Fs apart. That is, in FIG. 7, F / F1
To F / F17, F / F2 to F / F18, F / F3 to F / F19,
Clock 16 in Figure 5A depending on the input of transfer clock 701.
The operation corresponding to the shift for each piece is performed at one time. F / F10
The output signals 703 to 25 can be used as 16 consecutive 1-bit random numbers or as 16-bit random numbers.

【0083】尚、F/F7〜25の19ビットの出力信号は、排
他的論理和演算部702に入力される。排他的論理和演算
部702は図5Bにおいて説明した様に、夫々連続する4個の
F/F出力を3個の排他的論理和演算器で演算するユニット
の16組を内部に有し、同時に16個の帰還信号550〜565を
出力する。
The 19-bit output signals of the F / Fs 7 to 25 are input to the exclusive OR operation unit 702. As described with reference to FIG. 5B, the exclusive-OR operation unit 702 has four consecutive ORs.
It has 16 sets of units that operate the F / F output with three exclusive OR calculators, and outputs 16 feedback signals 550 to 565 at the same time.

【0084】これら16個の帰還信号の内、最も先行する
信号550をF/F16の入力に、次の帰還信号551をF/F15、さ
らに次の帰還信号552をF/F14の入力に接続する、という
ように、16本の帰還信号を順次F/F16〜1に入力する。
Of these 16 feedback signals, the most preceding signal 550 is connected to the F / F16 input, the next feedback signal 551 is connected to the F / F15, and the next feedback signal 552 is connected to the F / F14 input. , And so on, 16 feedback signals are sequentially input to the F / Fs 16 to 1.

【0085】以上説明したように第2実施形態によれ
ば、図7に示すハードウェア構成により、図5Aに示す従
来の乱数発生器と比べて、16倍程度高速に乱数を発生す
ることができる。
As described above, according to the second embodiment, the hardware configuration shown in FIG. 7 can generate a random number about 16 times faster than the conventional random number generator shown in FIG. 5A. .

【0086】従って、図7に示す構成からなる乱数発生
器を備えることにより、該乱数発生器から発生した擬似
乱数をSIMDプロセッサ308に供給することができるた
め、上述した図6に示す乱数発生器を備える第1実施形態
よりもさらに、SIMDプロセッサ308による擬似乱数処理
が高速化される。
Therefore, since the pseudo random number generated from the random number generator having the configuration shown in FIG. 7 can be supplied to the SIMD processor 308, the random number generator shown in FIG. Further, the pseudo random number processing by the SIMD processor 308 is speeded up more than in the first embodiment including.

【0087】尚、排他的論理和演算部702は、図5Bに示
す論理回路で実施しても良いが、F/F7〜25の出力信号を
各アドレス端子に接続するROMを用いて所謂ルックアッ
プテーブルを実現すれば、16個の帰還信号を更に高速に
生成することができる。
The exclusive OR operation unit 702 may be implemented by the logic circuit shown in FIG. 5B, but a so-called lookup is performed using a ROM that connects the output signals of the F / Fs 7 to 25 to each address terminal. If a table is realized, 16 feedback signals can be generated even faster.

【0088】<第3実施形態>以下、本実施形態におけ
る擬似乱数の発生原理を、図4に示す制御プロセッサ401
を用いたソフトウェア処理によって実現する例につい
て、図8A及び図8Bのフローチャートを参照して説明す
る。
<Third Embodiment> Hereinafter, the principle of generating pseudo-random numbers in this embodiment will be described with reference to FIG.
An example realized by software processing using will be described with reference to the flowcharts of FIGS. 8A and 8B.

【0089】●初期化ルーチン 図8Aは乱数レジスタの初期化ルーチンを示し、すなわ
ち、制御プロセッサ401内のレジスタにおいて、その25
ビット分を乱数レジスタQとして設定し、その1ビット目
Q(1)から25ビット目Q(25)までの25ビットのデータを初
期設定する。
Initialization Routine FIG. 8A shows the initialization routine of the random number register, that is, the initialization routine of the register in the control processor 401.
Set the number of bits as the random number register Q, the first bit
Initializes 25-bit data from Q (1) to the 25th bit Q (25).

【0090】この初期化ルーチンがシステムの立ち上げ
時に一度行われていれば、常に周期225-1(33554431)
の乱数列の一部である25ビットの乱数が、乱数レジスタ
Qに保持されることになる。尚、この初期値としては上
述したように、ビットが全て0でない任意の値とする。
If this initialization routine is performed once when the system is started up, the cycle is always 2 25 -1 (33554431).
The 25-bit random number that is part of the random number sequence of
Will be held in Q. As described above, the initial value is an arbitrary value in which all bits are not 0.

【0091】●乱数発生ルーチン 図8Bは、SIMDプロセッサ308を構成する128個のPEに対し
て1ビットの乱数を供給するために、制御プロセッサ401
が実行する乱数発生ルーチンを示すフローチャートであ
る。
Random Number Generation Routine FIG. 8B shows a control processor 401 for supplying a random number of 1 bit to 128 PEs that constitute the SIMD processor 308.
5 is a flow chart showing a random number generation routine executed by.

【0092】上述した第1実施形態において図6に示した
ハードウェア構成によれば、一度に8個の乱数を発生す
るため、128個のPEに対する128個の乱数を発生するに
は、発生ルーチンを16回繰返す必要がある。したがっ
て、先ず16回を計数するためのカウンタMを初期値0に設
定し(S802)、8個の乱数を乱数レジスタQ(25)〜Q(18)
として、制御プロセッサ401からメモリ/レジスタアクセ
スバス414を介して、SIMDプロセッサ308のメモリ/レジ
スタに出力する(S803)。
According to the hardware configuration shown in FIG. 6 in the above-described first embodiment, since eight random numbers are generated at one time, in order to generate 128 random numbers for 128 PEs, a generation routine is required. Need to be repeated 16 times. Therefore, first, the counter M for counting 16 times is set to the initial value 0 (S802), and the eight random numbers are set to the random number registers Q (25) to Q (18).
As the output from the control processor 401 to the memory / register of the SIMD processor 308 via the memory / register access bus 414 (S803).

【0093】SIMDプロセッサ308では、各PEが担当する2
KBのメモリ411の内1バイト分が乱数レジスタP*として割
り当てられており、その0ビット目P*(0)に、8個の乱数
を出力する。ここで*はPEの番号を示し、計数カウンタM
の値に応じて、順次0〜127となる。即ちステップS803で
はカウンタMが0であるので、まずPE0のレジスタP0(0)に
Q(25)を、PE1のレジスタP1(0)にQ(24)を、同様にPE7の
レジスタP7(0)にQ(18)、のそれぞれ1ビットの乱数を転
送する。
In the SIMD processor 308, each PE is in charge of 2
One byte of the KB memory 411 is allocated as a random number register P *, and eight random numbers are output to the 0th bit P * (0). Where * indicates the PE number, and the counter M
It becomes 0-127 sequentially according to the value of. That is, in step S803, since the counter M is 0, first register PE0 register P0 (0).
1-bit random numbers of Q (25), Q (24) to register P1 (0) of PE1, and Q (18) to register P7 (0) of PE7 are transferred.

【0094】次に、上述した8組の排他的論理和演算を
行う(S804)。すなわち、図5Bで示した25個のF/Fの出
力信号に相当する25ビットのレジスタQ(1)〜Q(25)の
内、後段の8ビット分であるQ(18)〜Q(25)を、ワーキン
グレジスタWR1に格納する。WR1に格納した8ビットデー
タは、図5Bに示した8個の排他的論理和演算器528,542,5
45,...,548の一方の入力信号に相当する。
Next, the above eight sets of exclusive OR operations are performed (S804). That is, among the 25-bit registers Q (1) to Q (25) corresponding to the output signals of the 25 F / Fs shown in FIG. 5B, Q (18) to Q (25 ) Is stored in the working register WR1. The 8-bit data stored in WR1 is the eight exclusive OR calculators 528, 542, 5 shown in FIG. 5B.
Corresponds to one input signal of 45, ..., 548.

【0095】同様にワーキングレジスタWR2へQ(17)〜Q
(24)を格納する。WR2に格納した8ビットデータは、図5B
に示した8個の排他的論理和演算器528,542,545,...,548
の他方の入力信号に相当する。
Similarly, Q (17) to Q are sent to the working register WR2.
Stores (24). The 8-bit data stored in WR2 is shown in Figure 5B.
8 exclusive OR calculators 528,542,545, ..., 548 shown in
Corresponds to the other input signal of.

【0096】同様にワーキングレジスタWR3へは、排他
的論理和演算器527,541,544,...,547への入力信号とし
てQ(16)〜Q(23)を、ワーキングレジスタWR4へは排他的
論理和演算器526,540,543,...,546への入力信号としてQ
(15)〜Q(22)を、夫々格納しておく。
Similarly, Q (16) to Q (23) are input to the working register WR3 as input signals to the exclusive OR calculators 527, 541, 544, ..., 547, and an exclusive OR operation is input to the working register WR4. Q as an input signal to the devices 526,540,543, ..., 546
(15) to Q (22) are stored respectively.

【0097】そして、WR1とWR2の排他的論理和演算結果
をワーキングレジスタWR5へ、WR5とWR3の排他的論理和
演算結果をワーキングレジスタWR6へ、WR6とWR4の排他
的論理和演算結果をワーキングレジスタWR7へ、夫々格
納する。
Then, the exclusive OR operation result of WR1 and WR2 is sent to the working register WR5, the exclusive OR operation result of WR5 and WR3 is sent to the working register WR6, and the exclusive OR operation result of WR6 and WR4 is sent to the working register. Store in WR7 respectively.

【0098】従って、WR1とWR2の排他的論理和演算結果
であるWR5のデータは、図5Bに示した8個の排他的論理和
演算器528,542,545,...,548の出力に相当し、このWR5と
WR3との排他的論理和演算結果であるWR6のデータは、排
他的論理和演算器527,541,544,...,547の出力に相当
し、同様にこのWR6とWR4との排他的論理和演算結果であ
るWR7のデータは、排他的論理和演算器526,540,54
3,...,546の出力、即ち8個の帰還信号550,551,552,...,
557に相当する。
Therefore, the data of WR5 which is the exclusive OR operation result of WR1 and WR2 corresponds to the outputs of the eight exclusive OR calculators 528, 542, 545, ..., 548 shown in FIG. 5B. With WR5
The data of WR6, which is the exclusive OR operation result with WR3, corresponds to the output of the exclusive OR calculators 527, 541, 544, ..., 547, and similarly the exclusive OR operation result of WR6 and WR4. The data of a certain WR7 is the exclusive OR calculator 526,540,54
3, ..., 546 outputs, i.e. 8 feedback signals 550,551,552, ...,
Equivalent to 557.

【0099】このようにステップS804においては、図6
に示す8組の排他的論理和演算を、8ビットのレジスタを
用いた3回の排他的論理和演算として実施する。
As described above, in step S804, as shown in FIG.
The eight sets of exclusive OR operations shown in are executed as three exclusive OR operations using an 8-bit register.

【0100】次に、図6に示すF/Fのシフト動作に相当す
る処理を行う(S805)。即ち、乱数として出力が終了し
たレジスタQ(18)〜Q(25)へQ(10)〜Q(17)の値を転送し、
該転送が終了したQ(10)〜Q(17)にQ(2)〜Q(9)の値を転送
する。
Next, processing corresponding to the F / F shift operation shown in FIG. 6 is performed (S805). That is, the values of Q (10) to Q (17) are transferred to the registers Q (18) to Q (25) whose output has ended as random numbers,
The values of Q (2) to Q (9) are transferred to Q (10) to Q (17) after the transfer is completed.

【0101】同様に、Q(1)のデータをQ(9)に転送した
後、ステップS804で得られた8個の帰還信号、即ちワー
キングレジスタWR7の値をQ(8)〜Q(1)にフィードバック
する。即ち、先頭で帰還するWR7(0)をQ(8)に、WR7(1)を
Q(7)に順次帰還させ、WR7(7)の値をQ(1)に入力して、転
送処理を終える。
Similarly, after transferring the data of Q (1) to Q (9), the eight feedback signals obtained in step S804, that is, the values of the working register WR7 are set to Q (8) to Q (1). Give feedback to. That is, WR7 (0) that returns at the beginning is set to Q (8), and WR7 (1) is set to
It is sequentially fed back to Q (7), the value of WR7 (7) is input to Q (1), and the transfer process is completed.

【0102】そしてMの値を1更新した後(S806)、上記
ステップS803〜S806の処理を16回繰り返すことによって
(S807)、SIMDプロセッサにおける128組のPEに対し
て、128個の1ビット乱数を入力することができる。
After the value of M is updated by 1 (S806), the processes of steps S803 to S806 are repeated 16 times (S807) to obtain 128 1-bit random numbers for 128 sets of PEs in the SIMD processor. Can be entered.

【0103】ここで、本実施形態の制御プロセッサ401
はいわゆるSISD(Single Instruction stream Single
Data stream)型のプロッセッサであるので、LFSR方式
のような所謂逐次型画像処理には適している。従って、
制御プロセッサ401がSIMD型プロセッサ308に比べて十分
に高速処理が可能であれば、図5Bで説明した1クロック
転送毎に1ビットの乱数を発生させることは言うまでも
なく、プログラムメモリ402に格納される命令が、制御
プロセッサ用の41ビットとSIMD用の31ビットが1ワード7
2ビットとなるVLIW(Very Long Instructin Word)方式
で、同一クロックによる同時動作である場合に、この種
の逐次処理はSISD方式の制御プロセッサを用いて行い、
更に本発明による高速化アルゴリズムを実行することに
よって、更なる高速化が望める。
Here, the control processor 401 of the present embodiment.
Is the so-called SISD (Single Instruction stream Single
Since it is a data stream type processor, it is suitable for so-called sequential image processing such as the LFSR method. Therefore,
If the control processor 401 is capable of sufficiently high-speed processing as compared with the SIMD type processor 308, it is needless to say that it generates a 1-bit random number for each clock transfer described in FIG. 5B, and is stored in the program memory 402. Instructions are 1 word with 41 bits for control processor and 31 bits for SIMD 7
In the VLIW (Very Long Instructin Word) method, which is 2 bits, this type of sequential processing is performed using the SISD method control processor when the simultaneous operation is performed by the same clock.
Further speed-up can be expected by executing the speed-up algorithm according to the present invention.

【0104】また、制御プロセッサ401及びSIMD型プロ
セッサ308は夫々、モノリシックなプロセッサチップで
ある。
The control processor 401 and the SIMD type processor 308 are monolithic processor chips, respectively.

【0105】●乱数を用いた画像処理 以下、上述したように制御プロセッサ401で発生された
乱数を用いて、SIMDプロセッサ308で行われる画像処理
について、図9のフローチャートを参照して説明する。
Image Processing Using Random Numbers Image processing performed by the SIMD processor 308 using the random numbers generated by the control processor 401 as described above will be described below with reference to the flowchart of FIG.

【0106】本実施形態においては、図2に示す読取り
ユニット201でシェーディング補正された1ラスタ7168
画素の画像信号は、SIMDプロセッサ308のPE数に等しい1
28画素に分割して処理される。
In this embodiment, one raster 7168 whose shading has been corrected by the reading unit 201 shown in FIG.
The image signal of the pixel is equal to the number of PEs of SIMD processor 308 1
It is divided into 28 pixels for processing.

【0107】読取ユニット201によりCCDにて読み取られ
た画像信号は、8ビットの画像信号として、画像データ
制御部203を介して画像処理プロセッサ部204中のFIFOメ
モリ301に入力され、入力レジスタ302、外部メモリイン
タフェース306を介して、ワーキングメモリ216に記憶さ
れる。
The image signal read by the CCD by the reading unit 201 is input as an 8-bit image signal to the FIFO memory 301 in the image processing processor unit 204 via the image data control unit 203, and the input register 302, It is stored in the working memory 216 via the external memory interface 306.

【0108】ワーキングメモリ216から読み出された1ラ
スタの画像信号のうち、まず先頭の128画素分の画像デ
ータを、それぞれを担当する各PEのレジスタに入力し
(S901)、該画像データは輝度信号であるからこれを濃
度信号に対数変換する(S902)。このとき、図8Bによっ
て説明した制御プロセッサ401による乱数発生ルーチン
が実行される(S903)。
Of the image signals of one raster read from the working memory 216, first, the image data of the first 128 pixels is input to the registers of the PEs in charge thereof (S901), and the image data is processed to the luminance. Since it is a signal, it is logarithmically converted into a density signal (S902). At this time, the random number generation routine by the control processor 401 described with reference to FIG. 8B is executed (S903).

【0109】本実施形態においては、SIMDプロセッサ30
8の命令と制御プロセッサ401の命令とは1ワードが72ビ
ットで構成され、制御プロセッサ401用の41ビットの命
令コードとSIMDプロセッサ308用の31ビットで夫々が同
時に実行されるため、図8Bに示した制御プロセッサ401
による乱数発生処理(S903)は、対数変換処理(S902)
と同時に開始される。
In this embodiment, the SIMD processor 30
The instruction of 8 and the instruction of the control processor 401 are composed of 72 bits in one word, and the 41-bit instruction code for the control processor 401 and the 31-bit for the SIMD processor 308 execute each at the same time. Control processor 401 shown
Random number generation process (S903) by logarithmic conversion process (S902)
It will be started at the same time.

【0110】対数変換の結果として得られた濃度データ
は、操作パネル212からの入力に従って濃度調整のため
の濃度変換処理が施される(S904)。同様に、操作パネ
ル212の入力等により設定された画像モード等の指定に
従って、画像信号に空間フィルタ処理を行う(S905)。
その後、擬似中間調処理(S906)が行われるが、これは
本実施形態において発生した擬似乱数を用いる、代表的
な画像処理ルーチンである。この擬似中間長処理として
は、誤差拡散処理や組織ディザ処理等を選択的に行う
が、本実施形態では乱数を直接用いて画像を2値化する
乱数ディザ処理を行う例について、後述する。
The density data obtained as a result of the logarithmic conversion is subjected to density conversion processing for density adjustment according to the input from the operation panel 212 (S904). Similarly, the spatial filtering process is performed on the image signal according to the designation of the image mode set by the input of the operation panel 212 or the like (S905).
After that, a pseudo halftone process (S906) is performed, which is a typical image processing routine using the pseudo random number generated in this embodiment. As the pseudo intermediate length process, an error diffusion process, a tissue dither process, or the like is selectively performed. In the present embodiment, an example of performing a random number dither process for binarizing an image by directly using a random number will be described later.

【0111】そして、その他の処理を実行した後、記録
信号として2値化された画像信号を外部のワーキングメ
モリ216に転送して(S908)、1ラスタの先頭128画素の
処理が終了する。1ラスタ分(7168画素)の処理は、ス
テップS901〜S908の処理を56回繰返すことにより、終了
する(S909)。
After performing other processing, the binarized image signal as a recording signal is transferred to the external working memory 216 (S908), and the processing of the first 128 pixels of one raster is completed. The processing for one raster (7168 pixels) is completed by repeating the processing of steps S901 to S908 56 times (S909).

【0112】従って、ステップS903の乱数発生ルーチン
においては、ステップS901〜S908の処理が終了するまで
に、図8Bで示した処理を全て終了していなければならな
い。尚、図8Aで示した乱数レジスタの初期化ルーチン
は、例えば電源投入時に既に終了しているものとする。
Therefore, in the random number generation routine of step S903, all the processes shown in FIG. 8B must be completed before the processes of steps S901 to S908 are completed. It is assumed that the initialization routine of the random number register shown in FIG. 8A has already been completed when the power is turned on, for example.

【0113】以上説明したステップS901〜S909のラスタ
処理を、4960ライン分繰返すことによって、A4サイズ1
ページの処理が終了する(S910)。
By repeating the raster processing of steps S901 to S909 described above for 4960 lines, A4 size 1
The processing of the page ends (S910).

【0114】以下、ステップS906における擬似中間調処
理の詳細を、図10のフローチャートを参照して説明す
る。
Details of the pseudo halftone process in step S906 will be described below with reference to the flowchart in FIG.

【0115】図10は、本実施形態における乱数ディザ処
理を示すフローチャートである。まず、直前のステップ
S905で行われた空間フィルタ処理の結果が格納された内
部メモリ411から、各PEの汎用レジスタ406内の8ビット
レジスタBに8ビットの画像信号を転送する(S1001)。S
IMDプロセッサ308では128個のPEが同時に動作するた
め、このステップS1001においては、メモリ411に格納さ
れた128個の画像信号が、SIMDプロセッサ308の各PEが担
当する汎用レジスタBに同時に転送されていることにな
る。
FIG. 10 is a flowchart showing the random number dither processing in this embodiment. First, the last step
An 8-bit image signal is transferred to the 8-bit register B in the general-purpose register 406 of each PE from the internal memory 411 that stores the result of the spatial filter processing performed in S905 (S1001). S
Since 128 PEs simultaneously operate in the IMD processor 308, in this step S1001, the 128 image signals stored in the memory 411 are simultaneously transferred to the general-purpose register B in charge of each PE of the SIMD processor 308. Will be there.

【0116】ここで上述した様に、各PEの内部メモリ41
1には夫々8ビットの乱数レジスタP(0)〜P(7)が設定され
ており、図8Bに示す乱数発生ルーチンの実行により、乱
数レジスタの0ビット目P(0)には、直前に発生した1ビッ
トの乱数が書き込まれている。本実施形態では、各画素
毎に制御プロセッサ401から書き込まれるこの乱数を過
去8画素分、即ち8ビット分をP(0)〜P(7)として保存して
おり、この8ビットの乱数を2値化の閾値として用いる。
As described above, the internal memory 41 of each PE is
8-bit random number registers P (0) to P (7) are set to 1 respectively, and the 0th bit P (0) of the random number register is set immediately before by the execution of the random number generation routine shown in FIG. 8B. The generated 1-bit random number is written. In the present embodiment, the random number written from the control processor 401 for each pixel is stored as the past 8 pixels, that is, 8 bits as P (0) to P (7), and the 8-bit random number is 2 It is used as a threshold for binarization.

【0117】すなわち、乱数レジスタP(0)〜P(7)の2値
データを、8ビットの乱数としてPEレジスタ408内のレジ
スタPERに格納し(S1002)、次の画素を処理する際の乱
数を生成するために、P(6)→P(7)、P(5)→P(6)、P(4)→
P(5)、...、P(0)→P(1)、の如く1ビットシフトを行う
(S1003)。
That is, the binary data of the random number registers P (0) to P (7) is stored in the register PER in the PE register 408 as an 8-bit random number (S1002), and the random number for processing the next pixel is stored. P (6) → P (7), P (5) → P (6), P (4) →
1-bit shift is performed as in P (5), ..., P (0) → P (1) (S1003).

【0118】その後、汎用レジスタ406内の2値化レジス
タCに2値化結果の初期値として0を格納し(S1004)、乱
数PERを閾値として画像信号Bを2値化する(S1005)。す
なわち、画像信号Bが乱数PERより大きければ2値化レジ
スタCを1に書き換えた後(S1006)、2値レジスタCの値
を内部メモリ411に出力する(S1007)。このとき、画像
入力時と同様に128画素分の2値化結果が得られている
他、内部メモリ411への画像転送が128ビット分同時に行
われている。
After that, 0 is stored as the initial value of the binarization result in the binarization register C in the general-purpose register 406 (S1004), and the image signal B is binarized using the random number PER as a threshold (S1005). That is, if the image signal B is larger than the random number PER, the binarization register C is rewritten to 1 (S1006), and then the value of the binary register C is output to the internal memory 411 (S1007). At this time, the binarization result for 128 pixels is obtained as in the case of image input, and the image transfer to the internal memory 411 is simultaneously performed for 128 bits.

【0119】以上のステップS1001〜S1007の処理によっ
て、1ラスタの1/56、即ち128画素分の2値化が終了す
る。
By the processing in the above steps S1001 to S1007, 1/56 of one raster, that is, binarization of 128 pixels is completed.

【0120】以上説明したように第3実施形態によれ
ば、上述した第1実施形態において図6に示したハードウ
ェア構成で実現した擬似乱数発生処理を、制御プロセッ
サ401によるソフトウェア処理にて実現することができ
る。
As described above, according to the third embodiment, the pseudo random number generation process realized by the hardware configuration shown in FIG. 6 in the first embodiment described above is realized by the software process by the control processor 401. be able to.

【0121】従って、制御プロセッサ401で高速に発生
した擬似乱数をSIMDプロセッサ308に供給することがで
きるため、SIMDプロセッサによる高速な擬似乱数処理が
可能となる。
Therefore, since the pseudo random number generated at high speed by the control processor 401 can be supplied to the SIMD processor 308, high speed pseudo random number processing by the SIMD processor becomes possible.

【0122】<第4実施形態>以下、制御プロセッサ40
1でのソフトウェア処理による擬似乱数発生処理につい
て、他の処理例を図8Cのフローチャートを参照して説明
する。尚、図8Cも図8Bと同様、第1実施形態で図6に示し
たハードウェアによる乱数発生処理を、制御プロセッサ
401が実行する乱数発生ルーチンを示すフローチャート
であり、図8Bに示す各ステップと同様の処理については
同一ステップ番号を付してある。図8Cに示す擬似乱数発
生処理においては、排他的論理和演算をLUT変換で行う
ことにより、上述した図8Bに示す処理に対して更なる高
速化を実現することを特徴とする。
<Fourth Embodiment> The control processor 40 will be described below.
Another processing example of the pseudo random number generation processing by the software processing in 1 will be described with reference to the flowchart in FIG. 8C. 8C, similar to FIG. 8B, the random number generation process by the hardware shown in FIG. 6 in the first embodiment is performed by the control processor.
9 is a flowchart showing a random number generation routine executed by 401, in which the same step numbers are assigned to the same processes as the steps shown in FIG. 8B. The pseudo-random number generation process shown in FIG. 8C is characterized in that the exclusive OR operation is performed by LUT conversion, thereby further speeding up the process shown in FIG. 8B.

【0123】上述した第1実施形態において図6に示した
ハードウェア構成によれば、一度に8個の乱数を発生す
るため、本実施形態において128個のPEに対する128個の
乱数を発生するには、発生ルーチンを16回繰返す必要が
ある。したがって図8Cに示すフローチャートにおいて
も、先ず16回を計数するためのカウンタMを初期値0に設
定し(S802)、8個の乱数を乱数レジスタQ(25)〜Q(18)
として、制御プロセッサ401からメモリ/レジスタアクセ
スバス414を介して、SIMDプロセッサ308のメモリ/レジ
スタに出力する(S803)。
According to the hardware configuration shown in FIG. 6 in the above-described first embodiment, eight random numbers are generated at one time, and therefore 128 random numbers for 128 PEs are generated in this embodiment. Requires the generation routine to be repeated 16 times. Therefore, also in the flowchart shown in FIG. 8C, first, the counter M for counting 16 times is set to the initial value 0 (S802), and eight random numbers are set to the random number registers Q (25) to Q (18).
As the output from the control processor 401 to the memory / register of the SIMD processor 308 via the memory / register access bus 414 (S803).

【0124】SIMDプロセッサ308では、各PEが担当する2
KBのメモリ411の内1バイト分が乱数レジスタP*として割
り当てられており、その0ビット目P*(0)に、8個の乱数
を出力する。ここで*はPEの番号を示し、計数カウンタM
の値に応じて、順次0〜127となる。即ちステップS803で
はカウンタMが0であるので、まずPE0のレジスタP0(0)に
Q(25)を、PE1のレジスタP1(0)にQ(24)を、同様にPE7の
レジスタP7(0)にQ(18)、のそれぞれ1ビットの乱数を転
送する。
In the SIMD processor 308, each PE is in charge of 2
One byte of the KB memory 411 is allocated as a random number register P *, and eight random numbers are output to the 0th bit P * (0). Where * indicates the PE number, and the counter M
It becomes 0-127 sequentially according to the value of. That is, in step S803, since the counter M is 0, first register PE0 register P0 (0).
1-bit random numbers of Q (25), Q (24) to register P1 (0) of PE1, and Q (18) to register P7 (0) of PE7 are transferred.

【0125】そして、図8BのステップS804における処理
と同様に、8組の排他的論理和演算を、LUTを利用して行
う(S809)。すなわちステップS809では、図5Bに示した
25個のF/Fの出力信号に相当する25ビットのレジスタQ
(1)〜Q(25)の内、後段のレジスタQ(15)〜Q(25)の11ビッ
ト信号をアドレスとする、2KBのデータメモリ403をルッ
クアップテーブルとして用いることによって、8個の帰
還信号550〜557を直接求める。従ってまず、11ビットの
データをワーキングレジスタWR1に入力し、LUT(WR1)の
値を帰還信号として、ワーキングレジスタWR7に入力す
る。本実施形態においてはこのように、図6に示す8組の
排他的論理和演算を、予め演算結果を書き込んだデータ
メモリ403内の2KBのLUTを用いて行うことにより、帰還
信号を高速に得ることができる。
Then, similar to the processing in step S804 of FIG. 8B, eight sets of exclusive OR operations are performed using the LUT (S809). That is, in step S809, as shown in FIG. 5B.
25-bit register Q corresponding to 25 F / F output signals
Of the (1) to Q (25), the 2 bits of the data memory 403, which uses the 11-bit signal of the register Q (15) to Q (25) in the subsequent stage as an address, is used as a look-up table. Directly obtain signals 550-557. Therefore, first, 11-bit data is input to the working register WR1, and the value of the LUT (WR1) is input to the working register WR7 as a feedback signal. In the present embodiment, as described above, the 8 sets of exclusive OR operations shown in FIG. 6 are performed by using the 2 KB LUT in the data memory 403 in which the operation result is written in advance to obtain the feedback signal at high speed. be able to.

【0126】その後、図6に示すF/Fのシフト動作に相当
する処理を行う(S805)。即ち、乱数として出力が終了
したレジスタQ(18)〜Q(25)へQ(10)〜Q(17)の値を転送
し、該転送が終了したQ(10)〜Q(17)にQ(2)〜Q(9)の値を
転送する。
After that, a process corresponding to the F / F shift operation shown in FIG. 6 is performed (S805). That is, the values of Q (10) to Q (17) are transferred to the registers Q (18) to Q (25) whose output is finished as random numbers, and Q (10) to Q (17) are transferred to the registers Q (18) to Q (17). Transfer the values from (2) to Q (9).

【0127】同様に、Q(1)のデータをQ(9)に転送した
後、ステップS804で得られた8個の帰還信号、即ちワー
キングレジスタWR7の値をQ(1)〜Q(8)にフィードバック
する。即ち、先頭で帰還するWR7(0)をQ(8)に、WR7(1)を
Q(7)に順次帰還させ、WR7(7)の値をQ(1)に入力して、転
送処理を終える。
Similarly, after transferring the data of Q (1) to Q (9), the eight feedback signals obtained in step S804, that is, the values of the working register WR7 are set to Q (1) to Q (8). Give feedback to. That is, WR7 (0) that returns at the beginning is set to Q (8), and WR7 (1) is set to
It is sequentially fed back to Q (7), the value of WR7 (7) is input to Q (1), and the transfer process is completed.

【0128】そしてMの値を1更新した後(S806)、上記
ステップS803〜S806の処理を16回繰り返すことによって
(S807)、SIMDプロセッサにおける128組のPEに対し
て、128個の1ビット乱数を入力することができる。
After the value of M is updated by 1 (S806), the processes of steps S803 to S806 are repeated 16 times (S807), so that 128 1-bit random numbers are set for 128 sets of PEs in the SIMD processor. Can be entered.

【0129】以上説明したように第4実施形態によれ
ば、第3実施形態において図8Bに示した処理に比べて、L
UTを利用することによって、さらなる高速処理が可能と
なる。
As described above, according to the fourth embodiment, as compared with the processing shown in FIG. 8B in the third embodiment, L
By using UT, higher speed processing is possible.

【0130】<第5実施形態>以下、制御プロセッサ40
1でのソフトウェア処理による擬似乱数発生処理につい
て、さらに他の処理例を図8Dのフローチャートを参照し
て説明する。図8Dは、第2実施形態で図7に示したハード
ウェアによって16個の乱数列を同時に発生する乱数発生
処理を、制御プロセッサ401が実行する乱数発生ルーチ
ンを示すフローチャートである。
<Fifth Embodiment> Hereinafter, the control processor 40 will be described.
Pseudo-random number generation processing by software processing in 1 will be described with reference to a flowchart of FIG. 8D as another processing example. FIG. 8D is a flowchart showing a random number generation routine in which the control processor 401 executes a random number generation process for simultaneously generating 16 random number sequences by the hardware shown in FIG. 7 in the second embodiment.

【0131】上述した第2実施形態において図7に示した
ハードウェア構成によれば、一度に16個の乱数を発生す
るため、本実施形態において128個のPEに対する128個の
乱数を発生するには、発生ルーチンを8回繰返す必要が
ある。したがって図8Dに示すフローチャートにおいて
は、先ず8回を計数するためのカウンタMを初期値0に設
定し(S812)、16個の乱数を乱数レジスタQ(25)〜Q(10)
として、制御プロセッサ401からメモリ/レジスタアクセ
スバス414を介して、SIMDプロセッサ308のメモリ/レジ
スタに出力する(S813)。
According to the hardware configuration shown in FIG. 7 in the second embodiment described above, 16 random numbers are generated at one time, so in the present embodiment, 128 random numbers for 128 PEs are generated. Requires the generation routine to be repeated eight times. Therefore, in the flowchart shown in FIG. 8D, first, a counter M for counting 8 times is set to an initial value 0 (S812), and 16 random numbers are stored in the random number registers Q (25) to Q (10).
As the output from the control processor 401 to the memory / register of the SIMD processor 308 via the memory / register access bus 414 (S813).

【0132】SIMDプロセッサ308では、各PEが担当する2
KBのメモリ411の内1バイト分が乱数レジスタP*として割
り当てられており、その0ビット目P*(0)に、16個の乱数
を出力する。ここで*はPEの番号を示し、計数カウンタM
の値に応じて、順次0〜127となる。即ちステップS813で
はカウンタMが0であるので、まずPE0のレジスタP0(0)に
Q(25)を、PE1のレジスタP1(0)にQ(24)を、同様にPE15の
レジスタP15(0)にQ(10)、のそれぞれ1ビットの乱数を転
送する。
In the SIMD processor 308, each PE is in charge of 2
One byte of the KB memory 411 is assigned as a random number register P *, and 16 random numbers are output to the 0th bit P * (0). Where * indicates the PE number, and the counter M
It becomes 0-127 sequentially according to the value of. That is, in step S813, since the counter M is 0, first register PE0 register P0 (0).
1-bit random numbers of Q (25), Q (24) to the register P1 (0) of PE1, and Q (10) to the register P15 (0) of PE15 are transferred.

【0133】次に、上述した16組の排他的論理和演算を
行う(S814)。すなわち、図5Bで示した25個のF/Fの出
力信号に相当する25ビットのレジスタQ(1)〜Q(25)の
内、後段の16ビット分であるQ(10)〜Q(25)を、16ビット
のワーキングレジスタWR1に格納する。WR1に格納した16
ビットデータは、図5Bに示した8個の排他的論理和演算
器528,542,545,...,548に相当する16個の演算器の一方
の入力信号となる。
Next, the above 16 sets of exclusive OR operations are performed (S814). That is, among the 25-bit registers Q (1) to Q (25) corresponding to the output signals of the 25 F / Fs shown in FIG. 5B, Q (10) to Q (25 ) Is stored in the 16-bit working register WR1. 16 stored in WR1
The bit data serves as one input signal of the 16 arithmetic units corresponding to the 8 exclusive OR arithmetic units 528, 542, 545, ..., 548 shown in FIG. 5B.

【0134】同様にワーキングレジスタWR2へQ(9)〜Q(2
4)を格納する。WR2に格納した16ビットデータは、上記1
6個の演算器の他方の入力信号となる。
Similarly, Q (9) to Q (2
Store 4). The 16-bit data stored in WR2 is 1 above.
It becomes the other input signal of the six arithmetic units.

【0135】同様にワーキングレジスタWR3へは、図5B
に示した8個の排他的論理和演算器527,541,544,...,547
に相当する16個の演算器への入力信号としてQ(8)〜Q(2
3)を、ワーキングレジスタWR4へは排他的論理和演算器5
26,540,543,...,546に相当する16個の演算器への入力信
号としてQ(7)〜Q(22)を、夫々格納しておく。
Similarly, to the working register WR3, the data shown in FIG.
8 exclusive OR operators 527,541,544, ..., 547
Q (8) to Q (2
3) to the working register WR4 and the exclusive OR calculator 5
Q (7) to Q (22) are respectively stored as input signals to 16 arithmetic units corresponding to 26,540,543, ..., 546.

【0136】そして、WR1とWR2の排他的論理和演算結果
をワーキングレジスタWR5へ、WR5とWR3の排他的論理和
演算結果をワーキングレジスタWR6へ、WR6とWR4の排他
的論理和演算結果をワーキングレジスタWR7へ、夫々格
納する。
Then, the exclusive OR operation result of WR1 and WR2 is sent to the working register WR5, the exclusive OR operation result of WR5 and WR3 is sent to the working register WR6, and the exclusive OR operation result of WR6 and WR4 is sent to the working register. Store in WR7 respectively.

【0137】従って、WR1とWR2の排他的論理和演算結果
であるWR5のデータは、上記排他的論理和演算器528等に
相当する16個の演算器の出力を示し、このWR5とWR3との
排他的論理和演算結果であるWR6のデータは、上記排他
的論理和演算器527等に相当する16個の演算器の出力を
示し、同様にこのWR6とWR4との排他的論理和演算結果で
あるWR7のデータは、排他的論理和演算器526等に相当す
る16個の演算器の出力を示し、即ち16個の帰還信号550,
551,552,...,567に相当する。
Therefore, the data of WR5 which is the exclusive OR operation result of WR1 and WR2 indicates the output of 16 arithmetic units corresponding to the exclusive OR arithmetic unit 528 and the like. The data of WR6, which is the exclusive OR operation result, indicates the outputs of 16 arithmetic units corresponding to the exclusive OR operation unit 527 and the like, and similarly is the exclusive OR operation result of WR6 and WR4. The data of a certain WR7 indicates the outputs of 16 arithmetic units corresponding to the exclusive OR arithmetic unit 526, that is, 16 feedback signals 550,
Equivalent to 551,552, ..., 567.

【0138】このようにステップS814においては、図7
に示す16組の排他的論理和演算を、16ビットのレジスタ
を用いた3回の排他的論理和演算として実施する。
As described above, in step S814, as shown in FIG.
The 16 sets of exclusive OR operations shown in are performed as three exclusive OR operations using a 16-bit register.

【0139】次に、図7に示すF/Fのシフト動作に相当す
る処理を行う(S815)。即ち、乱数として出力が終了し
たレジスタQ(17)〜Q(25)へQ(1)〜Q(9)の値を転送し、ス
テップS814で得られた16個の帰還信号、即ちワーキング
レジスタWR7の値をQ(16)〜Q(1)にフィードバックする。
即ち、先頭で帰還するWR7(0)をQ(16)に、WR7(1)をQ(15)
に順次帰還させ、WR7(15)の値をQ(1)に入力して、転送
処理を終える。
Next, a process corresponding to the F / F shift operation shown in FIG. 7 is performed (S815). That is, the values of Q (1) to Q (9) are transferred to the registers Q (17) to Q (25) whose output has ended as random numbers, and the 16 feedback signals obtained in step S814, that is, the working register WR7. The value of is fed back to Q (16) to Q (1).
That is, WR7 (0) that returns at the beginning is set to Q (16) and WR7 (1) is set to Q (15).
Then, the value of WR7 (15) is input to Q (1), and the transfer process is completed.

【0140】そしてMの値を1更新した後(S816)、上記
ステップS813〜S816の処理を8回繰り返すことによって
(S817)、SIMDプロセッサにおける128組のPEに対し
て、128個の1ビット乱数を入力することができる。
After updating the value of M by 1 (S816), the processes of steps S813 to S816 are repeated 8 times (S817) to obtain 128 1-bit random numbers for 128 sets of PEs in the SIMD processor. Can be entered.

【0141】以上説明したように第5実施形態によれ
ば、上述した第2実施形態において図7に示したハードウ
ェア構成で実現した擬似乱数発生処理を、制御プロセッ
サ401によるソフトウェア処理にて実現することができ
る。図7の構成は図6の構成に比べて2倍の処理速度を実
現するものであるから、第5実施形態によればすなわ
ち、図6の構成に対応するソフトウェア処理を示す第3実
施形態において図8Bに示した処理に比べて、約2倍の高
速処理が可能となる。
As described above, according to the fifth embodiment, the pseudo-random number generation processing realized by the hardware configuration shown in FIG. 7 in the second embodiment described above is realized by software processing by the control processor 401. be able to. Since the configuration of FIG. 7 realizes twice the processing speed as compared with the configuration of FIG. 6, according to the fifth embodiment, that is, in the third embodiment showing the software processing corresponding to the configuration of FIG. As compared to the processing shown in FIG. 8B, it is possible to perform high-speed processing that is about twice as fast.

【0142】なお、第5実施形態に対しても上述した第4
実施形態に示したLUTによる排他的論理輪演算を適用す
ることが可能であり、これにより更なる高速化が望め
る。
The fourth embodiment described above also for the fifth embodiment.
It is possible to apply the exclusive logical wheel operation by the LUT shown in the embodiment, and further speedup can be expected by this.

【0143】<変形例>上述した実施形態は本発明の一
形態に過ぎず、本発明は以下のような変形も可能であ
る。
<Modification> The above-described embodiment is only one form of the present invention, and the present invention can be modified as follows.

【0144】・適用可能な乱数処理 本発明の乱数発生方法によって得られた乱数は、上述し
た実施形態で示した乱数ディザに限らず、例えば1ビッ
トの乱数出力を誤差拡散法を実施する際の誤差の分配率
の切り替えに用いたり、多ビットの乱数として画像信号
に加算する等、一般的な乱数処理の全てに適用可能であ
る。
Applicable Random Number Processing Random numbers obtained by the random number generation method of the present invention are not limited to the random number dither shown in the above-described embodiment, and for example, when 1-bit random number output is performed by the error diffusion method. The present invention can be applied to all general random number processes such as switching the distribution ratio of an error and adding a multi-bit random number to an image signal.

【0145】・複数箇所での乱数使用 上述した実施形態では、乱数ディザ法を1ページ連続し
て行う例を示したが、例えば1ラスタ毎に異なる画像処
理を連続して施し、その内の複数箇所で乱数を用いる場
合には、その都度乱数発生ルーチンを実行するのでな
く、乱数レジスタの適用位置を変えるようにすれば良
い。例えば、第1の処理では乱数レジスタP(7)による1ビ
ット乱数、第2の処理では乱数レジスタP(0)〜P(3)によ
る4ビット乱数として用いる等、使用するビット位置を
変えることによって、乱数発生ルーチンを複数回実行す
ることによる処理速度の低下を防止することができる。
Use of Random Numbers at Plural Places In the above-described embodiment, the example in which the random number dither method is continuously performed for one page has been shown. However, for example, different image processing is continuously performed for each raster and When a random number is used at a location, the application position of the random number register may be changed instead of executing the random number generation routine each time. For example, by using a 1-bit random number by the random number register P (7) in the first process, a 4-bit random number by the random number register P (0) to P (3) in the second process, etc. It is possible to prevent a decrease in processing speed due to the random number generation routine being executed a plurality of times.

【0146】同様に、例えば1画素をRGBに色分解し、連
続して1画素のRGBデータを処理する際にも、乱数レジス
タP(7)はRデータ用に、P(6)はGデータ用に、P(5)はBデ
ータ用に使用すれば、処理の高速化が図れる。
Similarly, for example, when one pixel is color-separated into RGB and the RGB data of one pixel is continuously processed, the random number register P (7) is for R data and P (6) is for G data. Therefore, if P (5) is used for B data, the processing speed can be increased.

【0147】・LFSR また、上述した実施形態では25段のLFSRを例として示し
たが、他の周期性を有する擬似乱数発生方式でも適用可
能であり、同様の効果が得られることは言うまでもな
い。
LFSR Further, in the above-mentioned embodiment, the 25-stage LFSR is shown as an example, but it is needless to say that the same effect can be obtained by applying the pseudo random number generating method having other periodicity.

【0148】<他の実施形態>なお、本発明は、複数の
機器(例えばホストコンピュータ、インタフェイス機
器、リーダ、プリンタなど)から構成されるシステムに
適用しても、一つの機器からなる装置(例えば、複写
機、ファクシミリ装置など)に適用しても良い。また、
本発明の目的は、前述した実施形態の機能を実現するソ
フトウェアのプログラムコードを記録した記憶媒体を、
システムあるいは装置に供給し、そのシステムあるいは
装置のコンピュータ(またはCPUまたはMPU)が記憶媒体に
格納されたプログラムコードを読み出し実行することに
よっても達成されることは言うまでもない。
<Other Embodiments> Incidentally, even when the present invention is applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), an apparatus consisting of one device ( For example, it may be applied to a copying machine, a facsimile machine, etc.). Also,
An object of the present invention is to provide a storage medium in which a program code of software for realizing the functions of the above-described embodiment is recorded,
It is needless to say that it is also achieved by supplying to the system or device, and the computer (or CPU or MPU) of the system or device reads and executes the program code stored in the storage medium.

【0149】この場合、記憶媒体から読み出されたプロ
グラムコード自体が前述した実施形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
は本発明を構成することになる。
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.

【0150】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピー(登録商標)ディス
ク、ハードディスク、光ディスク、光磁気ディスク、CD
-ROM、CD-R、磁気テープ、不揮発性のメモリカード、RO
Mなどを用いることが出来る。
A storage medium for supplying the program code is, for example, a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, a CD.
-ROM, CD-R, magnetic tape, non-volatile memory card, RO
M etc. can be used.

【0151】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼動しているOS(オペレ
ーティングシステム)などが実際の処理の一部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれることは言うまでもない。
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also the OS (operating system) operating on the computer based on the instruction of the program code. ) Etc. do some of the actual processing,
It goes without saying that the processing includes the case where the functions of the above-described embodiments are realized.

【0152】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張ボー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードの指
示に基づき、その機能拡張ボードや機能拡張ユニットに
備わるCPUなどが実際の処理の一部または全部を行い、
その処理によって前述した実施形態の機能が実現される
場合も含まれることは言うまでもない。
Further, after the program code read from the storage medium is written in the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, based on the instruction of the program code, The CPU provided in the function expansion board or function expansion unit performs some or all of the actual processing,
It goes without saying that the processing includes the case where the functions of the above-described embodiments are realized.

【0153】[0153]

【発明の効果】以上説明したように本発明によれば、SI
MD型プロセッサによる高速な擬似乱数処理が可能とな
る。
As described above, according to the present invention, SI
High-speed pseudo-random number processing by the MD processor is possible.

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

【図1】本発明に係る一実施形態における画像処理装置
の基本機能構成を示すブロック図である。
FIG. 1 is a block diagram showing a basic functional configuration of an image processing apparatus according to an embodiment of the present invention.

【図2】本実施形態における画像処理装置のハードウェ
ア構成を示すブロック図である。
FIG. 2 is a block diagram showing a hardware configuration of an image processing apparatus according to this embodiment.

【図3】画像処理プロセッサの詳細構成を示すブロック
図である。
FIG. 3 is a block diagram showing a detailed configuration of an image processor.

【図4】SIMD型プロセッサを含んだ演算処理ユニット30
0の概略構成を示すブロック図である。
FIG. 4 is an arithmetic processing unit 30 including a SIMD type processor.
FIG. 3 is a block diagram showing a schematic configuration of 0.

【図5A】LFSR方式による従来の乱数発生装置のハード
ウェア構成を示す図である。
FIG. 5A is a diagram showing a hardware configuration of a conventional random number generator based on the LFSR method.

【図5B】本実施形態における擬似乱数発生装置のハー
ドウェア構成を示す図である。
FIG. 5B is a diagram showing a hardware configuration of a pseudo random number generation device according to the present embodiment.

【図6】第1実施形態における擬似乱数発生装置のハー
ドウェア構成を示す図である。
FIG. 6 is a diagram showing a hardware configuration of a pseudo random number generation device in the first embodiment.

【図7】第2実施形態における擬似乱数発生装置のハー
ドウェア構成を示す図である。
FIG. 7 is a diagram illustrating a hardware configuration of a pseudo random number generation device according to a second exemplary embodiment.

【図8A】第3実施形態における擬似乱数発生処理の初
期化ルーチンを示すフローチャートである。
FIG. 8A is a flowchart showing an initialization routine of a pseudo random number generation process in the third embodiment.

【図8B】第3実施形態における擬似乱数発生ルーチン
を示すフローチャートである。
FIG. 8B is a flowchart showing a pseudo random number generation routine in the third embodiment.

【図8C】第4実施形態における擬似乱数発生ルーチン
を示すフローチャートである。
FIG. 8C is a flowchart showing a pseudo random number generation routine in the fourth embodiment.

【図8D】第5実施形態における擬似乱数発生ルーチン
を示すフローチャートである。
FIG. 8D is a flowchart showing a pseudo random number generation routine in the fifth embodiment.

【図9】第3実施形態において発生した擬似乱数を用い
た画像処理を示すフローチャートである。
FIG. 9 is a flowchart showing image processing using a pseudo random number generated in the third embodiment.

【図10】第3実施形態における乱数ディザ処理を示す
フローチャートである。
FIG. 10 is a flowchart showing random number dither processing in the third embodiment.

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

204 画像処理プロセッサ部 300 演算処理ユニット 301,307 FIFOメモリ 302 入力レジスタ 303 データ演算処理部 304 出力レジスタ 305 制御プロセッサ部 306 外部メモリインタフェース 204 Image processor 300 arithmetic processing unit 301, 307 FIFO memory 302 Input register 303 Data processing unit 304 output register 305 Control processor 306 External memory interface

───────────────────────────────────────────────────── フロントページの続き (72)発明者 竹林 学 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 Fターム(参考) 5B057 CA12 CA16 CB07 CB12 CB16 CE13 CH02 CH04 CH07 CH08 5C077 LL03 MP01 NN08 PQ12 PQ20   ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Manabu Takebayashi             3-30-2 Shimomaruko, Ota-ku, Tokyo             Non non corporation F term (reference) 5B057 CA12 CA16 CB07 CB12 CB16                       CE13 CH02 CH04 CH07 CH08                 5C077 LL03 MP01 NN08 PQ12 PQ20

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサエレメントが単一のプ
ログラムに従って並列かつ同時に動作するプロセッサに
おいて、擬似乱数を用いた画像処理を行う画像処理装置
であって、 線形フィードバックシフトレジスタを構成する複数のレ
ジスタと、 所定数のレジスタからの出力について排他的論理和を演
算するN組の演算手段と、 前記N組の演算手段からの各出力データをN個のレジス
タへ同時に帰還する帰還手段と、 前記N個のレジスタに保持されたデータを、夫々の後段
に位置するレジスタへシフトするシフト手段と、 前記帰還手段による帰還データ、及び前記シフト手段に
よってシフトされたデータより擬似乱数を発生する乱数
発生手段と、を有し、 前記プロセッサは、前記乱数発生手段で発生した擬似乱
数を用いて画像処理を行うことを特徴とする画像処理装
置。
1. An image processing apparatus for performing image processing using pseudo-random numbers in a processor in which a plurality of processor elements operate in parallel and simultaneously according to a single program, and a plurality of registers forming a linear feedback shift register. , N sets of calculation means for calculating an exclusive OR of outputs from a predetermined number of registers, feedback means for returning each output data from the N sets of calculation means to N registers at the same time, Shift means for shifting the data held in the register of each to a register located at a subsequent stage, feedback data by the feedback means, and random number generation means for generating a pseudo-random number from the data shifted by the shift means, And the processor is configured to perform image processing using the pseudo-random number generated by the random number generating means. An image processing device characterized by:
【請求項2】 前記乱数発生手段は、Nビットの擬似乱
数を同時に発生することを特徴とする請求項1記載の画
像処理装置。
2. The image processing apparatus according to claim 1, wherein the random number generating means simultaneously generates an N-bit pseudo random number.
【請求項3】 前記N組の演算手段は、夫々の演算処理
を並列に行うことを特徴とする請求項1記載の画像処理
装置。
3. The image processing apparatus according to claim 1, wherein the N sets of calculation means perform respective calculation processes in parallel.
【請求項4】 前記Nは8であることを特徴とする請求
項1乃至3のいずれかに記載の画像処理装置。
4. The image processing apparatus according to claim 1, wherein the N is 8.
【請求項5】 前記Nは16であることを特徴とする請
求項1乃至3のいずれかに記載の画像処理装置。
5. The image processing apparatus according to claim 1, wherein the N is 16.
【請求項6】 前記N組の演算手段は、夫々ルックアッ
プテーブルにより構成されることを特徴とする請求項1
記載の画像処理装置。
6. The N sets of computing means are each configured by a lookup table.
The image processing device described.
【請求項7】 前記レジスタ、前記帰還手段、前記シフ
ト手段および前記乱数発生手段は、前記プロセッサとは
異なるプロセッサ上で実現されることを特徴とする請求
項1記載の画像処理装置。
7. The image processing apparatus according to claim 1, wherein the register, the feedback unit, the shift unit, and the random number generation unit are realized on a processor different from the processor.
【請求項8】 複数のプロセッサエレメントが単一のプ
ログラムに従って並列かつ同時に動作するプロセッサに
おいて、擬似乱数を用いた画像処理を行わせる画像処理
方法であって、 線形フィードバックシフトレジスタを構成する複数のレ
ジスタのうち、所定数のレジスタのN組について、夫々
の排他的論理和演算を行う演算工程と、 前記演算工程によるN個の出力データをN個のレジスタ
へ同時に帰還する帰還工程と、 前記N個のレジスタに保持されたデータを、夫々の後段
に位置するレジスタへシフトするシフト工程と、 前記帰還工程による帰還データ、及び前記シフト工程に
よってシフトされたデータより擬似乱数を発生する乱数
発生工程と、を有し、 前記プロセッサに、前記乱数発生工程において発生した
擬似乱数を用いて画像処理を行わせることを特徴とする
画像処理方法。
8. An image processing method for causing a processor in which a plurality of processor elements operate in parallel and simultaneously in accordance with a single program, to perform image processing using pseudo-random numbers, the plurality of registers constituting a linear feedback shift register. Of the N sets of a predetermined number of registers, an operation step of performing respective exclusive OR operations, a feedback step of returning N output data of the operation step to N registers at the same time, A shift step of shifting the data held in the register to a register located at a subsequent stage, respectively, a random number generation step of generating pseudo random numbers from the feedback data by the feedback step and the data shifted by the shift step, The image processing unit using the pseudo-random number generated in the random number generation step. Image processing method, characterized in that to perform.
【請求項9】 擬似乱数を発生する第1のプロセッサ
と、 前記擬似乱数を用いて画像処理を行う第2のプロセッサ
と、 前記第1のプロセッサで発生した擬似乱数を前記第2の
プロセッサに供給する供給手段と、を有することを特徴
とする画像処理装置。
9. A first processor that generates a pseudo random number, a second processor that performs image processing using the pseudo random number, and a pseudo random number that is generated by the first processor to the second processor. An image processing apparatus comprising:
【請求項10】 前記第2のプロセッサは、複数のプロ
セッサエレメントが単一のプログラムに従って並列に同
時に動作するSIMD型プロセッサであることを特徴とする
請求項9記載の画像処理装置。
10. The image processing apparatus according to claim 9, wherein the second processor is a SIMD type processor in which a plurality of processor elements simultaneously operate in parallel according to a single program.
【請求項11】 前記第1及び第2のプロセッサは、同
一のクロックにより命令を実行するVLIW方式のプロセッ
サであることを特徴とする請求項9記載の画像処理装
置。
11. The image processing apparatus according to claim 9, wherein the first and second processors are VLIW type processors that execute instructions with the same clock.
【請求項12】 前記第1及び第2のプロセッサは、モ
ノリシックなプロセッサチップであることを特徴とする
請求項9記載の画像処理装置。
12. The image processing apparatus according to claim 9, wherein the first and second processors are monolithic processor chips.
【請求項13】 第1及び第2のプロセッサを有する画
像処理装置における画像処理方法であって、 前記第1のプロセッサで擬似乱数を発生する乱数発生工
程と、 該発生した擬似乱数を前記第2のプロセッサに供給する
供給工程と、 該供給された擬似乱数を用いて前記第2のプロセッサで
画像処理を行う画像処理工程と、を有することを特徴と
する画像処理方法。
13. An image processing method in an image processing apparatus having first and second processors, comprising: a random number generation step of generating a pseudo random number in the first processor; An image processing method, comprising: a supply step of supplying the processor to the processor of 1); and an image processing step of performing image processing by the second processor using the supplied pseudo-random number.
【請求項14】 前記第2のプロセッサは、多数のプロ
セッサエレメントが単一のプログラムに従って並列に同
時に動作するSIMD型プロセッサであることを特徴とする
請求項13に記載の画像処理方法。
14. The image processing method according to claim 13, wherein the second processor is a SIMD type processor in which a large number of processor elements simultaneously operate in parallel according to a single program.
【請求項15】 コンピュータで実行されることによ
り、該コンピュータを請求項1乃至7のいずれかに記載
の画像処理装置として動作させることを特徴とするプロ
グラム。
15. A program that, when executed by a computer, causes the computer to operate as the image processing apparatus according to claim 1.
【請求項16】 請求項15記載のプログラムを記録し
た記録媒体。
16. A recording medium on which the program according to claim 15 is recorded.
JP2002081249A 2002-03-22 2002-03-22 Image processor and its method Withdrawn JP2003281516A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002081249A JP2003281516A (en) 2002-03-22 2002-03-22 Image processor and its method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002081249A JP2003281516A (en) 2002-03-22 2002-03-22 Image processor and its method

Publications (1)

Publication Number Publication Date
JP2003281516A true JP2003281516A (en) 2003-10-03

Family

ID=29229961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002081249A Withdrawn JP2003281516A (en) 2002-03-22 2002-03-22 Image processor and its method

Country Status (1)

Country Link
JP (1) JP2003281516A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015026341A (en) * 2013-07-29 2015-02-05 学校法人明星学苑 Arithmetic logic unit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015026341A (en) * 2013-07-29 2015-02-05 学校法人明星学苑 Arithmetic logic unit
US9866219B2 (en) 2013-07-29 2018-01-09 Meisei Gakuen Device for logic operation

Similar Documents

Publication Publication Date Title
JPH07262360A (en) Device and method for image processing
US7053895B2 (en) Image processing apparatus, image processing method, control program and recording medium
JP4027133B2 (en) Image processing device
JP3887134B2 (en) Image processing device
JP2003281516A (en) Image processor and its method
JP4125025B2 (en) Image processing device
JP2000153647A (en) Image-processing apparatus and its method
JP2005094126A (en) Image processing apparatus, image processing method, and image processing program executable by computer
JP2906459B2 (en) Image shadow line extraction device and image processing device using the same
JP2003346139A (en) Image processor, image processing method, and computer- readable recording medium having program for running the method on computer recorded therein
JP2001274993A (en) Image processor, printer device, copying device, facsimile equipment, image forming composite device, image processing method and computer readable recording medium with the processing method recorded therein
JP4096650B2 (en) Printer driver, computer readable medium, and image data conversion apparatus
JP2002042119A (en) Image processing device
JP3774523B2 (en) Image processing apparatus and control method thereof
JP2001092946A (en) Image processor
JP4516336B2 (en) Image processing apparatus, image forming apparatus, image processing method, computer program, and recording medium
JP2001325085A (en) Printing system
JP3010639B2 (en) Image processing device
JP2004104677A (en) Image processing device, image processing method, and recording medium for realizing the method
JP2001101394A (en) Image processor
JP2004050606A (en) Image processing apparatus and image processing method
JP5593956B2 (en) Image processing apparatus, image forming apparatus, and tint block generation method
JP2002051220A (en) Image processor
JP2007259490A (en) Image processing apparatus, printer unit, copier, facsimile machine, image formation composite device and image processing method
JP2001184502A (en) Device and method for processing image and computer readable recording medium with recorded program for computer to execute the same method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050607