CN108399603B - Method and device for rapidly rotating image - Google Patents
Method and device for rapidly rotating image Download PDFInfo
- Publication number
- CN108399603B CN108399603B CN201710067843.7A CN201710067843A CN108399603B CN 108399603 B CN108399603 B CN 108399603B CN 201710067843 A CN201710067843 A CN 201710067843A CN 108399603 B CN108399603 B CN 108399603B
- Authority
- CN
- China
- Prior art keywords
- image data
- rotation
- polar coordinate
- converting
- adopting
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 239000011159 matrix material Substances 0.000 claims description 33
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/604—Rotation of whole images or parts thereof using coordinate rotation digital computer [CORDIC] devices
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
The invention provides a method and a device for rapidly rotating an image, which greatly improve the rotating efficiency by using multi-core parallel computation of a Graphics Processing Unit (GPU) to replace data Processing of image rotation in a Central Processing Unit (CPU), and increase statistics during operation in the computation process, so that a program can ensure the operating fluency as much as possible on different devices or under different states of the same device, thereby improving the use experience of a client.
Description
Technical Field
The invention relates to the field of computer image processing, in particular to a method and a device for rapidly rotating an image.
Background
With the rapid development of mobile phone software, more and more map-related software is developed. When software related to a map in a mobile phone is manufactured, the map is inevitably rotated, a plurality of rotation algorithms are available, and the complexity and the result of the algorithm are different. If only a complex algorithm is adopted for rotating the map, the device with better performance can be operated completely and smoothly, but the device with poorer performance or the device in a busy state can be blocked when the map is rotated. Therefore, a rotation scheme capable of dealing with image rotation and adaptive device conditions at high speed is needed.
Disclosure of Invention
The invention aims to provide a method and a device for rapidly rotating an image, which can process image rotation at high speed and can adapt to equipment conditions.
The specific scheme is as follows:
a method of fast image rotation, comprising the steps of:
s10, converting the complete image data into a polar coordinate matrix by adopting a bilinear interpolation method, acquiring a user rotation angle, offsetting the polar coordinate, and converting the polar coordinate by adopting the bilinear interpolation method to obtain the complete image data after one rotation;
s20, outputting the rotated complete image data;
s30, counting the time length for executing the step S10, presetting a first threshold, if the time length is less than the preset first threshold, repeatedly executing the steps S10 to S20 until the complete image data finally completes the rotation matched with the rotation angle of the user, and if the time length is more than or equal to the preset first threshold, executing the steps S40 to S50;
s40, converting image data contained in the circumscribed circle range of the screen data into a polar coordinate matrix by adopting a bilinear interpolation method, wherein the image data contained in the circumscribed circle range of the screen data is marked as first image data, the image data except the image data contained in the circumscribed circle range of the screen data is marked as second image data, acquiring a rotation angle of a user and offsetting a polar coordinate, converting the polar coordinate by adopting the bilinear interpolation method to obtain first image data after one rotation, and outputting the first image data; repeating the above process until the first image data finally completes the rotation matched with the rotation angle of the user;
and S50, when the user finishes image rotation, converting the second image data into a polar coordinate matrix by adopting a bilinear interpolation method, acquiring a final rotation angle of the user after the user finishes S40, shifting the polar coordinate, converting the polar coordinate by adopting the bilinear interpolation method to obtain the finally rotated second image data, and combining the finally rotated second image data with the finally rotated first image data to form rotated complete image data for subsequent other calculations.
Further, the step S30 is replaced by a step S30', and further includes steps S60 and S70, where:
s30', counting the time length for executing the step S10, presetting a first threshold and a second threshold, if the time length is less than the preset first threshold, repeatedly executing the steps S10 to S20 until the complete image data finally completes the rotation matched with the rotation angle of the user, if the time length is greater than or equal to the preset first threshold and less than the preset second threshold, executing the steps S40 to S50, and if the time length is greater than or equal to the preset second threshold, executing the steps S60 to S70;
s60, converting the first image data into a polar coordinate matrix by adopting a nearest neighbor interpolation method, acquiring a rotation angle of a user, shifting the polar coordinate, converting the polar coordinate by adopting the nearest neighbor interpolation method to obtain the first image data after rotating once, and outputting the first image data after rotating; repeating the above processes until the first image data finally completes rotation matched with the rotation angle of the user, and in the last repeated process, converting the polar coordinates by adopting a bilinear interpolation method to obtain and output the first image data after the last rotation;
and S70, when the user finishes image rotation, converting the second image data into a polar coordinate matrix by adopting a bilinear interpolation method, acquiring the rotation angle of the user and offsetting the polar coordinate, converting the polar coordinate by adopting the bilinear interpolation method to directly obtain the rotated second image data, combining the finally rotated second image data with the finally rotated first image data to form rotated complete image data for subsequent other calculations.
Further, the method also comprises the following steps: and S00, acquiring complete image data.
An apparatus, comprising:
a processor and a memory;
the memory is used for storing programs;
the processor is used for executing the program in the memory, so that the device executes the method for rapidly rotating the image.
Further, the program includes a first program and a second program,
the processor comprises a central processing unit and a graphic processor,
the central processing unit is configured to execute the first program, so that the apparatus executes step S00 in the method for fast rotating an image;
the graphics processor is used for executing the second program to enable the device to execute the image fast rotation method.
The invention has the beneficial effects that: by using multi-core parallel computation of a Graphics Processing Unit (GPU) to replace data Processing of image rotation in a Central Processing Unit (CPU), rotation efficiency is greatly improved, statistics during operation is added in the computation process, running smoothness of a program can be guaranteed as far as possible on different devices or in different states of the same device, and therefore using experience of a client is improved.
Drawings
FIG. 1 is a flowchart of a method according to an embodiment of the present invention.
Detailed Description
To further illustrate the various embodiments, the invention provides the accompanying drawings. The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the embodiments. Those skilled in the art will appreciate still other possible embodiments and advantages of the present invention with reference to these figures. The invention will now be further described with reference to the drawings and the detailed description.
s10, converting the complete image data into a polar coordinate matrix by adopting a bilinear interpolation method, acquiring a rotation angle of a user and offsetting the polar coordinate, and converting the polar coordinate by adopting the bilinear interpolation method to obtain the complete image data after one rotation;
s20, outputting the rotated complete image data;
s30, counting the time length for executing the step S10, presetting a first threshold value, if the time length is less than the preset first threshold value, repeatedly executing the steps S10 to S20 until the complete image data finally completes the rotation matched with the rotation angle of the user, and if the time length is more than or equal to the preset first threshold value, executing the steps S40 to S50;
s40, converting image data contained in the circumscribed circle range of the screen data into a polar coordinate matrix by adopting a bilinear interpolation method, wherein the image data contained in the circumscribed circle range of the screen data is marked as first image data, the image data except the image data contained in the circumscribed circle range of the screen data is marked as second image data, acquiring a rotation angle of a user and offsetting the polar coordinate, converting the polar coordinate by adopting the bilinear interpolation method to obtain the first image data after one rotation, and outputting the first image data; repeating the above process until the first image data finally completes the rotation matched with the rotation angle of the user;
and S50, when the user finishes image rotation, converting the second image data into a polar coordinate matrix by adopting a bilinear interpolation method, acquiring the rotation angle of the user and offsetting the polar coordinate, converting the polar coordinate by adopting the bilinear interpolation method to directly obtain the rotated second image data, combining the finally rotated second image data with the finally rotated first image data to form rotated complete image data for subsequent other calculations.
Example 2
Embodiment 2 is based on embodiment 1, and changes step S30 to S30' and further includes steps S60 and S70, wherein:
s30', counting a time length for executing the step S10, presetting a first threshold and a second threshold, if the time length is less than the preset first threshold, repeatedly executing the steps S10 to S20 until the complete image data finally completes rotation matched with the user rotation angle, if the time length is greater than or equal to the preset first threshold and less than the preset second threshold, executing the steps S40 to S50, and if the time length is greater than or equal to the preset second threshold, executing the steps S60 to S70;
s60, converting the first image data into a polar coordinate matrix by adopting a nearest neighbor interpolation method, acquiring a rotation angle of a user, shifting the polar coordinate, converting the polar coordinate by adopting the nearest neighbor interpolation method to obtain the first image data after rotating once, and outputting the first image data after rotating; repeating the above processes until the first image data finally completes rotation matched with the rotation angle of the user, and in the last repeated process, converting the polar coordinates by adopting a bilinear interpolation method to obtain and output the first image data after the last rotation;
and S70, when the user finishes image rotation, converting the second image data into a polar coordinate matrix by adopting a bilinear interpolation method, acquiring the rotation angle of the user and offsetting the polar coordinate, converting the polar coordinate by adopting the bilinear interpolation method to directly obtain the rotated second image data, combining the finally rotated second image data with the finally rotated first image data to form rotated complete image data for subsequent other calculations.
The method of embodiment 2 will be described with reference to another embodiment 3 device, in which the example shows the rotation of the map data, it can be known that the image data includes, but is not limited to, the map data, and the device of embodiment 3 includes three units, i.e., a central processing unit, a memory, and a display card. The GPU of the display card is a main unit, the multithreading programming capacity of openCL2.0 or CUDA is at least required to be supported, the main data calculation function is realized in the GPU, the GPU program counts the processing time, and different rotation strategies are adopted according to different processing time. The memory is used for storing a program, and the program is used for acquiring data of the map and completing rotation calculation of the map data. The central processing unit is an auxiliary unit and is mainly used for acquiring data of a map and sending an operation instruction to the GPU. In another example 4 apparatus, including a central processing unit and a memory, the memory stores a program, the program of the memory is executed by the central processing unit to perform the methods of examples 1 and 2
From the aspect of hardware, the multi-core processor of the GPU has natural advantages in parallel computing discrete and unrelated data, and the current GPU general computing technology is relatively mature. When map data are calculated, a GPU processor is used for replacing a CPU processor to carry out data calculation, so that the utilization rate of the CPU can be reduced, and the calculation speed of the data can be improved.
In view of image rotation algorithms, the current image rotation methods are numerous, each rotation method has its own characteristics, and generally, the rotation effect is inversely proportional to the rotation rate. We should use different algorithms for the processing of data for devices with different hardware. It is known that rotation of the image by polar coordinates is a common practice, and polar coordinates are particularly useful for rotation of maps, since rotation of maps is continuously output for display. The rotation of the image in the process of polar coordinate rotation can be completed only by shifting the polar coordinate matrix, and the time complexity of parallel calculation of the shift by the GPU is O (1). Counting the image rotation time in the GPU, setting two time thresholds t1 and t2 (t 1< t 2), when the time is greater than t1 and less than t2, adopting a distributed mode to perform image rotation processing, and when the time exceeds t2, changing an interpolation algorithm during polar coordinate rotation so as to achieve the effect of reducing operation delay. As shown in fig. 1, which is a flow chart of the method of the present invention, the flow is as follows:
1. and opening the program to acquire data in the map.
2. And importing the data in the map into a GPU cache.
3. And converting the map into a polar coordinate matrix by adopting a bilinear interpolation method in the GPU.
4. And acquiring the rotation angle of the user.
5. The polar coordinates are shifted in the GPU, one pixel at a time.
6. And converting the shifted polar coordinate matrix back to a Cartesian coordinate matrix by a bilinear interpolation method to obtain the rotated map information.
7. And outputting the rotated map information, and returning to the step 5 until the rotation is completed.
8. And (4) timing the steps 3-6, intercepting data (marked as A) contained in the circumscribed circle of the screen data to rotate when the specified time t1 is exceeded, and calculating data B except the A after the user stops rotating.
9. If the specified time t2 is exceeded, the fitting algorithm in the rotation process is changed into a nearest neighbor difference method.
9.1, when the user stops rotating, firstly carrying out fitting of a bilinear difference algorithm on the A, and outputting the A to a screen after calculation. And then the data B is calculated by using a bilinear difference algorithm.
In another embodiment, the method is set to only a specific time t1, and does not include steps 9 and 9.1.
The specific implementation process in the GPU is as follows:
there are also a large number of four operations between images in the whole flow, which are very suitable for processing by adopting a parallel method, because all the operations are between image elements. For this part, the method of thread parallel is adopted. The thread number (id) in the GPU is composed of a thread block number (a), a bus thread number (b) in the thread block and a thread number (c) 3 in the thread block. Then there will be id = a × b + c, where id ranges from 0 to the number of bus threads. Setting the number of bus threads as the pixel value of the image, each pixel in the image is allocated with a thread, and as long as each thread executes four arithmetic operations once, the operation on the whole image is finished.
Firstly, copying data from a CPU memory to a GPU video memory.
And secondly, applying for a memory space required by the polar coordinates in the GPU.
And thirdly, starting timing.
And fourthly, defining the number of GPU bus threads as the pixel value of a polar coordinate matrix, distributing each point in the polar coordinate matrix to one thread, and converting the polar coordinate by adopting a bilinear interpolation method.
And fifthly, when the image is shifted, a matrix is newly established, the GPU bus thread number is defined as the pixel value of the new matrix, and each point of the new matrix is allocated to a thread.
And sixthly, selecting different initial positions according to different offsets to assign the corresponding points.
And seventhly, setting synchronization, and calculating from the polar coordinate to the rectangular coordinate system by adopting a bilinear interpolation method.
And step eight, finishing timing.
And ninthly, outputting the image to a CPU for displaying.
The sixth step to the ninth step are repeated until the rotation is completed.
And counting the time t from the third step to the eighth step, and judging the relation between the time t and the threshold values t1 and t 2.
The modification is made starting from the second step when t1< t < t2,
the second step: and intercepting data contained in a circumscribed circle of the screen size in a cache of the GPU, and recording the data as A.
The third step: the GPU bus process number is defined as the pixel value of the polar coordinate matrix corresponding to A, and A is converted into the polar coordinate matrix through a bilinear interpolation method and is marked as A'.
The fourth step: and allocating threads and offsetting A'.
The fifth step: and converting the A' after the deviation into a rectangular coordinate matrix by a bilinear difference method, and outputting the rectangular coordinate matrix to a CPU for display.
And repeating the fourth step and the fifth step until the rotation is completed.
And a sixth step: after the user finishes rotating, the area (marked as B) except the area A is rotated again.
When t > = t2
The second step is that: and intercepting data contained in a circumscribed circle of the screen size in a cache of the GPU, and recording the data as A.
The third step: the GPU bus process number is defined as the pixel value of the polar coordinate matrix corresponding to A, and A is converted into the polar coordinate matrix through the nearest neighbor interpolation method and is marked as A'.
The fourth step: and allocating threads and offsetting A'.
The fifth step: and converting the A' after the deviation into a rectangular coordinate matrix by using a nearest neighbor interpolation method, and outputting the rectangular coordinate matrix to a CPU for displaying.
And repeating the fourth step and the fifth step until the rotation is completed.
And a sixth step: and converting the final A' into a rectangular coordinate matrix by a bilinear interpolation method to obtain a better rotated image, and outputting and displaying the image.
A seventh part: the region other than A (denoted as B) is rotated again.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (5)
1. A method for fast rotation of an image, comprising the steps of:
s10, converting the complete image data into a polar coordinate matrix by adopting a bilinear interpolation method, acquiring a user rotation angle, offsetting the polar coordinate, and converting the polar coordinate by adopting the bilinear interpolation method to obtain the complete image data after one rotation;
s20, outputting the rotated complete image data;
s30, counting the time length for executing the step S10, presetting a first threshold, if the time length is less than the preset first threshold, repeatedly executing the steps S10 to S20 until the complete image data finally completes the rotation matched with the rotation angle of the user, and if the time length is more than or equal to the preset first threshold, executing the steps S40 to S50;
s40, converting image data contained in the circumscribed circle range of the screen data into a polar coordinate matrix by adopting a bilinear interpolation method, wherein the image data contained in the circumscribed circle range of the screen data is marked as first image data, the image data except the image data contained in the circumscribed circle range of the screen data is marked as second image data, acquiring a rotation angle of a user and offsetting the polar coordinate, converting the polar coordinate by adopting the bilinear interpolation method to obtain the first image data after one rotation, and outputting the first image data; repeating the above process until the first image data finally completes the rotation matched with the rotation angle of the user;
and S50, when the user finishes image rotation, converting the second image data into a polar coordinate matrix by adopting a bilinear interpolation method, acquiring a final rotation angle of the user after S40 is finished, shifting the polar coordinate, converting the polar coordinate by adopting the bilinear interpolation method to obtain the finally rotated second image data, and combining the finally rotated second image data with the finally rotated first image data to form rotated complete image data for subsequent other calculations.
2. The method for rapidly rotating an image according to claim 1, wherein the step S30 is replaced with a step S30', and further comprising steps S60 and S70, wherein:
s30', counting a time length for executing the step S10, presetting a first threshold and a second threshold, if the time length is less than the preset first threshold, repeatedly executing the steps S10 to S20 until the complete image data finally completes rotation matched with the user rotation angle, if the time length is greater than or equal to the preset first threshold and less than the preset second threshold, executing the steps S40 to S50, and if the time length is greater than or equal to the preset second threshold, executing the steps S60 to S70;
s60, converting the first image data into a polar coordinate matrix by adopting a nearest neighbor interpolation method, acquiring a rotation angle of a user, shifting the polar coordinate, converting the polar coordinate by adopting the nearest neighbor interpolation method to obtain the first image data after rotating once, and outputting the first image data after rotating; repeating the above processes until the first image data finally completes rotation matched with the rotation angle of the user, and in the last repeated process, converting the polar coordinates by adopting a bilinear interpolation method to obtain and output the first image data after the last rotation;
and S70, when the user finishes image rotation, converting the second image data into a polar coordinate matrix by adopting a bilinear interpolation method, acquiring the rotation angle of the user and offsetting the polar coordinate, converting the polar coordinate by adopting the bilinear interpolation method to directly obtain the rotated second image data, combining the finally rotated second image data with the finally rotated first image data to form rotated complete image data for subsequent other calculations.
3. The method for image fast rotation according to claim 1 or 2, further comprising: and step S00, acquiring complete image data.
4. An apparatus, comprising:
a processor and a memory;
the memory is used for storing programs;
the processor is configured to execute the program in the memory to cause the apparatus to perform the method of image fast rotation according to any one of the preceding claims 1 to 3.
5. An apparatus as claimed in claim 4, wherein the programs include a first program and a second program, the processor includes a central processing unit and a graphics processing unit,
the central processing unit is configured to execute the first program, so that the apparatus performs step S00 in the method for fast rotating an image according to claim 3;
the graphics processor is configured to execute the second program, so that the apparatus performs the method of image fast rotation according to claim 1 or 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710067843.7A CN108399603B (en) | 2017-02-07 | 2017-02-07 | Method and device for rapidly rotating image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710067843.7A CN108399603B (en) | 2017-02-07 | 2017-02-07 | Method and device for rapidly rotating image |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108399603A CN108399603A (en) | 2018-08-14 |
CN108399603B true CN108399603B (en) | 2022-12-06 |
Family
ID=63093668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710067843.7A Active CN108399603B (en) | 2017-02-07 | 2017-02-07 | Method and device for rapidly rotating image |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108399603B (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1759812A (en) * | 2004-05-27 | 2006-04-19 | 阿洛卡株式会社 | Ultrasonic diagnostic equipment and image processing method |
CN103295019A (en) * | 2013-05-21 | 2013-09-11 | 西安理工大学 | Self-adaptive Chinese fragment restoration method based on probability statistics |
CN105450908A (en) * | 2015-12-02 | 2016-03-30 | 厦门雅迅网络股份有限公司 | Method and device for removing black edge from video image |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6417797B2 (en) * | 2014-09-03 | 2018-11-07 | 株式会社リコー | Information terminal device, information processing method, system, and program |
-
2017
- 2017-02-07 CN CN201710067843.7A patent/CN108399603B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1759812A (en) * | 2004-05-27 | 2006-04-19 | 阿洛卡株式会社 | Ultrasonic diagnostic equipment and image processing method |
CN103295019A (en) * | 2013-05-21 | 2013-09-11 | 西安理工大学 | Self-adaptive Chinese fragment restoration method based on probability statistics |
CN105450908A (en) * | 2015-12-02 | 2016-03-30 | 厦门雅迅网络股份有限公司 | Method and device for removing black edge from video image |
Also Published As
Publication number | Publication date |
---|---|
CN108399603A (en) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885876B2 (en) | Method and device for adjusting brightness, display device and storage medium | |
JP5020393B2 (en) | Processing equipment | |
US8933943B2 (en) | Technique for performing load balancing for parallel rendering | |
US20220083857A1 (en) | Convolutional neural network operation method and device | |
CN103167218A (en) | Super-resolution reconstruction method and equipment based on non-locality | |
JPH0863355A (en) | Program controller and program control method | |
CN112473126B (en) | Scene blanking processing method, device, electronic equipment and medium | |
US10929965B2 (en) | Histogram statistics circuit and multimedia processing system | |
CN111985597B (en) | Model compression method and device | |
CN109993822B (en) | Ink and wash style rendering method and device | |
CN103003839A (en) | Split storage of anti-aliased samples | |
CN105023234A (en) | Figure acceleration method based on storage optimization of embedded system | |
CN108509241B (en) | Full-screen display method and device for image and mobile terminal | |
CN115375815A (en) | Shadow rendering method and device, electronic equipment and storage medium | |
CN108986034B (en) | Raster data coordinate conversion method, system, terminal equipment and storage medium | |
CN108399603B (en) | Method and device for rapidly rotating image | |
CN116523729B (en) | Graphics processing device, graphics rendering pipeline distribution method and related devices | |
US10713753B2 (en) | Data processing systems | |
WO2023131252A1 (en) | Data flow architecture-based image size adjustment structure, adjustment method, and image resizing method and apparatus | |
JP2010500634A (en) | Method for coding a digital mockup of an object in the form of a composite image and a system for display on a screen | |
US9519948B2 (en) | Data processing apparatus, data processing method, and non-transitory computer readable medium | |
CN107977923B (en) | Image processing method, image processing device, electronic equipment and computer readable storage medium | |
US9230305B2 (en) | Summed area computation using ripmap of partial sums | |
CN110428453B (en) | Data processing method, data processing device, data processing equipment and storage medium | |
US11455145B2 (en) | Applications of and techniques for quickly computing a modulo operation by a Mersenne or a Fermat number |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 303-e, Zone C, innovation building, software park, torch hi tech Zone, Xiamen City, Fujian Province Patentee after: Xiamen Yaxun Zhilian Technology Co.,Ltd. Country or region after: China Address before: 303-e, Zone C, innovation building, software park, torch hi tech Zone, Xiamen City, Fujian Province Patentee before: XIAMEN YAXON NETWORK Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |