JP2022103663A - Image processing equipment, image processing methods and programs for image processing equipment - Google Patents

Image processing equipment, image processing methods and programs for image processing equipment Download PDF

Info

Publication number
JP2022103663A
JP2022103663A JP2020218427A JP2020218427A JP2022103663A JP 2022103663 A JP2022103663 A JP 2022103663A JP 2020218427 A JP2020218427 A JP 2020218427A JP 2020218427 A JP2020218427 A JP 2020218427A JP 2022103663 A JP2022103663 A JP 2022103663A
Authority
JP
Japan
Prior art keywords
pseudo
random number
image processing
seed
seed value
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
JP2020218427A
Other languages
Japanese (ja)
Other versions
JP7612412B2 (en
Inventor
真也 山田
Shinya Yamada
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 JP2020218427A priority Critical patent/JP7612412B2/en
Publication of JP2022103663A publication Critical patent/JP2022103663A/en
Application granted granted Critical
Publication of JP7612412B2 publication Critical patent/JP7612412B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Studio Devices (AREA)

Abstract

【課題】1個のシード値を基に、画像を分割した複数のブロックのそれぞれの画像処理のための疑似乱数列が衝突しないような複数のシード値を短時間で生成することができるようにする。【解決手段】画像処理装置は、1個のシード値を基に、画像を分割した複数のブロックのための複数のシード値を生成するシード値生成手段105と、前記複数のブロックのための複数のシード値を基に、前記複数のブロックの各々ごとの疑似乱数列を生成する疑似乱数生成手段102と、前記複数のブロックの各々ごとの疑似乱数列を用いて、前記画像を分割した複数のブロックをそれぞれ画像処理する画像処理手段101とを有し、前記シード値生成手段は、前記疑似乱数生成手段が前記1個のシード値を基に生成する疑似乱数列のうちの所定数ずつスキップした複数の疑似乱数を前記複数のシード値として生成する。【選択図】図1Kind Code: A1 A plurality of seed values can be generated in a short time based on one seed value so that pseudorandom number sequences for image processing of a plurality of blocks obtained by dividing an image do not collide. do. Kind Code: A1 An image processing apparatus includes seed value generation means for generating a plurality of seed values for a plurality of blocks into which an image is divided based on one seed value, and a plurality of seed values for the plurality of blocks. A pseudorandom number generating means 102 for generating a pseudorandom number sequence for each of the plurality of blocks based on the seed value of the plurality of blocks, and a plurality of pseudorandom number sequences obtained by dividing the image using the pseudorandom number sequence for each of the plurality of blocks. and image processing means 101 for performing image processing on each block, wherein the seed value generation means skips a predetermined number of pseudorandom number sequences generated by the pseudorandom number generation means based on the one seed value. A plurality of pseudo-random numbers are generated as the plurality of seed values. [Selection drawing] Fig. 1

Description

本発明は、画像処理装置、画像処理装置の画像処理方法およびプログラムに関する。 The present invention relates to an image processing apparatus, an image processing method and a program of the image processing apparatus.

コンピュータや論理回路で画像処理を行うとき、乱数が必要となることがある。乱数には、大きく分けて2種類あり、物理的な現象の観測等により生成する真の乱数と、所定のアルゴリズムを使ってランダムに見える値を出力する疑似乱数がある。 Random numbers may be required when performing image processing on a computer or logic circuit. Random numbers are roughly divided into two types, true random numbers generated by observing physical phenomena and pseudo-random numbers that output values that appear to be random using a predetermined algorithm.

疑似乱数は、真の乱数ではないが、アルゴリズムが決まっているので、乱数の品質を確認することは、真の乱数よりも容易である。例えば、統計的な乱数検定方法、例えばNISTのSP800-22で乱数の品質を確認することができる。そのため、品質が用途に合致していることを確認できれば、真の乱数の代わりに疑似乱数を使用しても、問題ないと言える。 Pseudo-random numbers are not true random numbers, but because the algorithm is fixed, it is easier to check the quality of random numbers than true random numbers. For example, the quality of random numbers can be confirmed by a statistical random number test method, for example, SP800-22 of NIST. Therefore, if it can be confirmed that the quality matches the application, it can be said that there is no problem even if a pseudo-random number is used instead of a true random number.

また、疑似乱数は、再現性があるというメリットがある。再現性とは、同じ疑似乱数列を再度生成可能という性質である。そのため、同じ乱数列を複数回使用する用途がある場合、真の乱数の場合は、乱数列をすべて保存しておく必要があるのに対し、疑似乱数の場合は、再生成するだけでよい。 Pseudo-random numbers also have the advantage of being reproducible. Reproducibility is the property that the same pseudo-random number sequence can be generated again. Therefore, when the same random number sequence is used multiple times, it is necessary to save all the random number sequences in the case of true random numbers, whereas in the case of pseudo-random numbers, it is only necessary to regenerate them.

疑似乱数は、大きく分けて2種類あり、暗号に使用できる疑似乱数と、それ以外の一般的な疑似乱数がある。暗号に使用できる疑似乱数は、乱数の品質が高いが、通常、乱数の生成が低速になる。画像処理では、あまり高品質な乱数は必要ないので、暗号目的の疑似乱数は、通常、画像処理では使用せず、一般的で簡易な疑似乱数が画像処理で使用される。 There are roughly two types of pseudo-random numbers, pseudo-random numbers that can be used for encryption and other general pseudo-random numbers. Pseudo-random numbers that can be used for cryptography have high random number quality, but usually slower random number generation. Since image processing does not require very high quality random numbers, pseudo-random numbers for cryptographic purposes are not usually used in image processing, and general and simple pseudo-random numbers are used in image processing.

簡易な疑似乱数アルゴリズムの一つに、線形帰還シフトレジスタがある。線形帰還シフトレジスタは、そのままでは、暗号に使用できるほどの品質を持たないが、画像処理などの一般的な乱数の利用であれば、単体でも使用することができる。疑似乱数アルゴリズムの他の例としては、Xorshiftがある(例えば、非特許文献1参照)。 One of the simple pseudo-random number algorithms is the linear feedback shift register. The linear feedback shift register does not have the quality that can be used for encryption as it is, but it can be used alone if it uses general random numbers such as image processing. Another example of a pseudo-random number algorithm is Xorshift (see, for example, Non-Patent Document 1).

特許文献1には、例えば、画像の拡大処理を行うために、入力画像に画素の追加を行い、疑似乱数を用いて追加箇所をバラバラにすることで、画素追加による画像パターンの変化地点を目立たないようにする方法が記載されている。 In Patent Document 1, for example, in order to enlarge an image, pixels are added to the input image, and the added points are separated by using pseudo-random numbers, so that the change points of the image pattern due to the addition of pixels are conspicuous. It describes how to avoid it.

特許文献2には、複数の疑似乱数発生回路に別々のシード値(初期値)を設定することで、複数の疑似乱数発生回路で同じ乱数が生成されることを回避する方法が記載されている。 Patent Document 2 describes a method of avoiding generation of the same random number in a plurality of pseudo-random number generation circuits by setting different seed values (initial values) in a plurality of pseudo-random number generation circuits. ..

特許文献3には、複数の疑似乱数発生回路に同じ初期値を設定するが、疑似乱数列から疑似乱数を取り出す位置をそれぞれの疑似乱数発生回路で変えることで、異なる疑似乱数を生成する方法が記載されている。 In Patent Document 3, the same initial value is set in a plurality of pseudo-random number generation circuits, but a method of generating different pseudo-random numbers by changing the position for extracting the pseudo-random numbers from the pseudo-random number sequences in each pseudo-random number generation circuit is used. Have been described.

特許文献4および特許文献5には、線形帰還シフトレジスタの位相を任意に進めた場合のシフトレジスタの値を算出する方法が記載されている。 Patent Document 4 and Patent Document 5 describe a method of calculating the value of the shift register when the phase of the linear feedback shift register is arbitrarily advanced.

特許第6066955号公報Japanese Patent No. 6066955 特開平5-206793号公報Japanese Unexamined Patent Publication No. 5-206793 特開2009-151429号公報Japanese Unexamined Patent Publication No. 2009-151429 特開2003-345246号公報Japanese Patent Application Laid-Open No. 2003-345246 特開平11-4144号公報Japanese Unexamined Patent Publication No. 11-4144

Marsaglia, "Xorshift RNGs" (2003)Marsaglia, "Xorshift RNGs" (2003)

しかし、特許文献3の方法では、画像を複数のブロックに分割し、各ブロックについて疑似乱数を生成する場合には、疑似乱数列の疑似乱数を多数生成する必要がある。また、特許文献4および特許文献5には、位相の進め方が記載されているが、画像を複数のブロックに分割した画像処理に必要な回路構成、例えば複数のシード値の持ち方やシード値生成のタイミングを開示していない。 However, in the method of Patent Document 3, when the image is divided into a plurality of blocks and a pseudo-random number is generated for each block, it is necessary to generate a large number of pseudo-random numbers in the pseudo-random number sequence. Further, although Patent Document 4 and Patent Document 5 describe how to advance the phase, a circuit configuration necessary for image processing in which an image is divided into a plurality of blocks, for example, how to hold a plurality of seed values and how to generate a seed value. The timing of is not disclosed.

本発明の目的は、1個のシード値を基に、画像を分割した複数のブロックのそれぞれの画像処理のための疑似乱数列が衝突しないような複数のシード値を短時間で生成することができるようにすることである。 An object of the present invention is to generate a plurality of seed values in a short time based on one seed value so that pseudo-random numbers for image processing of a plurality of blocks obtained by dividing an image do not collide with each other. To be able to do it.

本発明の画像処理装置は、1個のシード値を基に、画像を分割した複数のブロックのための複数のシード値を生成するシード値生成手段と、前記複数のブロックのための複数のシード値を基に、前記複数のブロックの各々ごとの疑似乱数列を生成する疑似乱数生成手段と、前記複数のブロックの各々ごとの疑似乱数列を用いて、前記画像を分割した複数のブロックをそれぞれ画像処理する画像処理手段とを有し、前記シード値生成手段は、前記疑似乱数生成手段が前記1個のシード値を基に生成する疑似乱数列のうちの所定数ずつスキップした複数の疑似乱数を前記複数のシード値として生成する。 The image processing apparatus of the present invention has a seed value generation means for generating a plurality of seed values for a plurality of blocks obtained by dividing an image based on one seed value, and a plurality of seeds for the plurality of blocks. A plurality of blocks obtained by dividing the image by using a pseudo-random number generation means for generating a pseudo-random number sequence for each of the plurality of blocks based on the value and a pseudo-random number sequence for each of the plurality of blocks are used. The seed value generation means has an image processing means for image processing, and the seed value generation means skips a predetermined number of pseudo-random numbers in the pseudo-random number sequence generated based on the one seed value. Is generated as the plurality of seed values.

本発明によれば、1個のシード値を基に、画像を分割した複数のブロックのそれぞれの画像処理のための疑似乱数列が衝突しないような複数のシード値を短時間で生成することができる。 According to the present invention, it is possible to generate a plurality of seed values in a short time based on one seed value so that pseudo-random numbers for image processing of a plurality of blocks obtained by dividing an image do not collide with each other. can.

画像処理装置の構成例を示す図である。It is a figure which shows the configuration example of an image processing apparatus. 疑似乱数発生部の構成例を示す図である。It is a figure which shows the structural example of the pseudo-random number generation part. シフトレジスタの値の遷移を示す図である。It is a figure which shows the transition of the value of a shift register. シード値生成部の処理内容を示す図である。It is a figure which shows the processing content of the seed value generation part. 疑似乱数列スキップ部の処理内容を説明するための図である。It is a figure for demonstrating the processing content of the pseudo-random number string skip part. 疑似乱数列スキップ部の構成例を示す図である。It is a figure which shows the configuration example of the pseudo-random number sequence skip part. 疑似乱数発生部の構成例を示す図である。It is a figure which shows the structural example of the pseudo-random number generation part. 疑似乱数列スキップ部の処理内容を説明するための図である。It is a figure for demonstrating the processing content of the pseudo-random number string skip part. Xorshiftの疑似乱数発生方法を示すフローチャートである。It is a flowchart which shows the pseudo-random number generation method of Xorshift. 疑似乱数発生部の構成例を示す図である。It is a figure which shows the structural example of the pseudo-random number generation part. 線形帰還シフトレジスタの構成例を示す図である。It is a figure which shows the structural example of a linear feedback shift register. 入力画像を複数のブロックに分割する例を示す図である。It is a figure which shows the example which divides an input image into a plurality of blocks. 画素の挿入位置を示す図である。It is a figure which shows the insertion position of a pixel. 画素の挿入位置を示す図である。It is a figure which shows the insertion position of a pixel.

図11は、疑似乱数を生成する線形帰還シフトレジスタの構成例を示す回路図である。シフトレジスタ1101は、それぞれのレジスタが1ビットを保持し、全体で5ビットを保持することができ、左から1ビットを入力すると、保持しているビットを1つシフトする。排他的論理和演算器1102は、シフトレジスタ1101のいくつかのビットを入力し、入力ビットの排他的論理和の結果を1ビット出力する。シフトレジスタ1101が1回シフトする度に、疑似乱数が1ビット出力される。 FIG. 11 is a circuit diagram showing a configuration example of a linear feedback shift register that generates a pseudo-random number. In the shift register 1101, each register holds 1 bit and can hold 5 bits in total, and when 1 bit is input from the left, the holding bit is shifted by one. The exclusive OR operation unit 1102 inputs some bits of the shift register 1101 and outputs one bit of the result of the exclusive OR of the input bits. Each time the shift register 1101 shifts once, one bit of pseudo-random number is output.

なお、線形帰還シフトレジスタが生成する疑似乱数の周期は、最大になるように構成されている。疑似乱数の周期は、シフトレジスタ1101が保持できるビット数と、排他的論理和演算器1102に入力するビットに依存している。シフトレジスタ1101のビット数をNとすると、シフトレジスタ1101が表せるビット状態の個数は、2N個である。ただし、シフトレジスタ1101のビットのすべてが0の場合は、シフトレジスタ1101のビットが常に0になってしまうので、その1パターンを除くと、シフトレジスタ1101が表せるビット状態の個数は、2N-1個になる。よって、2N-1が疑似乱数の最大の周期である。排他的論理和演算器1102への入力は、シフトレジスタ1101が表すビット状態の周期が2N-1になるように構成する。これにより、疑似乱数の周期も2N-1になる。 The period of the pseudo-random number generated by the linear feedback shift register is configured to be maximum. The period of the pseudo-random number depends on the number of bits that can be held by the shift register 1101 and the bits that are input to the exclusive-OR arithmetic unit 1102. Assuming that the number of bits of the shift register 1101 is N, the number of bit states that can be represented by the shift register 1101 is 2 N. However, when all the bits of the shift register 1101 are 0, the bits of the shift register 1101 are always 0. Therefore, excluding that one pattern, the number of bit states that the shift register 1101 can represent is 2 N −. It becomes one. Therefore, 2 N -1 is the maximum period of the pseudo-random number. The input to the exclusive OR arithmetic unit 1102 is configured so that the period of the bit state represented by the shift register 1101 is 2 N -1. As a result, the period of the pseudo-random number also becomes 2 N -1.

疑似乱数は、画像処理に使用することができる。画像データに対して行う拡大縮小処理やハーフトーン処理により発生するモアレや画像パターンの変化を目立ちにくくするために、画像処理に疑似乱数を使用することができる。例えば、画像の拡大処理を行うために、入力画像に画素の追加を行う。通常、画素を追加すると、追加を行った位置で、画像パターンが変化する。そのため、画素の追加地点が一律固定だと、追加を行った位置で起こる画像パターンの変化地点が一か所に固まって目立ってしまう。そのため、疑似乱数を用いて追加箇所をバラバラにすることで、画素追加による画像パターンの変化地点を目立たなくすることができる。 Pseudo-random numbers can be used for image processing. Pseudo-random numbers can be used in image processing in order to make moire and changes in image patterns that occur due to enlargement / reduction processing and halftone processing performed on image data less noticeable. For example, pixels are added to the input image in order to enlarge the image. Normally, when a pixel is added, the image pattern changes at the position where the pixel is added. Therefore, if the addition point of the pixel is fixed uniformly, the change point of the image pattern that occurs at the position where the pixel is added becomes conspicuous in one place. Therefore, by using pseudo-random numbers to separate the additional points, it is possible to make the change points of the image pattern due to the addition of pixels inconspicuous.

図12は、入力画像を複数のブロックに分割する例を示す図である。ブロック毎に画像処理を行うことで、複数のブロックを並列に処理することや、ブロック毎の拡大率を変化させたりすることができる。ただし、ブロック毎に画像処理をするためには、疑似乱数もブロック毎に生成する必要がある。 FIG. 12 is a diagram showing an example of dividing an input image into a plurality of blocks. By performing image processing for each block, it is possible to process a plurality of blocks in parallel and change the enlargement ratio for each block. However, in order to perform image processing for each block, it is necessary to generate a pseudo-random number for each block.

図13は、図12のブロック毎に同じ疑似乱数を使用し、画素を挿入する場合の画素挿入位置の例を示す図である。ブロック毎に同じシード値(初期値)を使用し、それぞれ同じ疑似乱数列を生成する場合、すべてのブロックで同じ位置に画素が挿入されてしまう。すべてのブロックで同じ位置に画素を挿入しているため、画像パターンの変化が周期的に起こり、模様として認識されてしまう可能性がある。 FIG. 13 is a diagram showing an example of a pixel insertion position when the same pseudo-random number is used for each block of FIG. 12 and a pixel is inserted. If the same seed value (initial value) is used for each block and the same pseudo-random number sequence is generated for each block, pixels will be inserted at the same position in all blocks. Since the pixels are inserted at the same position in all the blocks, the image pattern may change periodically and be recognized as a pattern.

そのため、ブロック毎に使用する疑似乱数列は、別々の方がよい。複数の疑似乱数発生回路に別々のシード値(初期値)を設定することで、複数の疑似乱数発生回路で同じ乱数が生成されることを回避できる。しかし、ブロック毎に別のシード値を設定しても、疑似乱数列は、周期が有限なので、複数のブロックの疑似乱数列が部分的に衝突する可能性がある。 Therefore, it is better that the pseudo-random number strings used for each block are separate. By setting different seed values (initial values) in a plurality of pseudo-random number generation circuits, it is possible to avoid generating the same random number in a plurality of pseudo-random number generation circuits. However, even if a different seed value is set for each block, since the period of the pseudo-random number sequence is finite, there is a possibility that the pseudo-random number sequences of a plurality of blocks partially collide.

図14は、複数のブロックの疑似乱数列が部分的に衝突した場合の、画素挿入位置の例を示す図である。複数のブロックの疑似乱数列が一部衝突しているため、複数のブロックの画素の挿入位置が一部重複している。そのため、複数のブロックの重複している箇所で、同一パターンが発生してしまっている。これにより、画像パターンの変化が周期的に起こり、模様として認識されてしまう可能性がある。 FIG. 14 is a diagram showing an example of a pixel insertion position when pseudo-random numbers of a plurality of blocks partially collide. Since the pseudo-random numbers of a plurality of blocks partially collide, the insertion positions of the pixels of the plurality of blocks partially overlap. Therefore, the same pattern has occurred at the overlapping points of the plurality of blocks. As a result, the image pattern may change periodically and be recognized as a pattern.

上記のような疑似乱数列の一部衝突を確実に回避するために、例えば、複数の疑似乱数発生回路に同じ初期値を設定するが、疑似乱数列から疑似乱数を取り出す位置をそれぞれの疑似乱数発生回路で変えることで、疑似乱数の衝突を回避することができる。 In order to reliably avoid partial collision of the pseudo-random number sequence as described above, for example, the same initial value is set in a plurality of pseudo-random number generation circuits, but the position where the pseudo-random number is taken out from the pseudo-random number sequence is set for each pseudo-random number. By changing it with the generation circuit, it is possible to avoid collision of pseudo-random numbers.

しかし、ブロック数が多い場合、疑似乱数の生成に必要な計算量が増えるという課題がある。例えば、ブロックが1000個ある場合、疑似乱数列から1つの疑似乱数を取り出すために、疑似乱数列の疑似乱数を1000個生成する必要がある。画像処理では、疑似乱数が画素毎に必要な場合があるので、ブロック間の疑似乱数の衝突を防ぎながらも、少ない計算量で疑似乱数を生成する必要がある。 However, when the number of blocks is large, there is a problem that the amount of calculation required for generating pseudo-random numbers increases. For example, when there are 1000 blocks, it is necessary to generate 1000 pseudo-random numbers in the pseudo-random number sequence in order to extract one pseudo-random number from the pseudo-random number sequence. In image processing, pseudo-random numbers may be required for each pixel, so it is necessary to generate pseudo-random numbers with a small amount of calculation while preventing collisions of pseudo-random numbers between blocks.

他の衝突回避方法としては、衝突しないシード値を前もって複数保持しておいて、画像処理の開始前に保持しておいたシード値を使って疑似乱数列を生成する方法が考えられる。しかし、衝突しないシード値をあらかじめ生成しておき、外部ですべて保持しておくとすると、外部でシード値を保持するための回路の増加や、外部に保持しているシード値を画像処理回路に書き込むのに時間がかかってしまう。例えば、シードが1000個あるとすると、外部の保持回路も1000個必要であり、また、画像処理回路にシード値を書込む時間が1個につき100サイクルかかるとすると、全部のシード値を書き込むのに10万サイクルかかってしまう。 As another collision avoidance method, it is conceivable to hold a plurality of non-collision seed values in advance and generate a pseudo-random number sequence using the seed values held before the start of image processing. However, if seed values that do not collide are generated in advance and all are held externally, the number of circuits for holding seed values externally will increase, and the seed values held externally will be used in the image processing circuit. It takes time to write. For example, if there are 1000 seeds, 1000 external holding circuits are required, and if it takes 100 cycles to write the seed values to the image processing circuit, all the seed values are written. It takes 100,000 cycles.

上記の課題を解決するため、複数のブロックのそれぞれへのシード値の設定を外部から行う必要がなく、各ブロックの画像処理中の疑似乱数発生を短時間で実施することができる実施形態を、以下、説明する。 In order to solve the above problem, there is no need to set seed values for each of a plurality of blocks from the outside, and an embodiment capable of generating pseudo-random numbers during image processing of each block in a short time is provided. This will be described below.

(第1の実施形態)
図1は、第1の実施形態に係る画像処理装置100の構成例を示す図である。画像処理装置100は、画像処理回路101と、疑似乱数発生部102と、複数のシード値保持部103と、シード値設定部104と、シード値生成部105と、疑似乱数列スキップ部106とを有する。以下、画像処理装置100の画像処理方法を説明する。
(First Embodiment)
FIG. 1 is a diagram showing a configuration example of the image processing apparatus 100 according to the first embodiment. The image processing device 100 includes an image processing circuit 101, a pseudo-random number generation unit 102, a plurality of seed value holding units 103, a seed value setting unit 104, a seed value generation unit 105, and a pseudo-random number sequence skip unit 106. Have. Hereinafter, the image processing method of the image processing apparatus 100 will be described.

画像処理回路101は、例えば画像の拡大縮小処理のような、疑似乱数を必要とする画像処理を行う。画像処理回路101は、入力画像を入力し、入力画像を複数のブロックに分割し、各ブロックに対して画像処理を施して、出力画像を出力する。 The image processing circuit 101 performs image processing that requires pseudo-random numbers, such as image enlargement / reduction processing. The image processing circuit 101 inputs an input image, divides the input image into a plurality of blocks, performs image processing on each block, and outputs an output image.

疑似乱数発生部102は、線形帰還シフトレジスタを有し、疑似乱数列を生成する。複数のシード値保持部103は、それぞれ、入力画像の複数のブロックの画像処理に必要な疑似乱数列のシード値を保持する。例えば、画像処理回路101が最大1024個のブロック分割を行う場合、シード値保持部103は、1024個で構成される。 The pseudo-random number generator 102 has a linear feedback shift register and generates a pseudo-random number sequence. Each of the plurality of seed value holding units 103 holds the seed values of the pseudo-random number sequence required for image processing of the plurality of blocks of the input image. For example, when the image processing circuit 101 divides a maximum of 1024 blocks, the seed value holding unit 103 is composed of 1024 blocks.

シード値設定部104は、複数のシード値保持部103のうちのいずれか1つに、シード値を設定する。このシード値は、複数のブロックのうちの1つのブロックに必要なシード値である。シード値生成部105は、シード値設定部104が複数のシード値保持部103のうちのいずれか1つにシード値を書き込んだことを確認すると、そのシード値を基に、他のブロックに必要なシード値を生成し、他のシード値保持部103に書き込む。疑似乱数列スキップ部106は、シード値生成部105がシード値を生成するために使用される。 The seed value setting unit 104 sets a seed value in any one of the plurality of seed value holding units 103. This seed value is a seed value required for one block out of a plurality of blocks. When the seed value generation unit 105 confirms that the seed value setting unit 104 has written the seed value to any one of the plurality of seed value holding units 103, the seed value generation unit 105 is required for other blocks based on the seed value. Seed value is generated and written to another seed value holding unit 103. The pseudo-random number sequence skip unit 106 is used by the seed value generation unit 105 to generate a seed value.

図2は、図1の疑似乱数発生部102の構成例を示す図である。疑似乱数発生部102は、例えば、フィボナッチ線形帰還シフトレジスタで構成される。疑似乱数発生部102は、シフトレジスタ201と、排他的論理和演算器202とを有する。 FIG. 2 is a diagram showing a configuration example of the pseudo-random number generation unit 102 of FIG. The pseudo-random number generator 102 is composed of, for example, a Fibonacci linear feedback shift register. The pseudo-random number generator 102 has a shift register 201 and an exclusive OR arithmetic unit 202.

シフトレジスタ201は、31ビットのレジスタで構成され、左から1ビットを入力すると、全レジスタのビットが右に1ビットシフトされ、一番右からあふれた1ビットが、疑似乱数として出力される。排他的論理和演算器202は、シフトレジスタ201の出力ビットと、シフトレジスタ201の31ビットのレジスタのうちのいくつかのレジスタのビットを入力する。そして、排他的論理和演算器202は、入力ビットの排他的論理和の結果として1ビットをシフトレジスタ201の初段のレジスタに出力する。これにより、疑似乱数発生部102は、31ビットの疑似乱数を生成することができる。 The shift register 201 is composed of 31-bit registers, and when one bit is input from the left, the bits of all the registers are shifted to the right by one bit, and the one bit overflowing from the rightmost is output as a pseudo random number. The exclusive logical sum calculator 202 inputs the output bits of the shift register 201 and the bits of some of the 31-bit registers of the shift register 201. Then, the exclusive OR arithmetic unit 202 outputs one bit to the register of the first stage of the shift register 201 as a result of the exclusive OR of the input bits. As a result, the pseudo-random number generation unit 102 can generate a 31-bit pseudo-random number.

図3は、疑似乱数発生部102で実装されているフィボナッチ線形帰還シフトレジスタを動作させたときの、シフトレジスタ201のビット値の遷移を表す図である。シード値301は、シフトレジスタ201の初期値を表している。遷移値302は、乱数の生成を1回、2回、3回、・・・、231-2回と繰り返したときに、シフトレジスタ201のビット値がどのように遷移するかを表している。シード値301と遷移値302は、すべて異なる値をとる。遷移値303は、231-1回目の遷移値であるが、231-1回目ではじめて、シード値301と同じ値になる。遷移値304は、231回目以降の遷移値を表しているが、遷移値302と同じ値になる。すなわち、シフトレジスタ201は、生成する値に周期性があり、シード値301と遷移値302が表す231-1個の値を1周期とした数列を繰り返し生成する。 FIG. 3 is a diagram showing the transition of the bit value of the shift register 201 when the Fibonacci linear feedback shift register implemented by the pseudo-random number generation unit 102 is operated. The seed value 301 represents the initial value of the shift register 201. The transition value 302 represents how the bit value of the shift register 201 transitions when the random number generation is repeated once, twice, three times, ..., 231-2 times. .. The seed value 301 and the transition value 302 all have different values. The transition value 303 is the transition value of the 231-1st time, but the same value as the seed value 301 is obtained only at the 231-1st time. The transition value 304 represents the transition value after the 231st time, but is the same value as the transition value 302. That is, the shift register 201 has periodicity in the generated value, and repeatedly generates a sequence in which the seed value 301 and the transition value 302 represent 231-1 in one cycle.

シフトレジスタ201は、31ビットのレジスタであるので、シフトレジスタ201が表せる数の個数は231個が上限である。ただし、全ビットが0の場合は、ビット値が変化しないため、乱数生成には使えず、実際の上限は231-1個となる。また、シフトレジスタ201のビット値遷移の1周期の長さも231-1個である。つまり、図3は、シード値301から231-1回目の遷移値303に到達するまでに、シフトレジスタ201が値として取ることのできる231-1個のすべての値を巡った後に、最初の値に戻ってきたことを表している。 Since the shift register 201 is a 31-bit register, the maximum number of numbers that can be represented by the shift register 201 is 2 31 . However, when all the bits are 0, the bit value does not change, so that it cannot be used for random number generation, and the actual upper limit is 231-1 . Further, the length of one cycle of the bit value transition of the shift register 201 is also 231-1 . That is, FIG. 3 shows the first after going through all the 231-1 values that the shift register 201 can take as values from the seed value 301 to the arrival of the second transition value 303. It means that it has returned to the value of.

上記から次のことがわかる。シフトレジスタ201は、どのようなシード値301を選んだとしても、シード値301か遷移値302のいずれかの値になるので、生成される乱数列も、図3で示した順番でしか生成されない。 From the above, we can see the following. No matter what seed value 301 is selected, the shift register 201 will be either the seed value 301 or the transition value 302, so the generated random number sequences will be generated only in the order shown in FIG. ..

つまり、シード値301に関して、次のことがわかる。まず、2つのシード値が同じであれば、同じ遷移になるので、同じ疑似乱数列が生成されてしまう。また、2つのシード値が異なっていたとしても、シード値301と遷移値302が表す数列において、近い2つの値をシード値としている場合、生成される疑似乱数列が部分的に一致してしまう。なお、近い2つの値をシード値とするとは、各ブロックの画像処理で必要としている疑似乱数の個数よりも、シード値間の距離が短いことを意味している。 That is, regarding the seed value 301, the following can be understood. First, if the two seed values are the same, the transition will be the same, so the same pseudo-random number sequence will be generated. Further, even if the two seed values are different, if two close values are used as the seed values in the sequence represented by the seed value 301 and the transition value 302, the generated pseudo-random number sequences partially match. .. Note that using two close values as seed values means that the distance between the seed values is shorter than the number of pseudo-random numbers required for image processing of each block.

画像処理において、このような疑似乱数列の衝突が起きると、各ブロックの画像処理結果が部分的に一致してしまい、模様として認識されてしまう可能性がある。 In image processing, when such a collision of pseudo-random numbers occurs, the image processing results of each block may partially match and be recognized as a pattern.

本実施形態は、これを避けるために、各ブロックのシード値の間隔を、シード値301と遷移値302が示す数列上において、十分離した値にすることで、各ブロックの疑似乱数列の衝突を防ぐことを目的としている。なお、各ブロックのシード値の間隔を十分離した値にするとは、各ブロックの画像処理で必要となる疑似乱数の最大個数よりも、広い間隔を空けた値にするという意味である。例えば、疑似乱数がブロック毎に最大100万個必要であれば、各ブロックのシード値の間隔を200万にすれば、衝突を防ぐことができる。 In this embodiment, in order to avoid this, the interval between the seed values of each block is set to a value ten separated on the sequence indicated by the seed value 301 and the transition value 302, so that the collision of the pseudo-random number sequence of each block The purpose is to prevent. It should be noted that setting the interval between the seed values of each block to a value ten-separated means that the value is set at a wider interval than the maximum number of pseudo-random numbers required for image processing of each block. For example, if a maximum of 1 million pseudo-random numbers are required for each block, collisions can be prevented by setting the seed value interval of each block to 2 million.

図4は、図1のシード値生成部105の処理方法を示すフローチャートである。ステップS401では、シード値設定部104は、複数のシード値保持部103のうちのいずれか1つに、31ビットのシード値を書き込む。シード値生成部105は、シード値設定部104による31ビットのシード値の書き込みが終了するのを待ち、終了したらステップS402に進む。 FIG. 4 is a flowchart showing a processing method of the seed value generation unit 105 of FIG. In step S401, the seed value setting unit 104 writes a 31-bit seed value to any one of the plurality of seed value holding units 103. The seed value generation unit 105 waits for the 31-bit seed value writing by the seed value setting unit 104 to be completed, and proceeds to step S402 when the writing is completed.

ステップS402では、シード値生成部105は、ステップS401で書き込まれたシード値保持部103の31ビットのシード値を読み込む。次に、ステップS403では、シード値生成部105は、疑似乱数列スキップ部106の処理の実行を指示し、次のブロックのシード値を求める。次に、ステップS404では、シード値生成部105は、ステップS403で求めたシード値を、複数のシード値保持部103のうちの他のいずれか一つに書き込む。 In step S402, the seed value generation unit 105 reads the 31-bit seed value of the seed value holding unit 103 written in step S401. Next, in step S403, the seed value generation unit 105 instructs the execution of the processing of the pseudo-random number sequence skip unit 106, and obtains the seed value of the next block. Next, in step S404, the seed value generation unit 105 writes the seed value obtained in step S403 to any one of the plurality of seed value holding units 103.

次に、ステップS405では、シード値生成部105は、必要なすべてのシード値が、すべてのシード値保持部103に書き込まれているか否かを判定する。シード値生成部105は、すべてのシード値が書き込まれていない場合には、ステップS403に戻り、他のブロックのシード値の処理を繰り返し、すべてのシード値が書き込まれている場合には、図4のフローチャートの処理を終了する。これにより、シード値生成部105は、入力画像の複数のブロックに対応する複数のシード値を複数のシード値保持部103に保持させることができる。 Next, in step S405, the seed value generation unit 105 determines whether or not all the necessary seed values have been written to all the seed value holding units 103. If all the seed values have not been written, the seed value generation unit 105 returns to step S403, repeats the processing of the seed values of the other blocks, and if all the seed values have been written, the figure. The processing of the flowchart of 4 is terminated. As a result, the seed value generation unit 105 can cause the plurality of seed value holding units 103 to hold a plurality of seed values corresponding to the plurality of blocks of the input image.

図5は、図1の疑似乱数列スキップ部106の処理方法を説明するための図である。図5は、疑似乱数列スキップ部106で計算される処理内容を示す。疑似乱数列スキップ部106は、図2で示した疑似乱数発生部102の線形帰還シフトレジスタのビット値を所定の回数だけシフトした場合の値を出力する回路である。例えば、疑似乱数列スキップ部106は、200万回だけシフトした後の値を出力するように実装している。入力値501は、疑似乱数列スキップ部106の線形帰還シフトレジスタの初期の31ビットの値である。排他的論理和演算器502は、図2の排他的論理和演算器202と同じ処理を行う。遷移値503は、図2で示した疑似乱数発生部102のシフトレジスタ201のビットをシフトした結果と同じ値を表している。出力値504は、疑似乱数列スキップ部106の線形帰還シフトレジスタのビット値をシフトし、遷移値503が200万回生成された後のビット値である。 FIG. 5 is a diagram for explaining a processing method of the pseudo-random number sequence skip unit 106 of FIG. FIG. 5 shows the processing content calculated by the pseudo-random number sequence skip unit 106. The pseudo-random number sequence skip unit 106 is a circuit that outputs a value when the bit value of the linear feedback shift register of the pseudo-random number generation unit 102 shown in FIG. 2 is shifted by a predetermined number of times. For example, the pseudo-random number sequence skip unit 106 is implemented so as to output the value after shifting only 2 million times. The input value 501 is an initial 31-bit value of the linear feedback shift register of the pseudo-random number sequence skip unit 106. The exclusive-OR arithmetic unit 502 performs the same processing as the exclusive-OR arithmetic unit 202 of FIG. The transition value 503 represents the same value as the result of shifting the bit of the shift register 201 of the pseudo-random number generation unit 102 shown in FIG. The output value 504 is a bit value after shifting the bit value of the linear feedback shift register of the pseudo-random number sequence skip unit 106 and generating the transition value 503 2 million times.

図5を見ると、入力値501と出力値504の間にある演算は、排他的論理和演算器502だけであることがわかる。すなわち、出力値504の各ビット値を表す式は、入力値501の各ビットと、排他的論理和演算器502の演算だけで表すことができる。 Looking at FIG. 5, it can be seen that the operation between the input value 501 and the output value 504 is only the exclusive OR arithmetic unit 502. That is, the expression representing each bit value of the output value 504 can be expressed only by each bit of the input value 501 and the operation of the exclusive OR arithmetic unit 502.

排他的論理和演算器502の演算だけの式は、式の変形により、簡単な式に変換できる。排他的論理和演算器502の演算は、交換律と結合律が成り立つので、計算する順番を任意に入れ替えることができる。また、同一の値を偶数個集めて排他的論理和を計算すると、0になる。そして、ある値と0との排他的論理和は、値を変化させないので、0は無視してよい。つまり、式中に偶数個現れるビット値は、すべて無視してよい。同様に、式中に奇数個現れるビット値は、1つを残して、すべて無視してよい。すなわち、出力値504の各ビット値を計算する式は、入力値501のビット値を重複無しで、いくつか選択した上で、排他的論理和をとるだけの式にできることを表している。 An expression containing only the operation of the exclusive OR arithmetic unit 502 can be converted into a simple expression by modifying the expression. Since the commutative law and the associative law hold in the operation of the exclusive OR arithmetic unit 502, the order of calculation can be arbitrarily changed. Further, when an even number of the same values are collected and the exclusive OR is calculated, it becomes 0. And since the exclusive OR of a certain value and 0 does not change the value, 0 can be ignored. That is, all bit values that appear even in the expression can be ignored. Similarly, any odd number of bit values appearing in an expression may be ignored, leaving one. That is, the formula for calculating each bit value of the output value 504 represents that the formula can be a formula that only takes an exclusive OR after selecting some bit values of the input value 501 without duplication.

図6は、図1の疑似乱数列スキップ部106の構成例を示す図である。疑似乱数列スキップ部106は、31個の1ビット算出部601を有する。31個の1ビット算出部601の各々は、排他的論理和演算器604を有する。 FIG. 6 is a diagram showing a configuration example of the pseudo-random number sequence skip section 106 of FIG. The pseudo-random number sequence skip unit 106 has 31 1-bit calculation units 601. Each of the 31 1-bit calculators 601 has an exclusive OR calculator 604.

1ビット算出部601は、31ビットの入力値602を入力し、1ビットの出力値605を出力する。31個の1ビット算出部601は、それぞれ、31個の1ビット出力値605を算出する。 The 1-bit calculation unit 601 inputs a 31-bit input value 602 and outputs a 1-bit output value 605. Each of the 31 1-bit calculation units 601 calculates 31 1-bit output values 605.

入力値602は、31ビットの入力値である。マスク603は、31ビットの入力値602のうちの一部のビットだけを選択し、選択したビットを排他的論理和演算器604に出力し、他のビットを0にして排他的論理和演算器604に出力する。排他的論理和演算器604は、マスク603が出力するビット値の排他的論理和を計算し、その計算結果を1ビットの出力値605として出力する。 The input value 602 is a 31-bit input value. The mask 603 selects only a part of the 31-bit input value 602, outputs the selected bit to the exclusive-OR calculator 604, sets the other bits to 0, and sets the other bit to the exclusive-OR calculator. Output to 604. The exclusive-OR arithmetic unit 604 calculates the exclusive-OR of the bit values output by the mask 603, and outputs the calculation result as a 1-bit output value 605.

なお、マスク603が選択するビットが固定の場合は、マスク603を単なる結線とし、排他的論理和演算器604は、マスク603により結線されているビットだけの排他的論理和を計算してもよい。また、マスク603の別の構成例として、マスク603で選択するビットを外部から変更できるようにして、各シード値の間隔を変更できるようにしてもよい。 If the bits selected by the mask 603 are fixed, the mask 603 may be used as a mere connection, and the exclusive OR calculator 604 may calculate the exclusive OR of only the bits connected by the mask 603. .. Further, as another configuration example of the mask 603, the bits selected by the mask 603 may be changed from the outside so that the interval between the seed values can be changed.

また、マスク603のさらに別の構成例として、マスク603と排他的論理和演算器604を1ビットずつ処理するようにして、31サイクルかけて、1ビットの出力値605を計算するようにすることもできる。この場合、疑似乱数列スキップ部106の計算にかかるサイクル数が増えるが、より回路規模を小さくすることができる。 Further, as yet another configuration example of the mask 603, the mask 603 and the exclusive OR arithmetic unit 604 are processed bit by bit, and the output value 605 of one bit is calculated over 31 cycles. You can also. In this case, the number of cycles required for the calculation of the pseudo-random number sequence skip unit 106 increases, but the circuit scale can be further reduced.

図6では、疑似乱数列スキップ部106は、31個の1ビット算出部601で構成されているが、別の構成例として、1個の1ビット算出部601だけの構成でもよい。この構成の場合は、1ビット算出部601の処理を31回繰り返し実行することで、図6と同じ結果の31ビットの出力値605を算出できる。 In FIG. 6, the pseudo-random number sequence skip unit 106 is composed of 31 1-bit calculation units 601. However, as another configuration example, only one 1-bit calculation unit 601 may be configured. In the case of this configuration, the 31-bit output value 605 with the same result as in FIG. 6 can be calculated by repeatedly executing the process of the 1-bit calculation unit 601 31 times.

以上のように、シード値設定部104は、複数のシード値保持部103のうちの1個目のシード値保持部103に対して、1個目のブロックの31ビットのシード値を書き込む。その後、シード値生成部105は、1個目のシード値保持部103から1個目のブロックの31ビットのシード値を読み出す。そして、シード値生成部105は、疑似乱数列スキップ部106に対して、1個目のブロックの31ビットのシード値を出力し、2個目のブロックの31ビットのシード値の演算を指示する。疑似乱数列スキップ部106は、図5のように、1個目のブロックの31ビットのシード値を入力値501として入力し、200万回のビットシフト後、2個目のブロックのシード値を出力値504としてシード値生成部105に出力する。シード値生成部105は、2個目のブロックのシード値を2個目のシード値保持部103に書き込む。1個目のブロックのシード値と2個目のシード値との間隔は、200万回分である。 As described above, the seed value setting unit 104 writes the 31-bit seed value of the first block to the first seed value holding unit 103 of the plurality of seed value holding units 103. After that, the seed value generation unit 105 reads out the 31-bit seed value of the first block from the first seed value holding unit 103. Then, the seed value generation unit 105 outputs the 31-bit seed value of the first block to the pseudo-random number sequence skip unit 106, and instructs the operation of the 31-bit seed value of the second block. .. As shown in FIG. 5, the pseudo-random number sequence skip unit 106 inputs the 31-bit seed value of the first block as the input value 501, and after 2 million bit shifts, the seed value of the second block is used. It is output to the seed value generation unit 105 as an output value 504. The seed value generation unit 105 writes the seed value of the second block to the second seed value holding unit 103. The interval between the seed value of the first block and the seed value of the second block is 2 million times.

次に、シード値生成部105は、疑似乱数列スキップ部106に対して、2個目のブロックの31ビットのシード値を出力し、3個目のブロックの31ビットのシード値の演算を指示する。疑似乱数列スキップ部106は、図5のように、2個目のブロックの31ビットのシード値を入力値501として入力し、200万回のビットシフト後、3個目のブロックのシード値を出力値504としてシード値生成部105に出力する。シード値生成部105は、3個目のブロックのシード値を3個目のシード値保持部103に書き込む。2個目のブロックのシード値と3個目のシード値との間隔は、200万回分である。 Next, the seed value generation unit 105 outputs the 31-bit seed value of the second block to the pseudo-random number sequence skip unit 106, and instructs the operation of the 31-bit seed value of the third block. do. As shown in FIG. 5, the pseudo-random number sequence skip unit 106 inputs the 31-bit seed value of the second block as the input value 501, and after 2 million bit shifts, the seed value of the third block is used. It is output to the seed value generation unit 105 as an output value 504. The seed value generation unit 105 writes the seed value of the third block to the third seed value holding unit 103. The interval between the seed value of the second block and the seed value of the third block is 2 million times.

以下、同様にして、シード値生成部105は、疑似乱数列スキップ部106を使用し、すべてのブロックの31ビットのシード値をすべてのシード値保持部103に書き込む。隣接するブロックのシード値の間隔は、200万回分である。 Hereinafter, in the same manner, the seed value generation unit 105 uses the pseudo-random number sequence skip unit 106 to write the 31-bit seed values of all the blocks to all the seed value holding units 103. The interval between seed values of adjacent blocks is 2 million times.

画像処理回路101は、入力画像の1個目のブロックに対して、1個目のシード値保持部103から1個目のブロックのシード値を読み出し、疑似乱数発生部102に対して、1個目のブロックのシード値を出力し、疑似乱数生成を指示する。すると、疑似乱数発生部102は、図3のように、1個目のブロックのシード値をシード値301として、シフトレジスタ201に設定し、例えば100万個の疑似乱数を生成し、例えば100万個の疑似乱数を画像処理回路101に出力する。画像処理回路101は、例えば100万個の疑似乱数を用いて、入力画像の1個目のブロックに対して、例えば画像の拡大縮小処理等の画像処理を行い、1個目のブロックの出力画像を生成および保存する。 The image processing circuit 101 reads the seed value of the first block from the first seed value holding unit 103 for the first block of the input image, and one for the pseudo random number generation unit 102. Outputs the seed value of the eye block and instructs to generate a pseudo random number. Then, as shown in FIG. 3, the pseudo-random number generator 102 sets the seed value of the first block as the seed value 301 in the shift register 201, and generates, for example, 1 million pseudo-random numbers, for example, 1 million. The pseudo-random numbers are output to the image processing circuit 101. The image processing circuit 101 uses, for example, one million pseudo-random numbers to perform image processing such as image enlargement / reduction processing on the first block of the input image, and the output image of the first block. And save.

次に、画像処理回路101は、入力画像の2個目のブロックに対して、2個目のシード値保持部103から2個目のブロックのシード値を読み出し、疑似乱数発生部102に対して、2個目のブロックのシード値を出力し、疑似乱数生成を指示する。すると、疑似乱数発生部102は、図3のように、2個目のブロックのシード値をシード値301として、シフトレジスタ201に設定し、例えば100万個の疑似乱数を生成し、例えば100万個の疑似乱数を画像処理回路101に出力する。画像処理回路101は、例えば100万個の疑似乱数を用いて、入力画像の2個目のブロックに対して、例えば画像の拡大縮小処理等の画像処理を行い、2個目のブロックの出力画像を生成および保存する。 Next, the image processing circuit 101 reads the seed value of the second block from the second seed value holding unit 103 for the second block of the input image, and reads the seed value of the second block to the pseudo random number generation unit 102. Second, the seed value of the second block is output, and a pseudo random number generation is instructed. Then, as shown in FIG. 3, the pseudo-random number generator 102 sets the seed value of the second block as the seed value 301 in the shift register 201, and generates, for example, 1 million pseudo-random numbers, for example, 1 million. The pseudo-random numbers are output to the image processing circuit 101. The image processing circuit 101 uses, for example, one million pseudo-random numbers to perform image processing such as image enlargement / reduction processing on the second block of the input image, and the output image of the second block. And save.

以下、同様にして、画像処理回路101は、入力画像の3個目から最後までのブロックに対して、それぞれ、疑似乱数を用いて画像処理を行い、3個目から最後までのブロックの出力画像を生成および保存する。そして、画像処理回路101は、すべてのブロックの出力画像を統合し、その統合した出力画像を出力する。 Hereinafter, in the same manner, the image processing circuit 101 performs image processing on the blocks from the third to the end of the input image using pseudo random numbers, respectively, and outputs an image of the blocks from the third to the end. And save. Then, the image processing circuit 101 integrates the output images of all the blocks and outputs the integrated output image.

疑似乱数発生部102は、隣接するブロックのシード値の間隔が200万回分であるので、入力画像の各ブロックの疑似乱数列の衝突を防止することができる。画像処理回路101は、例えば、入力画像の各ブロックの画素の挿入位置の重複を防止し、画像パターンの周期的な変化による模様の発生を防止することができる。 Since the pseudo-random number generation unit 102 has an interval of seed values of adjacent blocks of 2 million times, it is possible to prevent collision of pseudo-random number sequences of each block of the input image. The image processing circuit 101 can, for example, prevent duplication of the insertion positions of pixels of each block of the input image, and prevent the generation of patterns due to periodic changes in the image pattern.

以上のように、シード値設定部104は、1個のシード値保持部103に対して、1個のシード値を設定する。シード値生成部105は、疑似乱数列スキップ部106を用いて、シード値設定部104により設定された1個のシード値を基に、入力画像を分割した複数のブロックのための複数のシード値を生成する。疑似乱数発生部102は、疑似乱数生成部であり、上記の複数のブロックのための複数のシード値を基に、上記の複数のブロックの各々ごとの疑似乱数列を生成する。画像処理回路101は、画像処理部であり、上記の複数のブロックの各々ごとの疑似乱数列を用いて、入力画像を分割した複数のブロックをそれぞれ画像処理する。 As described above, the seed value setting unit 104 sets one seed value for one seed value holding unit 103. The seed value generation unit 105 uses the pseudo-random number sequence skip unit 106 to divide the input image into a plurality of seed values based on one seed value set by the seed value setting unit 104. To generate. The pseudo-random number generation unit 102 is a pseudo-random number generation unit, and generates a pseudo-random number sequence for each of the plurality of blocks based on the plurality of seed values for the plurality of blocks. The image processing circuit 101 is an image processing unit, and uses a pseudo-random number sequence for each of the above-mentioned plurality of blocks to perform image processing on each of the plurality of blocks obtained by dividing the input image.

シード値生成部105は、疑似乱数発生部102が上記の1個のシード値を基に生成する疑似乱数列のうちの所定数ずつスキップした複数の疑似乱数を複数のシード値として生成する。所定数は、画像処理回路101が各ブロックの画像処理に用いる疑似乱数の最大個数よりも多い数である。 The seed value generation unit 105 generates a plurality of pseudo-random numbers skipped by a predetermined number from the pseudo-random number sequence generated based on the above-mentioned one seed value as a plurality of seed values. The predetermined number is a number larger than the maximum number of pseudo-random numbers used by the image processing circuit 101 for image processing of each block.

上記の複数のシード値は、上記の1個のシード値を含む。シード値設定部104は、上記の1個のシード値を1個のシード値保持部103に書き込む。シード値生成部105は、上記の複数のシード値のうちの上記の1個のシード値以外のシード値を他のシード値保持部103に書き込む。 The above-mentioned plurality of seed values include the above-mentioned one seed value. The seed value setting unit 104 writes the above-mentioned one seed value to one seed value holding unit 103. The seed value generation unit 105 writes a seed value other than the above-mentioned one seed value among the above-mentioned plurality of seed values to the other seed value holding unit 103.

疑似乱数発生部102は、図2のように、シード値を基に排他的論理和演算を行うことにより、疑似乱数を生成する。シード値生成部105は、疑似乱数列スキップ部106を用い、図6のように、上記の複数のシード値のうちの1個のシード値の一部のビットに対して排他的論理和演算を行うことにより、上記の複数のシード値のうちの他のシード値を生成する。 As shown in FIG. 2, the pseudo-random number generation unit 102 generates a pseudo-random number by performing an exclusive OR operation based on the seed value. The seed value generation unit 105 uses the pseudo-random number sequence skip unit 106 to perform an exclusive OR operation on some bits of one seed value among the above-mentioned plurality of seed values, as shown in FIG. By doing so, other seed values among the above-mentioned plurality of seed values are generated.

疑似乱数列スキップ部106は、複数の1ビット算出部601を有する。複数の1ビット算出部601の各々は、ビット演算部であり、上記の複数のシード値のうちの1個のシード値の一部のビットに対して排他的論理和演算を行うことにより、上記の複数のシード値のうちの他のシード値の1ビットを生成する。 The pseudo-random number sequence skip unit 106 has a plurality of 1-bit calculation units 601. Each of the plurality of 1-bit calculation units 601 is a bit calculation unit, and by performing an exclusive OR operation on some bits of one seed value among the above-mentioned plurality of seed values, the above-mentioned Generates one bit of the other seed value among the multiple seed values of.

なお、疑似乱数列スキップ部106は、上記の複数のシード値のうちの1個のシード値の一部のビットに対して排他的論理和演算を行うことにより、上記の複数のシード値のうちの他のシード値の1ビットを生成する処理を複数回繰り返してもよい。また、疑似乱数列スキップ部106は、上記の複数のシード値のうちの1個のシード値の一部のビットを他のビットに変更することにより、上記の所定数を変更することができる。 The pseudo-random number sequence skip unit 106 performs an exclusive OR operation on some bits of one seed value among the above-mentioned plurality of seed values, thereby performing an exclusive OR operation among the above-mentioned plurality of seed values. The process of generating one bit of another seed value may be repeated a plurality of times. Further, the pseudo-random number sequence skip unit 106 can change the predetermined number by changing some bits of one seed value among the plurality of seed values to other bits.

このように、本実施形態では、シード値生成部105は、シード値保持部103に保持されるシード値の間隔を調整することができる。各シード値で生成が必要な疑似乱数の最大個数は、各ブロックのサイズ等で推定できるので、その最大個数よりもシード値の間隔を広くしておけば、各ブロックで使用される疑似乱数列が衝突することを防ぐことができる。 As described above, in the present embodiment, the seed value generation unit 105 can adjust the interval between the seed values held in the seed value holding unit 103. The maximum number of pseudo-random numbers that need to be generated for each seed value can be estimated from the size of each block, so if the seed value interval is wider than the maximum number, the pseudo-random number sequence used in each block will be used. Can be prevented from colliding.

シード値設定部104が最初の1つのシード値を設定すると、シード値生成部105は、疑似乱数列スキップ部106を用いて、疑似乱数列が衝突しない複数のシード値を自動で生成できる。これにより、入力画像を分割した複数のブロックのそれぞれのシード値を外部から設定する必要がなく、各ブロックの画像処理のための疑似乱数の発生を短時間で実施することができる。 When the seed value setting unit 104 sets the first seed value, the seed value generation unit 105 can automatically generate a plurality of seed values in which the pseudo-random number strings do not collide with each other by using the pseudo-random number sequence skip unit 106. As a result, it is not necessary to set the seed value of each of the plurality of blocks obtained by dividing the input image from the outside, and it is possible to generate a pseudo-random number for image processing of each block in a short time.

(第2の実施形態)
第2の実施形態に係る画像処理装置100は、第1実施形態の図1と同じ構成を有するが、疑似乱数発生部102がガロア線形帰還シフトレジスタで構成される。ガロア線形帰還シフトレジスタの場合でも、疑似乱数列スキップ部106は、第1実施形態の図6で示した構成で実現できる。
(Second embodiment)
The image processing apparatus 100 according to the second embodiment has the same configuration as that of FIG. 1 of the first embodiment, but the pseudo-random number generation unit 102 is composed of a Galois linear feedback shift register. Even in the case of the Galois linear feedback shift register, the pseudo-random number sequence skip unit 106 can be realized by the configuration shown in FIG. 6 of the first embodiment.

図7は、第2の実施形態に係る疑似乱数発生部102の構成例を示す図である。疑似乱数発生部102は、複数の排他的論理和演算器701と、シフトレジスタ702とを有する。排他的論理和演算器701は、2ビットを入力し、入力の2ビットの排他的論理和の1ビット結果を出力する。シフトレジスタ702は、31個のレジスタを有し、それぞれのレジスタが1ビットを保持し、全体のレジスタで31ビットの値を保持している。ただし、シフトレジスタ702の31ビットのレジスタの間に、排他的論理和演算器701がいくつか挿入されている。排他的論理和演算器701は、前段のレジスタから入力する1ビットと、シフトレジスタ702の出力端(右端)から出力される1ビットとの排他的論理和をとって、1ビットを次段のレジスタに出力する。これにより、疑似乱数発生部102は、31ビットの疑似乱数を生成することができる。 FIG. 7 is a diagram showing a configuration example of the pseudo-random number generation unit 102 according to the second embodiment. The pseudo-random number generator 102 has a plurality of exclusive OR arithmetic units 701 and a shift register 702. The exclusive OR calculator 701 inputs 2 bits and outputs a 1-bit result of the input 2-bit exclusive OR. The shift register 702 has 31 registers, each register holds 1 bit, and the entire register holds a 31-bit value. However, some exclusive OR arithmetic units 701 are inserted between the 31-bit registers of the shift register 702. The exclusive OR arithmetic unit 701 takes an exclusive OR of 1 bit input from the register in the previous stage and 1 bit output from the output end (right end) of the shift register 702, and sets 1 bit as the next stage. Output to the register. As a result, the pseudo-random number generation unit 102 can generate a 31-bit pseudo-random number.

図8は、第1の実施形態の図5に対応し、疑似乱数列スキップ部106の処理方法を説明するための図である。ただし、図8では、図5の1段分のみを示している。入力値801は、疑似乱数列スキップ部106のガロア線形帰還シフトレジスタの初期の31ビットの値である。排他的論理和演算器802は、図7の排他的論理和演算器701と同じ処理を行う。遷移値803は、図7のシフトレジスタ702のビットをシフトした結果と同じ値を表している。 FIG. 8 corresponds to FIG. 5 of the first embodiment and is a diagram for explaining a processing method of the pseudo-random number sequence skip unit 106. However, in FIG. 8, only one stage of FIG. 5 is shown. The input value 801 is an initial 31-bit value of the Galois linear feedback shift register of the pseudo-random number sequence skip unit 106. The exclusive-OR arithmetic unit 802 performs the same processing as the exclusive-OR arithmetic unit 701 of FIG. 7. The transition value 803 represents the same value as the result of shifting the bits of the shift register 702 in FIG. 7.

図8を見ると、本実施形態の疑似乱数列スキップ部106の演算は、排他的論理和演算器802のみであることがわかる。すなわち、第1実施形態の図5で検討した結果と同じように、本実施形態の疑似乱数列スキップ部106も、図6の構成で実装することができる。 Looking at FIG. 8, it can be seen that the operation of the pseudo-random number sequence skip unit 106 of the present embodiment is performed only by the exclusive OR arithmetic unit 802. That is, the pseudo-random number sequence skip section 106 of the present embodiment can also be implemented with the configuration of FIG. 6, as in the result examined in FIG. 5 of the first embodiment.

(第3の実施形態)
第3の実施形態に係る画像処理装置100は、第1の実施形態の図1と同じ構成を有するが、疑似乱数発生部102がXorshiftで構成される。Xorshiftの場合も、疑似乱数列スキップ部106は、第1の実施形態の図6で示した構成で実現できる。
(Third embodiment)
The image processing device 100 according to the third embodiment has the same configuration as that of FIG. 1 of the first embodiment, but the pseudo-random number generation unit 102 is configured by Xorshift. Also in the case of Xorshift, the pseudo-random number sequence skip unit 106 can be realized by the configuration shown in FIG. 6 of the first embodiment.

図9は、疑似乱数発生部102のXorshiftの疑似乱数発生処理の一例を示すフローチャートである。ただし、変数yは、32ビットの符号無整数である。変数yは、疑似乱数列の内の一つの値を表している。図9の処理により、変数yの値を次の疑似乱数の値に更新する。 FIG. 9 is a flowchart showing an example of the pseudo-random number generation process of Xorshift of the pseudo-random number generation unit 102. However, the variable y is a 32-bit signless integer. The variable y represents one value in the pseudo-random number sequence. By the process of FIG. 9, the value of the variable y is updated to the value of the next pseudo-random number.

ステップS901では、疑似乱数発生部102は、変数yの値と、変数yの値を13ビット左シフトした値との排他的論理和をとって、変数yに代入する。ステップS902では、疑似乱数発生部102は、変数yの値と、変数yの値を17ビット右シフトした値との排他的論理和をとって、変数yに代入する。ステップS903では、疑似乱数発生部102は、変数yの値と、変数yの値を5ビット左シフトした値との排他的論理和をとって、変数yに代入する。以上により、変数yは、疑似乱数として生成される。なお、図9の処理において、左シフトもしくは右シフトした結果、32ビットの範囲からはみ出したビットは無視される。 In step S901, the pseudo-random number generator 102 takes an exclusive OR of the value of the variable y and the value obtained by shifting the value of the variable y to the left by 13 bits, and assigns the value to the variable y. In step S902, the pseudo-random number generator 102 takes an exclusive OR of the value of the variable y and the value obtained by shifting the value of the variable y to the right by 17 bits, and assigns the value to the variable y. In step S903, the pseudo-random number generator 102 takes an exclusive OR of the value of the variable y and the value obtained by shifting the value of the variable y to the left by 5 bits, and assigns the value to the variable y. As a result, the variable y is generated as a pseudo-random number. In the process of FIG. 9, as a result of left shift or right shift, the bits outside the 32-bit range are ignored.

図10は、図9で示したXorshiftの疑似乱数発生処理を排他的論理和演算器1002で示した図である。また、図10は、本実施形態に係る疑似乱数発生部102の構成例を示す図である。 FIG. 10 is a diagram showing the pseudo-random number generation process of Xorshift shown in FIG. 9 by the exclusive OR arithmetic unit 1002. Further, FIG. 10 is a diagram showing a configuration example of the pseudo-random number generation unit 102 according to the present embodiment.

疑似乱数値1001は、現在の32ビットの疑似乱数値を表している。疑似乱数発生部102は、図10の回路を使って、現在の疑似乱数値1001を基に次回の疑似乱数値1005を求める。排他的論理和演算器1002は、排他的論理和演算を行う。変数1003は、ステップS901の計算結果の変数yを表している。変数1004は、ステップS902の計算結果の変数yを表している。疑似乱数値1005は、ステップS903の計算結果の変数yを表している。 The pseudo-random number value 1001 represents the current 32-bit pseudo-random number value. The pseudo-random number generator 102 uses the circuit of FIG. 10 to obtain the next pseudo-random number value 1005 based on the current pseudo-random number value 1001. The exclusive-OR arithmetic unit 1002 performs an exclusive-OR operation. The variable 1003 represents the variable y of the calculation result of step S901. The variable 1004 represents the variable y of the calculation result of step S902. The pseudo-random number value 1005 represents the variable y of the calculation result of step S903.

本実施形態に係る疑似乱数列スキップ部106の処理内容は、図10の処理を、図5のように繰り返すことで実現できる。図10を見ると、本実施形態の疑似乱数列スキップ部106の演算は、排他的論理和演算器1002のみであることがわかる。すなわち、第1実施形態と同様に、本実施形態の疑似乱数列スキップ部106も、図6の構成で実装することができる。 The processing content of the pseudo-random number sequence skip unit 106 according to the present embodiment can be realized by repeating the processing of FIG. 10 as shown in FIG. Looking at FIG. 10, it can be seen that the operation of the pseudo-random number sequence skip unit 106 of the present embodiment is performed only by the exclusive OR arithmetic unit 1002. That is, similarly to the first embodiment, the pseudo-random number sequence skip unit 106 of the present embodiment can also be implemented with the configuration of FIG.

(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

なお、上記実施形態は、何れも本発明を実施するにあたっての具体例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 It should be noted that the above embodiments are merely specific examples for carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner by these. That is, the present invention can be implemented in various forms without departing from the technical idea or its main features.

100 画像処理装置、101 画像処理回路、102 疑似乱数発生部、103 シード値保持部、104 シード値設定部、105 シード値生成部、106 疑似乱数列スキップ部 100 Image processing device, 101 Image processing circuit, 102 Pseudo-random number generator, 103 Seed value holding unit, 104 Seed value setting unit, 105 Seed value generation unit, 106 Pseudo-random number sequence skipping unit

Claims (13)

1個のシード値を基に、画像を分割した複数のブロックのための複数のシード値を生成するシード値生成手段と、
前記複数のブロックのための複数のシード値を基に、前記複数のブロックの各々ごとの疑似乱数列を生成する疑似乱数生成手段と、
前記複数のブロックの各々ごとの疑似乱数列を用いて、前記画像を分割した複数のブロックをそれぞれ画像処理する画像処理手段とを有し、
前記シード値生成手段は、前記疑似乱数生成手段が前記1個のシード値を基に生成する疑似乱数列のうちの所定数ずつスキップした複数の疑似乱数を前記複数のシード値として生成することを特徴とする画像処理装置。
A seed value generation means that generates a plurality of seed values for a plurality of blocks obtained by dividing an image based on one seed value.
A pseudo-random number generation means that generates a pseudo-random number sequence for each of the plurality of blocks based on a plurality of seed values for the plurality of blocks.
It has an image processing means for performing image processing on each of the plurality of blocks obtained by dividing the image by using a pseudo-random number sequence for each of the plurality of blocks.
The seed value generation means generates, as the plurality of seed values, a plurality of pseudo-random numbers skipped by a predetermined number from the pseudo-random number sequence generated by the pseudo-random number generation means based on the one seed value. Characteristic image processing device.
前記所定数は、前記画像処理手段が各ブロックの画像処理に用いる疑似乱数の最大個数よりも多い数であることを特徴とする請求項1に記載の画像処理装置。 The image processing apparatus according to claim 1, wherein the predetermined number is a number larger than the maximum number of pseudo-random numbers used by the image processing means for image processing of each block. 前記1個のシード値を設定するシード値設定手段をさらに有することを特徴とする請求項1または2に記載の画像処理装置。 The image processing apparatus according to claim 1 or 2, further comprising a seed value setting means for setting one seed value. 前記複数のシード値は、前記1個のシード値を含み、
前記シード値設定手段は、前記1個のシード値を書き込み、
前記シード値生成手段は、前記複数のシード値のうちの前記1個のシード値以外のシード値を書き込むことを特徴とする請求項3に記載の画像処理装置。
The plurality of seed values include the one seed value.
The seed value setting means writes the one seed value,
The image processing apparatus according to claim 3, wherein the seed value generating means writes a seed value other than the one seed value among the plurality of seed values.
前記疑似乱数生成手段は、前記シード値を基に排他的論理和演算を行うことにより、疑似乱数を生成し、
前記シード値生成手段は、前記複数のシード値のうちの1個のシード値の一部のビットに対して排他的論理和演算を行うことにより、前記複数のシード値のうちの他のシード値を生成することを特徴とする請求項1~4のいずれか1項に記載の画像処理装置。
The pseudo-random number generation means generates a pseudo-random number by performing an exclusive OR operation based on the seed value.
The seed value generation means performs an exclusive OR operation on some bits of one seed value among the plurality of seed values, thereby performing an exclusive OR operation on the other seed values among the plurality of seed values. The image processing apparatus according to any one of claims 1 to 4, wherein the image processing apparatus is generated.
前記シード値生成手段は、複数のビット演算手段を有し、
前記複数のビット演算手段の各々は、前記複数のシード値のうちの1個のシード値の一部のビットに対して排他的論理和演算を行うことにより、前記複数のシード値のうちの他のシード値の1ビットを生成することを特徴とする請求項5に記載の画像処理装置。
The seed value generating means has a plurality of bit arithmetic means, and has a plurality of bit arithmetic means.
Each of the plurality of bit operation means performs an exclusive OR operation on some bits of one seed value among the plurality of seed values, thereby performing an exclusive OR operation on the other of the plurality of seed values. The image processing apparatus according to claim 5, wherein 1 bit of the seed value of is generated.
前記シード値生成手段は、前記複数のシード値のうちの1個のシード値の一部のビットに対して排他的論理和演算を行うことにより、前記複数のシード値のうちの他のシード値の1ビットを生成する処理を複数回繰り返すことを特徴とする請求項5に記載の画像処理装置。 The seed value generation means performs an exclusive OR operation on some bits of one seed value among the plurality of seed values, thereby performing an exclusive OR operation on the other seed values among the plurality of seed values. The image processing apparatus according to claim 5, wherein the process of generating one bit of the above is repeated a plurality of times. 前記シード値生成手段は、前記複数のシード値のうちの1個のシード値の一部のビットを他のビットに変更することにより、前記所定数を変更することを特徴とする請求項5~7のいずれか1項に記載の画像処理装置。 5. The seed value generating means is characterized in that the predetermined number is changed by changing some bits of one seed value among the plurality of seed values to other bits. 7. The image processing apparatus according to any one of 7. 前記疑似乱数生成手段は、フィボナッチ線形帰還シフトレジスタを用いて、疑似乱数を生成することを特徴とする請求項1~8のいずれか1項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 8, wherein the pseudo-random number generation means generates a pseudo-random number by using a Fibonacci linear feedback shift register. 前記疑似乱数生成手段は、ガロア線形帰還シフトレジスタを用いて、疑似乱数を生成することを特徴とする請求項1~8のいずれか1項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 8, wherein the pseudo-random number generation means generates a pseudo-random number by using a Galois linear feedback shift register. 前記疑似乱数生成手段は、Xorshiftの疑似乱数を生成することを特徴とする請求項1~8のいずれか1項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 8, wherein the pseudo-random number generation means generates a pseudo-random number of Xorshift. 1個のシード値を基に、画像を分割した複数のブロックのための複数のシード値を生成するシード値生成ステップと、
前記複数のブロックのための複数のシード値を基に、前記複数のブロックの各々ごとの疑似乱数列を生成する疑似乱数生成ステップと、
前記複数のブロックの各々ごとの疑似乱数列を用いて、前記画像を分割した複数のブロックをそれぞれ画像処理する画像処理ステップとを有し、
前記シード値生成ステップでは、前記疑似乱数生成ステップで前記1個のシード値を基に生成する疑似乱数列のうちの所定数ずつスキップした複数の疑似乱数を前記複数のシード値として生成することを特徴とする画像処理装置の画像処理方法。
A seed value generation step that generates multiple seed values for multiple blocks that divide an image based on one seed value.
A pseudo-random number generation step that generates a pseudo-random number sequence for each of the plurality of blocks based on the plurality of seed values for the plurality of blocks.
It has an image processing step of performing image processing on each of the plurality of blocks obtained by dividing the image by using a pseudo-random number sequence for each of the plurality of blocks.
In the seed value generation step, a plurality of pseudo-random numbers skipped by a predetermined number from the pseudo-random number sequence generated based on the one seed value in the pseudo-random number generation step are generated as the plurality of seed values. An image processing method of a featured image processing device.
コンピュータを、請求項1~11のいずれか1項に記載された画像処理装置の各手段として機能させるためのプログラム。 A program for making a computer function as each means of the image processing apparatus according to any one of claims 1 to 11.
JP2020218427A 2020-12-28 2020-12-28 IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD AND PROGRAM FOR IMAGE PROCESSING APPARATUS Active JP7612412B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020218427A JP7612412B2 (en) 2020-12-28 2020-12-28 IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD AND PROGRAM FOR IMAGE PROCESSING APPARATUS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020218427A JP7612412B2 (en) 2020-12-28 2020-12-28 IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD AND PROGRAM FOR IMAGE PROCESSING APPARATUS

Publications (2)

Publication Number Publication Date
JP2022103663A true JP2022103663A (en) 2022-07-08
JP7612412B2 JP7612412B2 (en) 2025-01-14

Family

ID=82279512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020218427A Active JP7612412B2 (en) 2020-12-28 2020-12-28 IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD AND PROGRAM FOR IMAGE PROCESSING APPARATUS

Country Status (1)

Country Link
JP (1) JP7612412B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4125025B2 (en) 2002-03-22 2008-07-23 キヤノン株式会社 Image processing device
JP6872956B2 (en) 2017-04-13 2021-05-19 キヤノン株式会社 Imaging system and control method of imaging system
JP6580091B2 (en) 2017-07-05 2019-09-25 キヤノン株式会社 Image processing apparatus, image processing method, and program

Also Published As

Publication number Publication date
JP7612412B2 (en) 2025-01-14

Similar Documents

Publication Publication Date Title
CN103098018B (en) Bit sequence generator
CN110413257B (en) random number generator circuit
CN103812596B (en) The generation method and device of pseudo-random sequence
KR101332232B1 (en) Cryptographic random number generator using finite field operations
JP3921098B2 (en) Test signal generating apparatus and method, Poisson distribution error signal generator and generating method
JP4418713B2 (en) Random number generation method and random number generator
CN103636159B (en) Method for generating a random output bit sequence
JP2006072891A (en) Method and device for generating pseudo random number sequence with controllable cycle based on cellular automata
US9619206B2 (en) Pseudo-random bit sequence generator
JP2022103663A (en) Image processing equipment, image processing methods and programs for image processing equipment
IL147359A (en) Technique for high speed prbs generation
JP4709685B2 (en) Pseudorandom number generation device, pseudorandom number generation method, pseudorandom number generation program, encryption device, and decryption device
JP5101253B2 (en) Random error generator, M-sequence generator, and design method thereof
WO2016128463A1 (en) Method to generate high quality random mask from small entropy source
CN111258549B (en) Quantum random number post-processing device based on nonlinear feedback shift register
KR102197744B1 (en) True random number generator based on cellular automata with random transition rules
JP2014164342A (en) Pseudo-random number generation circuit and pseudo-random number generation method
CN114676448A (en) Circuit, method and electronic device for realizing SM3 algorithm
JP2001142682A (en) Random number generator and random number generating method
Falih A Pseudorandom Binary Generator Based on Chaotic Linear Feedback Shift Register
US7668893B2 (en) Data generator having linear feedback shift registers for generating data pattern in forward and reverse orders
JPWO2015133095A1 (en) Parity check code generation apparatus, encoding method, encoding apparatus, and control program
CN120596063B (en) Data processing method, device, equipment and medium on TPU chip
CN113922913B (en) GOLD scrambling code sequence generation method, system and equipment of LTE system
US8184034B2 (en) Code sequence generator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241111

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241225

R150 Certificate of patent or registration of utility model

Ref document number: 7612412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150