WO2018100934A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2018100934A1
WO2018100934A1 PCT/JP2017/038735 JP2017038735W WO2018100934A1 WO 2018100934 A1 WO2018100934 A1 WO 2018100934A1 JP 2017038735 W JP2017038735 W JP 2017038735W WO 2018100934 A1 WO2018100934 A1 WO 2018100934A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
data
information processing
leaflet
processing apparatus
Prior art date
Application number
PCT/JP2017/038735
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 CN201780073015.2A priority Critical patent/CN109997309A/zh
Priority to US16/327,514 priority patent/US11005497B2/en
Publication of WO2018100934A1 publication Critical patent/WO2018100934A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • H03M7/3062Compressive sampling or sensing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Definitions

  • the present disclosure relates to an information processing apparatus, an information processing method, and a program.
  • a storage destination of various data by a communication terminal such as a smartphone or a tablet terminal is not limited to a recording medium (for example, an SD memory card) built in or attached to the terminal, so-called Storage areas on the network such as cloud storage are also available.
  • a recording medium for example, an SD memory card
  • Patent Document 1 discloses an example of a technique for realizing a distributed storage system.
  • a first signal including one or more non-zero components based on first data and one or more zero components is generated based on a matrix generated according to a predetermined condition.
  • a signal processing unit that encodes a second signal having a shorter signal length than the first signal, and information indicating the position of the signal element in the second signal for each signal element of the second signal Are associated with each other, a data generation unit that generates one or more second data, and a transmission unit that transmits each of the generated one or more second data to one or more devices connected via a network
  • An information processing apparatus is provided.
  • the first signal including one or more non-zero components based on the first data and the one or more zero components is encoded based on a matrix generated according to a predetermined condition.
  • Information indicating the position of the signal element in the second signal with respect to at least some of the signal elements of the second signal having a shorter signal length than the first signal. Is acquired from one or more devices connected via a network, the acquired one or more second data, and each row component of the matrix
  • An information processing apparatus comprising: a signal processing unit that decodes the first data based on at least a constraint condition corresponding to a row component corresponding to the signal element associated with the second data. Provided.
  • a matrix in which a computer generates a first signal including one or more non-zero components based on first data and one or more zero components according to a predetermined condition.
  • the second signal having a shorter signal length than the first signal, and the position of the signal element in the second signal for each signal element of the second signal. And transmitting each of the one or more pieces of second data associated with information indicating the information to one or more devices connected via a network.
  • a matrix in which a computer generates a first signal including one or more non-zero components based on first data and one or more zero components according to a predetermined condition The position of the signal element in the second signal with respect to at least a part of the signal elements of the second signal having a shorter signal length than the first signal encoded based on
  • Each of the one or more pieces of second data associated with the information indicating the above-mentioned information is obtained from one or more devices connected via a network, the obtained one or more pieces of the second data, and the matrix
  • An information processing method is provided that includes decoding the first data based on the corresponding constraint condition.
  • a matrix in which a first signal including one or more non-zero components and one or more zero components based on the first data is generated according to a predetermined condition is generated in a computer.
  • the second signal having a shorter signal length than the first signal, and the position of the signal element in the second signal for each signal element of the second signal.
  • a matrix in which a first signal including one or more non-zero components and one or more zero components based on the first data is generated according to a predetermined condition is generated in a computer.
  • Each of the one or more pieces of second data associated with the information indicating the above-mentioned information is obtained from one or more devices connected via a network, the obtained one or more pieces of the second data, and the matrix
  • a recording medium on which a program for executing the decoding of the first data is recorded based on the corresponding constraint condition is provided.
  • An information processing apparatus in a situation where a storage area on the network is used as a storage destination of various data, it is possible to achieve both continuity of system operation and reduction of operation cost.
  • An information processing apparatus an information processing method, and a recording medium are provided.
  • FIG. 1 is a diagram illustrating an example of a schematic system configuration of an information processing system according to an embodiment of the present disclosure.
  • 4 is an explanatory diagram for describing a basic principle of operation of the information processing system according to the embodiment;
  • FIG. It is the figure which showed an example of the data before and behind encoding, and the information for the said encoding in the information processing system which concerns on the embodiment. It is explanatory drawing for demonstrating the outline
  • An example of a random number table used for generating an observation matrix is shown.
  • An example of a random number table used for generating an observation matrix is shown. It is the figure which showed an example of the data structure of a leaflet. It is the figure which showed an example of the data of a leaflet.
  • FIG. 1 is a diagram illustrating an example of a schematic system configuration of an information processing system according to an embodiment of the present disclosure.
  • the information processing system 1 includes a plurality of information processing devices 100 and one or more terminal devices 200.
  • the information processing apparatus 100 is configured to be able to communicate with the terminal apparatus 200 via a predetermined network. That is, in the example illustrated in FIG. 1, for example, the information processing apparatus 100 operates as a server, and the terminal device 200 is connected to the information processing apparatus 100 as a client via the network. Further, the information processing apparatus 100 may be configured to be able to communicate with other information processing apparatuses 100 via a predetermined network. Note that the type of network between the information processing device 100 and the terminal device 200 and the type of network between the plurality of information processing devices 100 are not particularly limited.
  • the network may be configured by the Internet, a dedicated line, a LAN (Local Area Network), a WAN (Wide Area Network), or the like.
  • the said network may be comprised by the wireless network and may be comprised by the wired network.
  • the network may include a plurality of networks, and at least a part of the network may be configured as a wired network.
  • each information processing apparatus 100 provides various network services to the terminal apparatus 200.
  • various network services for example, cloud services
  • the information processing system 1 is a network storage that makes it possible to use a storage area on a network by operating at least some of the information processing apparatuses 100 as a storage node.
  • Provide a service eg, a cloud storage service.
  • the information processing apparatus 100 operating as a storage node acquires and acquires data to be saved transmitted from another apparatus (for example, the terminal apparatus 200 or another information processing apparatus 100).
  • the stored data is held in a predetermined storage area.
  • the information processing apparatus 100 operating as a storage node reads data held in a predetermined storage area based on a request from another apparatus (for example, the terminal apparatus 200 or another information processing apparatus 100), and the data Is sent to the requesting device.
  • the terminal device 200 can use a storage area on a network as a storage destination of various data, not limited to a recording medium (for example, an SD memory card) built in or attached to itself. It becomes.
  • the information processing system 1 may be configured as a so-called distributed storage system in which data is distributed and stored in two or more information processing apparatuses 100 that operate as storage nodes. Note that the distributed storage system will be described later separately. In this way, by configuring the information processing system 1 as a distributed storage system, even if the number of terminal devices 200 that use network storage increases, it is possible to avoid or reduce the influence caused by network congestion. Become.
  • system configuration of the information processing system 1 shown in FIG. 1 is merely an example, and if it is possible to provide a network storage service based on a plurality of devices connected via a network, the information processing system 1
  • the system configuration is not limited.
  • another example of the system configuration of the information processing system 1 according to the present embodiment will be separately described later as a modified example.
  • the storage destination of various data by the terminal device 200 is not limited to the recording medium that is built in or attached to the terminal device 200, but is a cloud storage or the like. It has become possible to use storage areas on various networks. By providing such a mechanism, for example, the user can save data of an image captured by a camera built in a terminal such as a smartphone in a storage area on the network.
  • the cloud storage provides a mechanism in which a center server is arranged on a network, and various data can be uploaded and downloaded to a pre-registered client (in other words, a user) based on a dedicated encryption protocol.
  • the cloud storage corresponds to a data storage system in which security measures are taken based on a so-called client / server system.
  • the present disclosure can achieve both continuity of system operation and reduction of operation cost in a situation where a storage area on the network is used as a storage destination of various data.
  • FIG. 2 is an explanatory diagram for explaining the basic principle of the operation of the information processing system 1 according to the present embodiment, and shows an example of the logical configuration of the information processing system 1.
  • the information processing system 1 includes an encoding processing device 300, a decoding processing device 400, and a holding device 500. Each device constituting the information processing system 1 plays at least one of the three roles “Scatter”, “Holder”, and “Raker”. Each of “Scatter”, “Holder”, and “Raker” will be separately described later.
  • the encoding processing apparatus 300 generates one or more data pieces by performing encoding processing on data to be stored in the network storage based on information (for example, random numbers) generated based on a predetermined condition. Each data piece is distributed to one or more holding devices 500. At this time, the encoding processing device 300 may determine the holding device 500 serving as a distribution destination of each data piece based on a rule determined by an arbitrary protocol, or may determine it randomly.
  • the role of distributing the generated one or more data pieces to another device corresponds to “Scatter”. That is, the encoding processing device 300 plays the role of “Scatter”.
  • the data piece is also referred to as a “leaflet”. Details of the leaflet will be described later.
  • the holding device 500 corresponds to a storage node that holds various data in the distributed storage system. Specifically, one or more leaflets distributed by the encoding processing device 300 are acquired from the encoding processing device 300 or another holding device 500. Note that the holding device 500 may hold, discard, or transfer the acquired leaflet to another holding device 500 according to its own state (for example, internal state). As a specific example, the holding device 500 may hold the acquired leaflet in a storage area associated with itself. The holding device 500 may transfer the acquired leaflet or at least a part of the leaflet held in the storage area to another holding device 500, or may discard it. As described above, the holding device 500 may independently determine the handling of the leaflet distributed to itself without depending on other devices.
  • the encoding processing device 300 described above does not necessarily recognize the operation and state of the holding device 500 serving as a leaflet transfer destination, and does not need to know the delivery destination of each leaflet.
  • the role of holding the distributed leaflet corresponds to “Holder”.
  • the holding device 500 plays a role of “Holder”.
  • the holding device 500 since the holding device 500 may transfer the leaflet to another holding device 500, the holding device 500 can play the role of “Scatter”.
  • the decryption processing device 400 collects the leaflet held by the holding device 500 from each of the one or more holding devices 500.
  • the decoding processing apparatus 400 may collect the leaflet held by the holding apparatus 500 from the reacting holding apparatus 500 by using an arbitrary broadcast or multicast protocol.
  • the role of collecting leaflets held by each holding device 500 corresponds to “Raker”. That is, the decryption processing device 400 plays the role of “Raker”.
  • the decryption processing device 400 decrypts the original data based on the collected leaflet.
  • the decoding processing apparatus 400 does not necessarily need to collect all the leaflets generated by encoding the original data. If the predetermined condition is satisfied, the decoding processing apparatus 400 can decode the original data even from only some leaflets. Is possible. Details of the encoding process and decoding process for realizing this function will be described later.
  • the information processing system 1 has the following characteristics.
  • Feature 1 A node serving as a distribution source (that is, the encoding processing device 300 or the holding device 500) does not need to recognize in which distribution destination each leaflet exists.
  • Feature 2 Each storage node (holding device 500) can operate independently without depending on the state of other devices.
  • -Feature 3 Restoring the original data from the leaflet requires information (random number) for encoding used when generating the leaflet, and it is difficult to restore the original data using only the leaflet. It is possible to ensure confidentiality.
  • Feature 4 Since all storage nodes (holding devices 500) to which leaflets are distributed are not necessarily required to operate when restoring original data, maintenance of individual storage nodes depends on other storage nodes It can be done independently without.
  • the encoding processing device 300, the decoding processing device 400, and the holding device 500 can be realized by, for example, at least one of the plurality of information processing devices 100 illustrated in FIG.
  • at least one of the plurality of information processing apparatuses 100 can play at least one of the three roles “Scatter”, “Holder”, and “Raker”. That is, in the information processing system 1 according to the present embodiment, the information processing apparatus 100 has five states of “hold”, “discard”, “transfer”, “distribution”, and “collection” as states relating to the handling of leaflets.
  • the information processing apparatus 100 may serve as a plurality of apparatuses among the encoding processing apparatus 300, the decoding processing apparatus 400, and the holding apparatus 500. As a specific example, some information processing apparatuses 100 may operate as the encoding apparatus 300 and may operate as the holding apparatus 500. As another example, some information processing apparatuses 100 may operate as the encoding processing apparatus 300 and may operate as the decoding processing apparatus 400.
  • the information processing system 1 uses a technique called compressed sensing for data encoding and decoding.
  • Compressed sensing is a paradigm that enables reconstruction of the original signal (hereinafter also referred to as “original signal”) from a slight observation result with respect to a signal that can be expressed in sparse.
  • original signal hereinafter also referred to as “original signal”
  • Reference 1 “EJ Candes, 2 others,“ Robust Uncertainty Principles: Exact Signal Reconstruction From Highly Incomplete Frequency Information ”, [online], February 2006, IEEE TRANSACTIONS ON INFORMATION THEORY , VOL.52, NO.2, p489-502, [Searched on November 1, 2016], Internet ⁇ URL: http://people.ee.duke.edu/ ⁇ lcarin/01580791.pdf> It is done.
  • Reference 1 shows an example in which the original image can be completely restored by sampling about 1/50 of Nyquist rate on the assumption that the spatial change rate of the original image is sparse (sparse). Has been.
  • Reference 2 “Gang Huang, 3 others,“ Lensless Compressive Sensing Imaging ”, [online], January 2013, Bell Labs., Alcatel-Lucent, Murray Hill, NJ, USA [Search on November 1, 2016], Internet ⁇ URL: https://arxiv.org/ftp/arxiv/papers/1302/1302.1789.pdf> ”.
  • Reference 2 uses a lattice-like aperture assembly (for example, a transmissive LCD panel) that can block and transmit light from the subject at random, and collects the light at one point for each blocking and transmitting pattern.
  • a camera is disclosed in which a sensor such as one photodiode is installed at the tip of the sensor, and the collected light is repeatedly read as an electrical signal.
  • Reference 2 discloses that it is possible to restore a subject image using a compression sensing technique based on a signal value read for each pattern based on such a configuration.
  • compressed sensing can restore the original signal with a small number of observations for a signal in a certain sparse state (a state in which the mathematically appropriate base is used to have almost zero component). This is based on mathematical theory. Therefore, hereinafter, signal restoration by compressed sensing will be described at an overview level. In addition, since compression sensing itself is well-known as mentioned above, the details of the theory shall be left to well-known literature, and detailed description is abbreviate
  • the problem of compressed sensing is that, as shown below as (Equation 1), when the number K of non-zero components is small in the observation under the condition “number of samples (number of observations) M ⁇ original signal length N” (that is, , K-sparse state), when the original signal and the observation result are combined using an appropriate observation matrix, the original signal is restored.
  • the compression sensing problem can be said to be a problem of simultaneous linear indefinite equations for obtaining a sparse signal x.
  • the observation result is y (M dimension)
  • the original signal is x (N dimension)
  • the problem that these relations can be expressed based on an appropriate observation matrix A is considered.
  • Equation 2 As a method for solving the problem of compressed sensing, as shown below as (Equation 2), an appropriate cost function J (x) is minimized (in other words, regularized) under the constraints of observation values. It is generally known to result.
  • the outline of compressed sensing has been described above as a technique for realizing data encoding and decoding in the information processing system 1 according to the present embodiment.
  • the encoding processing device 300 (Scatter) generates one or more leaflets by performing encoding processing on the original data.
  • the leaflet is distributed to an arbitrary holding device 500 (Holder).
  • the decryption processing device 400 (Raker) collects the leaflet held by the holding device 500 from an arbitrary holding device 500 (Holder), and restores the original data based on the collected leaflet.
  • FIG. 3 is a diagram illustrating an example of data before and after encoding and information for the encoding in the information processing system 1 according to the present embodiment.
  • the original signal x corresponds to a signal based on the original data.
  • the matrix A corresponds to information for encoding the original signal x
  • the signal y corresponds to a signal obtained by encoding the original signal x based on the matrix A.
  • each row component of the signal y is calculated based on the original signal x and the corresponding row component of the matrix A.
  • the row component of the first row of the signal y is calculated based on the original signal x and the row component of the first row of the matrix A.
  • information indicating the position of each signal component of the signal y in the signal y corresponds to the row component of the matrix A used for generating the signal component. For this reason, it is possible to specify which row component in the matrix A is used when generating the signal component based on information indicating the position of each signal component of the signal y in the signal y. Based on such characteristics, the encoding processing device 300 converts each signal component of the signal y calculated by encoding the original signal x based on the matrix A to the position of the signal component in the signal y (for example, A leaflet is generated by associating it with information indicating a line.
  • FIG. 4 is an explanatory diagram for explaining an outline of a leaflet generation method.
  • a case where a leaflet is generated by encoding image data will be described as an example.
  • data to be encoded is not necessarily limited to image data.
  • a signal y is generated by performing an encoding process on an original signal x (sparse signal) based on original image data based on an observation matrix A, and the signal y A leaflet is generated based on each signal component y i .
  • the original signal x may be, for example, information of the original image data itself, or a predetermined calculation process (for example, image processing such as edge extraction) is performed on the image data. It may be the information obtained in.
  • the method for generating the signal y based on the original signal x and the observation matrix A is as described above with reference to (Equation 1).
  • observation matrix A for example, a coefficient matrix generated based on a pseudo random number generator capable of reproducing each component can be applied.
  • a pseudo random number generator capable of reproducing each component.
  • a random number table is stored in advance for a node (eg, encoding processing device 300) that generates a leaflet. This may be realized.
  • FIG. 5 and FIG. 6 show an example of a random number table used for generating the observation matrix A.
  • the example shown in FIG. 5 shows an example of a random number table using real random numbers from 0 to 2.
  • the example shown in FIG. 6 is an example of a random number table using random numbers of 0 or 1.
  • the examples shown in FIGS. 5 and 6 are merely examples, and the type of random number used for generating the observation matrix A is not particularly limited as long as each component of the observation matrix A can be reproduced.
  • the observation matrix A only needs to be able to reproduce each component, and the generation method of the observation matrix A is not necessarily limited to the generation method based on random numbers.
  • FIG. 7 is a diagram illustrating an example of the data structure of the leaflet.
  • FIG. 8 is a diagram showing an example of leaflet data.
  • the data structure (format) of the leaflet includes a header part and a payload part.
  • the header part mainly includes various control information related to the leaflet.
  • the header portion includes a node identifier and information indicating a system option.
  • the payload part includes a leaflet generation ID, information indicating the Y coordinate, and information indicating the Y value.
  • the node identifier indicates an identifier for specifying a node (for example, the encoding processing device 300) that holds the original signal x.
  • a node for example, the encoding processing device 300
  • the IP address of the node that holds the original signal x may be mentioned.
  • the type of information held as the node identifier is not particularly limited.
  • the information indicating the Y value corresponds to the signal component y i of the y signal generated by encoding the x signal based on the observation matrix A.
  • the leaflet generation ID is information for specifying the coefficient (random number) pattern of the observation matrix A used for generating the y signal.
  • the leaflet generation ID is information for specifying the coefficient pattern of the row component used for calculating the Y value (that is, the signal component y i ) in the observation matrix A used for generating the y signal.
  • the leaflet generation ID may be information for specifying the observation matrix A itself used for generating the y signal.
  • the system option indicates arbitrary information added as a supplement.
  • information that can be used for handling leaflets by other nodes for example, the holding device 500 and the decryption processing device 400
  • information that can be used for system control such as the length of time a leaflet stays on storage, the lifetime of the leaflet, and information that corresponds to an extended variable are associated with the leaflet as system options. May be.
  • an extension indicator such as information indicating that a plurality of payload parts are included, the number of payload parts, and the start positions of the payload parts that are continuously connected to each other, Optionally, it may be associated with a leaflet.
  • the leaflet is obtained for each signal component y i of the y signal obtained by multiplying the original signal x based on the original data by the observation matrix A configured with a reproducible random number as a coefficient.
  • the signal component y i is generated by associating and packaging the Y coordinate of the signal component y i .
  • FIGS. 9 and 10 are explanatory diagrams for explaining a node that plays the role of Scatter, and shows an overview of processing related to leaflet distribution.
  • nodes that play the role of Scatter provide leaflets to storage nodes that are randomly selected or storage nodes that are determined in advance by a transfer protocol or the like. Deliver or forward.
  • each node serving as a leaflet distribution source may freely determine a transfer protocol for determining a storage node serving as a distribution destination of the leaflet according to the situation. That is, one of the features of the information processing system 1 according to the present embodiment is that it has a degree of freedom in determining the leaflet transfer destination.
  • a transfer protocol can be defined so that leaflets are proportionally distributed according to the capacity of the storage area of each storage node.
  • each storage node to which a leaflet has been distributed serves as a new Scatter, and the leaflet is used as another storage node (for example, another holding device 500). ). That is, each storage node to which a leaflet has been distributed may independently perform leaflet transfer control depending on the situation. Further, each storage node to which the leaflet has been distributed may hold the leaflet and transfer a copy of the leaflet to another storage node.
  • the encoding processor 300, a 1st Scatter, leaflets y 1 which formed was delivered to the holding device 500a, are delivering leaflets y 2 to a holding device 500b.
  • the holding device 500a from the coding processor 300 receives the distribution of leaflets y 1, as a 2nd Scatter, which transfers the leaflet y 1 to the holding device 500e, and 500 g.
  • the holding device 500a, 500e, 500 g, and each of 500f it may hold the leaflet y 1 which is delivered or forwarded.
  • leaflets y 1 the holding device 500a, so that the scattered 500e, 500 g, and 500f.
  • the holding device 500b from the coding processor 300 receives the distribution of leaflets y 2, similarly to the holding device 500a, as 2nd Scatter, may transfer the leaflet y 2 to other holding devices 500.
  • FIG.11 and FIG.12 is explanatory drawing for demonstrating the storage node which plays the role of Holder.
  • the storage node (for example, holding device 500) that plays the role of Holder receives the distribution or transfer of the leaflet from the node that plays the role of Scatter, and holds the leaflet. Therefore, the storage node that plays the role of Holder has a storage area for holding the distributed or transferred leaflet.
  • the storage area only needs to have a capacity capable of holding at least one leaflet, and the type of device is not particularly limited.
  • a FIFO (First-In First-Out) type in which a storage area of a storage node serving as a holder can hold at least one leaflet, as indicated by reference numeral 510b in FIG. It may be configured as a memory.
  • the storage area of the storage node that plays the role of Holder may be configured as a memory capable of holding a plurality of leaflets.
  • the storage node that plays the role of Holder may play the role of Scatter. That is, the storage node may hold the distributed or transferred leaflet in its own storage area, and transfer the leaflet itself or a copy of the leaflet to another storage node for its own convenience.
  • FIG. 13 is an explanatory diagram for explaining a node that plays the role of Raker, and shows an overview of processing related to leaflet distribution.
  • a node that plays the role of Raker collects leaflets from each storage node (for example, the holding device 500) on the network, and reconstructs (decodes) the original data based on the leaflets.
  • a node that is a leaflet generation source that is, the encoding processing device 300 may play the role of Raker.
  • a node playing the role of Raker performs leaflet (or multicast) to each storage node based on a predetermined protocol, thereby holding leaflets held by the storage node. You may call for sending.
  • the node playing the role of Raker may specify a leaflet to be transmitted by specifying a condition based on a node identifier, information included in system options (for example, a unique identifier, etc.), etc. .
  • the node playing the role of Raker can collect the leaflet from the storage node that has responded to the broadcast.
  • each storage node (for example, the holding device 500) generates an access list indicating the transfer destination of each leaflet, so that the node that plays the role of the Raker is based on the access list. May be recovered.
  • Reference 5 Japanese Patent Laid-Open No. 2003-6087 discloses a technique related to the generation of the access list and a technique that enables downloading of the target content by using the access list. The technique may be applied to the collection of leaflets.
  • the broadcast from the node that plays the role of Raker to each storage node may be multilayered. That is, a broadcast from a node that plays the role of Raker may be transmitted to another storage node via one or more storage nodes. With such a configuration, the node playing the role of Raker can call for more leaflets to be sent to more storage nodes.
  • the storage node that has received the broadcast may directly transmit (unicast) the leaflet to the node that plays the role of Raker. Further, in order to reduce the load on the node that plays the role of Raker, a protocol or the like for transferring leaflets to the broadcast source may be newly defined.
  • the node that plays the role of Raker uses the collected leaflet to decode the original data (for example, image data) based on the compressed sensing technique described above. Details of the process of decoding the original data from the collected leaflet will be described later.
  • FIG. 14 is a block diagram showing an example of the functional configuration of the information processing system 1 according to the present embodiment, and shows an example of the functional configuration of each of the encoding processing device 300 and the decoding processing device 400. .
  • a sparse original signal x based on image data captured by the imaging unit 250 is to be encoded.
  • the encoding processing device 300 includes a pseudo-random number generation unit 301, an observation matrix generation unit 303, an encoding processing unit 305, a leaflet generation unit 307, and a leaflet distribution unit 309.
  • the pseudo-random number generator 301 corresponds to the reproducible pseudo-random number generator described above.
  • the pseudo random number generation unit 301 generates a reproducible pseudo random number based on a predetermined condition, and outputs the generated pseudo random number to the observation matrix generation unit 303. Further, as described with reference to FIGS. 5 and 6, the pseudo random number generation unit 301 holds a random number table generated in advance, and outputs a pseudo random number to the observation matrix generation unit 303 based on the random number table. Also good.
  • the observation matrix generation unit 303 generates the observation matrix A described with reference to FIG. 3 based on the pseudo random number output from the pseudo random number generation unit 301, and outputs the generated observation matrix A to the encoding processing unit 305. .
  • the encoding processing unit 305 acquires the observation matrix A generated based on the pseudo random number in advance from the observation matrix generation unit 303 and holds it.
  • the encoding processing unit 305 receives an input of a sparse original signal x based on image data captured by the imaging unit 250 as a signal to be encoded.
  • the encoding processing unit 305 generates a signal y after the encoding process by encoding the input original signal x based on the observation matrix A.
  • the method for generating the signal y is as described above with reference to (Equation 1).
  • the encoding processing unit 305 outputs the signal y generated by encoding the original signal x to the leaflet generation unit 307.
  • the encoding processing unit 305 corresponds to an example of a “signal processing unit” in the information processing apparatus 100 that plays the role of Scatter.
  • the leaflet generation unit 307 generates one or more leaflets based on the signal y generated by the encoding processing unit 305. Specifically, as described with reference to FIG. 7, the leaflet generation unit 307 is, for each signal element (Y value) of the signal y, information indicating the position of the signal element in the signal y ( The leaflet y i is generated by associating the (Y coordinate). At this time, the leaflet generation unit 307 may associate the above-described information such as the leaflet generation ID, the node identifier, and the system option with the leaflet y i . Then, the leaflet generation unit 307 outputs one or more leaflets y i generated based on the signal y to the leaflet distribution unit 309.
  • the leaflet generation ID may be information for identifying the coefficient pattern of the row component used for calculating the Y value (that is, the signal component of the signal y) in the observation matrix A. It may be information for specifying the observation matrix A itself.
  • the leaflet generation unit 307 corresponds to an example of a “data generation unit”.
  • the leaflet distribution unit 309 distributes one or more leaflets y i generated by the leaflet generation unit 307 to another storage node (for example, the holding device 500) that plays the role of a Holder via a predetermined network. As described above, one or more leaflets y i generated by the encoding processing device 300 are spread and distributed to the storage nodes on the network.
  • the leaflet distribution unit 309 corresponds to an example of a “transmission unit”.
  • the decoding processing device 400 includes a leaflet collection unit 401, a collection memory 403, an observation matrix reconstruction unit 405, and a decoding processing unit 407.
  • the leaflet collection unit 401 has a configuration for collecting leaflets from each storage node on the network. As described above, the leaflet collection unit 401 calls for transmission of a leaflet by broadcasting (or multicasting) to each storage node based on a predetermined protocol, and the storage node holds the storage node from the reacted storage node. Get the leaflet to be. The leaflet collection unit 401 stores each collected leaflet in the collection memory 403.
  • the collection memory 403 is a storage area for temporarily or permanently holding the collected leaflet.
  • the leaflet collection unit 401 corresponds to an example of “acquisition unit”.
  • leaflet collection unit 401 may be assumed to collect the already collected leaflets again. Therefore, when the leaflet collection unit 401 collects the same leaflet as the already collected leaflet again, the leaflet collected again may be discarded.
  • the leaflet overlap can be determined based on information unique to each leaflet, such as a leaflet generation ID, for example.
  • the leaflet collection unit 401 instructs the observation matrix reconstruction unit 405 to reconstruct the observation matrix A based on the leaflet.
  • the observation matrix reconstruction unit 405 reconstructs the observation matrix A used for generating the leaflet based on the leaflet collection result by the leaflet collection unit 401.
  • the observation matrix reconstruction unit 405 includes a pseudo random number generator (for example, a random number table) similar to the encoding processing device 300 (pseudo random number generation unit 301), and generates leaflets associated with leaflets.
  • the observation matrix A is reconstructed based on ID (random pattern ID).
  • ID random pattern ID
  • the observation matrix reconstruction unit 405 determines the observation matrix based on the leaflet generation ID associated with each of the plurality of leaflets. Reconfigure A.
  • the reconstructed observation matrix A does not have to be reconstructed for other row components if the row component corresponding to the Y value associated with the collected leaflet is reconstructed.
  • the observation matrix reconstruction unit 405 may reconstruct the observation matrix A based on the information. .
  • the observation matrix reconstruction unit 405 may reconstruct the observation matrix A again based on the collection result of the leaflet.
  • the observation matrix reconstruction unit 405 corresponds to the Y value associated with the leaflet among the row components of the observation matrix A reconstructed in advance.
  • a row component (in other words, a row component that has not been reconstructed at that time) may be reconstructed.
  • observation matrix reconstruction unit 405 outputs information indicating the reconstructed observation matrix A to the decoding processing unit 407.
  • the processing related to the reconstruction of the observation matrix A by the observation matrix reconstruction unit 405 described above is merely an example for the decoding processing device 400 to recognize the observation matrix A used for generating the collected leaflet. . That is, the method is not particularly limited as long as the decoding processing apparatus 400 can recognize the observation matrix A used for generating the collected leaflet.
  • the encoding processing device 300 and the decoding processing device 400 hold in advance information indicating the common observation matrix A or information for reproducing the observation matrix A (for example, a random number table). May be.
  • the encoding processing device 300 and the decoding processing device 400 transmit and receive information indicating the observation matrix A or information for reproducing the observation matrix A in advance based on so-called encrypted communication.
  • the common information may be held between the encoding processing device 300 and the decoding processing device 400. In such a case, it goes without saying that the decoding processing device 400 does not have to execute the process related to the reconstruction of the observation matrix A described above.
  • the decoding processing unit 407 decodes the original signal x based on the leaflet held in the collection memory 403 (that is, the leaflet collection result) and the observation matrix A reconstructed by the observation matrix reconstruction unit 405.
  • the decoding processing unit 407 corresponds to an example of a “signal processing unit” in the information processing apparatus 100 that plays the role of Raker.
  • the original signal x is decoded by performing minimization (in other words, regularization).
  • the decoding processing unit 407 may decode (reconstruct) the original signal x based on the reconstructed signal y and the observation matrix A by solving the L1 norm minimization problem.
  • reference 6 “D L. Donoho,“ High-dimensional centrally-symmetric polytopes with neighborliness proportional to dimension ”can be used to determine whether or not the original signal x can be decoded (ie, reconstructed).
  • Reference 6 gives consideration from the standpoint of random high-dimensional geometry about the fully recoverable / impossible boundary of compressed sensing.
  • Candes et al. The author of Reference Document 1 described above, have provided a guideline that enables reconstruction with higher accuracy by introducing a condition of limited isometricity. That is, in the present embodiment, sufficient conditions for enabling the observation matrix A generated as a random coefficient matrix to be reconstructed are mathematically shown based on the above considerations and guidelines.
  • the L1 norm minimization problem has been described as an example.
  • the compression sensing solution is considered to be an Lp norm (p> 0) minimization problem, and the L1 norm minimization is considered.
  • information indicating a criterion for determining whether or not the signal y can be decoded based on the leaflet collection result is stored in a storage area that can be referred to by the decoding processing unit 407. Just keep it.
  • information obtained by tabulating threshold values indicating whether or not the signal y can be decoded based on the contents disclosed in the above-described documents may be used as information indicating the reference.
  • information indicating the above criteria may be generated based on a prior experiment or the like.
  • leaflets may be generated based on the observation matrix A.
  • the encoding processing apparatus 300 that plays the role of Scatter may be controlled so that the number of generated leaflets is 0.4 N or more in consideration of the network situation or the like (for example, observation of 0.5N ⁇ N) A leaflet may be generated based on the matrix A).
  • redundancy for example, tolerance to a failure of a storage node that plays the role of a holder, a failure of a network path to the storage node, etc.
  • an example of the functional configuration of the information processing system 1 according to the present embodiment is particularly divided into the encoding processing device 300 that plays the role of Scatter and the decoding processing device 400 that plays the role of Raker. It explained with attention.
  • FIG. 15 is a flowchart illustrating an example of a flow of a series of processes of the encoding processing apparatus according to the present embodiment.
  • the encoding processing device 300 (observation matrix generation unit 303) generates an observation matrix A based on a pseudo-random number that can be reproduced based on a predetermined condition (S101).
  • the encoding processing device 300 encodes the sparse original signal x input as a signal to be encoded based on the observation matrix A generated based on the pseudo random number. Thus, the signal y after the encoding process is generated. Further, the encoding processing device 300 (leaflet generation unit 307) associates information (Y coordinate) indicating the position of the signal element in the signal y with each signal element (Y value) of the generated signal y. Generates a leaflet y i . At this time, the encoding processing apparatus 300 may associate information such as a leaflet generation ID, a node identifier, and a system option with the generated leaflet y i (S103).
  • the encoding processing device 300 (leaflet distribution unit 309) distributes the generated one or more leaflets y i to another storage node (for example, the holding device 500) that plays the role of Holder via a predetermined network. (S105). As described above, one or more leaflets y i generated by the encoding processing device 300 are spread and distributed to the storage nodes on the network.
  • FIG. 16 is a flowchart illustrating an example of a flow of a series of processes of the decoding processing apparatus according to the present embodiment.
  • the decryption processing device 400 (leaflet collection unit 401), for example, calls for transmission of leaflets by performing broadcast (or multicast) to each storage node on the network, and the storage node that has reacted The leaflet held by the storage node is acquired from (S201).
  • the decryption processing device 400 may discard the collected leaflet again (S205).
  • the decryption processing device 400 (the decryption processing unit 407) newly collects another leaflet different from the already collected leaflet (S203, NO)
  • the signal x ′ (for example, it is determined whether or not the original signal x) can be reconfigured (S207).
  • the decoding processing apparatus 400 may determine that the signal x ′ can be reconfigured when the number of collected series of leaflets is equal to or greater than a threshold value.
  • the decoding processing device 400 (leaflet collection unit 401) stores the collected leaflet in the collection memory 403. At this time, the decoding processing device 400 may rearrange a series of leaflets stored in the collection memory 403 based on information indicating the Y coordinate associated with each leaflet (S209). Further, the decoding processing apparatus 400 (observation matrix reconstruction unit 405) may reconstruct the observation matrix A used for generating the leaflet based on the leaflet collection result. For example, when the leaflet is newly collected, the decoding processing device 400, among the row components of the observation matrix A, corresponds to the row component corresponding to the Y value associated with the leaflet (in other words, reconstructed at that time).
  • Non-row component may be reconfigured (S211). At this time, when the decoding matrix 400 has already reconstructed the observation matrix A for some row components based on the previously collected leaflet, the newly collected leaflet of the observation matrix A The row component corresponding to the Y value associated with may be additionally reconfigured.
  • the decoding processing apparatus 400 performs leaflet collection (S201), retention of the leaflet (S209), and reconstruction of the observation matrix A (S211) until it is determined that the signal x ′ can be reconstructed. Run repeatedly.
  • FIG. 17 is an explanatory diagram for describing an example of the information processing system 1 according to the present embodiment, and shows a specific example of the original signal x, the observation matrix A, and the signal y.
  • the ratio of the number of non-zero components to the total number of signal elements in the original signal x is expressed as sparseness ⁇
  • the signal y shown in FIG. 17 shows an example of a signal generated based on the original signal x and the observation matrix A shown in FIG.
  • references 6 and 7 described above disclose the relationship between the compression rate ⁇ and the sparse degree ⁇ , and determine whether the original signal x can be reconstructed from the compression rate ⁇ and the sparse degree ⁇ . It can be used as an index for judgment. That is, according to this principle, the present disclosure generates a series of leaflets based on the signal y by generating the signal y, and the signal x ′ (for example, the original signal) based on at least some of the series of leaflets. A technique for reconstructing x) is proposed.
  • the original signal x and the observation matrix A and the signal y calculated by the compressed sensing based on the original signal x and the observation signal A.
  • Example 1 An example of a condition for determining whether or not the original signal can be reconfigured> First, as a first modification, an example of a condition for a node (for example, the decoding processing device 400) playing the role of Raker to determine whether or not the original signal x can be reconstructed based on the leaflet collection result will be described. To do.
  • a condition for a node for example, the decoding processing device 400
  • p indicates the number of rows of the observation matrix A.
  • M represents the signal length of the original signal x
  • S represents the sparseness. That is, according to Candes et al., If the number of rows p of the observation matrix A satisfies the condition shown in (Expression 5) above, by using the L1 minimization problem, the complete reproduction of the original signal x can be performed with a sufficiently high probability. Mathematically proven to be achieved.
  • the node playing the role of Raker may determine whether or not the original signal x can be reconfigured according to the leaflet collection result based on the condition shown as (Formula 5).
  • a node playing the role of Raker may determine whether or not the original signal x can be reconfigured according to the leaflet collection result by using the property of compressed sensing.
  • Reference 8 “Masayuki Ozeki,“ Sparse modeling that can be started today ”, [online], March 3, 2016, Adaptive System Theory Group, graduate School of Information Studies, Kyoto University, [November 1, 2016 Search], Internet ⁇ URL: http://www-adsys.sys.i.kyoto-u.ac.jp/mohzeki/Presentation/lecturenote20160304.pdf> "discloses information on the nature of compressed sensing .
  • FIG. 18 is an explanatory diagram for explaining an example of determination conditions for determining whether or not the original signal x can be reconfigured.
  • the horizontal axis indicates the sparse degree ⁇
  • the vertical axis indicates the compression rate ⁇ .
  • the Success region located on the upper side with the curve as a boundary corresponds to a condition in which the original signal x can be reconstructed. That is, when the sample plotted according to the conditions of the sparse degree ⁇ and the compression rate ⁇ is located in the Success region, the original signal x can be reconstructed with a very high probability.
  • the failure region located on the lower side with respect to the curve corresponds to a condition where it is difficult to reconstruct the original signal x.
  • the node playing the role of Raker determines whether the leaflet collection result satisfies the condition for positioning in the Success region in the graph shown in FIG. It may be determined whether or not can be reconfigured.
  • the conditions shown in FIG. 18 are merely examples, and the conditions for determining whether or not the node playing the role of Raker can reconstruct the original signal x according to the leaflet collection result are not necessarily shown in FIG. It is not limited to the example shown.
  • the allowable PSNR conditions differ depending on the type of data to be reconfigured. In the example shown in FIG. 18, even in the failure region, the PSNR tends to be lower as the position is closer to the curve. Therefore, for example, the node that plays the role of Raker further relaxes the condition for determining whether or not the original signal x can be reconfigured as the allowable PSNR becomes higher, as compared to the example shown in FIG. It is also possible.
  • a plurality of information processing apparatuses 100 operate as a series of server groups 10, so that a network storage service (for example, a cloud storage service) is provided to the terminal apparatus 200.
  • a network storage service for example, a cloud storage service
  • the plurality of leaflets generated from the original data by the information processing apparatus 100 that plays the role of Scatter is distributed and held in the plurality of information processing apparatuses 100 that play the role of Holder.
  • some information processing apparatuses 100 that play the role of Raker collect leaflets from other information processing apparatuses 100 that play the role of Holder, and based on the collection results of the leaflets, Is decrypted (reconstructed).
  • FIG. 19 is a diagram illustrating an example of a system configuration of an information processing system according to the second modification.
  • the terminal device 200 such as a smartphone is an example of a case where a network is constructed with another terminal device 200 without using the information processing device 100 such as a server. is there.
  • the information processing device 100 such as a server.
  • a plurality of terminal devices 200 indicated by reference numeral 10 ' may operate in the same manner as the series of server groups 10 described with reference to FIG. Specifically, each of the plurality of terminal devices 200 connected via the network may play at least one of the three roles “Scatter”, “Holder”, and “Raker”.
  • leaflets generated from target data are distributed and held in a plurality of terminal devices 200, and leaflets are collected from the plurality of terminal devices 200. It is also possible to reconstruct the original data.
  • Variant 3 An example of the operation of a storage node that plays the role of Scatter> Subsequently, as a third modification, an example in which a Raker function is provided in the storage node will be described as an example of an operation of a storage node (for example, the holding device 500) that plays the role of Scatter.
  • the storage node that plays the role of Holder and also plays the role of Scatter may distribute the distributed leaflet to other storage nodes.
  • the storage node holds a plurality of leaflets, and a situation in which the original signal x can be reconfigured (decoded) based on the held leaflets can be assumed.
  • the Raker function is provided for at least a part of the storage nodes that play the roles of Holder and Scatter.
  • the storage node provided with the function of Raker can reconstruct the observation matrix A that is a leaflet generation source. Based on such a configuration, the storage node provided with the Raker function reconstructs the original signal x based on the leaflet held by itself (that is, the distributed leaflet), and then based on the original signal x. The leaflet may be regenerated and the regenerated leaflet may be distributed to other storage nodes.
  • the information processing system According to the information processing system according to the present embodiment, even when not all leaflets generated from the original signal x are collected, if the leaflet collection results satisfy a predetermined condition, In some cases, the original signal x can be completely restored. This also applies to the case where the storage node provided with the Raker function reconfigures the original signal x.
  • the information processing system according to the modified example 3 it is possible to further improve the dispersibility and diffusibility of the leaflet generated based on the observation matrix A from the original signal x. Therefore, for example, a node that plays the role of Raker (for example, the decoding processing device 400) can be used even when it is difficult to reconstruct (decode) the original signal x only with the leaflet generated from the original original signal x.
  • the original signal x can be reconstructed by interpolating the leaflet collection results regenerated by other storage nodes. That is, according to the information processing system according to the modified example 3, it is possible to further increase the possibility of reconfiguration of the original signal x in the node that plays the role of Raker.
  • FIG. 20 is a functional block diagram illustrating an example of a hardware configuration of an information processing apparatus that configures an information processing system according to an embodiment of the present disclosure.
  • the information processing apparatus 900 constituting the information processing system according to the present embodiment mainly includes a CPU 901, a ROM 903, and a RAM 905.
  • the information processing apparatus 900 further includes a host bus 907, a bridge 909, an external bus 911, an interface 913, an input device 915, an output device 917, a storage device 919, a drive 921, and a connection port 923. And a communication device 925.
  • the CPU 901 functions as an arithmetic processing unit and a control unit, and controls all or a part of the operation in the information processing apparatus 900 according to various programs recorded in the ROM 903, the RAM 905, the storage apparatus 919, or the removable recording medium 927.
  • the ROM 903 stores programs used by the CPU 901, calculation parameters, and the like.
  • the RAM 905 primarily stores programs used by the CPU 901, parameters that change as appropriate during execution of the programs, and the like. These are connected to each other by a host bus 907 constituted by an internal bus such as a CPU bus.
  • pseudo-random number generation unit 301 the observation matrix generation unit 303, the encoding processing unit 305, the leaflet generation unit 307, the observation matrix reconstruction unit 405, and the decoding processing unit 407 described above with reference to FIG. , Can be realized by the CPU 901.
  • the host bus 907 is connected to an external bus 911 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 909.
  • an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 923, and a communication device 925 are connected to the external bus 911 via an interface 913.
  • the input device 915 is an operation means operated by the user, such as a mouse, a keyboard, a touch panel, a button, a switch, a lever, and a pedal. Further, the input device 915 may be, for example, remote control means (so-called remote control) using infrared rays or other radio waves, or an external connection device such as a mobile phone or a PDA corresponding to the operation of the information processing device 900. 929 may be used. Furthermore, the input device 915 includes an input control circuit that generates an input signal based on information input by a user using the above-described operation means and outputs the input signal to the CPU 901, for example. A user of the information processing apparatus 900 can input various data and instruct a processing operation to the information processing apparatus 900 by operating the input device 915.
  • the output device 917 is a device that can notify the user of the acquired information visually or audibly. Examples of such devices include CRT display devices, liquid crystal display devices, plasma display devices, EL display devices, display devices such as lamps, audio output devices such as speakers and headphones, printer devices, and the like.
  • the output device 917 outputs results obtained by various processes performed by the information processing apparatus 900. Specifically, the display device displays results obtained by various processes performed by the information processing device 900 as text or images.
  • the audio output device converts an audio signal composed of reproduced audio data, acoustic data, and the like into an analog signal and outputs the analog signal.
  • the storage device 919 is a data storage device configured as an example of a storage unit of the information processing device 900.
  • the storage device 919 includes, for example, a magnetic storage device such as an HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, or a magneto-optical storage device.
  • the storage device 919 stores programs executed by the CPU 901 and various data. Note that the collection memory 403 described above with reference to FIG. 14 can be realized by the storage device 919, for example.
  • the drive 921 is a reader / writer for a recording medium, and is built in or externally attached to the information processing apparatus 900.
  • the drive 921 reads information recorded on a removable recording medium 927 such as a mounted magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, and outputs the information to the RAM 905.
  • the drive 921 can also write a record to a removable recording medium 927 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory that is mounted.
  • the removable recording medium 927 is, for example, a DVD medium, an HD-DVD medium, a Blu-ray (registered trademark) medium, or the like.
  • the removable recording medium 927 may be a compact flash (registered trademark) (CF: CompactFlash), a flash memory, an SD memory card (Secure Digital memory card), or the like. Further, the removable recording medium 927 may be, for example, an IC card (Integrated Circuit card) on which a non-contact IC chip is mounted, an electronic device, or the like.
  • CF CompactFlash
  • SD memory card Secure Digital memory card
  • the connection port 923 is a port for directly connecting to the information processing apparatus 900.
  • Examples of the connection port 923 include a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface) port, and the like.
  • As another example of the connection port 923 there are an RS-232C port, an optical audio terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) port, and the like.
  • the communication device 925 is a communication interface configured with, for example, a communication device for connecting to a communication network (network) 931.
  • the communication device 925 is, for example, a communication card for wired or wireless LAN (Local Area Network), Bluetooth (registered trademark), or WUSB (Wireless USB).
  • the communication device 925 may be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), a modem for various communication, or the like.
  • the communication device 925 can transmit and receive signals and the like according to a predetermined protocol such as TCP / IP, for example, with the Internet or other communication devices.
  • the communication network 931 connected to the communication device 925 is configured by a wired or wireless network, and may be, for example, the Internet, a home LAN, infrared communication, radio wave communication, satellite communication, or the like.
  • the leaflet distribution unit 309 and the leaflet collection unit 401 described above with reference to FIG. 14 can be realized by the storage device 919, for example.
  • a computer program for realizing each function of the information processing apparatus 900 constituting the information processing system according to the present embodiment as described above can be produced and mounted on a personal computer or the like.
  • a computer-readable recording medium storing such a computer program can be provided.
  • the recording medium is, for example, a magnetic disk, an optical disk, a magneto-optical disk, a flash memory, or the like.
  • the above computer program may be distributed via a network, for example, without using a recording medium.
  • the number of computers that execute the computer program is not particularly limited.
  • the computer program may be executed by a plurality of computers (for example, a plurality of servers) in cooperation with each other.
  • a single computer or a combination of a plurality of computers is also referred to as a “computer system”.
  • the information processing system includes a plurality of nodes (for example, the information processing apparatus 100) connected via a network, and each of the plurality of nodes includes “Scatter”, “ It plays at least one of the three roles of “Holder” and “Raker”.
  • the node that plays the role of Scatter (for example, the encoding processing device 300) is a sparse data including one or more non-zero components and one or more zero components based on the original data.
  • the node that plays the role of Scatter associates information (Y coordinate) indicating the position of the signal element in the signal y with each signal element (Y value) of the signal y, so that one or more leaflets y i is generated. Then, the node that plays the role of Scatter transmits each of the generated one or more leaflets y i to one or more other nodes connected via the network (that is, the storage node that plays the role of Holder).
  • the original data corresponds to an example of “first data”
  • the original signal x corresponds to an example of “first signal”.
  • the signal y corresponds to an example of “second signal”
  • the leaflet y i corresponds to an example of “second data”.
  • the node (for example, the decryption processing device 400) that plays the role of Raker obtains one or more leaflets y i from one or more nodes (that is, the storage node that plays the role of Holder) connected via the network. To do. And the node which plays the role of Raker respond
  • the node that plays the role of Raker does not necessarily have to collect all the leaflets y i generated by encoding the original data, and if the predetermined condition is satisfied, It is possible to reconstruct the original data from only some leaflets.
  • the node serving as a distribution source of the leaflets y i recognizes what destination each leaflet y i (the storage node) is present There is no need.
  • Each storage node can operate independently without depending on the state of other devices.
  • leaflet y i from the original signal x (hence, the underlying data) in the reconstruction it requires information (random number) for encoding used when generating the leaflet y i, only leaflet y i is Since it is difficult to reconstruct the original signal x, it is possible to ensure confidentiality of information.
  • the original signal x (and hence the original data) is reconfigured, it is not always necessary that all storage nodes to which leaflets have been distributed are operating. It becomes possible to carry out independently without depending on. That is, according to the information processing system according to the present embodiment, the continuity of operation of the system and the operation cost are reduced in a situation where a storage area on the network (that is, a storage node) is used as a storage destination of various data. It is possible to achieve both reduction and a more preferable aspect.
  • the information processing system according to the present embodiment can be applied not only to images but also to various types of data as long as the conditions of sparseness and compression rate are satisfied.
  • data such as facsimiles that characterize text information and data used for general codecs such as sound (speech, music, etc.) are relatively high in redundancy. The correlation is relatively high. Therefore, as in the information processing system according to the present embodiment, data is likely to be reproduced (restored) more easily by performing minimization based on a cost function using Total variation.
  • the first signal including one or more non-zero components based on the first data and the one or more zero components is more signal than the first signal based on a matrix generated according to a predetermined condition.
  • a signal processor for encoding the second signal having a short length;
  • a data generation unit that generates one or more second data by associating each signal element of the second signal with information indicating the position of the signal element in the second signal;
  • a transmitting unit that transmits each of the generated one or more second data to one or more devices connected via a network;
  • An information processing apparatus comprising: (2) The information processing apparatus according to (1), wherein the data generation unit associates information indicating a transmission source with the second data.
  • the data generation unit associates identification information for specifying a row component corresponding to the signal element associated with the second data among the row components of the matrix with the second data, The information processing apparatus according to (1) or (2).
  • the signal length of the second signal is determined based on the signal length of the first signal and the compression rate corresponding to the first data, and any one of (1) to (4) The information processing apparatus according to item.
  • (6) The information processing apparatus according to any one of (1) to (5), wherein the first signal is generated based on a predetermined calculation process using the first data as an input.
  • the information processing apparatus according to any one of (1) to (6), wherein the matrix is generated based on a random number calculation result.
  • the data generation unit generates a plurality of the second data,
  • the transmission unit transmits each of the plurality of generated second data to at least one of the plurality of devices.
  • the information processing apparatus according to any one of (1) to (7).
  • the information processing apparatus according to any one of (1) to (8), wherein the first data is image data.
  • a first signal including one or more non-zero components based on first data and one or more zero components is encoded based on a matrix generated according to a predetermined condition, At least one of the signal elements of the second signal having a shorter signal length than the signal is associated with information indicating the position of the signal element in the second signal.
  • An acquisition unit that acquires each of the two data from one or more devices connected via a network; Based on the acquired one or more second data and a constraint condition corresponding to a row component corresponding to at least the signal element associated with the second data among each row component of the matrix, the first A signal processing unit for decoding one data;
  • An information processing apparatus comprising: (11) The information processing apparatus according to (10), wherein the acquisition unit acquires one or more pieces of second data associated with information indicating a common transmission source from the one or more apparatuses. (12) The signal processing unit is based on a coefficient based on the number of the non-zero components and the number of the zero components in the first signal, the signal length of the first signal, and the signal length of the second signal.
  • the signal processing unit Determining whether the first data can be decoded based on a compression rate and the number of the signal elements according to the acquisition result of the second data, (10) or (11 ).
  • the signal processing unit is based on the coefficient, the compression rate, the number of signal elements according to the acquisition result, and a signal-to-noise ratio allowed for decoding the first data, The information processing apparatus according to (12), wherein it is determined whether or not the first data can be decoded.
  • the signal processing unit identifies a row component corresponding to at least the signal element associated with the second data in the matrix based on the identification information associated with the second data, (10) The information processing apparatus according to any one of (13) to (13).
  • the information processing apparatus specifies the matrix based on identification information associated with the second data.
  • the acquisition unit acquires at least part of the second data among the plurality of second data from each of a plurality of devices connected via a network.
  • the information processing apparatus according to claim 1.
  • Computer The first signal including one or more non-zero components based on the first data and the one or more zero components is more signal than the first signal based on a matrix generated according to a predetermined condition. Encoding into a short second signal; One or more second data associated with information indicating the position of the signal element in the second signal is connected to each signal element of the second signal via a network. Sending to the above devices, Including an information processing method.
  • a first signal including one or more non-zero components based on first data and one or more zero components is encoded based on a matrix generated according to a predetermined condition, At least one of the signal elements of the second signal having a shorter signal length than the signal is associated with information indicating the position of the signal element in the second signal.
  • the first signal including one or more non-zero components based on the first data and the one or more zero components is more signal than the first signal based on a matrix generated according to a predetermined condition.
  • a short second signal Encoding into a short second signal; One or more second data associated with information indicating the position of the signal element in the second signal is connected to each signal element of the second signal via a network. Sending to the above devices, A recording medium on which a program for executing is recorded. (20) On the computer, A first signal including one or more non-zero components based on first data and one or more zero components is encoded based on a matrix generated according to a predetermined condition, At least one of the signal elements of the second signal having a shorter signal length than the signal is associated with information indicating the position of the signal element in the second signal. Obtaining each of the two data from one or more devices connected via a network; Decoding the first data based on the one or more acquired second data and a constraint condition according to the matrix; A recording medium on which a program for executing is recorded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】各種データの保存先としてネットワーク上の記憶領域が利用される状況下において、システムの運用の継続性と運用コストの低減とを両立する。 【解決手段】第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号を、所定の条件に応じて生成された行列に基づき、前記第1の信号よりも信号長の短い第2の信号に符号化する信号処理部と、前記第2の信号の各信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けることで、1以上の第2のデータを生成するデータ生成部と、生成された1以上の前記第2のデータそれぞれを、ネットワークを介して接続された1以上の装置に送信する送信部と、を備える、情報処理装置

Description

情報処理装置、情報処理方法、及びプログラム
 本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
 近年、通信技術の発展に伴い、スマートフォンやタブレット端末等のような通信端末による各種データの保存先として、当該端末に内蔵または装着された記録メディア(例えば、SDメモリーカード等)に限らず、所謂クラウドストレージのようなネットワーク上の記憶領域も利用可能となってきている。
 また、上述したようなネットワークストレージとして、複数の通信端末との間の通信に伴うネットワークの輻輳の影響を回避または軽減するために、所謂分散技術が導入された分散ストレージシステムも各種提案されている。例えば、特許文献1には、分散ストレージシステムを実現するための技術の一例が開示されている。
特許第5498875号公報
 一方で、分散ストレージシステムにおいては、一部のサーバ(ストレージノード)やネットワークパスの故障等により、ネットワークストレージへのデータの記録や、ネットワークストレージからのデータの読み出しが困難となる場合が想定され得る。そのため、分散ストレージシステムにおいては、所謂RAID(Redundant Arrays of Inexpensive Disks)等のようなデータを再構成するための技術の導入、ストレージノードの追加、及び、当該追加に伴うストレージノードの保守等の対策が必要となる場合がある。
 このような状況から、分散ストレージシステムにおいては、当該システムの運用に係るコストが比較的高くなる傾向にある。特に、近年では、分散ストレージシステムの規模は増大する傾向にあり、システムの運用に係るコストもさらに増大することが見込まれる。
 そこで、本開示では、各種データの保存先としてネットワーク上の記憶領域が利用される状況下において、システムの運用の継続性と運用コストの低減とを両立することが可能な、情報処理装置、情報処理方法、及び記録媒体を提案する。
 本開示によれば、第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号を、所定の条件に応じて生成された行列に基づき、前記第1の信号よりも信号長の短い第2の信号に符号化する信号処理部と、前記第2の信号の各信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けることで、1以上の第2のデータを生成するデータ生成部と、生成された1以上の前記第2のデータそれぞれを、ネットワークを介して接続された1以上の装置に送信する送信部と、を備える、情報処理装置が提供される。
 また、本開示によれば、第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第1の信号よりも信号長の短い第2の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置から取得する取得部と、取得された1以上の前記第2のデータと、前記行列の各行成分のうち少なくとも当該第2のデータに関連付けられた前記信号要素に対応する行成分に応じた制約条件と、に基づき、前記第1のデータを復号する信号処理部と、を備える、情報処理装置が提供される。
 また、本開示によれば、コンピュータが、第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号を、所定の条件に応じて生成された行列に基づき、前記第1の信号よりも信号長の短い第2の信号に符号化することと、前記第2の信号の各信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置に送信することと、を含む、情報処理方法が提供される。
 また、本開示によれば、コンピュータが、第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第1の信号よりも信号長の短い第2の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置から取得することと、取得された1以上の前記第2のデータと、前記行列に応じた制約条件と、に基づき、前記第1のデータを復号することと、を含む、情報処理方法が提供される。
 また、本開示によれば、コンピュータに、第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号を、所定の条件に応じて生成された行列に基づき、前記第1の信号よりも信号長の短い第2の信号に符号化することと、前記第2の信号の各信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置に送信することと、を実行させるプログラムが記録された記録媒体が提供される。
 また、本開示によれば、コンピュータに、第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第1の信号よりも信号長の短い第2の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置から取得することと、取得された1以上の前記第2のデータと、前記行列に応じた制約条件と、に基づき、前記第1のデータを復号することと、を実行させるプログラムが記録された記録媒体が提供される。
 以上説明したように本開示によれば、各種データの保存先としてネットワーク上の記憶領域が利用される状況下において、システムの運用の継続性と運用コストの低減とを両立することが可能な、情報処理装置、情報処理方法、及び記録媒体が提供される。
 なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の一実施形態に係る情報処理システムの概略的なシステム構成の一例について示した図である。 同実施形態に係る情報処理システムの動作の基本原理について説明するための説明図である。 同実施形態に係る情報処理システムにおける、符号化前後のデータと当該符号化のための情報との一例を示した図である。 リーフレットの生成方法の概要について説明するための説明図である。 観測行列の生成に用いられる乱数表の一例を示している。 観測行列の生成に用いられる乱数表の一例を示している。 リーフレットのデータ構造の一例を示した図である。 リーフレットのデータの一例を示した図である。 Scatterの役割を担うノードについて説明するための説明図である。 Scatterの役割を担うノードについて説明するための説明図である。 Holderの役割を担うストレージノードについて説明するための説明図である。 Holderの役割を担うストレージノードについて説明するための説明図である。 Rakerの役割を担うノードについて説明するための説明図である。 実施形態に係る情報処理システムの機能構成の一例について示したブロック図である。 同実施形態に係る符号化処理装置の一連の処理の流れの一例を示したフローチャートである。 同実施形態に係る復号処理装置の一連の処理の流れの一例を示したフローチャートである。 同実施形態に係る情報処理システムの実施例について説明するための説明図である。 原信号を再構成可能か否かを判断するための判断条件の一例について説明するための説明図である。 変形例2に係る情報処理システムのシステム構成の一例を示した図である。 同実施形態に係る情報処理システムを構成する情報処理装置のハードウェア構成の一例を示す機能ブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.はじめに
  1.1.システム構成
  1.2.ネットワークストレージシステムに関する検討
 2.技術的特徴
  2.1.システムの論理的な構成
  2.2.圧縮センシング
  2.3.リーフレット
  2.4.リーフレットの配信(Scatter)
  2.5.リーフレットの保持(Holder)
  2.6.リーフレットの回収(Raker)
  2.7.機能構成
  2.8.処理
 3.実施例
 4.変形例
  4.1.変形例1:原信号を再構成可能か否かの判断条件の一例
  4.2.変形例2:システム構成の一例
  4.3.変形例3:Scatterの役割を担うストレージノードの動作の一例
 5.ハードウェア構成
 6.むすび
 <<1.はじめに>>
  <1.1.システム構成>
 まず、図1を参照して、本開示の一実施形態に係る情報処理システムの概略的なシステム構成の一例について説明する。図1は、本開示の一実施形態に係る情報処理システムの概略的なシステム構成の一例について示した図である。
 図1に示すように、本実施形態に係る情報処理システム1は、複数の情報処理装置100と、1以上の端末装置200とを含む。情報処理装置100は、所定のネットワークを介して端末装置200と通信可能に構成されている。即ち、図1に示す例では、例えば、情報処理装置100がサーバとして動作し、端末装置200がクライアントとして当該情報処理装置100にネットワークを介して接続される。また、情報処理装置100は、所定のネットワークを介して他の情報処理装置100と通信可能に構成されていてもよい。なお、情報処理装置100と端末装置200との間のネットワークの種別や、複数の情報処理装置100間のネットワークの種別は特に限定されない。例えば、当該ネットワークは、インターネット、専用線、LAN(Local Area Network)、または、WAN(Wide Area Network)等により構成されていてもよい。また、当該ネットワークは、無線のネットワークにより構成されていてもよく、有線のネットワークにより構成されていてもよい。また、当該ネットワークは、複数のネットワークを含んでもよく、少なくとも一部が有線のネットワークとして構成されていてもよい。
 このような構成の基で、本実施形態に係る情報処理システム1では、各情報処理装置100は、端末装置200に対して各種ネットワークサービスを提供する。また、当該情報処理システム1では、複数の情報処理装置100が一連のサーバ群10として動作することで、端末装置200に対して各種ネットワークサービス(例えば、クラウドサービス)を提供してもよい。
 特に、本実施形態に係る情報処理システム1は、複数の情報処理装置100のうち少なくとも一部の情報処理装置100がストレージノードとして動作することで、ネットワーク上の記憶領域を利用可能とするネットワークストレージサービス(例えば、クラウドストレージサービス)を提供する。具体的な一例として、ストレージノードとして動作する情報処理装置100は、例えば、他の装置(例えば、端末装置200や他の情報処理装置100)から送信された保存対象となるデータを取得し、取得したデータを所定の記憶領域に保持する。また、ストレージノードとして動作する情報処理装置100は、他の装置(例えば、端末装置200や他の情報処理装置100)からの依頼に基づき、所定の記憶領域に保持されたデータを読み出し、当該データを依頼元となる装置に送信する。このような構成により、端末装置200は、各種データの保存先として、自身に内蔵または装着された記録メディア(例えば、SDメモリーカード等)に限らず、ネットワーク上の記憶領域を利用することが可能となる。
 また、本実施形態に係る情報処理システム1は、ストレージノードとして動作する2以上の情報処理装置100にデータを分散させて記憶させる、所謂分散ストレージシステムとして構成されていてもよい。なお、分散ストレージシステムの説明については別途後述する。このように、情報処理システム1が分散ストレージシステムとして構成されることで、ネットワークストレージを利用する端末装置200の数が増大したとしても、ネットワークの輻輳に伴う影響を回避または軽減することが可能となる。
 なお、図1に示した情報処理システム1のシステム構成はあくまで一例であり、ネットワークを介して接続された複数の装置に基づきネットワークストレージサービスを提供することが可能であれば、情報処理システム1のシステム構成は限定されない。なお、本実施形態に係る情報処理システム1のシステム構成の他の一例については変形例として別途後述する。
 以上、図1を参照して、本開示の一実施形態に係る情報処理システムの概略的なシステム構成の一例について説明した。
  <1.2.ネットワークストレージシステムに関する検討>
 続いて、ネットワークストレージシステムについて概要を説明したうえで、本実施形態に係る情報処理システム1の技術的課題について整理する。
 前述したように、端末装置200(例えば、スマートフォンやタブレット端末等のような通信端末)による各種データの保存先として、当該端末装置200に内蔵または装着された記録メディアに限らず、クラウドストレージのようなネットワーク上の記憶領域を利用することが可能となってきている。このような仕組みが提供されることで、例えば、ユーザは、スマートフォン等の端末に内蔵されたカメラにより撮像した画像のデータを、ネットワーク上の記憶領域に保存することも可能となる。
 ここで、クラウドストレージについて概要を説明する。クラウドストレージは、例えば、ネットワーク上にセンターサーバを配置し、あらかじめ登録されたクライアント(換言すると、ユーザ)に対して専用の暗号化プロトコルに基づき各種データをアップロード及びダウンロードできる仕組みを提供する。即ち、クラウドストレージは、所謂クライアント・サーバ方式を基軸としてセキュリティ対策を施したデータストレージシステムに相当する。
 また、画像データ等のような大容量のデータを1対1のトランザクションで通信するクライアント・サーバ方式のネットワークストレージシステムにおいては、複数のクライアントからの要求を受け付ける場合に、ネットワークの輻輳が生じ、当該クライアントとの通信に影響が生じる場合がある。このような状況から、近年では、データを複数のストレージノードに分散して記憶させることでネットワークの輻輳の影響を回避または軽減させる、所謂分散技術が導入された分散ストレージシステムも各種提案されている。
 一方で、分散ストレージシステムにおいては、ストレージノードの故障やネットワークパスの故障に伴い、一部のストレージノードに対するアクセスが制限されるような状況が想定され得る。このような場合には、アクセスが制限されたストレージノードへのデータの記録や、当該ストレージノードに記録されたデータの読み出しが困難となり、ひいてはネットワークストレージシステム自体を利用することが困難となる場合もある。そのため、分散ストレージシステムにおいては、運用の継続性を実現するために、RAID等のようなデータを再構成するための技術の導入、ストレージノードの追加、及び、当該追加に伴うストレージノードの保守等の対策が必要となる場合がある。
 このような状況から、分散ストレージシステムにおいては、当該システムの運用に係るコストが比較的高くなる傾向にある。特に、近年では、所謂ビックデータの活用が求められており、分散ストレージシステムの規模も増大する傾向にあるため、システムの運用に係るコストもさらに増大することが見込まれる。
 以上のような状況を鑑み、本開示では、各種データの保存先としてネットワーク上の記憶領域が利用される状況下において、システムの運用の継続性と運用コストの低減とを両立することが可能な仕組みの一例について提案する。
 <<2.技術的特徴>>
 以下に、本実施形態に係る情報処理システム1の技術的特徴について説明する。
  <2.1.システムの論理的な構成>
 まず、図2を参照して、本実施形態に係る情報処理システム1の論理的な構成の一例について説明する。図2は、本実施形態に係る情報処理システム1の動作の基本原理について説明するための説明図であり、当該情報処理システム1の論理的な構成の一例を示している。
 図2に示すように、情報処理システム1は、符号化処理装置300と、復号処理装置400と、保持装置500とを含む。また、情報処理システム1を構成する各装置は、「Scatter」、「Holder」、及び「Raker」の3つの役割のうち少なくともいずれかの役割を担う。なお、「Scatter」、「Holder」、及び「Raker」のそれぞれについては別途後述する。
 符号化処理装置300は、ネットワークストレージへの保存対象となるデータに対して、所定の条件に基づき生成された情報(例えば、乱数)に基づき符号化処理を施すことで1以上のデータ片を生成し、各データ片を1以上の保持装置500に配信する。このとき、符号化処理装置300は、各データ片の配信先となる保持装置500を、任意のプロトコルで決められたルールに基づき決定してもよいし、ランダムに決定してもよい。なお、生成された1以上のデータ片を、他の装置(例えば、保持装置500)に配信する役割が、「Scatter」に相当する。即ち、符号化処理装置300は、「Scatter」の役割を担う。また、以降の説明では、当該データ片を「リーフレット」とも称する。なお、リーフレットの詳細については別途後述する。
 保持装置500は、分散ストレージシステムにおいて各種データを保持するストレージノードに相当する。具体的には、符号化処理装置300により配信された1以上のリーフレットを、当該符号化処理装置300または他の保持装置500から取得する。なお、保持装置500は、取得したリーフレットを、自身の状態(例えば、内部状態)に応じて保持、破棄、または他の保持装置500へ転送してもよい。具体的な一例として、保持装置500は、取得したリーフレットを、自身に関連付けられた記憶領域に保持してもよい。また、保持装置500は、取得したリーフレットや、当該記憶領域に保持された少なくとも一部のリーフレットを、他の保持装置500に転送してもよいし、破棄してもよい。このように、保持装置500は、自身に配信されたリーフレットの取扱いを、他の装置に依存することなく独立して決定してもよい。換言すると、前述した符号化処理装置300は、リーフレットの転送先となる保持装置500の動作や状態を必ずしも認識する必要がなく、各リーフレットの配信先を把握する必要もない。なお、配信されたリーフレットを保持する役割が「Holder」に相当する。即ち、保持装置500は、「Holder」の役割を担う。また、上述したように、保持装置500は、リーフレットを他の保持装置500に転送してもよいため、「Scatter」の役割を担い得る。
 復号処理装置400は、1以上の保持装置500それぞれから、当該保持装置500により保持されたリーフレットを回収する。具体的な一例として、復号処理装置400は、任意のブロードキャストまたはマルチキャストのプロトコルにより、反応した保持装置500から当該保持装置500が保持するリーフレットを回収してもよい。なお、各保持装置500(Holder)が保持するリーフレットを回収する役割が「Raker」に相当する。即ち、復号処理装置400は、「Raker」の役割を担う。
 そして、復号処理装置400は、回収したリーフレットに基づき、元となるデータを復号する。なお、このとき復号処理装置400は、必ずしも元データが符号化されることで生成されたすべてのリーフレットを回収する必要がなく、所定の条件を満たせば一部のリーフレットのみからでも元データを復号することが可能である。なお、本機能を実現するための符号化処理及び復号処理の詳細については別途後述する。
 以上のような構成に基づき、本実施形態に係る情報処理システム1は、以下に示すような特徴を有する。
 ・特徴1:配信元となるノード(即ち、符号化処理装置300や保持装置500)は、どの配信先に各リーフレットが存在するかを認識する必要が無い。
 ・特徴2:各ストレージノード(保持装置500)は、他の装置の状態に依存することなく、独立して動作することが可能である。
 ・特徴3:リーフレットから元データの復元には、当該リーフレットの生成時に使用した符号化のための情報(乱数)を要し、リーフレットのみでは元データを復元することが困難であるため、情報の秘匿性を担保することが可能である。
 ・特徴4:元データの復元時に、必ずしもリーフレットが配信されたすべてのストレージノード(保持装置500)が動作している必要はないため、個々のストレージノードの保守を、他のストレージノードに依存することなく独立して行うことが可能である。
 なお、符号化処理装置300、復号処理装置400、及び保持装置500は、例えば、図1に示した複数の情報処理装置100のうち少なくともいずれかにより実現され得る。換言すると、複数の情報処理装置100のうち少なくともいずれかが、「Scatter」、「Holder」、及び「Raker」の3つの役割のうち少なくともいずれかの役割を担うことが可能である。即ち、本実施形態に係る情報処理システム1において、情報処理装置100は、リーフレットの取扱いに関する状態として、「保持」、「破棄」、「転送」、「配信」、及び「回収」の5つの状態を取ることが可能である。なお、「Scatter」、「Holder」、及び「Raker」の3つの役割と、「保持」、「破棄」、「転送」、「配信」、及び「回収」の5つの状態との対応関係は以下の通りである。
 ・Scatter:配信、転送
 ・Holder:保持、破棄
 ・Raker:回収
 なお、情報処理装置100は、符号化処理装置300、復号処理装置400、及び保持装置500それぞれのうち複数の装置の役割を担ってもよい。具体的な一例として、一部の情報処理装置100は、符号化処理装置300として動作するとともに、保持装置500として動作してもよい。また、他の一例として、一部の情報処理装置100は、符号化処理装置300として動作するとともに、復号処理装置400として動作してもよい。
 以上、図2を参照して、本実施形態に係る情報処理システム1の論理的な構成の一例について説明した。
  <2.2.圧縮センシング>
 続いて、本実施形態に係る情報処理システム1におけるデータの符号化及び復号を実現するための技術について説明する。本実施形態に係る情報処理システム1では、データの符号化及び復号に、圧縮センシング(Compressed sensing)と呼ばれる技術を利用する。
 圧縮センシングとは、スパースに表現可能な信号に対して、わずかな観測結果から元となる信号(以降では、「原信号」とも称する)の再構成を可能とするパラダイムである。例えば、圧縮センシングに関する参考文献として、参考文献1:「EJ Candes、外2名、“Robust Uncertainty Principles: Exact Signal Reconstruction From Highly Incomplete Frequency Information”、[online]、2006年2月、IEEE TRANSACTIONS ON INFORMATION THEORY, VOL.52, NO.2、p489-502、[平成28年11月1日検索]、インターネット<URL: http://people.ee.duke.edu/~lcarin/01580791.pdf>」が挙げられる。参考文献1によると、原画像の空間変化率がスパースである(まばらである)ことを前提として、ナイキストレートのおよそ1/50のサンプリングにより、原画像を完全復元することが可能な例が示されている。
 また、他の参考文献として、参考文献2:「Gang Huang、外3名、“Lensless Compressive Sensing Imaging” 、[online]、2013年1月、Bell Labs., Alcatel-Lucent, Murray Hill, NJ, USA、[平成28年11月1日検索]、インターネット<URL: https://arxiv.org/ftp/arxiv/papers/1302/1302.1789.pdf>」が挙げられる。参考文献2には、ランダムに被写体からの光を遮断・透過できる格子状のAperture assembly(例えば、透過型LCDパネル)を利用して、遮断・透過のパターンごとに光を1点に集光し、その先に1個のフォトダイオードなどのセンサを設置したうえで、集光した光を電気信号として繰り返し読み取るカメラについて開示されている。参考文献2では、このような構成の基で、パターンごとに読み取られた信号値をもとに、圧縮センシングの技法を用いて被写体画像を復元することが可能であることが開示されている。
 このように圧縮センシングとは、あるスパースな状態(数学的には適当な基底を用いるとゼロ成分がほとんどであるような状態)の信号に対して、少ない観測数で、元の信号を復元できる数学的理論に基づく考え方である。そこで、以下に、圧縮センシングによる信号の復元について概要レベルで説明する。なお、圧縮センシング自体は上述のように公知であるため、理論の詳細については公知の文献に委ねるものとし、詳細な説明は省略する。
 圧縮センシングの問題は、以下に(式1)として示すように、「サンプル数(観測数)M<元の信号長N」を条件とした観測において、非ゼロ成分の数Kが少ない場合(即ち、K-スパースな状態)に、適当な観測行列を用いて元の信号と観測結果とが結びつくとき、元の信号を復元することである。換言すると、圧縮センシングの問題は、スパースな信号xを求める連立一次不定方程式の問題とも言える。ここで、観測結果をy(M次元)、元の信号をx(N次元)とし、これらの関係が適当な観測行列Aに基づき表すことが可能な問題を考える。
Figure JPOXMLDOC01-appb-M000001
 圧縮センシングの問題を解く方法は、以下に(式2)として示すように、観測値による制約のもとで適当なコスト関数J(x)の最小化(換言すると、正則化)を行うことに帰結することが一般的に知られている。
Figure JPOXMLDOC01-appb-M000002
 なお、コスト関数J(x)として何を使うかや、制約条件のもとでどのようなアルゴリズムに基づき最小化を行うかという点については、多様な議論が成されている。例えば、参考文献3:「“Imaging via Compressive Sampling”、[online]、2008年3月、IEEE SIGNAL PROCESSING MAGAZINE、p14、[平成28年11月1日検索]、インターネット<URL:http://authors.library.caltech.edu/10093/1/ROMieeespm08.pdf>」では、コスト関数J(x)と一般的な解法とについて論じられている。具体的には、参考文献3では、画像に対してDCT等の基底変換を施したものと画素値そのものとの間の変化率をベースにコスト関数を導入し、L1ノルムの最小化問題を解いている。もちろん、参考文献3が開示する解法はあくまで一例であり、上記(式2)として示した数式の解法は多数存在し、本開示で提案する技術においては、当該解法は必ずしも限定されない。換言すると、本開示は、圧縮センシング全域に共通する一般的性質を適用することで、新たな効果を創出することを目的としている。
 ここで、具体的な例について以下に示す。例えば、自然画は、隣接する画素間の相関が強く、画素間の差分をL1ノルム最小の目的関数(即ち、上記コスト関数J(x))とすることで、原画像の復元が可能であることが示されている。ある静止画xを適当な観測行列Aを用いて観測することで、観測結果yが得られるものとする。この場合に、(式2)として上述した数式は、以下に(式3)及び(式4)として示す数式で表すことが可能である。
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
 なお、上記コスト関数を利用した具体的な例が提示された参考文献として、参考文献4:垣内友希、外1名、“制限されたX線投影における圧縮センシングを用いたCT画像再構成に関する検討”、[online]、2015年、第77回全国大会1S05、p2-361-2-362、[平成28年11月1日検索]、インターネット<URL: http://www.cc.kyoto-su.ac.jp/~kano/pdf/paper/2015%20IPSJ77%201S-05.pdf>」が挙げられる。なお、上記(式3)及び(式4)に示したコスト関数は、一般的にはTotalVarianceとも称される。以上のように、圧縮センシングは、少ない観測値に基づき、元のデータ(例えば、原画像)を復元するための一般的な技術として知られている。
 以上、本実施形態に係る情報処理システム1におけるデータの符号化及び復号を実現するための技術として、圧縮センシングについて概要を説明した。
  <2.3.リーフレット>
 続いて、本実施形態に係る情報処理システム1におけるリーフレットについて概要を説明する。前述したように、本実施形態に係る情報処理システム1では、符号化処理装置300(Scatter)は、元となるデータに対して符号化処理を施すことで1以上のリーフレットを生成し、生成したリーフレットを任意の保持装置500(Holder)に配信する。復号処理装置400(Raker)は、任意の保持装置500(Holder)から、当該保持装置500が保持するリーフレットを回収し、回収したリーフレットに基づき元となるデータを復元する。
 例えば、図3は、本実施形態に係る情報処理システム1における、符号化前後のデータと当該符号化のための情報との一例を示した図である。図3において、原信号xは元となるデータに基づく信号に相当する。また、行列Aは、原信号xを符号化するための情報に相当し、信号yは、原信号xが行列Aに基づき符号化された信号に相当する。ここで、信号yの各行成分は、原信号xと、行列Aの対応する行成分とに基づき算出される。具体的な一例として、信号yの1行目の行成分は、原信号xと、行列Aの1行目の行成分とに基づき算出される。換言すると、信号yの各信号成分の当該信号y中の位置を示す情報(即ち、Y座標)は、当該信号成分の生成に用いた、行列Aの行成分と対応している。そのため、信号yの各信号成分の当該信号y中の位置を示す情報に基づき、当該信号成分の生成に際し、行列A中のどの行成分が用いられたかを特定することが可能である。このような特性に基づき、符号化処理装置300は、原信号xを行列Aに基づき符号化することで算出される信号yの信号成分それぞれを、当該信号成分の信号y中における位置(例えば、行)を示す情報と関連付けることでリーフレットを生成する。
 次いで、図4を参照して、リーフレットの生成方法の概要について説明する。図4は、リーフレットの生成方法の概要について説明するための説明図である。なお、本説明では、画像データを符号化することでリーフレットを生成する場合を例に説明するが、必ずしも、符号化の対象となるデータを画像データに限定するものではない。
 図4に示すように、元となる画像データに基づく原信号x(スパースな信号)に対して、観測行列Aに基づき符号化処理が施されることで信号yが生成され、当該信号yの各信号成分yに基づきリーフレットが生成される。なお、原信号xは、例えば、元となる画像データ自体の情報であってもよいし、当該画像データに対して所定の演算処理(例えば、エッジの抽出等のような画像処理)を施すことで得られる情報であってもよい。また、原信号xと観測行列Aとに基づき、信号yを生成する方法については、(式1)を参照して前述したとおりである。
 また、観測行列Aとしては、例えば、各成分を再現可能な疑似乱数生成器に基づき生成された係数行列を適用することが可能である。なお、再現可能な(例えば、周期性をもつ)疑似乱数生成器は多数存在するが、簡単な例として、リーフレットを生成するノード(例えば、符号化処理装置300)に対してあらかじめ乱数表を保持させることで実現してもよい。
 例えば、図5及び図6は、観測行列Aの生成に用いられる乱数表の一例を示している。例えば、図5に示す例は、0~2の実数乱数を用いた乱数表の一例を示している。また、図6に示す例は、0または1の乱数を用いた乱数表の一例である。もちろん、図5及び図6に示す例はあくまで一例であり、観測行列Aの各成分を再現可能であれば、当該観測行列Aの生成に用いられる乱数の種別は特に限定されない。また、観測行列Aについては、各成分を再現可能であればよく、観測行列Aの生成方法は、必ずしも乱数に基づく生成方法のみには限定されない。
 続いて、図7及び図8を参照して、リーフレットのデータ構造(フォーマット)の一例について説明する。図7は、リーフレットのデータ構造の一例を示した図である。また、図8は、リーフレットのデータの一例を示した図である。
 図7に示すように、リーフレットのデータ構造(フォーマット)は、ヘッダ部とペイロード部とを含む。ヘッダ部には、主にリーフレットに関する各種制御情報が含まれる。具体的な一例として、ヘッダ部には、ノード識別子と、システムオプションを示す情報とが含まれる。また、ペイロード部には、リーフレット生成IDと、Y座標を示す情報と、Y値を示す情報とが含まれる。
 ノード識別子は、原信号xを保有するノード(例えば、符号化処理装置300)を特定するための識別子を示している。ノード識別子の具体的な一例としては、例えば、図8に示すように、原信号xを保有するノードのIPアドレスが挙げられる。もちろん、原信号xを保有するノードを特定することが可能であれば、ノード識別子として保持される情報の種別は特に限定されない。
 Y値を示す情報は、x信号が観測行列Aに基づき符号化されることで生成されたy信号の信号成分yに相当する。また、Y座標を示す情報は、Y値を示す情報としてリーフレットに関連付けられた当該信号成分yの、y信号中における位置(即ち、y=Axの行番号)を示している。
 リーフレット生成IDは、y信号の生成に利用した観測行列Aの係数(乱数)パターンを特定するための情報である。具体的な一例として、リーフレット生成IDは、y信号の生成に利用した観測行列Aのうち、Y値(即ち、信号成分y)の算出に用いた行成分の係数パターンを特定するための情報(例えば、図5及び図6に示した乱数のパターンID等)であってもよい。また、他の一例として、リーフレット生成IDは、y信号の生成に利用した観測行列A自体を特定するための情報であってもよい。
 システムオプションは、補足的に付加される任意の情報を示している。例えば、HolderやRakerの役割を担う他のノード(例えば、保持装置500や復号処理装置400)がリーフレットの取扱いに利用可能な情報等が、システムオプションとしてリーフレットに関連付けられてもよい。より具体的な一例として、リーフレットがストレージ上に滞在する期間、リーフレットのライフタイム等のような、システム制御に利用可能な情報や、拡張変数に相当する情報等が、システムオプションとしてリーフレットに関連付けられてもよい。
 また、図7に示す例では、1つのリーフレットのデータ構造に対して1つのペイロード部が設けられている例について示しているが、1つのリーフレットに対して複数のペイロード部が設けられていてもよい。このような場合には、例えば、ペイロード部が複数含まれていることを示す情報、ペイロード部の数、複数連続して結合されたペイロード部それぞれの開始位置等のような拡張指示子が、システムオプションとしてリーフレットに関連付けられてもよい。
 このように、リーフレットは、元となるデータに基づく原信号xに対して、再現可能な乱数を係数として構成される観測行列Aを乗じることで得られるy信号の信号成分yそれぞれに対して、当該信号成分yのY座標を関連付けてパッケージ化することで生成される。
 以上、図3~図8を参照して、リーフレットの生成に係る処理について説明した。
  <2.4.リーフレットの配信(Scatter)>
 続いて、Scatterの役割を担うノードによるリーフレットの配信に係る処理について説明する。例えば、図9及び図10は、Scatterの役割を担うノードについて説明するための説明図であり、リーフレットの配信に係る処理の概要について示している。
 図9に示すように、Scatterの役割を担うノード(例えば、符号化処理装置300や保持装置500)は、ランダムに選ばれたストレージノードや、あらかじめ転送プロトコル等で決められたストレージノードにリーフレットを配信または転送する。また、リーフレットの配信元となる各ノードは、当該リーフレットの配信先となるストレージノードを決定する転送プロトコルを、状況に応じて自由に決定してもよい。即ち、リーフレットの転送先の決定について自由度を有するという点が、本実施形態に係る情報処理システム1の特徴の1つでもある。なお、詳細は後述するが、リーフレットが重複して転送されたとしても、当該リーフレットに基づく原信号xの復元には影響しない。このような構成により、例えば、各ストレージノードの記憶領域の容量に応じて、リーフレットを比例分配されるように転送プロトコルを定義することも可能となる。
 また、図10に示すように、本実施形態に係る情報処理システム1では、リーフレットが配信された各ストレージノードは、新たなScatterとして、当該リーフレットを他のストレージノード(例えば、他の保持装置500)に転送してもよい。即ち、リーフレットが配信された各ストレージノードは、状況に応じてリーフレットの転送制御を各自が独立して行ってもよい。また、リーフレットが配信された各ストレージノードは、当該リーフレットを保持したうえで、当該リーフレットの複製を他のストレージノードに転送してもよい。
 具体的な一例として、図10に示す例では、符号化処理装置300は、1st Scatterとして、生成したリーフレットyを保持装置500aに配信し、リーフレットyを保持装置500bに配信している。また、符号化処理装置300からリーフレットyの配信を受けた保持装置500aは、2nd Scatterとして、当該リーフレットyを保持装置500e及び500gに転送している。同様に、保持装置500aからリーフレットyが転送された保持装置500eは、3rd Scatterとして、当該リーフレットyを保持装置500fに転送している。このとき、保持装置500a、500e、500g、及び500fのそれぞれは、配信または転送されたリーフレットyを保持してもよい。これにより、リーフレットyは、保持装置500a、500e、500g、及び500fに点在することとなる。なお、符号化処理装置300からリーフレットyの配信を受けた保持装置500bについても、保持装置500aと同様に、2nd Scatterとして、当該リーフレットyを他の保持装置500に転送してもよい。
 このように、少なくとも一部のリーフレットについて重複を許す(即ち、リーフレットの複製を可能とする)ことで、各ストレージノードそれぞれにおけるリーフレットの取扱いに関して自由度を上げることが可能となり、さらにリーフレットの拡散性及び分散性をさらに向上させることが可能となる。
 以上、図9及び図10を参照して、Scatterの役割を担うノードによるリーフレットの配信に係る処理について説明した。
  <2.5.リーフレットの保持(Holder)>
 続いて、Holderの役割を担うストレージノードの構成の一例について説明する。例えば、図11及び図12は、Holderの役割を担うストレージノードについて説明するための説明図である。
 前述したように、Holderの役割を担うストレージノード(例えば、保持装置500)は、Scatterの役割を担うノードからリーフレットの配信または転送を受けて、当該リーフレットを保持する。そのため、Holderの役割を担うストレージノードは、配信または転送されたリーフレットを保持するための記憶領域を有する。なお、当該記憶領域としては、リーフレットを少なくとも1つ保持することが可能な容量が確保されていればよく、デバイスの種別も特に限定されない。具体的な一例として、図11の参照符号510bに示すように、Holderの役割を担うストレージノードの記憶領域が、少なくとも1つのリーフレットを保持することが可能なFIFO(First-In First-Out)型のメモリとして構成されていてもよい。また、他の一例として、図11の参照符号510aに示すように、Holderの役割を担うストレージノードの記憶領域が、複数のリーフレットを保持することが可能なメモリとして構成されていてもよい。
 また、図12に示すように、Holderの役割を担うストレージノードは、Scatterの役割を担ってもよい。即ち、当該ストレージノードは、配信または転送されたリーフレットを自身の記憶領域に保持し、自身の都合で、当該リーフレット自体または当該リーフレットの複製を、他のストレージノードに転送してもよい。
 以上、図11及び図12を参照して、Holderの役割を担うストレージノードの構成の一例について説明した。
  <2.6.リーフレットの回収(Raker)>
 続いて、Rakerの役割を担う装置によるリーフレットの回収に係る処理について説明する。例えば、図13は、Rakerの役割を担うノードについて説明するための説明図であり、リーフレットの配信に係る処理の概要について示している。
 Rakerの役割を担うノード(例えば、復元処理装置400)は、ネットワーク上の各ストレージノード(例えば、保持装置500)からリーフレットをかき集めて、当該リーフレットに基づき元となるデータを再構成(復号)する。なお、リーフレットの生成元であるノード(即ち、符号化処理装置300)が、Rakerの役割を担ってもよい。
 具体的な一例として、図13に示すように、Rakerの役割を担うノードは、所定のプロトコルに基づき各ストレージノードに対してブロードキャスト(または、マルチキャスト)を行うことで、当該ストレージノードが保持するリーフレットの送信を呼びかけてもよい。このとき、Rakerの役割を担うノードは、ノード識別子や、システムオプションに含まれる情報(例えば、ユニークな識別子等)等に基づく条件を指定することで、送信対象となるリーフレットを指定してもよい。このような構成により、Rakerの役割を担うノードは、当該ブロードキャストに反応したストレージノードからリーフレットを回収することが可能となる。
 また、他の一例として、各ストレージノード(例えば、保持装置500)が、各リーフレットの転送先を示すアクセスリストを生成しておくことで、Rakerの役割を担うノードは、当該アクセスリストに基づきリーフレットを回収してもよい。例えば、参考文献5:特開2003-6087号公報には、当該アクセスリストの生成に係る技術と、当該アクセスリストを利用することで対象となるコンテンツのダウンロードを可能とする技術と、が開示されており、当該技術をリーフレットの回収に応用してもよい。
 また、図13に示すように、Rakerの役割を担うノードから各ストレージノードに向けたブロードキャストが多層化されてもよい。即ち、Rakerの役割を担うノードからのブロードキャストが、1以上のストレージノードを介して他のストレージノードに送信されてもよい。このような構成により、Rakerの役割を担うノードは、より多くのストレージノードに対して、リーフレットの送信を呼びかけることが可能となる。
 なお、上記ブロードキャストを受けたストレージノードは、Rakerの役割を担うノードに対して、リーフレットを直接送信(ユニキャスト)してもよい。また、Rakerの役割を担うノードの負荷を軽減するために、ブロードキャストの発信元にリーフレットを転送するプロトコル等が新たに規定されてもよい。
 そして、Rakerの役割を担うノードは、回収したリーフレットを利用して、前述した圧縮センシング技術に基づき、元となるデータ(例えば、画像データ)を復号する。回収されたリーフレットから元となるデータの復号する処理については、詳細を別途後述する。
 以上、図13を参照して、Rakerの役割を担う装置によるリーフレットの回収に係る処理について説明した。
  <2.7.機能構成>
 続いて、本実施形態に係る情報処理システム1の機能構成の一例について、特に、Scatterの役割を担う符号化処理装置300と、Rakerの役割を担う復号処理装置400とに着目して説明する。例えば、図14は、本実施形態に係る情報処理システム1の機能構成の一例について示したブロック図であり、符号化処理装置300と復号処理装置400とのそれぞれの機能構成の一例を示している。なお、本説明では、撮像部250により撮像された画像データに基づくスパースな原信号xを符号化の対象とするものとして説明する。
  (a)符号化処理装置(Scatter)
 まず、Scatterの役割を担う符号化処理装置300の機能構成の一例について説明する。図14に示すように、符号化処理装置300は、疑似乱数生成部301と、観測行列生成部303と、符号化処理部305と、リーフレット生成部307と、リーフレット配信部309とを含む。
 疑似乱数生成部301は、前述した再現可能な疑似乱数生成器に相当する。疑似乱数生成部301は、あらかじめ決められた条件に基づき再生可能な疑似乱数を生成し、生成した疑似乱数を観測行列生成部303に出力する。また、疑似乱数生成部301は、図5及び図6を参照して説明したように、あらかじめ生成された乱数表を保持し、当該乱数表に基づき疑似乱数を観測行列生成部303に出力してもよい。
 観測行列生成部303は、疑似乱数生成部301から出力される疑似乱数に基づき、図3を参照して説明した観測行列Aを生成し、生成した観測行列Aを符号化処理部305に出力する。
 符号化処理部305は、疑似乱数に基づき生成された観測行列Aを観測行列生成部303からあらかじめ取得して保持する。また、符号化処理部305は、符号化の対象となる信号として、撮像部250により撮像された画像データに基づくスパースな原信号xの入力を受ける。符号化処理部305は、入力された原信号xを観測行列Aに基づき符号化することで、符号化処理後の信号yを生成する。なお、信号yの生成方法については、(式1)を参照して前述したとおりである。そして、符号化処理部305は、原信号xを符号化することで生成した信号yを、リーフレット生成部307に出力する。なお、符号化処理部305が、Scatterの役割を担う情報処理装置100における「信号処理部」の一例に相当する。
 リーフレット生成部307は、符号化処理部305により生成された信号yに基づき、1以上のリーフレットを生成する。具体的には、リーフレット生成部307は、図7を参照して説明したように、信号yの各信号要素(Y値)に対して、当該信号要素の当該信号y中の位置を示す情報(Y座標)を関連付けることでリーフレットyを生成する。なお、このときリーフレット生成部307は、リーフレットyに対して、前述した、リーフレット生成ID、ノード識別子、及びシステムオプション等の情報を関連付けてもよい。そして、リーフレット生成部307は、信号yに基づき生成した1以上のリーフレットyをリーフレット配信部309に出力する。なお、前述したように、リーフレット生成IDは、観測行列Aのうち、Y値(即ち、信号yの信号成分)の算出に用いた行成分の係数パターンを特定するための情報であってもよいし、当該観測行列A自体を特定するための情報であってもよい。また、リーフレット生成部307が、「データ生成部」の一例に相当する。
 リーフレット配信部309は、リーフレット生成部307により生成された1以上のリーフレットyを、所定のネットワークを介してHolderの役割を担う他のストレージノード(例えば、保持装置500)に配信する。以上のようにして、符号化処理装置300により生成された1以上のリーフレットyが、ネットワーク上のストレージノードに拡散及び分散される。なお、リーフレット配信部309が、「送信部」の一例に相当する。
 以上、Scatterの役割を担う符号化処理装置300の機能構成の一例について説明した。
  (b)復号処理装置(Raker)
 続いて、Rakerの役割を担う復号処理装置400の機能構成の一例について説明する。図14に示すように、復号処理装置400は、リーフレット回収部401と、回収メモリ403と、観測行列再構成部405と、復号処理部407とを含む。
 リーフレット回収部401は、ネットワーク上の各ストレージノードからリーフレットを回収するための構成である。前述したように、リーフレット回収部401は、例えば、所定のプロトコルに基づき各ストレージノードに対してブロードキャスト(または、マルチキャスト)を行うことでリーフレットの送信を呼びかけ、反応したストレージノードから当該ストレージノードが保持するリーフレットを取得する。リーフレット回収部401は、回収した各リーフレットを回収メモリ403に記憶させる。回収メモリ403は、回収されたリーフレットを一時的または恒久的に保持するための記憶領域である。なお、リーフレット回収部401が、「取得部」の一例に相当する。
 また、前述したように、本実施形態に係る情報処理システム1では、少なくとも一部のリーフレットについて重複が許されており、リーフレット回収部401は、既に回収したリーフレットを再度回収する場合も想定され得る。そのため、リーフレット回収部401は、既に回収したリーフレットと同様のリーフレットを再度回収した場合には、改めて回収した当該リーフレットを破棄してもよい。なお、リーフレットの重複については、例えば、リーフレット生成ID等のような、当該リーフレットに関連付けられた各リーフレットにユニークな情報に基づき判別することが可能である。
 また、リーフレット回収部401は、リーフレットを回収した場合に、当該リーフレットに基づく観測行列Aの再構成を観測行列再構成部405に指示する。
 観測行列再構成部405は、リーフレット回収部401によるリーフレットの回収結果に基づき、当該リーフレットの生成に用いられた観測行列Aの再構成を行う。具体的な一例として、観測行列再構成部405は、符号化処理装置300(疑似乱数生成部301)と同様の疑似乱数生成器(例えば、乱数表)を有し、リーフレットに関連付けられたリーフレット生成ID(乱数パターンID)に基づき観測行列Aを再構成する。このとき、観測行列再構成部405は、リーフレット生成IDが、観測行列Aの行成分を特定するための情報である場合には、複数のリーフレットそれぞれに関連付けられたリーフレット生成IDに基づき、観測行列Aを再構成する。なお、この場合には、再構成される観測行列Aは、回収されたリーフレットに関連付けられたY値に対応する行成分が再構成されれば、その他の行成分については再構成されなくてもよい。また、他の一例として、観測行列再構成部405は、リーフレット生成IDが、観測行列A自体を特定するための情報である場合には、当該情報に基づき当該観測行列Aを再構成すればよい。
 また、観測行列再構成部405は、リーフレット回収部401により新たにリーフレットが回収された場合には、当該リーフレットの回収結果に基づき、改めて観測行列Aを再構成してもよい。具体的な一例として、観測行列再構成部405は、新たにリーフレットが回収された場合には、事前に再構成した観測行列Aの各行成分のうち、当該リーフレットに関連付けられたY値に対応する行成分(換言すると、その時点で再構成されていない行成分)を再構成してもよい。
 そして、観測行列再構成部405は、再構成した観測行列Aを示す情報を復号処理部407に出力する。
 なお、上述した観測行列再構成部405による観測行列Aの再構成に係る処理は、復号処理装置400が、回収されたリーフレットの生成に用いられた観測行列Aを認識するための一例に過ぎない。即ち、復号処理装置400が、回収されたリーフレットの生成に用いられた観測行列Aを認識することが可能であれば、その方法は特に限定されない。具体的な一例として、符号化処理装置300と復号処理装置400とに、あらかじめ共通の観測行列Aを示す情報、または当該観測行列Aを再生するための情報(例えば、乱数表)が保持されていてもよい。また、他の一例として、符号化処理装置300と復号処理装置400とが、観測行列Aを示す情報、または当該観測行列Aを再生するための情報を、所謂暗号化通信に基づき事前に送受信することで、符号化処理装置300と復号処理装置400との間で共通の当該情報が保持されてもよい。このような場合には、復号処理装置400は、上述した観測行列Aの再構成に係る処理を実行しなくてもよいことは言うまでもない。
 復号処理部407は、回収メモリ403に保持されたリーフレット(即ち、リーフレットの回収結果)と、観測行列再構成部405により再構成された観測行列Aとに基づき原信号xを復号する。なお、復号処理部407が、Rakerの役割を担う情報処理装置100における、「信号処理部」の一例に相当する。
 具体的には、復号処理部407は、まずリーフレットの回収結果に基づき原信号xを復号することが可能か否かを判断する。例えば、復号処理部407は、回収されたリーフレットの数が閾値以上の場合に、原信号xを復号可能と判断する。そして、復号処理部407は、回収されたリーフレットに関連付けられたY値及びY座標に基づき信号yを再構成し、当該信号yと再構成された観測行列Aとに基づき原信号xを再構成する。具体的な一例として、復号処理部407は、(式1)~(式4)を参照して前述したように、y=Axの制約条件のもとで、所定のコスト関数J(x)の最小化(換言すると、正則化)を行うことにより原信号xを復号する。より具体的な一例として、復号処理部407は、L1ノルムの最小化問題を解くことにより、再構成された信号y及び観測行列Aに基づき原信号xを復号(再構成)してもよい。
 なお、原信号xを復号(即ち、再構成)することが可能か否かの判断については、例えば、参考文献6:「D L.Donoho、“High-dimensional centrally-symmetric polytopes with neighborliness proportional to dimension,”、[online]、2006年、Discrete&Computational Geometry, vol.35, no.4, 617、p15、[平成28年11月1日検索]、インターネット<URL:
https://pdfs.semanticscholar.org/c802/03f0dd27dd5c15726543b01f4c919529d4a8.pdf>」に背景となる理論が開示されている。具体的には、参考文献6には、圧縮センシングの完全復元可能・不可能境界についてランダム高次元幾何学の立場から考察が与えられている。また、前述した参考文献1の著者であるCandesらは、制限等長性という条件を導入することで、より精度の高い再構成を可能とする指針を提示している。即ち、本実施形態において、ランダム係数行列として生成された観測行列Aを再構成可能とするための十分条件については、上述した考察や指針に基づき数学的に示されている。
 また、上記では、L1ノルムの最小化問題を例に説明したが、一般的には、圧縮センシングの解法はLpノルム(p>0)の最小化問題が考えられており、L1ノルムの最小化問題はp=1として規定した場合の例に相当する。なお、L1ノルム(p=1)の最小化問題を解く場合の指標の一例については、参考文献7:「Y.Kabashima、外2名“A typical reconstruction limit for compressed sensing,”、[online]、2009年、Journal of Statistical Mechanics; Theory and Experiments, 109003、p6-7、[平成28年11月1日検索]、インターネット<URL:
http://iopscience.iop.org/article/10.1088/1742-5468/2009/09/L09003/pdf>」に開示されている。
 なお、復号処理部407がリーフレットの回収結果に基づき信号yを復号可能か否かを判断するための基準を示す情報については、例えば、当該復号処理部407が参照可能な記憶領域に保持させておけばよい。具体的な一例として、前述した各文献が開示する内容に基づき、信号yを復号可能か否かの境界を示す閾値をテーブル化した情報を、上記基準を示す情報として利用してもよい。また、他の一例として、事前の実験等に基づき、上記基準を示す情報が生成されてもよい。
 なお、上述した各種文献では、主に完全復元という可能性について論じている。その一方で、例えば、画像データ等のような一部のデータについては、状況によっては完全に復元がされなくとも比較的高いPSNR(Peak signal-to-noise ratio)が得られれば十分な場合もあり、数学的モデルに従うか否かについては、扱うデータに依存し得る。具体的な一例として、自然画のような画像データの場合には、経験的には圧縮率(即ち、サンプル数/全データ数、または、リーフレット数/全データ数)が40%程度あれば、完全には復元されなくとも、比較的高いPSNRで再構成することが十分可能である。従って、例えば、原信号xの信号長N(例えば、画像データの全画素数)に対して、信号y(観測値)の信号要素の総数にあたるサンプル数M=0.4Nとして、M×N=0.4N×Nの観測行列A(例えば、ランダム行列)を定義し、当該観測行列Aに基づきリーフレットの生成が行われればよい。即ち、再構成が可能か否かの判断については、自然画の場合には、0.4N程度を閾値として判断条件が設定されていればよい。また、Scatterの役割を担う符号化処理装置300は、ネットワークの状況等を考慮して、リーフレットの生成数が0.4N以上となるように制御すればよい(例えば、0.5N×Nの観測行列Aに基づきリーフレットを生成すればよい)。このような構成により、データの圧縮性を損なうことなく、冗長性(例えば、Holderの役割を担うストレージノードの故障や、当該ストレージノードへのネットワークパスの故障等に対する耐性)を持たせることが可能となる。
 なお、以降の説明では、上述した事情を鑑み、リーフレットから復号(再構成)される原信号xを、当該リーフレットの生成元となる原信号xと明示的に区別する場合には、「信号x’」と称する場合がある。
 以上、図14を参照して、本実施形態に係る情報処理システム1の機能構成の一例について、特に、Scatterの役割を担う符号化処理装置300と、Rakerの役割を担う復号処理装置400とに着目して説明した。
  <2.8.処理>
 続いて、本実施形態に係る情報処理システム1の一連の処理の流れの一例について、特に、Scatterの役割を担う符号化処理装置300と、Rakerの役割を担う復号処理装置400とに着目して説明する。
  (a)符号化処理装置(Scatter)
 まず、図15を参照して、Scatterの役割を担う符号化処理装置300の一連の処理の流れの一例について、特に、リーフレットの生成及び配信に係る処理に着目して説明する。図15は、本実施形態に係る符号化処理装置の一連の処理の流れの一例を示したフローチャートである。
 図15に示すように、符号化処理装置300(観測行列生成部303)は、あらかじめ決められた条件に基づき再生可能な疑似乱数を基に、観測行列Aを生成する(S101)。
 次いで、符号化処理装置300(符号化処理部305)は、符号化の対象となる信号として入力されたスパースな原信号xを、疑似乱数を基に生成した観測行列Aに基づき符号化することで、符号化処理後の信号yを生成する。また、符号化処理装置300(リーフレット生成部307)は、生成した信号yの各信号要素(Y値)に対して、当該信号要素の当該信号y中の位置示す情報(Y座標)を関連付けることでリーフレットyを生成する。なお、このとき符号化処理装置300は、生成したリーフレットyに対して、リーフレット生成ID、ノード識別子、及びシステムオプション等の情報を関連付けてもよい(S103)。
 そして、符号化処理装置300(リーフレット配信部309)は、生成した1以上のリーフレットyを、所定のネットワークを介してHolderの役割を担う他のストレージノード(例えば、保持装置500)に配信する(S105)。以上のようにして、符号化処理装置300により生成された1以上のリーフレットyが、ネットワーク上のストレージノードに拡散及び分散される。
 以上、図15を参照して、Scatterの役割を担う符号化処理装置300の一連の処理の流れの一例について、特に、リーフレットの生成及び配信に係る処理に着目して説明した。
  (b)復号処理装置(Raker)
 続いて、図16を参照して、Rakerの役割を担う復号処理装置400の一連の処理の流れの一例について、特に、リーフレットの回収と原信号xの復号(再構成)とに着目して説明する。図16は、本実施形態に係る復号処理装置の一連の処理の流れの一例を示したフローチャートである。
 図16に示すように、復号処理装置400(リーフレット回収部401)は、例えば、ネットワーク上の各ストレージノードに対してブロードキャスト(または、マルチキャスト)を行うことでリーフレットの送信を呼びかけ、反応したストレージノードから当該ストレージノードが保持するリーフレットを取得する(S201)。
 このとき、復号処理装置400は、既に回収したリーフレットと同様のリーフレットを再度回収した場合には(S203、YES)、改めて回収した当該リーフレットを破棄してもよい(S205)。
 一方で、復号処理装置400(復号処理部407)は、既に回収したリーフレットと異なる他のリーフレットを新たに回収した場合には(S203、NO)、回収した一連のリーフレットに基づき、信号x’(例えば、原信号x)を再構成可能か否かを判定する(S207)。例えば、復号処理装置400は、回収した一連のリーフレットの数が閾値以上の場合に、信号x’を再構成可能と判断してもよい。
 信号x’の再構成が困難と判断した場合には(S207、NO)、復号処理装置400(リーフレット回収部401)は、回収したリーフレットを回収メモリ403に記憶させる。このとき復号処理装置400は、各リーフレットに関連付けられたY座標を示す情報に基づき、回収メモリ403に記憶された一連のリーフレットを並び替えてもよい(S209)。また、復号処理装置400(観測行列再構成部405)は、リーフレットの回収結果に基づき、当該リーフレットの生成に用いられた観測行列Aの再構成を行ってもよい。例えば、復号処理装置400は、新たにリーフレットを回収した場合には、観測行列Aの各行成分のうち、当該リーフレットに関連付けられたY値に対応する行成分(換言すると、その時点で再構成されていない行成分)を再構成してもよい(S211)。また、このとき復号処理装置400は、従前に回収したリーフレットに基づき、既に一部の行成分について観測行列Aを再構成している場合には、当該観測行列Aのうち、新たに回収したリーフレットに関連付けられたY値に対応する行成分を追加で再構成してもよい。
 以上のようにして、復号処理装置400は、信号x’を再構成可能と判断するまで、リーフレットの回収(S201)、当該リーフレットの保持(S209)、及び観測行列Aの再構成(S211)を繰り返し実行する。
 そして、信号x’の再構成が可能と判断した場合には(S207、YES)、復号処理装置400(復号処理部407)は、回収メモリ403に保持されたリーフレットと、再構成した観測行列Aとに基づき、信号x’を復号(再構成)する。具体的には、復号処理装置400は、回収されたリーフレットに関連付けられたY値及びY座標に基づき信号yを再構成する。そして、復号処理装置400は、y=Axの制約条件の基で、所定のコスト関数J(x)の最小化を行うことにより(例えば、Lpノルムの最小化問題を解くことにより)、信号x’を復号する(S213)。
 以上、図16を参照して、Rakerの役割を担う復号処理装置400の一連の処理の流れの一例について、特に、リーフレットの回収と原信号xの復号(再構成)とに着目して説明した。
 <<3.実施例>>
 続いて、本実施形態に係る情報処理システムの実施例として、原信号x及び観測行列Aと、当該原信号x及び観測信号Aを基に圧縮センシングにより算出される信号yの具体的な一例について説明する。例えば、図17は、本実施形態に係る情報処理システム1の実施例について説明するための説明図であり、原信号x、観測行列A、及び信号yの具体的な一例を示している。
 具体的には、図17に示す例では、原信号xの信号要素の数は16であり(即ち、信号長N=16)、当該信号要素のうち非ゼロ成分の数は4となる。ここで、原信号xにおいて、全信号要素の数に対する非ゼロ成分の数の割合をスパース度ρとして示すと、図17に示す原信号xのスパース度ρは、ρ=4/16=25%となる。
 また、図17に示す例において、観測行列Aの行成分の数は9である(即ち、観測数M=9)。ここで、原信号xの全データ数(信号要素の数N)に対するサンプル数(観測数M)の割合を圧縮率σとして示すと、圧縮率σは、σ=M/N=9/16=56.25%となる。
 また、図17に示す信号yは、同図に示された原信号x及び観測行列Aに基づき生成される信号の一例を示している。
 なお、前述した参考文献6及び7には、圧縮率σとスパース度ρとの間の関係について開示されており、圧縮率σ及びスパース度ρを、原信号xが再構成可能か否かを判断するための指標として利用することが可能である。即ち、本開示は、この原理に従い、信号yを生成することで当該信号yに基づき一連のリーフレットを生成し、当該一連のリーフレットのうち少なくとも一部のリーフレットに基づき信号x’(例えば、原信号x)を再構成するための技術を提案するものである。
 なお、図17に示す例は、例えば、L1ノルムの最小化問題を解くことにより、原信号xを完全に再構成することが可能である。即ち、図17に示す例においては、スパースな原信号xに対して、当該原信号xの信号長(N=16)に等しい数の方程式を必要とせず、例えば、9個の連立一次不定方程式に基づき完全に再構成可能な例を示している。
 以上、図17を参照して、本実施形態に係る情報処理システムの実施例として、原信号x及び観測行列Aと、当該原信号x及び観測信号Aを基に圧縮センシングにより算出される信号yの具体的な一例について説明した。
 <<4.変形例>>
 続いて、本実施形態に係る情報処理システムの変形例について説明する。
  <4.1.変形例1:原信号を再構成可能か否かの判断条件の一例>
 まず、変形例1として、Rakerの役割を担うノード(例えば、復号処理装置400)が、リーフレットの回収結果に基づき、原信号xを再構成可能か否かについて判断するための条件の一例について説明する。
 例えば、前述した参考文献1の著者であるCandesらにより、原信号xを完全復元するための十分条件として、以下に(式5)として示す条件が提示されている。
Figure JPOXMLDOC01-appb-M000005
 上記(式5)において、pは観測行列Aの行数を示している。また、mは原信号xの信号長を示しており、Sはスパース度を示している。即ち、Candesらにより、観測行列Aの行数pが、上記(式5)に示す条件を満たすならば、L1最小化問題を利用することにより、原信号xの完全再現を十分に高い確率で達成されることが数学的に証明されている。
 そのため、例えば、Rakerの役割を担うノードは、上記(式5)として示した条件に基づき、リーフレットの回収結果に応じて原信号xを再構成可能か否かを判断してもよい。
 また、他の一例として、Rakerの役割を担うノードは、圧縮センシングの性質を利用することで、リーフレットの回収結果に応じて原信号xを再構成可能か否かを判断してもよい。
 例えば、参考文献8:「大関真之、“今日からできるスパースモデリング”、[online]、平成28年3月3日、京都大学大学院情報研究学科 Adaptive System Theory Group、[平成28年11月1日検索]、インターネット<URL: http://www-adsys.sys.i.kyoto-u.ac.jp/mohzeki/Presentation/lecturenote20160304.pdf>」には、圧縮センシングの性質に関する情報が開示されている。具体的には、一般に観測行列Aが各成分の平均0、分散1のガウス分布Φから生成されるとき、以下に(式6)~(式8)として示す条件を満たす曲線を境界として、L1ノルム最小化により非常に高い確率で原信号の推定に成功することが知られている。即ち、圧縮率αとスパース度ρとの間には、媒介変数τを介して、以下に(式6)~(式8)として示す式を満たすことが分かっている。
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 例えば、図18は、原信号xを再構成可能か否かを判断するための判断条件の一例について説明するための説明図である。図18において、横軸はスパース度ρを示しており、縦軸は圧縮率σを示している。図18において、曲線を境界として上側に位置するSuccess領域は、原信号xを再構成可能な条件に対応している。即ち、スパース度ρと圧縮率σとの条件に応じてプロットされるサンプルがSuccess領域に位置する場合には、原信号xを非常に高い確率で再構成することが可能となる。これに対して、曲線を境界として下側に位置するFailure領域は、原信号xを再構成することが困難な条件に対応している。
 以上のような特性を利用し、Rakerの役割を担うノードは、リーフレットの回収結果が、図18に示すグラフ中のSuccess領域に位置するための条件を満たすか否かに応じて、原信号xを再構成可能か否かを判断してもよい。
 なお、図18に示す条件はあくまで一例であり、Rakerの役割を担うノードが、リーフレットの回収結果に応じて原信号xを再構成可能か否かを判断するための条件は、必ずしも図18に示す例のみには限定されない。具体的な一例として、再構成の対象となるデータの種別によっては、許容されるPSNRの条件が異なる。図18に示す例では、Failure領域においても、曲線のより近傍に位置する程、PSNRがより低くなる傾向にある。そのため、例えば、Rakerの役割を担うノードは、許容されるPSNRがより高くなるほど、図18に示す例に比べて、原信号xを再構成可能か否かを判断するための条件をより緩和することも可能である。
 以上、変形例1として、Rakerの役割を担うノードが、リーフレットの回収結果に基づき、原信号xを再構成可能か否かについて判断するための条件の一例について説明した。
  <4.2.変形例2:システム構成の一例>
 続いて、変形例2として、本実施形態に係る情報処理システムのシステム構成の一例について説明する。
 前述した実施形態では、例えば、図1を参照しながら、複数の情報処理装置100が一連のサーバ群10として動作することで、端末装置200に対してネットワークストレージサービス(例えば、クラウドストレージサービス)を提供する場合の一例について説明した。この場合には、Scatterの役割を担う情報処理装置100により元となるデータから生成された複数のリーフレットは、Holderの役割を担う複数の情報処理装置100に分散して保持されることとなる。また、データを復号する場合には、Rakerの役割を担う一部の情報処理装置100が、Holderの役割を担う他の情報処理装置100からリーフレットを回収し、当該リーフレットの回収結果に基づき元となるデータを復号(再構成)する。
 一方で、複数の装置がネットワークを介して互いに情報を送受信可能であり、当該複数の装置に、Scatter、Holder、及びRakerそれぞれの役割を担う装置が含まれていれば、当該装置の種別は必ずしも図1に示す情報処理装置100のような所謂サーバのみには限定されない。例えば、図19は、変形例2に係る情報処理システムのシステム構成の一例を示した図である。図19に示す例では、スマートフォン等のような端末装置200が、サーバ等のような情報処理装置100を介さずに、他の端末装置200との間でネットワークを構築している場合の一例である。より具体的な一例として、複数の端末装置200が、所謂アドホックネットワークを構築している場合が挙げられる。
 このような場合には、参照符号10’として示された複数の端末装置200が、図1を参照して説明した一連のサーバ群10と同様に動作してもよい。具体的には、ネットワークを介して接続された複数の端末装置200のそれぞれが、「Scatter」、「Holder」、及び「Raker」の3つの役割のうち少なくともいずれかの役割を担えばよい。以上のような構成により、前述した実施形態と同様に、対象となるデータから生成されたリーフレットを複数の端末装置200に分散して保持させるとともに、複数の端末装置200からリーフレットを回収することで元となるデータを再構成することも可能となる。
 以上、変形例2として、図19を参照して、本実施形態に係る情報処理システムのシステム構成の一例について説明する。
  <4.3.変形例3:Scatterの役割を担うストレージノードの動作の一例>
 続いて、変形例3として、Scatterの役割を担うストレージノード(例えば、保持装置500)の動作の一例として、当該ストレージノードにRakerの機能を設けた場合の一例について説明する。
 前述したように、Holderの役割を担うとともにScatterの役割をも担うストレージノードは、配信されたリーフレットを、他のストレージノードに配信してもよい。一方で、当該ストレージノードには、複数のリーフレットが保持される場合も想定され、保持されたリーフレットに基づき原信号xを再構成(復号)可能となる状況も想定され得る。
 そこで、変形例3に係る情報処理システムでは、Holder及びScatterの役割を担うストレージノードのうち少なくとも一部に対してRakerの機能を設ける。なお、この場合には、Rakerの機能が設けられたストレージノードは、リーフレットの生成元となる観測行列Aを再構成可能とする。このような構成の基で、Rakerの機能が設けられたストレージノードは、自身が保持するリーフレット(即ち、配信されたリーフレット)に基づき原信号xを再構成したうえで、当該原信号xに基づきリーフレットを再生成し、再生成した当該リーフレットを他のストレージノードに配信してもよい。
 前述したように、本実施形態に係る情報処理システムに依れば、原信号xから生成された全てのリーフレットが回収されていない場合においても、リーフレットの回収結果が所定の条件を満たせば、当該原信号xを完全復元可能な場合がある。このことは、Rakerの機能が設けられたストレージノードが原信号xを再構成する場合についても同様である。
 以上のような構成により、変形例3に係る情報処理システムに依れば、原信号xから観測行列Aに基づき生成されるリーフレットの分散性及び拡散性をより向上させることが可能となる。そのため、例えば、Rakerの役割を担うノード(例えば、復号処理装置400)は、オリジナルの原信号xから生成されたリーフレットのみでは当該原信号xを再構成(復号)することが困難な場合においても、他のストレージノードにより再生成されたリーフレットの回収結果を補間することで、当該原信号xを再構成することが可能となる。即ち、変形例3に係る情報処理システムに依れば、Rakerの役割を担うノードにおける原信号xの再構成の可能性をより高めることが可能となる。
 以上、変形例3として、Scatterの役割を担うストレージノードの動作の一例として、当該ストレージノードにRakerの機能を設けた場合の一例について説明した。
 <<5.ハードウェア構成>>
 次に、図20を参照しながら、本開示の一実施形態に係る情報処理システム1を構成する情報処理装置100(即ち、符号化処理装置300、復号処理装置400、及び保持装置500等)や端末装置200等のような情報処理装置900のハードウェア構成について、詳細に説明する。図20は、本開示の一実施形態に係る情報処理システムを構成する情報処理装置のハードウェア構成の一例を示す機能ブロック図である。
 本実施形態に係る情報処理システムを構成する情報処理装置900は、主に、CPU901と、ROM903と、RAM905と、を備える。また、情報処理装置900は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インタフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
 CPU901は、演算処理装置及び制御装置として機能し、ROM903、RAM905、ストレージ装置919又はリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般又はその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。なお、図14を参照して前述した、疑似乱数生成部301、観測行列生成部303、符号化処理部305、及びリーフレット生成部307や、観測行列再構成部405及び復号処理部407は、例えば、CPU901により実現され得る。
 ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。また、外部バス911には、インタフェース913を介して、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923及び通信装置925が接続される。
 入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置900のユーザは、この入力装置915を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
 出力装置917は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置917は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
 ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ等を格納する。なお、図14を参照して前述した回収メモリ403は、例えば、ストレージ装置919により実現され得る。
 ドライブ921は、記録媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD-DVDメディア又はBlu-ray(登録商標)メディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CF:CompactFlash)、フラッシュメモリ又はSDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)又は電子機器等であってもよい。
 接続ポート923は、情報処理装置900に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、情報処理装置900は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。
 通信装置925は、例えば、通信網(ネットワーク)931に接続するための通信デバイス等で構成された通信インタフェースである。通信装置925は、例えば、有線若しくは無線LAN(Local Area Network)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。なお、図14を参照して前述したリーフレット配信部309やリーフレット回収部401は、例えば、ストレージ装置919により実現され得る。
 以上、本開示の実施形態に係る情報処理システムを構成する情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図20では図示しないが、本実施形態に係る情報処理システムを構成する情報処理装置900に対応する各種の構成を当然備える。
 なお、上述のような本実施形態に係る情報処理システムを構成する情報処理装置900の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。また、当該コンピュータプログラムを実行させるコンピュータの数は特に限定されない。例えば、当該コンピュータプログラムを、複数のコンピュータ(例えば、複数のサーバ等)が互いに連携して実行してもよい。なお、単数のコンピュータ、または、複数のコンピュータが連携するものを、「コンピュータシステム」とも称する。
 <<6.むすび>>
 以上説明したように、本実施形態に係る情報処理システムは、ネットワークを介して接続された複数のノード(例えば、情報処理装置100)を含み、当該複数のノードのそれぞれが、「Scatter」、「Holder」、及び「Raker」の3つの役割のうち少なくともいずれかの役割を担う。このような構成の基で、Scatterの役割を担うノード(例えば、符号化処理装置300)は、元となるデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含むスパースな原信号xを、所定の条件に応じて生成された観測行列Aに基づき符号化することで、原信号xよりも信号長の短い信号yを生成する。また、Scatterの役割を担うノードは、信号yの各信号要素(Y値)に対して、当該信号要素の当該信号y中の位置を示す情報(Y座標)を関連付けることで1以上のリーフレットyを生成する。そして、Scatterの役割を担うノードは、生成した1以上のリーフレットyそれぞれを、ネットワークを介して接続された1以上の他のノード(即ち、Holderの役割を担うストレージノード)に送信する。ここで、元なるデータが、「第1のデータ」の一例に相当し、原信号xが「第1の信号」の一例に相当する。また、信号yが「第2の信号」の一例に相当し、リーフレットyが「第2のデータ」の一例に相当する。
 また、Rakerの役割を担うノード(例えば、復号処理装置400)は、ネットワークを介して接続された1以上のノード(即ち、Holderの役割を担うストレージノード)から、1以上のリーフレットyを取得する。そして、Rakerの役割を担うノードは、取得した1以上のリーフレットyと、観測行列Aの各行成分のうち少なくとも当該リーフレットyに関連付けられた信号要素(Y値)に対応する行成分に応じた制約条件と、に基づき元となるデータを復号する。なお、このときRakerの役割を担うノードは、上述したように、必ずしも元となるデータが符号化されることで生成されたすべてのリーフレットyを回収する必要がなく、所定の条件を満たせば一部のリーフレットのみからでも元となるデータを再構成することが可能である。
 以上のような構成により、本実施形態に係る情報処理システムに依れば、リーフレットyの配信元となるノードは、どの配信先(ストレージノード)に各リーフレットyが存在するかを認識する必要が無くなる。また、各ストレージノードは、他の装置の状態に依存することなく、独立して動作することが可能である。また、リーフレットyから原信号x(ひいては、元となるデータ)の再構成には、当該リーフレットyの生成時に使用した符号化のための情報(乱数)を要し、リーフレットyのみでは原信号xを再構成することが困難であるため、情報の秘匿性を担保することが可能である。また、原信号x(ひいては、元となるデータ)の再構成時に、必ずしもリーフレットが配信されたすべてのストレージノードが動作している必要はないため、個々のストレージノードの保守を、他のストレージノードに依存することなく独立して行うことが可能となる。即ち、本実施形態に係る情報処理システムに依れば、各種データの保存先としてネットワーク上の記憶領域(即ち、ストレージノード)が利用される状況下において、システムの運用の継続性と運用コストの低減とをより好適な態様で両立することが可能となる。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、前述したように、本実施形態に係る情報処理システムは、スパース度や圧縮率の条件を満たせば、画像に限らず多様なデータに対して適用することが可能である。具体的な一例として、ファクシミリ等のように文字情報等を画像化したデータや、音響(音声、楽曲等)等のような一般的なコーデックに使われるデータは、冗長度が比較的高く、データの相関性も比較的高い。そのため、本実施形態に係る情報処理システムのように、Total varianceを使ったコスト関数に基づき最小化を行うことで、データの再現(復元)がよりしやすい傾向にある。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号を、所定の条件に応じて生成された行列に基づき、前記第1の信号よりも信号長の短い第2の信号に符号化する信号処理部と、
 前記第2の信号の各信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けることで、1以上の第2のデータを生成するデータ生成部と、
 生成された1以上の前記第2のデータそれぞれを、ネットワークを介して接続された1以上の装置に送信する送信部と、
 を備える、情報処理装置。
(2)
 前記データ生成部は、前記第2のデータに対して、送信元を示す情報を関連付ける、前記(1)に記載の情報処理装置。
(3)
 前記データ生成部は、前記第2のデータに対して、前記行列の各行成分のうち当該第2のデータに関連付けられた前記信号要素に対応する行成分を特定するための識別情報を関連付ける、前記(1)または(2)に記載の情報処理装置。
(4)
 前記データ生成部は、前記第2のデータに対して、前記行列を特定するための識別情報を関連付ける、前記(1)または(2)に記載の情報処理装置。
(5)
 前記第2の信号の信号長は、前記第1の信号の信号長と、前記第1のデータに応じた圧縮率と、に基づき決定される、前記(1)~(4)のいずれか一項に記載の情報処理装置。
(6)
 前記第1の信号は、前記第1のデータを入力とした所定の演算処理に基づき生成される、前記(1)~(5)のいずれか一項に記載の情報処理装置。
(7)
 前記行列は、乱数の算出結果に基づき生成される、前記(1)~(6)のいずれか一項に記載の情報処理装置。
(8)
 前記データ生成部は、複数の前記第2のデータを生成し、
 前記送信部は、生成された複数の前記第2のデータのそれぞれを、複数の前記装置のうち少なくともいずれかの装置に送信する、
 前記(1)~(7)のいずれか一項に記載の情報処理装置。
(9)
 前記第1のデータは、画像データである、前記(1)~(8)のいずれか一項に記載の情報処理装置。
(10)
 第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第1の信号よりも信号長の短い第2の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置から取得する取得部と、
 取得された1以上の前記第2のデータと、前記行列の各行成分のうち少なくとも当該第2のデータに関連付けられた前記信号要素に対応する行成分に応じた制約条件と、に基づき、前記第1のデータを復号する信号処理部と、
 を備える、情報処理装置。
(11)
 前記取得部は、共通の送信元を示す情報が関連付けられた1以上の前記第2のデータを、前記1以上の装置から取得する、前記(10)に記載の情報処理装置。
(12)
 前記信号処理部は、前記第1の信号における前記非ゼロ成分の数と前記ゼロ成分の数とに基づく係数と、前記第1の信号の信号長と前記第2の信号の信号長とに基づく圧縮率と、前記第2のデータの取得結果に応じた前記信号要素の数と、に基づき、前記第1のデータを復号することが可能か否かを判定する、前記(10)または(11)に記載の情報処理装置。
(13)
 前記信号処理部は、前記係数と、前記圧縮率と、前記取得結果に応じた前記信号要素の数と、前記第1のデータの復号に対して許容される信号対雑音比と、に基づき、前記第1のデータを復号することが可能か否かを判定する、前記(12)に記載の情報処理装置。
(14)
 前記信号処理部は、前記第2のデータに関連付けられた識別情報に基づき、前記行列のうち少なくとも当該第2のデータに関連付けられた前記信号要素に対応する行成分を特定する、前記(10)~(13)のいずれか一項に記載の情報処理装置。
(15)
 前記信号処理部は、前記第2のデータに関連付けられた識別情報に基づき、前記行列を特定する、前記(10)~(13)のいずれか一項に記載の情報処理装置。
(16)
 前記取得部は、ネットワークを介して接続された複数の装置それぞれから、複数の前記第2のデータのうち少なくとも一部の前記第2のデータを取得する、前記(10)~(15)のいずれか一項に記載の情報処理装置。
(17)
 コンピュータが、
 第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号を、所定の条件に応じて生成された行列に基づき、前記第1の信号よりも信号長の短い第2の信号に符号化することと、
 前記第2の信号の各信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置に送信することと、
 を含む、情報処理方法。
(18)
 コンピュータが、
 第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第1の信号よりも信号長の短い第2の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置から取得することと、
 取得された1以上の前記第2のデータと、前記行列に応じた制約条件と、に基づき、前記第1のデータを復号することと、
 を含む、情報処理方法。
(19)
 コンピュータに、
 第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号を、所定の条件に応じて生成された行列に基づき、前記第1の信号よりも信号長の短い第2の信号に符号化することと、
 前記第2の信号の各信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置に送信することと、
 を実行させるプログラムが記録された記録媒体。
(20)
 コンピュータに、
 第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第1の信号よりも信号長の短い第2の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置から取得することと、
 取得された1以上の前記第2のデータと、前記行列に応じた制約条件と、に基づき、前記第1のデータを復号することと、
 を実行させるプログラムが記録された記録媒体。
 1   情報処理システム
 100 情報処理装置
 200 端末装置
 250 撮像部
 300 符号化処理装置
 301 疑似乱数生成部
 303 観測行列生成部
 305 符号化処理部
 307 リーフレット生成部
 309 リーフレット配信部
 400 復号処理装置
 401 リーフレット回収部
 403 回収メモリ
 405 観測行列再構成部
 407 復号処理部
 500 保持装置

Claims (20)

  1.  第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号を、所定の条件に応じて生成された行列に基づき、前記第1の信号よりも信号長の短い第2の信号に符号化する信号処理部と、
     前記第2の信号の各信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けることで、1以上の第2のデータを生成するデータ生成部と、
     生成された1以上の前記第2のデータそれぞれを、ネットワークを介して接続された1以上の装置に送信する送信部と、
     を備える、情報処理装置。
  2.  前記データ生成部は、前記第2のデータに対して、送信元を示す情報を関連付ける、請求項1に記載の情報処理装置。
  3.  前記データ生成部は、前記第2のデータに対して、前記行列の各行成分のうち当該第2のデータに関連付けられた前記信号要素に対応する行成分を特定するための識別情報を関連付ける、請求項1に記載の情報処理装置。
  4.  前記データ生成部は、前記第2のデータに対して、前記行列を特定するための識別情報を関連付ける、請求項1に記載の情報処理装置。
  5.  前記第2の信号の信号長は、前記第1の信号の信号長と、前記第1のデータに応じた圧縮率と、に基づき決定される、請求項1に記載の情報処理装置。
  6.  前記第1の信号は、前記第1のデータを入力とした所定の演算処理に基づき生成される、請求項1に記載の情報処理装置。
  7.  前記行列は、乱数の算出結果に基づき生成される、請求項1に記載の情報処理装置。
  8.  前記データ生成部は、複数の前記第2のデータを生成し、
     前記送信部は、生成された複数の前記第2のデータのそれぞれを、複数の前記装置のうち少なくともいずれかの装置に送信する、
     請求項1に記載の情報処理装置。
  9.  前記第1のデータは、画像データである、請求項1に記載の情報処理装置。
  10.  第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第1の信号よりも信号長の短い第2の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置から取得する取得部と、
     取得された1以上の前記第2のデータと、前記行列の各行成分のうち少なくとも当該第2のデータに関連付けられた前記信号要素に対応する行成分に応じた制約条件と、に基づき、前記第1のデータを復号する信号処理部と、
     を備える、情報処理装置。
  11.  前記取得部は、共通の送信元を示す情報が関連付けられた1以上の前記第2のデータを、前記1以上の装置から取得する、請求項10に記載の情報処理装置。
  12.  前記信号処理部は、前記第1の信号における前記非ゼロ成分の数と前記ゼロ成分の数とに基づく係数と、前記第1の信号の信号長と前記第2の信号の信号長とに基づく圧縮率と、前記第2のデータの取得結果に応じた前記信号要素の数と、に基づき、前記第1のデータを復号することが可能か否かを判定する、請求項10に記載の情報処理装置。
  13.  前記信号処理部は、前記係数と、前記圧縮率と、前記取得結果に応じた前記信号要素の数と、前記第1のデータの復号に対して許容される信号対雑音比と、に基づき、前記第1のデータを復号することが可能か否かを判定する、請求項12に記載の情報処理装置。
  14.  前記信号処理部は、前記第2のデータに関連付けられた識別情報に基づき、前記行列のうち少なくとも当該第2のデータに関連付けられた前記信号要素に対応する行成分を特定する、請求項10に記載の情報処理装置。
  15.  前記信号処理部は、前記第2のデータに関連付けられた識別情報に基づき、前記行列を特定する、請求項10に記載の情報処理装置。
  16.  前記取得部は、ネットワークを介して接続された複数の装置それぞれから、複数の前記第2のデータのうち少なくとも一部の前記第2のデータを取得する、請求項10に記載の情報処理装置。
  17.  コンピュータが、
     第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号を、所定の条件に応じて生成された行列に基づき、前記第1の信号よりも信号長の短い第2の信号に符号化することと、
     前記第2の信号の各信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置に送信することと、
     を含む、情報処理方法。
  18.  コンピュータが、
     第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第1の信号よりも信号長の短い第2の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置から取得することと、
     取得された1以上の前記第2のデータと、前記行列に応じた制約条件と、に基づき、前記第1のデータを復号することと、
     を含む、情報処理方法。
  19.  コンピュータに、
     第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号を、所定の条件に応じて生成された行列に基づき、前記第1の信号よりも信号長の短い第2の信号に符号化することと、
     前記第2の信号の各信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置に送信することと、
     を実行させるプログラムが記録された記録媒体。
  20.  コンピュータに、
     第1のデータに基づく1以上の非ゼロ成分と、1以上のゼロ成分と、を含む第1の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第1の信号よりも信号長の短い第2の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第2の信号中における当該信号要素の位置を示す情報が関連付けられた1以上の第2のデータそれぞれを、ネットワークを介して接続された1以上の装置から取得することと、
     取得された1以上の前記第2のデータと、前記行列に応じた制約条件と、に基づき、前記第1のデータを復号することと、
     を実行させるプログラムが記録された記録媒体。
PCT/JP2017/038735 2016-12-01 2017-10-26 情報処理装置、情報処理方法、及びプログラム WO2018100934A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780073015.2A CN109997309A (zh) 2016-12-01 2017-10-26 信息处理设备、信息处理方法以及程序
US16/327,514 US11005497B2 (en) 2016-12-01 2017-10-26 Information processing device, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016233846A JP2018093325A (ja) 2016-12-01 2016-12-01 情報処理装置、情報処理方法、及びプログラム
JP2016-233846 2016-12-01

Publications (1)

Publication Number Publication Date
WO2018100934A1 true WO2018100934A1 (ja) 2018-06-07

Family

ID=62242266

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/038735 WO2018100934A1 (ja) 2016-12-01 2017-10-26 情報処理装置、情報処理方法、及びプログラム

Country Status (4)

Country Link
US (1) US11005497B2 (ja)
JP (1) JP2018093325A (ja)
CN (1) CN109997309A (ja)
WO (1) WO2018100934A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021039057A1 (ja) 2019-08-29 2021-03-04 ソニー株式会社 情報処理装置、情報処理方法、プログラム
JP2021057764A (ja) 2019-09-30 2021-04-08 ソニー株式会社 撮像装置、音声処理方法、プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013145954A (ja) * 2012-01-13 2013-07-25 Toyota Central R&D Labs Inc 分散情報処理装置
JP2014036436A (ja) * 2012-08-10 2014-02-24 Toyota Central R&D Labs Inc 情報伝送装置及びプログラム
JP2015220687A (ja) * 2014-05-20 2015-12-07 日本電気株式会社 信号処理システム、復元装置、圧縮装置、信号処理方法、復元方法、および、コンピュータ・プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996236B1 (en) * 1999-10-20 2006-02-07 Microsoft Corporation Methods and apparatus for protecting signals transmitted between a source and destination device over multiple signal lines
JP4622807B2 (ja) * 2005-03-25 2011-02-02 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US20110270590A1 (en) * 2010-04-28 2011-11-03 Qualcomm Incorporated Nonlinear identification using compressed sensing and minimal system sampling
JP5498875B2 (ja) 2010-06-28 2014-05-21 日本電信電話株式会社 分散型マルチメディアサーバシステム、分散型マルチメディア蓄積方法、及び分散型マルチメディア配信方法
US10534060B2 (en) * 2013-06-10 2020-01-14 Toshiba Medical Systems Corporation Parallel MRI with spatially misregistered signal
US9930117B2 (en) * 2014-09-30 2018-03-27 Interactic Holdings, Llc Matrix vector multiply techniques
JP5918884B1 (ja) * 2015-05-12 2016-05-18 日本電信電話株式会社 復号装置、復号方法、およびプログラム
US10938608B2 (en) * 2015-11-19 2021-03-02 Sony Corporation Apparatus and method
WO2017107107A1 (en) * 2015-12-23 2017-06-29 Intel Corporation Techniques to recover data in a network storage system
EP3408956B1 (en) * 2016-01-29 2020-12-23 Massachusetts Institute of Technology Apparatus and method for multi-code distributed storage
US10110258B2 (en) * 2016-03-30 2018-10-23 EMC IP Holding Company LLC Accelerated erasure coding for storage systems
JP6788187B2 (ja) * 2016-10-19 2020-11-25 富士通株式会社 シミュレーションプログラム、シミュレーション方法および情報処理装置
KR102631381B1 (ko) * 2016-11-07 2024-01-31 삼성전자주식회사 컨볼루션 신경망 처리 방법 및 장치
US10581457B2 (en) * 2017-01-09 2020-03-03 Mediatek Inc. Shift coefficient and lifting factor design for NR LDPC code
WO2018140316A1 (en) * 2017-01-24 2018-08-02 Arizona Board Of Regents On Behalf Of The University Of Arizona A method and system utilizing quintuple parity to provide fault tolerance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013145954A (ja) * 2012-01-13 2013-07-25 Toyota Central R&D Labs Inc 分散情報処理装置
JP2014036436A (ja) * 2012-08-10 2014-02-24 Toyota Central R&D Labs Inc 情報伝送装置及びプログラム
JP2015220687A (ja) * 2014-05-20 2015-12-07 日本電気株式会社 信号処理システム、復元装置、圧縮装置、信号処理方法、復元方法、および、コンピュータ・プログラム

Also Published As

Publication number Publication date
JP2018093325A (ja) 2018-06-14
CN109997309A (zh) 2019-07-09
US11005497B2 (en) 2021-05-11
US20190173950A1 (en) 2019-06-06

Similar Documents

Publication Publication Date Title
US8150807B2 (en) Image storage system, device and method
JP6671278B2 (ja) データ転送最適化
US20190108178A1 (en) Wavefront muxing and demuxing for cloud data storage and transport
JP2020187757A (ja) 情報処理方法、第1の端末、第2の端末、サーバ、およびシステム
Carpentieri et al. One-pass lossless data hiding and compression of remote sensing data
US8285997B2 (en) Backup apparatus with higher security and lower network bandwidth consumption
US9292538B2 (en) System and method for improved data accessibility
WO2018100934A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2017163537A (ja) セキュアなリアルタイムヘルスケア情報ストリーミング
EP1418703A1 (en) Apparatus and method for generating data for detecting false alteration of encrypted data during processing
CN106537386A (zh) 识别用于数据写操作的文件
KR20230036100A (ko) 합성 재암호화된 이미지를 이용한 이미지 분배
JP5561504B2 (ja) マルチメディアファイルの分散型ネットワークバックアップ
Chang [Retracted] Cryptospace Invertible Steganography with Conditional Generative Adversarial Networks
TW200527282A (en) Data storing apparatus, information transmitter apparatus, data storing system, and information processing system
US20080159533A1 (en) System and method of processing data
CN111950003A (zh) 生成用户设备唯一识别信息的方法、装置、电子设备
JP2021093016A (ja) ブロックチェーン技術と分散ストレージ技術とにより実現した分散型ストレージプラットフォームおよびアプリケーションプログラム
US20130061059A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
JPWO2020189133A1 (ja) システム、クライアント装置、データ処理方法、コンピュータプログラム及び記録媒体
KR101957812B1 (ko) 인공지능 영상 분석에 있어 특징 공간을 활용한 부호화 및 복호화를 수행하는 방법 및 이를 이용한 장치
CN111198784A (zh) 一种数据存储的方法及装置
JP2008269032A (ja) デジタルコンテンツデータの管理システム、管理方法及び利用装置
JP2021093104A (ja) ブロックチェーン技術と分散ストレージ技術とにより実現した分散型ストレージプラットフォームおよびアプリケーションプログラム
Saravanan et al. Privacy preserving on remote sensing data using reversible data hiding

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: 17875943

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17875943

Country of ref document: EP

Kind code of ref document: A1