Printed matter and merchandise

CN224668273UActive Publication Date: 2026-08-21TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202521408045.2
Authority / Receiving Office
CN · China
Patent Type
Utility models(China)
Current Assignee / Owner
Filing Date
2025-07-04
Publication Date
2026-08-21
Estimated Expiration
2035-07-04

AI Technical Summary

Technical Problem

[0004]但是对于人类来讲,传统二维码所提供的视觉信息基本为零,无法向人类提供有效的视觉信息

Benefits of technology

通过多个码元组呈螺旋状排列,使得二维码中的多个码元组能够在视觉上模拟出机械相机镜头中的光圈叶片螺旋结构。除了能供机器本身来识别二维码中携带的信息之外,还能向用户在视觉上传递相关的视觉信息。比如,将该二维码应用在短视频平台领域时,能够有效传递短视频平台代表拍摄记录生活的理念。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN224668273U_ABST
    Figure CN224668273U_ABST
Patent Text Reader

Abstract

The application discloses a printed matter and a commodity. The printed matter and the commodity are provided with a two-dimensional code on a surface, the two-dimensional code comprises a positioning area and a coding area, the coding area comprises a plurality of code element groups, and the plurality of code element groups are arranged in a spiral shape. The application arranges the plurality of code element groups in a spiral shape, so that the plurality of code element groups in the two-dimensional code can visually simulate the aperture blade spiral structure in a mechanical camera lens. In addition to the information carried in the two-dimensional code being recognized by the machine itself, the relevant visual information can also be visually delivered to the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of printing, and more particularly to a printed matter and a commodity. Background Technology

[0002] QR codes serve as a bridge connecting offline and online applications and are currently widely used in various programs and systems.

[0003] QR codes are codes used for machine recognition. Therefore, the code elements in traditional QR codes are arranged in straight lines or a two-dimensional matrix to facilitate machine recognition.

[0004] However, for humans, traditional QR codes provide virtually no visual information and cannot offer effective visual information. Utility Model Content

[0005] This application provides a printed material and a commodity, the technical solution of which is as follows.

[0006] According to one aspect of this application, a printed matter is provided, the surface of which is printed with a QR code, the QR code comprising: The system includes a positioning area and an encoding area, wherein the encoding area comprises multiple code elements arranged in a spiral pattern.

[0007] According to another aspect of this application, a product is provided, the surface of which is formed with a QR code, the QR code comprising: The system includes a positioning area and an encoding area, wherein the encoding area comprises multiple code elements arranged in a spiral pattern.

[0008] The beneficial effects of the technical solutions provided in this application include at least the following: By arranging multiple code elements in a spiral pattern, the code elements in a QR code can visually simulate the spiral structure of the aperture blades in a mechanical camera lens. Besides allowing machines to recognize the information carried in the QR code, it can also convey relevant visual information to the user. For example, when applied to short video platforms, this QR code can effectively convey the platform's mission of recording and documenting life. Attached Figure Description

[0009] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0010] Figure 1 This is a schematic diagram of the appearance of a traditional QR code; Figure 2 This is a schematic diagram of the traditional QR code format; Figure 3 This is an architecture diagram of a computer system provided in one embodiment of this application; Figure 4 This is a schematic diagram of the appearance of a QR code provided in one embodiment of this application; Figure 5 This is a schematic diagram of the format of a QR code provided in one embodiment of this application; Figure 6 This is a flowchart of a QR code recognition method provided in one embodiment of this application; Figure 7 This is a flowchart of a QR code recognition method provided in one embodiment of this application; Figure 8 This is a flowchart of a QR code generation method provided in one embodiment of this application; Figure 9 This is a flowchart of a QR code generation method provided in one embodiment of this application; Figure 10 This is a structural block diagram of a QR code recognition device provided in one embodiment of this application; Figure 11 This is a structural block diagram of a QR code generation device provided in one embodiment of this application; Figure 12 This is a structural block diagram of a computer device provided in one embodiment of this application. Detailed Implementation

[0011] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0012] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0013] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

[0014] It should be understood that although the terms first, second, etc., may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, a first parameter may also be referred to as a second parameter, and similarly, a second parameter may also be referred to as a first parameter. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."

[0015] It should be noted that this application may display prompt interfaces, pop-ups, or output voice prompts before and during the collection of user data. These prompt interfaces, pop-ups, or voice prompts are used to inform the user that their data is being collected. This ensures that the application only begins the steps for collecting user data after receiving confirmation from the user regarding the prompt interface or pop-up; otherwise (i.e., without user confirmation), the steps for collecting user data end, meaning no user data is collected. In other words, all user data collected in this application is collected with the user's consent and authorization, and the collection, use, and processing of related user data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.

[0016] To make it easier to understand, we will first introduce traditional QR codes, such as Quick Response (QR) codes.

[0017] Traditional QR codes are typically placed within a two-dimensional rectangular area and are composed of many small basic units. These small basic units are called QR code elements. A QR code element is the basic unit that forms a QR code, and QR codes are generally composed of many elements pieced together (or clustered).

[0018] The common shape of the code element is a square, and it is colored in black and white. However, it should be noted that the embodiments of this application are not limited to this. For example, the shape of the code element can be a square, a circle, a rounded square, or a combination of the above shapes. The color of the code element can be, for example, a combination of black and white, where black represents binary 1 and white represents binary 0. Alternatively, the color of the code element can be a combination of red and white, where red represents binary 1 and white represents binary 0. Of course, QR codes can also use other color combinations, as long as the color combination can be recognized and distinguished by a machine.

[0019] Traditional two-dimensional codes contain multiple versions, and the number of code elements corresponding to different versions of two-dimensional codes is different. Therefore, the information capacity of different versions of two-dimensional codes is also different. For example, a two-dimensional code of version 1 contains 21×21 code elements, a two-dimensional code of version 2 contains 25×25 code elements, and so on. A two-dimensional code of version 40 contains 177×177 code elements. The higher the version, the more code elements the two-dimensional code contains, and the more information the two-dimensional code can accommodate accordingly.

[0020] See Figure 1 , traditional two-dimensional codes include positioning graphics (or position detection patterns, position detection pattern). The positioning graphics can be used to determine the orientation of the two-dimensional code. Traditional two-dimensional codes generally include 3 positioning graphics, which are distributed in the upper left corner, upper right corner and lower left corner of the two-dimensional code respectively. The positioning graphics are generally graphics with a fixed ratio (as Figure 1 shown, the positioning graphic is a black-and-white "hui" shaped graphic, and the ratio of black and white code elements is 1:1:3:1:1). During the process of scanning the two-dimensional code, the positioning graphics of the two-dimensional code are generally searched based on this fixed ratio first, so as to determine the orientation of the two-dimensional code.

[0021] Furthermore, the two-dimensional code can also include one or more calibration graphics (alignment pattern), and the calibration graphics can also be called auxiliary positioning graphics. It should be noted that not all versions of two-dimensional codes need to set calibration graphics. Generally, two-dimensional codes above version 2 will set calibration graphics. The calibration graphics are mainly used to determine whether the two-dimensional code is folded or distorted, and to correct the two-dimensional code in the case where the two-dimensional code is folded or distorted.

[0022] Furthermore, traditional two-dimensional codes include an encoding region (encoding region), and the encoding region is mainly used to store the specification information and codewords of the two-dimensional code. The specification information can include at least one of format information and version information as Figure 1 shown. The types of specification information mainly depend on the version of the two-dimensional code, and different versions of two-dimensional codes can be configured with different types of specification information. Taking the specification information including format information and version information as an example, the format information and version information are generally stored in a rectangular region as Figure 1 shown. The version information of the two-dimensional code can be used to indicate the size of the two-dimensional code (or the number of code elements of the two-dimensional code). The format information of the two-dimensional code is generally used to store some formatted data, such as the error correction level and mask information of the two-dimensional code. The error correction level of the two-dimensional code generally includes L, M, Q, H. The reason why traditional two-dimensional codes can insert images in the rectangular region of the two-dimensional code is precisely by using the error correction function of the two-dimensional code. Table 1 gives the proportion of error codewords that can be corrected by two-dimensional codes with different error correction levels.

[0023] Table 1

[0024] See also Figure 1 Code elements are primarily used to record or store codewords. A codeword is a bit sequence obtained by encoding the original data. Codewords can include data codes and error correction codes. Common encoding methods for QR codes include numeric encoding and character encoding. Error correction codes are generally calculated based on the selected error correction level using algorithms such as Reed-Solomon error correction.

[0025] After determining the version information, format information, and code characters of the QR code, the code elements in the encoding area can be filled with color according to preset rules. Figure 2 This describes an example of the padding paths for code elements used to record codewords in the encoded region. See also... Figure 2 After obtaining the codewords, the code elements in the encoding area can be filled with color using a preset filling path. If code elements in non-encoding areas such as correction patterns are encountered along the way, they can be bypassed or skipped. Furthermore, a preset mask pattern can be used to mask the filled QR code graphic, making the color distribution of the final QR code graphic more uniform.

[0026] Because QR codes are graphic codes designed for machine recognition, they cannot convey much more information to the human eye. Therefore, traditional QR codes can insert images (such as user portraits or logos) into their encoding area. These images can obscure part of the code elements, necessitating the use of the QR code's error correction function to correct the obscured elements.

[0027] Figure 3 An architectural diagram of a computer system 100 provided in an exemplary embodiment of this application is shown. The computer system 100 includes: a first terminal 120, a server 140, and a second terminal 160.

[0028] The first terminal 120 has a first social / short video client installed and running, which supports social interaction and / or short video sharing. A first account is logged into the first social / short video client. The first social / short video client can at least be used to interact with one or more other accounts. Taking the first user logging into the first account as an example, it can be understood that the first social / short video client is a platform used by multiple accounts, including the first account, to share social information, such as social information and short video information between multiple accounts. The first terminal 120 is the terminal used by the first user. The first user can use the first social / short video client installed and running on the first terminal 120 to achieve at least one of the following functions with other users logged into different accounts: social interaction, short video publishing, short video sharing, and short video viewing.

[0029] The second terminal 160 has a second social / short video client installed and running, which supports social interaction. A second account is logged into this second social / short video client. This second social / short video client can be used to interact with one or more other accounts. Taking the second user logging into the second account as an example, it can be understood that the second social / short video client is a platform used by multiple accounts, including the second account, to share social information, such as social information between multiple accounts. The second terminal 160 is the terminal used by the second user, who can interact with other users logged into different accounts through the second social / short video client installed and running on the second terminal 160.

[0030] It should be understood that the first social / short video client and the second social / short video client can be specific manifestations of the same platform on different terminals, and social interaction can be the instant sharing or forwarding of text information, image information, and short videos, and this application does not limit them.

[0031] The first terminal 120 and the second terminal 160 are connected to the server 140 via a wireless network or a wired network.

[0032] Server 140 includes at least one of a single server, multiple servers, a cloud computing platform, and a virtualization center. For example, server 140 includes a processor 144 and a memory 142. Memory 142 further includes a receiving module 1421, a processing module 1422, and a sending module 1423. The receiving module 1421 is used to receive messages sent by social media / short video clients; the processing module 1422 is used to perform relevant processing based on the messages; and the sending module 1423 is used to send responses to social media / short video clients. Server 140 is used to provide background services to support social media / short video clients. Optionally, server 140 undertakes the main computing work, and the first terminal 120 and the second terminal 160 undertake secondary computing work; or, server 140 undertakes secondary computing work, and the first terminal 120 and the second terminal 160 undertake the main computing work; or, server 140, the first terminal 120, and the second terminal 160 undertake computing work collaboratively.

[0033] Optionally, the first social / short video client and the second social / short video client mentioned above are the same social / short video client or different social / short video clients on different operating system platforms (Android or iOS). Optionally, the device types of the first terminal 120 and the second terminal 160 are the same or different, and the device types include at least one of the following: smartphones, smartwatches, in-vehicle terminals, wearable devices, smart TVs, tablets, e-book readers, MP3 players, MP4 players, laptops, and desktop computers. The following embodiments use smartphones as an example.

[0034] Optionally, the first terminal 120 and / or the second terminal 160 are terminals that support the construction of social groups, such as enabling the construction of social groups desired by users on social interaction platforms, and allowing group members to be adjusted according to user needs.

[0035] Those skilled in the art will understand that the number of terminals described above can be more or less. For example, there may be only one terminal, or there may be dozens or hundreds of terminals, or even more. This application does not limit the number of terminals or the type of device.

[0036] This application provides a novel QR code that, in addition to being machine-readable, can visually convey additional information to users. For example, when applied to short video platforms, this QR code can effectively convey the platform's mission of recording and documenting life.

[0037] Figure 4 The diagram shows a front view of a QR code 20 provided in an exemplary embodiment of this application. The QR code 20 includes a positioning area 22, an encoding area 24, and an image area 26.

[0038] The positioning area 22 includes three main positioning graphics and one auxiliary positioning graphic. The entire QR code 20 is square, with the three main positioning graphics located at the top left, top right, and bottom left corners of the square, and the auxiliary positioning graphic located at the bottom right corner. The three main positioning graphics are circular in shape, each consisting of a ring and an origin point at the center of the ring; the auxiliary positioning graphic is also circular, and a brand logo can be placed inside it.

[0039] The encoding area 24 includes m code elements, which are arranged in a spiral shape. Each code element in the m code elements is arranged according to a spiral trajectory. Figure 2 The example uses m=27, but it can be any other integer, such as any integer greater than 3. Each code group includes several code elements, each of which is a basic unit carrying information and includes one or more pixels. For illustration, a black (or dark) code element represents a bit value of 1, and a white (or light) code element represents a bit value of 0.

[0040] The avatar area 26 is located in the center of the QR code 20, and the avatar area 26 does not overlap with the m code elements. The 27 code elements are evenly distributed around the avatar area 26 as the center. The avatar area 26 is an optional area. In some embodiments, the avatar area 26 may also be located below, above, to the left, or to the right of the QR code 20. Taking the avatar area 26 being located below the QR code 20 as an example, there are no code elements below the avatar area 26, only above and to the left and right; this embodiment does not limit this.

[0041] In summary, the QR code provided in this embodiment, with multiple code elements arranged in a spiral, visually simulates the spiral structure of aperture blades in a mechanical camera lens. Besides enabling machines to recognize the information carried in the QR code, it also conveys relevant visual information to the user. For example, when applied to short video platforms, this QR code can effectively convey the platform's concept of recording and documenting life.

[0042] Figure 5 The diagram shows a front view of a QR code 30 provided in an exemplary embodiment of this application. The QR code 30 includes a positioning area and an encoding area 24.

[0043] The positioning area includes n main positioning patterns 22a. Each of the n main positioning patterns 22a includes a ring and a dot located within the ring. This main positioning pattern 22a may also be called a positioning point, main positioning point, main positioning code point, positioning pattern, position detection pattern, or other possible names. This main positioning pattern functions similarly to the Position Detection Pattern (PDP) in a traditional QR code. n is a positive integer greater than or equal to 3.

[0044] In some embodiments, in each main positioning pattern 22a, the ratio of the width of the ring, the distance between the inner side of the ring and the dot, the diameter of the dot, the distance between the dot and the inner side of the ring, and the width of the ring is 1:1.2:1:1.2:1. However, it is not excluded that in other embodiments or other versions, this ratio may be other ratios, such as 1:1:1:1:1, or 1:1:3:1:1, etc.

[0045] The positioning area also includes an auxiliary positioning pattern 22b. This auxiliary positioning pattern 22b is circular or square. The auxiliary positioning pattern 22b functions similarly to the alignment pattern (AP) in a traditional QR code. Optionally, this auxiliary positioning pattern 22b is used to set preset image content or custom image content. For example, the auxiliary positioning pattern 22b may contain image information related to the business type or user avatar. Figure 5 The auxiliary positioning graphic includes the platform logo of the short video platform.

[0046] In some embodiments, the positioning area includes three main positioning graphics 22a and one auxiliary positioning graphic 22b. The QR code occupies a square area (the border of this area is not shown in the figure), and the three main positioning graphics 22a and one auxiliary positioning graphic 22b are located at the four corners of the square area. The edges of the square area may be explicitly shown or implicitly shown. In some embodiments, the outer ring of the main positioning graphic 22a located at the upper left corner connects to the inner top and left sides of the square area; the outer ring of the main positioning graphic 22a located at the upper right corner connects to the inner top and right sides of the square area; the outer ring of the main positioning graphic 22a located at the lower left corner connects to the inner bottom and left sides of the square area; and the outer circle of the auxiliary positioning graphic 22b located at the lower right corner connects to the inner bottom and left sides of the square area.

[0047] In some embodiments, the diameter of the dots within the main positioning pattern 22a is 1 basic unit. The distance between the centers of two main positioning patterns 22a located on the same side of the square region is 44 basic units, and the width or diameter of the auxiliary positioning pattern 22b is 10 basic units.

[0048] The encoding area 24 includes multiple code groups 24a, which are arranged in a spiral shape. Each code group 24a follows a spiral trajectory. In this embodiment, 27 code groups 24a are used as an example, but it can be any other integer, such as any integer greater than 3. Each code group 24a includes several code elements (6-13 in total), each code element is a basic unit carrying information, and each code element includes one or more pixels. Illustratively, a black (or dark) code element represents a bit value of 1, and a white (or light) code element represents a bit value of 0; or, a black (or dark) code element represents a bit value of 0, and a white (or light) code element represents a bit value of 1. Individual code elements are circular, and several consecutive black code elements form a spiral. In different embodiments, individual code elements may also be square, trapezoidal, or other possible shapes. In some embodiments, if the number of symbols in each symbol group 24a is the same, the entire QR code is circular. This application embodiment uses a square QR code as an example.

[0049] The spiral can be a traditional spiral, but it can also be other spirals, such as a wavy line that is spiral in shape, or other curves that are spiral in shape. This application does not limit the specific spirals.

[0050] In some embodiments, the QR code 30 further includes an image region 26, which is located in the central region of a plurality of code groups and does not overlap with the code groups. Optionally, the plurality of code groups are evenly distributed around the image region 26. The image region 26 is used to set preset image content or custom image content. For example, the image region 26 is used to set image information related to the business type or user avatar. Figure 2 In the image area 26, a custom user avatar is set. In different embodiments, the image area 26 is an optional area, which can be set as a blank area or occupied by multiple code groups. For example, multiple code groups can rotate directly around the center of the QR code 30. This embodiment does not limit this.

[0051] In some embodiments, the encoding area is divided into 162 ray regions around the image region 26, and the distance between the starting code elements of two adjacent code elements 24a in the plurality of code element groups 24a is 6 ray regions. That is, a blank area is left between two adjacent code element groups 24a. The distance between two adjacent code elements in each code element group 24a is 1 ray region. The starting code element is the code element in each code element group 24a that is closest to the image region 26, and the other code elements in each code element group 24a gradually spiral outward from the starting code element. Optionally, the distance between the starting code element and the image region 26 is 1.5 basic units. In different embodiments, users can set some other graphics or text in the blank area and / or the outer area as needed to increase the amount of information that the QR code can provide to the user.

[0052] In some embodiments, the symbols of the multiple symbol groups 24a can be divided into three types of symbols: fixed symbols, first-type symbols, and second-type symbols. Fixed symbols are... Figure 5 The white-filled code element in the first type is: Figure 5 The dot-matrix filling code or gray filling code, the second type code is Figure 5 The black padding code element in the text.

[0053] There are multiple fixed symbols, which are used to ensure that the multiple symbol groups appear to be arranged in a spiral shape visually. This can also be understood as follows: regardless of whether the values ​​(or pixel values) of the first type of symbol and the second type of symbol are 0 or 1, the fixed symbols are used to visually ensure that the multiple symbol groups 24a present a spiral arrangement. The fixed symbols include not only symbols located in the edge areas, but also symbols located in the middle areas of all or some of the symbol groups.

[0054] The first type of code element is used to carry metadata, and the second type of code element is used to carry data information. The metadata of the QR code includes at least one of the following: version number, error correction level, and mask type identifier. The version number specifies at least one of the QR code's encoding rules and size; the error correction level indicates the error correction level and algorithm used by the QR code, such as the Reed-Solomon error correction algorithm; and the mask type identifier indicates the mask pattern or mask algorithm used by the QR code. After the QR code graphic is filled, one of several preset mask patterns or mask algorithms (usually the optimal one) is used to mask the mask pattern to make the color distribution of the final QR code graphic more uniform.

[0055] The first type of code elements includes several code elements located in the inner circle of multiple code element groups 24a. For example, the first type of code elements includes the next code element (from the inside out) in nine code element groups 24a, for a total of nine. These nine code element groups 24a are evenly distributed among the 27 code element groups, meaning that one code element group containing a first type of code element appears in every three code element groups out of the 27 code element groups. All remaining code elements besides the fixed code elements and the first type of code elements are second type code elements.

[0056] The second type of code in the above scheme consists of 248 elements. L, M, Q, and H represent the four error correction levels of the QR code. A higher error correction level allows for better recovery of the original data when the QR code is partially damaged or obscured. However, this reduces the capacity available for storing valid user data, as more space is needed to store redundant error correction codes. L (Low) represents low error correction level 1, which allows the most characters to be encoded with the same number of bits. M (Medium) represents medium error correction level. Q (Quality / Quartile) represents higher error correction level. H (High) represents the highest error correction level. Under the four error correction levels, the character encoding capacity (L, M, Q, H) = (24, 21, 18, 13), meaning a maximum of 24 characters can be encoded at the low error correction level, 21 characters at the medium error correction level, 18 characters at the higher error correction level, and 13 characters at the highest error correction level.

[0057] This application does not impose a specific limitation on the size of the QR code. Multiple QR code versions can be set according to actual needs, with different versions corresponding to different QR code sizes.

[0058] This application also provides a printed material on which the QR code described above is printed.

[0059] For example, you can first create an electronic version of the QR code on a terminal (such as a mobile phone or computer), and then print out the QR code to be printed to form a printed product.

[0060] This application does not specifically limit the material of the printed material or the printing technology. For example, the material of the printed material can be one or more of paper, plastic, and metal. The printed material can be printed using one or more printing technologies such as mimeographing, letterpress printing, and offset printing.

[0061] This application does not specifically limit the type of printed material, such as tickets, identification documents and certificates, books, magazines, instruction manuals, etc.

[0062] This application also provides a product with a QR code as described above on its surface. The processes for creating a QR code on the surface of a product include, but are not limited to, any one of the following: inkjet printing, offset printing, flexographic printing, screen printing, laser marking, laser engraving, mold forming, and labeling. The type of product is also not limited; it can be a souvenir, machine, equipment, toy, water cup, etc.

[0063] QR code recognition process Figure 6 A flowchart of a QR code recognition method provided in an exemplary embodiment of this application is shown. This embodiment illustrates the method by way of execution by a QR code recognition device, which can be a client or terminal device. The method includes: Step 620: Obtain the image of the QR code; QR code recognition devices capture images of QR codes using image acquisition devices, such as cameras or contact image sensors, by taking photos or videos. In some embodiments, if the QR code to be recognized is located outside the QR code recognition device, it can be acquired by taking a photo with a camera. For example, when the QR code is printed on printed material, the printed material can be photographed with a camera to acquire the QR code; similarly, when the QR code is located on the display interface of another terminal, the display interface of the other terminal can be photographed (or scanned) with a camera to acquire the QR code.

[0064] Optionally, in other embodiments, if the QR code to be recognized is located on the display interface of the QR code recognition device itself, the QR code can be obtained by taking a screenshot, downloading, or other methods. For example, when the image of the QR code appears on the webpage currently being visited by the terminal, the QR code can be obtained by downloading the image; or, if the QR code appears in the article currently being read by the QR code recognition device, or in a chat session established between the QR code recognition device and other terminals, the QR code can be obtained by taking a screenshot.

[0065] The structural features of the QR code are as shown above. Figure 4 or Figure 5 The embodiments described herein will not be repeated here.

[0066] Step 640: Correct the QR code in the image based on the positioning area to obtain the corrected QR code; During the shooting process, QR codes in images may be misaligned, distorted, or deformed. QR code correction based on positioning areas can correct incorrect orientation and position. That is, the correction process is achieved through geometric perspective transformation, converting the QR code in the image to the correct orientation and standard shape. For example, it can correct a distorted QR code into a square one.

[0067] Step 660: In the corrected QR code, identify the data information carried by the QR code based on multiple code elements.

[0068] Given the corrected QR code and the preset encoding area template (including the mapping relationship between each code element and its corresponding pixel), the QR code recognition device will determine the value of each code element in the encoding area. For example, each code element may be 1 or 0.

[0069] Based on the value of each code element in the encoding area, the data information carried by the QR code can be identified.

[0070] In summary, the method provided in this embodiment, by arranging multiple code groups in a spiral, allows the code groups in the QR code to visually simulate the spiral structure of the aperture blades in a mechanical camera lens. Besides enabling the machine to recognize the information carried in the QR code, it can also visually convey relevant visual information to the user. For example, when this QR code is applied to short video platforms, it can effectively convey the concept that short video platforms represent the recording and capturing of life.

[0071] QR code calibration process QR code calibration aims to correct any tilting, distortion, or deformation that may occur during image acquisition, restoring the QR code to a standard form so that the data information it carries can be accurately identified.

[0072] In some embodiments, such as Figure 7 As shown, step 640 includes the following sub-steps: Step 642: Locate the positioning area in the image. The positioning area includes n main positioning graphics and 1 auxiliary positioning graphic. At the start of recognition, the first step is to accurately identify the positioning area of ​​the QR code in the acquired image. This positioning area includes a primary positioning graphic and auxiliary positioning graphics. The primary positioning graphic determines the range and size of the QR code within the image. The auxiliary positioning graphics, in conjunction with the primary positioning graphic, determine the orientation of the QR code and detect any distortions.

[0073] Step 644: Based on the positions of n main positioning graphics and 1 auxiliary positioning graphic, determine the position of the correction vertex used to correct the QR code; If the positioning area is successfully located, the positional information of n positioning areas and 1 auxiliary positioning graphic is used to calculate the reference points, i.e., correction vertices, required for geometric correction. In this embodiment, we illustrate with 3 positioning areas and 4 correction vertices. In some embodiments, the correction vertices are the center points of the 3 main positioning graphics and 1 auxiliary positioning graphic. In some embodiments, the correction vertices are the four vertices of the square area occupied by the QR code. The sides of this square area are the bounding rectangles of the 3 main positioning graphics and 1 auxiliary positioning graphic.

[0074] Step 646: Correct the QR code based on the position of the correction vertex to obtain the corrected QR code.

[0075] Using the calculated correction vertices, a perspective transformation matrix can be constructed to transform the currently deformed quadrilateral into a standard square. This perspective transformation matrix is ​​then applied to the region of the image containing the QR code, thus correcting the tilted and distorted QR code image into a standard, distortion-free, square QR code image for subsequent processing.

[0076] The process of code element recognition In some embodiments, such as Figure 7 As shown, step 660 can specifically include the following sub-steps: Step 662: In the corrected QR code, determine the symbol values ​​of the first type symbol and the second type symbol in multiple symbol groups.

[0077] The QR code recognition device uses pre-stored QR code template information to grid the encoding area of ​​the corrected QR code image, such as... Figure 5 The grid shown is used to determine the pixel region corresponding to each symbol (including first-type symbols and second-type symbols). Subsequently, the binary value of each symbol (e.g., 1 for dark colors and 0 for light colors) is determined by sampling and thresholding the pixel values ​​(e.g., average gray value) within each symbol region.

[0078] A code element can include one pixel or multiple pixels. Then, based on the color of the pixel corresponding to the code element in the encoding area, it can be determined whether the code element records a binary 0 or a binary 1. For example, if a code element in the encoding area contains 3 pixels, with 2 pixels being black and 1 pixel being white, then this code element can represent a binary 1; similarly, if a code element in the encoding area contains 3 pixels, all of which are white, then this code element can represent a binary 0.

[0079] In some embodiments, it may not be necessary to divide the QR code into regions; instead, the mapping relationship between each code element and pixel position in the encoded region can be pre-recorded. For example, assuming the QR code includes code element n, and the area occupied by code element n contains 3 pixels of the QR code, the mapping relationship between code element n and the positions of these 3 pixels (such as the row and column coordinates of the pixels in the QR code image) can be pre-recorded. During QR code recognition, the 3 pixels corresponding to code element n can be directly found based on this pre-recorded mapping relationship, and the value of code element n can be identified based on the color of these 3 pixels.

[0080] Step 664: Determine the metadata of the QR code based on the values ​​of the first type of code elements.

[0081] First, decode the first type of code element located at the predetermined position to obtain the meta-information of the QR code, such as the version number, error correction level (L / M / Q / H), and the mask type identifier used.

[0082] Step 666: Combine the metadata to process the values ​​of the second type of code elements in order to identify the final data information carried by the QR code.

[0083] Based on the mask type identifier obtained in step 664, the corresponding demasking pattern is selected. Then, a bitwise XOR operation is performed between the demasking pattern and the original values ​​of the second type of code elements identified from the image to eliminate the mask added during encoding and recover the values ​​of the second type of code elements before masking. Next, based on the obtained error correction level, the recovered data is verified and corrected using an appropriate error correction algorithm (such as the Reed-Solomon algorithm) to obtain an error-free binary data stream. Finally, according to the preset encoding rules (such as ASCII encoding), the binary data stream is converted into finally readable data information (such as a text string).

[0084] Optionally, during the recognition process, the user's avatar, the logo in the auxiliary positioning graphic, and fixed code elements do not need to be processed.

[0085] QR code generation process Reference Figure 8 The diagram illustrates a flowchart of a QR code generation method provided in an exemplary embodiment of this application, which can be executed by a server or a terminal device. The method includes: Step 820: Obtain the data information to be encoded.

[0086] For example, obtaining a Uniform Resource Locator (URL) link, user ID, text fragment, or other strings that need to be encoded into a QR code.

[0087] Step 840: Generate a QR code based on the data information. The QR code includes a positioning area and an encoding area. Multiple code elements in the encoding area are arranged in a spiral shape.

[0088] The specific structure of the QR code is as described in the previous embodiment. The aforementioned data information is carried in the encoding area of ​​the QR code, specifically in the second type of code element of the encoding area.

[0089] In summary, the method provided in this embodiment, by arranging multiple code groups in a spiral, allows the code groups in the QR code to visually simulate the spiral structure of the aperture blades in a mechanical camera lens. Besides enabling the machine to recognize the information carried in the QR code, it can also visually convey relevant visual information to the user. For example, when this QR code is applied to short video platforms, it can effectively convey the concept that short video platforms represent the recording and capturing of life.

[0090] Reference Figure 9 The above generation process may also include the following sub-steps: Step 830: Draw the static basic elements of the QR code, including at least one of the image area, positioning area, and fixed code element.

[0091] First, on a blank canvas, draw the non-data-carrying part of the QR code, i.e., the static basic elements, according to the preset format and size requirements. The static basic elements include the central image area, three main positioning graphics at the four corners and one auxiliary positioning graphic, as well as multiple fixed code elements to enhance the visual spiral shape.

[0092] The image content in the central image area can be a system-preset image or user-uploaded image content. If it is user-uploaded content, the method further includes: in response to the user's upload operation, obtaining and filling the image for the central image area. In some embodiments, the image area is used to place the user's avatar, and the terminal device or server actively retrieves the user's avatar from the personal information database bound to the user's account.

[0093] Similarly, the internal image content of the auxiliary positioning graphic in the positioning area can also be a preset brand logo or a user-uploaded image. If it is custom content, the method also includes corresponding acquisition and filling steps.

[0094] After drawing the static basic elements, data encoding and drawing are performed. The specific steps are as follows: Step 842: Combine the data to be processed with the selected error correction level and convert it into a binary string containing error correction codes.

[0095] Depending on the selected error correction level (L, M, Q, or H), the data to be encoded is encoded, and corresponding error correction codes are generated using error correction algorithms such as Reed-Solomon. The generated error correction codes are then appended to the binary representation of the original data to form a complete data stream to be encoded.

[0096] Step 844: Select a mask type from a preset mask type set and apply the mask to the above binary string to obtain the value of the second type code element after masking.

[0097] To avoid large areas of the same color or patterns that affect recognition in the QR code, the data needs to be masked. The terminal device or server will try several preset mask patterns and calculate the score after each mask is applied using an evaluation function, selecting the mask type with the highest score (i.e., the lowest penalty). The identifier of this optimal mask type will be encoded into the metadata. Then, the selected mask pattern is XORed with the binary data stream generated in step 842.

[0098] Step 846: Based on the value of the second type of code element after masking, draw the second type of code element on the QR code canvas.

[0099] According to the preset spiral layout template, the binary values ​​(0 or 1) of the second type of code after masking are converted into corresponding visual elements (light or dark code points) and drawn on the corresponding positions in the encoding area.

[0100] Step 848: Based on the selected error correction level and mask type, generate metadata and draw the first type of code.

[0101] The selected error correction level, mask type identifier, and version number are encoded into binary strings, and their corresponding visual elements are drawn into specific positions reserved for the first type of code element within the encoding area.

[0102] It should be noted that the execution order of step 830 and the subsequent encoding and drawing steps (842-848) can be adjusted. For example, all encoding calculations can be completed first, and then all elements (static and dynamic) can be drawn onto the canvas at once. This application does not limit this.

[0103] Figure 10 A block diagram of a QR code recognition device provided in an exemplary embodiment of this application is shown. This QR code recognition device can be implemented as all or part of a client or terminal device. The device includes: The acquisition module 220 is used to acquire an image of a QR code. The acquisition module 220 acquires the QR code image using an image acquisition device, such as a camera or a contact image sensor, by taking a picture or video. In some embodiments, the acquisition module 220 acquires the QR code image by uploading a local image. In some embodiments, the acquisition module 220 acquires the QR code image by having a user long-press an image on a webpage. The structural features of the QR code are as described above. Figure 4 or Figure 5 The embodiments described herein will not be repeated here.

[0104] The correction module 240 is used to correct the QR code in the image based on the positioning area to obtain the corrected QR code; During the shooting process, QR codes in images may be misaligned, distorted, or deformed. QR code correction based on positioning areas can correct incorrect orientation and position. That is, the correction process is achieved through geometric perspective transformation, converting the QR code in the image to the correct orientation and standard shape. For example, it can correct a distorted QR code into a square one.

[0105] The recognition module 260 is used to identify the data information carried by the QR code based on multiple code elements in the corrected QR code.

[0106] For the corrected QR code and the preset encoding area template (including the mapping relationship between each code element and its corresponding pixel), the QR code recognition device determines the value of each code element in the encoding area. For example, each code element may be 1 or 0. Based on the value of each code element in the encoding area, the data information carried by the QR code is identified.

[0107] In summary, the device provided in this embodiment, through the spiral arrangement of multiple code elements, allows the multiple code elements in the QR code to visually simulate the spiral structure of the aperture blades in a mechanical camera lens. Besides enabling the machine itself to recognize the information carried in the QR code, it can also visually convey relevant visual information to the user. For example, when this QR code is applied to short video platforms, it can effectively convey the concept that short video platforms represent the recording and capturing of life.

[0108] In some embodiments, the correction module 240 is used to locate a positioning region in an image, the positioning region including n main positioning patterns and 1 auxiliary positioning pattern.

[0109] At the start of recognition, the first step is to accurately identify the positioning area of ​​the QR code in the acquired image. This positioning area includes a primary positioning graphic and an auxiliary positioning graphic. The primary positioning graphic determines the range and size of the QR code within the image. The auxiliary positioning graphic, in conjunction with the primary positioning graphic, determines the orientation of the QR code and detects any distortions or other abnormalities.

[0110] The correction module 240 is used to determine the position of the correction vertex for correcting the QR code based on the positions of n main positioning graphics and 1 auxiliary positioning graphic.

[0111] If the positioning area is successfully located, the positional information of n positioning areas and 1 auxiliary positioning graphic is used to calculate the reference points, i.e., correction vertices, required for geometric correction. In this embodiment, we illustrate with 3 positioning areas and 4 correction vertices. In some embodiments, the correction vertices are the center points of the 3 main positioning graphics and 1 auxiliary positioning graphic. In some embodiments, the correction vertices are the four vertices of the square area occupied by the QR code. The sides of this square area are the bounding rectangles of the 3 main positioning graphics and 1 auxiliary positioning graphic.

[0112] The correction module 240 is used to correct the QR code based on the position of the correction vertex to obtain the corrected QR code.

[0113] Using the calculated correction vertices, a perspective transformation matrix can be constructed to transform the currently deformed quadrilateral into a standard square. This perspective transformation matrix is ​​then applied to the region of the image containing the QR code, thus correcting the tilted and distorted QR code image into a standard, distortion-free, square QR code image for subsequent processing.

[0114] In some embodiments, the identification module 260 is used to determine the symbol values ​​of a first type symbol and a second type symbol in a plurality of symbol groups in the corrected QR code.

[0115] The recognition module 260 is used to grid the encoding area of ​​the corrected QR code image according to the pre-stored QR code template information, such as... Figure 5 The grid shown is used to determine the pixel region corresponding to each symbol (including first-type symbols and second-type symbols). Subsequently, the binary value of each symbol (e.g., 1 for dark colors and 0 for light colors) is determined by sampling and thresholding the pixel values ​​(e.g., average gray value) within each symbol region.

[0116] The recognition module 260 is used to determine the metadata of the QR code based on the value of the first type of code element.

[0117] First, decode the first type of code element located at the predetermined position to obtain the meta-information of the QR code, such as the version number, error correction level (L / M / Q / H), and the mask type identifier used.

[0118] The recognition module 260 is used to process the values ​​of the second type of code elements in combination with the metadata in order to identify the final data information carried by the QR code.

[0119] Based on the acquired mask type identifier, the corresponding demasking pattern is selected. Then, a bitwise XOR operation is performed between this demasking pattern and the original values ​​of the second-type code elements identified from the image to eliminate the mask added during encoding and recover the original values ​​of the second-type code elements. Next, based on the acquired error correction level, a corresponding error correction algorithm (such as the Reed-Solomon algorithm) is used to verify and correct the recovered data, resulting in an error-free binary data stream. Finally, according to a preset encoding rule (such as ASCII encoding), the binary data stream is converted into readable data information (such as a text string).

[0120] Figure 11 A block diagram of a QR code generation apparatus provided in an exemplary embodiment of this application is shown. This QR code recognition apparatus can be implemented as all or part of a client or terminal device. The apparatus includes: The acquisition module 320 is used to acquire the data information to be encoded.

[0121] For example, obtaining a URL link, user ID, text fragment, or other strings that need to be encoded into a QR code.

[0122] The generation module 340 is used to generate a QR code based on the data information. The QR code includes a positioning area and an encoding area, and multiple code elements in the encoding area are arranged in a spiral shape. The specific structure of the QR code is as described in the previous embodiment. The aforementioned data information is carried in the encoding area of ​​the QR code, specifically in the second type of code element of the encoding area.

[0123] In summary, the device provided in this embodiment, through the spiral arrangement of multiple code elements, allows the multiple code elements in the QR code to visually simulate the spiral structure of the aperture blades in a mechanical camera lens. Besides enabling the machine itself to recognize the information carried in the QR code, it can also visually convey relevant visual information to the user. For example, when this QR code is applied to short video platforms, it can effectively convey the concept that short video platforms represent the recording and capturing of life.

[0124] In some embodiments, the generation module 340 is used to draw the static basic elements of a QR code, including at least one of an image region, a positioning region, and fixed code elements.

[0125] First, on a blank canvas, draw the non-data-carrying part of the QR code, i.e., the static basic elements, according to the preset format and size requirements. The static basic elements include the central image area, three main positioning graphics at the four corners and one auxiliary positioning graphic, as well as multiple fixed code elements to enhance the visual spiral shape.

[0126] The image content in the central image area can be a system-preset image or user-uploaded image content. If it is user-uploaded content, the method further includes: in response to the user's upload operation, obtaining and filling the image for the central image area. In some embodiments, the image area is used to place the user's avatar, and the terminal device or server actively retrieves the user's avatar from the personal information database bound to the user's account.

[0127] Similarly, the internal image content of the auxiliary positioning graphic in the positioning area can also be a preset brand logo or a user-uploaded image. If it is custom content, the method also includes corresponding acquisition and filling steps.

[0128] In some embodiments, data encoding and drawing are performed after the static basic elements have been drawn.

[0129] The generation module 340 is used to combine the data information to be processed with the selected error correction level and convert it into a binary string containing error correction codes.

[0130] Depending on the selected error correction level (L, M, Q, or H), the data to be encoded is encoded, and corresponding error correction codes are generated using error correction algorithms such as Reed-Solomon. The generated error correction codes are then appended to the binary representation of the original data to form a complete data stream to be encoded.

[0131] The generation module 340 is used to select a mask type from a preset mask type set and apply the mask to the above binary string to obtain the value of the second type code element after masking.

[0132] To avoid large areas of the same color or patterns that affect recognition in the QR code, the data needs to be masked. The terminal device or server will try several preset mask patterns and calculate the score after each mask is applied using an evaluation function, selecting the mask type with the highest score (i.e., the lowest penalty). The identifier of this optimal mask type will be encoded into the metadata. Then, the selected mask pattern is XORed with the binary data stream generated in step 842.

[0133] The generation module 340 is used to draw the second type of code on the QR code canvas based on the value of the second type of code after masking.

[0134] According to the preset spiral layout template, the binary values ​​(0 or 1) of the second type of code after masking are converted into corresponding visual elements (light or dark code points) and drawn on the corresponding positions in the encoding area.

[0135] The generation module 340 is used to generate metadata based on the selected error correction level and mask type, and draw the first type of code.

[0136] The selected error correction level, mask type identifier, and version number are encoded into binary strings, and their corresponding visual elements are drawn into specific positions reserved for the first type of code element within the encoding area.

[0137] It should be noted that the specific technical details of one or more embodiments provided above can be found in the limitations of the QR code recognition method and QR code generation method described above, and will not be repeated here. Each module of the above device can be implemented entirely or partially through software, hardware, or a combination thereof. Each module can be embedded in hardware or independent of the processor of the computer device, or stored in software in the memory of the computer device, so that the processor can call and execute the corresponding operations of each module.

[0138] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0139] Figure 12 This illustration shows a structural block diagram of a computer device 1200 provided in an exemplary embodiment of this application. The computer device 1200 may be a portable mobile terminal, such as a smartphone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III), or MP4 player (Moving Picture Experts Group Audio Layer IV). The computer device 1200 may also be referred to as a user device, portable terminal, or other names. Typically, the computer device 1200 includes a processor 1201 and a memory 1202.

[0140] Processor 1201 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 1201 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1201 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1201 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 1201 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.

[0141] The memory 1202 may include one or more computer-readable storage media, which may be tangible and non-transitory. The memory 1202 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1202 is used to store at least one instruction, which is executed by the processor 1201 to implement the QR code recognition method and QR code generation method provided in the embodiments of this application.

[0142] In some embodiments, the computer device 1200 may also optionally include a peripheral device interface 1203 and at least one peripheral device. The processor 1201, memory 1202, and peripheral device interface 1203 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 1203 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 1204, a touch display screen 1205, a camera assembly 1206, an audio circuit 1207, and a power supply 1208.

[0143] Peripheral device interface 1203 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 1201 and memory 1202. In some embodiments, processor 1201, memory 1202 and peripheral device interface 1203 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 1201, memory 1202 and peripheral device interface 1203 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.

[0144] The radio frequency (RF) circuit 1204 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 1204 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 1204 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 1204 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 1204 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or Wi-Fi (Wireless Fidelity) networks. In some embodiments, the RF circuit 1204 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.

[0145] The touch display screen 1205 is used to display a user interface (UI). This UI may include graphics, text, icons, videos, and any combination thereof. The touch display screen 1205 also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to the processor 1201 for processing. The touch display screen 1205 is used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one touch display screen 1205, located on the front panel of the computer device 1200; in other embodiments, there may be at least two touch display screens, respectively located on different surfaces of the computer device 1200 or in a folded design; in some embodiments, the touch display screen 1205 may be a flexible display screen, located on a curved or folded surface of the computer device 1200. Furthermore, the touch display screen 1205 may be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The touch display screen 1205 may be made of materials such as LCD (Liquid Crystal Display) or OLED (Organic Light-Emitting Diode).

[0146] The camera assembly 1206 is used to capture images or videos. Optionally, the camera assembly 1206 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is used for video calls or selfies, and the rear-facing camera is used for taking photos or videos. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, and a wide-angle camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, and panoramic shooting and VR shooting by fusion of the main camera and the wide-angle camera. In some embodiments, the camera assembly 1206 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash is a combination of a warm-light flash and a cool-light flash, which can be used for light compensation at different color temperatures.

[0147] Audio circuitry 1207 provides an audio interface between the user and computer device 1200. Audio circuitry 1207 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to processor 1201 for processing, or input to radio frequency circuitry 1204 for voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each located at a different location within computer device 1200. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from processor 1201 or radio frequency circuitry 1204 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, audio circuitry 1207 may also include a headphone jack.

[0148] Power supply 1208 is used to supply power to the various components in computer device 1200. Power supply 1208 can be AC ​​power, DC power, a disposable battery, or a rechargeable battery. When power supply 1208 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.

[0149] In some embodiments, the computer device 1200 further includes one or more sensors 1209. The one or more sensors 1209 include, but are not limited to, an accelerometer 1210, a gyroscope 1211, a pressure sensor 1212, an optical sensor 1213, and a proximity sensor 1214.

[0150] Accelerometer 1210 can detect the magnitude of acceleration along the three coordinate axes of a coordinate system established by computer device 1200. For example, accelerometer 1210 can be used to detect the components of gravitational acceleration along the three coordinate axes. Processor 1201 can control touchscreen display 1205 to display the user interface in landscape or portrait view based on the gravitational acceleration signal acquired by accelerometer 1210. Accelerometer 1210 can also be used for games or for acquiring user motion data.

[0151] The gyroscope sensor 1211 can detect the orientation and rotation angle of the computer device 1200. The gyroscope sensor 1211 can work in conjunction with the accelerometer sensor 1210 to acquire 3D motion data from the user on the computer device 1200. Based on the data acquired by the gyroscope sensor 1211, the processor 1201 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.

[0152] The pressure sensor 1212 can be disposed on the side bezel of the computer device 1200 and / or on the lower layer of the touch display screen 1205. When the pressure sensor 1212 is disposed on the side bezel of the computer device 1200, it can detect the user's grip signal on the computer device 1200 and perform left / right hand recognition or quick operation based on the grip signal. When the pressure sensor 1212 is disposed on the lower layer of the touch display screen 1205, it can control the operable controls on the UI interface based on the user's pressure operation on the touch display screen 1205. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.

[0153] The optical sensor 1213 is used to collect ambient light intensity. In one embodiment, the processor 1201 can control the display brightness of the touch screen 1205 based on the ambient light intensity collected by the optical sensor 1213. Specifically, when the ambient light intensity is high, the display brightness of the touch screen 1205 is increased; when the ambient light intensity is low, the display brightness of the touch screen 1205 is decreased. In another embodiment, the processor 1201 can also dynamically adjust the shooting parameters of the camera assembly 1206 based on the ambient light intensity collected by the optical sensor 1213.

[0154] The proximity sensor 1214, also known as a distance sensor, is typically located on the front of the computer device 1200. The proximity sensor 1214 is used to detect the distance between the user and the front of the computer device 1200. In one embodiment, when the proximity sensor 1214 detects that the distance between the user and the front of the computer device 1200 is gradually decreasing, the processor 1201 controls the touchscreen display 1205 to switch from a screen-on state to a screen-off state; when the proximity sensor 1214 detects that the distance between the user and the front of the computer device 1200 is gradually increasing, the processor 1201 controls the touchscreen display 1205 to switch from a screen-off state to a screen-on state.

[0155] Those skilled in the art will understand that the above structure does not constitute a limitation on the computer device 1200, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.

[0156] This application also provides a client for implementing the QR code recognition method and / or QR code generation method provided in the above-described method embodiments.

[0157] This application also provides a computer-readable storage medium storing at least one computer program, which is loaded and executed by a processor to implement the QR code recognition method and / or QR code generation method provided in the above-described method embodiments.

[0158] This application also provides a computer program product, which includes at least one computer program stored in a computer-readable storage medium; the at least one computer program is read from and executed by a processor of a computer device from the computer-readable storage medium, causing the computer device to perform the QR code recognition method and / or the QR code generation method provided in the above-described method embodiments.

[0159] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in numerical order, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this.

[0160] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0161] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent switching, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A printed material, characterized in that, The surface of the printed material is printed with a QR code, the QR code including: The positioning area and the encoding area, wherein the encoding area includes multiple code elements arranged in a spiral shape, and each code element in the multiple code elements is arranged according to a spiral trajectory; The code elements of the multiple code groups are divided into three types: fixed code elements, first type code elements, and second type code elements. The fixed code elements are used to ensure that the multiple code groups visually present the spiral arrangement. The first type code elements are used to carry metadata, and the second type code elements are used to carry data information.

2. The printed matter according to claim 1, characterized in that, The QR code also includes an image region located in the central region of the plurality of code groups, and the image region does not overlap with the plurality of code groups.

3. The printed matter according to claim 2, characterized in that, The multiple code groups are evenly distributed around the image region.

4. The printed matter according to claim 3, characterized in that, The encoding region is divided into 162 ray regions around the image region. The distance between the starting code of two adjacent code groups in the plurality of code groups is 6 ray regions. The distance between two adjacent code groups in each of the plurality of code groups is 1 ray region.

5. The printed matter according to claim 1, characterized in that, in, The metadata includes at least one of version number, error correction level, and mask type identifier.

6. The printed matter according to claim 3, characterized in that, The image area is used to set image information related to the user's avatar.

7. The printed matter according to any one of claims 1 to 5, characterized in that, The positioning area includes n main positioning graphics, and each of the n main positioning graphics includes a ring and a dot located inside the ring.

8. The printed matter according to claim 7, characterized in that, In each of the main positioning graphics, the ratio of the width of the ring, the distance between the inner side of the ring and the dot, the diameter of the dot, the distance between the dot and the inner side of the ring, and the width of the ring is 1:1.2:1:1.2:

1.

9. The printed matter according to any one of claims 1 to 5, characterized in that, The positioning area also includes an auxiliary positioning graphic, which contains image information related to the business type.

10. The printed matter according to claim 9, characterized in that, The positioning area includes three main positioning graphics and one auxiliary positioning graphic. The QR code occupies a square area, and the three main positioning graphics and the one auxiliary positioning graphic are located at the four corners of the square area.

11. The printed matter according to claim 10, characterized in that, Each of the three main positioning graphics includes a ring and a dot located within the ring. The diameter of the dot is 1 basic unit. The distance between the centers of two main positioning graphics located on the same side of the square area is 44 basic units. The width of the auxiliary positioning graphic is 10 basic units.

12. A commodity, characterized in that, The product has a QR code on its surface, and the QR code includes: The positioning area and the encoding area, wherein the encoding area includes multiple code elements arranged in a spiral shape, and each code element in the multiple code elements is arranged according to a spiral trajectory; The code elements of the multiple code groups are divided into three types: fixed code elements, first type code elements, and second type code elements. The fixed code elements are used to ensure that the multiple code groups visually present the spiral arrangement. The first type code elements are used to carry metadata, and the second type code elements are used to carry data information.