Double digital watermark system and double digital watermark method

The double digital watermark system addresses the vulnerability of single-key watermarking by using two keys and statistical detection, ensuring reliable source determination of text data.

JP2025166897APending Publication Date: 2025-11-07HITACHI LTD

Patent Information

Application Number
JP2024071078
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-25
Publication Date
2025-11-07

AI Technical Summary

Technical Problem

Existing digital watermarking technologies using a single key for embedding and detection are vulnerable to key leakage, making it difficult to determine the source of text data generated by a language model.

Method used

A double digital watermark system that embeds watermarks using two different keys and employs a digital watermark detection device to verify the presence or absence of each watermark, even after one key has been leaked, by calculating scores based on statistical tests.

Benefits of technology

Ensures the source of text data generated by a language model can be determined reliably even if one key corresponding to the digital watermark is compromised.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025166897000001_ABST
    Figure 2025166897000001_ABST
Patent Text Reader

Abstract

To discriminate a generation source of text data even after a digital watermark key has leaked.SOLUTION: In a double digital watermark system 1, a digital watermark embedding device classifies, by a first key and a hash function, a plurality of tokens generated next from a first token into a first group or a second group; receives tokens of the first group; classifies, by a second key and the hash function, a plurality of tokens generated next from a second token of a token sequence into a third group or a fourth group; and increases probabilities of tokens of the first and third groups. A digital watermark detector calculates, by the first token and the first key, the number of tokens of the first group; calculates, by the second key, the number of tokens of the third group; and determines presence or absence of first and second digital watermarks on the basis of a first score obtained by a statistical test from the calculated numbers of tokens and a total number of tokens, and a second score obtained by a statistical test from the number of tokens of the first group.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to digital watermarking systems, and more particularly to techniques for embedding and detecting double digital watermarks. [Background technology]

[0002] Digital watermarking technology is known as a technique for identifying the origin of digital content, such as images and text, generated by a language model (see, for example, Patent Documents 1 and 2). Identifying the origin of data derived from a language model is crucial for preventing the spread of misinformation and misuse of the language model. A language model generates sequential data by sequentially predicting the next token from a previously generated token sequence. A digital watermarking technique that focuses on the generation process of such a language model has been proposed, which uses a key associated with the owner of the language model (see, for example, Non-Patent Document 1). In this method, a key and some tokens included in the previously generated token sequence are input into a hash function, and based on the seed value obtained as the output, all token candidates are classified into a probability-increased group and a probability-unincreased group. Subsequently, by increasing the probability of generating tokens belonging to the probability-increased group, a token occurrence pattern uniquely associated with the key can be embedded as a digital watermark in the generated token sequence.

[0003] To detect a digital watermark, the same process is repeated using the key used for generation. The presence or absence of a digital watermark is determined based on the proportion of tokens belonging to the probability-increased group. Specifically, the key and the target text tokens are input into a hash function, starting from the beginning, to obtain groups with and without probability increase corresponding to each target token position. If the target token belongs to the probability-increased group, it is counted as a probability-increased token. This process is performed for all tokens to calculate the proportion of tokens belonging to the probability-increased group. Next, the presence or absence of a digital watermark is determined probabilistically based on statistical hypothesis testing. Here, the null hypothesis to be rejected is assumed to be that "a digital watermark using the corresponding key is not embedded in the given token sequence." If a digital watermark using the corresponding key is not embedded, the probability distribution correction operation is not performed, and the proportion of tokens belonging to the probability-increased group is probabilistically approximately halved. On the other hand, if a watermark is embedded, the proportion of tokens belonging to the probability-increased group will be higher than normal, and the degree of this bias can be calculated by calculating the z-score. Therefore, if we obtain a z-score that exceeds a sufficiently high threshold, we can reject the null hypothesis with high confidence and consequently detect the digital watermark. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 7384216 [Patent Document 2] Patent No. 7315030 [Non-patent literature]

[0005] [Non-Patent Document 1] John Kirchenbauer, Jonas Geiping, Yuxin Wen, Jonathan Katz, Ian Miers, and Tom Goldstein. 2023. A watermark for large language models. arXiv preprint arXiv:2301.10226 Summary of the Invention [Problem to be solved by the invention]

[0006] The technology described in Non-Patent Document 1 uses a single key for embedding and detecting a digital watermark. Therefore, if a digital watermark is embedded and detected using the technology described in Non-Patent Document 1, if the key is leaked, the same digital watermark can be reproduced by someone other than the original key owner, making it difficult to determine the source of the text.

[0007] The present invention has been made in consideration of the above-mentioned problems, and aims to provide a technology that makes it possible to determine the source of text data generated by a language model when a digital watermark is embedded in the text data, even after one key corresponding to the digital watermark has been leaked. [Means for solving the problem]

[0008] The double digital watermark system according to the present invention is a system comprising: a digital watermark embedding device that embeds a digital watermark in a token sequence generated by a language model in a process in which the language model generates a token sequence different from the token sequence received from a user in response to the token sequence received from the user, using a computer having at least a processor and a storage device; and a digital watermark detection device that detects, using a computer having at least a processor and a storage device, that the token sequence received from the user is one that was generated by the language model. The digital watermark embedding device has a first digital watermark token selection unit that classifies multiple tokens that are generated next from a first token included in a token sequence received from a user and a token sequence generated by a language model into either a first group or a second group using a first key and at least a hash function corresponding to the first key; a second digital watermark token selection unit that receives tokens belonging to the first group classified by the first digital watermark token selection unit and classifies multiple tokens that are generated next from a second token included in a token sequence received from a user and a token sequence generated by a language model into either a third group or a fourth group using a second key different from the first key and at least a hash function corresponding to the second key; and a token probability correction unit that increases the probability of tokens belonging to the first group and tokens belonging to the third group.The digital watermark detection device uses a first digital watermark token detection unit to calculate the number of tokens classified into a first group using a first token included in a token sequence received from a user and a first key, and a second digital watermark token detection unit to calculate the number of tokens classified into a third group using a second key from the tokens classified into the first group by the first digital watermark token detection unit, and a digital watermark judgment unit to determine the presence or absence of each of the first digital watermark and the second digital watermark by comparing the first score and the second score with a predetermined threshold based on: a first score calculated by a statistical test performed from the number of tokens calculated by the first digital watermark token detection unit and the total number of tokens included in the received token sequence; and a second score calculated by a statistical test performed from the number of tokens calculated by the second digital watermark token detection unit and the number of tokens classified into the first group by the first digital watermark token detection unit.

[0009] Other problems and solutions disclosed in the present application will be made clear in the detailed description and drawings. [Effects of the Invention]

[0010] According to the present invention, when a digital watermark is embedded in text data generated by a language model, the source of the text data can be determined even after one key corresponding to the digital watermark is leaked. [Brief explanation of the drawings]

[0011] [Figure 1] 1 is a diagram showing an example of the configuration of an entire system including a double digital watermark system according to an embodiment; [Figure 2] 1 is a diagram illustrating an example of the configuration of a digital watermark embedding device that constitutes a double digital watermark system. [Figure 3] 1 is a diagram illustrating an example of the configuration of a digital watermark detection device that constitutes a double digital watermark system. [Figure 4]10 is a flowchart showing an example of the flow of a digital watermark embedding process. [Figure 5] 10 is a flowchart showing an example of the flow of a digital watermark detection process. DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. However, the present invention is not limited to the description of the embodiments exemplified below. Examples in which the specific configuration is modified are also included within the scope that does not deviate from the idea or purpose of the present invention. For example, the following embodiments are a detailed description of the present invention, and are not necessarily limited to those that include all of the configurations included in the description.

[0013] In the configuration of the invention described below, the same parts and / or elements, or parts and / or elements having similar functions, will be denoted by the same symbols in different drawings, and duplicated explanations may be omitted.

[0014] Furthermore, when there are multiple identical parts and / or elements, or parts and / or elements with similar functions, the same reference numerals may be used with different subscripts to distinguish between the multiple parts and / or elements. On the other hand, when there is no need to distinguish between the multiple parts and / or elements, the subscripts may be omitted.

[0015] The terms "first," "second," "third," etc. used in this specification are used to identify components and do not necessarily limit the number, order, or content of the components. Furthermore, numbers used to identify components are used in different contexts, and numbers used in one context do not necessarily indicate the same configuration in another context. Furthermore, this does not prevent a component identified by a certain number from also serving the function of a component identified by another number.

[0016] To facilitate understanding of the invention, the position, size, shape, range, etc. of each component shown in this specification and / or the drawings may not represent the actual position, size, shape, range, etc. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in this specification and / or the drawings.

[0017] As used herein, elements referred to in the singular are intended to include the plural unless the context clearly indicates otherwise.

[0018] Also, in the following description, an "interface apparatus" may refer to one or more interface devices, which may be at least one of the following: One or more I / O (Input / Output) interface devices. The I / O (Input / Output) interface devices are interface devices for at least one of an I / O device and a remote display computer. The I / O interface device for the display computer may be a communications interface device. The at least one I / O device may be a user interface device, for example, either an input interface device such as a keyboard and pointing device, or an output interface device such as a display device. One or more communication interface devices. The one or more communication interface devices may be one or more communication interface devices of the same type (e.g., one or more NICs (Network Interface Cards)) or two or more communication interface devices of different types (e.g., a NIC and an HBA (Host Bus Adapter)). Note that the network that the communication interface device accesses for communication may be the Internet, a LAN (Local Area Network), a WAN (Wide Area Network), a mobile phone network, etc., but is not limited to these.

[0019] In the following description, "memory" refers to one or more memory devices, which are an example of one or more storage devices, and may typically be a primary storage device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.

[0020] In the following description, "storage" may refer to one or more persistent storage devices, which are an example of one or more storage devices. A persistent storage device may typically be a non-volatile storage device (e.g., an auxiliary storage device), and specifically may be, for example, a hard disk drive (HDD), a solid state drive (SSD), a non-volatile memory express (NVMe) drive, or a storage class memory (SCM).

[0021] In the following description, the "memory device" may be at least a memory, including memory and storage.

[0022] Furthermore, in the following description, a "processor" which is an arithmetic unit may be one or more processor devices. The at least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit), but may also include other types of processor devices such as a GPU (Graphics Processing Unit). The at least one processor device may be a single-core or multi-core. The at least one processor device may be a processor core. The at least one processor device may also be a processor device in a broader sense, such as a hardware circuit that performs part or all of the processing (e.g., an FPGA (Field-Programmable Gate Array), a CPLD (Complex Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit)).

[0023] In the following description, information that provides an output in response to an input may be described using expressions such as "xxx database" or "xxx table." However, this information may be data of any structure (for example, structured data or unstructured data), or may be a learning model such as a neural network, genetic algorithm, or random forest that generates an output in response to an input. Therefore, "xxx database" or "xxx table" can be referred to as "xxx information." In the following description, the structure of each database or table is merely an example, and one database or table may be divided into two or more databases or tables, or all or part of two or more databases or tables may be one database or table.

[0024] In the following description, processing may be described using a "program" as the subject. However, because a program is executed by a processor to perform a predetermined process using a storage device and / or an interface device, etc., as appropriate, the subject of the process may also be the processor (or a device such as a controller having the processor). A program may be installed in a device such as a computer from a program source. The program source may be, for example, a program distribution server or a computer-readable (e.g., non-transitory) recording medium. In the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.

[0025] Furthermore, in the following description, the "double digital watermark system" may be a system (e.g., a cloud computing system) realized on a group of physical computing resources (e.g., a cloud infrastructure), or a system (e.g., an on-premise system) composed of one or more physical computers. When the double digital watermark system "displays" the display information, it may mean displaying the display information on a display device possessed by the computer, or it may mean that the computer transmits the display information to a display computer (in the latter case, the display information is displayed by the display computer).

[0026] <System configuration example> First, an example of the configuration of a double digital watermark system 1 according to this embodiment will be described with reference to FIGS.

[0027] (Configuration example of double digital watermark system 1) FIG. 1 is a diagram showing an example of the overall system configuration when a double digital watermarking system 1 is applied to an online text generation service.

[0028] The double digital watermarking system 1 is a computer system that embeds digital watermarks twice using two different keys and can determine the presence or absence of each of the two digital watermarks even when detected, and is realized by multiple computer devices or server devices, each of which has the configuration described below.

[0029] 1, the double digital watermark system 1 is configured to include at least a digital watermark embedding device 2, a digital watermark detection device 3, a first key storage device 5 that stores a first key 4, and a second key storage device 7 that stores a second key 6. Of these, the digital watermark embedding device 2 and the digital watermark detection device 3 are connected to the first key storage device 5 and the second key storage device 7, respectively, via an appropriate communication network such as a dedicated line so that data can be communicated with each other. The digital watermark embedding device 2, the digital watermark detection device 3, the first key storage device 5, and the second key storage device 7 are connected to the communication network by wire via well-known communication equipment (not shown), but they may also be connected wirelessly.

[0030] 1, information input / output terminals 9 such as laptop PCs, tablets, smartphones, etc. owned by each user 8 of the double digital watermarking system 1 are connected to the digital watermark embedding device 2 and the digital watermark detection device 3 so as to enable mutual data communication via an appropriate communication network (hereinafter simply referred to as "network") 10 such as the Internet or a dedicated line. Note that each information input / output terminal 9 and the network 10 are connected wirelessly, but may also be connected by wire.

[0031] The digital watermark embedding device 2 is a server device that receives instructions for generating text sent from an information input / output terminal 9 by a user 8 of the double digital watermarking system 1, and returns the generated text with an embedded digital watermark. This digital watermark embedding device 2 uses a first key 4 received from a first key storage device 5 and a second key 6 received from a second key storage device 7 to embed two digital watermarks in the generated text that is returned to the user 8.

[0032] The digital watermark detection device 3 is a server device that receives text for which digital watermarks are to be detected, sent from an information input / output terminal 9 by a user 8 of the double digital watermark system 1, and returns the detection results of the two digital watermarks. Using the first key 4 received from the first key storage device 5 and the second key 6 received from the second key storage device 7, the digital watermark detection device 3 verifies whether each digital watermark is embedded in the received text for which digital watermarks are to be detected, and returns the results.

[0033] The first key storage device 5 is a server device that stores the first key 4. This first key storage device 5 is used to transmit the first key 4 to the digital watermark embedding device 2 when embedding a digital watermark, and to transmit the first key 4 to the digital watermark detection device 3 when detecting a digital watermark.

[0034] The second key storage device 7 is a server device that stores the second key 6. This second key storage device 7 is used to transmit the second key 6 to the digital watermark embedding device 2 when embedding a digital watermark, and to transmit the second key 6 to the digital watermark detection device 3 when detecting a digital watermark.

[0035] When embedding a digital watermark, the information input / output terminal 9 accepts an input operation by the user 8 of an instruction statement for generating text and transmits it to the digital watermark embedding device 2. When detecting a digital watermark, the information input / output terminal 9 accepts an operation by the user 8 to select text to be subjected to digital watermark detection and transmits it to the digital watermark detection device 3.

[0036] Note that other computer devices, server devices, etc. (hereinafter also referred to as "other devices") may be connected via a network 10 so as to be able to perform data communications with the digital watermark embedding device 2 and / or the digital watermark detection device 3. In this case, the other devices and the network 10 may be connected via a wired or wireless connection via well-known communication equipment (not shown).

[0037] In addition, in this embodiment, the double digital watermarking system 1 is described as being made up of separate devices, including the digital watermark embedding device 2, digital watermark detection device 3, first key storage device 5, and second key storage device 7. However, these devices (2, 3, 5, 7) that make up the double digital watermarking system 1 may be made up of the same device. In this case, the double digital watermarking system 1 may be configured, for example, as a computer system that includes some or all of these devices (2, 3, 5, 7). Furthermore, for example, the double digital watermarking system 1 may be configured to include some or all of the functions performed by these devices (2, 3, 5, 7).

[0038] (Configuration example of digital watermark embedding device 2) Next, an example of the configuration of the digital watermark embedding device 2 that constitutes the double digital watermark system 1 will be described with reference to FIG.

[0039] FIG. 2 is a diagram showing an example of the configuration of the digital watermark embedding device 2. As shown in FIG.

[0040] 2, this digital watermark embedding device 2 is realized by a computer having at least a storage device including a memory 13 and a storage 14, an interface device including at least a communication interface (hereinafter also referred to as "communication I / F") 15, and a processor 12 connected thereto. In this digital watermark embedding device 2, the interface device may include an input interface (hereinafter also referred to as "input I / F") and / or an output interface (hereinafter also referred to as "output I / F").

[0041] The following description will be given assuming that the digital watermark embedding device 2 is realized by a single general-purpose computer device having one or more processors 12, one or more memories 13, one or more storages 14, one or more communication interfaces 15, one or more input interfaces (not shown), one or more output interfaces (not shown), and a bus 11 connecting them together.

[0042] The storage 14 is an auxiliary storage device made up of a nonvolatile storage element such as a flash memory. Specific examples of the storage 14 include a solid-state drive (SSD) and a hard disk drive (HDD). As illustrated in FIG. 2 , the storage 14 stores various programs, such as a language model-based token generation program (hereinafter also referred to as a “language model-based token generation PG”) 16, a first digital watermark token selection processing program (hereinafter also referred to as a “first digital watermark token selection processing PG”) 17, a second digital watermark token selection processing program (hereinafter also referred to as a “second digital watermark token selection processing PG”) 18, and a token probability correction processing program (hereinafter also referred to as a “token probability correction processing PG”) 19. These programs are computer programs for implementing functions required for the digital watermark embedding device 2.

[0043] That is, by executing the language model-based token generation program 16, the first digital watermark token selection processing program 17, the second digital watermark token selection processing program 18, and the token probability correction processing program 19 by the processor 12, functions performed by each functional unit of the digital watermark embedding device 2, such as a language model-based token generation unit, a first digital watermark token selection processing unit, a second digital watermark token selection processing unit, and a token probability correction processing unit (all not shown), which will be described later, are realized. In other words, by executing the language model-based token generation program 16, the first digital watermark token selection processing program 17, the second digital watermark token selection processing program 18, and the token probability correction processing program 19 by the processor 12, various processes are performed, including a process related to double digital watermark embedding (hereinafter also referred to as "digital watermark embedding process"), which will be described later in relation to FIG. 4.

[0044] The various programs described above are provided to the digital watermark embedding device 2 from various removable media such as CD-ROMs and flash memories or via the network 10, and are stored in non-volatile storage 14, which is a non-temporary storage medium. Therefore, it is preferable that the digital watermark embedding device 2 has an interface for reading data from the removable media.

[0045] The various programs described above may also be installed from a program source. The program source may be, for example, a computer from which the program is distributed or a computer-readable recording medium. The various programs described above may also be configured by device drivers, an operating system, various application programs located at higher levels than these, or libraries that provide common functions to these programs. Furthermore, two or more programs may be realized as a single program, or one program may be realized as two or more programs.

[0046] As shown in FIG. 2, the storage 14 also stores various types of information including at least a token dictionary 20 and weight information 21 of a language model.

[0047] The memory 13 is a main storage device mainly made up of volatile storage elements such as RAM (Random Access Memory). The memory 13 also includes a ROM made up of nonvolatile storage elements. The ROM stores unchanging programs (e.g., BIOS) and the like. The memory 13 temporarily stores data representing various information read from the storage 14 and various data acquired via the communication interface 15 and / or the input interface.

[0048] In addition, as illustrated in Figure 2, when the processor 12 executes the token generation program 16 using the language model, the first electronic watermark token selection processing program 17, the second electronic watermark token selection processing program 18, and the token probability correction processing program 19, these programs (16 to 19) stored in the storage 14 are read into the memory 13 and temporarily stored therein.

[0049] The processor 12 is a processor device such as a CPU (Central Processing Unit) and various co-processors. The processor 12 loads various computer programs including the above programs (16 to 19) into the memory 13 and executes them, thereby performing overall control of the digital watermark embedding device 2 itself and also managing a control unit (not shown) that performs various processes such as arithmetic processing and determination processing.

[0050] The interface device includes a communication interface 15 that controls a communication unit described later, an input interface that controls an input unit described later, and an output interface that controls an output unit described later.

[0051] The communication interface 15 is a network interface device that controls communication with other devices such as the first key memory device 5, the second key memory device 7, and the information input / output terminals 9 owned by each user 8 of the double digital watermark system 1 according to a predetermined protocol.

[0052] The input interface is an interface to which an input device (not shown) such as a keyboard, a mouse, or a touch panel is connected and which receives input from the user 8.

[0053] The output interface is an interface to which various display devices such as a liquid crystal display or a touch screen, or an output device (not shown) such as a printer, is connected, and outputs the execution results of the program in a format that can be viewed by the user 8.

[0054] The digital watermark embedding device 2 may be an independent device or may be an embedded device.

[0055] (Example of functional block of digital watermark embedding device 2) Next, an example of blocks of various functions provided in the digital watermark embedding device 2 illustrated in Fig. 2 will be described. Note that each block described below does not represent a hardware configuration, but represents a functional block.

[0056] The digital watermark embedding device 2 is mainly configured with the following functional blocks: a control unit (not shown) realized by the aforementioned processor 12, a memory unit (not shown) realized by the aforementioned memory devices (13, 14), a communication unit (not shown) realized by the aforementioned communication interface 15, and a user interface unit (not shown) realized by the aforementioned input interface and output interface.

[0057] The control unit executes various data processing operations based on the programs and data stored in the storage unit and the data acquired by the communication unit. The control unit also functions as an interface between the storage unit and the communication unit.

[0058] The control unit has functional blocks of a language model token generation unit, a first digital watermark token selection unit, a second digital watermark token selection unit, and a token probability correction unit (none of which are shown).

[0059] The language model token generator performs a process for generating tokens using a language model, the details of which are described below in conjunction with FIG.

[0060] The first digital watermark token selection unit executes a process for selecting a first digital watermark token. Details of the process executed by the first digital watermark token selection unit will be described later with reference to FIG.

[0061] The second watermark token selection unit executes a process for selecting a second watermark token. The process executed by the second watermark token selection unit will be described in detail below with reference to FIG.

[0062] The token probability correction unit executes a process to correct the token probability. The process executed by the token probability correction unit will be described in detail below with reference to FIG.

[0063] The control unit is configured using a processor 12, and can realize these functional blocks by executing the above-mentioned language model token generation program 16, first digital watermark token selection processing program 17, second digital watermark token selection processing program 18, and token probability correction processing program 19. Note that the control unit may be configured using a logic circuit such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) instead of the processor 12. The control unit may also be configured by combining the processor 12 with a logic circuit.

[0064] The memory unit is configured using a storage device consisting of, for example, memory 13 and storage 14, and stores programs that supply various processing commands to the control unit, and data representing various information used in the processing executed by the control unit.

[0065] The storage unit stores at least a database for managing the token dictionary 20 and a database for managing weight information 21 of the language model.

[0066] The control unit can execute the above-mentioned digital watermark embedding process (described in detail later in relation to FIG. 4) by reading and writing data representing various information managed by these databases to the storage unit.

[0067] The communication unit is responsible for communication processing with the information input / output terminal 9 and other devices via the network 10. The communication unit is configured using, for example, a NIC (Network Interface Card) or an HBA (Host Bus Adapter).

[0068] The user interface section is configured to include functional blocks of an input section and an output section.

[0069] Among the processes related to the user interface, the input unit is responsible for input-related processes such as accepting input operations from the user 8. The input unit is configured using input devices such as a keyboard, mouse, touch panel, etc., and detects various operations by the user 8.

[0070] The output unit is responsible for output-related processes such as displaying various screens on a display device, outputting audio, etc. The output unit is configured using various display devices such as a liquid crystal display, a touch screen, etc.

[0071] It should be noted that the inclusion of an input unit and / or an output unit is not essential, for example, when remotely logging in to the digital watermark embedding device 2 from another external device such as the information input / output terminal 9, or when receiving input information from an external device or providing output information to an external device via the communication interface 15. In this case, the digital watermark embedding device 2 may have a web server function and be able to receive access from an external device using a predetermined protocol.

[0072] In other words, each component of the digital watermark embedding device 2 is realized by hardware including a processor 12, storage devices such as memory 13 and storage 14, a bus 11 connecting them, and an interface device (15), and software stored in the storage devices (13, 14) that supplies processing instructions to the computing unit (processor 12).

[0073] The above description of the functions of the digital watermark embedding device 2 has been given assuming that each function of the digital watermark embedding device 2 is implemented integrally by a single computer. However, each of these functions may also be implemented by multiple interconnected computers and / or server devices. Furthermore, the digital watermark embedding device 2 may be configured to include a general-purpose computer such as a laptop PC and a web browser installed thereon, or may be configured to include a web server or various mobile devices.

[0074] The digital watermark embedding device 2 is a computer system configured on one physical computer, or on multiple logically or physically configured computers, and may operate on a virtual computer constructed on multiple physical computer resources. For example, functional units such as the language model token generation unit, the first digital watermark token selection unit, the second digital watermark token selection unit, and the token probability correction unit may each operate on separate physical or logical computers, or multiple units may be combined to operate on a single physical or logical computer.

[0075] Furthermore, the above description of each function is merely an example, and multiple functions may be combined into one function, or one function may be divided into multiple functions.

[0076] Furthermore, the digital watermark embedding device 2 may have other functions in addition to the above functions. For example, as described above, the digital watermark embedding device 2 may be configured to include some of the various functions of other devices.

[0077] (Configuration example of digital watermark detection device 3) Next, an example of the configuration of the digital watermark detection device 3 that constitutes the double digital watermark system 1 will be described with reference to FIG.

[0078] FIG. 3 is a diagram illustrating an example of the configuration of the digital watermark detection device 3. As shown in FIG.

[0079] 3, this digital watermark detection device 3 is realized by a computer having at least a storage device including a memory 24 and a storage 25, an interface device including at least a communication interface (hereinafter also referred to as "communication I / F") 26, and a processor 23 connected to them. In this digital watermark detection device 3, the interface device may include an input interface (hereinafter also referred to as "input I / F") and / or an output interface (hereinafter also referred to as "output I / F").

[0080] The following description will be given assuming that the digital watermark detection device 3 is realized by a single general-purpose computer device having one or more processors 23, one or more memories 24, one or more storages 25, one or more communication interfaces 26, one or more input interfaces (not shown), one or more output interfaces (not shown), and a bus 22 connecting them to each other.

[0081] The storage 25 is an auxiliary storage device made up of a nonvolatile storage element such as a flash memory. Specific examples of the storage 25 include a solid state drive (SSD) and a hard disk drive (HDD). As shown in FIG. 3, the storage 25 stores various programs, such as a first digital watermark token detection processing program (hereinafter also referred to as a "first digital watermark token detection processing PG") 27, a second digital watermark token detection processing program (hereinafter also referred to as a "second digital watermark token detection processing PG") 28, and a digital watermark judgment processing program (hereinafter also referred to as a "digital watermark judgment processing PG") 29, which will be described later. These programs are computer programs for implementing functions required for the digital watermark detection device 3.

[0082] That is, the processor 23 executes the first digital watermark token detection processing program 27, the second digital watermark token detection processing program 28, and the digital watermark judgment processing program 29, thereby realizing the functions of the functional units of the digital watermark detection device 3, such as the first digital watermark token detection processing unit, the second digital watermark token detection processing unit, and the digital watermark judgment processing unit, which will be described later. In other words, the processor 23 executes various programs, including the first digital watermark token detection processing program 27, the second digital watermark token detection processing program 28, the digital watermark judgment processing program 29, and the like, thereby performing various processes, including the process relating to double digital watermark detection (hereinafter also referred to as "digital watermark detection process"), which will be described later in relation to Fig. 5.

[0083] The various programs described above are provided to the digital watermark detection device 3 from various removable media such as CD-ROMs and flash memories or via the network 10, and are stored in the non-volatile storage 25, which is a non-temporary storage medium. Therefore, it is preferable that the digital watermark detection device 3 has an interface for reading data from the removable media.

[0084] The various programs described above may also be installed from a program source. The program source may be, for example, a computer from which the program is distributed or a computer-readable recording medium. The various programs described above may also be configured by device drivers, an operating system, various application programs located at higher levels than these, or libraries that provide common functions to these programs. Furthermore, two or more programs may be realized as a single program, or one program may be realized as two or more programs.

[0085] The storage 25 also stores various information including at least the token dictionary 20, as shown in FIG.

[0086] The memory 24 is a main storage device mainly made up of volatile storage elements such as RAM (Random Access Memory). The memory 24 also includes a ROM made up of nonvolatile storage elements. The ROM stores unchanging programs (e.g., BIOS) and the like. The memory 24 temporarily stores data representing various information read from the storage 25 and various data acquired via the communication interface 26 and / or the input interface.

[0087] In addition, as illustrated in Figure 3, when the aforementioned first electronic watermark token detection processing program 27, second electronic watermark token detection processing program 28, and electronic watermark judgment processing program 29 are executed by the processor 23, these programs (27 to 29) stored in the storage 25 are read into this memory 24 and temporarily stored therein.

[0088] The processor 23 is a processor device such as a CPU (Central Processing Unit) and various co-processors. The processor 23 loads various computer programs, including the first digital watermark token detection processing program 27, the second digital watermark token detection processing program 28, the digital watermark judgment processing program 29, etc., into the memory 24 and executes them, thereby controlling the digital watermark detection device 3 itself and also managing a control unit (not shown) that performs various processes such as arithmetic processing and judgment processing.

[0089] The interface device includes a communication interface 26 that controls a communication unit described below, an input interface that controls an input unit described below, and an output interface that controls an output unit described below.

[0090] The communication interface 26 is a network interface device that controls communication with other devices such as the first key memory device 5, the second key memory device 7, and the information input / output terminals 9 owned by each user 8 of the double digital watermark system 1 according to a predetermined protocol.

[0091] The input interface is an interface to which an input device (not shown) such as a keyboard, a mouse, or a touch panel is connected and which receives input from the user 8.

[0092] The output interface is an interface to which various display devices such as a liquid crystal display or a touch screen, or an output device (not shown) such as a printer, is connected, and outputs the execution results of the program in a format that can be viewed by the user 8.

[0093] The digital watermark embedding device 2 may be an independent device or may be an embedded device.

[0094] (Example of functional block of digital watermark detection device 3) Next, a description will be given of an example of blocks of various functions provided in the digital watermark detection device 3 illustrated in Fig. 3. Note that each block described below does not represent a hardware configuration, but represents a functional block.

[0095] The digital watermark detection device 3 is mainly configured with the following functional blocks: a control unit (not shown) realized by the aforementioned processor 23; a memory unit (not shown) realized by the aforementioned memory devices (24, 25); a communication unit (not shown) realized by the aforementioned communication interface 26; and a user interface unit (not shown) realized by the aforementioned input interface and output interface.

[0096] The control unit executes various data processing operations based on the programs and data stored in the storage unit and the data acquired by the communication unit. The control unit also functions as an interface between the storage unit and the communication unit.

[0097] The control unit has functional blocks of a first digital watermark token detection processing unit, a second digital watermark token detection processing unit, and a digital watermark determination processing unit (none of which are shown).

[0098] The first digital watermark token detection processing unit executes a process for detecting a token related to the first digital watermark. Details of the process executed by the first digital watermark token detection processing unit will be described later with reference to FIG.

[0099] The second digital watermark token detection processing unit executes a process for detecting a token related to the second digital watermark. The process executed by the second digital watermark token detection processing unit will be described in detail below with reference to FIG.

[0100] The digital watermark determination processing unit executes a process for determining the presence or absence of each double digital watermark. The process executed by the digital watermark determination processing unit will be described in detail later with reference to FIG.

[0101] The control unit is configured using a processor 23, and can realize these functional blocks by executing the above-mentioned first digital watermark token detection processing program 27, second digital watermark token detection processing program 28, and digital watermark judgment processing program 29. Note that the control unit may be configured using a logic circuit such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) instead of the processor 23. The control unit may also be configured by combining the processor 23 with a logic circuit.

[0102] The memory unit is configured using a storage device consisting of, for example, memory 24 and storage 25, and stores programs that supply various processing commands to the control unit, and data representing various information used in the processing executed by the control unit.

[0103] The storage unit stores at least a database that manages the token dictionary 20 described above.

[0104] The control unit can execute various processes including the aforementioned digital watermark detection process (described in detail later in relation to Figure 5) by reading and writing data representing various information managed by the database to the storage unit.

[0105] The communication unit is responsible for communication processing with the information input / output terminal 9 and other devices via the network 10. The communication unit is configured using, for example, a NIC (Network Interface Card) or an HBA (Host Bus Adapter).

[0106] The user interface section is configured to include functional blocks of an input section and an output section.

[0107] Among the processes related to the user interface, the input unit is responsible for input-related processes such as accepting input operations from the user 8. The input unit is configured using input devices such as a keyboard, mouse, touch panel, etc., and detects various operations by the user 8.

[0108] The output unit is responsible for output-related processes such as displaying various screens on a display device, outputting audio, etc. The output unit is configured using various display devices such as a liquid crystal display, a touch screen, etc.

[0109] It should be noted that the inclusion of an input unit and / or an output unit is not essential when, for example, remotely logging in to the digital watermark detection device 3 from another external device such as the information input / output terminal 9, or when receiving input information from an external device or providing output information to an external device via the communication interface 26. In this case, the digital watermark detection device 3 may have a web server function and be able to receive access from an external device using a predetermined protocol.

[0110] That is, each component of the digital watermark detection device 3 is realized by hardware including a processor 23, storage devices such as memory 24 and storage 25, a bus 22 connecting them, and an interface device (26), and software stored in the storage devices (24, 25) that supplies processing instructions to the computing unit (processor 23).

[0111] The above description of the functions of the digital watermark detection device 3 has been given assuming that each function of the digital watermark detection device 3 is implemented integrally by a single computer. However, each of these functions may be implemented by multiple interconnected computers and / or server devices. Furthermore, the digital watermark detection device 3 may be configured to include a general-purpose computer such as a laptop PC and a web browser installed thereon, or may be configured to include a web server or various mobile devices.

[0112] The digital watermark detection device 3 is a computer system configured on one physical computer, or on multiple logically or physically configured computers, and may operate on a virtual computer constructed on multiple physical computer resources. For example, functional units such as the first digital watermark token detection processing unit, the second digital watermark token detection processing unit, and the digital watermark judgment processing unit may each operate on separate physical or logical computers, or multiple units may be combined to operate on a single physical or logical computer.

[0113] Furthermore, the above description of each function is merely an example, and multiple functions may be combined into one function, or one function may be divided into multiple functions.

[0114] Furthermore, the digital watermark detection device 3 may have other functions in addition to the above functions. For example, as described above, the digital watermark detection device 3 may be configured to include some of the various functions of other devices.

[0115] <Processing flow example> Next, a series of steps in the digital watermark embedding process and digital watermark detection process executed by the double digital watermark system 1 will be described with reference to FIGS.

[0116] (Digital watermark embedding process) FIG. 4 is a flowchart 400 showing an example of the flow of a digital watermark embedding process.

[0117] The digital watermark embedding process illustrated in FIG. 4 is a process that is executed mainly in the digital watermark embedding device 2 that constitutes the double digital watermark system 1.

[0118] In step S401, the control unit of the digital watermark embedding device 2 executes a process of receiving, via the communication unit, an instruction statement for generating text that is input by the user 8 to the information input / output terminal 9 and transmitted from the information input / output terminal 9. As a result, the instruction statement is received via the communication unit. When the process of step S401 is completed, the control unit of the digital watermark embedding device 2 proceeds to step S402.

[0119] In step S402, the control unit of the digital watermark embedding device 2 causes the language model-based token generation unit to generate a seed value from the first key 4 received from the first key storage device 5 and the N-th token from the end of the text (the combination of the instruction received in step S401 and the generated tokens). The first digital watermark token selection unit then executes a process of selecting, based on the generated seed value, some tokens (hereinafter, these tokens will be referred to as "first digital watermark tokens") to be subjected to the probability increasing process from the multiple tokens stored in the token dictionary 20 in the storage 14. Note that the seed value is generated by the language model-based token generation unit inputting the N-th token from the end of the text into a hash function. In addition, the number of tokens input into the hash function at this time may be one or more. In other words, the first digital watermark token selection unit can select multiple tokens from the text and input them into the hash function. These processes in step S402 are performed by the processor 12 executing the language model token generation program 16 and the first digital watermark token selection processing program 17. As a result, a seed value is generated from the first key 4 and the Nth token before the end of the text, and a first digital watermark token is selected based on the generated seed value. Upon completing the process in step S402, the control unit of the digital watermark embedding device 2 proceeds to step S403.

[0120] In step S403, the control unit of the digital watermark embedding device 2 causes the language model-based token generation unit to generate a seed value from the second key 6 received from the second key storage device 7 and the M tokens before the end of the text (the combination of the instruction received in step S401 and the generated tokens). The second digital watermark token selection unit then executes a process of selecting, based on the generated seed value, some tokens (hereinafter, these tokens will be referred to as "second digital watermark tokens") from the first digital watermark tokens selected in step S402 to be further subjected to probability increasing processing. Note that the seed value is generated by the language model-based token generation unit inputting the M tokens before the end of the text into a hash function. In addition, the number of tokens input to the hash function at this time may be one or more. In other words, the second digital watermark token selection unit can select multiple tokens from the text and input them to the hash function. These processes in step S403 are performed by the processor 12 executing the language model token generation program 16 and the second digital watermark token selection processing program 18. As a result, a seed value is generated from the second key 6 and the M tokens before the end of the text, and a second digital watermark token is selected based on the generated seed value. Upon completing the process in step S403, the control unit of the digital watermark embedding device 2 proceeds to step S404.

[0121] In step S404, the control unit of the digital watermark embedding device 2 causes the token probability correction processing unit to execute processing to correct the probability distribution related to the token generation probability for each of the first digital watermark token selected in step S402 and the second digital watermark token selected in step S403. Specifically, this correction is performed by acquiring the token generation probability distribution calculated by the language model-based token generation unit for each of the first digital watermark token and the second digital watermark token, and increasing the probability by an arbitrary value based on the acquired token generation probability distribution. This processing in step S404 is performed by the processor 12 executing the token probability correction processing program 19. As a result, the probability distributions of the first digital watermark token and the second digital watermark token are corrected. After completing the processing in step S404, the control unit of the digital watermark embedding device 2 proceeds to step S405.

[0122] In step S405, the control unit of the digital watermark embedding device 2 causes the language model token generation unit to execute processing to continuously generate the next token using the language model. This next token is constructed by obtaining the language model weight information 21 stored in the storage 14, and for the generated next token, a probability distribution is calculated from the text (a combination of the instruction received in step S401 and the generated tokens). Furthermore, when the probability distribution is calculated for the next token, probability correction is performed for each of the first digital watermark token and the second digital watermark token using the same processing as in step S404. This processing in step S405 is performed by the processor 12 executing the language model token generation program 16. As a result, the next token is continuously generated using the language model. After completing the processing in step S405, the control unit of the digital watermark embedding device 2 proceeds to step S406.

[0123] In step S406, the control unit of the digital watermark embedding device 2 executes a process in which the language model token generation unit determines whether the generated token is an end symbol. This process in step S406 is performed by the processor 12 executing the language model token generation program 16. If it is determined in step S406 that the generated token is an end symbol (step S406: YES), the process proceeds to step S407. On the other hand, if it is determined in step S406 that the generated token is not an end symbol (step S406: NO), the process returns to step S402 again.

[0124] In step S407, if it is determined in step S406 that the token generated by the token generation unit using the language model is an end symbol (step S406: YES), the control unit of the digital watermark embedding device 2 executes a process of transmitting the text generated in accordance with the instruction statement input by the user 8 to the information input / output terminal 9 held by the user 8. As a result, the text generated in accordance with the instruction statement input by the user 8 is transmitted to the information input / output terminal 9 of the user 8. Upon completing the process in step S407, the control unit of the digital watermark embedding device 2 ends the digital watermark embedding process shown in flowchart 400 of FIG.

[0125] (Digital watermark detection process) FIG. 5 is a flowchart 500 showing an example of the flow of a digital watermark detection process.

[0126] The digital watermark detection process illustrated in FIG. 5 is a process that is executed mainly in the digital watermark detection device 3 that constitutes the double digital watermark system 1.

[0127] In step S501, the control unit of the digital watermark detection device 3 executes a process of receiving, via the communication unit, the text to be checked for the presence or absence of a digital watermark (hereinafter also referred to as "digital watermark detection target text") that the user 8 input to the information input / output terminal 9 and transmitted from the information input / output terminal 9. As a result, the digital watermark detection target text is received via the communication unit. Upon completing the process in step S501, the control unit of the digital watermark detection device 3 proceeds to step S502.

[0128] In step S502, the control unit of the digital watermark detection device 3 causes the first digital watermark token detection processing unit to input the first key 4 received from the first key storage device 5 and the token N tokens before the target token into a hash function to generate a seed value, and then executes a process of determining whether the target token belongs to the tokens whose probability is increased based on the generated seed value. Specifically, this determination process is performed by selecting a first digital watermark token from multiple tokens in the token dictionary 20 stored in the storage 25 based on the generated seed value, and determining whether the target token is included in the selected tokens. The target token included in the first digital watermark token is hereinafter also referred to as the “first detected token.” These processes in step S502 are performed by the processor 23 executing the first digital watermark token detection processing program 27. As a result, it is determined whether the target token belongs to the tokens whose probability is increased based on the seed value generated from the first key 4 and the token N tokens before the target token. After completing the process in step S502, the control unit of the digital watermark detection device 3 proceeds to step S503.

[0129] In step S503, the control unit of the digital watermark detection device 3 causes the second digital watermark token detection processing unit to input the second key 6 received from the second key storage device 7 and the token M tokens before the target token into a hash function to generate a seed value, and then executes a process of determining whether the target token belongs to the tokens whose probability is increased based on the generated seed value. Specifically, this determination process is performed by selecting a second digital watermark token from the first digital watermark token selected in step S502 and determining whether the target token is included in these tokens. The target token included in this second digital watermark token is hereinafter also referred to as the second detected token. These processes in step S503 are performed by the processor 23 executing the second digital watermark token detection processing program 28. As a result, it is determined whether the target token belongs to the tokens whose probability is increased based on the seed value generated from the second key 6 and the token M tokens before the target token. After completing the process in step S503, the control unit of the digital watermark detection device 3 proceeds to step S504.

[0130] In step S504, the control unit of the digital watermark detection device 3 executes processing by the digital watermark judgment processing unit to determine whether the number of remaining detection target tokens is 0, i.e., whether there are any remaining detection target tokens. This processing in step S504 is performed by the processor 23 executing the digital watermark judgment processing program 29. If it is determined in step S504 that the number of remaining detection target tokens is 0 and that there are no more (step S504: YES), the process proceeds to step S505. On the other hand, if it is determined in step S504 that the number of remaining detection target tokens is not 0 and that there are still remaining detection target tokens (step S504: NO), the process returns to step S502 again.

[0131] (Step SP12) In step S505, the control unit of the digital watermark detection device 3 performs a statistical test using the digital watermark determination processing unit to determine the presence or absence of each of the first digital watermark and the second digital watermark based on the first detected token and the number of all tokens contained in the received text, and the number of second detected tokens and first digital watermark tokens, and executes a process to determine the presence or absence of each of the first digital watermark and the second digital watermark based on a z-score arbitrarily set as a threshold value.

[0132] Here, the score z1 used to determine whether or not the first electronic watermark is present is calculated using the following formula, given the number of first detected tokens SG_1 obtained as a result of the determination process in step S502 and the total number of tokens T contained in the text to be detected for electronic watermarking.

[0133]

number

[0134] If this score z1 is equal to or greater than an arbitrary threshold, the digital watermark determination processing unit determines that the first digital watermark is present in the digital watermark detection target text, whereas if this score z1 is less than the arbitrary threshold, the digital watermark determination processing unit determines that the first digital watermark is not present in the digital watermark detection target text.

[0135] In addition, the score z2 used to determine whether or not a second electronic watermark is present is calculated using the following formula, given the number of second detection tokens SG_2 obtained as a result of the determination process in step S503 and the number of first detection tokens SG_1.

[0136]

number

[0137] If this score z2 is equal to or greater than an arbitrary threshold, the digital watermark determination processing unit determines that the second digital watermark is present in the digital watermark detection target text. On the other hand, if this score z2 is less than the arbitrary threshold, the digital watermark determination processing unit determines that the second digital watermark is not present in the digital watermark detection target text.

[0138] As a result, a statistical test is performed based on the first detected token and the number of all tokens included in the received text, and the number of second detected tokens and first digital watermark tokens, and the presence or absence of each of the first digital watermark and the second digital watermark is determined based on a z-score arbitrarily set as a threshold.When the process of step S505 is completed, the control unit of the digital watermark detection device 3 proceeds to step S506.

[0139] In step S506, the control unit of the digital watermark detection device 3 executes a process of transmitting, via the communication unit, the determination results as to the presence or absence of the first digital watermark and the second digital watermark for the digital watermark detection target text transmitted by the user 8 in step S501 to the information input / output terminal 9 possessed by the user 8. As a result, the determination results as to the presence or absence of the first digital watermark and the second digital watermark for the digital watermark detection target text are transmitted to the information input / output terminal 9 of the user 8. Upon completing the process in step S506, the control unit of the digital watermark detection device 3 terminates the digital watermark detection process shown in flowchart 500 of FIG.

[0140] The above-described embodiment of the present invention can be summarized as follows.

[0141] (1) The double digital watermark system 1 is a system comprising: a digital watermark embedding device 2 that embeds a digital watermark into a token sequence generated by a language model in a process in which the language model generates a token sequence different from the token sequence received from a user 8 using a computer having at least a processor 12 and memory devices (13, 14); and a digital watermark detection device 3 that detects, based on the token sequence received from user 8, that the token sequence was generated by the language model using a computer having at least a processor 23 and memory devices (24, 25). The digital watermark embedding device 2 has a first digital watermark token selection unit that classifies multiple tokens that are generated next from a first token contained in a token sequence received from a user 8 and a token sequence generated by a language model into either a first group or a second group using a first key (first key) 4 and at least a hash function corresponding to the first key 4; a second digital watermark token selection unit that receives tokens belonging to the first group classified by the first digital watermark token selection unit and classifies multiple tokens that are generated next from a second token contained in a token sequence received from a user 8 and a token sequence generated by a language model into either a third group or a fourth group using a second key (second key) 6 that is different from the first key 4 and at least a hash function corresponding to the second key 6; and a token probability correction unit that increases the probability of tokens belonging to the first group and tokens belonging to the third group.The digital watermark detection device 3 uses a first digital watermark token detection unit to calculate the number of tokens classified into a first group using a first token contained in a token sequence received from a user 8 and a first key 4; a second digital watermark token detection unit to calculate the number of tokens classified into a third group from the tokens classified into the first group by the first digital watermark token detection unit using a second key 6; and a digital watermark judgment unit to determine the presence or absence of the first digital watermark and the second digital watermark by comparing the first score and the second score with a predetermined threshold based on a first score calculated by a statistical test from the number of tokens calculated by the first digital watermark token detection unit and the total number of tokens contained in the received token sequence, and a second score calculated by a statistical test from the number of tokens calculated by the second digital watermark token detection unit and the number of tokens classified into the first group by the first digital watermark token detection unit. As a result, when embedding a digital watermark in text data generated by a language model, the digital watermark embedding device 2 constituting the double digital watermarking system 1 sets two different keys, the first key 4 and the second key 6, and thus, as described above, embeds the digital watermark doubly by overlapping the two different digital watermarks, the first digital watermark and the second digital watermark. When detecting the presence or absence of a digital watermark, the digital watermark detection device 3 constituting the double digital watermarking system 1 determines the presence or absence of each of the two different digital watermarks, the first digital watermark and the second digital watermark, using the two different keys, the first key 4 and the second key 6, respectively, as described above. As a result, when a digital watermark is embedded in text data generated by a language model, a user 8 of the double digital watermarking system 1 can determine the source of the text data by using the second key 6, even if one of the keys corresponding to the digital watermark, i.e., the first key 4, is leaked.

[0142] (2) The token sequence includes one of text represented by a plurality of letters, Braille, numbers, and / or symbols, and a melody represented by a plurality of musical notes.

[0143] (3) A token string is a text represented by a sequence of multiple characters.

[0144] (4) The hash function corresponding to the first key 4 and the hash function corresponding to the second key 6 are the same.

[0145] (5) The hash function corresponding to the second key 6 is different from the hash function corresponding to the first key 4 .

[0146] The present invention is not limited to the above-described embodiment, and can be implemented using any components without departing from the spirit of the present invention.

[0147] In this embodiment, the data generated by the language model is text, but the present invention is applicable to the generation of any data consisting of a token sequence.

[0148] The above-described embodiments are merely examples, and the present invention is not limited to these details as long as the features of the invention are not impaired. Furthermore, although various embodiments have been described above, the present invention is not limited to these details, and not all of these details are necessarily essential to the solution of the present invention. Other aspects conceivable within the scope of the technical idea of ​​the present invention are also included within the scope of the present invention.

[0149] In the above figures, the control lines and information lines shown are those that are considered necessary for explanation, and do not necessarily show all the control lines and information lines that are necessary for implementation. For example, it can be assumed that in reality, almost all components are interconnected.

[0150] Furthermore, the above-described layout of the functional units of the double digital watermarking system 1 is merely an example. The layout of the functional units can be changed to an optimal layout in terms of the performance, processing efficiency, communication efficiency, etc. of the hardware and software included in the double digital watermarking system 1.

[0151] Furthermore, the aforementioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits, or may be realized in software by having the processors (12, 23) interpret and execute programs that realize the respective functions. [Explanation of symbols]

[0152] 1...Double digital watermark system

Claims

1. a digital watermark embedding device that embeds a digital watermark in a token sequence generated by a language model in a process in which a language model generates a token sequence different from a token sequence received from a user, the digital watermark embedding device being implemented by a computer having at least a processor and a storage device; a digital watermark detection device that detects, based on the token sequence received from the user, that the token sequence is generated by the language model, using a computer having at least a processor and a storage device; A double watermarking system comprising: The digital watermark embedding device comprises: a first digital watermark token selection unit classifies a plurality of tokens generated next from a first token included in the token sequence received from the user and the token sequence generated by the language model into either a first group or a second group using a first key and a hash function corresponding to at least the first key; a second digital watermark token selection unit receives tokens belonging to the first group classified by the first digital watermark token selection unit, and classifies a plurality of tokens generated next from a second token included in the token sequence received from the user and the token sequence generated by the language model into either a third group or a fourth group using a second key different from the first key and a hash function corresponding to at least the second key; a token probability correction unit that increases the probability of a token belonging to the first group and a token belonging to the third group; The digital watermark detection device comprises: a first digital watermark token detection unit calculates the number of tokens classified into the first group using the first token included in the token sequence received from the user and the first key; a second digital watermark token detection unit uses the second key to calculate the number of tokens classified into the third group from the tokens classified into the first group by the first digital watermark token detection unit; a digital watermark determination unit that determines the presence or absence of a first digital watermark and a second digital watermark by comparing a predetermined threshold value with the first score and the second score, based on: a first score calculated by a statistical test performed from the number of tokens calculated by the first digital watermark token detection unit and the total number of tokens included in the received token sequence; and a second score calculated by a statistical test performed from the number of tokens calculated by the second digital watermark token detection unit and the number of tokens classified into the first group by the first digital watermark token detection unit. Dual watermarking system.

2. 2. The double watermarking system of claim 1, The token sequence is text represented by a plurality of letters, braille, numbers and / or symbols; A melody expressed by multiple notes A double digital watermarking system comprising one of:

3. 3. The double watermarking system of claim 2, A double digital watermark system, wherein the token string is text expressed by a sequence of multiple characters.

4. 2. The double watermarking system of claim 1, A double digital watermark system, wherein the hash function corresponding to the first key and the hash function corresponding to the second key are the same.

5. 2. The double watermarking system of claim 1, A double watermarking system, wherein a hash function corresponding to the second key is different from a hash function corresponding to the first key.

6. 1. A method for double watermark embedding and detection, comprising: a digital watermark embedding device that embeds a digital watermark in a token sequence generated by a language model in a process in which a language model generates a token sequence different from a token sequence received from a user, the digital watermark embedding device being implemented by a computer having at least a processor and a storage device; a digital watermark detection device that detects, based on the token sequence received from the user, that the token sequence is generated by the language model, using a computer having at least a processor and a storage device; [0023] In accordance with the present invention, a double watermarking system is implemented, comprising: The digital watermark embedding device comprises: a first digital watermark token selection unit classifies a plurality of tokens generated next from a first token included in the token sequence received from the user and the token sequence generated by the language model into either a first group or a second group using a first key and a hash function corresponding to at least the first key; a second digital watermark token selection unit receives tokens belonging to the first group classified by the first digital watermark token selection unit, and classifies a plurality of tokens generated next from a second token included in the token sequence received from the user and the token sequence generated by the language model into either a third group or a fourth group using a second key different from the first key and a hash function corresponding to at least the second key; a token probability correction unit that increases the probability of a token belonging to the first group and a token belonging to the third group; The digital watermark detection device comprises: a first digital watermark token detection unit calculates the number of tokens classified into the first group using the first token included in the token sequence received from the user and the first key; a second digital watermark token detection unit uses the second key to calculate the number of tokens classified into the third group from the tokens classified into the first group by the first digital watermark token detection unit; a digital watermark determination unit that determines the presence or absence of a first digital watermark and a second digital watermark by comparing a predetermined threshold value with the first score and the second score, based on: a first score calculated by a statistical test performed from the number of tokens calculated by the first digital watermark token detection unit and the total number of tokens included in the received token sequence; and a second score calculated by a statistical test performed from the number of tokens calculated by the second digital watermark token detection unit and the number of tokens classified into the first group by the first digital watermark token detection unit. method.

Citation Information

Patent Citations

  • Digital watermark embedding device, digital watermark extraction device, digital watermark embedding method, digital watermark extraction method and program

    JP7315030B2

  • Digital watermarking system, digital watermarking method and program

    JP7384216B2

Cited By

  • Watermarking method for model-generated data using hash based condition selection in large language models and computing apparatus operating the same

    KR103012271B1