CN116260681A - Shop code printing gateway - Google Patents

Shop code printing gateway Download PDF

Info

Publication number
CN116260681A
CN116260681A CN202310538547.6A CN202310538547A CN116260681A CN 116260681 A CN116260681 A CN 116260681A CN 202310538547 A CN202310538547 A CN 202310538547A CN 116260681 A CN116260681 A CN 116260681A
Authority
CN
China
Prior art keywords
code
sequence
information
column
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310538547.6A
Other languages
Chinese (zh)
Other versions
CN116260681B (en
Inventor
刘旭宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tongyi Education Technology Development Co ltd
Original Assignee
Beijing Tongyi Education Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Tongyi Education Technology Development Co ltd filed Critical Beijing Tongyi Education Technology Development Co ltd
Priority to CN202310538547.6A priority Critical patent/CN116260681B/en
Publication of CN116260681A publication Critical patent/CN116260681A/en
Application granted granted Critical
Publication of CN116260681B publication Critical patent/CN116260681B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1257Configuration of print job parameters, e.g. using UI at the client by using pre-stored settings, e.g. job templates, presets, print styles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention provides a code paving printing gateway, which comprises the following components: the system comprises a first communication module, a code spreading module and a second communication module; the first communication module is used for acquiring a page to be paved and a paving form transmitted by the user terminal; the spreading module is used for determining a point code array corresponding to the page to be spread according to the spreading form, and superposing the page to be spread and the point code array to generate a spreading file; the second communication module is used for sending the spread code file to a printer and indicating the printer to print the spread code file. By the code spreading printing gateway provided by the embodiment of the invention, the printing flow can be unified under the condition that the user terminal uses different PDF readers, and the threshold used by the user is reduced.

Description

Shop code printing gateway
Technical Field
The invention relates to the technical field of point code spreading, in particular to a spreading printing gateway.
Background
In order to recognize handwriting on a content carrier such as a textbook and a test paper by using a dot matrix pen, a layer of dot code array is required to be covered on the content carrier in advance, and the dot code array is an image formed by a plurality of dot codes arranged in an array manner, and can be also called a dot code image. Users such as teachers are generally required to prepare electronic files with recorded contents, and the electronic files are generally in PDF format; and the user lays codes on the electronic file, namely, a layer of point code array is overlapped on the electronic file to form an electronic version of the laid code file, and the laid code file is also in a PDF format generally. And then, the user prints the code spreading file in the PDF format to obtain content carriers such as textbooks, test papers and the like paved with the dot code arrays. When students write on the content carrier by using the dot matrix pen, handwriting of the students during writing can be extracted by using the dot code array.
However, in an actual scene, the content carrier printed by a teacher is easy to have the problem of inaccurate identification of the point code, namely, the position of handwriting cannot be accurately determined, and even the existence of the point code cannot be identified.
Disclosure of Invention
In order to solve the above problems, an object of an embodiment of the present invention is to provide a blanket printing gateway.
The embodiment of the invention provides a code paving printing gateway, which comprises the following steps: the system comprises a first communication module, a code spreading module and a second communication module; the first communication module is used for being connected with the user terminal, and the second communication module is used for being connected with the printer;
the first communication module is used for acquiring a page to be paved and a paving form transmitted by the user terminal;
the spreading module is used for determining a point code array corresponding to the page to be spread according to the spreading form, and superposing the page to be spread and the point code array to generate a spreading file;
the second communication module is used for sending the spread code file to a printer and indicating the printer to print the spread code file.
In one possible implementation, the first communication module is configured to connect to a plurality of the user terminals.
In one possible implementation, the blanket printing gateway further comprises: a memory; the memory stores a plurality of point code arrays;
The process of determining the point code array corresponding to the spreading mode by the spreading module comprises the following steps:
and selecting a point code array corresponding to the spreading code form from the memory.
In one possible implementation manner, the number of the pages to be laid out is a plurality of pages;
the code spreading module is specifically used for:
according to the sequence of a plurality of pages to be paved, page identifiers which are arranged in sequence are respectively arranged for each page to be paved;
respectively determining a point code array corresponding to each page to be paved according to the paving form, wherein the point code array comprises a corresponding page identifier;
superposing t non-spread code pages with the front order with the corresponding dot code arrays respectively by using t parallel spreading channels to form a spreading page corresponding to the to-be-spread code pages;
and sequencing a plurality of corresponding paving pages according to the sequence of the plurality of the pages to be paved, and generating the paving file.
In a possible implementation manner, the process of determining, by the spreading module, the dot code array corresponding to the page to be spread according to the spreading form includes:
determining a plurality of main line numbers and a plurality of main column numbers which accord with the spreading form, wherein the sizes corresponding to the main line numbers are not smaller than the height of the page to be spread, and the sizes corresponding to the main column numbers are not smaller than the width of the page to be spread;
Determining row information to be encoded of each row and column information to be encoded of each column, wherein the row information comprises a main row number, and the column information comprises a main column number;
encoding the row information and the column information respectively to generate a first bit matrix containing all the row information and a second bit matrix containing all the column information, wherein the number of rows and columns of the first bit matrix is the same as that of the second bit matrix;
combining the first bit matrix and the second bit matrix into a third bit matrix; the elements in the third bit matrix are two-dimensional and include elements at the same position in the first bit matrix and elements at the same position in the second bit matrix; and
converting each element in the third bit matrix into a corresponding point code to generate a point code array;
wherein the encoding process includes:
dividing target information into a target sequences, wherein the number of bits of the target sequences is a;
sequentially setting a plurality of Debrucine sequences along a first direction, wherein a shift value between two adjacent Debrucine sequences corresponds to the target sequence, and the plurality of Debrucine sequences correspond to target sequences of all the target information; each Debrucine sequence is obtained by shifting the same Debrucine reference sequence, and the length of the Debrucine reference sequence is not less than 2 a
In a replication mode, expanding each Debrucine sequence along a second direction, wherein the expanded Debrucine sequences can cover the page to be paved in the second direction; and
taking matrixes corresponding to the plurality of extended Debrucine sequences as bit matrixes containing all the target information;
the target information is the row information, the first direction is a column direction, and the second direction is a row direction; alternatively, the target information is the column information, the first direction is a row direction, and the second direction is a column direction.
In one possible implementation, the same Debrucine reference sequence is used when encoding the row information and the column information.
In one possible implementation manner, the determining the row information to be encoded for each row and the column information to be encoded for each column includes:
determining a page identifier of the page to be paved, and dividing the page identifier into a first part and a second part;
and combining the first part with the main row number of each row to obtain corresponding row information, and combining the second part with the main column number of each column to obtain corresponding column information.
In one possible implementation, the point codes correspond to different values with respect to different offset orientations of the grid line intersections.
In one possible implementation, the dot codes above, right, lower, left dot codes located above the intersection of the grid lines are arranged in a cyclic manner in the order of 00, 01, 10, 11, or in the order of 00, 10, 01, 11.
In one possible implementation manner, the converting each element in the third bit matrix into a corresponding point code includes:
adding a row of delimiter codes for each main row number and adding a column of delimiter codes for each main column number; and the delimitation point codes are positioned at the intersection points of the grid lines.
In the scheme provided by the embodiment of the invention, the spreading printing gateway is arranged between the user terminal and the printer, the user terminal does not need to generate a spreading file, only needs to send the original file to be spread and the required spreading form to the spreading printing gateway, the spreading printing gateway carries out spreading, and an instruction for printing the spreading file is sent to the printer. The process only needs that the user terminal can correctly identify the file to be paved, namely, the user terminal can use a plurality of PDF readers such as a browser, a WPS and the like; under the condition that the user terminal uses different PDF readers, the printing process can be unified, and the threshold used by the user is reduced.
In order to make the above objects, features and advantages of the present invention more comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the embodiments of the invention or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 shows a schematic structural diagram of a blanket printing gateway according to an embodiment of the present invention;
fig. 2 is a schematic diagram of another architecture of a blanket printing gateway according to an embodiment of the present invention;
FIG. 3 shows a schematic diagram of the generation of Debrucine sequences provided by an embodiment of the invention;
FIG. 4 is a schematic diagram of point codes corresponding to different values according to an embodiment of the present invention;
fig. 5 shows a schematic diagram of decoding two adjacent debluring sequences according to an embodiment of the present invention;
fig. 6 shows a schematic diagram of an arrangement of dot code arrays in a written image according to an embodiment of the present invention.
Reference numerals illustrate:
10. a first communication module; 20. a code spreading module; 30. a second communication module; 40. a memory; 100. a user terminal; 200. a printer; 401. grid lines; 402. demarcating lines; 410. a point code; 420. delimiter code
Detailed Description
Through analysis, the inventor finds that the problem that the point codes of the content carrier are difficult to identify is mainly caused by that different users can use different PDF readers, and because the point codes are in a micron level and have small size, only part of PDF readers (and only part of versions) can support printing the point codes, so that the same spread code file is caused, and the problem that the printing effect is uneven when different PDF readers are used is caused; for example, when a teacher prints a spread file in PDF format using a browser or WPS, there is often a problem that the dot matrix pen cannot recognize.
The current general solution is to require the user to install a specific version of a specific PDF reader, such as ADOBE acrobat reader software, etc. However, the scheme not only requires that all users install specific software, which is time-consuming and labor-consuming, but also is unfavorable for large-scale use because of the reasons of user use habit and the like.
The embodiment of the invention provides a code spreading printing gateway, which can be used for realizing that a content carrier meeting the requirements can be printed, and the point codes in the content carrier are clear and can be identified.
Referring to fig. 1, the blanket printing gateway includes: a first communication module 10, a code spreading module 20 and a second communication module 30; the first communication module 10 is used for connection with the user terminal 100, and the second communication module 30 is used for connection with the printer 200.
The first communication module 10 is configured to obtain a page to be paved and a paving form transmitted by the user terminal 100; the spreading module 20 is used for determining a dot code array corresponding to a page to be spread according to a spreading form, and superposing the page to be spread and the dot code array to generate a spreading file; the second communication module 30 is configured to send the blanket file to the printer 200, and instruct the printer 200 to print the blanket file.
In the embodiment of the present invention, the user terminal 100 is a terminal used by a user who needs to perform code laying, for example, the user terminal 100 is a smart phone, a computer, etc. used by a teacher. The user terminal 100 establishes communication with the blanket printing gateway through the first communication module 10 to be able to transmit data to be printed, i.e. pages to be blanket coded and blanket coded forms, to the blanket printing gateway. Wherein the code-laying printing gateway is essentially a gateway which allows access to a plurality of user terminals 100, i.e. the first communication module 10 is capable of being connected to a plurality of user terminals 100; as shown in fig. 2, the first communication module 10 is connected to three user terminals 100. In this case, the plurality of user terminals 100 may share the same blanket printing gateway. For example, the blanket printing gateway may be in the same local area network as a plurality of user terminals 100, e.g., the same WiFi is accessed, and then the user terminals 100 may all connect to the blanket printing gateway.
The page to be laid out is a page to be laid out, which may be an electronic file recorded with content, and is generally in PDF format. The user can select the page to be paved according to actual requirements. For example, when a teacher needs to print a text book or a test paper or other content carrier paved with point codes, an electronic file of the text book or the test paper is used as a page to be paved, and the page to be paved is transmitted to a paving printing gateway. The process of transmitting the page to be paved to the paving code printing gateway by the user terminal 100 is similar to the process when the user terminal 100 only prints the page to be paved (i.e. the page without the dot code array); that is, the user terminal 100 can implement transmission of the page to be laid out to the laid out print gateway using any PDF reader (e.g., browser, WPS, adobe reader, etc.) installed thereto.
The code laying form is the current code laying requirement; for example, the spreading code form includes a start value of a dot code, a range of values of the dot code, whether different page numbers are distinguished, and the like. Wherein, the start value of the point code and the value range of the point code can both represent the value of the point code when the point code is paved; for example, the value range of the point code is 100001-1000256. Whether to distinguish different page numbers refers to whether the dot code arrays of the different page numbers are the same or not; when the pages to be laid comprise a plurality of pages, determining whether different page numbers are distinguished or not; the page identifier is set to realize different page numbers, and the page identifier is described in detail later.
The paving module 20 of the paving code printing gateway is respectively connected with the first communication module 10 and the second communication module 30 to receive or transmit corresponding data. After the first communication module 10 obtains the page to be paved and the paving form transmitted by the user terminal 100, the page to be paved and the paving form are sent to the paving module 20, and the paving module 20 performs paving on the page to be paved to form a corresponding paving file, so that the paving file is sent to the second communication module 30. The second communication module 30 sends the spread file to the printer 200, and the printer 200 prints the spread file to generate a desired content carrier. The spreading module 20 is internally provided with a PDF reader conforming to the precision required by the dot code array, and can transmit a high-precision spreading file to the printer 200, so that the content carrier printed by the printer 200 contains a clear dot code array. Wherein the second communication module 30 and the printer 200 may be connected through a network cable.
The code spreading printing gateway provided by the embodiment of the invention is arranged between the user terminal 100 and the printer 200, the user terminal 100 does not need to generate the code spreading file, only needs to send the original code spreading file to be spread and the required code spreading form to the code spreading printing gateway, the code spreading printing gateway performs code spreading, and an instruction for printing the code spreading file is sent to the printer 200. The process only needs that the user terminal 100 can correctly identify the file to be paved, namely, the user terminal 100 can use a plurality of PDF readers such as a browser, a WPS and the like; in the case that the user terminal 100 uses different PDF readers, the printing process may be unified, so that the threshold used by the user is reduced.
In the embodiment of the invention, the spreading code printing gateway can generate the dot code array in real time after receiving the page to be spread and the spreading code form. Or, alternatively, referring to fig. 2, the blanket printing gateway further comprises: a memory 40; the memory 40 is connected to the spreading module 20, and a plurality of dot code arrays are stored in the memory 40.
And, the process of the spreading module 20 determining the dot code array corresponding to the spreading pattern includes: a dot code array corresponding to the spreading pattern is selected from the memory 40.
In the embodiment of the present invention, since the process of generating the dot code array needs to occupy a certain time, if the spreading module 20 acquires the spreading form transmitted by the user terminal 100 and then regenerates the dot code array, it takes more time to generate the spreading file; in the embodiment of the invention, after the code spreading module 20 acquires the code spreading form, the corresponding point code arrays can be directly selected from the code spreading form, so that the processing speed is higher, the printing speed can be improved, and the waiting time of a user is reduced.
Alternatively, the number of pages to be tiled may be multiple. For example, the user terminal 100 transmits a to-be-tiled file containing a plurality of to-be-tiled pages to the tiled printing gateway; for example, the file to be laid may be a text book, a test paper, or the like with a plurality of pages, and each page corresponds to one page to be laid.
In order to be able to distinguish between the different pages to be tiled, the process of generating the tiled file by the tiling module 20 specifically comprises the following steps A1 to A4.
Step A1: according to the sequence of a plurality of pages to be paved, page identifiers which are arranged in sequence are respectively arranged for each page to be paved.
Step A2: and respectively determining a point code array corresponding to each page to be paved according to the paving form, wherein the point code array comprises a corresponding page identifier.
In the embodiment of the invention, because a plurality of different pages to be paved are required to be paved under an actual scene, in order to distinguish different pages to be paved, a unique page identifier is set for each page to be paved, and the finally encoded point code array also comprises the page identifiers of the pages to be paved. The page identification is a unique identification of the page to be paved and is used for distinguishing different pages to be paved; for example, each page to be coded may be assigned a unique page identification in an incremental manner. For example, the page identification of the first page to be coded is 1, the page identification of the second page to be coded is 2, and so on.
Step A3: and (3) superposing t non-paved pages with the front sequence with the corresponding dot code arrays respectively by using t parallel paving channels to form paving pages corresponding to the to-be-paved pages.
Step A4: and sequencing the corresponding plurality of paving code pages according to the sequence of the plurality of to-be-paved pages to generate paving code files.
The code spreading printing gateway provided by the embodiment of the invention comprises a plurality of code spreading channels, wherein each code spreading channel can realize code spreading; and, a plurality of spreading channels are parallel, i.e. spreading in parallel. According to the embodiment of the invention, the pages to be coded are coded in the front of the sequence according to the sequence of the pages to be coded, so that the sequential coding of all the pages to be coded is realized. Specifically, as shown in the step A3, t pages to be spread in the front order are respectively input to corresponding spreading channels, and parallel spreading is performed on the t pages to be spread by using the t spreading channels; after the spreading is finished, spreading the codes on the t later pages to be spread until all the pages to be spread are spread. After the spreading, each page to be spread corresponds to a page which is already spread, namely a page with a point code array, and the page is called a spreading page in the embodiment of the invention; and arranging all the paving pages in sequence to generate a file containing a plurality of paving pages, namely a paving file. The printer prints the spread file to generate a content carrier containing a plurality of pages.
The embodiment of the invention can realize parallel code spreading of a plurality of pages to be code spread by utilizing a plurality of code spreading channels, has high code spreading speed and high efficiency, and can further improve the printing speed.
Optionally, the process of determining the dot code array corresponding to the page to be tiled by the tiling module 20 according to the tiling form includes the following steps B1 to B5.
Step B1: and determining a plurality of main line numbers and a plurality of main column numbers which accord with the spreading code form, wherein the sizes corresponding to the main line numbers are not smaller than the height of the page to be spread, and the sizes corresponding to the main column numbers are not smaller than the width of the page to be spread.
In the embodiment of the invention, the dot code array is an array with a certain size range, and the size range corresponding to the dot code array is divided into a plurality of rows and a plurality of columns, so that the coding units arranged in the plurality of arrays can be obtained, and each coding unit corresponds to a unique row number and a unique column number. The position of the coding unit in the whole range can be determined based on the row number and the column number. In this embodiment of the present invention, since the rows and columns of the coding unit are further divided later, the row number divided at this time is referred to as a "main row number", and the column number divided at this time is referred to as a "main column number".
In addition, in order to realize the spreading of the page to be spread, the dot code array needs to cover the whole page to be spread, namely, the size corresponding to the main row numbers is not smaller than the height of the page to be spread, and the size corresponding to the main column numbers is not smaller than the width of the page to be spread.
For example, a row or column may be divided every 1.8 mm. Namely, in the vertical direction, dividing a page to be laid into one row every 1.8mm, and setting a corresponding main row number y, wherein the value range of the main row number y is related to the height of the page to be laid; if the main line number Y is positive, the value range is [0, Y max ]Wherein Y is max Not less than an integer determined after 1.8mm of the height of the page to be coded. Because the size of the page to be laid corresponds to the size of the actual paper, the height of the page to be laid is not too high, and in actual use, the maximum value Y of the main line number Y max Typically less than 255, in which case the main line number y can be represented in 8 bits (bit) of data; for example, the main line number y has a value in the range of [0,255 ]]. The process of dividing the plurality of main column numbers x is similar to that described above, and will not be repeated hereThe method comprises the steps of carrying out a first treatment on the surface of the Similarly, the main column number x may also be represented by 8 bits of data in general.
It will be understood by those skilled in the art that the main line number and the main column number corresponding to the spreading code form may be determined after receiving the spreading code form transmitted by the user terminal 100, and in this case, the range of values of the main line number and the main column number may be determined immediately according to the height and the width of the page to be spread, for example, the maximum value Y of the main line number max Equal to the integer determined after the height of the page to be coded/1.8 mm. Alternatively, the preprocessing may be performed on multiple spreading patterns, that is, the main row number and the main column number corresponding to each spreading pattern are predetermined, and a corresponding dot code array is generated in advance, where the dot code array generated in advance may be stored in the memory 40; at this time, the range of values of the main line number and the main column number may be [0,255 ]]Only a part of the dot code array is needed to be used in the code spreading process.
For convenience of description, m is used for representing the number of main line numbers y, and n is used for representing the number of main column numbers x, namely, the page to be laid is divided into m lines and n columns. For example, the main row number y may have a value in the range of [0, m-1], and the main column number x may have a value in the range of [0, n-1].
Step B2: and determining row information to be encoded for each row and column information to be encoded for each column, wherein the row information comprises a main row number and the column information comprises a main column number.
In the embodiment of the invention, the information needing to be encoded, namely the row information, of each row is respectively determined, so that m pieces of row information are required to be determined in total; and, each line information includes a corresponding main line number y; the line information may include only the main line number y, or may further include other information. Similarly, the information to be encoded, i.e., the column information, of each column is determined separately, so that n pieces of column information are required to be determined in total; and, each column information includes a corresponding main column number x; the column information may include only the main column number x, or may further include other information.
Step B3: and respectively encoding the row information and the column information to generate a first bit matrix containing all the row information and a second bit matrix containing all the column information, wherein the number of rows and columns of the first bit matrix is the same as that of the second bit matrix.
In the embodiment of the invention, each piece of row information and each piece of column information contain corresponding data, and corresponding bit matrixes, namely a first bit matrix and a second bit matrix, can be obtained by carrying out coding processing on the row information and the column information. The encoding process according to the embodiment of the present invention is based on the debluring (De Bruijn) sequence, and the "encoding process" in the step B3 may specifically include the following steps B31 to B34.
Step B31: the target information is divided into a target sequences, and the number of bits of the target sequences is also a.
For convenience of description, the row information or the column information is referred to as target information, which is understood to be multi-bit (bit) data, which is a multi-bit sequence. In the embodiment of the invention, the target information is divided into a target sequence with a number of a bits as a based on the number of bits (i.e. the number of bits) of the target information; all target sequences should be able to represent the target information completely, so the number of bits of the target information should be less than or equal to a×a; if the number of bits of the target information is not equal to a×a, the target information may be complemented. For example, the target information is 8-bit data, i.e., the number of bits thereof is 8, at which time the target information may be divided into 3 target sequences, and the number of bits of the target sequences is 3, i.e., a=3; and, there is supplementary 1 bit data in one of the target sequences, and the supplementary data may be 0.
Taking the target information as row information as an example, the row information with the main row number of y can be divided into a target sequences S with the number of a y,1 , S y,2 .., S y,i ,..., S y,a ,S y,i I.e., the i-th target sequence separated from the row information corresponding to the main row number y, i=1, 2, …, a; and, each target sequence S y,i The number of bits of (a) is a. When the target information is column information, the same processing manner is also adopted, and details are not repeated here. In general, the number of bits of the row information and the column information is the same, and thus a corresponding to the row information and the column information may be the same.
Step B32: sequentially arranging a plurality of Debrucine sequences along a first direction, and enabling a shift value between two adjacent Debrucine sequences to be matched with a targetThe sequences correspond to each other, and the plurality of Debrucine sequences correspond to target sequences of all target information; each Debrucine sequence is obtained by shifting the same Debrucine reference sequence, and the length of the Debrucine reference sequence is not less than 2 a
In the embodiment of the invention, the base Yu De brucine sequence is encoded. First, the length of the deblurring sequence needs to be determined based on a in step B31; wherein, the encoding method provided by the embodiment of the invention is a binary encoding method, so that the length of the Debrucine sequence is not less than 2 and all target sequences can be represented a The method comprises the steps of carrying out a first treatment on the surface of the To simplify the coding, the shortest Debrucine sequence is generally chosen, i.e. the length of the Debrucine sequence is 2 a . In addition, under the same length, a plurality of different Debrucine sequences generally exist, and one Debrucine sequence is selected as a reference sequence, namely the Debrucine reference sequence in the embodiment of the invention. For example, if a=3, i.e., the length of the debluring sequence is 8, the debluring sequence may be 00010111 or 00011101, and one of them may be selected as the debluring reference sequence.
Based on the property of the Debrucine sequence, the Debrucine sequence is a cyclic sequence, the Debrucine sequence is circularly shifted, the circularly shifted sequence is still the Debrucine sequence and is basically the same as the Debrucine sequence before the circular shift, but corresponding shift values (namely, circular shift values) can be formed before and after the circular shift; for a length of 2 a Debrucine sequences of (2) together can form a A shift value; and for a target sequence with a number of bits a, it also has a total of 2 a The target sequence is represented by a shift value of the debluring sequence in the embodiment of the present invention. Specifically, a shift value between two adjacent deblur sequences corresponds to the target sequence, for example, the shift value is equal to the value of the target sequence.
For example, a=3, and the deblurring reference sequence is 00010111; if the target sequence expressed in binary form is 010, i.e. the value of the target sequence is 2, if one of the de-brucine sequences is the de-brucine reference sequence, i.e. it is 00010111, the two bits can be shifted right and left on the basis of the de-brucine sequence to obtain another de-brucine sequence 11000101, the shift value between the two de-brucine sequences is 2, and the target sequence 010 can be expressed by the shift value.
After the target information is divided into a target sequences, all the target sequences are sequentially arranged along the first direction, and accordingly, a plurality of Debrucine sequences are also required to be sequentially arranged along the first direction. In the case where the target information is row information, the first direction is a column direction; in the case where the target information is column information, the first direction is a row direction. Taking the target information as row information as an example, all target sequences are arranged along the column direction, and correspondingly, all Debrucine sequences are also arranged along the column direction.
Taking the target information as row information as an example, dividing the row information with the main row number of y into a target sequences S y,1 , S y,2 .., S y,i ,..., S y,a For the edge-most target sequence, two de-brucine sequences may be set for it, or, due to the presence of a determined de-brucine reference sequence, one de-brucine sequence may also be set for it, the shift value between the de-brucine sequence and the de-brucine reference sequence representing the edge-most target sequence. For example, the first target sequence S with a main row number y of 0 0,1 Which is the edge-most target sequence and can be cyclically shifted S based on the Debrucine reference sequence 0,1 The Debrucine sequence obtained after the cyclic shift is taken as a target sequence S 0,1 The corresponding debluring sequence; thereafter, in the target sequence S 0,1 Based on the corresponding Debrucine sequence, cyclic shift S 0,2 Obtaining the target sequence S 0,2 The corresponding debluring sequence, and so on. After obtaining the target sequence S 0,a After the corresponding Debrucine sequence, S can be cyclically shifted on the basis of the Debrucine sequence 1,1 Obtaining the target sequence S of the next main line (i.e. the main line number y is 1) 1,1 And determining the corresponding Debrucine sequences until determining the Debrucine sequences corresponding to all target sequences of all row information. Although the edge-most target sequence is provided with a Debrucine sequence, the target sequence is directly decodedThe edge-most target sequence is difficult, but since the edge-most target sequence is located at the edge of the page to be laid, handwriting needing to be acquired does not exist at the position, namely the edge-most target sequence is not needed to be decoded.
For example, referring to fig. 3, a certain piece of row information is aabbbcc, and A, B, C thereof is only used to refer to bits in the row information, and is not actually meant. At this time, a=3, and the most significant bit of the row information is zero-padded and divided into three target sequences 0AA, BBB, CCC; these target sequences are arranged in the column direction, and in fig. 3, the row direction is indicated by the X direction, and the column direction is indicated by the Y direction. After the target sequence is determined, a corresponding Debrucine sequence can be generated; as shown in fig. 3, a debluring reference sequence is used as an initial sequence, a debluring sequence 1 is generated, and a shift value between the debluring sequence 1 and the debluring reference sequence is a target sequence 0AA; similarly, the shift value between debluring sequence 2 and debluring sequence 1 is the target sequence BBB, and the shift value between debluring sequence 3 and debluring sequence 2 is the target sequence CCC.
In the embodiment of the present invention, all the target information is also arranged along the first direction, and through step B32, all the target information can be converted into a plurality of debluring sequences sequentially arranged along the first direction. For example, if the target information is row information and there are M pieces of row information in total, m=m×a target sequences can be separated, and M pieces of 2 pieces of length need to be set a In which case all of the Debrucine sequences can be regarded as one of size M2 a Each element in the matrix is a binary one-bit, i.e. 0 or 1. Similarly, if the target information is column information and there are N pieces of column information, n=n×a target sequences can be separated, and N length-2 pieces of target sequences need to be set a In which case all of the Debrucine sequences can be regarded as one of size 2 a X N, each element in the matrix is also a one-bit binary, i.e. 0 or 1.
Wherein, when the row information and the column information are respectively encoded, the same Debrucine reference can be adoptedDifferent debluring reference sequences may be used, and the embodiment of the present invention is not limited thereto. Wherein, in order to ensure that the coding units can form square shapes, the length of the Debrucine reference sequences used in coding the row information and the column information is the same, for example, the length is 2 a The method comprises the steps of carrying out a first treatment on the surface of the In general, the same deblur reference sequence is used for encoding the row information and the column information.
Step B33: and in a replication mode, expanding each Debrucine sequence along a second direction, wherein the expanded Debrucine sequences can cover a page to be paved in the second direction.
In the embodiment of the invention, the Debrucine sequence is limited in length, so that the Debrucine sequence needs to be expanded in order to cover the whole page to be paved. Specifically, the length is 2 a Is capable of being extended to a longer sequence by copying itself, and any consecutive 2 in the extended sequence a Bit data, all still being debluring sequences; and expanding the Debrucine sequence, so that the expanded Debrucine sequence is not smaller than the size of the page to be paved. For example, if a certain debluring sequence is 00010111, it may be copied and expanded to a length of 00010111 00010111 00010111 … … expanded debluring sequence, as long as the page to be coded can be covered in the second direction.
In the embodiment of the invention, the Debrucine sequences are all extended along the second direction, so that the pages to be paved can be covered in the second direction. In the case that the target information is row information, the extended debluring sequence can cover the page to be spread in the column direction, for example, the extended debluring sequence corresponds to the value range of the main column number; in the case that the target information is column information, the extended debluring sequence can cover the page to be spread in the row direction, for example, the extended debluring sequence corresponds to the value range of the main row number.
For example, if the target information is row information and the number of main column numbers is n, the deblur sequence may be extended to a×n bits in the row direction; if the target information is column information and the number of main row numbers is m, the deblur sequence can be extended to a×m bits in the column direction.
In the case where the target information is row information, the second direction is a row direction; in the case where the target information is column information, the second direction is a column direction. In other words, the procedure of the encoding process in step B3 can be applied to two cases: in one case, the target information is row information, the first direction is column direction, and the second direction is row direction; in another case, the target information is column information, the first direction is a row direction, and the second direction is a column direction.
Step B34: and taking the matrixes corresponding to the plurality of extended Debrucine sequences as bit matrixes containing all target information.
In the embodiment of the present invention, all the debluring sequences generated in the step B32 include all the target information, and may also be regarded as a matrix, but the matrix cannot cover the whole page to be laid; the matrix corresponding to the plurality of extended Debrucine sequences not only contains all target information, but also can cover the whole page to be paved. Since each element in the matrix is a binary number of one bit (bit), i.e., 0 or 1, the matrix is referred to as a bit matrix.
As described above, if the target information is row information and there are M pieces of row information in total, all the deblur sequences can be regarded as one of m×2 a Matrix of (2), i.e. M rows a A matrix of columns; if the target information is column information and there are n total column information, then all Debrucine sequences can be regarded as one of size 2 a X N matrix, i.e. 2 a A matrix of rows and N columns. For the M×2 a Copy extension of the matrix in the row direction (i.e. the second direction) can be performed from 2 a The rows are expanded to N=a×n rows, and the matrix corresponding to the extended Debrucine sequence is an MxN matrix, namely, the first bit matrix is an MxN matrix; similarly, pair 2 a The x N matrix is duplicated and expanded along the column direction (namely the second direction), then the matrix can be duplicated and expanded along the row direction (namely the second direction) from 2 a Column expansion to m=a×m columns, the expanded debulkThe matrix corresponding to the robustness sequence is also an mxn matrix, i.e. the second bit matrix is also an mxn matrix. The number of rows and columns of the first bit matrix is the same as the number of columns and rows of the second bit matrix, namely the number of rows of the first bit matrix is the same as the number of columns of the second bit matrix. Wherein, M may or may not be equal to N, depending on the actual situation.
Step B4: combining the first bit matrix and the second bit matrix into a third bit matrix; the elements in the third bit matrix are two-dimensional and include co-located elements in the first bit matrix and co-located elements in the second bit matrix.
In the embodiment of the invention, each element in the first bit matrix and the second bit matrix is 1 bit of data, two elements at the same position are combined together to obtain a two-dimensional element, and all the two-dimensional elements can form a new bit matrix, namely a third bit matrix; wherein the two-dimensional element can be represented directly in two bits (bits) of data. For example, the first bit matrix is A, and the elements of the ith row and the jth column are a ij The second bit matrix is B, and the elements of the ith row and the jth column are B ij The third bit matrix is C, and the elements of the ith row and the jth column are C ij I=1, 2, …, M, j=1, 2, …, N. The element c ij I.e. element a ij And element b ij For example, c ij =(a ij ,b ij ) Due to element a ij And element b ij 1-bit data, 0 or 1, so that the element c is two-dimensional ij Four states are provided, each corresponding to a value, respectively: 00, 01, 10, 11.
Step B5: each element in the third bit matrix is converted into a corresponding point code, and a point code array is generated.
In the embodiment of the invention, the third bit matrix contains all row information and all column information, and can cover the whole page to be paved, and each element in the third bit matrix is converted into a corresponding point code, so that a corresponding point code array can be generated. As described above, element c in the third bit matrix ij Four states in total, all pointsThe codes are also divided into four classes, each class corresponding to a state such that the third bit matrix can be recovered by decoding the dot code array.
Because the third bit matrix is obtained by using the Debrucine sequences, and the shift values of two adjacent Debrucine sequences represent actual target sequences, based on the property of the Debrucine sequences, when the decoding of the point code array is needed, only the a-bit continuous sequences in the two adjacent Debrucine sequences are acquired, and the shift values of the two Debrucine sequences can be determined. The coding mode has stronger anti-interference performance.
In the embodiment of the invention, when the page to be paved is required to be paved, the point code arrays generated based on the steps B1 to B5 are overlapped on the page to be paved, so that the corresponding paving file can be formed. Then, the printer 200 prints the spread code file to obtain a content carrier with the dot code array; when students and the like write on the content carrier by using the dot matrix pen, the camera at the pen point part of the dot matrix pen can collect a part of the content carrier to form a corresponding writing image, the writing image comprises a pen point, a point code near the pen point and the like, and the information contained in the point code can be extracted by decoding the point code in the writing image, so that the position of the pen point is determined. The following explains the decoding process of the code in the written image in detail to explain that the coding mode has stronger interference immunity.
In the embodiment of the present invention, the decoding process for the codes in the written image includes the following steps C1 to C3.
Step C1: and decoding the point code in the writing image to obtain a third sub-bit matrix corresponding to the writing image, wherein elements in the third sub-bit matrix are two-dimensional.
In the implementation of the invention, at a certain moment, the camera of the lattice pen can only collect a part of the content carrier, and correspondingly, the written image contains a part of the point codes in the content carrier. As described above, the point code in the content carrier is based on element c in the third bit matrix ij Converted, each element c ij Are two-dimensional;the decoding of the point code in the written image may also result in a matrix, and the elements in the matrix are also two-dimensional, but since the written image can only collect a part of the whole content carrier, the decoded matrix is also only a part of the third bit matrix, and in the embodiment of the invention, the decoded matrix is referred to as a "third sub-bit matrix".
The data directly contained in the point code, i.e. the third sub-bit matrix, can be extracted in the existing manner.
For example, since grid lines are generally used for code laying, the dot codes can be set at different offset orientations with respect to the grid line intersections, and the different offset orientations of the dot codes with respect to the grid line intersections correspond to different values. For example, referring to FIG. 4, two grid lines 401 may form an intersection point, where the point code 410 is located at a different offset orientation, and may represent a different value; as shown in fig. 4, the dot code 410 may be located above, right, below, and left of the intersection of the grid lines to represent different values of 00, 01, 10, 11, respectively.
If the encoding is performed in the manner shown in fig. 4, the positions of the grid lines 401 may be determined according to the pitches of the codes 410 in the written image during decoding; further, the value represented by the dot code 410 is determined based on the degree to which the dot code 410 deviates from the grid line 401. After determining the value of each point code 410 in the written image, a third sub-bit matrix may be obtained, where each point code 410 in the written image corresponds to a two-dimensional element in the third sub-bit matrix.
Step C2: the third sub-bit matrix is split into a first sub-bit matrix for representing row information and a second sub-bit matrix for representing column information.
Contrary to the procedure in step B4, after the third sub-bit matrix is obtained, each two-dimensional element is split into two one-dimensional elements, and each split element is one-bit data. For example, if encoded, element c in the third bit matrix ij The upper bits of (a) are the data in the first bit matrix, element c ij The lower order bits of (a) are the data in the second matrix of bits, then splitting the third matrix of sub-bitsThe high order bits of all elements may be extracted to form a matrix capable of representing row information, i.e. a first sub-bit matrix, and the low order bits of all elements may be extracted to form a matrix capable of representing column information, i.e. a second sub-bit matrix. It will be appreciated that the first sub-bit matrix is part of a first bit matrix and the second sub-bit matrix is part of a second bit matrix.
Step C3: and respectively decoding the first sub-bit matrix and the second sub-bit matrix, and determining a main row number and a main column number corresponding to the position of the pen point.
As described above, each row in the first bit matrix is a debluring sequence, each column in the second bit matrix is a debluring sequence, so each row in the first sub-bit matrix is also a debluring sequence, and each column in the second sub-bit matrix is also a debluring sequence. Although the debluring sequences in the first and second sub-bit matrices are not necessarily complete, the actual data, namely the target sequence, is represented by the shift values of two adjacent debluring sequences during encoding, and the characteristics of the base Yu De brucine sequences can be known, and under the condition that the debluring sequences are incomplete, the shift values between the two debluring sequences can be determined, so that the decoding of the first and second sub-bit matrices is realized.
The decoding process in step C3 is opposite to the encoding processes shown in steps B31 to B34. The process of decoding the first sub-bit matrix and the process of decoding the second sub-bit matrix are similar to each other and will not be described in detail herein.
The first sub-bit matrix is divided into a plurality of target sub-sequences arranged in the column direction when it is decoded, i.e. the plurality of target sub-sequences are arranged in the column direction between them. Since each row of the first sub-bit matrix is a debluring sequence, each target sub-sequence is a debluring sequence, or a portion of a debluring sequence. The plurality of target subsequences are arranged in a column direction in which there are two adjacent target subsequences.
Because in the content carrier, the point codes and the content in the page to be paved may overlap, so that a lot of interference exists in the written image, it is difficult to accurately extract all the point codes in the written image range, and decoding fails. In the embodiment of the invention, part of elements in the extracted third sub-bit matrix are missing, which also results in that part or all of the target sub-sequences are missing, but corresponding shift values can still be obtained by decoding under the condition that two adjacent target sub-sequences contain a-bit continuous sequences which are not dislocated.
For a length of 2 a Comprises all subsequences of length a, and these subsequences occur in a fixed order, non-repeatedly, in the debluring sequence; if the Debrucine sequences are cyclically shifted, the positions of the sub-sequences are shifted accordingly. Thus, for two Debrucine sequences with cyclic shift, if the length is 2 a Any a-bit continuous sequence corresponding to the position in the two Debrucine sequences can represent the shift value between the two Debrucine sequences.
Taking a=3 as an example, and the debluring reference sequence is 00010111, the debluring reference sequence includes all subsequences of length 3, i.e., 000,001,010,101,011,111,110,100. If another Debrucine sequence is obtained by circularly shifting left two bits on the basis of the Debrucine reference sequence, namely the Debrucine sequence is 01011100; then, between sequence 00010111 and sequence 01011100, the position-corresponding 3-bit consecutive sequences, which may represent a shift value between the two sequences. Fig. 5 shows the two 8-bit debluring sequences, for which the 2 nd to 4 th bits, one 3-bit consecutive sequence is 001 and the other 3-bit consecutive sequence is 101, which are respectively located at the 2 nd and 4 th of the 8 subsequences (i.e., 000,001,010,101,011,111,110,100) represented by the debluring reference sequence, so that it can be determined that the two debluring sequences are cyclically shifted left by two bits. Similarly, for the 4 th to 6 th bits, one 3 rd continuous sequence is 101 and the other 3 rd continuous sequence is 111, and the two continuous sequences are respectively located at the 4 th and 6 th sub-sequences (i.e. 000,001,010,101,011,111,110,100) in the 8 sub-sequences represented by the Debrucine reference sequence, so that the cyclic left shift of two bits between the two Debrucine sequences can be determined as well. The other 3-bit sequences are similar to this and are not described in detail herein.
For the target subsequence extracted from the written image, if two adjacent target subsequences each include a b-bit continuous sequence (b is greater than or equal to a), and the two b-bit continuous sequences are not dislocated, i.e., the positions of the two b-bit continuous sequences correspond to each other, the shift value between the two b-bit continuous sequences can also be determined by using the position of each b-bit continuous sequence in the debluring reference sequence, and the shift value is also the shift value between the two target subsequences. In general, b=a may be taken, and the larger b is, the more accurate the decoding result can be ensured.
Therefore, as long as two adjacent target subsequences contain non-dislocated b-bit continuous sequences in the first sub-bit matrix, the corresponding shift value can be obtained by decoding, and the shift value is one target sequence in the process of encoding; multiple target sequences can be obtained through decoding through multiple different target subsequences, and corresponding target information, namely row information, is further determined.
The above decoding process is performed on the first sub-bit matrix and the second sub-bit matrix, so that corresponding row information and column information can be determined, that is, a main row number and a main column number can be determined. Since the writing image may include a plurality of encoding units, that is, a plurality of main line numbers and main column numbers, only the main line numbers and the main column numbers at the pen point can be determined. Alternatively, since the main line number and the main column number are regular, the main line number of the pen tip may be determined based on the main line number around the pen tip.
The dot code array provided by the embodiment of the invention has the advantages that the row information is represented by the Debrucine sequences arranged along the row direction, the column information is represented by the Debrucine sequences arranged along the column direction, and the shift value between two adjacent Debrucine sequences corresponds to the target sequence; when decoding part of the point codes in the point code array, the corresponding shift value can be obtained by decoding by utilizing any continuous sequence (namely, a continuous sequence of a bit) long enough in two adjacent Debrucine sequences, so that corresponding row information and column information can be obtained by restoring. The point code array has stronger anti-interference capability, a part of information can be decoded as long as a small block of non-interference area exists in the acquired writing image, and complete row information and column information can be spliced by utilizing a plurality of blocks of non-interference areas.
Optionally, step B2 "executed by the code paving module 20 determines the row information to be encoded for each row and the column information to be encoded for each column", which may specifically include the following steps B21 to B22.
Step B21: and determining the page identification of the page to be paved, and dividing the page identification into a first part and a second part.
Step B21: and combining the first part with the main row number of each row to obtain corresponding row information, and combining the second part with the main column number of each column to obtain corresponding column information.
In the embodiment of the invention, the unique page identification can be set for the pages to be paved so as to be capable of distinguishing different pages to be paved. For example, the page identifier of the page to be tiled may be set based on the above step A1.
In order to make full use of the row information and the column information, the embodiment of the invention divides the page identifier into two parts, namely, the page identifier is divided into a first part and a second part, the first part is used as part of data in the row information, and the second part is used as part of data in the column information. The dot code array obtained by encoding the row information and the column information comprises page identifiers of pages to be paved, so that different pages to be paved can be directly distinguished by using dot codes.
In general, the number of bits of the first portion and the second portion are the same so that the number of bits of the row information and the column information are the same. For example, the page identity may be 32 bits of data, the first and second portions split from which are 16 bits; for example, the first part is a 16-bit high-order part, and the second part is a 16-bit low-order part. If the row information and the column information are 8-bit data, the row information including the main row number and the first part is 24-bit data including the main column number and the second part Is also 24 bits of data. At this time, the row information and the column information can be divided into 5 target sequences of 5 bits, so that the length of the Debrucine reference sequence is not less than 2 5 =32, e.g. the length of the debluring reference sequence is 32.
Optionally, the converting each element in the third bit matrix into a corresponding point code in the step B5 "may specifically include: adding a row of delimiter codes for each main row number and adding a column of delimiter codes for each main column number; the code of the delimitation point is located at the intersection point of the grid lines.
In the embodiment of the invention, except for each element c in the third bit matrix ij Besides being converted into corresponding point codes, the method also adds a delimitation point code for realizing positioning; and, each main line number corresponds to a line of the delimiter code, and each main column number corresponds to a column of the delimiter code. To be able to contain element c ij The boundary point code is located at the intersection point of the grid lines, i.e. the boundary point code has no offset. In the embodiment of the invention, the delimiting point codes are positioned at the intersections of the grid lines, that is, the intervals of one row or one column of delimiting point codes are equal, so that it can be determined which point codes are delimiting point codes, and then a third sub-bit matrix containing row information and column information is generated.
Taking the length of the Debrucine reference sequence as 32 as an example, namely a=5, each row of information is divided into 5 rows of target sequences, each column of information is divided into 5 columns of target sequences, namely each main row number and each main column number correspond to point codes of 5 rows or 5 columns; after one row and one column of the delimitation point codes are added, each main row number corresponds to the point code of 6 rows, and each main column number corresponds to the point code of 6 columns. As described above, the page to be coded may be divided into a plurality of coding units, each coding unit corresponds to a main line number and a main column number, and if the length corresponding to each main line number and main column number is 1.8mm, the distance between any two lines or columns of dot codes is 0.3mm. Wherein, the dot codes of 5 rows and 5 columns are used for representing the element c ij The remaining 1 row and 1 column are used to set the delimiter code.
For example, the row information and the column information each include a part of the page identifier, and are each divided into 5 target sequences of 5 bits, i.e., a=5, and the length of the debluring reference sequence is 32; in the encoding process, a delimiter point code is additionally arranged, so that each main line number corresponds to the point code of 6 lines, and each main column number corresponds to the point code of 6 columns. In the embodiment of the present invention, the arrangement of the dot codes in the writing image is shown in fig. 6, that is, the writing image includes four coding units, and the total of the dot codes includes 12 rows and 12 columns. If the pen point is in the coding unit at the lower right corner, determining the main line number and the main column number corresponding to the coding unit at the lower right corner. In fig. 6, the delimiter code 420 is set in the 3 rd row, 9 th row, 3 rd column, and 9 th column as an example. In the embodiment of the present invention, the grid line on which the delimiter point code 420 is set is referred to as the borderline 402, and it can be understood that the borderline 402 is also a grid line, and the grid line only plays an auxiliary positioning role in the actual code laying process, and no grid line exists in the generated point code array.
Taking the main line number as an example, if the first part of the page code is located at the high position of the line information and the main line number is located at the low position of the line information, the first part is 16 bits and the main line number is 8 bits. If the target sequences of all the line information are set in order from top to bottom, in fig. 6, lines 1, 2, 4 or lines 7, 8, 10 can each represent part of the data in the first portion, and are identical, for example, the shift values between lines 1 and 2 are identical to the shift values between lines 7 and 8. The shift value between the 5 th and 6 th rows indicates the main line numbers of the upper left and right encoding units in fig. 6, the shift value between the 11 th and 12 th rows indicates the main line numbers of the lower left and right encoding units in fig. 6, and the two main line numbers differ by 1. Thus, by determining the shift value between the 5 th and 6 th lines, or the shift value between the 11 th and 12 th lines, the main line number of the lower right encoding unit can be determined.
For the shift value between the 1 st line and the 2 nd line, the shift value between the 1 st line and the 2 nd line can be decoded based on the two consecutive sequences as long as the 1 st line and the 2 nd line contain not less than 5 bits of consecutive sequences and the two consecutive sequence positions correspond, except the delimiter point code 420. For example, if columns 1 to 6 (including a column of the delimiting point code 420 therebetween) are consecutive, i.e. the point codes are all extractable, and there is no interference, the shift value between rows 1 and 2 can be determined by using the data of columns 1 to 6 in rows 1 and 2; of course, the shift value between the 1 st row and the 2 nd row can be determined by using any one of the data of the 2 nd column to the 7 th column, the 3 rd column to the 8 th column, the … … th column and the 7 th column to the 12 th column. The decoding mode has higher fault tolerance rate, can effectively resist the interference existing in the written image, and can generally decode and obtain the information in the point code array under the condition that the interference exists in part of the point codes acquired in the written image.
When the delimiter point code 420 exists in the point code array, each coding unit can be conveniently divided by using the delimiter line 402; if the dot code array is not provided with the delimiter dot code 420, each coding unit may be distinguished by the feature that the adjacent main line number differs by 1 and the rest of the information (e.g., the first part of the page coding) is the same, which will not be described in detail in this embodiment.
In the actual code spreading process, a delimiter can be inserted into each a submatrix of a third bit matrix so that the delimiter represents a delimiter point code; wherein each a×a sub-matrix corresponds to one coding unit. Since the code of the delimitation point is precisely positioned at the intersection point of the grid lines, the position of each coding unit can be conveniently determined during decoding, and the positioning can be more accurately performed.
Alternatively, since the angle of the dot matrix pen may be arbitrary when the user writes with the dot matrix pen, there are a plurality of possible orientations based on the dot code extracted from the written image; accordingly, a plurality of third sub-bit matrices can be obtained from the point code of the written image. Since the dot codes are arranged in rows and columns, four third sub-bit matrices can be obtained. That is, when the angle of the written image is 0 °, 90 °, 180 °, 270 °, a third sub-bit matrix can be extracted respectively. It is also necessary to determine which direction is correct during decoding, and the traditional method is implemented by using the difference of the dot spacing of a specific position in a certain direction, and the interference resistance of the scheme is weak.
As described above, in the embodiment of the present invention, the point code has four values, and different offset orientations of the point code relative to the intersection points of the grid lines represent different values, which can be seen in FIG. 4. The mode of setting the point code combines the characteristics of the Debrucine sequence, can conveniently and accurately realize orientation during decoding, can determine a proper third sub-bit matrix, has stronger anti-interference capability in the orientation process, and has more accurate orientation.
In the embodiment of the invention, the length is 2 a Any sequence of length a (i.e., the number of bits of the sequence is a) is part of the Debrucine sequence, whereas for a sequence of length c, where c > a, the sequence is not necessarily part of the Debrucine sequence. Taking this sequence as a continuous sequence for example, if the length of the debluring sequence is 8 and is 00010111, for any 3-bit continuous sequence, it is part of the debluring sequence; while for a longer contiguous sequence of 4 bits or 5 bits, etc., it does not necessarily belong to a part of the debluring sequence, e.g. the contiguous sequence 0000, 1010, 1111 of 4 bits, etc., it is not in the debluring sequence 00010111. However, the Debrucine sequence 00010111 also includes a partial 4-position continuous sequence, for example, 0001, 0010, 0101, and the like. For sequences where the c-position is not consecutive, this also applies; for example, the third of the 5 point codes has interference, and only four point codes can be read out, and the four point codes correspond to a sequence of 00X00, wherein X represents unknown data, and the sequence is a discontinuous sequence and is not in the Debrucine sequence; the Debrucine sequence also contains some discontinuous sequences in the format, such as 00X10, 00X01, 01X11, etc.
If the orientation of the written image is correct, a correct third sub-bit matrix can be extracted, and accordingly, each target sub-sequence is a Debrucine sequence which is basically the same as the Debrucine reference sequence, and only has certain shift. In this case, the sequence at any c-position in the target subsequence, which has a high degree of accuracy, e.g., accuracy of 1, is part of the deblurring reference sequence. Conversely, if the orientation of the written image is incorrect, the extracted third sub-bit matrix is also incorrect, and the target sub-sequence is not the debluring sequence or is another debluring sequence different from the debluring reference sequence, so that in the target sub-sequence, a c-bit sequence which does not belong to the debluring reference sequence may occur with a high probability, and the target sub-sequence has a low accuracy, for example, an accuracy of 0. Alternatively, in the case where the sequence at position c in the target subsequence belongs to a portion of the debluryin reference sequence, the greater c, the greater the accuracy of the target subsequence.
The correctness of the first sub-bit matrix and the second sub-bit matrix can be determined by integrating the correctness of at least part of the target sub-sequences, for example, the correctness of the first sub-bit matrix can be determined by means of averaging, weighted summation and the like, which is not limited by the embodiment of the present invention. If the accuracy of the first sub-bit matrix meets the requirement, that is, the accuracy of the first sub-bit matrix is large enough, the direction of the first sub-bit matrix can be determined to be correct. For example, if the accuracy of the first sub-bit matrix is greater than a predetermined threshold, or the accuracy of the first sub-bit matrix is the largest of the four first sub-bit matrices determined based on the four third sub-bit matrices, the first sub-bit matrix may also be determined to be correct.
And determining whether the directions of the first sub-bit matrix and the second sub-bit matrix are correct, and if the directions of the first sub-bit matrix and the second sub-bit matrix are correct, determining that the current direction of the writing image is correct.
Specifically, because the embodiment of the invention uses different offset orientations of the point code relative to the intersection points of the grid lines to represent different values of the point code, when the orientation of the written image is incorrect, the value represented by the point code is also incorrect, so that the extracted third sub-bit matrix is incorrect. Taking fig. 4 as an example, if a certain point code bit is actually located above the intersection of the grid lines, as shown in fig. 4 (a), the point code is 00; if the acquired written image is rotated 90 ° clockwise, the point code is located right of the intersection of the grid lines in the written image, as shown in (b) of fig. 4, and the point code is 11, resulting in incorrect third sub-bit matrix extracted at this time. By identifying the correct third sub-bit matrix, the correct direction of the written image can be determined.
Optionally, in order to be able to distinguish the first sub-bit matrix from the second sub-bit matrix relatively well, in the embodiment of the present invention, the point codes located above, right, lower, and left intersecting points of the grid lines are circularly arranged in the order of 00, 01, 10, and 11, or the values represented by the four point codes are circularly arranged in the order of 00, 10, 01, and 11; for example, the upper dot code represents 00, the right dot code represents 01, the lower dot code represents 10, and the left dot code represents 11.
Because the high order bit and the low order bit of the point code respectively correspond to the data in the two sub-bit matrixes (namely the first sub-bit matrix and the second sub-bit matrix), when the two sub-bit matrixes rotate by the same angle according to the coding mode, the first sub-bit matrix and the second sub-bit matrix can change differently.
For example, the high order of the dot code corresponds to the first sub-bit matrix, the low order of the dot code corresponds to the second sub-bit matrix, and the values represented by the four dot codes are arranged in a cyclic manner in the order of 00, 01, 10, 11, i.e. when the image is written by rotating clockwise, the high bit of a certain point code can be changed in the mode of 0-1-0, the low order bits of a certain point code may be as follows 0 the manner of → 1 → 0 → 1 → 0 varies. In this case, if the written image is rotated by 90 ° or 270 °, the high order of one part of the dot code remains unchanged (i.e., still 0, or still 1), while the high order of the other part of the dot code changes (from 0 to 1, or from 1 to 0); while the low order bits of all the point codes will change. If the written image rotates 180 degrees, the high positions of all the point codes are changed; while the lower bits of one part of the point code remain unchanged, and the lower bits of the other part of the point code change. That is, no matter how much the angle of the written image rotates, one of the first sub-bit matrix and the second sub-bit matrix changes in part of data, and all the data of the other matrix changes, so that the c-bit sequences which do not belong to the Debrucine reference sequence are easier to appear in different changing modes, and the correct direction is easier to determine.
In the embodiment of the invention, the matching degree of the multi-bit sequence in the target subsequence and the Debrucine reference sequence can be utilized to determine whether the target subsequence is correct, so that the orientation is realized, the orientation can be realized more accurately even if more interference exists in a written image, and the orientation has stronger anti-interference capability. The row information and the column information both contain a part of page identification, the page identification is global information, adjacent main row numbers and adjacent main column numbers are different by 1, and the main row numbers, the main column numbers and the global information are distributed in the whole point code array, so that the accuracy in local decoding can be further improved.
Further optionally, as described above, for a certain length 2 a There are a variety of debluring sequences; for example, there are 65536 total 32-bit deblurring sequences. In theory, any Debrucine sequence can be used as a Debrucine reference sequence, but because of the interference of the actually acquired point codes, for example, the interference of the third sub-bit matrix, in order to further improve the anti-interference performance, the Debrucine reference sequence is selected in a selective mode. Specifically, the paving code printing gateway provided by the embodiment of the invention further comprises a selection module for selecting the debluring reference sequence, and the selection module can be specifically used for executing the following steps D1 to D3.
Step D1: determining a decoding bit number d for decoding and presetting an interference bit number p; d-p > a.
In the embodiment of the invention, continuous a-bit sequences can not be acquired due to interference of the actually acquired point codes; for example, in the first or second sub-bit matrix, there is no consecutive a-bit data in a certain row or column. In order to improve anti-interference performance, an interference bit number p is preset, and a proper Debrucine sequence is selected as a Debrucine reference sequence based on the interference bit number p.
The interference bit number p is the interference allowed in the acquired point code. For example, if there is a black straight line in the written image, the black line occupies the width of two dot codes, which results in that two rows or two columns of dot codes are unknown in the acquired dot codes, and p may be set to 2. The size of the interference bit p may be specifically determined based on practical situations or may be selected based on human experience, which is not limited in this embodiment.
The decoding bit number d represents the number of bits that can be decoded by d-bit data in the presence of p-bit unknowns; from the nature of the Debrucine reference sequence, the number of decoding bits p cannot be smaller than a+p, i.e. d-p > a; in other words, in the d-bit data, the number of bits of the remaining data after the p-bit data is removed cannot be smaller than a.
In addition, because the acquisition range of the lattice pen camera is limited, the decoding bit number d cannot be too large, and in general, the decoding bit number d does not exceed the maximum point code bit number corresponding to the acquisition range of the camera.
Step D2: taking p-bit data of the d-bit continuous sequence in the Debrucine candidate sequence as an unknown number to form a sequence to be processed containing the p-bit unknown number; the Debrucine candidate sequence is of length greater than or equal to 2 a Is a Debrucine sequence.
In the embodiment of the invention, when a Debrucine sequence with a certain length is required to be selected as a Debrucine reference sequence, any one of the Debrucine sequences is used as a Debrucine candidate sequence; for example, the length of the Debrucine candidate sequence is 2 a
After determining the Debrucine candidate sequence, arbitrarily selecting a d-bit continuous sequence from the Debrucine candidate sequence, for example, taking the data from the 1 st bit to the d-th bit (or the 2 nd bit to the d+1 th bit, etc.) in the Debrucine candidate sequence as the d-bit continuous sequence; and taking p-bit data in the d-bit continuous sequence as an unknown number, thereby forming a to-be-processed sequence containing the p-bit unknown number, wherein the to-be-processed sequence is also d-bit, and only the p-bit unknown data exists in the to-be-processed sequence.
For example, if d=10 and p=2, then a D-bit contiguous sequence may be selected from the debluring candidate sequences, which is denoted by DDDDDDDDDD in this embodiment, where D represents a certain binary, specifically 0 or 1; also, D refers only to the binary of a certain position, and D of different positions may represent different values. Taking the 2-bit data of the 10-bit continuous sequence as an unknown number X, a new sequence, namely a sequence to be processed, can be formed; the sequence to be processed may be represented as DDDDXXDDDD, or DDDDXDDXDD, or the like, for example.
It will be appreciated that for a length of 2 a Debrucine candidate sequences of (2) can be extracted therefrom a A different d-bit contiguous sequence; and, for each d-bit continuous sequence, the data of p bits is arbitrarily selected as an unknown number to form different sequences to be processed, and the sequence is common based on an arrangement and combination formula
Figure SMS_1
And (3) sequences to be processed. Thus the Debrucine candidate sequence can be determined +.>
Figure SMS_2
And (3) sequences to be processed.
Step D3: judging whether the sequence to be processed is unique in the Debrucine candidate sequence or not; and if the Debrucine candidate sequence is unique to any sequence to be processed, taking the Debrucine candidate sequence as a Debrucine reference sequence.
In the embodiment of the invention, the sequence to be processed is d-bit data, but only d-q-bit data is valid, and other q-bit data are unknowns which are not used for judging whether the sequence to be processed is unique or not; i.e. based on the d-q bit data only, but the positions of these data need to be considered in the decision process, i.e. the d-q bit data is not a continuous sequence. For example, a=3, q=1, d=5, and the deblurring candidate sequence is 00011101; for the sequence to be processed 00X11, which appears twice in the debrufin candidate sequence, namely "00011" and "00111", the sequence to be processed is not unique.
Specifically, for a slave length of 2 a Extracted 2 in Debrucine candidate sequence a A d-bit continuous sequence, wherein if p-bit data at the same position in the d-bit continuous sequence is used as an unknown number, and 2 is determined at the time a The sequences to be processed are different from each other, which means that 2 a The individual sequences to be processed are unique among the debluring candidate sequences; by changing the position of the p-bit data, other sequences to be processed can be judgedUniqueness; if all the sequences to be processed have uniqueness, the Debrucine candidate sequence can be used as a Debrucine reference sequence.
Alternatively, for a certain sequence to be processed, there is 2 for the value of the p-bit unknowns therein p In the case of the above example, if the sequence to be processed is DDDDXXDDDD, it corresponds to 4 sequences, namely: DDDD00DDDD, DDDD01DDDD, DDDD10DDDD, and DDDD11DDDD; if this 2 p Only one sequence in the seed sequence belongs to the debluring candidate sequence, the uniqueness of the sequence to be processed can also be determined.
It should be noted that, if there is a known number with a continuous bits in the sequence to be processed, still taking the above example as an example, if the sequence to be processed is DDDDDXXDDD, and the first 5 bits are the known number with continuous bits, the sequence to be processed must be unique, and at this time, the step D3 is not required to be executed, that is, the uniqueness of the sequence to be processed is not required to be determined.
Accordingly, in the course of the decoding process, if the adjacent two target subsequences do not include b-bit consecutive sequences, the shift value between the two debluring sequences cannot be determined using the two b-bit consecutive sequences, but the following step E1 is performed.
Step E1: in the case where the adjacent two target subsequences do not contain b-bit consecutive sequences, d-bit sequences of the adjacent two target subsequences are determined, and a shift value between the two d-bit sequences is taken as a shift value between the adjacent two target subsequences.
In the embodiment of the present invention, if the b-bit continuous sequence is not included, for example, the a-bit continuous sequence is not included, the D-bit sequence therein may be determined, and if the number of interfered point codes is not more than p, based on the encoding process shown in the steps D1 to D3, the position of the D-bit sequence in the deblur reference sequence may be uniquely determined, so that the shift value between the two D-bit sequences may be determined. If the number of interfered point codes exceeds p, the value of d needs to be increased until decoding fails.
In the description of the present invention, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", etc. indicate orientations or positional relationships based on the orientations or positional relationships shown in the drawings are merely for convenience in describing the present invention and simplifying the description, and do not indicate or imply that the devices or elements referred to must have a specific orientation, be configured and operated in a specific orientation, and thus should not be construed as limiting the present invention.
Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. In the description of the present invention, the meaning of "a plurality" is two or more, unless explicitly defined otherwise.
In the present invention, unless explicitly specified and limited otherwise, the terms "mounted," "connected," "secured," and the like are to be construed broadly and may be, for example, fixedly connected, detachably connected, or integrally connected; can be mechanically or electrically connected; can be directly connected or indirectly connected through an intermediate medium, and can be communication between two elements. The specific meaning of the above terms in the present invention can be understood by those of ordinary skill in the art according to the specific circumstances.
The foregoing is merely illustrative of the present invention, and the present invention is not limited thereto, and any person skilled in the art can easily think about variations or alternatives within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (10)

1. A blanket-coded printing gateway, comprising: the system comprises a first communication module, a code spreading module and a second communication module; the first communication module is used for being connected with the user terminal, and the second communication module is used for being connected with the printer;
the first communication module is used for acquiring a page to be paved and a paving form transmitted by the user terminal;
the spreading module is used for determining a point code array corresponding to the page to be spread according to the spreading form, and superposing the page to be spread and the point code array to generate a spreading file;
the second communication module is used for sending the spread code file to a printer and indicating the printer to print the spread code file.
2. The blanket printing gateway of claim 1, wherein said first communication module is adapted to connect to a plurality of said user terminals.
3. The blanket code printing gateway of claim 1, further comprising: a memory;
the memory stores a plurality of point code arrays;
the process of determining the point code array corresponding to the spreading mode by the spreading module comprises the following steps:
and selecting a point code array corresponding to the spreading code form from the memory.
4. The code printing gateway of claim 1, wherein the number of pages to be code printed is a plurality;
the code spreading module is specifically used for:
according to the sequence of a plurality of pages to be paved, page identifiers which are arranged in sequence are respectively arranged for each page to be paved;
respectively determining a point code array corresponding to each page to be paved according to the paving form, wherein the point code array comprises a corresponding page identifier;
superposing t non-spread code pages with the front order with the corresponding dot code arrays respectively by using t parallel spreading channels to form a spreading page corresponding to the to-be-spread code pages;
and sequencing a plurality of corresponding paving pages according to the sequence of the plurality of the pages to be paved, and generating the paving file.
5. The blanket code printing gateway of any of claims 1-4, wherein said process of said blanket code module determining a dot code array corresponding to said page to be blanket coded according to said blanket code pattern comprises:
determining a plurality of main line numbers and a plurality of main column numbers which accord with the spreading form, wherein the sizes corresponding to the main line numbers are not smaller than the height of the page to be spread, and the sizes corresponding to the main column numbers are not smaller than the width of the page to be spread;
Determining row information to be encoded of each row and column information to be encoded of each column, wherein the row information comprises a main row number, and the column information comprises a main column number;
encoding the row information and the column information respectively to generate a first bit matrix containing all the row information and a second bit matrix containing all the column information, wherein the number of rows and columns of the first bit matrix is the same as that of the second bit matrix;
combining the first bit matrix and the second bit matrix into a third bit matrix; the elements in the third bit matrix are two-dimensional and include elements at the same position in the first bit matrix and elements at the same position in the second bit matrix; and
converting each element in the third bit matrix into a corresponding point code to generate a point code array;
wherein the encoding process includes:
dividing target information into a target sequences, wherein the number of bits of the target sequences is a;
sequentially setting a plurality of Debrucine sequences along a first direction, wherein a shift value between two adjacent Debrucine sequences corresponds to the target sequence, and the Debrucine sequencesThe sequence corresponds to the target sequence of all the target information; each Debrucine sequence is obtained by shifting the same Debrucine reference sequence, and the length of the Debrucine reference sequence is not less than 2 a
In a replication mode, expanding each Debrucine sequence along a second direction, wherein the expanded Debrucine sequences can cover the page to be paved in the second direction; and
taking matrixes corresponding to the plurality of extended Debrucine sequences as bit matrixes containing all the target information;
the target information is the row information, the first direction is a column direction, and the second direction is a row direction; alternatively, the target information is the column information, the first direction is a row direction, and the second direction is a column direction.
6. The blanket printing gateway of claim 5, wherein the row information and the column information are encoded using a same debrufin reference sequence.
7. The blanket code printing gateway of claim 5, wherein said determining row information to be encoded for each row and column information to be encoded for each column comprises:
determining a page identifier of the page to be paved, and dividing the page identifier into a first part and a second part;
and combining the first part with the main row number of each row to obtain corresponding row information, and combining the second part with the main column number of each column to obtain corresponding column information.
8. The code-laying printing gateway of claim 5 wherein different offset orientations of the dot code relative to grid line intersections correspond to different values.
9. The blanket-coded printing gateway of claim 8, wherein the dot codes above, right, lower, left dot codes at the intersection of the grid lines are arranged in a cyclic order of 00, 01, 10, 11 or in a cyclic order of 00, 10, 01, 11.
10. The blanket code printing gateway of claim 8, wherein said converting each element in said third bit matrix to a corresponding dot code comprises:
adding a row of delimiter codes for each main row number and adding a column of delimiter codes for each main column number; and the delimitation point codes are positioned at the intersection points of the grid lines.
CN202310538547.6A 2023-05-15 2023-05-15 Shop code printing gateway Active CN116260681B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310538547.6A CN116260681B (en) 2023-05-15 2023-05-15 Shop code printing gateway

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310538547.6A CN116260681B (en) 2023-05-15 2023-05-15 Shop code printing gateway

Publications (2)

Publication Number Publication Date
CN116260681A true CN116260681A (en) 2023-06-13
CN116260681B CN116260681B (en) 2023-07-21

Family

ID=86684688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310538547.6A Active CN116260681B (en) 2023-05-15 2023-05-15 Shop code printing gateway

Country Status (1)

Country Link
CN (1) CN116260681B (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576995A (en) * 2009-04-30 2009-11-11 北大方正集团有限公司 Storing method of rasterization lattice of variable data printed page
CN109840507A (en) * 2019-02-12 2019-06-04 致信至远科技发展(天津)有限公司 Mobile administrative law enforcement method, apparatus and electronic equipment
CN111310540A (en) * 2019-11-27 2020-06-19 南京孜博汇信息科技有限公司 Method for realizing digitization of answer sheet based on dot matrix
CN112118017A (en) * 2020-11-18 2020-12-22 北京一起教育科技有限责任公司 Serial number encoding and decoding methods and devices and electronic equipment
CN112162713A (en) * 2020-09-11 2021-01-01 深圳市鹰硕教育服务有限公司 File printing method, system and server
CN112181323A (en) * 2020-09-11 2021-01-05 深圳市鹰硕教育服务有限公司 Operation arrangement method, device, system and server
WO2022016652A1 (en) * 2020-07-24 2022-01-27 深圳市鹰硕教育服务有限公司 Lattice notebook interaction method
WO2022082714A1 (en) * 2020-10-23 2022-04-28 深圳市鹰硕教育服务有限公司 Homework assignment and correction method and system, and server
CN115291820A (en) * 2022-10-08 2022-11-04 青岛罗博科技有限公司 Test paper digital printing device and method convenient to operate
CN115617283A (en) * 2022-10-13 2023-01-17 卫宁健康科技集团股份有限公司 Data source printing method and device, electronic equipment and storage medium
CN116108804A (en) * 2023-04-06 2023-05-12 青岛罗博数码科技有限公司 Point code file generation method, content review method and content review system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576995A (en) * 2009-04-30 2009-11-11 北大方正集团有限公司 Storing method of rasterization lattice of variable data printed page
CN109840507A (en) * 2019-02-12 2019-06-04 致信至远科技发展(天津)有限公司 Mobile administrative law enforcement method, apparatus and electronic equipment
CN111310540A (en) * 2019-11-27 2020-06-19 南京孜博汇信息科技有限公司 Method for realizing digitization of answer sheet based on dot matrix
WO2022016652A1 (en) * 2020-07-24 2022-01-27 深圳市鹰硕教育服务有限公司 Lattice notebook interaction method
CN112162713A (en) * 2020-09-11 2021-01-01 深圳市鹰硕教育服务有限公司 File printing method, system and server
CN112181323A (en) * 2020-09-11 2021-01-05 深圳市鹰硕教育服务有限公司 Operation arrangement method, device, system and server
WO2022082714A1 (en) * 2020-10-23 2022-04-28 深圳市鹰硕教育服务有限公司 Homework assignment and correction method and system, and server
CN112118017A (en) * 2020-11-18 2020-12-22 北京一起教育科技有限责任公司 Serial number encoding and decoding methods and devices and electronic equipment
CN115291820A (en) * 2022-10-08 2022-11-04 青岛罗博科技有限公司 Test paper digital printing device and method convenient to operate
CN115617283A (en) * 2022-10-13 2023-01-17 卫宁健康科技集团股份有限公司 Data source printing method and device, electronic equipment and storage medium
CN116108804A (en) * 2023-04-06 2023-05-12 青岛罗博数码科技有限公司 Point code file generation method, content review method and content review system

Also Published As

Publication number Publication date
CN116260681B (en) 2023-07-21

Similar Documents

Publication Publication Date Title
US6000621A (en) Tilings of mono-code and dual-code embedded data pattern strips for robust asynchronous capture
JP4810918B2 (en) Code pattern image generating apparatus and method, code pattern image reading apparatus and method, and code pattern image medium
CN101763895B (en) Data storage device and data storage system having randomizer/de-randomizer
CN102004929B (en) Method for embedding and identifying information in print image
US5717197A (en) Tiled embedded data block-types for generic embedded data block systems
JP2003528388A (en) Document processing
US5694102A (en) Vector reconstruction of asynchronously captured tiled embedded data blocks
CN101296280B (en) Printing system, image processing method and device
AU2007254619B2 (en) Barcode removal
US7898697B2 (en) Printing device, electronic document management system, printing medium, print processing method, and program
SE518962C2 (en) Product and method for encoding data into a matrix-shaped coding pattern
CN104428778A (en) Method of water-marking digital books
AU2017380263B2 (en) Method for detecting and recognising long-range high-density visual markers
CN101751656B (en) Watermark embedding and extraction method and device
CN116260681B (en) Shop code printing gateway
AU2011276969B2 (en) Dot code pattern for absolute position and other information using an optical pen, process of printing the dot code, process of reading the dot code
JP4670740B2 (en) Image generating apparatus, image processing system, and program
US20070242305A1 (en) Writing information processing apparatus, writing information processing method and computer readable medium storing program for implementing writing information processing
CN104052774A (en) Data transmission method and system
JP5929505B2 (en) Information processing apparatus and information processing program
US8019181B2 (en) Image generation apparatus, image processing apparatus, computer readable medium and computer data signal
US8005256B2 (en) Image generation apparatus and recording medium
CN107122067B (en) Method and device for encoding and decoding surface position of physical medium and readable storage medium
CN106403962B (en) The coding of position mark
CN105005905A (en) Generating and examination method and system for printing product with traceable anti-counterfeit medallion plate texture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant