[go: up one dir, main page]

JP2007087064A - Random number generation apparatus and random number generation method - Google Patents

Random number generation apparatus and random number generation method Download PDF

Info

Publication number
JP2007087064A
JP2007087064A JP2005274415A JP2005274415A JP2007087064A JP 2007087064 A JP2007087064 A JP 2007087064A JP 2005274415 A JP2005274415 A JP 2005274415A JP 2005274415 A JP2005274415 A JP 2005274415A JP 2007087064 A JP2007087064 A JP 2007087064A
Authority
JP
Japan
Prior art keywords
cyclic code
random number
code generation
initial value
cyclic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005274415A
Other languages
Japanese (ja)
Other versions
JP4585949B2 (en
Inventor
Yuji Hara
裕司 原
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 JP2005274415A priority Critical patent/JP4585949B2/en
Publication of JP2007087064A publication Critical patent/JP2007087064A/en
Application granted granted Critical
Publication of JP4585949B2 publication Critical patent/JP4585949B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】 中心極限定理を用いて正規乱数を生成する場合に、ハードウエアの規模を増大させることなく、複数の一様乱数を生成することができる乱数生成装置を提供する。
【解決手段】 CPU(図示せず)とCPU101バスを介して接続されるシードレジスタ102に保持されているシード値が28ビット長M系列巡回符号生成器103に設定される。28ビット長M系列巡回符号生成器103は、28ビット長M系列巡回符号生成器104〜108のそれぞれに対するシード値を生成し、また巡回符号生成動作を行う。28ビット長M系列巡回符号生成器104〜108は、それぞれ、28ビット長M系列巡回符号生成器103により生成されたシード値に基づいて巡回符号生成動作を行い、12ビットの一様乱数u[11:0]〜u11[11:0]を出力する。
【選択図】 図1
PROBLEM TO BE SOLVED: To provide a random number generator capable of generating a plurality of uniform random numbers without increasing the scale of hardware when generating normal random numbers using a central limit theorem.
A seed value held in a seed register 102 connected to a CPU (not shown) via a CPU 101 bus is set in a 28-bit long M-sequence cyclic code generator 103. The 28-bit length M-sequence cyclic code generator 103 generates a seed value for each of the 28-bit length M-sequence cyclic code generators 104 to 108 and performs a cyclic code generation operation. Each of the 28-bit length M-sequence cyclic code generators 104 to 108 performs a cyclic code generation operation on the basis of the seed value generated by the 28-bit length M-sequence cyclic code generator 103, and a 12-bit uniform random number u 0. [11: 0] ~u 11 [ 11: 0] to output.
[Selection] Figure 1

Description

本発明は、一様分布特性を有するノイズ信号を生成するための乱数生成装置および乱数生成方法に関する。   The present invention relates to a random number generation device and a random number generation method for generating a noise signal having uniform distribution characteristics.

カラー複写機、カラープリンタなどの画像形成装置においては、カラーイメージスキャナなどの画像読取装置またはコンピュータから入力された画像信号に対して種々の処理が行なわれる。例えば、Log変換、CMYKへの色空間変換、プリンタエンジンの特性に合わせたガンマ変換などの処理が施された後、誤差拡散処理などの擬似中間調処理が行われる。通常、擬似中間調処理においては、量子化雑音によるモアレを目立ち難くするために、意図的に画像データに一様乱数値、正規乱数値などを小雑音として加算する乱数加算処理が行われる。   In an image forming apparatus such as a color copying machine or a color printer, various processes are performed on an image signal input from an image reading apparatus such as a color image scanner or a computer. For example, after processing such as Log conversion, color space conversion to CMYK, and gamma conversion that matches the characteristics of the printer engine, pseudo halftone processing such as error diffusion processing is performed. Normally, in the pseudo halftone process, a random number addition process for intentionally adding a uniform random number value, a normal random number value, or the like as small noise to image data is performed in order to make moire due to quantization noise inconspicuous.

また、上記正規乱数値を生成するためには、通常、複数の一様乱数を加算して正規乱数を生成するという、中心極限定理が用いられる。例えば12個の12ビット一様乱数を用いる場合、一様乱数をuk(k=0〜11)とすると、正規乱数xは、次の(1)式で算出される。   In order to generate the normal random number value, a central limit theorem is generally used in which a normal random number is generated by adding a plurality of uniform random numbers. For example, when 12 12-bit uniform random numbers are used and the uniform random number is uk (k = 0 to 11), the normal random number x is calculated by the following equation (1).

Figure 2007087064
Figure 2007087064

この正規乱数を生成するために用いられる一様乱数は、通常M系列の巡回符号生成器が用いられる(例えば、特許文献1参照)。   For the uniform random number used to generate the normal random number, an M-sequence cyclic code generator is usually used (see, for example, Patent Document 1).

12個の12ビット一様乱数を出力可能な様乱数生成装置について図7を参照しながら説明する。図7は従来の一様乱数を出力可能な乱数生成装置の構成を示すブロック図である。   A random number generation apparatus capable of outputting 12 12-bit uniform random numbers will be described with reference to FIG. FIG. 7 is a block diagram showing the configuration of a conventional random number generator capable of outputting uniform random numbers.

12個の12ビット一様乱数を出力可能な様乱数生成装置は、図7に示すように、CPUバス701を介してCPU(図示せず)と接続される複数のシードレジスタ702〜707を有する。各シードレジスタ702〜707は、それぞれ、対応する28ビットM系列巡回符号生成器708〜713に初期値(以下、シード値という)を設定する。ここで、シードレジスタ702〜707は、28ビットM系列巡回符号生成器708〜713と同等のビット長である28ビットを有する。28ビット長M系列巡回符号生成器708〜713は、一様乱数のもととなる28ビットの巡回符号を発生する。この巡回符号は、次の(2)式の原始多項式で表される。   As shown in FIG. 7, the random number generation device capable of outputting twelve 12-bit uniform random numbers has a plurality of seed registers 702 to 707 connected to a CPU (not shown) via a CPU bus 701. . Each seed register 702 to 707 sets an initial value (hereinafter referred to as a seed value) in the corresponding 28-bit M-sequence cyclic code generator 708 to 713. Here, the seed registers 702 to 707 have 28 bits having a bit length equivalent to that of the 28-bit M-sequence cyclic code generators 708 to 713. The 28-bit length M-sequence cyclic code generators 708 to 713 generate 28-bit cyclic codes that are the basis of uniform random numbers. This cyclic code is represented by a primitive polynomial of the following equation (2).

28+x+1 …(2)
ここで、28ビット長M系列巡回符号生成器708〜713のビット長は、所望の画素数内で正規乱数の相関が出ないようなビット長すなわち28ビットに決定されている。この28ビットは、A3の用紙サイズに対して1インチあたり1200画素の解像度の画像に対して、1画素間隔で乱数を加算する場合、相関が出ないように正規乱数を発生するために必要なビット長である。
x 28 + x 3 +1 (2)
Here, the bit length of the 28-bit length M-sequence cyclic code generators 708 to 713 is determined to be a bit length that does not correlate normal random numbers within a desired number of pixels, that is, 28 bits. These 28 bits are necessary to generate a normal random number so that no correlation is generated when a random number is added at an interval of 1 pixel to an image having a resolution of 1200 pixels per inch for an A3 paper size. Bit length.

28ビット長M系列巡回符号生成器708〜713のそれぞれは、2つの一様乱数を出力する。28ビット長M系列巡回符号生成器708から出力される一様乱数u[11:0],u[11:0]は、12ビットの一様乱数であり、次の(3)式および(4)式により表される。 Each of the 28-bit length M-sequence cyclic code generators 708 to 713 outputs two uniform random numbers. The uniform random numbers u 0 [11: 0] and u 1 [11: 0] output from the 28-bit long M-sequence cyclic code generator 708 are 12-bit uniform random numbers, and the following equation (3) and It is represented by the formula (4).

[11:0]
=[22,7,11,2,18,1,3,14,23,9,21,10]…(3)
[11:0]
=[5,20,8,16,19,0,12,17,4,6,13,15]…(4)
ここで、上記(3)式の右辺の数字は、28ビット長M系列巡回符号生成器708のビット番号であり、所望のビットを抽出することにより一様乱数が生成される。また、ビットの抽出は、乱数としての特性を良くするために、連続したビット位置にならないよう不連続なビット位置から行われる。上記(4)式で表されるu[11:0]についても同様である。ここで、u[11:0]とu[11:0]は、互いの相関を無くすために、28ビット長M系列巡回符号生成器708から抽出するビット位置が重ならないようにされている。
u 0 [11: 0]
= [22, 7, 11, 2, 18, 1, 3, 14, 23, 9, 21, 10] (3)
u 1 [11: 0]
= [5, 20, 8, 16, 19, 0, 12, 17, 4, 6, 13, 15] (4)
Here, the number on the right side of the above equation (3) is the bit number of the 28-bit long M-sequence cyclic code generator 708, and uniform random numbers are generated by extracting desired bits. Further, extraction of bits is performed from discontinuous bit positions so as not to be continuous bit positions in order to improve characteristics as a random number. The same applies to u 1 [11: 0] represented by the above formula (4). Here, u 0 [11: 0] and u 1 [11: 0] are set so that the bit positions extracted from the 28-bit length M-sequence cyclic code generator 708 do not overlap with each other in order to eliminate the correlation between them. Yes.

28ビット長M系列巡回符号生成器709から出力される12ビットの一様乱数u[11:0],u[11:0]は、次の(5)式および(6)式により表される。 The 12-bit uniform random numbers u 2 [11: 0] and u 3 [11: 0] output from the 28-bit length M-sequence cyclic code generator 709 are expressed by the following equations (5) and (6). Is done.

[11:0]
=[7,11,2,18,1,3,14,23,9,21,10,22]…(5)
[11:0]
=[20,8,16,19,0,12,17,4,6,13,15,5]…(6)
ここで、上記(5)および(6)式の表記は、上記(3)式と同様である。但し、28ビット長M系列巡回符号生成器709が抽出するビット位置に関して、u[11:0]は、u[11:0]に対してMSB側に1ビットシフトし、u[11:0]でMSBであるビット番号「22」がLSBに割り当てられている。同様に、u[11:0]は、u[11:0]に対してMSB側に1ビットシフトし、u[11:0]でMSBだったビット番号「5」をLSBに割り当てている。このように一様乱数間でM系列巡回符号生成器からの抽出位置を変更することにより、抽出位置の依存性による、一様乱数間の相関を小さくすることができる。
u 2 [11: 0]
= [7, 11, 2, 18, 1, 3, 14, 23, 9, 21, 10, 22] (5)
u 3 [11: 0]
= [20, 8, 16, 19, 0, 12, 17, 4, 6, 13, 15, 5] (6)
Here, the notations of the above formulas (5) and (6) are the same as the above formula (3). However, regarding the bit position extracted by the 28-bit length M-sequence cyclic code generator 709, u 2 [11: 0] is shifted by 1 bit to the MSB side with respect to u 0 [11: 0], and u 0 [11 : 0], the MSB bit number “22” is assigned to the LSB. Similarly, u 3 [11: 0] is, u 1 assigned: [0 11] the bit number "5" was MSB in the LSB [11 0] shifted one bit to the MSB side with respect to, u 1 ing. Thus, by changing the extraction position from the M-sequence cyclic code generator between uniform random numbers, the correlation between uniform random numbers due to the dependency of the extraction position can be reduced.

28ビット長M系列巡回符号生成器710から出力される12ビットの一様乱数u[11:0],u[11:0]は、次の(7)および(8)式により表される。 The 12-bit uniform random numbers u 4 [11: 0] and u 5 [11: 0] output from the 28-bit length M-sequence cyclic code generator 710 are expressed by the following equations (7) and (8). The

[11:0]
=[11,2,18,1,3,14,23,9,21,10,22,7]…(7)
[11:0]
=[8,16,19,0,12,17,4,6,13,15,5,20]…(8)
ここで、上記(7)および(8)式の表記は、上記(3)式と同様である。但し、28ビット長M系列巡回符号生成器710が抽出するビット位置に関して、u[11:0]はu[11:0]に対してMSB側に1ビットシフトし、u[11:0]でMSBであるビット番号「7」がLSBに割り当てられている。同様に、u[11:0]は、u[11:0]に対してMSB側に1ビットシフトし、u[11:0]でMSBであるビット番号「20」がLSBに割り当てられている。
u 4 [11: 0]
= [11, 2, 18, 1, 3, 14, 23, 9, 21, 10, 22, 7] (7)
u 5 [11: 0]
= [8, 16, 19, 0, 12, 17, 4, 6, 13, 15, 5, 20] (8)
Here, the notations of the above expressions (7) and (8) are the same as those of the above expression (3). However, regarding the bit position extracted by the 28-bit length M-sequence cyclic code generator 710, u 4 [11: 0] is shifted by 1 bit to the MSB side with respect to u 2 [11: 0], and u 2 [11: 0], the MSB bit number “7” is assigned to the LSB. Similarly, u 5 [11: 0] is, u 3 [11: 0] by one bit shifted to the MSB side of the, u 3 [11: 0] assigned bit number "20" to the LSB is MSB in It has been.

28ビット長M系列巡回符号生成器711から出力される12ビットの一様乱数u[11:0]、u[11:0]は、次の(9)および(10)式により表される。 The 12-bit uniform random numbers u 6 [11: 0] and u 7 [11: 0] output from the 28-bit length M-sequence cyclic code generator 711 are expressed by the following equations (9) and (10). The

[11:0]
=[2,18,1,3,14,23,9,21,10,22,7,11]…(9)
[11:0]
=[16,19,0,12,17,4,6,13,15,5,20,8]…(10)
ここで、上記(9)および(10)式の表記は、上記(3)式と同様である。但し、28ビット長M系列巡回符号生成器711が抽出するビット位置に関して、u[11:0]は、u[11:0]に対してMSB側に1ビットシフトし、u[11:0]でMSBであるビット番号「11」がLSBに割り当てられている。同様に、u[11:0]は、u[11:0]に対してMSB側に1ビットシフトし、u[11:0]でMSBであるビット番号「8」がLSBに割り当てられている。
u 6 [11: 0]
= [2, 18, 1, 3, 14, 23, 9, 21, 10, 22, 7, 11] (9)
u 7 [11: 0]
= [16, 19, 0, 12, 17, 4, 6, 13, 15, 5, 20, 8] (10)
Here, the expressions (9) and (10) are the same as the expressions (3). However, regarding the bit position extracted by the 28-bit length M-sequence cyclic code generator 711, u 6 [11: 0] is shifted by 1 bit to the MSB side with respect to u 4 [11: 0], and u 4 [11 : 0], the MSB bit number “11” is assigned to the LSB. Similarly, u 7 [11: 0] is, u 5 [11: 0] by one bit shifted to the MSB side with respect to, u 5 [11: 0] assigned bit number "8" is the LSB is MSB in It has been.

28ビット長M系列巡回符号生成器712から出力される12ビットの一様乱数u[11:0]、u[11:0]は、次の(11)および(12)式により表される。 The 12-bit uniform random numbers u 8 [11: 0] and u 9 [11: 0] output from the 28-bit length M-sequence cyclic code generator 712 are expressed by the following equations (11) and (12). The

[11:0]
=[18,1,3,14,23,9,21,10,22,7,11,2]…(11)
[11:0]
=[19,0,12,17,4,6,13,15,5,20,8,16]…(12)
ここで、上記(11)および(12)式の表記は、上記(3)式と同様である。但し、28ビット長M系列巡回符号生成器712が抽出するビット位置に関して、u[11:0]は、u[11:0]に対してMSB側に1ビットシフトし、u[11:0]でMSBであるビット番号「2」がLSBに割り当てられている。同様に、u[11:0]は、u[11:0]に対してMSB側に1ビットシフトし、u[11:0]でMSBであるビット番号「16」がLSBに割り当てられている。
u 8 [11: 0]
= [18, 1, 3, 14, 23, 9, 21, 10, 22, 7, 11, 2] (11)
u 9 [11: 0]
= [19, 0, 12, 17, 4, 6, 13, 15, 5, 20, 8, 16] ... (12)
Here, the notations of the above expressions (11) and (12) are the same as those of the above expression (3). However, regarding the bit position extracted by the 28-bit length M-sequence cyclic code generator 712, u 8 [11: 0] is shifted by 1 bit to the MSB side with respect to u 6 [11: 0], and u 6 [11 : 0], the MSB bit number “2” is assigned to the LSB. Similarly, u 9 [11: 0] is, u 7 [11: 0] by one bit shifted to the MSB side of the, u 7 [11: 0] assigned bit number "16" to the LSB is MSB in It has been.

28ビット長M系列巡回符号生成器713から出力される12ビットの一様乱数u10[11:0],u11[11:0]は、次の(13)および(14)式により表される。 The 12-bit uniform random numbers u 10 [11: 0] and u 11 [11: 0] output from the 28-bit length M-sequence cyclic code generator 713 are expressed by the following equations (13) and (14). The

10[11:0]
=[1,3,14,23,9,21,10,22,7,11,2,18]…(13)
11[11:0]
=[0,12,17,4,6,13,15,5,20,8,16,19]…(14)
上記(13)および(14)式の表記は、上記(3)式と同様である。但し、28ビット長M系列巡回符号生成器713が抽出するビット位置に関して、u10[11:0]はu[11:0]に対してMSB側に1ビットシフトし、u[11:0]でMSBであるビット番号「18」がLSBに割り当てられている。同様に、u11[11:0]は、u[11:0]に対してMSB側に1ビットシフトし、u[11:0]でMSBであるビット番号「19」がLSBに割り当てられている。
u 10 [11: 0]
= [1,3,14,23,9,21,10,22,7,11,2,18] ... (13)
u 11 [11: 0]
= [0, 12, 17, 4, 6, 13, 15, 5, 20, 8, 16, 19] (14)
The expressions (13) and (14) are the same as the expressions (3). However, regarding the bit position extracted by the 28-bit length M-sequence cyclic code generator 713, u 10 [11: 0] is shifted by 1 bit to the MSB side with respect to u 8 [11: 0], and u 8 [11: 0], the MSB bit number “18” is assigned to the LSB. Similarly, u 11 [11: 0] is, u 9 [11: 0] by one bit shifted to the MSB side of the, u 9 [11: 0] assigned bit number "19" is the LSB is MSB in It has been.

次に、処理の手順について説明する。まず、CPUバス701を介して各シードレジスタ702〜707に対してシード値が書き込まれる。各シードレジスタ702〜707に対しては、各8ビット長M系列巡回符号生成器708〜713がそれぞれ異なる巡回符号を発生するように、それぞれ異なる値が書き込まれる。これにより、一様乱数u[11:0]〜u11[11:0]間の相関が無くされる。そして、28ビット長M系列巡回符号生成器708〜713は、シードレジスタ702〜707の値に基づいて1画素毎に巡回符号を発生し、発生された巡回符号から12ビットの一様乱数u[11:0]〜u11[11:0]を抽出して出力する。
特開2000−196559号公報
Next, the processing procedure will be described. First, seed values are written to the seed registers 702 to 707 via the CPU bus 701. Different values are written in the seed registers 702 to 707 so that the 8-bit long M-sequence cyclic code generators 708 to 713 generate different cyclic codes. This eliminates the correlation between the uniform random numbers u 0 [11: 0] to u 11 [11: 0]. The 28-bit long M-sequence cyclic code generators 708 to 713 generate a cyclic code for each pixel based on the values of the seed registers 702 to 707, and a 12-bit uniform random number u 0 from the generated cyclic code. [11: 0] ~u 11 [ 11: 0] extracting and outputting a.
JP 2000-196559 A

しかしながら、従来の構成においては、複数のM系列巡回符号生成器に対して異なるシード値をCPUなどから設定する必要がある。それととともに、それらの設定値を格納するためのレジスタとして、巡回符号生成器のビット長と同等なビット長を有するレジスタを設ける必要がある。その結果、ハードウエアの規模が大きくなる。例えば図7に示す構成の場合、28x6=168ビット長のレジスタが必要となり、ハードウエアの規模が増大する。   However, in the conventional configuration, it is necessary to set different seed values from a CPU or the like for a plurality of M-sequence cyclic code generators. At the same time, it is necessary to provide a register having a bit length equivalent to the bit length of the cyclic code generator as a register for storing the set values. As a result, the scale of hardware increases. For example, in the case of the configuration shown in FIG. 7, a 28 × 6 = 168 bit length register is required, which increases the hardware scale.

本発明の目的は、中心極限定理を用いて正規乱数を生成する場合に、ハードウエアの規模を増大させることなく、複数の一様乱数を生成することができる乱数生成装置および乱数生成方法を提供することにある。   An object of the present invention is to provide a random number generation device and a random number generation method capable of generating a plurality of uniform random numbers without increasing the scale of hardware when generating normal random numbers using the central limit theorem. There is to do.

本発明は、上記目的を達成するため、複数の巡回符号を生成する複数の巡回符号生成手段と、前記複数の巡回符号生成手段にそれぞれ対応するように設けられ、対応する巡回符号生成手段により生成された複数の巡回符号から複数の一様乱数を生成する複数の一様乱数生成手段と、初期値を格納する単一の初期値格納手段と、前記初期値格納手段に格納されている初期値を用いて、前記複数の巡回符号生成手段をそれぞれ初期化させる初期化手段とを備えることを特徴とする乱数生成装置を提供する。   In order to achieve the above object, the present invention is provided corresponding to each of a plurality of cyclic code generating means for generating a plurality of cyclic codes and the plurality of cyclic code generating means, and generated by the corresponding cyclic code generating means. A plurality of uniform random number generation means for generating a plurality of uniform random numbers from the plurality of cyclic codes, a single initial value storage means for storing an initial value, and an initial value stored in the initial value storage means And a random number generation device comprising: initialization means for initializing each of the plurality of cyclic code generation means.

本発明は、上記目的を達成するため、複数の巡回符号を生成する複数の巡回符号生成手段と、前記複数の巡回符号生成手段にそれぞれ対応するように設けられ、対応する巡回符号生成手段により生成された複数の巡回符号から複数の一様乱数を生成する複数の一様乱数生成手段とを用いる乱数生成方法であって、初期値を単一の初期値格納手段に格納する初期値格納工程と、前記初期値格納手段に格納されている初期値を用いて、前記複数の巡回符号生成手段をそれぞれ初期化させる初期化工程とを有することを特徴とする乱数生成方法を提供する。   In order to achieve the above object, the present invention is provided corresponding to each of a plurality of cyclic code generating means for generating a plurality of cyclic codes and the plurality of cyclic code generating means, and generated by the corresponding cyclic code generating means. A random number generation method using a plurality of uniform random number generation means for generating a plurality of uniform random numbers from a plurality of cyclic codes, wherein the initial value storage step stores the initial value in a single initial value storage means; There is provided a random number generation method comprising an initialization step of initializing each of the plurality of cyclic code generation means using an initial value stored in the initial value storage means.

本発明によれば、中心極限定理を用いて正規乱数を生成する場合に、ハードウエアの規模を増大させることなく、複数の一様乱数を生成することができる。   According to the present invention, when generating a normal random number using the central limit theorem, a plurality of uniform random numbers can be generated without increasing the scale of hardware.

以下、本発明の実施の形態について図面を参照しながら説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(第1の実施の形態)
図1は本発明の第1の実施の形態に係る乱数生成装置の主要部構成を示すブロック図である。
(First embodiment)
FIG. 1 is a block diagram showing the main configuration of a random number generation device according to the first embodiment of the present invention.

乱数生成装置は、図1に示すように、CPU(図示せず)とCPU101バスを介して接続されるシードレジスタ102、複数の28ビット長M系列巡回符号生成器103〜108、および28ビット長M系列巡回符号生成器103に対応付けて設けられているORゲート回路112を有する。   As shown in FIG. 1, the random number generator includes a seed register 102 connected to a CPU (not shown) via a CPU 101 bus, a plurality of 28-bit length M-sequence cyclic code generators 103 to 108, and a 28-bit length. An OR gate circuit 112 provided in association with the M-sequence cyclic code generator 103 is provided.

シードレジスタ102は、28ビット長M系列巡回符号生成器103に対してシード値を設定するためのレジスタである。ここで、シードレジスタ102は、28ビット長M系列巡回符号生成器103と同等のビット長である28ビットのレジスタである。   The seed register 102 is a register for setting a seed value for the 28-bit length M-sequence cyclic code generator 103. Here, the seed register 102 is a 28-bit register having a bit length equivalent to that of the 28-bit length M-sequence cyclic code generator 103.

28ビット長M系列巡回符号生成器103〜108は、図7に示す28ビット長M系列巡回符号生成器と同等の構成および機能を有する。   28-bit length M-sequence cyclic code generators 103 to 108 have the same configuration and function as the 28-bit length M-sequence cyclic code generator shown in FIG.

ORゲート回路112は、入力されるシード発生期間信号initと巡回符号生成イネーブル信号enableとの論理和を演算し、この演算結果を出力する。ORゲート回路112の出力は、28ビット長M系列巡回符号生成器103に入力される。ここで、シード発生期間信号initは、その値が「0」であるとき、28ビット長M系列巡回符号生成器103に対して28ビット長M系列巡回符号生成器104〜108のシード値を生成するように指示するための信号である。巡回符号生成イネーブル信号enableは、その値が「1」であるときに、28ビット長M系列巡回符号生成器103〜108に対して巡回符号生成動作を行うように指示するための信号である。ここで、シード発生期間信号initまたは巡回符号生成イネーブル信号enableの値が「0」であるとき、28ビット長M系列巡回符号生成器103に対して、28ビット長M系列巡回符号生成器104〜108のシード値を生成するように指示が行われる。これに対し、シード発生期間信号initまたは巡回符号生成イネーブル信号enableの値が「1」であるとき、28ビット長M系列巡回符号生成器103に対して、巡回符号生成動作を行うように指示が行われる。   The OR gate circuit 112 calculates the logical sum of the input seed generation period signal init and the cyclic code generation enable signal enable, and outputs the calculation result. The output of the OR gate circuit 112 is input to the 28-bit length M-sequence cyclic code generator 103. Here, when the seed generation period signal init is “0”, the seed value of the 28-bit length M-sequence cyclic code generators 104 to 108 is generated for the 28-bit length M-sequence cyclic code generator 103. It is a signal for instructing to do. The cyclic code generation enable signal enable is a signal for instructing the 28-bit long M-sequence cyclic code generators 103 to 108 to perform a cyclic code generation operation when the value thereof is “1”. Here, when the value of the seed generation period signal init or the cyclic code generation enable signal “enable” is “0”, the 28-bit length M-sequence cyclic code generator 103 is compared with the 28-bit length M-sequence cyclic code generator 103. An instruction is made to generate a seed value of 108. On the other hand, when the value of the seed generation period signal init or the cyclic code generation enable signal enable is “1”, the 28-bit length M-sequence cyclic code generator 103 is instructed to perform a cyclic code generation operation. Done.

28ビット長M系列巡回符号生成器103には、ロード信号load0が入力される。このロード信号load0は、28ビット長M系列巡回符号生成器103にシード値をロードするための信号であり、その値が「1」であるときに、28ビット長M系列巡回符号生成器103にシード値がロードされる。また、28ビット長M系列巡回符号生成器103は、上述したように、ORゲート回路112の出力に応じて、28ビット長M系列巡回符号生成器104〜108のシード値を生成し、または巡回符号生成動作を行う。   The load signal load 0 is input to the 28-bit length M-sequence cyclic code generator 103. The load signal load0 is a signal for loading a seed value into the 28-bit length M-sequence cyclic code generator 103. When the value is “1”, the load signal load0 is sent to the 28-bit length M-sequence cyclic code generator 103. The seed value is loaded. Further, as described above, the 28-bit length M-sequence cyclic code generator 103 generates the seed values of the 28-bit length M-sequence cyclic code generators 104 to 108 according to the output of the OR gate circuit 112, or cyclically. A code generation operation is performed.

28ビット長M系列巡回符号生成器104には、シード値をロードするためのロード信号load1が入力され、ロード信号load1の値が「1」であるきに、28ビット長M系列巡回符号生成器103により生成されたシード値がロードされる。また、28ビット長M系列巡回符号生成器104に「1」の巡回符号生成イネーブル信号enableが入力されると、28ビット長M系列巡回符号生成器104は、巡回符号生成動作を行う。   The load signal load1 for loading the seed value is input to the 28-bit length M-sequence cyclic code generator 104, and the 28-bit length M-sequence cyclic code generator 103 when the value of the load signal load1 is “1”. The seed value generated by is loaded. When the cyclic code generation enable signal “enable” of “1” is input to the 28-bit length M-sequence cyclic code generator 104, the 28-bit length M-sequence cyclic code generator 104 performs a cyclic code generation operation.

同様に、28ビット長M系列巡回符号生成器105〜108には、シード値をロードするためのロード信号load2〜load5および巡回符号生成イネーブル信号enableが入力される。28ビット長M系列巡回符号生成器105〜108は、入力された信号の値に応じて、28ビット長M系列巡回符号生成器103により生成されたシード値をロードし、または巡回符号生成動作を行う。   Similarly, load signals load2 to load5 and cyclic code generation enable signal enable for loading seed values are input to 28-bit length M-sequence cyclic code generators 105 to 108, respectively. The 28-bit length M-sequence cyclic code generators 105 to 108 load the seed value generated by the 28-bit length M-sequence cyclic code generator 103 or perform a cyclic code generation operation according to the value of the input signal. Do.

各28ビット長M系列巡回符号生成器103〜108は、それぞれ、12ビットの一様乱数u「11:0」〜u11「11:0」を出力する。これらの出力は、図7で説明したものと同等のものであるので、ここでの説明は省略する。 The 28-bit length M-sequence cyclic code generators 103 to 108 output 12-bit uniform random numbers u 0 “11: 0” to u 11 “11: 0”, respectively. Since these outputs are equivalent to those described with reference to FIG. 7, description thereof is omitted here.

次に、本実施の形態の乱数生成装置の動作について図2を参照しながら説明する。図2は図1の乱数生成装置の動作タイミングを示すタイミングチャートである。ここでは、図2に示す各ブロックの動作タイミングは、システムクロック(図示せず)の立ち上がりに同期するものとして説明する。   Next, the operation of the random number generation device according to the present embodiment will be described with reference to FIG. FIG. 2 is a timing chart showing the operation timing of the random number generation device of FIG. Here, the operation timing of each block shown in FIG. 2 will be described as being synchronized with the rising edge of a system clock (not shown).

時刻t0までにシードレジスタ102に対してシード値が設定されるとすると、このシード値は、処理期間中はシートレジスタ102に保持され続ける。シード値の設定後、時刻t1〜t2の期間において、ロード信号load0の値が「1」となり、28ビット長M系列巡回符号生成器103に対して、シートレジスタ102に保持されているシード値が設定される。   If a seed value is set for the seed register 102 by time t0, this seed value is held in the sheet register 102 during the processing period. After setting the seed value, the value of the load signal load0 becomes “1” in the period from time t1 to time t2, and the seed value held in the sheet register 102 is set to the 28-bit length M-sequence cyclic code generator 103. Is set.

次いで、時刻t2〜t11の期間においては、シード発生期間信号initの値が「1」に設定され、28ビット長M系列巡回符号生成器103は、28ビット長M系列巡回符号生成器104〜108のそれぞれに対するシード値を生成する。   Next, in the period from time t2 to t11, the value of the seed generation period signal init is set to “1”, and the 28-bit length M-sequence cyclic code generator 103 is 28-bit length M-sequence cyclic code generator 104-108. Generate a seed value for each of.

具体的には、時刻t2〜t3の期間中に、28ビット長M系列巡回符号生成器104に対するシード値の生成が行われる。ここで、時刻t2〜t3の期間中においては、シードレジスタ102に与えられたシード値との相関が小さくなるように、M系列巡回符号生成器のビット数より多くの数の巡回符号の発生が行われる。本実施の形態においては、例えば30個の巡回符号が発生される。その後、時刻t3〜t4の期間にロード信号load1の値が「1」となり、28ビット長M系列巡回符号生成器103に保持されている値が、シード値として28ビット長M系列巡回符号生成器104にロードされる。28ビット長M系列巡回符号生成器104にロードされたシード値は、乱数加算処理が行われる時刻t15まで保持される。   Specifically, the seed value is generated for the 28-bit long M-sequence cyclic code generator 104 during the period from time t2 to time t3. Here, during the period from time t2 to time t3, more cyclic codes are generated than the number of bits of the M-sequence cyclic code generator so that the correlation with the seed value given to the seed register 102 becomes small. Done. In the present embodiment, for example, 30 cyclic codes are generated. Thereafter, during the period from time t3 to t4, the value of the load signal load1 becomes “1”, and the value held in the 28-bit length M-sequence cyclic code generator 103 is used as a seed value for the 28-bit length M-sequence cyclic code generator. 104 is loaded. The seed value loaded into the 28-bit length M-sequence cyclic code generator 104 is held until time t15 when the random number addition process is performed.

次いで、時刻t4〜t5の期間中において、28ビット長M系列巡回符号生成器105に対するシード値の発生が行われる。ここで、時刻t4〜t5の期間中においては、時刻t2〜t3の期間中に28ビット長M系列巡回符号生成器104に与えられるためのシード値の生成と同様に行われる。すなわち、28ビット長M系列巡回符号生成器104に与えられたシード値との相関が小さくなるように、M系列巡回符号生成器のビット数より多く数の巡回符号の発生が行われる。その後、時刻t5〜t6の期間中にロード信号load2の値が「1」となり、28ビット長M系列巡回符号生成器103に保持されている値が、シード値として28ビット長M系列巡回符号生成器105にロードされる。28ビット長M系列巡回符号生成器105にロードされたシード値は、乱数加算処理が行われる時刻t15まで保持される。   Next, a seed value is generated for the 28-bit long M-sequence cyclic code generator 105 during the period from time t4 to time t5. Here, during the period from time t4 to t5, it is performed similarly to the generation of the seed value to be given to the 28-bit long M-sequence cyclic code generator 104 during the period from time t2 to t3. That is, more cyclic codes are generated than the number of bits of the M-sequence cyclic code generator so that the correlation with the seed value given to the 28-bit length M-sequence cyclic code generator 104 becomes small. Thereafter, during the period from time t5 to t6, the value of the load signal load2 becomes “1”, and the value held in the 28-bit length M-sequence cyclic code generator 103 is used as a seed value to generate a 28-bit length M-sequence cyclic code. Loaded into the instrument 105. The seed value loaded into the 28-bit length M-sequence cyclic code generator 105 is held until time t15 when the random number addition process is performed.

次いで、時刻t6〜t7の期間中に28ビット長M系列巡回符号生成器106に対するシード値の発生が行われ、このシード値は、28ビット長M系列巡回符号生成器105に与えられたシード値との相関が小さい値である。その後、時刻t7〜t8の期間中にロード信号load3の値が「1」となり、28ビット長M系列巡回符号生成器103に保持されている値が、シード値として28ビット長M系列巡回符号生成器106にロードされる。28ビット長M系列巡回符号生成器106にロードされたシード値は、乱数加算処理が行われる時刻t15まで保持される。   Next, a seed value is generated for the 28-bit length M-sequence cyclic code generator 106 during the period of time t6 to t7, and this seed value is the seed value given to the 28-bit length M-sequence cyclic code generator 105. Is a small value. After that, during the period from time t7 to t8, the value of the load signal load3 becomes “1”, and the value held in the 28-bit length M-sequence cyclic code generator 103 is used as a seed value to generate a 28-bit length M-sequence cyclic code. Loaded into the device 106. The seed value loaded into the 28-bit length M-sequence cyclic code generator 106 is held until time t15 when the random number addition process is performed.

次いで、時刻t8〜t9の期間中に28ビット長M系列巡回符号生成器107に対するシード値の発生が行われ、このシード値は、28ビット長M系列巡回符号生成器106に与えられたシード値との相関が小さい値である。その後、時刻t9〜t10の期間中にロード信号load4の値が「1」となり、28ビット長M系列巡回符号生成器103に保持されている値が、シード値として28ビット長M系列巡回符号生成器107にロードされる。28ビット長M系列巡回符号生成器107にロードされたシード値は、乱数加算処理が行われる時刻t15まで保持される。   Next, a seed value is generated for the 28-bit length M-sequence cyclic code generator 107 during the period of time t8 to t9, and this seed value is the seed value given to the 28-bit length M-sequence cyclic code generator 106. Is a small value. Thereafter, during the period from time t9 to t10, the value of the load signal load4 becomes “1”, and the value held in the 28-bit length M-sequence cyclic code generator 103 is used as a seed value to generate a 28-bit length M-sequence cyclic code. Loaded into the device 107. The seed value loaded into the 28-bit length M-sequence cyclic code generator 107 is held until time t15 when the random number addition process is performed.

次いで、時刻t10〜t11の期間中に28ビット長M系列巡回符号生成器108に対するシード値の発生が行われ、このシード値は、28ビット長M系列巡回符号生成器107に与えられたシード値との相関が小さい値である。その後、時刻t11〜t12の期間中にロード信号load5の値が「1」となり、28ビット長M系列巡回符号生成器103に保持されている値が、シード値として28ビット長M系列巡回符号生成器108にロードされる。28ビット長M系列巡回符号生成器108にロードされたシード値は、乱数加算処理が行われる時刻t15まで保持される。   Next, a seed value is generated for the 28-bit length M-sequence cyclic code generator 108 during the period of time t10 to t11, and this seed value is the seed value given to the 28-bit length M-sequence cyclic code generator 107. Is a small value. Thereafter, during the period from time t11 to t12, the value of the load signal load5 becomes “1”, and the value held in the 28-bit length M-sequence cyclic code generator 103 is used as a seed value to generate a 28-bit length M-sequence cyclic code. Loaded into the instrument 108. The seed value loaded into the 28-bit length M-sequence cyclic code generator 108 is held until time t15 when the random number addition process is performed.

このようにして、28ビット長M系列巡回符号生成器103により、28ビット長M系列巡回符号生成器104〜108のそれぞれに対するシード値が生成され、設定される。   In this manner, the 28-bit length M-sequence cyclic code generator 103 generates and sets seed values for each of the 28-bit length M-sequence cyclic code generators 104 to 108.

次いで、時刻t13〜t14の期間中にロード信号load0の値が「1」となり、28ビット長M系列巡回符号生成器103に対してシード値が再設定される。そして、時刻t15以降において、巡回符号生成イネーブル信号enableの値が「1」となり、各28ビット長M系列巡回符号生成器103〜108から巡回符号が発生され、一様乱数u「11:0」〜u11「11:0」が出力される。 Next, the value of the load signal load0 becomes “1” during the period of time t13 to t14, and the seed value is reset for the 28-bit length M-sequence cyclic code generator 103. After time t15, the value of the cyclic code generation enable signal “enable” becomes “1”, and cyclic codes are generated from the 28-bit long M-sequence cyclic code generators 103 to 108, and the uniform random number u 0 “11: 0”. ”To u 11 “ 11: 0 ”are output.

以上より、本実施の形態によれば、28ビット長M系列巡回符号生成器103により、シードレジスタ102に設定されたシード値に基づいて、28ビット長M系列巡回符号生成器104〜108に対するシード値が生成される。これにより、中心極限定理を用いて正規乱数を生成する場合に、ハードウエアの規模を増大させることなく、複数の一様乱数を生成することができる。   As described above, according to the present embodiment, the 28-bit length M-sequence cyclic code generator 103 generates seeds for the 28-bit length M-sequence cyclic code generators 104 to 108 based on the seed value set in the seed register 102. A value is generated. Thereby, when generating a normal random number using the central limit theorem, a plurality of uniform random numbers can be generated without increasing the scale of hardware.

(第2の実施の形態)
次に、本発明の第2の実施の形態について図3および図4を参照しながら説明する。図3は本発明の第2の実施の形態に係る乱数生成装置の構成を示すブロック図、図4は図3の乱数生成装置の動作タイミングを示すタイミングチャートである。
(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to FIGS. FIG. 3 is a block diagram showing the configuration of the random number generation device according to the second embodiment of the present invention, and FIG. 4 is a timing chart showing the operation timing of the random number generation device of FIG.

乱数生成装置は、図3に示すように、CPU(図示せず)とCPU301バスを介して接続されるシードレジスタ302、複数の28ビット長M系列巡回符号生成器303〜308、および28ビット長M系列巡回符号生成器304〜308にそれぞれ対応付けて設けられているORゲート回路315〜319を有する。   As shown in FIG. 3, the random number generator includes a seed register 302 connected to a CPU (not shown) via a CPU 301 bus, a plurality of 28-bit length M-sequence cyclic code generators 303 to 308, and a 28-bit length. OR gate circuits 315 to 319 provided in association with the M-sequence cyclic code generators 304 to 308, respectively.

シードレジスタ302は、各28ビット長M系列巡回符号生成器303〜308に対してシード値を設定するためのレジスタである。ここで、シードレジスタ302は、28ビット長M系列巡回符号生成器303〜308と同等のビット長である28ビットのレジスタである。   The seed register 302 is a register for setting a seed value for each 28-bit long M-sequence cyclic code generator 303 to 308. Here, the seed register 302 is a 28-bit register having a bit length equivalent to that of the 28-bit length M-sequence cyclic code generators 303 to 308.

各28ビット長M系列巡回符号生成器303〜308には、それぞれ、シード値をロードするためのロード信号loadが入力される。ロード信号loadの値が「1」であるとき、各28ビット長M系列巡回符号生成器303〜308にシード値がロードされる。また、28ビット長M系列巡回符号生成器303には、巡回符号生成イネーブル信号enableが入力される。この巡回符号生成イネーブル信号enableの値が「1」であるときには、28ビット長M系列巡回符号生成器303は、巡回符号生成動作を行う。   Each 28-bit length M-sequence cyclic code generator 303 to 308 receives a load signal load for loading a seed value. When the value of the load signal load is “1”, seed values are loaded into the 28-bit length M-sequence cyclic code generators 303 to 308. Further, cyclic code generation enable signal enable is input to 28-bit length M-sequence cyclic code generator 303. When the value of the cyclic code generation enable signal “enable” is “1”, the 28-bit long M-sequence cyclic code generator 303 performs a cyclic code generation operation.

ORゲート回路315〜319は、それぞれ、入力される巡回符号生成イネーブル信号enableとシード発生期間信号init0〜init4との論理演算を行い、その演算結果を出力する。ここで、シード発生期間信号init0〜init4は、その値が「1」であるときに、28ビット長M系列巡回符号生成器304〜308のそれぞれに対してシード値を生成するように指示する信号である。   Each of the OR gate circuits 315 to 319 performs a logical operation on the input cyclic code generation enable signal enable and the seed generation period signals init0 to init4, and outputs the operation result. Here, the seed generation period signals init0 to init4 are signals that instruct the 28-bit length M-sequence cyclic code generators 304 to 308 to generate seed values when the value is “1”. It is.

ORゲート回路315〜319の出力は、それぞれ対応する28ビット長M系列巡回符号生成器304〜308に入力される。ここで、シード発生期間信号init0〜init4または巡回符号生成イネーブル信号enableの値が「0」であるとき、各28ビット長M系列巡回符号生成器304〜308は、シード値を生成する。これに対し、シード発生期間信号init0〜init4または巡回符号生成イネーブル信号enableの値が「1」であるとき、各28ビット長M系列巡回符号生成器304〜308は、巡回符号生成動作を行う。そして、各28ビット長M系列巡回符号生成器304〜308は、12ビットの一様乱数u[11:0]〜u11[11:0]を出力する。 The outputs of the OR gate circuits 315 to 319 are input to the corresponding 28-bit length M-sequence cyclic code generators 304 to 308, respectively. Here, when the values of the seed generation period signals init0 to init4 or the cyclic code generation enable signal enable are “0”, the 28-bit length M-sequence cyclic code generators 304 to 308 generate seed values. On the other hand, when the value of the seed generation period signals init0 to init4 or the cyclic code generation enable signal enable is “1”, each 28-bit long M-sequence cyclic code generators 304 to 308 perform a cyclic code generation operation. Each 28-bit length M-sequence cyclic code generator 304 to 308 outputs 12-bit uniform random numbers u 0 [11: 0] to u 11 [11: 0].

次に、本実施の形態の乱数生成装置の動作について図4を参照しながら説明する。ここでは、図4に示す各ブロックの動作タイミングは、システムクロック(図示せず)の立ち上がりに同期するものとして説明する。   Next, the operation of the random number generation device according to the present embodiment will be described with reference to FIG. Here, the operation timing of each block shown in FIG. 4 will be described as being synchronized with the rising edge of a system clock (not shown).

時刻t0までにシードレジスタ302に対してシード値が設定され、このシード値は、処理期間中はシードレジスタ302に保持され続ける。その後、時刻t1〜t2の期間中において、ロード信号loadの値が「1」となり、各28ビット長M系列巡回符号生成器303〜308に対してシード値が設定される。28ビット長M系列巡回符号生成器303は、時刻t2〜t8の期間中、シード値を保持する。   A seed value is set for the seed register 302 by time t0, and this seed value is continuously held in the seed register 302 during the processing period. Thereafter, during the period from time t1 to time t2, the value of the load signal load becomes “1”, and a seed value is set for each of the 28-bit length M-sequence cyclic code generators 303 to 308. The 28-bit length M-sequence cyclic code generator 303 holds the seed value during the period from time t2 to time t8.

次いで、時刻t2〜t3の期間中においては、シード発生期間信号init0の値が「1」となり、28ビット長M系列巡回符号生成器304は、シード値の生成を行う。ここで、このシード値の生成においては、生成するシード値がシードレジスタ302に与えられた値との相関が小さくなるように、M系列巡回符号生成器のビット数より多くの数の巡回符号の発生が行われる。例えば30個の巡回符号が発生される。その後、28ビット長M系列巡回符号生成器304は、時刻t3〜t8の期間中、シード値を保持する。   Next, during the period of time t2 to t3, the value of the seed generation period signal init0 is “1”, and the 28-bit length M-sequence cyclic code generator 304 generates a seed value. Here, in the generation of the seed value, the number of cyclic codes larger than the number of bits of the M-sequence cyclic code generator is set so that the generated seed value has a small correlation with the value given to the seed register 302. Occurrence occurs. For example, 30 cyclic codes are generated. Thereafter, the 28-bit long M-sequence cyclic code generator 304 holds the seed value during the period from time t3 to t8.

また、時刻t2〜t4の期間中において、シード発生期間信号init1の値が「1」となり、28ビット長M系列巡回符号生成器305は、シード値の生成を行う。ここで、シード値の生成においては、生成するシード値と時刻t2〜t3の期間中に28ビット長M系列巡回符号生成器304が生成したシード値との相関が小さくなるようにする。そのために、時刻t2〜t3の期間よりM系列巡回符号生成器のビット長以上余分に、巡回符号の発生が行われる。その後、28ビット長M系列巡回符号生成器305は、時刻t4〜t8の期間中、シード値を保持する。   In addition, during the period from time t2 to t4, the value of the seed generation period signal init1 is “1”, and the 28-bit length M-sequence cyclic code generator 305 generates a seed value. Here, in the generation of the seed value, the correlation between the generated seed value and the seed value generated by the 28-bit long M-sequence cyclic code generator 304 during the period from time t2 to time t3 is made small. For this purpose, cyclic codes are generated in excess of the bit length of the M-sequence cyclic code generator from the period of time t2 to t3. Thereafter, the 28-bit length M-sequence cyclic code generator 305 holds the seed value during the period of time t4 to t8.

また、時刻t2〜t5の期間中、シード発生期間信号init2の値が「1」となり、28ビット長M系列巡回符号生成器306は、シード値の生成を行う。ここで、シード値の生成は、生成するシード値と時刻t2〜t4の期間中において28ビット長M系列巡回符号生成器305が生成するシード値との相関が小さくなるようにする。そのために、時刻t2〜t4の期間よりM系列巡回符号生成器のビット長以上余分に、巡回符号の発生が行われる。その後、28ビット長M系列巡回符号生成器306は、時刻t5〜t8の期間中、シード値を保持する。   Further, during the period from time t2 to time t5, the value of the seed generation period signal init2 becomes “1”, and the 28-bit length M-sequence cyclic code generator 306 generates a seed value. Here, the generation of the seed value is performed such that the correlation between the generated seed value and the seed value generated by the 28-bit long M-sequence cyclic code generator 305 during the period from time t2 to time t4 is reduced. For this reason, cyclic codes are generated in excess of the bit length of the M-sequence cyclic code generator from the period of time t2 to t4. Thereafter, the 28-bit length M-sequence cyclic code generator 306 holds the seed value during the period from time t5 to t8.

また、時刻t2〜t6の期間中、シード発生期間信init3の値が「1」となり、28ビット長M系列巡回符号生成器307は、シード値の生成を行う。ここで、シード値の生成においては、生成するシード値と時刻t2〜t5の期間中において28ビット長M系列巡回符号生成器306が生成したシード値との相関が小さくなるようにする。そのために、時刻t2〜t5の期間よりM系列巡回符号生成器のビット長以上余分に、巡回符号の発生が行われる。その後、28ビット長M系列巡回符号生成器307は、時刻t6〜t8の期間中、シード値を保持する。   Further, during the period from time t2 to t6, the value of the seed generation period signal init3 becomes “1”, and the 28-bit length M-sequence cyclic code generator 307 generates a seed value. Here, in the generation of the seed value, the correlation between the generated seed value and the seed value generated by the 28-bit length M-sequence cyclic code generator 306 during the period of time t2 to t5 is made small. For this reason, cyclic codes are generated in excess of the bit length of the M-sequence cyclic code generator from the period of time t2 to t5. Thereafter, the 28-bit long M-sequence cyclic code generator 307 holds the seed value during the period from time t6 to t8.

また、時刻t2〜t7の期間中、シード発生期間信init4の値が「1」となり、28ビット長M系列巡回符号生成器308は、シード値の生成を行う。ここで、シード値の生成においては、生成するシード値と時刻t2〜t6の期間中において28ビット長M系列巡回符号生成器36が生成したシード値との相関が小さくなるようにする。そのために、時刻t2〜t6の期間よりM系列巡回符号生成器のビット長以上余分に、巡回符号の発生が行われる。その後、28ビット長M系列巡回符号生成器307は、時刻t7〜t8の期間中、シード値を保持する。   Further, during the period from time t2 to time t7, the value of the seed generation period signal init4 becomes “1”, and the 28-bit length M-sequence cyclic code generator 308 generates a seed value. Here, in the generation of the seed value, the correlation between the generated seed value and the seed value generated by the 28-bit length M-sequence cyclic code generator 36 during the period from time t2 to time t6 is made small. Therefore, cyclic codes are generated in excess of the bit length of the M-sequence cyclic code generator from the period from time t2 to t6. Thereafter, the 28-bit long M-sequence cyclic code generator 307 holds the seed value during the period from time t7 to t8.

そして、時刻t8以降においては、巡回符号生成イネーブル信号enableの値が「1」となり、各28ビット長M系列巡回符号生成器303〜308は、巡回符号を発生し、一様乱数u[11:0]〜u11[11:0]を出力する。 After time t8, the value of the cyclic code generation enable signal “enable” becomes “1”, and each 28-bit length M-sequence cyclic code generator 303 to 308 generates a cyclic code and generates a uniform random number u 0 [11. : 0] to u 11 [11: 0] are output.

(第3の実施の形態)
次に、本発明の第3の実施の形態について図5および図6を参照しながら説明する。図5は本発明の第3の実施の形態に係る乱数生成装置の構成を示すブロック図、図6は図5の乱数生成装置の動作タイミングを示すタイミングチャートである。
(Third embodiment)
Next, a third embodiment of the present invention will be described with reference to FIGS. FIG. 5 is a block diagram showing the configuration of the random number generation device according to the third embodiment of the present invention, and FIG.

乱数生成装置は、図5に示すように、CPU(図示せず)とCPU501バスを介して接続されるシードレジスタ502、および複数の28ビット長M系列巡回符号生成器503〜508を有する。   As shown in FIG. 5, the random number generator includes a seed register 502 connected to a CPU (not shown) via a CPU 501 bus, and a plurality of 28-bit length M-sequence cyclic code generators 503 to 508.

シードレジスタ502は、各28ビット長M系列巡回符号生成器503〜508に対してシード値を設定するためのレジスタである。ここで、シードレジスタ502は、28ビット長M系列巡回符号生成器503〜508と同等のビット長である28ビットのレジスタである。   The seed register 502 is a register for setting a seed value for each 28-bit long M-sequence cyclic code generator 503 to 508. Here, the seed register 502 is a 28-bit register having a bit length equivalent to that of the 28-bit length M-sequence cyclic code generators 503 to 508.

各28ビット長M系列巡回符号生成器503〜508には、それぞれ、対応するロード信号load0〜load5が入力される。load0〜load5は、シード値をロードするための信号であり、その値が「1」であるとき、対応する28ビット長M系列巡回符号生成器503〜508には、レジスタ502に保持されている値がシード値としてロードされる。また、各28ビット長M系列巡回符号生成器503〜508には、ぞれぞれ、巡回符号生成イネーブル信号enableが入力される。この巡回符号生成イネーブル信号enableの値が「1」であるときには、各28ビット長M系列巡回符号生成器503〜508は、それぞれ、巡回符号生成動作を行い、12ビットの一様乱数u[11:0]〜u11[11:0]を出力する。 Corresponding load signals load0 to load5 are input to the 28-bit length M-sequence cyclic code generators 503 to 508, respectively. load0 to load5 are signals for loading a seed value. When the value is “1”, the corresponding 28-bit length M-sequence cyclic code generators 503 to 508 are held in the register 502. The value is loaded as a seed value. Each 28-bit long M-sequence cyclic code generator 503 to 508 receives a cyclic code generation enable signal enable. When the value of this cyclic code generation enable signal “enable” is “1”, each 28-bit length M-sequence cyclic code generator 503 to 508 performs a cyclic code generation operation, and a 12-bit uniform random number u 0 [ 11: 0] to u 11 [11: 0] are output.

次に、本実施の形態の乱数生成装置の動作について図6を参照しながら説明する。ここでは、図6に示す各ブロックの動作タイミングは、システムクロック(図示せず)の立ち上がりに同期するものとして説明する。   Next, the operation of the random number generation device according to the present embodiment will be described with reference to FIG. Here, the operation timing of each block shown in FIG. 6 is described as being synchronized with the rising edge of a system clock (not shown).

時刻t0において、シードレジスタ502に対して28ビット長M系列巡回符号生成器503のシード値が設定される。その後、時刻t1〜t2の期間中、ロード信号load0の値が「1」となり、28ビット長M系列巡回符号生成器503には、シートレジスタ502からシード値がロードされる。このロードされたシード値は、時刻t18まで保持される。   At time t0, the seed value of the 28-bit long M-sequence cyclic code generator 503 is set in the seed register 502. Thereafter, during the period from time t1 to time t2, the value of the load signal load0 becomes “1”, and the 28-bit length M-sequence cyclic code generator 503 is loaded with the seed value from the sheet register 502. This loaded seed value is held until time t18.

時刻t3において、シードレジスタ502に対して28ビット長M系列巡回符号生成器504のシード値が設定される。その後、時刻t4〜t5の期間中においては、ロード信号load1の値が「1」となり、28ビット長M系列巡回符号生成器504には、レジスタ502からシード値がロードされる。28ビット長M系列巡回符号生成器504は、ロードされたシード値を、時刻t18まで保持する。   At time t3, the seed value of the 28-bit length M-sequence cyclic code generator 504 is set in the seed register 502. Thereafter, during the period from time t4 to time t5, the value of the load signal load1 becomes “1”, and the 28-bit length M-sequence cyclic code generator 504 is loaded with the seed value from the register 502. The 28-bit long M-sequence cyclic code generator 504 holds the loaded seed value until time t18.

時刻t6において、シードレジスタ502に対して28ビット長M系列巡回符号生成器505のシード値が設定される。その後、時刻t7〜t8の期間中においては、ロード信号load2の値が「1」となり、28ビット長M系列巡回符号生成器505には、レジスタ502に設定されたシード値がロードされる。28ビット長M系列巡回符号生成器505は、ロードされたシード値を、時刻t18まで保持する。   At time t6, the seed value of the 28-bit long M-sequence cyclic code generator 505 is set in the seed register 502. Thereafter, during the period from time t7 to time t8, the value of the load signal load2 becomes “1”, and the 28-bit length M-sequence cyclic code generator 505 is loaded with the seed value set in the register 502. The 28-bit long M-sequence cyclic code generator 505 holds the loaded seed value until time t18.

時刻t9において、シードレジスタ502に対して28ビット長M系列巡回符号生成器506のシード値が設定される。その後、時刻t10〜t11の期間中においては、ロード信号load3の値が「1」となり、28ビット長M系列巡回符号生成器506には、シードレジスタ502に設定されたシード値がロードされる。28ビット長M系列巡回符号生成器506は、ロードされたシード値を、時刻t18まで保持する。   At time t9, the seed value of the 28-bit length M-sequence cyclic code generator 506 is set in the seed register 502. Thereafter, during the period from time t10 to time t11, the value of the load signal load3 becomes “1”, and the seed value set in the seed register 502 is loaded into the 28-bit length M-sequence cyclic code generator 506. The 28-bit long M-sequence cyclic code generator 506 holds the loaded seed value until time t18.

時刻t12において、シードレジスタ502に対して28ビット長M系列巡回符号生成器507のシード値が設定される。その後、時刻t13〜t14の期間中においては、ロード信号load4の値が「1」となり、28ビット長M系列巡回符号生成器507には、シードレジスタ502に設定されたシード値がロードされる。28ビット長M系列巡回符号生成器507は、ロードされたシード値を、時刻t18まで保持する。   At time t12, the seed value of the 28-bit length M-sequence cyclic code generator 507 is set in the seed register 502. Thereafter, during the period from time t13 to time t14, the value of the load signal load4 becomes “1”, and the 28-bit length M-sequence cyclic code generator 507 is loaded with the seed value set in the seed register 502. The 28-bit long M-sequence cyclic code generator 507 holds the loaded seed value until time t18.

時刻t15において、シードレジスタ502に対して28ビット長M系列巡回符号生成器508のシード値が設定される。その後、時刻t16〜t17の期間中においては、ロード信号load5の値が「1」となり、28ビット長M系列巡回符号生成器508にシード値がロードされる。28ビット長M系列巡回符号生成器508は、ロードされたシード値を、時刻t18まで保持する。   At time t15, the seed value of the 28-bit length M-sequence cyclic code generator 508 is set in the seed register 502. Thereafter, during the period from time t16 to t17, the value of the load signal load5 becomes “1”, and the seed value is loaded into the 28-bit length M-sequence cyclic code generator 508. The 28-bit long M-sequence cyclic code generator 508 holds the loaded seed value until time t18.

そして、時刻t18以降においては、巡回符号生成イネーブル信号enableの値が「1」となり、各28ビット長M系列巡回符号生成器503〜508は、それぞれ、巡回符号を発生し、一様乱数u[11:0]〜u11[11:0]を出力する。 After time t18, the value of the cyclic code generation enable signal enable becomes “1”, and each 28-bit length M-sequence cyclic code generator 503 to 508 generates a cyclic code, and generates a uniform random number u 0. [11: 0] ~u 11 [ 11: 0] to output.

このように、本実施の形態は、CPUなどにより各28ビット長M系列巡回符号生成器503〜508のそれぞれに対して演算されたシード値が1つのシードレジスタ502を介して、対応する28ビット長M系列巡回符号生成器503〜508にロードされるように構成されている。   As described above, in the present embodiment, the seed value calculated for each of the 28-bit length M-sequence cyclic code generators 503 to 508 by the CPU or the like corresponds to the corresponding 28 bits via one seed register 502. The long M-sequence cyclic code generators 503 to 508 are configured to be loaded.

上述した各実施の形態によれば、6つのM系列巡回符号生成器に対して、1つのシードレジスタのみを用いて、シード値の設定を行うことが可能なように構成されているので、シードレジスタのハードウエア規模を1/6に抑えることが可能となる。   According to each of the embodiments described above, the seed value can be set using only one seed register for the six M-sequence cyclic code generators. The register hardware scale can be reduced to 1/6.

なお、本実施の形態において、28ビット長M系列巡回符号生成器に関して説明したが、所望の画像領域での乱数の自己相関が問題にならないようなビット長を選択すれば、28ビット以外のビット長のものに対しても本発明を適用することができる。   In this embodiment, the 28-bit length M-sequence cyclic code generator has been described. However, if a bit length is selected so that autocorrelation of random numbers in a desired image area does not become a problem, bits other than 28 bits are selected. The present invention can be applied to a long one.

本発明の第1の実施の形態に係る乱数生成装置の主要部構成を示すブロック図である。It is a block diagram which shows the principal part structure of the random number generator which concerns on the 1st Embodiment of this invention. 図1の乱数生成装置の動作タイミングを示すタイミングチャートである。It is a timing chart which shows the operation timing of the random number generation device of FIG. 本発明の第2の実施の形態に係る乱数生成装置の構成を示すブロック図である。It is a block diagram which shows the structure of the random number generator which concerns on the 2nd Embodiment of this invention. 図3の乱数生成装置の動作タイミングを示すタイミングチャートである。It is a timing chart which shows the operation timing of the random number generation device of FIG. 本発明の第3の実施の形態に係る乱数生成装置の構成を示すブロック図である。It is a block diagram which shows the structure of the random number generator which concerns on the 3rd Embodiment of this invention. 図5の乱数生成装置の動作タイミングを示すタイミングチャートである。It is a timing chart which shows the operation timing of the random number generator of FIG. 従来の一様乱数を出力可能な乱数生成装置の構成を示すブロック図である。It is a block diagram which shows the structure of the random number generator which can output the conventional uniform random number.

符号の説明Explanation of symbols

101,301,501 CPUバス
102,302,502 シードレジスタ
103〜108,303〜308,503〜508 28ビット長M系列巡回符号生成器
112,315〜319 ORゲート回路
101, 301, 501 CPU bus 102, 302, 502 Seed register 103-108, 303-308, 503-508 28-bit length M-sequence cyclic code generator 112, 315-319 OR gate circuit

Claims (14)

複数の巡回符号を生成する複数の巡回符号生成手段と、
前記複数の巡回符号生成手段にそれぞれ対応するように設けられ、対応する巡回符号生成手段により生成された複数の巡回符号から複数の一様乱数を生成する複数の一様乱数生成手段と、
初期値を格納する単一の初期値格納手段と、
前記初期値格納手段に格納されている初期値を用いて、前記複数の巡回符号生成手段をそれぞれ初期化させる初期化手段と
を備えることを特徴とする乱数生成装置。
A plurality of cyclic code generating means for generating a plurality of cyclic codes;
A plurality of uniform random number generating means provided to respectively correspond to the plurality of cyclic code generating means, and generating a plurality of uniform random numbers from a plurality of cyclic codes generated by the corresponding cyclic code generating means;
A single initial value storage means for storing initial values;
A random number generation device comprising: initialization means for initializing each of the plurality of cyclic code generation means using an initial value stored in the initial value storage means.
前記一様乱数生成手段のそれぞれは、対応する巡回符号生成手段により生成された複数の巡回符号の不連続なビット位置から所定数のビットを抽出することによって複数の一様乱数を生成することを特徴とする請求項1記載の乱数生成装置。   Each of the uniform random number generation means generates a plurality of uniform random numbers by extracting a predetermined number of bits from discontinuous bit positions of the plurality of cyclic codes generated by the corresponding cyclic code generation means. The random number generation device according to claim 1, wherein: 前記一様乱数生成手段のそれぞれは、前記複数の巡回符号のそれぞれ異なるビット位置から所定数のビットを抽出することによって複数の一様乱数を生成することを特徴とする請求項1記載の乱数生成装置。   2. The random number generation according to claim 1, wherein each of the uniform random number generation means generates a plurality of uniform random numbers by extracting a predetermined number of bits from different bit positions of the plurality of cyclic codes. apparatus. 前記初期化手段は、前記複数の巡回符号生成手段のうち、特定の1つの巡回符号生成手段に対しては、前記初期値格納手段に格納されている初期値を設定し、他の巡回符号生成手段に対しては、前記特定の1つの巡回符号生成手段により生成された巡回符号を初期値として設定することにより、前記複数の巡回符号生成手段をそれぞれ初期化させることを特徴とする請求項1記載の乱数生成装置。   The initialization unit sets an initial value stored in the initial value storage unit for one specific cyclic code generation unit among the plurality of cyclic code generation units, and generates another cyclic code generation The means is characterized in that each of the plurality of cyclic code generation means is initialized by setting a cyclic code generated by the specific one cyclic code generation means as an initial value. The random number generator described. 前記初期化手段は、前記複数の巡回符号生成手段のうち、特定の1つの巡回符号生成手段に対しては、前記初期値格納手段に格納されている初期値を設定し、他の巡回符号生成手段に対しては、該他の巡回符号生成手段が前記初期値格納手段に格納されている初期値を用いて生成する初期値を設定することにより、前記複数の巡回符号生成手段をそれぞれ初期化させることを特徴とする請求項1記載の乱数生成装置。   The initialization unit sets an initial value stored in the initial value storage unit for one specific cyclic code generation unit among the plurality of cyclic code generation units, and generates another cyclic code generation Means for initializing the plurality of cyclic code generation means by setting initial values generated by the other cyclic code generation means using the initial values stored in the initial value storage means. The random number generation device according to claim 1, wherein: 前記初期化手段は、前記初期値格納手段に、前記複数の巡回符号生成手段にそれぞれ対応する初期値を時系列に格納し、対応する初期値を対応する巡回符号生成手段にそれぞれ時系列に設定することにより、前記複数の巡回符号生成手段をそれぞれ初期化させることを特徴とする請求項1記載の乱数生成装置。   The initialization means stores, in the initial value storage means, initial values respectively corresponding to the plurality of cyclic code generation means in time series, and sets corresponding initial values to the corresponding cyclic code generation means in time series, respectively. The random number generation device according to claim 1, wherein the plurality of cyclic code generation units are each initialized. 前記巡回符号生成手段のそれぞれに対する初期値は、互いに異なる値であることを特徴とする請求項1ないし6のいずれか1つに記載の乱数生成装置。   7. The random number generation device according to claim 1, wherein initial values for each of the cyclic code generation means are different from each other. 複数の巡回符号を生成する複数の巡回符号生成手段と、前記複数の巡回符号生成手段にそれぞれ対応するように設けられ、対応する巡回符号生成手段により生成された複数の巡回符号から複数の一様乱数を生成する複数の一様乱数生成手段とを用いる乱数生成方法であって、
初期値を単一の初期値格納手段に格納する初期値格納工程と、
前記初期値格納手段に格納されている初期値を用いて、前記複数の巡回符号生成手段をそれぞれ初期化させる初期化工程と
を有することを特徴とする乱数生成方法。
A plurality of cyclic code generation means for generating a plurality of cyclic codes, and a plurality of uniform codes from the plurality of cyclic codes generated by the corresponding cyclic code generation means, provided corresponding to the plurality of cyclic code generation means, respectively. A random number generation method using a plurality of uniform random number generation means for generating random numbers,
An initial value storing step of storing the initial value in a single initial value storing means;
A random number generation method comprising: an initialization step of initializing each of the plurality of cyclic code generation means using an initial value stored in the initial value storage means.
前記一様乱数生成手段のそれぞれは、対応する巡回符号生成手段により生成された複数の巡回符号の不連続なビット位置から所定数のビットを抽出することによって複数の一様乱数を生成することを特徴とする請求項8記載の乱数生成方法。   Each of the uniform random number generation means generates a plurality of uniform random numbers by extracting a predetermined number of bits from discontinuous bit positions of the plurality of cyclic codes generated by the corresponding cyclic code generation means. The random number generation method according to claim 8, wherein: 前記一様乱数生成手段のそれぞれは、前記複数の巡回符号のそれぞれ異なるビット位置から所定数のビットを抽出することによって複数の一様乱数を生成することを特徴とする請求項8記載の乱数生成方法。   9. The random number generator according to claim 8, wherein each of the uniform random number generation means generates a plurality of uniform random numbers by extracting a predetermined number of bits from different bit positions of the plurality of cyclic codes. Method. 前記初期化工程では、前記複数の巡回符号生成手段のうち、特定の1つの巡回符号生成手段に対しては、前記初期値格納手段に格納されている初期値を設定し、他の巡回符号生成手段に対しては、前記特定の1つの巡回符号生成手段により生成された巡回符号を初期値として設定することにより、前記複数の巡回符号生成手段をそれぞれ初期化させることを特徴とする請求項8記載の乱数生成方法。   In the initialization step, an initial value stored in the initial value storage unit is set for one specific cyclic code generation unit among the plurality of cyclic code generation units, and another cyclic code generation is performed. 9. The information processing apparatus according to claim 8, wherein each of the plurality of cyclic code generation means is initialized by setting, as an initial value, a cyclic code generated by the specific one cyclic code generation means. The random number generation method described. 前記初期化工程では、前記複数の巡回符号生成手段のうち、特定の1つの巡回符号生成手段に対しては、前記初期値格納手段に格納されている初期値を設定し、他の巡回符号生成手段に対しては、該他の巡回符号生成手段が前記初期値格納手段に格納されている初期値を用いて生成する初期値を設定することにより、前記複数の巡回符号生成手段をそれぞれ初期化させることを特徴とする請求項8記載の乱数生成方法。   In the initialization step, an initial value stored in the initial value storage unit is set for one specific cyclic code generation unit among the plurality of cyclic code generation units, and another cyclic code generation is performed. Means for initializing the plurality of cyclic code generation means by setting initial values generated by the other cyclic code generation means using the initial values stored in the initial value storage means. The random number generation method according to claim 8, wherein: 前記初期値格納工程では、前記初期値格納手段に、前記複数の巡回符号生成手段にそれぞれ対応する初期値を時系列に格納し、
前記初期化工程では、前記初期値格納手段に時系列に格納された初期値を時系列に読み出し、対応する巡回符号生成手段にそれぞれ設定することにより、前記複数の巡回符号生成手段をそれぞれ初期化させることを特徴とする請求項8記載の乱数生成方法。
In the initial value storing step, initial values corresponding to the plurality of cyclic code generating means are stored in time series in the initial value storing means,
In the initialization step, the initial values stored in time series in the initial value storage means are read in time series and set in the corresponding cyclic code generation means, respectively, thereby initializing the plurality of cyclic code generation means respectively. The random number generation method according to claim 8, wherein:
前記巡回符号生成手段のそれぞれに対する初期値は、互いに異なる値であることを特徴とする請求項8ないし13のいずれか1つに記載の乱数生成方法。   14. The random number generation method according to claim 8, wherein initial values for each of the cyclic code generation means are different from each other.
JP2005274415A 2005-09-21 2005-09-21 Random number generation apparatus and random number generation method Expired - Fee Related JP4585949B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005274415A JP4585949B2 (en) 2005-09-21 2005-09-21 Random number generation apparatus and random number generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005274415A JP4585949B2 (en) 2005-09-21 2005-09-21 Random number generation apparatus and random number generation method

Publications (2)

Publication Number Publication Date
JP2007087064A true JP2007087064A (en) 2007-04-05
JP4585949B2 JP4585949B2 (en) 2010-11-24

Family

ID=37973991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005274415A Expired - Fee Related JP4585949B2 (en) 2005-09-21 2005-09-21 Random number generation apparatus and random number generation method

Country Status (1)

Country Link
JP (1) JP4585949B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021051676A (en) * 2019-09-26 2021-04-01 富士通株式会社 Random number generation device and random number generation method
JP2021189912A (en) * 2020-06-02 2021-12-13 キオクシア株式会社 Semiconductor device and semiconductor storage device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202856A (en) * 1991-08-23 1994-07-22 Fujitsu Ltd Random number sequence generation processing method in parallel computer system
JP2000196559A (en) * 1998-12-24 2000-07-14 Jisedai Digital Television Hoso System Kenkyusho:Kk Data transmission method and its transmission / reception device
JP2002368586A (en) * 2001-06-04 2002-12-20 Canon Inc Code generation apparatus and method
JP2005038229A (en) * 2003-07-16 2005-02-10 Fujitsu Ltd Random number generator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202856A (en) * 1991-08-23 1994-07-22 Fujitsu Ltd Random number sequence generation processing method in parallel computer system
JP2000196559A (en) * 1998-12-24 2000-07-14 Jisedai Digital Television Hoso System Kenkyusho:Kk Data transmission method and its transmission / reception device
JP2002368586A (en) * 2001-06-04 2002-12-20 Canon Inc Code generation apparatus and method
JP2005038229A (en) * 2003-07-16 2005-02-10 Fujitsu Ltd Random number generator

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021051676A (en) * 2019-09-26 2021-04-01 富士通株式会社 Random number generation device and random number generation method
US11640278B2 (en) 2019-09-26 2023-05-02 Fujitsu Limited Random number generation device and method of generating random numbers
JP2021189912A (en) * 2020-06-02 2021-12-13 キオクシア株式会社 Semiconductor device and semiconductor storage device
US11875041B2 (en) 2020-06-02 2024-01-16 Kioxia Corporation Semiconductor device and semiconductor storage device
JP7446923B2 (en) 2020-06-02 2024-03-11 キオクシア株式会社 Semiconductor devices and semiconductor storage devices
US12216924B2 (en) 2020-06-02 2025-02-04 Kioxia Corporation Semiconductor device and semiconductor storage device

Also Published As

Publication number Publication date
JP4585949B2 (en) 2010-11-24

Similar Documents

Publication Publication Date Title
JP4700051B2 (en) Encryption apparatus and encryption method
JP4585949B2 (en) Random number generation apparatus and random number generation method
JP4364897B2 (en) Data transfer device
US20080106765A1 (en) Image forming apparatus
JPH06253134A (en) Image processing device
KR101079691B1 (en) Data sorting method and devices capable of performing the method
JP4807401B2 (en) Image processing apparatus, image forming apparatus, and program
JP4321555B2 (en) Solid-state imaging device and signal processing method for solid-state imaging device
JP2008523739A (en) Error diffusion based image processing
JP2001251510A (en) Image forming apparatus and control method thereof
JP3075247B2 (en) Color electrophotographic printing equipment
US6587584B1 (en) Apparatus for gamma correcting image data
JP2009105695A (en) Image forming apparatus and image forming system
JP2007004358A (en) Normal random number generator
JP3684061B2 (en) Image processing method and apparatus
JP2009100393A (en) Image forming apparatus and image forming system
JPH06113125A (en) Image processing device
US20080080005A1 (en) Image processing circuit and printing apparatus
JP4422825B2 (en) Signal processing device
JP2006094160A (en) Image processing method, image processing apparatus, and image processing program
JPH09312763A (en) Image processing device
JP2006293429A (en) Random number generation apparatus and random number generation method
JP3903612B2 (en) Information amount control circuit and control method
JP3710208B2 (en) Image processing method and apparatus
JP2005094403A (en) Image processor

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100621

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100831

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100906

R150 Certificate of patent or registration of utility model

Ref document number: 4585949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees