WO2023175680A1 - 符号化装置、符号化方法、及びプログラム - Google Patents

符号化装置、符号化方法、及びプログラム Download PDF

Info

Publication number
WO2023175680A1
WO2023175680A1 PCT/JP2022/011364 JP2022011364W WO2023175680A1 WO 2023175680 A1 WO2023175680 A1 WO 2023175680A1 JP 2022011364 W JP2022011364 W JP 2022011364W WO 2023175680 A1 WO2023175680 A1 WO 2023175680A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoding
message
encoding device
messages
subset
Prior art date
Application number
PCT/JP2022/011364
Other languages
English (en)
French (fr)
Inventor
純 村松
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/011364 priority Critical patent/WO2023175680A1/ja
Publication of WO2023175680A1 publication Critical patent/WO2023175680A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the present invention relates to a technique for correctly communicating with a small probability of decoding error in a noisy environment.
  • Non-Patent Document 1 discloses a method for realizing encoding in a communication channel having a large number of input/output terminals.
  • a structure that indicates which message among multiple encoders is input and encoded by multiple encoders is called a message access structure.
  • the present invention has been made in view of the above points, and it is an object of the present invention to provide a technology that enables efficient encoding of arbitrary access structures in a communication channel with multiple input/output terminals. With the goal.
  • an encoding device in a communication system including a set of encoding devices that perform encoding on a communication path having a plurality of input/output terminals, a receiving unit that receives messages; a control unit that generates a code word from the message received by the receiving unit based on a classification result of classifying the plurality of messages by a subset of encoding devices that can access the message; An encoding device is provided.
  • FIG. 1 is a diagram showing a configuration example of a communication system in an embodiment of the present invention.
  • FIG. 2 is a diagram showing example 1 of an access structure.
  • FIG. 7 is a diagram showing example 2 of an access structure. It is a diagram showing Algorithm 1.
  • FIG. 3 is a diagram showing the internal processing contents of the encoding device.
  • FIG. 3 is a diagram showing the internal processing contents of the decoding device. It is a diagram showing Algorithm 2.
  • FIG. 2 is a diagram showing an example of a device configuration. It is a diagram showing an example of the hardware configuration of the device.
  • Fig. of [3] In a configuration like 4, in a general access structure corresponding to FIG. 1 and Example 2 described later, stationary memorylessness is assumed for the auxiliary random variable Z n S (in Reference [3] Fig. 4). At times, efficient communication is not possible. In addition, if the communication path W i (as shown in Reference [3] Fig. 4) is configured to have the same dimension as the block length n, the complexity of the system configuration and calculation time will increase.
  • a technique for encoding on a communication path having two or more input/output terminals will be described.
  • a message is classified by "a set of encoders that can access it", and random numbers are generated for each message in an order sorted according to the inclusion relationship of the set of encoders (for example, in descending order).
  • the encoder is assumed to perform the encoding.
  • the encoder and decoder are configured using a random number generator and sparse matrix that satisfy the constraint conditions.
  • a random number generator that satisfies the constraint condition is only an example, and encoding and decoding can be realized using appropriately determined transformations other than random number generation that satisfies the constraint condition.
  • a device that performs encoding will be referred to as an encoding device
  • a device that performs decoding will be referred to as a decoding device.
  • the encoding device and the decoding device may be called an encoder and a decoder, respectively.
  • FIG. 1 shows an example of the overall configuration of a communication system in this embodiment.
  • this communication system includes a plurality of encoding devices and a plurality of decoding devices, and has a configuration in which these devices are connected to a communication network (which may also be referred to as a communication path).
  • a communication network which may also be referred to as a communication path.
  • Figure 1 shows M indicating a message, ⁇ indicating encoding processing, X indicating input information to the communication channel (output information from the encoding device), ⁇ indicating the characteristics of the communication channel, and output information from the communication channel.
  • Y indicating input information to the decoding device
  • ⁇ indicating decoding processing ⁇ M indicating a message output from the decoding device are shown, the details of which will be described later. Note that " ⁇ M" in the specification text is intended to be a symbol with a hat attached to the beginning of M.
  • Each encoding device has a plurality of input interfaces (also referred to as input terminals) as a receiving section, and can input a plurality of messages.
  • input interfaces also referred to as input terminals
  • inputting a message to the encoding device may be expressed as "the encoding device accesses the message.”
  • u V ⁇ ⁇ u v ⁇ u ⁇ V represents a set of u v (series, random variables, functions, etc.) whose index is v belonging to the set V.
  • represents the number of elements in the set V.
  • ⁇ u v ⁇ v ⁇ V is not a set (duplication is not allowed), but is called an associative array (hash, dictionary) that has a value u v for one v.
  • a general communication channel is a sequence of conditional probability distributions.
  • X n I ⁇ X n i ⁇ i ⁇ I is a random variable of channel input
  • Y n J ⁇ Y n j ⁇ j ⁇ J is a random variable of channel output. That is, X n I indicates information (data, signals) output from (a set of) encoding devices.
  • Y n J indicates information (data, signals) input to (a set of) decoding devices.
  • XX n i be a set of possible values (hereinafter referred to as an alphabet) of the random variable X n i ⁇ (X i,1 , . . . , X i, n ). Note that a notation such as "XX" in which two capital letters are written side by side corresponds to a single character "X” in cursive in drawings and images.
  • n is the block length
  • XX n i is the n-dimensional direct product of the set XX i .
  • YY n j be an alphabet of random variables Y n j .
  • YY n j does not need to be an n-dimensional space.
  • the i-th encoding device (hereinafter referred to as encoding device i) inputs the message set M S (i) ⁇ ⁇ M s ⁇ s ⁇ S (i) , performs conversion (encoding), and performs communication.
  • S(i) is a set of indexes of messages that can be accessed by encoding device i, and the details will be described later.
  • D(j) be the index set of messages played back (decoded) by the j-th decoding device (hereinafter referred to as decoding device j).
  • D(j) ⁇ S.
  • the decoding device j receives the communication channel output Y n j and reproduces the reproduction message.
  • ⁇ M j,s ⁇ MM s is the message s reproduced by the decoding device j.
  • Prob( ⁇ ) represents the probability of an event
  • the code configured in this embodiment is set by taking a sufficiently large n for any ⁇ >0,
  • the lower bar H (U) becomes the entropy H (U)
  • V) together become conditional entropy H(U
  • the lower bar H(U) is the entropy rate lim n ⁇ H( U n )/n
  • V) have a conditional entropy rate lim n ⁇ H(U n
  • ZZ n s be an alphabet of random variables Z n s .
  • ZZ n s does not need to be an n-dimensional space.
  • CC s be a set that is the range of a function f s to be described later.
  • c s and m s will be referred to as vectors, where c s ⁇ CC s and m s ⁇ MM s .
  • the access structure is information indicating which messages the encoding device receives as input (which messages can be accessed). More details are as follows.
  • the access structure A is a subset of S ⁇ I, and (s, i) ⁇ A means that encoding device i can access message s. If we interpret A as a set of directed edges and (s, i) ⁇ A as a directed edge s ⁇ i, then (S, I, A) becomes a bipartite graph. 2 and 3 show that a bipartite graph is constructed between the message and the encoding device.
  • I(s) be the set of indices of encoding devices that can access the message s.
  • I' be a subset of I.
  • S(I') be the index set of messages shared by the encoding device corresponding to the index set I'.
  • the classification process of classifying multiple messages by a subset of encoding devices that can access the messages may be performed by each encoding device, or may be performed by an external device.
  • the classification process may be performed, and each encoding device may receive the classification results from an external device.
  • Example 1 corresponds to FIG.
  • Example 1 is an example of an access structure for a two-input multiple access channel code with a shared message or a two-input interfering channel code with a shared message.
  • S, I, and A be as follows.
  • message 0 is shared by encoding device 1 and encoding device 2, and for each i ⁇ 1, 2 ⁇ , message i is a (private) message that only encoding device i can access. be. In other words, for each i ⁇ 1,2 ⁇ , encoding device i can access message 0 and message i.
  • This access structure is similar for two-input interfering channels with shared messages. In the multiple access channel code, one decoding device decodes all of message 0, message 1, and message 2. As for the interference channel code, decoding device i decodes message 0 and message i for each i ⁇ 1, 2 ⁇ . From this access structure and the above definition, we get the following:
  • I(0) ⁇ 1,2 ⁇ I(1) ⁇ 1 ⁇ I(2) ⁇ 2 ⁇ S(1) ⁇ 0,1 ⁇ S(2) ⁇ 0,2 ⁇ S( ⁇ 1 ⁇ ) ⁇ 1 ⁇ S( ⁇ 2 ⁇ ) ⁇ 2 ⁇ S( ⁇ 1,2 ⁇ ) ⁇ 0 ⁇ ⁇ I ⁇ 1,2 ⁇ , ⁇ 1 ⁇ , ⁇ 2 ⁇ ⁇ I(1) ⁇ 1,2 ⁇ , ⁇ 1 ⁇ ⁇ I(2) ⁇ 1,2 ⁇ , ⁇ 2 ⁇ ⁇ I ⁇ 1,2 ⁇ , ⁇ 1 ⁇ , ⁇ 2 ⁇ above is a set of subsets of encoders with shared messages.
  • the subset of encoders with shared messages includes one encoder that has access to a certain message.
  • ⁇ I(1) ⁇ 1,2 ⁇ , ⁇ 1 ⁇ is the set of subsets of encoders with shared messages with respect to encoder 1.
  • ⁇ I(2) ⁇ 1,2 ⁇ , ⁇ 2 ⁇ is the set of subsets of encoders with shared messages with respect to encoder 2.
  • Example 2 corresponds to FIG.
  • Example 2 is an example of an access structure in a three-input multiple access channel (including an interfering channel). Let S, I, and A be as follows.
  • message i is a private message of encoder i
  • message ij is a private message of encoder i and encoder j
  • Message 123 is a message shared by encoding device 1, encoding device 2, and encoding device 3.
  • encoding device 1 can access message 1, message 12, message 123
  • encoding device 2 can access message 2
  • encoding device 3 can access message 2, message 12, message 23, message 123, etc.
  • message 3, message 23, and message 123 can be accessed.
  • the partially shared message 12 and message 23 do not appear in the two-input multiple access channel. From this access structure, we get the following:
  • S°(I') is defined as follows. Note that "S°" is intended to be a letter with ° added to the beginning of S.
  • ⁇ S(I′) ⁇ I′ ⁇ ⁇ I is a partition of S (a family of mutually sparse sets whose union is S).
  • encoding device i encodes both message sets M S(I') ⁇ M s ⁇ s ⁇ S(I') and M S°(I') ⁇ M s ⁇ s ⁇ S°(I'). is accessible.
  • the set of two functions f S ⁇ f s ⁇ s ⁇ S , g S ⁇ g s ⁇ s ⁇ S and the set of vectors c S ⁇ c s ⁇ s ⁇ S are shared by the encoding device and the decoding device. ing. That is, the encoding device and the decoding device each hold a set of the above two functions and a set of vectors in a storage unit such as a memory.
  • encoding device i For each i ⁇ I, encoding device i utilizes f S(i) , g S(i) , c S(i) . For each j ⁇ J, decoding device j utilizes f D(j) , g D(j) and c D(j) . Furthermore, both the encoding device and the decoding device use conditional probability distribution.
  • a random number generator that satisfies the constraint conditions used by the encoding device i is provided. That is, the encoding device i performs random number generation processing that satisfies the constraint conditions using a control unit that will be described later.
  • the "random number generator” may also be referred to as a "random number generation unit.”
  • For any k, k′ ⁇ 1,2,...,
  • ⁇ I(3) ⁇ 1,2,3 ⁇ , ⁇ 2,3 ⁇ , ⁇ 3 ⁇ is any k, k' ⁇ 1,2, .. that satisfies "Equation 22". .,
  • the alignment procedure will be explained using Algorithm 2, which will be described later.
  • the encoding device i generates random numbers according to the procedure of Algorithm 1 shown in FIG.
  • This random number may be called encoded information. That is, as shown in FIG. 4, an input is made and the second row is repeated for each k to obtain an output. Depending on the condition that the arranged ⁇ I(i) ⁇ I i,1 ,...,I i,
  • each encoding device Given I′ ⁇ ⁇ I, all encoders that have access to the message set m S(I′) (the index belongs to I′) have the same output of the random number generator z S that satisfies the constraint. Assume that (I') can be obtained. In order to satisfy the assumption, each encoding device generates a random number that satisfies the constraint condition by using, for example, a synchronized pseudo-random number sequence (using the same initial value).
  • the function ⁇ i :MM S(i) ⁇ XX n i executed by the encoding device i is defined as follows.
  • the encoding device declares (outputs) an error.
  • W i is the conditional probability distribution
  • W i may be a deterministic function.
  • FIG. 5 shows the flow of data related to encoding processing in encoding device i. This is a diagram corresponding to a diagram illustrating the processing contents described above.
  • the decoding device j For each j ⁇ J, the decoding device j generates a random number ⁇ D according to the following distribution from the pre-shared vector c D(j) ⁇ c s ⁇ s ⁇ D(j) and the channel output y j ⁇ YY n j (j) ⁇ z j,s ⁇ s ⁇ D(j) is generated using a random number generator that satisfies the constraint conditions.
  • the function ⁇ j :YY n j ⁇ MM D_j executed by the decoding device j is defined as follows. That is, the decoding device j performs the following processing to decode the input information and outputs the decoded message.
  • ⁇ M j,s ⁇ g( ⁇ z j,s ) for each j ⁇ J, s ⁇ D(j).
  • FIG. 6 shows the flow of data related to decoding processing in decoding device j. This is a diagram corresponding to a diagram illustrating the processing contents described above.
  • ⁇ (R s , r s ) ⁇ s ⁇ S is any arbitrary set that satisfies I′ ⁇ ⁇ I, empty set ⁇ S′ ⁇ S(I′), j ⁇ J, empty set ⁇ D′ ⁇ D(j) (I', S', j, D')
  • the spectral entropy rate lower limit H(U) is defined below.
  • a directed acyclic graph (also called a directed acyclic graph)
  • it is determined by topological sorting with a computational complexity proportional to the sum of
  • ) O(
  • the amount of calculation required is
  • the average amount of calculation when using the algorithm given in [5] is O(w
  • w is the width of the directed acyclic graph.
  • the alignment procedure proposed in this embodiment is shown in Algorithm 2 in FIG. Note that the alignment procedure may be executed by the encoding device or by a device external to the encoding device. When executed by a device external to the encoding device, the encoding device receives the execution result and uses it for encoding processing.
  • the proposed method uses bucket sorting based on the number of elements in a subset.
  • the amount of calculation in the proposed method is O(
  • ) in the third line is an operation that adds I' to ⁇ L(
  • ⁇ I ⁇ ⁇ L(v) ⁇ ⁇ I on the 6th line is an operation that adds ⁇ L(v) to the beginning of ⁇ I.
  • Theorem 2 After executing Algorithm 2, in ⁇ I ⁇ I 1 ,...,I
  • FIG. 8 shows a functional configuration diagram of an encoding device 100 and a decoding device 200 that execute the processing described above.
  • the encoding device 100 includes a transmitting section 110, a receiving section 120, a control section 130, and a storage section 140, which are connected by a bus.
  • the receiving unit 120 receives a message to be encoded.
  • the control unit 130 executes the encoding process described above.
  • Transmitter 110 transmits the encoded information to a communication network.
  • the storage unit 140 stores information necessary for encoding processing.
  • the encoding device 100 information necessary for calculation of encoding processing is stored in advance in the storage unit 140.
  • the receiving unit 120 collects dynamically changing information and stores it in the storage unit 140. Alternatively, dynamically changing information is obtained from an external device.
  • the decoding device 200 includes a transmitting section 210, a receiving section 220, a control section 230, and a storage section 240, which are connected by a bus.
  • the receiving unit 220 receives information to be decoded.
  • the control unit 230 executes the decoding process described above.
  • Transmitter 210 transmits the decoded message.
  • the storage unit 240 stores information necessary for decoding processing.
  • the decoding device 200 information necessary for calculation of the decoding process is held in advance in the storage unit 240.
  • the receiving unit 220 collects dynamically changing information and stores it in the storage unit 240. Alternatively, dynamically changing information is obtained from an external device.
  • transmitting section may be respectively referred to as a transmitter, a receiver, a controller (or processor), and a memory.
  • Both the encoding device 100 and the decoding device 200 may be realized by a dedicated hardware circuit, or by having a computer execute a program. This computer may be a physical computer or a virtual machine on the cloud.
  • the encoding device 100 and the decoding device 200 will be collectively referred to as the device.
  • the device can be realized by using hardware resources such as a CPU and memory built into a computer to execute a program corresponding to the processing performed by the device.
  • the above program can be recorded on a computer-readable recording medium (such as a portable memory) and can be stored or distributed. It is also possible to provide the above program through a network such as the Internet or e-mail.
  • FIG. 9 is a diagram showing an example of the hardware configuration of the computer.
  • the computer in FIG. 9 includes a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., which are connected to each other by a bus B.
  • a program that realizes processing on the computer is provided, for example, on a recording medium 1001 such as a CD-ROM or a memory card.
  • a recording medium 1001 such as a CD-ROM or a memory card.
  • the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000.
  • the program does not necessarily need to be installed from the recording medium 1001, and may be downloaded from another computer via a network.
  • the auxiliary storage device 1002 stores installed programs as well as necessary files, data, and the like.
  • the memory device 1003 reads and stores the program from the auxiliary storage device 1002 when there is an instruction to start the program.
  • the CPU 1004 implements functions related to the device according to programs stored in the memory device 1003.
  • the interface device 1005 is used as an interface for connecting to a network.
  • a display device 1006 displays a GUI (Graphical User Interface) and the like based on a program.
  • the input device 1007 is composed of a keyboard, a mouse, buttons, a touch panel, or the like, and is used to input various operation instructions.
  • An output device 1008 outputs the calculation result.
  • the technology according to the present embodiment makes it possible to efficiently encode any access structure in a communication channel with multiple input/output terminals. More specifically, the system configuration can be simplified compared to the conventional technology, and calculation time can be reduced and communication efficiency can be improved. Further, by setting ⁇ (r s , R s ) ⁇ s ⁇ S so as to satisfy the above-mentioned (3) to (5), an error probability close to 0 can be achieved.
  • sorting can be achieved with a small amount of calculation by sorting based on the number of elements in the subset.
  • the processor generates random numbers in the order in which the subsets in the subset group are sorted, based on an inclusion relationship between the subsets of the encoding devices in a subset family that is a set of subsets of the encoding devices.
  • the encoding device according to Supplementary Note 1. (Additional note 3) The encoding device according to supplementary note 2, wherein the processor executes the sorting by performing bucket sorting based on the number of elements of each subset in the subset group.
  • An encoding method comprising: (Additional note 5) A non-transitory storage medium storing a program executable by a computer used as an encoding device to perform an encoding process, The encoding process includes: In a communication system equipped with a set of encoding devices that perform encoding on a communication channel having a plurality of input/output terminals, receive a message, A non-temporary storage medium that generates random numbers from messages received by the receiving unit based on a classification result of classifying a plurality of messages by a subset of encoding devices that can access the messages.
  • the processor executes the transformation in the order in which the subsets in the subset family are sorted, based on an inclusion relationship between the subsets of the encoding devices in a subset family that is a set of subsets of the encoding devices.
  • the encoding device according to Supplementary Note 1. (Additional note 3) The encoding device according to supplementary note 2, wherein the processor executes the sorting by performing bucket sorting based on the number of elements of each subset in the subset group.
  • An encoding method comprising: (Additional note 5) A non-transitory storage medium storing a program executable by a computer used as an encoding device to perform an encoding process, The encoding process includes: In a communication system equipped with a set of encoding devices that perform encoding on a communication channel having a plurality of input/output terminals, receive a message, A non-temporary storage medium that generates codewords from messages received by the receiving unit based on classification results of a plurality of messages classified by a subset of encoding devices that can access the messages.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

複数の入出力端子を有する通信路において符号化を行う符号化装置の集合が備えられた通信システムにおける符号化装置において、メッセージを受信する受信部と、複数のメッセージを、メッセージにアクセスできる符号化装置の部分集合によって分類した分類結果に基づいて、前記受信部により受信したメッセージから符号語を生成する制御部と、を備える。

Description

符号化装置、符号化方法、及びプログラム
 本発明は、雑音のある環境で小さい復号誤り確率で正しく通信を行う技術に関連するものである。
 雑音のある環境で小さい復号誤り確率で正しく通信を行うための技術として、例えば非特許文献1に開示された技術がある。非特許文献1には、多数の入出力端子がある通信路における符号化を実現する方法が開示されている。
Jun Muramatsu, Shigeki Miyake,"Multi-Terminal Codes Using Constrained-Random-Number Generators", https://arxiv.org/pdf/1801.02875.pdf
 複数の入出力端子がある通信路において、複数の符号器が複数のメッセージのうちのどのメッセージを入力して符号化を行うかを示す構造を、メッセージのアクセス構造と呼ぶ。
 多数の情報源が存在する近年の通信環境においては、任意のアクセス構造に対する効率的な符号化を実現することが望ましい。しかし、非特許文献1に開示された技術等の従来技術においては、任意のアクセス構造に対して効率的に符号化を行うことができなかった。
 本発明は上記の点に鑑みてなされたものであり、複数の入出力端子がある通信路において、任意のアクセス構造に対して効率的に符号化を行うことを可能とする技術を提供することを目的とする。
 開示の技術によれば、複数の入出力端子を有する通信路において符号化を行う符号化装置の集合が備えられた通信システムにおける符号化装置であって、
 メッセージを受信する受信部と、
 複数のメッセージを、メッセージにアクセスできる符号化装置の部分集合によって分類した分類結果に基づいて、前記受信部により受信したメッセージから符号語を生成する制御部と、
 を備える符号化装置が提供される。
 開示の技術によれば、複数の入出力端子がある通信路において、任意のアクセス構造に対して効率的に符号化を行うことが可能となる。
本発明の実施の形態における通信システムの構成例を示す図である。 アクセス構造の例1を示す図である。 アクセス構造の例2を示す図である。 Algorithm 1を示す図である。 符号化装置の内部の処理内容を示す図である。 復号装置の内部の処理内容を示す図である。 Algorithm 2を示す図である。 装置構成例を示す図である。 装置のハードウェア構成例を示す図である。
 以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。以下の説明において、参考文献については[1]などのように番号で表し、明細書の最後に番号に対応する文献名を記載した。
 (概要)
 前述したとおり、多数の情報源が存在する近年の通信環境においては、任意のアクセス構造に対する効率的な符号化を実現することが望ましい。しかし、非特許文献1に開示された技術等の従来技術においては、任意のアクセス構造に対して効率的に符号化を行うことができなかった。
 より具体的には、[3]のFig.4のような構成では、後述の図1や例2と対応するような一般的なアクセス構造において、(文献[3]Fig.4の)補助確率変数Z に定常無記憶性を仮定したときは効率のよい通信を行うことができない。またブロック長nと同じ次元の(文献[3]Fig.4の)通信路Wを構成した場合は、システム構成の複雑度や計算時間が大きくなる。
 また、多数の入出力端子がある通信路において、メッセージのアクセス構造が任意の場合の符号化方法を実現する方法に関連して、従来技術では、独立なメッセージ集合と符号器が1対1対応する場合や、文献[4]のFig.8にあるような全ての符号に共通のメッセージ集合がある場合の単純なものしかなく、これに対して効率的な通信を実現するためには複雑な構成をとる必要があった。つまり、従来技術では、任意のアクセス構造に対して効率的に符号化を行うことができなかった。
 以下、複雑な構造を用いることなく、任意のアクセス構造に対して効率的に符号化を行うことを可能とする技術を説明する。
 本実施の形態では、二つ以上の入出力端子を持つ通信路(多端子通信路)での符号化を行う技術について説明する。特に、本実施の形態では、メッセージを「それをアクセスできる符号器の集合」によって分類し、符号器の集合の包含関係によって(例えば大きい順に)ソートされた順序で乱数生成を行うことによって、各々の符号器が符号化を行うこととしている。
 また、拘束条件を満たす乱数生成器と疎行列を用いて、符号器と復号器を構成することとしている。ただし、拘束条件を満たす乱数生成器を使用することは一例であり、拘束条件を満たす乱数生成以外の適切に定めた変換を用いて、符号化及び復号を実現することが可能である。
 なお、以下では、符号化を行う装置を符号化装置と呼び、復号を行う装置を復号装置と呼ぶ。符号化装置と復号装置をそれぞれ、符号器、復号器と呼んでもよい。
 (通信システムの全体構成例)
 図1に、本実施の形態における通信システムの全体構成例を示す。図1に示すように、本通信システムには、複数の符号化装置と複数の復号装置が備えられ、これらが通信ネットワーク(通信路と呼んでもよい)に接続される構成を有する。
 図1には、メッセージを示すM、符号化処理を示すΦ、通信路への入力情報(符号化装置からの出力情報)を示すX、通信路の特性を示すμ、通信路からの出力情報(復号装置への入力情報)を示すY、復号処理を示すΨ、復号装置から出力されるメッセージを示す^Mが示されているが、これらの詳細については後述する。なお、明細書テキストにおける「^M」は、Mの頭にハットが付された記号を意図している。
 個々の符号化装置は、受信部として、複数の入力インタフェース(入力端と呼んでもよい)を有しており、複数のメッセージを入力可能である。本実施の形態では、符号化装置にメッセージを入力することを、「符号化装置がメッセージにアクセスする」と表現してもよい。
 (定義と記法)
 ここでは、本実施の形態の説明で使用する定義と記法について説明する。図面又は明細書内の画像で表記される数式やアルゴリズムにおけるドイツ文字のIとLは、それぞれ、明細書テキスト中では、I、Lと表記する。その他、画像での表記方法と明細書テキストでの表記方法が異なるものについては、説明を要しないほど明らかな場合を除いて、適宜その内容を説明する。
 以下では、u≡{uu∈Vという記法が用いられた場合は、集合Vに属するvをインデックスとするu(系列、確率変数、関数、等)の集合を表すものとする。|V|は集合Vの要素数を表す。なお、{uv∈Vは、(重複を許さない)集合ではなく、一つのvに対してuという値を持つ連想配列(ハッシュ、辞書)と呼ばれるものである。また{u n=1は数列{u;n=1,2,...}を意味する。
 Iを通信路入力と対応する符号化装置のインデックスの集合とする。Jを通信路出力と対応する復号装置のインデックスの集合とする。一般の通信路は条件付き確率分布の列
Figure JPOXMLDOC01-appb-M000001
で表される。ここでX ≡{X i∈Iは通信路入力の確率変数であり、Y ≡{Y j∈Jは通信路出力の確率変数である。つまり、X は、符号化装置(の集合)から出力される情報(データ、信号)を示す。Y は、復号装置(の集合)へ入力される情報(データ、信号)を示す。
 各i∈Iに対して、XX を確率変数X ≡(Xi,1,...,Xi,n)のとり得る値の集合(以下アルファベットと呼ぶ)とする。なお、「XX」のように、2つの大文字を並べて記載した表記は、図面や画像では、1文字「X」の筆記体に対応する。
 ここで、自然数nはブロック長であり、XX は集合XXのn次元の直積である。各j∈Jに対して,YY を確率変数Y のアルファベットとする。ここでYY はn次元空間である必要はない。
 Sをメッセージのインデックス集合とする。各s∈Sに対して、MをアルファベットMM上の一様分布に従うs番目のメッセージ(以下メッセージsと呼ぶ)とする。{Ms∈Sは互いに独立であると仮定する。なお、一様性や独立性の仮定はないものとしてもよい。
 i番目の符号化装置(以下、符号化装置iと呼ぶ)は、メッセージ集合MS(i)≡{Ms∈S(i)を入力し、変換(符号化)を行って、通信路入力としてX を送信する。ここでS(i)は符号化装置iがアクセスできるメッセージのインデックス集合であり、詳細は後述する。
 各j∈Jに対して、D(j)をj番目の復号装置(以下復号装置jと呼ぶ)が再生(復号)するメッセージのインデックス集合とする。ここで、D(j)⊂Sである。復号装置jは通信路出力Y を受信し再生メッセージ
Figure JPOXMLDOC01-appb-M000002
を求める。ここで^Mj,s∈MMは復号装置jによって再生されたメッセージsである。本実施の形態では、ブロック長nを十分大きくとることにより、任意のj∈Jとs∈Dで^Mj,s=Mが成立する確率が1に近いような符号化装置/復号装置を構成する。^Mj,s=Mが成立する確率が1に近いということは、復号誤り確率が小さいということである。すなわち、本実施の形態において構成した符号はProb(・)を事象の確率を表すとき、任意のε>0に対して十分大きなnをとることにより、
Figure JPOXMLDOC01-appb-M000003
を満たしている。上式の左辺は復号誤り確率と呼ばれる。以降の説明において、Hの下にバーが付いた文字を明細書テキストでは「下バーH」と表記し、Hの上にバーが付いた文字を明細書テキストでは「上バーH」と表記する。
 確率変数列U≡{U n=1の分布列
Figure JPOXMLDOC01-appb-M000004
を与えたとき、下バーH(U)を条件付きスペクトルエントロピーレート下限とする。確率変数(U,V)≡{(U,V)} n=1の分布列
Figure JPOXMLDOC01-appb-M000005
を与えたとき、下バーH(U|V)、上バーH(U|V)をそれぞれ、スペクトルエントロピーレート下限、スペクトルエントロピーレート上限とする。これらについての形式的な定義については後述する。
 ここで、確率変数列が定常無記憶性(独立同分布性)を持つときは、下バーH(U)はエントロピーH(U)となり、下バーH(U|V)、上バーH(U|V)はともに、条件付きエントロピーH(U|V)となる。また、確率変数列{U n=1、{(U,V)} n=1が定常性のみを持つときは下バーH(U)はエントロピーレートlimn→∞H(U)/nとなり、下バーH(U|V)、上バーH(U|V)はともに条件付きエントロピーレートlimn→∞H(U|V)/nとなる。
 各s∈Sに対して、ZZ を確率変数Z のアルファベットとする。ここでZZsはn次元空間である必要はない。各s∈Sに対して、CCを後述の関数fの値域となる集合とする。c∈CC、m∈MMとして、以下c、mをベクトルと呼ぶことにする。
Figure JPOXMLDOC01-appb-M000006
を各々、関数の集合とする。c≡{cs∈S,m≡{ms∈Sを各々、ベクトルの集合とする。Sの部分集合S′を与えたとき、
Figure JPOXMLDOC01-appb-M000007
と定義する。ここで、z∈ZZ ,zS′≡{zs∈S′である。関数χ(S)を以下のように定義する。
Figure JPOXMLDOC01-appb-M000008
 (アクセス構造について)
 アクセス構造とは、例として図2、図3に示すように、符号化装置がどのメッセージを入力とするか(どのメッセージにアクセスできるか)を示す情報である。より詳細には下記のとおりである。
 アクセス構造AはS×Iの部分集合であり、(s,i)∈Aは符号化装置iがメッセージsへアクセスできることを意味する。Aを有向辺の集合、(s,i)∈Aを有向辺s→iと解釈すると、(S,I,A)は2部グラフとなる。図2、図3には、メッセージと符号化装置との間で2部グラフが構成されていることが示されている。
 各s∈Sに対して、I(s)をメッセージsにアクセスできる符号化装置のインデックス集合とする。
  I(s)≡{i∈I:(s,i)∈A}
 各i∈Iに対して、S(i)を符号化装置iがアクセスできるメッセージのインデックス集合とする。
  S(i)≡{s∈S:(s,i)∈A}
 ここで、i∈I(s)とs∈S(i)は同値である。
 I′をIの部分集合とする。各I′に対して、S(I′)をインデックス集合I′と対応する符号化装置で共有しているメッセージのインデックス集合とする。
  S(I′)≡{s∈S:I(s)=I′}
 I,I(i)を次のように定義する。
 I≡{I′⊂I:S(I′)≠空集合}
 I(i)≡{I′∈I:i∈I}
 以下、例1、例2を用いて、上記記号を使用した具体例を説明する。なお、例1、例2において例示するような、メッセージにアクセスできる符号化装置の部分集合によって、複数のメッセージを分類する分類処理については、各符号化装置が行ってもよいし、外部装置が分類処理を行って、各符号化装置が外部装置から分類結果を受信してもよい。
 <アクセス構造:例1>
 例1は、図2に対応する。例1は、共有メッセージのある2入力マルチプルアクセス通信路符号や共有メッセージのある2入力干渉通信路符号のアクセス構造の例である。S、I、Aを下記のとおりとする。
 S≡{0,1,2}
 I≡{1,2}
 A≡{(0,1),(0,2),(1,1),(2,2)}
 上記Aに示されるとおり、メッセージ0は符号化装置1と符号化装置2で共有しており、各i∈{1,2}でメッセージiは符号化装置iだけがアクセスできる(プライベート)メッセージである。言い替えれば、各i∈{1,2}で符号化装置iはメッセージ0とメッセージiにアクセス可能である。このアクセス構造は、共有メッセージのある2入力干渉通信路に対しても同様である。マルチプルアクセス通信路符号は、一つの復号装置がメッセージ0、メッセージ1、メッセージ2の全てを復号する。干渉通信路符号は各i∈{1,2}で復号装置iがメッセージ0とメッセージiを復号する。このアクセス構造より、前述した定義から、以下を得る。
 I(0)≡{1,2}
 I(1)≡{1}
 I(2)≡{2}
 S(1)≡{0,1}
 S(2)≡{0,2}
 S({1})≡{1}
 S({2})≡{2}
 S({1,2})≡{0}
 I≡{{1,2},{1},{2}}
 I(1)≡{{1,2},{1}}
 I(2)≡{{1,2},{2}}
 上記のI≡{{1,2},{1},{2}}は、共有メッセージを持つ符号化装置の部分集合の集合である。共有メッセージを持つ符号化装置の部分集合には、あるメッセージにアクセスする1つの符号化装置を含む。
 I(1)≡{{1,2},{1}}は、符号化装置1に関しての、共有メッセージを持つ符号化装置の部分集合の集合である。I(2)≡{{1,2},{2}}は、符号化装置2に関しての、共有メッセージを持つ符号化装置の部分集合の集合である。
 <アクセス構造:例2>
 例2は図3に対応する。例2は、3入力のマルチプルアクセス通信路(干渉通信路を含む)におけるアクセス構造の例である。S、I、Aを下記のとおりとする。
 S≡{1,3,12,23,123}
 I≡{1,2,3}
 A≡{(1,1),(3,3),(12,1),(12,2),(23,2),(23,3),(123,1),(123,2),(123,3)}
 各i∈{1,3}で、メッセージiは符号化装置iのプライベートメッセージであり、二桁の数値ij∈{12,23}の各々で、メッセージijは符号化装置iと符号化装置jの共有メッセージである。メッセージ123は符号化装置1、符号化装置2、符号化装置3の共有メッセージである。言い替えれば、符号化装置1はメッセージ1、メッセージ12、メッセージ123へアクセス可能であり、符号化装置2はメッセージ2、メッセージ12、メッセージ23、メッセージ123、へアクセス可能であり、符号化装置3はメッセージ3、メッセージ23、メッセージ123へアクセス可能である。ここで、部分的に共有されているメッセージ12、メッセージ23は2入力のマルチプルアクセス通信路では現れない。このアクセス構造より以下を得る。
 S(1)≡{1,12,123}
 S(2)≡{12,23,123}
 S(3)≡{3,23,123}
 I(1)≡{1}
 I(3)≡{3}
 I(12)≡{1,2}
 I(23)≡{2,3}
 I(123)≡{1,2,3}
 S({1})≡{1}
 S({3})≡{3}
 S({1,2})≡{12}
 S({2,3})≡{23}
 S({1,2,3})≡{123}
 I≡{{1,2,3},{1,2},{2,3},{1},{3}}
 I(1)≡{{1,2,3},{1,2},{1}}
 I(2)≡{{1,2,3},{1,2},{2,3}}
 I(3)≡{{1,2,3},{2,3},{3}}
 与えられたI′∈Iに対して,S°(I′)を以下のように定義する。なお、「S°」は、°がSの頭に付いた文字であることを意図している。
Figure JPOXMLDOC01-appb-M000009
 ・{S(I′)}I′∈~IはSの分割(和集合がSとなる互いに疎な集合族)となる。
 ・i∈I′ならばS(I′)⊂S(i),S°(I′)⊂S(i)が成立する。即ち、符号化装置iはメッセージ集合MS(I′)≡{Ms∈S(I′)、MS°(I′)≡{Ms∈S°(I′)の双方にアクセス可能である。
 ・∪I′∈~I(i)S(I′)=S(i)が成り立つ。
 確率分布
Figure JPOXMLDOC01-appb-M000010
を以下で定義する。
Figure JPOXMLDOC01-appb-M000011
ここで
Figure JPOXMLDOC01-appb-M000012
のときは
Figure JPOXMLDOC01-appb-M000013
と定義する。
 (通信路符号の構成)
 続いて、本実施の形態における通信路符号の構成について説明する。本実施の形態における通信路符号の構成の基本的な考えは、参考文献[1][3][2][4]に基づくものである。ただし、下記で説明する事項が、参考文献[1][3][2][4]に開示されているわけではない。
 各s∈Sで関数
Figure JPOXMLDOC01-appb-M000014
を与える。更に、各s∈Sで、
Figure JPOXMLDOC01-appb-M000015
を与える。ZZ が有限体上のn次元の線形空間である場合は、具体的なf,gとして疎行列を与えることができる。c∈CCをCC上の一様分布に従い発生させたベクトルとする。なお、各sで一つのものを適切に選択して固定してもよい。
 二つの関数の集合f≡{fs∈S,g≡{gs∈Sとベクトルの集合c≡{cs∈Sは符号化装置と復号装置で共有している。つまり、符号化装置と復号装置はそれぞれ、メモリ等の記憶部に上記二つの関数の集合とベクトルの集合を保持している。
 各i∈Iで、符号化装置iはfS(i),gS(i),cS(i)を利用する。各j∈Jで、復号装置jはfD(j)、gD(j)、cD(j)を利用する。更に、符号化装置、復号装置は共に条件付き確率分布
Figure JPOXMLDOC01-appb-M000016
を利用する。
 <符号化装置>
 次に、本実施の形態の符号化装置による符号化処理について説明する。まず、符号化装置iが利用する、拘束条件を満たす乱数生成器を与える。すなわち、符号化装置iは、後述する制御部により、拘束条件を満たす乱数生成処理を行う。「乱数生成器」を「乱数生成部」と呼んでもよい。
 与えられた
Figure JPOXMLDOC01-appb-M000017
に対して、
Figure JPOXMLDOC01-appb-M000018
を以下で定義した確率分布に従う確率変数とする。
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000020
を満たす任意のk,k′∈{1,2,...,|I(i)|}でk>k′が成立するように、I(i)≡{Ii,1,...,Ii,|~I(i)|}の要素を整列する。k、k´は、I(i)の要素のインデックスである。一例として、I(3)≡{{1,2,3},{2,3},{3}}は、「数22」を満たす任意のk,k′∈{1,2,...,|I(i)|}でk>k′が成立している。整列の手順については後述するAlgorithm 2を用いて説明する。
 符号化装置iは、図4に示すAlgorithm 1の手順に従って、乱数
Figure JPOXMLDOC01-appb-M000021
を生成する。この乱数を符号化情報と呼んでもよい。つまり、図4に示すように、入力がなされ、2行目が各kで繰り返されることで、出力を得る。整列されたI(i)≡{Ii,1,...,Ii,|~I(i)|}が満たしている条件によって、Algorithm 1の2行目においては、任意のI′に対して
Figure JPOXMLDOC01-appb-M000022
がすでに得られていることが保証される。
 I′∈Iを与えたとき、メッセージ集合mS(I′)にアクセスできる(インデックスはI′に属している)全ての符号化装置は拘束条件を満たす乱数生成器の同一の出力zS(I′)を得ることができることを仮定する。仮定を満たすために、例えば、(同じ初期値を用いて)同期させた疑似乱数列等を利用して、それぞれの符号化装置が拘束条件を満たす乱数生成を行う。符号化装置iが実行する関数Φ:MMS(i)→XX を以下のように定義する。
Figure JPOXMLDOC01-appb-M000023
ここで、あるI′∈I(i)で
Figure JPOXMLDOC01-appb-M000024
を満たしている場合には、符号化装置はエラーを宣言(出力)する。Wは条件付き確率分布
Figure JPOXMLDOC01-appb-M000025
に従う通信路である。ただし、Wは決定的関数でもよい。
 符号化装置iにおける、符号化処理に係るデータの流れを図5に示す。これは、上述した処理内容を図示したものに相当する図である。
 なお、図5の符号化装置iにおいて、
Figure JPOXMLDOC01-appb-M000026
を満たさないときはzS(I_(i,k))から
Figure JPOXMLDOC01-appb-M000027
への矢印は無い。つまり、
Figure JPOXMLDOC01-appb-M000028
ではzS(I_(i,k))を利用しない。
 <復号装置>
 次に、復号装置jにおける処理内容を説明する。各j∈Jで、復号装置jはあらかじめ共有したベクトルcD(j)≡{cs∈D(j)と通信路出力y∈YY より、下記の分布に従う乱数^zD(j)≡{^zj,ss∈D(j)を、拘束条件を満たす乱数生成器を用いて生成する。
Figure JPOXMLDOC01-appb-M000029
ここでfD(j)(^zD(j))≡{f(^zj,s)}s∈D(j)とする。復号装置jが実行する関数Ψ:YY →MMD_jを以下のように定義する。つまり、復号装置jは、下記の処理を行うことで入力情報に対する復号を実施して、復号されたメッセージを出力する。
Figure JPOXMLDOC01-appb-M000030
ここで、各j∈J、s∈D(j)で^Mj,s≡g(^zj,s)である。
 復号装置jにおける、復号処理に係るデータの流れを図6に示す。これは、上述した処理内容を図示したものに相当する図である。図6において、D(j)≡{sj,1,sj,2,...,sj,|D(j)|}とする。
 <{(r,R)}s∈Sが満たすべき条件>
 各s∈Sでr、R
Figure JPOXMLDOC01-appb-M000031
とする。
 本実施の形態において、{(r,R)}s∈Sが満たすべき条件について説明する。(Z ,X ,Y )の同時分布を式(2)で定義された
Figure JPOXMLDOC01-appb-M000032
を用いて以下で与える。
Figure JPOXMLDOC01-appb-M000033
 {(R,r)}s∈Sは、I′∈I,空集合≠S′⊂S(I′),j∈J,空集合≠D′⊂D(j)を満たす任意の(I′,S′,j,D′)で
Figure JPOXMLDOC01-appb-M000034
Figure JPOXMLDOC01-appb-M000035
Figure JPOXMLDOC01-appb-M000036
を満たしていることを仮定する。ここで
Figure JPOXMLDOC01-appb-M000037
のときは
Figure JPOXMLDOC01-appb-M000038
と定義する。
 具体的な
Figure JPOXMLDOC01-appb-M000039
を与えれば、
Figure JPOXMLDOC01-appb-M000040
が具体的な実数値として求めることができる。このとき、{Rs∈Sと{rs∈Sに属する変数の一部が実数として与えられたとき、(3)-(5)を満たすように{Rs∈Sと{rs∈Sの残りの変数を決定するために、線形計画法を用いることができる。このとき、以下の定理が成り立つ。
 定理:^Mj,s≡g(^Z j,s)とする。{(R,r)}s∈Sが(3)-(5)を満たしているとき、任意のε>0に対して十分大きなnをとれば、(1)満たすf,g,cを与えることができる。
 (スペクトルエントロピーレート下限と条件付きスペクトルエントロピーレート上限)
 ここで、前述したスペクトルエントロピーレート下限と条件付きスペクトルエントロピーレート上限の詳細な定義について説明する。
 確率変数列{U n=1に対して確率的上限(limit superior in probability)p-limsupn→∞と確率的下限(limit inferior in probability)p-liminfn→∞を以下で定義する。
Figure JPOXMLDOC01-appb-M000041
 確率変数列U≡{U n=1と対応する確率分布列
Figure JPOXMLDOC01-appb-M000042
に対して、スペクトルエントロピーレート下限(spectralinf-entropy rate)下バーH(U)を以下で定義する。
Figure JPOXMLDOC01-appb-M000043
 確率変数列(U,V)={(U,V)} n=1と対応する確率分布列
Figure JPOXMLDOC01-appb-M000044
に対して、条件付きスペクトルエントロピーレート下限(spectral conditional inf-entropy rate)下バーH(U|V)、条件付きスペクトルエントロピーレート上限(spectral conditional sup-entropy rate)上バーH(U|V)を各々以下で定義する。
Figure JPOXMLDOC01-appb-M000045
 同時分布μUVに従う確率変数U,Vがあるとき、エントロピーH(U)と条件付きエントロピーH(U|V)を以下で定義する。
Figure JPOXMLDOC01-appb-M000046
ここで
Figure JPOXMLDOC01-appb-M000047
である。
 (部分集合族の部分順序の線形拡大)
 ここで、前述した
Figure JPOXMLDOC01-appb-M000048
を満たす任意のk,k′∈{1,2,...,|I(i)|}でk>k′が成立するように、I(i)≡{Ii,1,...,Ii,|~I(i)|}の要素を整列する手順を説明する。なお、ここで説明する手順は、I,Iの定義とは無関係に成立する一般的な手順である。I,Iへ本手順を適用することは一例である。
 ここでは、包含関係による部分順序を持つ部分集合族I≡{I,...,I|~I|}(各k∈{1,...,|I|}でI⊂I)の線形拡大を求める方法について説明する。この線形拡大を求める方法とは、
Figure JPOXMLDOC01-appb-M000049
を満たす任意のk,k′∈{1,2,...,|I|}でk>k′が成立する集合を求める方法である。
 部分順序が有向非循環グラフ(有向非巡回グラフと呼んでもよい)で与えられているときは、トポロジカルソートにより、|I|と有向辺の数の和に比例する計算量で求めることができる。しかしながら、有向非循環グラフで与えられていないときは、二つの部分集合の比較に必要な計算量をO(|I|)と仮定すると、有向非循環グラフを求めるためにO(|I||I|)の計算量が必要となる。また[5]で与えられているアルゴリズムを利用する場合の平均計算量は、2つの部分集合の比較に必要な計算量をO(|I|)とするとO(w|I||I|log|I|)となる。ここで、wは有向非循環グラフの幅(width)である。
 本実施の形態において提案する、整列の手順を図7のAlgorithm 2に示す。なお、整列の手順は、符号化装置が実行してもよいし、符号化装置の外部装置で実行してもよい。符号化装置の外部装置で実行する場合は、実行結果を符号化装置が受信して、符号化処理に利用する。
 本提案法では部分集合の要素数に基づくバケツソートを用いる。部分集合の要素数を求める為の計算量がO(1)の場合、提案法の計算量はO(|I|+|I|)となる。部分集合の要素数を求める為の計算量がO(I)の場合は提案法の計算量はO(|I||I|)となる。例えば、IとL(w),w∈{0,1,...,|I|}のデータ構造として二重循環リンクを持つリストを利用することで、和集合の操作をO(1)にすることができる。
 図7に示すAlgorithm 2に従って、ソートされていないリストが入力され、1行目ではw∈{0,1,...,|I|}に対してL(v)を初期化する。3行目のL(|I′|)←{I′}∪L(|I′|)は、L(|I′|)にI′を付加する操作である。つまり、|I′|で識別される「L(|I′|)」というバケツにI′を入れる操作である。これを各Iの要素I´に対して行うことで、各要素数に対応する各「バケツ」の中へ、その要素数のデータがセットされる。
 6行目のI←L(v)∪IはIの先頭にL(v)を付加する操作である。これを、v=0から|I|まで順に繰り返すことで、バケツからデータが取り出されて、ソートされた部分集合族が完成する。
 順序あるいは包含関係のどちらか一方を逆にする場合は、6行目をIの末尾にL(v)を付加する操作I←I∪L(v)へ変更する。ここで、以下の定理が成り立つ。
 定理2:Algorithm 2の実行後には、I≡{I,...,I|~I|}において、
Figure JPOXMLDOC01-appb-M000050
を満たす任意のk,k′∈{1,2,...,|I|}はk>k′を満たしている。
 なお、部分集合の要素数を求める計算量がO(1)であるときは、部分集合I′∈Iの要素数を用いて標準的なソートアルゴリズム(クイックソート,マージソート,ヒープソート,等)を実行した場合の計算量はO(|I|log|I|)となる。従ってO(|I|log|I|)がO(|I|)と比べて小さいときや、事前にIが定められない場合は、部分集合の要素数による標準的なソートアルゴリズムを用いた方が、計算量が小さくなる。
 (その他)
 前述したように、本実施の形態において、拘束条件を満たす乱数生成器を用いることは一例であり、任意の変換を用いてよい。その場合、符号化装置の処理内容を示すAlgorithm 1(図4)の2行目を、
Figure JPOXMLDOC01-appb-M000051
に置き換える。この場合、cS(I_(i,k))はプリセットされた値なので、これが不要な場合も含む。
 (装置構成例)
 図8に、これまでに説明した処理を実行する符号化装置100と復号装置200の機能構成図を示す。
 図8に示すように、符号化装置100は、送信部110、受信部120、制御部130、記憶部140を備え、これらがバスで接続される。受信部120が符号化対象となるメッセージを受信する。制御部130は、これまでに説明した符号化処理を実行する。送信部110は、符号化された情報を通信ネットワークに送信する。記憶部140には、符号化処理のために必要な情報が格納されている。
 符号化装置100において、符号化処理の計算のための必要な情報は記憶部140に予め保持している。動的に変化する情報については、受信部120が収集し、記憶部140に格納する。あるいは、動的に変化する情報については、外部装置から取得する。
 復号装置200は、送信部210、受信部220、制御部230、記憶部240を備え、これらがバスで接続される。受信部220が復号対象となる情報を受信する。制御部230は、これまでに説明した復号処理を実行する。送信部210は、復号されたメッセージを送信する。記憶部240には、復号処理のために必要な情報が格納されている。
 復号装置200において、復号処理の計算のための必要な情報は記憶部240に予め保持している。動的に変化する情報については、受信部220が収集し、記憶部240に格納する。あるいは、動的に変化する情報については、外部装置から取得する。
 なお、送信部、受信部、制御部、記憶部をそれぞれ、送信機、受信機、コントローラ(又はプロセッサ)、メモリと呼んでもよい。
 (ハードウェア構成例)
 符号化装置100、復号装置200はいずれも、専用のハードウェア回路で実現してもよいし、コンピュータにプログラムを実行させることにより実現してもよい。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。以下、符号化装置100、復号装置200を総称して装置と呼ぶ。
 すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
 図9は、上記コンピュータのハードウェア構成例を示す図である。図9のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
 当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
 (実施の形態の効果等)
 本実施の形態に係る技術により、複数の入出力端子がある通信路において、任意のアクセス構造に対して効率的に符号化を行うことが可能となる。より具体的には、従来技術よりもシステム構成を単純化でき、計算時間の削減、通信効率の向上が図れる。また、前述した(3)-(5)を満たすように{(r,R)}s∈Sを設定することにより0に近い誤り確率を実現できる。
 また、部分集合族を包含関係によってソートする方法として、部分集合の要素数に基づいてソートすることにより少ない計算量でソートを実現できる。
 なお、本実施の形態では、I(i)、i∈Iをあらかじめソートしておくことを想定しているが、メッセージのアクセス構造が動的に変化する場合は、前述のAlgorithm 2等を用いて各々の符号化装置が動的にソートを実行する。
 (付記1)
 以上の実施形態に関し、更に以下の付記項を開示する。
(付記項1)
 複数の入出力端子を有する通信路において符号化を行う符号化装置の集合が備えられた通信システムにおける符号化装置であって、
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 メッセージを受信し、
 複数のメッセージを、メッセージにアクセスできる符号化装置の部分集合によって分類した分類結果に基づいて、前記受信部により受信したメッセージから乱数を生成する
 符号化装置。
(付記項2)
 前記プロセッサは、前記符号化装置の部分集合の集合である部分集合族における前記符号化装置の部分集合間の包含関係に基づいて、前記部分集合族における部分集合がソートされた順序で乱数を生成する
 付記項1に記載の符号化装置。
(付記項3)
 前記プロセッサは、前記部分集合族における各部分集合の要素数に基づくバケツソートを行うことにより、前記ソートを実行する
 付記項2に記載の符号化装置。
(付記項4)
 複数の入出力端子を有する通信路において符号化を行う符号化装置の集合が備えられた通信システムにおける符号化装置として使用されるコンピュータが実行する符号化方法であって、
 メッセージを受信するステップと、
 複数のメッセージを、メッセージにアクセスできる符号化装置の部分集合によって分類した分類結果に基づいて、受信したメッセージから乱数を生成するステップと、
 を備える符号化方法。
(付記項5)
 符号化処理を実行するように、符号化装置として使用されるコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
 前記符号化処理は、
 複数の入出力端子を有する通信路において符号化を行う符号化装置の集合が備えられた通信システムにおいて、
 メッセージを受信し、
 複数のメッセージを、メッセージにアクセスできる符号化装置の部分集合によって分類した分類結果に基づいて、前記受信部により受信したメッセージから乱数を生成する
 非一時的記憶媒体。
 (付記2)
 以上の実施形態に関し、更に以下の付記項を開示する。
(付記項1)
 複数の入出力端子を有する通信路において符号化を行う符号化装置の集合が備えられた通信システムにおける符号化装置であって、
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 メッセージを受信し、
 複数のメッセージを、メッセージにアクセスできる符号化装置の部分集合によって分類した分類結果に基づいて、前記受信部により受信したメッセージから符号語を生成する
 符号化装置。
(付記項2)
 前記プロセッサは、前記符号化装置の部分集合の集合である部分集合族における前記符号化装置の部分集合間の包含関係に基づいて、前記部分集合族における部分集合がソートされた順序で変換を実行する
 付記項1に記載の符号化装置。
(付記項3)
 前記プロセッサは、前記部分集合族における各部分集合の要素数に基づくバケツソートを行うことにより、前記ソートを実行する
 付記項2に記載の符号化装置。
(付記項4)
 複数の入出力端子を有する通信路において符号化を行う符号化装置の集合が備えられた通信システムにおける符号化装置として使用されるコンピュータが実行する符号化方法であって、
 メッセージを受信するステップと、
 複数のメッセージを、メッセージにアクセスできる符号化装置の部分集合によって分類した分類結果に基づいて、受信したメッセージから符号語を生成するステップと、
 を備える符号化方法。
(付記項5)
 符号化処理を実行するように、符号化装置として使用されるコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
 前記符号化処理は、
 複数の入出力端子を有する通信路において符号化を行う符号化装置の集合が備えられた通信システムにおいて、
 メッセージを受信し、
 複数のメッセージを、メッセージにアクセスできる符号化装置の部分集合によって分類した分類結果に基づいて、前記受信部により受信したメッセージから符号語を生成する
 非一時的記憶媒体。
 以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
[参考文献]
[1] J. Muramatsu, "Channel coding and lossy source coding using a generator of constrained random numbers," IEEE Trans. Inform. Theory, vol. IT-60, no. 5, pp. 2667-2686, May 2014.
[2] J. Muramatsu and S. Miyake, "Channel code using constrained-random-number generator revisited," IEEE Trans. Inform. Theory, vol. IT-65, no. 1, pp. 500-510, Jan. 2019.
[3] J. Muramatsu and S. Miyake, "Multi-terminal codes using constrained-random-number generator," Proceedings of the 2018 International Symposium on Information Theory and its Applications, Singapore, Oct. 28-31, 2018, pp. 612-616. Extended version is available at arXiv:1801.02875v2[cs.IT].
[4] J. Muramatsu, "On the achievability of interference channel coding," https://arxiv.org/abs/2201.10756, 2022.
[5] C. Daskalakis, R. M. Karp, E. Mossel, S. Riesenfeld, and E. Verbin, "Sorting and selection in posets," https://arxiv.org/abs/0707.1532v1, 2007.
100 符号化装置
110 送信部
120 受信部
130 制御部
140 記憶部
200 復号装置
210 送信部
220 受信部
230 制御部
240 記憶部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置

Claims (5)

  1.  複数の入出力端子を有する通信路において符号化を行う符号化装置の集合が備えられた通信システムにおける符号化装置であって、
     メッセージを受信する受信部と、
     複数のメッセージを、メッセージにアクセスできる符号化装置の部分集合によって分類した分類結果に基づいて、前記受信部により受信したメッセージから符号語を生成する制御部と、
     を備える符号化装置。
  2.  前記制御部は、前記符号化装置の部分集合の集合である部分集合族における前記符号化装置の部分集合間の包含関係に基づいて、前記部分集合族における部分集合がソートされた順序で変換を実行する
     請求項1に記載の符号化装置。
  3.  前記制御部は、前記部分集合族における各部分集合の要素数に基づくバケツソートを行うことにより、前記ソートを実行する
     請求項2に記載の符号化装置。
  4.  複数の入出力端子を有する通信路において符号化を行う符号化装置の集合が備えられた通信システムにおける符号化装置が実行する符号化方法であって、
     メッセージを受信するステップと、
     複数のメッセージを、メッセージにアクセスできる符号化装置の部分集合によって分類した分類結果に基づいて、受信したメッセージから符号語を生成するステップと、
     を備える符号化方法。
  5.  コンピュータを請求項1ないし3のうちいずれか1項に記載の符号化装置における各部として機能させるためのプログラム。
PCT/JP2022/011364 2022-03-14 2022-03-14 符号化装置、符号化方法、及びプログラム WO2023175680A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/011364 WO2023175680A1 (ja) 2022-03-14 2022-03-14 符号化装置、符号化方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/011364 WO2023175680A1 (ja) 2022-03-14 2022-03-14 符号化装置、符号化方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2023175680A1 true WO2023175680A1 (ja) 2023-09-21

Family

ID=88022899

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/011364 WO2023175680A1 (ja) 2022-03-14 2022-03-14 符号化装置、符号化方法、及びプログラム

Country Status (1)

Country Link
WO (1) WO2023175680A1 (ja)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MURAMATSU, JUN ET AL.: "Channel Code Using Constrained-Random-Number Generator Revisited", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 65, no. 1, 26 October 2018 (2018-10-26), pages 500 - 510, XP011700944, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8510848> [retrieved on 20190100], DOI: 10.1109/TIT.2018.2878217 *
MURAMATSU, JUN ET AL.: "Multi-Terminal Codes Using Constrained-Random-Number Generators", 2018 INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY AND ITS APPLICATIONS (ISITA, 28 October 2018 (2018-10-28), pages 580 - 584, XP033529004, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8664289> DOI: 10.23919/ISITA.2018.8664289 *

Similar Documents

Publication Publication Date Title
Rigo Formal languages, automata and numeration systems 1: Introduction to combinatorics on words
CN106852185A (zh) 基于字典的并行压缩编码器
US20220083865A1 (en) Oblivious binary neural networks
US9137336B1 (en) Data compression techniques
Elishco et al. Optimal reference for DNA synthesis
JP6990881B2 (ja) エントロピー・エンコーディングのシステム・レベル・テスト
WO2023175680A1 (ja) 符号化装置、符号化方法、及びプログラム
KR102339723B1 (ko) Dna 저장 장치의 연성 정보 기반 복호화 방법, 프로그램 및 장치
US11281688B2 (en) Ranking and de-ranking data strings
Zhou et al. Linear extractors for extracting randomness from noisy sources
CN113485829B (zh) 用于微服务集群的数据增量步段的标识值生成方法
Tzortzis et al. Approximation of Markov processes by lower dimensional processes via total variation metrics
Schrock et al. Computational complexity of k-block conjugacy
Kouzani et al. Multilabel classification by bch code and random forests
Mezher et al. Genetic folding for solving multiclass SVM problems
CN103326731B (zh) 一种基于分布式算术编码的隐马尔科夫相关信源编码方法
Alanko et al. Longest common prefix arrays for succinct k-spectra
Daykin et al. Indeterminate string factorizations and degenerate text transformations
EP4274102A1 (en) Decoding device, decoding method, and program
Wallace et al. On the spectrum of prebiotic chemical systems: An information theory treatment of Eigen’s paradox
Crochemore et al. Algorithms for three versions of the shortest common superstring problem
US20230353765A1 (en) Lossless Compression with Probabilistic Circuits
Ozsoy An efficient parallelization of longest prefix match and application on data compression
Rahman et al. CHAPAO: Likelihood and hierarchical reference-based representation of biomolecular sequences and applications to compressing multiple sequence alignments
US20240013050A1 (en) Packing machine learning models using pruning and permutation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22931965

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2024507218

Country of ref document: JP