Method and device for realizing mask color mouse pointer and storage medium

By XOR calculation of the mask color mouse pointer and the desktop bitmap on the server, the color mouse pointer is generated and sent to the client, the problem of high CPU consumption in remote desktop operations is solved and the user experience is improved.

CN119883477APending Publication Date: 2025-04-25WUHAN OPENKER COMPUTING
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411970707.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In remote desktop operations, the client has limited support for mask color mouse pointers, which leads to the need to be simulated through software, which increases CPU consumption and reduces user experience.

Method used

Exclusive Or calculation is performed on the server, the mask color mouse pointer is processed with the desktop bitmap, the corresponding color mouse pointer is generated, and the client is sent to the client to reduce the computing burden.

Benefits of technology

By performing bitmap calculations on the server, the CPU consumption is reduced every time the mouse moves, and the number of pixels calculated from the mask color mouse pointer is reduced to the number of pixels, improving the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119883477A_ABST
    Figure CN119883477A_ABST
Patent Text Reader

Abstract

The invention discloses a method and device for achieving a mask color mouse pointer and a storage medium, and relates to the field of remote desktops, and the method comprises the steps that when the shape of a mouse is changed or the mouse moves, a server side obtains the mask color mouse pointer and a desktop bitmap; and the server performs XOR calculation on the mask color mouse pointer and the desktop bitmap according to the RGB value and transparency of each pixel of the mask color mouse pointer to obtain a corresponding color mouse pointer, and sends the color mouse pointer to the client. According to the method, the corresponding color mouse pointer is constructed at the server side and sent to the client side according to the mask color mouse pointer and the desktop bitmap obtained by the server side, so that the client side can support the mask color mouse pointer under the condition of not carrying out secondary processing on the mouse bitmap. And meanwhile, CPU consumption of each mouse movement is reduced into calculation of a plurality of pixels of a mask color mouse pointer, so that the user experience is enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of remote desktop, and in particular to a method, device and storage medium for implementing a masked color mouse pointer. Background Art

[0002] At present, during the remote desktop operation, the server usually obtains the desktop bitmap and mouse bitmap through the DXGI (DirectX Graphics Infrastructure) interface and sends them to the client through the network. The client mixes the received mouse bitmap and desktop bitmap with transparency and outputs the mixed bitmap to the display. The type of mouse bitmap obtained by the server may be a color mouse pointer or a mask color mouse pointer. When the client performs transparency mixing, the color mouse pointer can be mixed directly, while the mask color mouse pointer depends on the situation of the client. When the client does not support the mask color mouse pointer, it is necessary to simulate the mask color mouse pointer through software.

[0003] In the prior art, the implementation scheme is usually as follows: when the client receives a command to set the mouse shape, the bitmap of the mask color mouse pointer is saved; when the client receives a mouse movement command, according to the destination coordinates of the mouse movement command, a bitmap of the same size as the mask color mouse pointer is taken out from the desktop bitmap and the bitmap of the mask color mouse pointer is calculated, and the calculation result is covered on the taken-out area on the desktop bitmap. After performing this operation, it is also necessary to take out the desktop bitmap area covered by the previous mouse movement command and the bitmap of the mask color mouse pointer for calculation, and the calculation result is covered on the taken-out area on the desktop bitmap.

[0004] With the existing solution, each time the mouse moves, the client will perform two copies and 2*the number of pixels of the mask color mouse pointer calculations, which consumes a lot of CPU and reduces the user experience. Summary of the invention

[0005] The present application provides a method, device and storage medium for implementing a masked color mouse pointer, which can reduce client CPU consumption and enhance user experience during remote desktop operation.

[0006] In a first aspect, an embodiment of the present application provides a method for implementing a mask color mouse pointer, the method comprising:

[0007] When the mouse shape changes or the mouse moves, the server obtains the mask color mouse pointer and desktop bitmap;

[0008] The server performs an XOR calculation on the mask color mouse pointer and the desktop bitmap according to the RGB value and transparency of each pixel of the mask color mouse pointer, obtains a corresponding color mouse pointer and sends it to the client.

[0009] In combination with the first aspect, in one implementation, the server obtains a desktop bitmap, including:

[0010] The server obtains a desktop bitmap having the same position and size as the mask color mouse pointer.

[0011] In combination with the first aspect, in one implementation, the server obtains a desktop bitmap having the same position and size as the mask color mouse pointer, including:

[0012] The server obtains the complete desktop bitmap;

[0013] The complete desktop bitmap is clipped according to the vertex coordinates of the mask color mouse pointer to obtain a desktop bitmap having the same position and size as the mask color mouse pointer.

[0014] In combination with the first aspect, in one implementation, according to the RGB value and transparency of each pixel of the mask color mouse pointer, performing an XOR calculation on the mask color mouse pointer and the desktop bitmap to obtain a corresponding color mouse pointer includes:

[0015] Constructing a color mouse pointer having the same size as the mask color mouse pointer, and setting the transparency of each pixel of the color mouse pointer to be completely opaque;

[0016] For each pixel of the mask color mouse pointer, determine whether its transparency is completely opaque;

[0017] If so, perform an XOR calculation on the RGB value of the pixel and the RGB value of the pixel at the same position of the desktop bitmap, and store the calculation result in the pixel at the same position of the color mouse pointer; if not, store the RGB value of the pixel in the same position of the color mouse pointer.

[0018] In combination with the first aspect, in one implementation, sending a color mouse pointer to a client includes:

[0019] Construct a set mouse shape command based on the color mouse pointer and mouse position;

[0020] The mouse shape setting instruction is sent to the client.

[0021] In combination with the first aspect, in one implementation, after sending the setting mouse shape instruction to the client, the method further includes:

[0022] The client performs a data integrity check on the instruction for setting the mouse shape;

[0023] If the verification is passed, the mouse pointer on the client is updated according to the setting mouse shape instruction;

[0024] If the verification fails, the server is requested to resend the setting mouse shape instruction.

[0025] In combination with the first aspect, in one implementation, if the verification fails, the method further includes:

[0026] Record the number of times the verification fails;

[0027] When the number of times the verification fails is equal to the preset verification number threshold, the client sends an error prompt to the user and stops requesting the server to resend the setting mouse shape instruction;

[0028] When the error message is cleared, the client requests the server to resend the command to set the mouse shape.

[0029] In a second aspect, an embodiment of the present application provides a device for implementing a mask color mouse pointer based on any of the above methods, characterized in that the device comprises:

[0030] The acquisition module is used for the server to obtain the mask color mouse pointer and desktop bitmap when the mouse shape changes or the mouse moves;

[0031] A calculation module, used for performing an XOR calculation on the mask color mouse pointer and the desktop bitmap according to the RGB value and transparency of each pixel of the mask color mouse pointer to obtain a corresponding color mouse pointer;

[0032] Transmission module, used to send the color mouse pointer to the client.

[0033] In conjunction with the second aspect, in one implementation, the device further includes:

[0034] The verification module is used to perform data integrity verification on the instruction for setting the mouse shape.

[0035] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, characterized in that a program for implementing a masked color mouse pointer is stored on the computer-readable storage medium, wherein when the program for implementing a masked color mouse pointer is executed by a processor, any step of the above-mentioned method for implementing a masked color mouse pointer is implemented.

[0036] The beneficial effects brought by the technical solution provided in the embodiments of the present application include:

[0037] This application constructs a corresponding color mouse pointer on the server side according to the mask color mouse pointer and desktop bitmap obtained by the server side and sends it to the client side, so that the client side can support the mask color mouse pointer without reprocessing the mouse bitmap. At the same time, the CPU consumption of each mouse movement is reduced to the number of pixels of the mask color mouse pointer, which enhances the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 A flowchart of a first embodiment of a method for implementing a mask color mouse pointer in the present application;

[0039] Figure 2 A flowchart of a second embodiment of a method for implementing a mask color mouse pointer in the present application;

[0040] Figure 3 A flowchart of a third embodiment of a method for implementing a mask color mouse pointer in the present application;

[0041] Figure 4 A schematic diagram of the structure of a device for implementing a masked color mouse pointer in the present application. DETAILED DESCRIPTION

[0042] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0043] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0044] First, please refer to Figure 1 , Figure 1 This is a flowchart of a first embodiment of a method for implementing a masked color mouse pointer in the present application. The method for implementing a masked color mouse pointer provided in this embodiment includes the following steps:

[0045] Step S1: When the mouse shape changes or the client's mouse moves, the server obtains the mask color mouse pointer and the desktop bitmap.

[0046] Step S2: The server performs an XOR calculation on the mask color mouse pointer and the desktop bitmap according to the RGB value and transparency of each pixel of the mask color mouse pointer to obtain a corresponding color mouse pointer.

[0047] Step S3: The server sends the above color mouse pointer to the client.

[0048] This method constructs a corresponding color mouse pointer on the server side according to the mask color mouse pointer and desktop bitmap obtained by the server side and sends it to the client side, so that the client side can support the mask color mouse pointer without secondary processing of the mouse bitmap. At the same time, the CPU consumption of each mouse movement is reduced to the number of pixels of the mask color mouse pointer, which enhances the user experience.

[0049] It should be noted that in this embodiment, the masked color mouse pointer is a mouse pointer of the DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR type, which is a 32bpp ARGB format bitmap, and its mask value is in alpha bits. The only allowed mask values ​​are 0 and 0xFF. When the mask value is 0, the RBG value of the mouse pointer should be used to replace the RBG value of the pixel at the corresponding position of the desktop bitmap; when the mask value is 0xFF, the RBG value of the mouse pointer is XORed with the RBG value of the pixel at the corresponding position of the desktop bitmap, and the calculation result is used to replace the RBG value of the pixel at the corresponding position of the desktop bitmap. The color mouse pointer is a mouse pointer of the DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR type, which is a 32bpp ARGB DIB format bitmap.

[0050] In some embodiments, in the above step S1, the server obtains the desktop bitmap, including the following steps:

[0051] The server obtains a desktop bitmap with the same position and size of the mouse pointer as the above mask color.

[0052] In some embodiments, the server obtains a desktop bitmap having the same position and size as the mask color mouse pointer, including the following steps:

[0053] First, the server obtains a complete desktop bitmap, and then crops the complete desktop bitmap according to the vertex coordinates of the mask color mouse pointer to obtain a desktop bitmap with the same position and size as the mask color mouse pointer.

[0054] In some embodiments, in the above step S2, according to the RGB value and transparency of each pixel of the above mask color mouse pointer, the above mask color mouse pointer and the above desktop bitmap are XORed to obtain the corresponding color mouse pointer, including the following steps:

[0055] S21: construct a color mouse pointer having the same size as the mask color mouse pointer, and set the transparency of each pixel of the color mouse pointer to be completely opaque.

[0056] S22: for each pixel of the mask color mouse pointer, determine whether its transparency is completely opaque, if so, proceed to step S23; if not, proceed to step S24.

[0057] S23: performing an XOR calculation on the RGB value of the pixel and the RGB value of the pixel at the same position of the desktop bitmap, and storing the calculation result in the pixel at the same position of the color mouse pointer.

[0058] S24: Store the RGB value of the pixel to the pixel at the same position of the color mouse pointer.

[0059] It should be noted that, through the above method, the bitmap calculation process can be executed by the server rather than the client, and the CPU consumption of each mouse movement is reduced from the original 2*number of pixels of the mask color mouse pointer to the number of pixels of the mask color mouse pointer, thereby enhancing the user experience.

[0060] In one embodiment, please refer to Figure 2 , Figure 2 The flowchart of the second embodiment of the method for implementing the mask color mouse pointer of the present application is as follows. When the mouse shape changes, the mask color mouse pointer and the desktop bitmap are XORed according to the RGB value and transparency of each pixel of the mask color mouse pointer to obtain the corresponding color mouse pointer, including the following steps:

[0061] A01: Construct a color mouse pointer bitmap c of the same size as the mask color mouse pointer bitmap m above, with width w and height h, and the current position of the mouse being (x, y). In the desktop bitmap, the coordinates of the upper left corner are (x, y), and the area of ​​size w*h is d. Set counter i=0.

[0062] A02: Determine whether i is less than w*h. If so, go to step A03; if not, end the process.

[0063] A03: Determine whether the alpha value of m[i] is 0xFF. If so, go to step A04; if not, go to step A05.

[0064] A04: Perform XOR calculation on the RGB value of m[i] and the RGB value of d[i], store the calculation result in the RGB value of c[i], set the alpha value of c[i] to 0xFF, and go to step A06.

[0065] A05: Store the RGB value of m[i] into the RGB value of c[i], set the alpha value of c[i] to 0xFF, and go to step A06.

[0066] A06: i=i+1, return to step A02.

[0067] In one embodiment, please refer to Figure 3 , Figure 3 The flowchart of the third embodiment of the method for implementing the mask color mouse pointer of the present application is as follows. When the mouse of the client moves, the mask color mouse pointer and the desktop bitmap are XORed according to the RGB value and transparency of each pixel of the mask color mouse pointer to obtain the corresponding color mouse pointer, including the following steps:

[0068] B01: Construct a color mouse pointer bitmap nc of the same size as the mask color mouse pointer bitmap m. The width of nc is w, the height is h, and the current position of the mouse is (nx, ny). In the desktop bitmap, the coordinates of the upper left corner are (nx, ny), and the area of ​​size w*h is nd. Set the counter i=0.

[0069] B02: Determine whether i is less than w*h. If so, go to step B03; if not, end the process.

[0070] B03: Determine whether the alpha value of m[i] is 0xFF. If so, go to step B04; if not, go to step B05.

[0071] B04: Perform XOR calculation on the RGB value of m[i] and the RGB value of nd[i], store the calculation result in the RGB value of nc[i], set the alpha value of nc[i] to 0xFF, and go to step B06.

[0072] B05: Store the RGB value of m[i] into the RGB value of nc[i], set the alpha value of nc[i] to 0xFF, and go to step B06.

[0073] B06: i=i+1, return to step B02.

[0074] In some embodiments, in the above step S3, sending the color mouse pointer to the client includes the following steps:

[0075] S31: Construct a set mouse shape instruction according to the color mouse pointer and the mouse position.

[0076] S32: Send the above-mentioned setting mouse shape instruction to the client.

[0077] In some embodiments, after the above step S32 is completed, the method further includes:

[0078] The client performs a data integrity check on the above-mentioned command for setting the mouse shape.

[0079] If the verification passes, the mouse pointer on the client is updated according to the above set mouse shape instructions.

[0080] If the verification fails, the server is requested to resend the above-mentioned command for setting the mouse shape.

[0081] Specifically, the server can calculate and generate a checksum for the set mouse shape instruction, and when the server sends the set mouse shape instruction to the client, the hash value is transmitted to the client. The client recalculates the checksum for the received set mouse shape instruction and compares it with the checksum provided by the server to determine whether the two are consistent. If so, the check passes, otherwise, the check fails.

[0082] Alternatively, a hash algorithm may be used to calculate the set mouse shape instruction on the server side to generate a fixed-length hash value, and when the server side sends the set mouse shape instruction to the client side, the hash value is transmitted to the client side. The client side recalculates the hash value of the received set mouse shape instruction and compares it with the hash value provided by the server side to determine whether the two are consistent. If so, the verification passes, otherwise, the verification fails.

[0083] It should be noted that by verifying the data integrity of the mouse shape setting instruction, it can be ensured that the mouse shape setting instruction is not tampered with or damaged during data transmission, thereby reducing client anomalies or crashes caused by data errors, thereby improving user experience.

[0084] In some embodiments, if the verification fails, the method further includes:

[0085] Records the number of times the verification fails.

[0086] When the number of times the check fails is equal to the preset check number threshold, the client sends an error prompt to the user and stops requesting the server to resend the above setting mouse shape instruction. When the error prompt is cleared, the client requests the server to resend the setting mouse shape instruction.

[0087] Second, please refer to Figure 4 , Figure 4 : is a schematic diagram of a structure of a device for implementing a mask color mouse pointer. The device for implementing a mask color mouse pointer provided in this embodiment includes a collection module, a calculation module and a transmission module, wherein:

[0088] The acquisition module is used for the server to obtain the mask color mouse pointer and desktop bitmap when the mouse shape is set or the mouse moves.

[0089] The calculation module is used to perform XOR calculation on the mask color mouse pointer and the desktop bitmap according to the RGB value and transparency of each pixel of the mask color mouse pointer to obtain a corresponding color mouse pointer.

[0090] The transmission module is used to send the above color mouse pointer to the client.

[0091] The method obtains the mask color mouse pointer and the desktop bitmap through the acquisition module, performs XOR calculation on the mask color mouse pointer and the desktop bitmap according to the RGB value and transparency of each pixel of the mask color mouse pointer through the calculation module, obtains the corresponding color mouse pointer, constructs the corresponding color mouse pointer on the server side through the transmission module and sends it to the client side, so that the client side can support the mask color mouse pointer without performing secondary processing on the mouse bitmap. At the same time, the CPU consumption of each mouse movement is reduced to the number of calculations of the number of pixels of the mask color mouse pointer, thereby enhancing the user experience.

[0092] In some embodiments, the above-mentioned device also includes a verification module for performing data integrity verification on the above-mentioned setting mouse shape instruction.

[0093] In a third aspect, an embodiment of the present application also provides a computer-readable storage medium.

[0094] The computer-readable storage medium of the present application stores a program for implementing a masked color mouse pointer, wherein when the program for implementing a masked color mouse pointer is executed by a processor, the steps of the method for implementing a masked color mouse pointer as described above are implemented.

[0095] Among them, the method implemented when the program for implementing the masked color mouse pointer is executed can refer to the various embodiments of the method for implementing the masked color mouse pointer in this application, and will not be repeated here.

[0096] It should be noted that the serial numbers of the above-mentioned embodiments of the present application are only for description and do not represent the advantages or disadvantages of the embodiments.

[0097] The terms "including" and "having" and any variations thereof in the specification and claims of this application and the above-mentioned drawings are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices. The terms "first", "second" and "third" are used to distinguish different objects, etc., and do not represent a sequence, nor do they limit "first", "second" and "third" to different types.

[0098] In the description of the embodiments of the present application, "exemplary", "for example" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary", "for example" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary", "for example" or "for example" is intended to present related concepts in a specific way.

[0099] In the description of the embodiments of the present application, unless otherwise specified, “ / ” means or, for example, A / B can mean A or B; the “and / or” in the text is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, “multiple” refers to two or more than two.

[0100] In some processes described in the embodiments of the present application, multiple operations or steps that appear in a specific order are included, but it should be understood that these operations or steps may not be executed in the order in which they appear in the embodiments of the present application or in parallel, and the sequence number of the operation is only used to distinguish the different operations, and the sequence number itself does not represent any execution order. In addition, these processes may include more or fewer operations, and these operations or steps may be executed in sequence or in parallel, and these operations or steps may be combined.

[0101] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD) as described above, and includes a number of instructions for a terminal device to execute the methods described in each embodiment of the present application.

[0102] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A method for implementing a mask color mouse pointer, characterized in that: The method comprises: When the mouse shape changes or the mouse moves, the server obtains the mask color mouse pointer and desktop bitmap; The server performs an XOR calculation on the mask color mouse pointer and the desktop bitmap according to the RGB value and transparency of each pixel of the mask color mouse pointer, obtains a corresponding color mouse pointer and sends it to the client.

2. The method for realizing a mask color mouse pointer according to claim 1, characterized in that: The server obtains the desktop bitmap, including: The server obtains a desktop bitmap having the same position and size as the mask color mouse pointer.

3. The method for realizing a mask color mouse pointer according to claim 2, characterized in that: The server obtains a desktop bitmap having the same position and size as the mask color mouse pointer, including: The server obtains the complete desktop bitmap; The complete desktop bitmap is clipped according to the vertex coordinates of the mask color mouse pointer to obtain a desktop bitmap having the same position and size as the mask color mouse pointer.

4. The method for realizing a mask color mouse pointer according to claim 1, characterized in that: According to the RGB value and transparency of each pixel of the mask color mouse pointer, the mask color mouse pointer and the desktop bitmap are XOR-calculated to obtain a corresponding color mouse pointer, including: Constructing a color mouse pointer having the same size as the mask color mouse pointer, and setting the transparency of each pixel of the color mouse pointer to be completely opaque; For each pixel of the mask color mouse pointer, determine whether its transparency is completely opaque; If so, perform an XOR calculation on the RGB value of the pixel and the RGB value of the pixel at the same position of the desktop bitmap, and store the calculation result in the pixel at the same position of the color mouse pointer; if not, store the RGB value of the pixel in the same position of the color mouse pointer.

5. The method for realizing a mask color mouse pointer according to claim 1, characterized in that: Sends a colored mouse cursor to the client, including: Construct a set mouse shape command based on the color mouse pointer and mouse position; The mouse shape setting instruction is sent to the client.

6. The method for realizing a mask color mouse pointer according to claim 5, characterized in that: After sending the instruction to set the mouse shape to the client, the method further includes: The client performs a data integrity check on the instruction for setting the mouse shape; If the verification is passed, the mouse pointer on the client is updated according to the setting mouse shape instruction; If the verification fails, the server is requested to resend the setting mouse shape instruction.

7. The method for realizing a mask color mouse pointer according to claim 6, characterized in that: If the verification fails, it also includes: Record the number of times the verification fails; When the number of times the verification fails is equal to the preset verification number threshold, the client sends an error prompt to the user and stops requesting the server to resend the setting mouse shape instruction; When the error message is cleared, the client requests the server to resend the command to set the mouse shape.

8. A device for realizing a masked color mouse pointer based on the method according to any one of claims 1 to 7, characterized in that: The device comprises: The acquisition module is used for the server to obtain the mask color mouse pointer and desktop bitmap when the mouse shape changes or the mouse moves; A calculation module, used for performing an XOR calculation on the mask color mouse pointer and the desktop bitmap according to the RGB value and transparency of each pixel of the mask color mouse pointer to obtain a corresponding color mouse pointer; Transmission module, used to send the color mouse pointer to the client.

9. The device for implementing a mask color mouse pointer according to claim 8, characterized in that: The device also includes: The verification module is used to perform data integrity verification on the instruction for setting the mouse shape.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a program for implementing a masked color mouse pointer, wherein when the program for implementing a masked color mouse pointer is executed by a processor, the steps of the method for implementing a masked color mouse pointer according to any one of claims 1 to 7 are implemented.