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 PDFInfo
- 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
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
特許文献2には、複数の疑似乱数発生回路に別々のシード値(初期値)を設定することで、複数の疑似乱数発生回路で同じ乱数が生成されることを回避する方法が記載されている。
特許文献3には、複数の疑似乱数発生回路に同じ初期値を設定するが、疑似乱数列から疑似乱数を取り出す位置をそれぞれの疑似乱数発生回路で変えることで、異なる疑似乱数を生成する方法が記載されている。
In
特許文献4および特許文献5には、線形帰還シフトレジスタの位相を任意に進めた場合のシフトレジスタの値を算出する方法が記載されている。
Patent Document 4 and
しかし、特許文献3の方法では、画像を複数のブロックに分割し、各ブロックについて疑似乱数を生成する場合には、疑似乱数列の疑似乱数を多数生成する必要がある。また、特許文献4および特許文献5には、位相の進め方が記載されているが、画像を複数のブロックに分割した画像処理に必要な回路構成、例えば複数のシード値の持ち方やシード値生成のタイミングを開示していない。
However, in the method of
本発明の目的は、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.
図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
なお、線形帰還シフトレジスタが生成する疑似乱数の周期は、最大になるように構成されている。疑似乱数の周期は、シフトレジスタ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
疑似乱数は、画像処理に使用することができる。画像データに対して行う拡大縮小処理やハーフトーン処理により発生するモアレや画像パターンの変化を目立ちにくくするために、画像処理に疑似乱数を使用することができる。例えば、画像の拡大処理を行うために、入力画像に画素の追加を行う。通常、画素を追加すると、追加を行った位置で、画像パターンが変化する。そのため、画素の追加地点が一律固定だと、追加を行った位置で起こる画像パターンの変化地点が一か所に固まって目立ってしまう。そのため、疑似乱数を用いて追加箇所をバラバラにすることで、画素追加による画像パターンの変化地点を目立たなくすることができる。 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
画像処理回路101は、例えば画像の拡大縮小処理のような、疑似乱数を必要とする画像処理を行う。画像処理回路101は、入力画像を入力し、入力画像を複数のブロックに分割し、各ブロックに対して画像処理を施して、出力画像を出力する。
The
疑似乱数発生部102は、線形帰還シフトレジスタを有し、疑似乱数列を生成する。複数のシード値保持部103は、それぞれ、入力画像の複数のブロックの画像処理に必要な疑似乱数列のシード値を保持する。例えば、画像処理回路101が最大1024個のブロック分割を行う場合、シード値保持部103は、1024個で構成される。
The
シード値設定部104は、複数のシード値保持部103のうちのいずれか1つに、シード値を設定する。このシード値は、複数のブロックのうちの1つのブロックに必要なシード値である。シード値生成部105は、シード値設定部104が複数のシード値保持部103のうちのいずれか1つにシード値を書き込んだことを確認すると、そのシード値を基に、他のブロックに必要なシード値を生成し、他のシード値保持部103に書き込む。疑似乱数列スキップ部106は、シード値生成部105がシード値を生成するために使用される。
The seed
図2は、図1の疑似乱数発生部102の構成例を示す図である。疑似乱数発生部102は、例えば、フィボナッチ線形帰還シフトレジスタで構成される。疑似乱数発生部102は、シフトレジスタ201と、排他的論理和演算器202とを有する。
FIG. 2 is a diagram showing a configuration example of the pseudo-random
シフトレジスタ201は、31ビットのレジスタで構成され、左から1ビットを入力すると、全レジスタのビットが右に1ビットシフトされ、一番右からあふれた1ビットが、疑似乱数として出力される。排他的論理和演算器202は、シフトレジスタ201の出力ビットと、シフトレジスタ201の31ビットのレジスタのうちのいくつかのレジスタのビットを入力する。そして、排他的論理和演算器202は、入力ビットの排他的論理和の結果として1ビットをシフトレジスタ201の初段のレジスタに出力する。これにより、疑似乱数発生部102は、31ビットの疑似乱数を生成することができる。
The
図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
シフトレジスタ201は、31ビットのレジスタであるので、シフトレジスタ201が表せる数の個数は231個が上限である。ただし、全ビットが0の場合は、ビット値が変化しないため、乱数生成には使えず、実際の上限は231-1個となる。また、シフトレジスタ201のビット値遷移の1周期の長さも231-1個である。つまり、図3は、シード値301から231-1回目の遷移値303に到達するまでに、シフトレジスタ201が値として取ることのできる231-1個のすべての値を巡った後に、最初の値に戻ってきたことを表している。
Since the
上記から次のことがわかる。シフトレジスタ201は、どのようなシード値301を選んだとしても、シード値301か遷移値302のいずれかの値になるので、生成される乱数列も、図3で示した順番でしか生成されない。
From the above, we can see the following. No matter what
つまり、シード値301に関して、次のことがわかる。まず、2つのシード値が同じであれば、同じ遷移になるので、同じ疑似乱数列が生成されてしまう。また、2つのシード値が異なっていたとしても、シード値301と遷移値302が表す数列において、近い2つの値をシード値としている場合、生成される疑似乱数列が部分的に一致してしまう。なお、近い2つの値をシード値とするとは、各ブロックの画像処理で必要としている疑似乱数の個数よりも、シード値間の距離が短いことを意味している。
That is, regarding the
画像処理において、このような疑似乱数列の衝突が起きると、各ブロックの画像処理結果が部分的に一致してしまい、模様として認識されてしまう可能性がある。 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
図4は、図1のシード値生成部105の処理方法を示すフローチャートである。ステップS401では、シード値設定部104は、複数のシード値保持部103のうちのいずれか1つに、31ビットのシード値を書き込む。シード値生成部105は、シード値設定部104による31ビットのシード値の書き込みが終了するのを待ち、終了したらステップS402に進む。
FIG. 4 is a flowchart showing a processing method of the seed
ステップS402では、シード値生成部105は、ステップS401で書き込まれたシード値保持部103の31ビットのシード値を読み込む。次に、ステップS403では、シード値生成部105は、疑似乱数列スキップ部106の処理の実行を指示し、次のブロックのシード値を求める。次に、ステップS404では、シード値生成部105は、ステップS403で求めたシード値を、複数のシード値保持部103のうちの他のいずれか一つに書き込む。
In step S402, the seed
次に、ステップS405では、シード値生成部105は、必要なすべてのシード値が、すべてのシード値保持部103に書き込まれているか否かを判定する。シード値生成部105は、すべてのシード値が書き込まれていない場合には、ステップS403に戻り、他のブロックのシード値の処理を繰り返し、すべてのシード値が書き込まれている場合には、図4のフローチャートの処理を終了する。これにより、シード値生成部105は、入力画像の複数のブロックに対応する複数のシード値を複数のシード値保持部103に保持させることができる。
Next, in step S405, the seed
図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
図5を見ると、入力値501と出力値504の間にある演算は、排他的論理和演算器502だけであることがわかる。すなわち、出力値504の各ビット値を表す式は、入力値501の各ビットと、排他的論理和演算器502の演算だけで表すことができる。
Looking at FIG. 5, it can be seen that the operation between the
排他的論理和演算器502の演算だけの式は、式の変形により、簡単な式に変換できる。排他的論理和演算器502の演算は、交換律と結合律が成り立つので、計算する順番を任意に入れ替えることができる。また、同一の値を偶数個集めて排他的論理和を計算すると、0になる。そして、ある値と0との排他的論理和は、値を変化させないので、0は無視してよい。つまり、式中に偶数個現れるビット値は、すべて無視してよい。同様に、式中に奇数個現れるビット値は、1つを残して、すべて無視してよい。すなわち、出力値504の各ビット値を計算する式は、入力値501のビット値を重複無しで、いくつか選択した上で、排他的論理和をとるだけの式にできることを表している。
An expression containing only the operation of the exclusive OR
図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
1ビット算出部601は、31ビットの入力値602を入力し、1ビットの出力値605を出力する。31個の1ビット算出部601は、それぞれ、31個の1ビット出力値605を算出する。
The 1-
入力値602は、31ビットの入力値である。マスク603は、31ビットの入力値602のうちの一部のビットだけを選択し、選択したビットを排他的論理和演算器604に出力し、他のビットを0にして排他的論理和演算器604に出力する。排他的論理和演算器604は、マスク603が出力するビット値の排他的論理和を計算し、その計算結果を1ビットの出力値605として出力する。
The
なお、マスク603が選択するビットが固定の場合は、マスク603を単なる結線とし、排他的論理和演算器604は、マスク603により結線されているビットだけの排他的論理和を計算してもよい。また、マスク603の別の構成例として、マスク603で選択するビットを外部から変更できるようにして、各シード値の間隔を変更できるようにしてもよい。
If the bits selected by the
また、マスク603のさらに別の構成例として、マスク603と排他的論理和演算器604を1ビットずつ処理するようにして、31サイクルかけて、1ビットの出力値605を計算するようにすることもできる。この場合、疑似乱数列スキップ部106の計算にかかるサイクル数が増えるが、より回路規模を小さくすることができる。
Further, as yet another configuration example of the
図6では、疑似乱数列スキップ部106は、31個の1ビット算出部601で構成されているが、別の構成例として、1個の1ビット算出部601だけの構成でもよい。この構成の場合は、1ビット算出部601の処理を31回繰り返し実行することで、図6と同じ結果の31ビットの出力値605を算出できる。
In FIG. 6, the pseudo-random number
以上のように、シード値設定部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
次に、シード値生成部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
以下、同様にして、シード値生成部105は、疑似乱数列スキップ部106を使用し、すべてのブロックの31ビットのシード値をすべてのシード値保持部103に書き込む。隣接するブロックのシード値の間隔は、200万回分である。
Hereinafter, in the same manner, the seed
画像処理回路101は、入力画像の1個目のブロックに対して、1個目のシード値保持部103から1個目のブロックのシード値を読み出し、疑似乱数発生部102に対して、1個目のブロックのシード値を出力し、疑似乱数生成を指示する。すると、疑似乱数発生部102は、図3のように、1個目のブロックのシード値をシード値301として、シフトレジスタ201に設定し、例えば100万個の疑似乱数を生成し、例えば100万個の疑似乱数を画像処理回路101に出力する。画像処理回路101は、例えば100万個の疑似乱数を用いて、入力画像の1個目のブロックに対して、例えば画像の拡大縮小処理等の画像処理を行い、1個目のブロックの出力画像を生成および保存する。
The
次に、画像処理回路101は、入力画像の2個目のブロックに対して、2個目のシード値保持部103から2個目のブロックのシード値を読み出し、疑似乱数発生部102に対して、2個目のブロックのシード値を出力し、疑似乱数生成を指示する。すると、疑似乱数発生部102は、図3のように、2個目のブロックのシード値をシード値301として、シフトレジスタ201に設定し、例えば100万個の疑似乱数を生成し、例えば100万個の疑似乱数を画像処理回路101に出力する。画像処理回路101は、例えば100万個の疑似乱数を用いて、入力画像の2個目のブロックに対して、例えば画像の拡大縮小処理等の画像処理を行い、2個目のブロックの出力画像を生成および保存する。
Next, the
以下、同様にして、画像処理回路101は、入力画像の3個目から最後までのブロックに対して、それぞれ、疑似乱数を用いて画像処理を行い、3個目から最後までのブロックの出力画像を生成および保存する。そして、画像処理回路101は、すべてのブロックの出力画像を統合し、その統合した出力画像を出力する。
Hereinafter, in the same manner, the
疑似乱数発生部102は、隣接するブロックのシード値の間隔が200万回分であるので、入力画像の各ブロックの疑似乱数列の衝突を防止することができる。画像処理回路101は、例えば、入力画像の各ブロックの画素の挿入位置の重複を防止し、画像パターンの周期的な変化による模様の発生を防止することができる。
Since the pseudo-random
以上のように、シード値設定部104は、1個のシード値保持部103に対して、1個のシード値を設定する。シード値生成部105は、疑似乱数列スキップ部106を用いて、シード値設定部104により設定された1個のシード値を基に、入力画像を分割した複数のブロックのための複数のシード値を生成する。疑似乱数発生部102は、疑似乱数生成部であり、上記の複数のブロックのための複数のシード値を基に、上記の複数のブロックの各々ごとの疑似乱数列を生成する。画像処理回路101は、画像処理部であり、上記の複数のブロックの各々ごとの疑似乱数列を用いて、入力画像を分割した複数のブロックをそれぞれ画像処理する。
As described above, the seed
シード値生成部105は、疑似乱数発生部102が上記の1個のシード値を基に生成する疑似乱数列のうちの所定数ずつスキップした複数の疑似乱数を複数のシード値として生成する。所定数は、画像処理回路101が各ブロックの画像処理に用いる疑似乱数の最大個数よりも多い数である。
The seed
上記の複数のシード値は、上記の1個のシード値を含む。シード値設定部104は、上記の1個のシード値を1個のシード値保持部103に書き込む。シード値生成部105は、上記の複数のシード値のうちの上記の1個のシード値以外のシード値を他のシード値保持部103に書き込む。
The above-mentioned plurality of seed values include the above-mentioned one seed value. The seed
疑似乱数発生部102は、図2のように、シード値を基に排他的論理和演算を行うことにより、疑似乱数を生成する。シード値生成部105は、疑似乱数列スキップ部106を用い、図6のように、上記の複数のシード値のうちの1個のシード値の一部のビットに対して排他的論理和演算を行うことにより、上記の複数のシード値のうちの他のシード値を生成する。
As shown in FIG. 2, the pseudo-random
疑似乱数列スキップ部106は、複数の1ビット算出部601を有する。複数の1ビット算出部601の各々は、ビット演算部であり、上記の複数のシード値のうちの1個のシード値の一部のビットに対して排他的論理和演算を行うことにより、上記の複数のシード値のうちの他のシード値の1ビットを生成する。
The pseudo-random number
なお、疑似乱数列スキップ部106は、上記の複数のシード値のうちの1個のシード値の一部のビットに対して排他的論理和演算を行うことにより、上記の複数のシード値のうちの他のシード値の1ビットを生成する処理を複数回繰り返してもよい。また、疑似乱数列スキップ部106は、上記の複数のシード値のうちの1個のシード値の一部のビットを他のビットに変更することにより、上記の所定数を変更することができる。
The pseudo-random number
このように、本実施形態では、シード値生成部105は、シード値保持部103に保持されるシード値の間隔を調整することができる。各シード値で生成が必要な疑似乱数の最大個数は、各ブロックのサイズ等で推定できるので、その最大個数よりもシード値の間隔を広くしておけば、各ブロックで使用される疑似乱数列が衝突することを防ぐことができる。
As described above, in the present embodiment, the seed
シード値設定部104が最初の1つのシード値を設定すると、シード値生成部105は、疑似乱数列スキップ部106を用いて、疑似乱数列が衝突しない複数のシード値を自動で生成できる。これにより、入力画像を分割した複数のブロックのそれぞれのシード値を外部から設定する必要がなく、各ブロックの画像処理のための疑似乱数の発生を短時間で実施することができる。
When the seed
(第2の実施形態)
第2の実施形態に係る画像処理装置100は、第1実施形態の図1と同じ構成を有するが、疑似乱数発生部102がガロア線形帰還シフトレジスタで構成される。ガロア線形帰還シフトレジスタの場合でも、疑似乱数列スキップ部106は、第1実施形態の図6で示した構成で実現できる。
(Second embodiment)
The
図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
図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
図8を見ると、本実施形態の疑似乱数列スキップ部106の演算は、排他的論理和演算器802のみであることがわかる。すなわち、第1実施形態の図5で検討した結果と同じように、本実施形態の疑似乱数列スキップ部106も、図6の構成で実装することができる。
Looking at FIG. 8, it can be seen that the operation of the pseudo-random number
(第3の実施形態)
第3の実施形態に係る画像処理装置100は、第1の実施形態の図1と同じ構成を有するが、疑似乱数発生部102がXorshiftで構成される。Xorshiftの場合も、疑似乱数列スキップ部106は、第1の実施形態の図6で示した構成で実現できる。
(Third embodiment)
The
図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
ステップ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
図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
疑似乱数値1001は、現在の32ビットの疑似乱数値を表している。疑似乱数発生部102は、図10の回路を使って、現在の疑似乱数値1001を基に次回の疑似乱数値1005を求める。排他的論理和演算器1002は、排他的論理和演算を行う。変数1003は、ステップS901の計算結果の変数yを表している。変数1004は、ステップS902の計算結果の変数yを表している。疑似乱数値1005は、ステップS903の計算結果の変数yを表している。
The
本実施形態に係る疑似乱数列スキップ部106の処理内容は、図10の処理を、図5のように繰り返すことで実現できる。図10を見ると、本実施形態の疑似乱数列スキップ部106の演算は、排他的論理和演算器1002のみであることがわかる。すなわち、第1実施形態と同様に、本実施形態の疑似乱数列スキップ部106も、図6の構成で実装することができる。
The processing content of the pseudo-random number
(その他の実施形態)
本発明は、上述の実施形態の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個のシード値を基に生成する疑似乱数列のうちの所定数ずつスキップした複数の疑似乱数を前記複数のシード値として生成することを特徴とする画像処理装置。 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個のシード値を書き込み、
前記シード値生成手段は、前記複数のシード値のうちの前記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個のシード値を基に生成する疑似乱数列のうちの所定数ずつスキップした複数の疑似乱数を前記複数のシード値として生成することを特徴とする画像処理装置の画像処理方法。 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.
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)
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 |
-
2020
- 2020-12-28 JP JP2020218427A patent/JP7612412B2/en active Active
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 |