(57)【要約】【課題】各種データの保存先としてネットワーク上の記憶領域が利用される状況下において、システムの運用の継続性と運用コストの低減とを両立する。【解決手段】第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号を、所定の条件に応じて生成された行列に基づき、前記第１の信号よりも信号長の短い第２の信号に符号化する信号処理部と、前記第２の信号の各信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けることで、１以上の第２のデータを生成するデータ生成部と、生成された１以上の前記第２のデータそれぞれを、ネットワークを介して接続された１以上の装置に送信する送信部と、を備える、情報処理装置【選択図】図２
2018093325.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号を、所定の条件に応じて生成された行列に基づき、前記第１の信号よりも信号長の短い第２の信号に符号化する信号処理部と、
前記第２の信号の各信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けることで、１以上の第２のデータを生成するデータ生成部と、
生成された１以上の前記第２のデータそれぞれを、ネットワークを介して接続された１以上の装置に送信する送信部と、
を備える、情報処理装置。
【請求項２】
前記データ生成部は、前記第２のデータに対して、送信元を示す情報を関連付ける、請求項１に記載の情報処理装置。
【請求項３】
前記データ生成部は、前記第２のデータに対して、前記行列の各行成分のうち当該第２のデータに関連付けられた前記信号要素に対応する行成分を特定するための識別情報を関連付ける、請求項１に記載の情報処理装置。
【請求項４】
前記データ生成部は、前記第２のデータに対して、前記行列を特定するための識別情報を関連付ける、請求項１に記載の情報処理装置。
【請求項５】
前記第２の信号の信号長は、前記第１の信号の信号長と、前記第１のデータに応じた圧縮率と、に基づき決定される、請求項１に記載の情報処理装置。
【請求項６】
前記第１の信号は、前記第１のデータを入力とした所定の演算処理に基づき生成される、請求項１に記載の情報処理装置。
【請求項７】
前記行列は、乱数の算出結果に基づき生成される、請求項１に記載の情報処理装置。
【請求項８】
前記データ生成部は、複数の前記第２のデータを生成し、
前記送信部は、生成された複数の前記第２のデータのそれぞれを、複数の前記装置のうち少なくともいずれかの装置に送信する、
請求項１に記載の情報処理装置。
【請求項９】
前記第１のデータは、画像データである、請求項１に記載の情報処理装置。
【請求項１０】
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第１の信号よりも信号長の短い第２の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置から取得する取得部と、
取得された１以上の前記第２のデータと、前記行列の各行成分のうち少なくとも当該第２のデータに関連付けられた前記信号要素に対応する行成分に応じた制約条件と、に基づき、前記第１のデータを復号する信号処理部と、
を備える、情報処理装置。
【請求項１１】
前記取得部は、共通の送信元を示す情報が関連付けられた１以上の前記第２のデータを、前記１以上の装置から取得する、請求項１０に記載の情報処理装置。
【請求項１２】
前記信号処理部は、前記第１の信号における前記非ゼロ成分の数と前記ゼロ成分の数とに基づく係数と、前記第１の信号の信号長と前記第２の信号の信号長とに基づく圧縮率と、前記第２のデータの取得結果に応じた前記信号要素の数と、に基づき、前記第１のデータを復号することが可能か否かを判定する、請求項１０に記載の情報処理装置。
【請求項１３】
前記信号処理部は、前記係数と、前記圧縮率と、前記取得結果に応じた前記信号要素の数と、前記第１のデータの復号に対して許容される信号対雑音比と、に基づき、前記第１のデータを復号することが可能か否かを判定する、請求項１２に記載の情報処理装置。
【請求項１４】
前記信号処理部は、前記第２のデータに関連付けられた識別情報に基づき、前記行列のうち少なくとも当該第２のデータに関連付けられた前記信号要素に対応する行成分を特定する、請求項１０に記載の情報処理装置。
【請求項１５】
前記信号処理部は、前記第２のデータに関連付けられた識別情報に基づき、前記行列を特定する、請求項１０に記載の情報処理装置。
【請求項１６】
前記取得部は、ネットワークを介して接続された複数の装置それぞれから、複数の前記第２のデータのうち少なくとも一部の前記第２のデータを取得する、請求項１０に記載の情報処理装置。
【請求項１７】
コンピュータが、
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号を、所定の条件に応じて生成された行列に基づき、前記第１の信号よりも信号長の短い第２の信号に符号化することと、
前記第２の信号の各信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置に送信することと、
を含む、情報処理方法。
【請求項１８】
コンピュータが、
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第１の信号よりも信号長の短い第２の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置から取得することと、
取得された１以上の前記第２のデータと、前記行列に応じた制約条件と、に基づき、前記第１のデータを復号することと、
を含む、情報処理方法。
【請求項１９】
コンピュータに、
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号を、所定の条件に応じて生成された行列に基づき、前記第１の信号よりも信号長の短い第２の信号に符号化することと、
前記第２の信号の各信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置に送信することと、
を実行させるプログラムが記録された記録媒体。
【請求項２０】
コンピュータに、
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第１の信号よりも信号長の短い第２の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置から取得することと、
取得された１以上の前記第２のデータと、前記行列に応じた制約条件と、に基づき、前記第１のデータを復号することと、
を実行させるプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、通信技術の発展に伴い、スマートフォンやタブレット端末等のような通信端末による各種データの保存先として、当該端末に内蔵または装着された記録メディア（例えば、ＳＤメモリーカード等）に限らず、所謂クラウドストレージのようなネットワーク上の記憶領域も利用可能となってきている。
【０００３】
また、上述したようなネットワークストレージとして、複数の通信端末との間の通信に伴うネットワークの輻輳の影響を回避または軽減するために、所謂分散技術が導入された分散ストレージシステムも各種提案されている。例えば、特許文献１には、分散ストレージシステムを実現するための技術の一例が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５４９８８７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方で、分散ストレージシステムにおいては、一部のサーバ（ストレージノード）やネットワークパスの故障等により、ネットワークストレージへのデータの記録や、ネットワークストレージからのデータの読み出しが困難となる場合が想定され得る。そのため、分散ストレージシステムにおいては、所謂ＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）等のようなデータを再構成するための技術の導入、ストレージノードの追加、及び、当該追加に伴うストレージノードの保守等の対策が必要となる場合がある。
【０００６】
このような状況から、分散ストレージシステムにおいては、当該システムの運用に係るコストが比較的高くなる傾向にある。特に、近年では、分散ストレージシステムの規模は増大する傾向にあり、システムの運用に係るコストもさらに増大することが見込まれる。
【０００７】
そこで、本開示では、各種データの保存先としてネットワーク上の記憶領域が利用される状況下において、システムの運用の継続性と運用コストの低減とを両立することが可能な、情報処理装置、情報処理方法、及び記録媒体を提案する。
【課題を解決するための手段】
【０００８】
本開示によれば、第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号を、所定の条件に応じて生成された行列に基づき、前記第１の信号よりも信号長の短い第２の信号に符号化する信号処理部と、前記第２の信号の各信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けることで、１以上の第２のデータを生成するデータ生成部と、生成された１以上の前記第２のデータそれぞれを、ネットワークを介して接続された１以上の装置に送信する送信部と、を備える、情報処理装置が提供される。
【０００９】
また、本開示によれば、第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第１の信号よりも信号長の短い第２の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置から取得する取得部と、取得された１以上の前記第２のデータと、前記行列の各行成分のうち少なくとも当該第２のデータに関連付けられた前記信号要素に対応する行成分に応じた制約条件と、に基づき、前記第１のデータを復号する信号処理部と、を備える、情報処理装置が提供される。
【００１０】
また、本開示によれば、コンピュータが、第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号を、所定の条件に応じて生成された行列に基づき、前記第１の信号よりも信号長の短い第２の信号に符号化することと、前記第２の信号の各信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置に送信することと、を含む、情報処理方法が提供される。
【００１１】
また、本開示によれば、コンピュータが、第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第１の信号よりも信号長の短い第２の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置から取得することと、取得された１以上の前記第２のデータと、前記行列に応じた制約条件と、に基づき、前記第１のデータを復号することと、を含む、情報処理方法が提供される。
【００１２】
また、本開示によれば、コンピュータに、第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号を、所定の条件に応じて生成された行列に基づき、前記第１の信号よりも信号長の短い第２の信号に符号化することと、前記第２の信号の各信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置に送信することと、を実行させるプログラムが記録された記録媒体が提供される。
【００１３】
また、本開示によれば、コンピュータに、第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第１の信号よりも信号長の短い第２の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置から取得することと、取得された１以上の前記第２のデータと、前記行列に応じた制約条件と、に基づき、前記第１のデータを復号することと、を実行させるプログラムが記録された記録媒体が提供される。
【発明の効果】
【００１４】
以上説明したように本開示によれば、各種データの保存先としてネットワーク上の記憶領域が利用される状況下において、システムの運用の継続性と運用コストの低減とを両立することが可能な、情報処理装置、情報処理方法、及び記録媒体が提供される。
【００１５】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１６】
【図１】本開示の一実施形態に係る情報処理システムの概略的なシステム構成の一例について示した図である。
【図２】同実施形態に係る情報処理システムの動作の基本原理について説明するための説明図である。
【図３】同実施形態に係る情報処理システムにおける、符号化前後のデータと当該符号化のための情報との一例を示した図である。
【図４】リーフレットの生成方法の概要について説明するための説明図である。
【図５】観測行列の生成に用いられる乱数表の一例を示している。
【図６】観測行列の生成に用いられる乱数表の一例を示している。
【図７】リーフレットのデータ構造の一例を示した図である。
【図８】リーフレットのデータの一例を示した図である。
【図９】Scatterの役割を担うノードについて説明するための説明図である。
【図１０】Scatterの役割を担うノードについて説明するための説明図である。
【図１１】Holderの役割を担うストレージノードについて説明するための説明図である。
【図１２】Holderの役割を担うストレージノードについて説明するための説明図である。
【図１３】Rakerの役割を担うノードについて説明するための説明図である。
【図１４】実施形態に係る情報処理システムの機能構成の一例について示したブロック図である。
【図１５】同実施形態に係る符号化処理装置の一連の処理の流れの一例を示したフローチャートである。
【図１６】同実施形態に係る復号処理装置の一連の処理の流れの一例を示したフローチャートである。
【図１７】同実施形態に係る情報処理システムの実施例について説明するための説明図である。
【図１８】原信号を再構成可能か否かを判断するための判断条件の一例について説明するための説明図である。
【図１９】変形例２に係る情報処理システムのシステム構成の一例を示した図である。
【図２０】同実施形態に係る情報処理システムを構成する情報処理装置のハードウェア構成の一例を示す機能ブロック図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１８】
なお、説明は以下の順序で行うものとする。
１．はじめに
１．１．システム構成
１．２．ネットワークストレージシステムに関する検討
２．技術的特徴
２．１．システムの論理的な構成
２．２．圧縮センシング
２．３．リーフレット
２．４．リーフレットの配信（Scatter）
２．５．リーフレットの保持（Holder）
２．６．リーフレットの回収（Raker）
２．７．機能構成
２．８．処理
３．実施例
４．変形例
４．１．変形例１：原信号を再構成可能か否かの判断条件の一例
４．２．変形例２：システム構成の一例
４．３．変形例３：Scatterの役割を担うストレージノードの動作の一例
５．ハードウェア構成
６．むすび
【００１９】
＜＜１．はじめに＞＞
＜１．１．システム構成＞
まず、図１を参照して、本開示の一実施形態に係る情報処理システムの概略的なシステム構成の一例について説明する。図１は、本開示の一実施形態に係る情報処理システムの概略的なシステム構成の一例について示した図である。
【００２０】
図１に示すように、本実施形態に係る情報処理システム１は、複数の情報処理装置１００と、１以上の端末装置２００とを含む。情報処理装置１００は、所定のネットワークを介して端末装置２００と通信可能に構成されている。即ち、図１に示す例では、例えば、情報処理装置１００がサーバとして動作し、端末装置２００がクライアントとして当該情報処理装置１００にネットワークを介して接続される。また、情報処理装置１００は、所定のネットワークを介して他の情報処理装置１００と通信可能に構成されていてもよい。なお、情報処理装置１００と端末装置２００との間のネットワークの種別や、複数の情報処理装置１００間のネットワークの種別は特に限定されない。例えば、当該ネットワークは、インターネット、専用線、ＬＡＮ（Local  Area  Network）、または、ＷＡＮ（Wide  Area  Network）等により構成されていてもよい。また、当該ネットワークは、無線のネットワークにより構成されていてもよく、有線のネットワークにより構成されていてもよい。また、当該ネットワークは、複数のネットワークを含んでもよく、少なくとも一部が有線のネットワークとして構成されていてもよい。
【００２１】
このような構成の基で、本実施形態に係る情報処理システム１では、各情報処理装置１００は、端末装置２００に対して各種ネットワークサービスを提供する。また、当該情報処理システム１では、複数の情報処理装置１００が一連のサーバ群１０として動作することで、端末装置２００に対して各種ネットワークサービス（例えば、クラウドサービス）を提供してもよい。
【００２２】
特に、本実施形態に係る情報処理システム１は、複数の情報処理装置１００のうち少なくとも一部の情報処理装置１００がストレージノードとして動作することで、ネットワーク上の記憶領域を利用可能とするネットワークストレージサービス（例えば、クラウドストレージサービス）を提供する。具体的な一例として、ストレージノードとして動作する情報処理装置１００は、例えば、他の装置（例えば、端末装置２００や他の情報処理装置１００）から送信された保存対象となるデータを取得し、取得したデータを所定の記憶領域に保持する。また、ストレージノードとして動作する情報処理装置１００は、他の装置（例えば、端末装置２００や他の情報処理装置１００）からの依頼に基づき、所定の記憶領域に保持されたデータを読み出し、当該データを依頼元となる装置に送信する。このような構成により、端末装置２００は、各種データの保存先として、自身に内蔵または装着された記録メディア（例えば、ＳＤメモリーカード等）に限らず、ネットワーク上の記憶領域を利用することが可能となる。
【００２３】
また、本実施形態に係る情報処理システム１は、ストレージノードとして動作する２以上の情報処理装置１００にデータを分散させて記憶させる、所謂分散ストレージシステムとして構成されていてもよい。なお、分散ストレージシステムの説明については別途後述する。このように、情報処理システム１が分散ストレージシステムとして構成されることで、ネットワークストレージを利用する端末装置２００の数が増大したとしても、ネットワークの輻輳に伴う影響を回避または軽減することが可能となる。
【００２４】
なお、図１に示した情報処理システム１のシステム構成はあくまで一例であり、ネットワークを介して接続された複数の装置に基づきネットワークストレージサービスを提供することが可能であれば、情報処理システム１のシステム構成は限定されない。なお、本実施形態に係る情報処理システム１のシステム構成の他の一例については変形例として別途後述する。
【００２５】
以上、図１を参照して、本開示の一実施形態に係る情報処理システムの概略的なシステム構成の一例について説明した。
【００２６】
＜１．２．ネットワークストレージシステムに関する検討＞
続いて、ネットワークストレージシステムについて概要を説明したうえで、本実施形態に係る情報処理システム１の技術的課題について整理する。
【００２７】
前述したように、端末装置２００（例えば、スマートフォンやタブレット端末等のような通信端末）による各種データの保存先として、当該端末装置２００に内蔵または装着された記録メディアに限らず、クラウドストレージのようなネットワーク上の記憶領域を利用することが可能となってきている。このような仕組みが提供されることで、例えば、ユーザは、スマートフォン等の端末に内蔵されたカメラにより撮像した画像のデータを、ネットワーク上の記憶領域に保存することも可能となる。
【００２８】
ここで、クラウドストレージについて概要を説明する。クラウドストレージは、例えば、ネットワーク上にセンターサーバを配置し、あらかじめ登録されたクライアント（換言すると、ユーザ）に対して専用の暗号化プロトコルに基づき各種データをアップロード及びダウンロードできる仕組みを提供する。即ち、クラウドストレージは、所謂クライアント・サーバ方式を基軸としてセキュリティ対策を施したデータストレージシステムに相当する。
【００２９】
また、画像データ等のような大容量のデータを１対１のトランザクションで通信するクライアント・サーバ方式のネットワークストレージシステムにおいては、複数のクライアントからの要求を受け付ける場合に、ネットワークの輻輳が生じ、当該クライアントとの通信に影響が生じる場合がある。このような状況から、近年では、データを複数のストレージノードに分散して記憶させることでネットワークの輻輳の影響を回避または軽減させる、所謂分散技術が導入された分散ストレージシステムも各種提案されている。
【００３０】
一方で、分散ストレージシステムにおいては、ストレージノードの故障やネットワークパスの故障に伴い、一部のストレージノードに対するアクセスが制限されるような状況が想定され得る。このような場合には、アクセスが制限されたストレージノードへのデータの記録や、当該ストレージノードに記録されたデータの読み出しが困難となり、ひいてはネットワークストレージシステム自体を利用することが困難となる場合もある。そのため、分散ストレージシステムにおいては、運用の継続性を実現するために、ＲＡＩＤ等のようなデータを再構成するための技術の導入、ストレージノードの追加、及び、当該追加に伴うストレージノードの保守等の対策が必要となる場合がある。
【００３１】
このような状況から、分散ストレージシステムにおいては、当該システムの運用に係るコストが比較的高くなる傾向にある。特に、近年では、所謂ビックデータの活用が求められており、分散ストレージシステムの規模も増大する傾向にあるため、システムの運用に係るコストもさらに増大することが見込まれる。
【００３２】
以上のような状況を鑑み、本開示では、各種データの保存先としてネットワーク上の記憶領域が利用される状況下において、システムの運用の継続性と運用コストの低減とを両立することが可能な仕組みの一例について提案する。
【００３３】
＜＜２．技術的特徴＞＞
以下に、本実施形態に係る情報処理システム１の技術的特徴について説明する。
【００３４】
＜２．１．システムの論理的な構成＞
まず、図２を参照して、本実施形態に係る情報処理システム１の論理的な構成の一例について説明する。図２は、本実施形態に係る情報処理システム１の動作の基本原理について説明するための説明図であり、当該情報処理システム１の論理的な構成の一例を示している。
【００３５】
図２に示すように、情報処理システム１は、符号化処理装置３００と、復号処理装置４００と、保持装置５００とを含む。また、情報処理システム１を構成する各装置は、「Scatter」、「Holder」、及び「Raker」の３つの役割のうち少なくともいずれかの役割を担う。なお、「Scatter」、「Holder」、及び「Raker」のそれぞれについては別途後述する。
【００３６】
符号化処理装置３００は、ネットワークストレージへの保存対象となるデータに対して、所定の条件に基づき生成された情報（例えば、乱数）に基づき符号化処理を施すことで１以上のデータ片を生成し、各データ片を１以上の保持装置５００に配信する。このとき、符号化処理装置３００は、各データ片の配信先となる保持装置５００を、任意のプロトコルで決められたルールに基づき決定してもよいし、ランダムに決定してもよい。なお、生成された１以上のデータ片を、他の装置（例えば、保持装置５００）に配信する役割が、「Scatter」に相当する。即ち、符号化処理装置３００は、「Scatter」の役割を担う。また、以降の説明では、当該データ片を「リーフレット」とも称する。なお、リーフレットの詳細については別途後述する。
【００３７】
保持装置５００は、分散ストレージシステムにおいて各種データを保持するストレージノードに相当する。具体的には、符号化処理装置３００により配信された１以上のリーフレットを、当該符号化処理装置３００または他の保持装置５００から取得する。なお、保持装置５００は、取得したリーフレットを、自身の状態（例えば、内部状態）に応じて保持、破棄、または他の保持装置５００へ転送してもよい。具体的な一例として、保持装置５００は、取得したリーフレットを、自身に関連付けられた記憶領域に保持してもよい。また、保持装置５００は、取得したリーフレットや、当該記憶領域に保持された少なくとも一部のリーフレットを、他の保持装置５００に転送してもよいし、破棄してもよい。このように、保持装置５００は、自身に配信されたリーフレットの取扱いを、他の装置に依存することなく独立して決定してもよい。換言すると、前述した符号化処理装置３００は、リーフレットの転送先となる保持装置５００の動作や状態を必ずしも認識する必要がなく、各リーフレットの配信先を把握する必要もない。なお、配信されたリーフレットを保持する役割が「Holder」に相当する。即ち、保持装置５００は、「Holder」の役割を担う。また、上述したように、保持装置５００は、リーフレットを他の保持装置５００に転送してもよいため、「Scatter」の役割を担い得る。
【００３８】
復号処理装置４００は、１以上の保持装置５００それぞれから、当該保持装置５００により保持されたリーフレットを回収する。具体的な一例として、復号処理装置４００は、任意のブロードキャストまたはマルチキャストのプロトコルにより、反応した保持装置５００から当該保持装置５００が保持するリーフレットを回収してもよい。なお、各保持装置５００（Holder）が保持するリーフレットを回収する役割が「Raker」に相当する。即ち、復号処理装置４００は、「Raker」の役割を担う。
【００３９】
そして、復号処理装置４００は、回収したリーフレットに基づき、元となるデータを復号する。なお、このとき復号処理装置４００は、必ずしも元データが符号化されることで生成されたすべてのリーフレットを回収する必要がなく、所定の条件を満たせば一部のリーフレットのみからでも元データを復号することが可能である。なお、本機能を実現するための符号化処理及び復号処理の詳細については別途後述する。
【００４０】
以上のような構成に基づき、本実施形態に係る情報処理システム１は、以下に示すような特徴を有する。
・特徴１：配信元となるノード（即ち、符号化処理装置３００や保持装置５００）は、どの配信先に各リーフレットが存在するかを認識する必要が無い。
・特徴２：各ストレージノード（保持装置５００）は、他の装置の状態に依存することなく、独立して動作することが可能である。
・特徴３：リーフレットから元データの復元には、当該リーフレットの生成時に使用した符号化のための情報（乱数）を要し、リーフレットのみでは元データを復元することが困難であるため、情報の秘匿性を担保することが可能である。
・特徴４：元データの復元時に、必ずしもリーフレットが配信されたすべてのストレージノード（保持装置５００）が動作している必要はないため、個々のストレージノードの保守を、他のストレージノードに依存することなく独立して行うことが可能である。
【００４１】
なお、符号化処理装置３００、復号処理装置４００、及び保持装置５００は、例えば、図１に示した複数の情報処理装置１００のうち少なくともいずれかにより実現され得る。換言すると、複数の情報処理装置１００のうち少なくともいずれかが、「Scatter」、「Holder」、及び「Raker」の３つの役割のうち少なくともいずれかの役割を担うことが可能である。即ち、本実施形態に係る情報処理システム１において、情報処理装置１００は、リーフレットの取扱いに関する状態として、「保持」、「破棄」、「転送」、「配信」、及び「回収」の５つの状態を取ることが可能である。なお、「Scatter」、「Holder」、及び「Raker」の３つの役割と、「保持」、「破棄」、「転送」、「配信」、及び「回収」の５つの状態との対応関係は以下の通りである。
・Scatter：配信、転送
・Holder：保持、破棄
・Raker：回収
【００４２】
なお、情報処理装置１００は、符号化処理装置３００、復号処理装置４００、及び保持装置５００それぞれのうち複数の装置の役割を担ってもよい。具体的な一例として、一部の情報処理装置１００は、符号化処理装置３００として動作するとともに、保持装置５００として動作してもよい。また、他の一例として、一部の情報処理装置１００は、符号化処理装置３００として動作するとともに、復号処理装置４００として動作してもよい。
【００４３】
以上、図２を参照して、本実施形態に係る情報処理システム１の論理的な構成の一例について説明した。
【００４４】
＜２．２．圧縮センシング＞
続いて、本実施形態に係る情報処理システム１におけるデータの符号化及び復号を実現するための技術について説明する。本実施形態に係る情報処理システム１では、データの符号化及び復号に、圧縮センシング（Compressed  sensing）と呼ばれる技術を利用する。
【００４５】
圧縮センシングとは、スパースに表現可能な信号に対して、わずかな観測結果から元となる信号（以降では、「原信号」とも称する）の再構成を可能とするパラダイムである。例えば、圧縮センシングに関する参考文献として、参考文献１：「EJ  Candes、外２名、“Robust  Uncertainty  Principles:  Exact  Signal  Reconstruction  From  Highly  Incomplete  Frequency  Information”、［online］、２００６年２月、IEEE  TRANSACTIONS  ON  INFORMATION  THEORY,  VOL.52,  NO.2、p489−502、［平成２８年１１月１日検索］、インターネット<URL: http://people.ee.duke.edu/~lcarin/01580791.pdf>」が挙げられる。参考文献１によると、原画像の空間変化率がスパースである（まばらである）ことを前提として、ナイキストレートのおよそ１／５０のサンプリングにより、原画像を完全復元することが可能な例が示されている。
【００４６】
また、他の参考文献として、参考文献２：「Gang Huang、外３名、“Lensless  Compressive  Sensing  Imaging” 、［online］、２０１３年１月、Bell  Labs.,  Alcatel−Lucent,  Murray  Hill,  NJ,  USA、［平成２８年１１月１日検索］、インターネット<URL: https://arxiv.org/ftp/arxiv/papers/1302/1302.1789.pdf>」が挙げられる。参考文献２には、ランダムに被写体からの光を遮断・透過できる格子状のAperture  assembly（例えば、透過型ＬＣＤパネル）を利用して、遮断・透過のパターンごとに光を１点に集光し、その先に１個のフォトダイオードなどのセンサを設置したうえで、集光した光を電気信号として繰り返し読み取るカメラについて開示されている。参考文献２では、このような構成の基で、パターンごとに読み取られた信号値をもとに、圧縮センシングの技法を用いて被写体画像を復元することが可能であることが開示されている。
【００４７】
このように圧縮センシングとは、あるスパースな状態（数学的には適当な基底を用いるとゼロ成分がほとんどであるような状態）の信号に対して、少ない観測数で、元の信号を復元できる数学的理論に基づく考え方である。そこで、以下に、圧縮センシングによる信号の復元について概要レベルで説明する。なお、圧縮センシング自体は上述のように公知であるため、理論の詳細については公知の文献に委ねるものとし、詳細な説明は省略する。
【００４８】
圧縮センシングの問題は、以下に（式１）として示すように、「サンプル数（観測数）Ｍ＜元の信号長Ｎ」を条件とした観測において、非ゼロ成分の数Ｋが少ない場合（即ち、Ｋ−スパースな状態）に、適当な観測行列を用いて元の信号と観測結果とが結びつくとき、元の信号を復元することである。換言すると、圧縮センシングの問題は、スパースな信号ｘを求める連立一次不定方程式の問題とも言える。ここで、観測結果をｙ（Ｍ次元）、元の信号をｘ（Ｎ次元）とし、これらの関係が適当な観測行列Ａに基づき表すことが可能な問題を考える。
【００４９】
【数１】
2018093325.tif 000003
【００５０】
圧縮センシングの問題を解く方法は、以下に（式２）として示すように、観測値による制約のもとで適当なコスト関数Ｊ（ｘ）の最小化（換言すると、正則化）を行うことに帰結することが一般的に知られている。
【００５１】
【数２】
2018093325.tif 000004
【００５２】
なお、コスト関数Ｊ（ｘ）として何を使うかや、制約条件のもとでどのようなアルゴリズムに基づき最小化を行うかという点については、多様な議論が成されている。例えば、参考文献３：「“Imaging  via  Compressive  Sampling”、［online］、２００８年３月、IEEE  SIGNAL  PROCESSING  MAGAZINE、p14、［平成２８年１１月１日検索］、インターネット<URL:http://authors.library.caltech.edu/10093/1/ROMieeespm08.pdf>」では、コスト関数Ｊ（ｘ）と一般的な解法とについて論じられている。具体的には、参考文献３では、画像に対してＤＣＴ等の基底変換を施したものと画素値そのものとの間の変化率をベースにコスト関数を導入し、Ｌ１ノルムの最小化問題を解いている。もちろん、参考文献３が開示する解法はあくまで一例であり、上記（式２）として示した数式の解法は多数存在し、本開示で提案する技術においては、当該解法は必ずしも限定されない。換言すると、本開示は、圧縮センシング全域に共通する一般的性質を適用することで、新たな効果を創出することを目的としている。
【００５３】
ここで、具体的な例について以下に示す。例えば、自然画は、隣接する画素間の相関が強く、画素間の差分をＬ１ノルム最小の目的関数（即ち、上記コスト関数Ｊ（ｘ））とすることで、原画像の復元が可能であることが示されている。ある静止画ｘを適当な観測行列Ａを用いて観測することで、観測結果ｙが得られるものとする。この場合に、（式２）として上述した数式は、以下に（式３）及び（式４）として示す数式で表すことが可能である。
【００５４】
【数３】
2018093325.tif 000005
【００５５】
【数４】
2018093325.tif 000006
【００５６】
なお、上記コスト関数を利用した具体的な例が提示された参考文献として、参考文献４：垣内友希、外１名、“制限されたX線投影における圧縮センシングを用いたCT画像再構成に関する検討”、［online］、２０１５年、第７７回全国大会１Ｓ０５、p2−361−2−362、［平成２８年１１月１日検索］、インターネット<URL: http://www.cc.kyoto-su.ac.jp/~kano/pdf/paper/2015%20IPSJ77%201S-05.pdf>」が挙げられる。なお、上記（式３）及び（式４）に示したコスト関数は、一般的にはTotalVarianceとも称される。以上のように、圧縮センシングは、少ない観測値に基づき、元のデータ（例えば、原画像）を復元するための一般的な技術として知られている。
【００５７】
以上、本実施形態に係る情報処理システム１におけるデータの符号化及び復号を実現するための技術として、圧縮センシングについて概要を説明した。
【００５８】
＜２．３．リーフレット＞
続いて、本実施形態に係る情報処理システム１におけるリーフレットについて概要を説明する。前述したように、本実施形態に係る情報処理システム１では、符号化処理装置３００（Scatter）は、元となるデータに対して符号化処理を施すことで１以上のリーフレットを生成し、生成したリーフレットを任意の保持装置５００（Holder）に配信する。復号処理装置４００（Raker）は、任意の保持装置５００（Holder）から、当該保持装置５００が保持するリーフレットを回収し、回収したリーフレットに基づき元となるデータを復元する。
【００５９】
例えば、図３は、本実施形態に係る情報処理システム１における、符号化前後のデータと当該符号化のための情報との一例を示した図である。図３において、原信号ｘは元となるデータに基づく信号に相当する。また、行列Ａは、原信号ｘを符号化するための情報に相当し、信号ｙは、原信号ｘが行列Ａに基づき符号化された信号に相当する。ここで、信号ｙの各行成分は、原信号ｘと、行列Ａの対応する行成分とに基づき算出される。具体的な一例として、信号ｙの１行目の行成分は、原信号ｘと、行列Ａの１行目の行成分とに基づき算出される。換言すると、信号ｙの各信号成分の当該信号ｙ中の位置を示す情報（即ち、Ｙ座標）は、当該信号成分の生成に用いた、行列Ａの行成分と対応している。そのため、信号ｙの各信号成分の当該信号ｙ中の位置を示す情報に基づき、当該信号成分の生成に際し、行列Ａ中のどの行成分が用いられたかを特定することが可能である。このような特性に基づき、符号化処理装置３００は、原信号ｘを行列Ａに基づき符号化することで算出される信号ｙの信号成分それぞれを、当該信号成分の信号ｙ中における位置（例えば、行）を示す情報と関連付けることでリーフレットを生成する。
【００６０】
次いで、図４を参照して、リーフレットの生成方法の概要について説明する。図４は、リーフレットの生成方法の概要について説明するための説明図である。なお、本説明では、画像データを符号化することでリーフレットを生成する場合を例に説明するが、必ずしも、符号化の対象となるデータを画像データに限定するものではない。
【００６１】
図４に示すように、元となる画像データに基づく原信号ｘ（スパースな信号）に対して、観測行列Ａに基づき符号化処理が施されることで信号ｙが生成され、当該信号ｙの各信号成分ｙｉに基づきリーフレットが生成される。なお、原信号ｘは、例えば、元となる画像データ自体の情報であってもよいし、当該画像データに対して所定の演算処理（例えば、エッジの抽出等のような画像処理）を施すことで得られる情報であってもよい。また、原信号ｘと観測行列Ａとに基づき、信号ｙを生成する方法については、（式１）を参照して前述したとおりである。
【００６２】
また、観測行列Ａとしては、例えば、各成分を再現可能な疑似乱数生成器に基づき生成された係数行列を適用することが可能である。なお、再現可能な（例えば、周期性をもつ）疑似乱数生成器は多数存在するが、簡単な例として、リーフレットを生成するノード（例えば、符号化処理装置３００）に対してあらかじめ乱数表を保持させることで実現してもよい。
【００６３】
例えば、図５及び図６は、観測行列Ａの生成に用いられる乱数表の一例を示している。例えば、図５に示す例は、０〜２の実数乱数を用いた乱数表の一例を示している。また、図６に示す例は、０または１の乱数を用いた乱数表の一例である。もちろん、図５及び図６に示す例はあくまで一例であり、観測行列Ａの各成分を再現可能であれば、当該観測行列Ａの生成に用いられる乱数の種別は特に限定されない。また、観測行列Ａについては、各成分を再現可能であればよく、観測行列Ａの生成方法は、必ずしも乱数に基づく生成方法のみには限定されない。
【００６４】
続いて、図７及び図８を参照して、リーフレットのデータ構造（フォーマット）の一例について説明する。図７は、リーフレットのデータ構造の一例を示した図である。また、図８は、リーフレットのデータの一例を示した図である。
【００６５】
図７に示すように、リーフレットのデータ構造（フォーマット）は、ヘッダ部とペイロード部とを含む。ヘッダ部には、主にリーフレットに関する各種制御情報が含まれる。具体的な一例として、ヘッダ部には、ノード識別子と、システムオプションを示す情報とが含まれる。また、ペイロード部には、リーフレット生成ＩＤと、Ｙ座標を示す情報と、Ｙ値を示す情報とが含まれる。
【００６６】
ノード識別子は、原信号ｘを保有するノード（例えば、符号化処理装置３００）を特定するための識別子を示している。ノード識別子の具体的な一例としては、例えば、図８に示すように、原信号ｘを保有するノードのＩＰアドレスが挙げられる。もちろん、原信号ｘを保有するノードを特定することが可能であれば、ノード識別子として保持される情報の種別は特に限定されない。
【００６７】
Ｙ値を示す情報は、ｘ信号が観測行列Ａに基づき符号化されることで生成されたｙ信号の信号成分ｙｉに相当する。また、Ｙ座標を示す情報は、Ｙ値を示す情報としてリーフレットに関連付けられた当該信号成分ｙｉの、ｙ信号中における位置（即ち、ｙ＝Ａｘの行番号）を示している。
【００６８】
リーフレット生成ＩＤは、ｙ信号の生成に利用した観測行列Ａの係数（乱数）パターンを特定するための情報である。具体的な一例として、リーフレット生成ＩＤは、ｙ信号の生成に利用した観測行列Ａのうち、Ｙ値（即ち、信号成分ｙｉ）の算出に用いた行成分の係数パターンを特定するための情報（例えば、図５及び図６に示した乱数のパターンＩＤ等）であってもよい。また、他の一例として、リーフレット生成ＩＤは、ｙ信号の生成に利用した観測行列Ａ自体を特定するための情報であってもよい。
【００６９】
システムオプションは、補足的に付加される任意の情報を示している。例えば、HolderやRakerの役割を担う他のノード（例えば、保持装置５００や復号処理装置４００）がリーフレットの取扱いに利用可能な情報等が、システムオプションとしてリーフレットに関連付けられてもよい。より具体的な一例として、リーフレットがストレージ上に滞在する期間、リーフレットのライフタイム等のような、システム制御に利用可能な情報や、拡張変数に相当する情報等が、システムオプションとしてリーフレットに関連付けられてもよい。
【００７０】
また、図７に示す例では、１つのリーフレットのデータ構造に対して１つのペイロード部が設けられている例について示しているが、１つのリーフレットに対して複数のペイロード部が設けられていてもよい。このような場合には、例えば、ペイロード部が複数含まれていることを示す情報、ペイロード部の数、複数連続して結合されたペイロード部それぞれの開始位置等のような拡張指示子が、システムオプションとしてリーフレットに関連付けられてもよい。
【００７１】
このように、リーフレットは、元となるデータに基づく原信号ｘに対して、再現可能な乱数を係数として構成される観測行列Ａを乗じることで得られるｙ信号の信号成分ｙｉそれぞれに対して、当該信号成分ｙｉのＹ座標を関連付けてパッケージ化することで生成される。
【００７２】
以上、図３〜図８を参照して、リーフレットの生成に係る処理について説明した。
【００７３】
＜２．４．リーフレットの配信（Scatter）＞
続いて、Scatterの役割を担うノードによるリーフレットの配信に係る処理について説明する。例えば、図９及び図１０は、Scatterの役割を担うノードについて説明するための説明図であり、リーフレットの配信に係る処理の概要について示している。
【００７４】
図９に示すように、Scatterの役割を担うノード（例えば、符号化処理装置３００や保持装置５００）は、ランダムに選ばれたストレージノードや、あらかじめ転送プロトコル等で決められたストレージノードにリーフレットを配信または転送する。また、リーフレットの配信元となる各ノードは、当該リーフレットの配信先となるストレージノードを決定する転送プロトコルを、状況に応じて自由に決定してもよい。即ち、リーフレットの転送先の決定について自由度を有するという点が、本実施形態に係る情報処理システム１の特徴の１つでもある。なお、詳細は後述するが、リーフレットが重複して転送されたとしても、当該リーフレットに基づく原信号ｘの復元には影響しない。このような構成により、例えば、各ストレージノードの記憶領域の容量に応じて、リーフレットを比例分配されるように転送プロトコルを定義することも可能となる。
【００７５】
また、図１０に示すように、本実施形態に係る情報処理システム１では、リーフレットが配信された各ストレージノードは、新たなScatterとして、当該リーフレットを他のストレージノード（例えば、他の保持装置５００）に転送してもよい。即ち、リーフレットが配信された各ストレージノードは、状況に応じてリーフレットの転送制御を各自が独立して行ってもよい。また、リーフレットが配信された各ストレージノードは、当該リーフレットを保持したうえで、当該リーフレットの複製を他のストレージノードに転送してもよい。
【００７６】
具体的な一例として、図１０に示す例では、符号化処理装置３００は、1st  Scatterとして、生成したリーフレットｙ１を保持装置５００ａに配信し、リーフレットｙ２を保持装置５００ｂに配信している。また、符号化処理装置３００からリーフレットｙ１の配信を受けた保持装置５００ａは、2nd  Scatterとして、当該リーフレットｙ１を保持装置５００ｅ及び５００ｇに転送している。同様に、保持装置５００ａからリーフレットｙ１が転送された保持装置５００ｅは、3rd  Scatterとして、当該リーフレットｙ１を保持装置５００ｆに転送している。このとき、保持装置５００ａ、５００ｅ、５００ｇ、及び５００ｆのそれぞれは、配信または転送されたリーフレットｙ１を保持してもよい。これにより、リーフレットｙ１は、保持装置５００ａ、５００ｅ、５００ｇ、及び５００ｆに点在することとなる。なお、符号化処理装置３００からリーフレットｙ２の配信を受けた保持装置５００ｂについても、保持装置５００ａと同様に、2nd  Scatterとして、当該リーフレットｙ２を他の保持装置５００に転送してもよい。
【００７７】
このように、少なくとも一部のリーフレットについて重複を許す（即ち、リーフレットの複製を可能とする）ことで、各ストレージノードそれぞれにおけるリーフレットの取扱いに関して自由度を上げることが可能となり、さらにリーフレットの拡散性及び分散性をさらに向上させることが可能となる。
【００７８】
以上、図９及び図１０を参照して、Scatterの役割を担うノードによるリーフレットの配信に係る処理について説明した。
【００７９】
＜２．５．リーフレットの保持（Holder）＞
続いて、Holderの役割を担うストレージノードの構成の一例について説明する。例えば、図１１及び図１２は、Holderの役割を担うストレージノードについて説明するための説明図である。
【００８０】
前述したように、Holderの役割を担うストレージノード（例えば、保持装置５００）は、Scatterの役割を担うノードからリーフレットの配信または転送を受けて、当該リーフレットを保持する。そのため、Holderの役割を担うストレージノードは、配信または転送されたリーフレットを保持するための記憶領域を有する。なお、当該記憶領域としては、リーフレットを少なくとも１つ保持することが可能な容量が確保されていればよく、デバイスの種別も特に限定されない。具体的な一例として、図１１の参照符号５１０ｂに示すように、Holderの役割を担うストレージノードの記憶領域が、少なくとも１つのリーフレットを保持することが可能なＦＩＦＯ（First−In  First−Out）型のメモリとして構成されていてもよい。また、他の一例として、図１１の参照符号５１０ａに示すように、Holderの役割を担うストレージノードの記憶領域が、複数のリーフレットを保持することが可能なメモリとして構成されていてもよい。
【００８１】
また、図１２に示すように、Holderの役割を担うストレージノードは、Scatterの役割を担ってもよい。即ち、当該ストレージノードは、配信または転送されたリーフレットを自身の記憶領域に保持し、自身の都合で、当該リーフレット自体または当該リーフレットの複製を、他のストレージノードに転送してもよい。
【００８２】
以上、図１１及び図１２を参照して、Holderの役割を担うストレージノードの構成の一例について説明した。
【００８３】
＜２．６．リーフレットの回収（Raker）＞
続いて、Rakerの役割を担う装置によるリーフレットの回収に係る処理について説明する。例えば、図１３は、Rakerの役割を担うノードについて説明するための説明図であり、リーフレットの配信に係る処理の概要について示している。
【００８４】
Rakerの役割を担うノード（例えば、復元処理装置４００）は、ネットワーク上の各ストレージノード（例えば、保持装置５００）からリーフレットをかき集めて、当該リーフレットに基づき元となるデータを再構成（復号）する。なお、リーフレットの生成元であるノード（即ち、符号化処理装置３００）が、Rakerの役割を担ってもよい。
【００８５】
具体的な一例として、図１３に示すように、Rakerの役割を担うノードは、所定のプロトコルに基づき各ストレージノードに対してブロードキャスト（または、マルチキャスト）を行うことで、当該ストレージノードが保持するリーフレットの送信を呼びかけてもよい。このとき、Rakerの役割を担うノードは、ノード識別子や、システムオプションに含まれる情報（例えば、ユニークな識別子等）等に基づく条件を指定することで、送信対象となるリーフレットを指定してもよい。このような構成により、Rakerの役割を担うノードは、当該ブロードキャストに反応したストレージノードからリーフレットを回収することが可能となる。
【００８６】
また、他の一例として、各ストレージノード（例えば、保持装置５００）が、各リーフレットの転送先を示すアクセスリストを生成しておくことで、Rakerの役割を担うノードは、当該アクセスリストに基づきリーフレットを回収してもよい。例えば、参考文献５：特開２００３−６０８７号公報には、当該アクセスリストの生成に係る技術と、当該アクセスリストを利用することで対象となるコンテンツのダウンロードを可能とする技術と、が開示されており、当該技術をリーフレットの回収に応用してもよい。
【００８７】
また、図１３に示すように、Rakerの役割を担うノードから各ストレージノードに向けたブロードキャストが多層化されてもよい。即ち、Rakerの役割を担うノードからのブロードキャストが、１以上のストレージノードを介して他のストレージノードに送信されてもよい。このような構成により、Rakerの役割を担うノードは、より多くのストレージノードに対して、リーフレットの送信を呼びかけることが可能となる。
【００８８】
なお、上記ブロードキャストを受けたストレージノードは、Rakerの役割を担うノードに対して、リーフレットを直接送信（ユニキャスト）してもよい。また、Rakerの役割を担うノードの負荷を軽減するために、ブロードキャストの発信元にリーフレットを転送するプロトコル等が新たに規定されてもよい。
【００８９】
そして、Rakerの役割を担うノードは、回収したリーフレットを利用して、前述した圧縮センシング技術に基づき、元となるデータ（例えば、画像データ）を復号する。回収されたリーフレットから元となるデータの復号する処理については、詳細を別途後述する。
【００９０】
以上、図１３を参照して、Rakerの役割を担う装置によるリーフレットの回収に係る処理について説明した。
【００９１】
＜２．７．機能構成＞
続いて、本実施形態に係る情報処理システム１の機能構成の一例について、特に、Scatterの役割を担う符号化処理装置３００と、Rakerの役割を担う復号処理装置４００とに着目して説明する。例えば、図１４は、本実施形態に係る情報処理システム１の機能構成の一例について示したブロック図であり、符号化処理装置３００と復号処理装置４００とのそれぞれの機能構成の一例を示している。なお、本説明では、撮像部２５０により撮像された画像データに基づくスパースな原信号ｘを符号化の対象とするものとして説明する。
【００９２】
（ａ）符号化処理装置（Scatter）
まず、Scatterの役割を担う符号化処理装置３００の機能構成の一例について説明する。図１４に示すように、符号化処理装置３００は、疑似乱数生成部３０１と、観測行列生成部３０３と、符号化処理部３０５と、リーフレット生成部３０７と、リーフレット配信部３０９とを含む。
【００９３】
疑似乱数生成部３０１は、前述した再現可能な疑似乱数生成器に相当する。疑似乱数生成部３０１は、あらかじめ決められた条件に基づき再生可能な疑似乱数を生成し、生成した疑似乱数を観測行列生成部３０３に出力する。また、疑似乱数生成部３０１は、図５及び図６を参照して説明したように、あらかじめ生成された乱数表を保持し、当該乱数表に基づき疑似乱数を観測行列生成部３０３に出力してもよい。
【００９４】
観測行列生成部３０３は、疑似乱数生成部３０１から出力される疑似乱数に基づき、図３を参照して説明した観測行列Ａを生成し、生成した観測行列Ａを符号化処理部３０５に出力する。
【００９５】
符号化処理部３０５は、疑似乱数に基づき生成された観測行列Ａを観測行列生成部３０３からあらかじめ取得して保持する。また、符号化処理部３０５は、符号化の対象となる信号として、撮像部２５０により撮像された画像データに基づくスパースな原信号ｘの入力を受ける。符号化処理部３０５は、入力された原信号ｘを観測行列Ａに基づき符号化することで、符号化処理後の信号ｙを生成する。なお、信号ｙの生成方法については、（式１）を参照して前述したとおりである。そして、符号化処理部３０５は、原信号ｘを符号化することで生成した信号ｙを、リーフレット生成部３０７に出力する。なお、符号化処理部３０５が、Scatterの役割を担う情報処理装置１００における「信号処理部」の一例に相当する。
【００９６】
リーフレット生成部３０７は、符号化処理部３０５により生成された信号ｙに基づき、１以上のリーフレットを生成する。具体的には、リーフレット生成部３０７は、図７を参照して説明したように、信号ｙの各信号要素（Ｙ値）に対して、当該信号要素の当該信号ｙ中の位置を示す情報（Ｙ座標）を関連付けることでリーフレットｙｉを生成する。なお、このときリーフレット生成部３０７は、リーフレットｙｉに対して、前述した、リーフレット生成ＩＤ、ノード識別子、及びシステムオプション等の情報を関連付けてもよい。そして、リーフレット生成部３０７は、信号ｙに基づき生成した１以上のリーフレットｙｉをリーフレット配信部３０９に出力する。なお、前述したように、リーフレット生成ＩＤは、観測行列Ａのうち、Ｙ値（即ち、信号ｙの信号成分）の算出に用いた行成分の係数パターンを特定するための情報であってもよいし、当該観測行列Ａ自体を特定するための情報であってもよい。また、リーフレット生成部３０７が、「データ生成部」の一例に相当する。
【００９７】
リーフレット配信部３０９は、リーフレット生成部３０７により生成された１以上のリーフレットｙｉを、所定のネットワークを介してHolderの役割を担う他のストレージノード（例えば、保持装置５００）に配信する。以上のようにして、符号化処理装置３００により生成された１以上のリーフレットｙｉが、ネットワーク上のストレージノードに拡散及び分散される。なお、リーフレット配信部３０９が、「送信部」の一例に相当する。
【００９８】
以上、Scatterの役割を担う符号化処理装置３００の機能構成の一例について説明した。
【００９９】
（ｂ）復号処理装置（Raker）
続いて、Rakerの役割を担う復号処理装置４００の機能構成の一例について説明する。図１４に示すように、復号処理装置４００は、リーフレット回収部４０１と、回収メモリ４０３と、観測行列再構成部４０５と、復号処理部４０７とを含む。
【０１００】
リーフレット回収部４０１は、ネットワーク上の各ストレージノードからリーフレットを回収するための構成である。前述したように、リーフレット回収部４０１は、例えば、所定のプロトコルに基づき各ストレージノードに対してブロードキャスト（または、マルチキャスト）を行うことでリーフレットの送信を呼びかけ、反応したストレージノードから当該ストレージノードが保持するリーフレットを取得する。リーフレット回収部４０１は、回収した各リーフレットを回収メモリ４０３に記憶させる。回収メモリ４０３は、回収されたリーフレットを一時的または恒久的に保持するための記憶領域である。なお、リーフレット回収部４０１が、「取得部」の一例に相当する。
【０１０１】
また、前述したように、本実施形態に係る情報処理システム１では、少なくとも一部のリーフレットについて重複が許されており、リーフレット回収部４０１は、既に回収したリーフレットを再度回収する場合も想定され得る。そのため、リーフレット回収部４０１は、既に回収したリーフレットと同様のリーフレットを再度回収した場合には、改めて回収した当該リーフレットを破棄してもよい。なお、リーフレットの重複については、例えば、リーフレット生成ＩＤ等のような、当該リーフレットに関連付けられた各リーフレットにユニークな情報に基づき判別することが可能である。
【０１０２】
また、リーフレット回収部４０１は、リーフレットを回収した場合に、当該リーフレットに基づく観測行列Ａの再構成を観測行列再構成部４０５に指示する。
【０１０３】
観測行列再構成部４０５は、リーフレット回収部４０１によるリーフレットの回収結果に基づき、当該リーフレットの生成に用いられた観測行列Ａの再構成を行う。具体的な一例として、観測行列再構成部４０５は、符号化処理装置３００（疑似乱数生成部３０１）と同様の疑似乱数生成器（例えば、乱数表）を有し、リーフレットに関連付けられたリーフレット生成ＩＤ（乱数パターンＩＤ）に基づき観測行列Ａを再構成する。このとき、観測行列再構成部４０５は、リーフレット生成ＩＤが、観測行列Ａの行成分を特定するための情報である場合には、複数のリーフレットそれぞれに関連付けられたリーフレット生成ＩＤに基づき、観測行列Ａを再構成する。なお、この場合には、再構成される観測行列Ａは、回収されたリーフレットに関連付けられたＹ値に対応する行成分が再構成されれば、その他の行成分については再構成されなくてもよい。また、他の一例として、観測行列再構成部４０５は、リーフレット生成ＩＤが、観測行列Ａ自体を特定するための情報である場合には、当該情報に基づき当該観測行列Ａを再構成すればよい。
【０１０４】
また、観測行列再構成部４０５は、リーフレット回収部４０１により新たにリーフレットが回収された場合には、当該リーフレットの回収結果に基づき、改めて観測行列Ａを再構成してもよい。具体的な一例として、観測行列再構成部４０５は、新たにリーフレットが回収された場合には、事前に再構成した観測行列Ａの各行成分のうち、当該リーフレットに関連付けられたＹ値に対応する行成分（換言すると、その時点で再構成されていない行成分）を再構成してもよい。
【０１０５】
そして、観測行列再構成部４０５は、再構成した観測行列Ａを示す情報を復号処理部４０７に出力する。
【０１０６】
なお、上述した観測行列再構成部４０５による観測行列Ａの再構成に係る処理は、復号処理装置４００が、回収されたリーフレットの生成に用いられた観測行列Ａを認識するための一例に過ぎない。即ち、復号処理装置４００が、回収されたリーフレットの生成に用いられた観測行列Ａを認識することが可能であれば、その方法は特に限定されない。具体的な一例として、符号化処理装置３００と復号処理装置４００とに、あらかじめ共通の観測行列Ａを示す情報、または当該観測行列Ａを再生するための情報（例えば、乱数表）が保持されていてもよい。また、他の一例として、符号化処理装置３００と復号処理装置４００とが、観測行列Ａを示す情報、または当該観測行列Ａを再生するための情報を、所謂暗号化通信に基づき事前に送受信することで、符号化処理装置３００と復号処理装置４００との間で共通の当該情報が保持されてもよい。このような場合には、復号処理装置４００は、上述した観測行列Ａの再構成に係る処理を実行しなくてもよいことは言うまでもない。
【０１０７】
復号処理部４０７は、回収メモリ４０３に保持されたリーフレット（即ち、リーフレットの回収結果）と、観測行列再構成部４０５により再構成された観測行列Ａとに基づき原信号ｘを復号する。なお、復号処理部４０７が、Rakerの役割を担う情報処理装置１００における、「信号処理部」の一例に相当する。
【０１０８】
具体的には、復号処理部４０７は、まずリーフレットの回収結果に基づき原信号ｘを復号することが可能か否かを判断する。例えば、復号処理部４０７は、回収されたリーフレットの数が閾値以上の場合に、原信号ｘを復号可能と判断する。そして、復号処理部４０７は、回収されたリーフレットに関連付けられたＹ値及びＹ座標に基づき信号ｙを再構成し、当該信号ｙと再構成された観測行列Ａとに基づき原信号ｘを再構成する。具体的な一例として、復号処理部４０７は、（式１）〜（式４）を参照して前述したように、ｙ＝Ａｘの制約条件のもとで、所定のコスト関数Ｊ（ｘ）の最小化（換言すると、正則化）を行うことにより原信号ｘを復号する。より具体的な一例として、復号処理部４０７は、Ｌ１ノルムの最小化問題を解くことにより、再構成された信号ｙ及び観測行列Ａに基づき原信号ｘを復号（再構成）してもよい。
【０１０９】
なお、原信号ｘを復号（即ち、再構成）することが可能か否かの判断については、例えば、参考文献６：「D  L.Donoho、“High−dimensional  centrally−symmetric  polytopes  with  neighborliness  proportional  to  dimension,”、［online］、２００６年、Discrete＆Computational  Geometry,  vol.35,  no.4,  617、p15、［平成２８年１１月１日検索］、インターネット<URL:
https://pdfs.semanticscholar.org/c802/03f0dd27dd5c15726543b01f4c919529d4a8.pdf>」に背景となる理論が開示されている。具体的には、参考文献６には、圧縮センシングの完全復元可能・不可能境界についてランダム高次元幾何学の立場から考察が与えられている。また、前述した参考文献１の著者であるCandesらは、制限等長性という条件を導入することで、より精度の高い再構成を可能とする指針を提示している。即ち、本実施形態において、ランダム係数行列として生成された観測行列Ａを再構成可能とするための十分条件については、上述した考察や指針に基づき数学的に示されている。
【０１１０】
また、上記では、Ｌ１ノルムの最小化問題を例に説明したが、一般的には、圧縮センシングの解法はＬｐノルム（ｐ＞０）の最小化問題が考えられており、Ｌ１ノルムの最小化問題はｐ＝１として規定した場合の例に相当する。なお、Ｌ１ノルム（ｐ＝１）の最小化問題を解く場合の指標の一例については、参考文献７：「Y.Kabashima、外２名“A  typical  reconstruction  limit  for  compressed  sensing,”、［online］、２００９年、Journal  of  Statistical  Mechanics;  Theory  and  Experiments,  109003、p6−7、［平成２８年１１月１日検索］、インターネット<URL:
http://iopscience.iop.org/article/10.1088/1742-5468/2009/09/L09003/pdf>」に開示されている。
【０１１１】
なお、復号処理部４０７がリーフレットの回収結果に基づき信号ｙを復号可能か否かを判断するための基準を示す情報については、例えば、当該復号処理部４０７が参照可能な記憶領域に保持させておけばよい。具体的な一例として、前述した各文献が開示する内容に基づき、信号ｙを復号可能か否かの境界を示す閾値をテーブル化した情報を、上記基準を示す情報として利用してもよい。また、他の一例として、事前の実験等に基づき、上記基準を示す情報が生成されてもよい。
【０１１２】
なお、上述した各種文献では、主に完全復元という可能性について論じている。その一方で、例えば、画像データ等のような一部のデータについては、状況によっては完全に復元がされなくとも比較的高いＰＳＮＲ（Peak  signal−to−noise  ratio）が得られれば十分な場合もあり、数学的モデルに従うか否かについては、扱うデータに依存し得る。具体的な一例として、自然画のような画像データの場合には、経験的には圧縮率（即ち、サンプル数／全データ数、または、リーフレット数／全データ数）が４０％程度あれば、完全には復元されなくとも、比較的高いＰＳＮＲで再構成することが十分可能である。従って、例えば、原信号ｘの信号長Ｎ（例えば、画像データの全画素数）に対して、信号ｙ（観測値）の信号要素の総数にあたるサンプル数Ｍ＝０．４Ｎとして、Ｍ×Ｎ＝０．４Ｎ×Ｎの観測行列Ａ（例えば、ランダム行列）を定義し、当該観測行列Ａに基づきリーフレットの生成が行われればよい。即ち、再構成が可能か否かの判断については、自然画の場合には、０．４Ｎ程度を閾値として判断条件が設定されていればよい。また、Scatterの役割を担う符号化処理装置３００は、ネットワークの状況等を考慮して、リーフレットの生成数が０．４Ｎ以上となるように制御すればよい（例えば、０．５Ｎ×Ｎの観測行列Ａに基づきリーフレットを生成すればよい）。このような構成により、データの圧縮性を損なうことなく、冗長性（例えば、Holderの役割を担うストレージノードの故障や、当該ストレージノードへのネットワークパスの故障等に対する耐性）を持たせることが可能となる。
【０１１３】
なお、以降の説明では、上述した事情を鑑み、リーフレットから復号（再構成）される原信号ｘを、当該リーフレットの生成元となる原信号ｘと明示的に区別する場合には、「信号ｘ’」と称する場合がある。
【０１１４】
以上、図１４を参照して、本実施形態に係る情報処理システム１の機能構成の一例について、特に、Scatterの役割を担う符号化処理装置３００と、Rakerの役割を担う復号処理装置４００とに着目して説明した。
【０１１５】
＜２．８．処理＞
続いて、本実施形態に係る情報処理システム１の一連の処理の流れの一例について、特に、Scatterの役割を担う符号化処理装置３００と、Rakerの役割を担う復号処理装置４００とに着目して説明する。
【０１１６】
（ａ）符号化処理装置（Scatter）
まず、図１５を参照して、Scatterの役割を担う符号化処理装置３００の一連の処理の流れの一例について、特に、リーフレットの生成及び配信に係る処理に着目して説明する。図１５は、本実施形態に係る符号化処理装置の一連の処理の流れの一例を示したフローチャートである。
【０１１７】
図１５に示すように、符号化処理装置３００（観測行列生成部３０３）は、あらかじめ決められた条件に基づき再生可能な疑似乱数を基に、観測行列Ａを生成する（Ｓ１０１）。
【０１１８】
次いで、符号化処理装置３００（符号化処理部３０５）は、符号化の対象となる信号として入力されたスパースな原信号ｘを、疑似乱数を基に生成した観測行列Ａに基づき符号化することで、符号化処理後の信号ｙを生成する。また、符号化処理装置３００（リーフレット生成部３０７）は、生成した信号ｙの各信号要素（Ｙ値）に対して、当該信号要素の当該信号ｙ中の位置示す情報（Ｙ座標）を関連付けることでリーフレットｙｉを生成する。なお、このとき符号化処理装置３００は、生成したリーフレットｙｉに対して、リーフレット生成ＩＤ、ノード識別子、及びシステムオプション等の情報を関連付けてもよい（Ｓ１０３）。
【０１１９】
そして、符号化処理装置３００（リーフレット配信部３０９）は、生成した１以上のリーフレットｙｉを、所定のネットワークを介してHolderの役割を担う他のストレージノード（例えば、保持装置５００）に配信する（Ｓ１０５）。以上のようにして、符号化処理装置３００により生成された１以上のリーフレットｙｉが、ネットワーク上のストレージノードに拡散及び分散される。
【０１２０】
以上、図１５を参照して、Scatterの役割を担う符号化処理装置３００の一連の処理の流れの一例について、特に、リーフレットの生成及び配信に係る処理に着目して説明した。
【０１２１】
（ｂ）復号処理装置（Raker）
続いて、図１６を参照して、Rakerの役割を担う復号処理装置４００の一連の処理の流れの一例について、特に、リーフレットの回収と原信号ｘの復号（再構成）とに着目して説明する。図１６は、本実施形態に係る復号処理装置の一連の処理の流れの一例を示したフローチャートである。
【０１２２】
図１６に示すように、復号処理装置４００（リーフレット回収部４０１）は、例えば、ネットワーク上の各ストレージノードに対してブロードキャスト（または、マルチキャスト）を行うことでリーフレットの送信を呼びかけ、反応したストレージノードから当該ストレージノードが保持するリーフレットを取得する（Ｓ２０１）。
【０１２３】
このとき、復号処理装置４００は、既に回収したリーフレットと同様のリーフレットを再度回収した場合には（Ｓ２０３、ＹＥＳ）、改めて回収した当該リーフレットを破棄してもよい（Ｓ２０５）。
【０１２４】
一方で、復号処理装置４００（復号処理部４０７）は、既に回収したリーフレットと異なる他のリーフレットを新たに回収した場合には（Ｓ２０３、ＮＯ）、回収した一連のリーフレットに基づき、信号ｘ’（例えば、原信号ｘ）を再構成可能か否かを判定する（Ｓ２０７）。例えば、復号処理装置４００は、回収した一連のリーフレットの数が閾値以上の場合に、信号ｘ’を再構成可能と判断してもよい。
【０１２５】
信号ｘ’の再構成が困難と判断した場合には（Ｓ２０７、ＮＯ）、復号処理装置４００（リーフレット回収部４０１）は、回収したリーフレットを回収メモリ４０３に記憶させる。このとき復号処理装置４００は、各リーフレットに関連付けられたＹ座標を示す情報に基づき、回収メモリ４０３に記憶された一連のリーフレットを並び替えてもよい（Ｓ２０９）。また、復号処理装置４００（観測行列再構成部４０５）は、リーフレットの回収結果に基づき、当該リーフレットの生成に用いられた観測行列Ａの再構成を行ってもよい。例えば、復号処理装置４００は、新たにリーフレットを回収した場合には、観測行列Ａの各行成分のうち、当該リーフレットに関連付けられたＹ値に対応する行成分（換言すると、その時点で再構成されていない行成分）を再構成してもよい（Ｓ２１１）。また、このとき復号処理装置４００は、従前に回収したリーフレットに基づき、既に一部の行成分について観測行列Ａを再構成している場合には、当該観測行列Ａのうち、新たに回収したリーフレットに関連付けられたＹ値に対応する行成分を追加で再構成してもよい。
【０１２６】
以上のようにして、復号処理装置４００は、信号ｘ’を再構成可能と判断するまで、リーフレットの回収（Ｓ２０１）、当該リーフレットの保持（Ｓ２０９）、及び観測行列Ａの再構成（Ｓ２１１）を繰り返し実行する。
【０１２７】
そして、信号ｘ’の再構成が可能と判断した場合には（Ｓ２０７、ＹＥＳ）、復号処理装置４００（復号処理部４０７）は、回収メモリ４０３に保持されたリーフレットと、再構成した観測行列Ａとに基づき、信号ｘ’を復号（再構成）する。具体的には、復号処理装置４００は、回収されたリーフレットに関連付けられたＹ値及びＹ座標に基づき信号ｙを再構成する。そして、復号処理装置４００は、ｙ＝Ａｘの制約条件の基で、所定のコスト関数Ｊ（ｘ）の最小化を行うことにより（例えば、Ｌｐノルムの最小化問題を解くことにより）、信号ｘ’を復号する（Ｓ２１３）。
【０１２８】
以上、図１６を参照して、Rakerの役割を担う復号処理装置４００の一連の処理の流れの一例について、特に、リーフレットの回収と原信号ｘの復号（再構成）とに着目して説明した。
【０１２９】
＜＜３．実施例＞＞
続いて、本実施形態に係る情報処理システムの実施例として、原信号ｘ及び観測行列Ａと、当該原信号ｘ及び観測信号Ａを基に圧縮センシングにより算出される信号ｙの具体的な一例について説明する。例えば、図１７は、本実施形態に係る情報処理システム１の実施例について説明するための説明図であり、原信号ｘ、観測行列Ａ、及び信号ｙの具体的な一例を示している。
【０１３０】
具体的には、図１７に示す例では、原信号ｘの信号要素の数は１６であり（即ち、信号長Ｎ＝１６）、当該信号要素のうち非ゼロ成分の数は４となる。ここで、原信号ｘにおいて、全信号要素の数に対する非ゼロ成分の数の割合をスパース度ρとして示すと、図１７に示す原信号ｘのスパース度ρは、ρ＝４／１６＝２５％となる。
【０１３１】
また、図１７に示す例において、観測行列Ａの行成分の数は９である（即ち、観測数Ｍ＝９）。ここで、原信号ｘの全データ数（信号要素の数Ｎ）に対するサンプル数（観測数Ｍ）の割合を圧縮率σとして示すと、圧縮率σは、σ＝Ｍ／Ｎ＝９／１６＝５６．２５％となる。
【０１３２】
また、図１７に示す信号ｙは、同図に示された原信号ｘ及び観測行列Ａに基づき生成される信号の一例を示している。
【０１３３】
なお、前述した参考文献６及び７には、圧縮率σとスパース度ρとの間の関係について開示されており、圧縮率σ及びスパース度ρを、原信号ｘが再構成可能か否かを判断するための指標として利用することが可能である。即ち、本開示は、この原理に従い、信号ｙを生成することで当該信号ｙに基づき一連のリーフレットを生成し、当該一連のリーフレットのうち少なくとも一部のリーフレットに基づき信号ｘ’（例えば、原信号ｘ）を再構成するための技術を提案するものである。
【０１３４】
なお、図１７に示す例は、例えば、Ｌ１ノルムの最小化問題を解くことにより、原信号ｘを完全に再構成することが可能である。即ち、図１７に示す例においては、スパースな原信号ｘに対して、当該原信号ｘの信号長（Ｎ＝１６）に等しい数の方程式を必要とせず、例えば、９個の連立一次不定方程式に基づき完全に再構成可能な例を示している。
【０１３５】
以上、図１７を参照して、本実施形態に係る情報処理システムの実施例として、原信号ｘ及び観測行列Ａと、当該原信号ｘ及び観測信号Ａを基に圧縮センシングにより算出される信号ｙの具体的な一例について説明した。
【０１３６】
＜＜４．変形例＞＞
続いて、本実施形態に係る情報処理システムの変形例について説明する。
【０１３７】
＜４．１．変形例１：原信号を再構成可能か否かの判断条件の一例＞
まず、変形例１として、Rakerの役割を担うノード（例えば、復号処理装置４００）が、リーフレットの回収結果に基づき、原信号ｘを再構成可能か否かについて判断するための条件の一例について説明する。
【０１３８】
例えば、前述した参考文献１の著者であるCandesらにより、原信号ｘを完全復元するための十分条件として、以下に（式５）として示す条件が提示されている。
【０１３９】
【数５】
2018093325.tif 000007
【０１４０】
上記（式５）において、ｐは観測行列Ａの行数を示している。また、ｍは原信号ｘの信号長を示しており、Ｓはスパース度を示している。即ち、Candesらにより、観測行列Ａの行数ｐが、上記（式５）に示す条件を満たすならば、Ｌ１最小化問題を利用することにより、原信号ｘの完全再現を十分に高い確率で達成されることが数学的に証明されている。
【０１４１】
そのため、例えば、Rakerの役割を担うノードは、上記（式５）として示した条件に基づき、リーフレットの回収結果に応じて原信号ｘを再構成可能か否かを判断してもよい。
【０１４２】
また、他の一例として、Rakerの役割を担うノードは、圧縮センシングの性質を利用することで、リーフレットの回収結果に応じて原信号ｘを再構成可能か否かを判断してもよい。
【０１４３】
例えば、参考文献８：「大関真之、“今日からできるスパースモデリング”、[online]、平成２８年３月３日、京都大学大学院情報研究学科  Adaptive  System  Theory  Group、[平成２８年１１月１日検索]、インターネット<URL: http://www-adsys.sys.i.kyoto-u.ac.jp/mohzeki/Presentation/lecturenote20160304.pdf>」には、圧縮センシングの性質に関する情報が開示されている。具体的には、一般に観測行列Ａが各成分の平均０、分散１のガウス分布Φから生成されるとき、以下に（式６）〜（式８）として示す条件を満たす曲線を境界として、Ｌ１ノルム最小化により非常に高い確率で原信号の推定に成功することが知られている。即ち、圧縮率αとスパース度ρとの間には、媒介変数τを介して、以下に（式６）〜（式８）として示す式を満たすことが分かっている。
【０１４４】
【数６】
2018093325.tif 000008
【０１４５】
【数７】
2018093325.tif 000009
【０１４６】
【数８】
2018093325.tif 000010
【０１４７】
例えば、図１８は、原信号ｘを再構成可能か否かを判断するための判断条件の一例について説明するための説明図である。図１８において、横軸はスパース度ρを示しており、縦軸は圧縮率σを示している。図１８において、曲線を境界として上側に位置するSuccess領域は、原信号ｘを再構成可能な条件に対応している。即ち、スパース度ρと圧縮率σとの条件に応じてプロットされるサンプルがSuccess領域に位置する場合には、原信号ｘを非常に高い確率で再構成することが可能となる。これに対して、曲線を境界として下側に位置するFailure領域は、原信号ｘを再構成することが困難な条件に対応している。
【０１４８】
以上のような特性を利用し、Rakerの役割を担うノードは、リーフレットの回収結果が、図１８に示すグラフ中のSuccess領域に位置するための条件を満たすか否かに応じて、原信号ｘを再構成可能か否かを判断してもよい。
【０１４９】
なお、図１８に示す条件はあくまで一例であり、Rakerの役割を担うノードが、リーフレットの回収結果に応じて原信号ｘを再構成可能か否かを判断するための条件は、必ずしも図１８に示す例のみには限定されない。具体的な一例として、再構成の対象となるデータの種別によっては、許容されるＰＳＮＲの条件が異なる。図１８に示す例では、Failure領域においても、曲線のより近傍に位置する程、ＰＳＮＲがより低くなる傾向にある。そのため、例えば、Rakerの役割を担うノードは、許容されるＰＳＮＲがより高くなるほど、図１８に示す例に比べて、原信号ｘを再構成可能か否かを判断するための条件をより緩和することも可能である。
【０１５０】
以上、変形例１として、Rakerの役割を担うノードが、リーフレットの回収結果に基づき、原信号ｘを再構成可能か否かについて判断するための条件の一例について説明した。
【０１５１】
＜４．２．変形例２：システム構成の一例＞
続いて、変形例２として、本実施形態に係る情報処理システムのシステム構成の一例について説明する。
【０１５２】
前述した実施形態では、例えば、図１を参照しながら、複数の情報処理装置１００が一連のサーバ群１０として動作することで、端末装置２００に対してネットワークストレージサービス（例えば、クラウドストレージサービス）を提供する場合の一例について説明した。この場合には、Scatterの役割を担う情報処理装置１００により元となるデータから生成された複数のリーフレットは、Holderの役割を担う複数の情報処理装置１００に分散して保持されることとなる。また、データを復号する場合には、Rakerの役割を担う一部の情報処理装置１００が、Holderの役割を担う他の情報処理装置１００からリーフレットを回収し、当該リーフレットの回収結果に基づき元となるデータを復号（再構成）する。
【０１５３】
一方で、複数の装置がネットワークを介して互いに情報を送受信可能であり、当該複数の装置に、Scatter、Holder、及びRakerそれぞれの役割を担う装置が含まれていれば、当該装置の種別は必ずしも図１に示す情報処理装置１００のような所謂サーバのみには限定されない。例えば、図１９は、変形例２に係る情報処理システムのシステム構成の一例を示した図である。図１９に示す例では、スマートフォン等のような端末装置２００が、サーバ等のような情報処理装置１００を介さずに、他の端末装置２００との間でネットワークを構築している場合の一例である。より具体的な一例として、複数の端末装置２００が、所謂アドホックネットワークを構築している場合が挙げられる。
【０１５４】
このような場合には、参照符号１０’として示された複数の端末装置２００が、図１を参照して説明した一連のサーバ群１０と同様に動作してもよい。具体的には、ネットワークを介して接続された複数の端末装置２００のそれぞれが、「Scatter」、「Holder」、及び「Raker」の３つの役割のうち少なくともいずれかの役割を担えばよい。以上のような構成により、前述した実施形態と同様に、対象となるデータから生成されたリーフレットを複数の端末装置２００に分散して保持させるとともに、複数の端末装置２００からリーフレットを回収することで元となるデータを再構成することも可能となる。
【０１５５】
以上、変形例２として、図１９を参照して、本実施形態に係る情報処理システムのシステム構成の一例について説明する。
【０１５６】
＜４．３．変形例３：Scatterの役割を担うストレージノードの動作の一例＞
続いて、変形例３として、Scatterの役割を担うストレージノード（例えば、保持装置５００）の動作の一例として、当該ストレージノードにRakerの機能を設けた場合の一例について説明する。
【０１５７】
前述したように、Holderの役割を担うとともにScatterの役割をも担うストレージノードは、配信されたリーフレットを、他のストレージノードに配信してもよい。一方で、当該ストレージノードには、複数のリーフレットが保持される場合も想定され、保持されたリーフレットに基づき原信号ｘを再構成（復号）可能となる状況も想定され得る。
【０１５８】
そこで、変形例３に係る情報処理システムでは、Holder及びScatterの役割を担うストレージノードのうち少なくとも一部に対してRakerの機能を設ける。なお、この場合には、Rakerの機能が設けられたストレージノードは、リーフレットの生成元となる観測行列Ａを再構成可能とする。このような構成の基で、Rakerの機能が設けられたストレージノードは、自身が保持するリーフレット（即ち、配信されたリーフレット）に基づき原信号ｘを再構成したうえで、当該原信号ｘに基づきリーフレットを再生成し、再生成した当該リーフレットを他のストレージノードに配信してもよい。
【０１５９】
前述したように、本実施形態に係る情報処理システムに依れば、原信号ｘから生成された全てのリーフレットが回収されていない場合においても、リーフレットの回収結果が所定の条件を満たせば、当該原信号ｘを完全復元可能な場合がある。このことは、Rakerの機能が設けられたストレージノードが原信号ｘを再構成する場合についても同様である。
【０１６０】
以上のような構成により、変形例３に係る情報処理システムに依れば、原信号ｘから観測行列Ａに基づき生成されるリーフレットの分散性及び拡散性をより向上させることが可能となる。そのため、例えば、Rakerの役割を担うノード（例えば、復号処理装置４００）は、オリジナルの原信号ｘから生成されたリーフレットのみでは当該原信号ｘを再構成（復号）することが困難な場合においても、他のストレージノードにより再生成されたリーフレットの回収結果を補間することで、当該原信号ｘを再構成することが可能となる。即ち、変形例３に係る情報処理システムに依れば、Rakerの役割を担うノードにおける原信号ｘの再構成の可能性をより高めることが可能となる。
【０１６１】
以上、変形例３として、Scatterの役割を担うストレージノードの動作の一例として、当該ストレージノードにRakerの機能を設けた場合の一例について説明した。
【０１６２】
＜＜５．ハードウェア構成＞＞
次に、図２０を参照しながら、本開示の一実施形態に係る情報処理システム１を構成する情報処理装置１００（即ち、符号化処理装置３００、復号処理装置４００、及び保持装置５００等）や端末装置２００等のような情報処理装置９００のハードウェア構成について、詳細に説明する。図２０は、本開示の一実施形態に係る情報処理システムを構成する情報処理装置のハードウェア構成の一例を示す機能ブロック図である。
【０１６３】
本実施形態に係る情報処理システムを構成する情報処理装置９００は、主に、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、を備える。また、情報処理装置９００は、更に、ホストバス９０７と、ブリッジ９０９と、外部バス９１１と、インタフェース９１３と、入力装置９１５と、出力装置９１７と、ストレージ装置９１９と、ドライブ９２１と、接続ポート９２３と、通信装置９２５とを備える。
【０１６４】
ＣＰＵ９０１は、演算処理装置及び制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９又はリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置９００内の動作全般又はその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０５は、ＣＰＵ９０１が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバス等の内部バスにより構成されるホストバス９０７により相互に接続されている。なお、図１４を参照して前述した、疑似乱数生成部３０１、観測行列生成部３０３、符号化処理部３０５、及びリーフレット生成部３０７や、観測行列再構成部４０５及び復号処理部４０７は、例えば、ＣＰＵ９０１により実現され得る。
【０１６５】
ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。また、外部バス９１１には、インタフェース９１３を介して、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３及び通信装置９２５が接続される。
【０１６６】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール手段（いわゆる、リモコン）であってもよいし、情報処理装置９００の操作に対応した携帯電話やＰＤＡ等の外部接続機器９２９であってもよい。さらに、入力装置９１５は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。情報処理装置９００のユーザは、この入力装置９１５を操作することにより、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０１６７】
出力装置９１７は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置９１７は、例えば、情報処理装置９００が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置９００が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【０１６８】
ストレージ装置９１９は、情報処理装置９００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ等を格納する。なお、図１４を参照して前述した回収メモリ４０３は、例えば、ストレージ装置９１９により実現され得る。
【０１６９】
ドライブ９２１は、記録媒体用リーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体９２７に記録を書き込むことも可能である。リムーバブル記録媒体９２７は、例えば、ＤＶＤメディア、ＨＤ−ＤＶＤメディア又はＢｌｕ−ｒａｙ（登録商標）メディア等である。また、リムーバブル記録媒体９２７は、コンパクトフラッシュ（登録商標）（ＣＦ：ＣｏｍｐａｃｔＦｌａｓｈ）、フラッシュメモリ又はＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等であってもよい。また、リムーバブル記録媒体９２７は、例えば、非接触型ＩＣチップを搭載したＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  ｃａｒｄ）又は電子機器等であってもよい。
【０１７０】
接続ポート９２３は、情報処理装置９００に直接接続するためのポートである。接続ポート９２３の一例として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。接続ポート９２３の別の例として、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。この接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置９００は、外部接続機器９２９から直接各種のデータを取得したり、外部接続機器９２９に各種のデータを提供したりする。
【０１７１】
通信装置９２５は、例えば、通信網（ネットワーク）９３１に接続するための通信デバイス等で構成された通信インタフェースである。通信装置９２５は、例えば、有線若しくは無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）又はＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ又は各種通信用のモデム等であってもよい。この通信装置９２５は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置９２５に接続される通信網９３１は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。なお、図１４を参照して前述したリーフレット配信部３０９やリーフレット回収部４０１は、例えば、ストレージ装置９１９により実現され得る。
【０１７２】
以上、本開示の実施形態に係る情報処理システムを構成する情報処理装置９００の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図２０では図示しないが、本実施形態に係る情報処理システムを構成する情報処理装置９００に対応する各種の構成を当然備える。
【０１７３】
なお、上述のような本実施形態に係る情報処理システムを構成する情報処理装置９００の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。また、当該コンピュータプログラムを実行させるコンピュータの数は特に限定されない。例えば、当該コンピュータプログラムを、複数のコンピュータ（例えば、複数のサーバ等）が互いに連携して実行してもよい。なお、単数のコンピュータ、または、複数のコンピュータが連携するものを、「コンピュータシステム」とも称する。
【０１７４】
＜＜６．むすび＞＞
以上説明したように、本実施形態に係る情報処理システムは、ネットワークを介して接続された複数のノード（例えば、情報処理装置１００）を含み、当該複数のノードのそれぞれが、「Scatter」、「Holder」、及び「Raker」の３つの役割のうち少なくともいずれかの役割を担う。このような構成の基で、Scatterの役割を担うノード（例えば、符号化処理装置３００）は、元となるデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含むスパースな原信号ｘを、所定の条件に応じて生成された観測行列Ａに基づき符号化することで、原信号ｘよりも信号長の短い信号ｙを生成する。また、Scatterの役割を担うノードは、信号ｙの各信号要素（Ｙ値）に対して、当該信号要素の当該信号ｙ中の位置を示す情報（Ｙ座標）を関連付けることで１以上のリーフレットｙｉを生成する。そして、Scatterの役割を担うノードは、生成した１以上のリーフレットｙｉそれぞれを、ネットワークを介して接続された１以上の他のノード（即ち、Holderの役割を担うストレージノード）に送信する。ここで、元なるデータが、「第１のデータ」の一例に相当し、原信号ｘが「第１の信号」の一例に相当する。また、信号ｙが「第２の信号」の一例に相当し、リーフレットｙｉが「第２のデータ」の一例に相当する。
【０１７５】
また、Rakerの役割を担うノード（例えば、復号処理装置４００）は、ネットワークを介して接続された１以上のノード（即ち、Holderの役割を担うストレージノード）から、１以上のリーフレットｙｉを取得する。そして、Rakerの役割を担うノードは、取得した１以上のリーフレットｙｉと、観測行列Ａの各行成分のうち少なくとも当該リーフレットｙｉに関連付けられた信号要素（Ｙ値）に対応する行成分に応じた制約条件と、に基づき元となるデータを復号する。なお、このときRakerの役割を担うノードは、上述したように、必ずしも元となるデータが符号化されることで生成されたすべてのリーフレットｙｉを回収する必要がなく、所定の条件を満たせば一部のリーフレットのみからでも元となるデータを再構成することが可能である。
【０１７６】
以上のような構成により、本実施形態に係る情報処理システムに依れば、リーフレットｙｉの配信元となるノードは、どの配信先（ストレージノード）に各リーフレットｙｉが存在するかを認識する必要が無くなる。また、各ストレージノードは、他の装置の状態に依存することなく、独立して動作することが可能である。また、リーフレットｙｉから原信号ｘ（ひいては、元となるデータ）の再構成には、当該リーフレットｙｉの生成時に使用した符号化のための情報（乱数）を要し、リーフレットｙｉのみでは原信号ｘを再構成することが困難であるため、情報の秘匿性を担保することが可能である。また、原信号ｘ（ひいては、元となるデータ）の再構成時に、必ずしもリーフレットが配信されたすべてのストレージノードが動作している必要はないため、個々のストレージノードの保守を、他のストレージノードに依存することなく独立して行うことが可能となる。即ち、本実施形態に係る情報処理システムに依れば、各種データの保存先としてネットワーク上の記憶領域（即ち、ストレージノード）が利用される状況下において、システムの運用の継続性と運用コストの低減とをより好適な態様で両立することが可能となる。
【０１７７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１７８】
なお、前述したように、本実施形態に係る情報処理システムは、スパース度や圧縮率の条件を満たせば、画像に限らず多様なデータに対して適用することが可能である。具体的な一例として、ファクシミリ等のように文字情報等を画像化したデータや、音響（音声、楽曲等）等のような一般的なコーデックに使われるデータは、冗長度が比較的高く、データの相関性も比較的高い。そのため、本実施形態に係る情報処理システムのように、Total  varianceを使ったコスト関数に基づき最小化を行うことで、データの再現（復元）がよりしやすい傾向にある。
【０１７９】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１８０】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号を、所定の条件に応じて生成された行列に基づき、前記第１の信号よりも信号長の短い第２の信号に符号化する信号処理部と、
前記第２の信号の各信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けることで、１以上の第２のデータを生成するデータ生成部と、
生成された１以上の前記第２のデータそれぞれを、ネットワークを介して接続された１以上の装置に送信する送信部と、
を備える、情報処理装置。
（２）
前記データ生成部は、前記第２のデータに対して、送信元を示す情報を関連付ける、前記（１）に記載の情報処理装置。
（３）
前記データ生成部は、前記第２のデータに対して、前記行列の各行成分のうち当該第２のデータに関連付けられた前記信号要素に対応する行成分を特定するための識別情報を関連付ける、前記（１）または（２）に記載の情報処理装置。
（４）
前記データ生成部は、前記第２のデータに対して、前記行列を特定するための識別情報を関連付ける、前記（１）または（２）に記載の情報処理装置。
（５）
前記第２の信号の信号長は、前記第１の信号の信号長と、前記第１のデータに応じた圧縮率と、に基づき決定される、前記（１）〜（４）のいずれか一項に記載の情報処理装置。
（６）
前記第１の信号は、前記第１のデータを入力とした所定の演算処理に基づき生成される、前記（１）〜（５）のいずれか一項に記載の情報処理装置。
（７）
前記行列は、乱数の算出結果に基づき生成される、前記（１）〜（６）のいずれか一項に記載の情報処理装置。
（８）
前記データ生成部は、複数の前記第２のデータを生成し、
前記送信部は、生成された複数の前記第２のデータのそれぞれを、複数の前記装置のうち少なくともいずれかの装置に送信する、
前記（１）〜（７）のいずれか一項に記載の情報処理装置。
（９）
前記第１のデータは、画像データである、前記（１）〜（８）のいずれか一項に記載の情報処理装置。
（１０）
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第１の信号よりも信号長の短い第２の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置から取得する取得部と、
取得された１以上の前記第２のデータと、前記行列の各行成分のうち少なくとも当該第２のデータに関連付けられた前記信号要素に対応する行成分に応じた制約条件と、に基づき、前記第１のデータを復号する信号処理部と、
を備える、情報処理装置。
（１１）
前記取得部は、共通の送信元を示す情報が関連付けられた１以上の前記第２のデータを、前記１以上の装置から取得する、前記（１０）に記載の情報処理装置。
（１２）
前記信号処理部は、前記第１の信号における前記非ゼロ成分の数と前記ゼロ成分の数とに基づく係数と、前記第１の信号の信号長と前記第２の信号の信号長とに基づく圧縮率と、前記第２のデータの取得結果に応じた前記信号要素の数と、に基づき、前記第１のデータを復号することが可能か否かを判定する、前記（１０）または（１１）に記載の情報処理装置。
（１３）
前記信号処理部は、前記係数と、前記圧縮率と、前記取得結果に応じた前記信号要素の数と、前記第１のデータの復号に対して許容される信号対雑音比と、に基づき、前記第１のデータを復号することが可能か否かを判定する、前記（１２）に記載の情報処理装置。
（１４）
前記信号処理部は、前記第２のデータに関連付けられた識別情報に基づき、前記行列のうち少なくとも当該第２のデータに関連付けられた前記信号要素に対応する行成分を特定する、前記（１０）〜（１３）のいずれか一項に記載の情報処理装置。
（１５）
前記信号処理部は、前記第２のデータに関連付けられた識別情報に基づき、前記行列を特定する、前記（１０）〜（１３）のいずれか一項に記載の情報処理装置。
（１６）
前記取得部は、ネットワークを介して接続された複数の装置それぞれから、複数の前記第２のデータのうち少なくとも一部の前記第２のデータを取得する、前記（１０）〜（１５）のいずれか一項に記載の情報処理装置。
（１７）
コンピュータが、
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号を、所定の条件に応じて生成された行列に基づき、前記第１の信号よりも信号長の短い第２の信号に符号化することと、
前記第２の信号の各信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置に送信することと、
を含む、情報処理方法。
（１８）
コンピュータが、
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第１の信号よりも信号長の短い第２の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置から取得することと、
取得された１以上の前記第２のデータと、前記行列に応じた制約条件と、に基づき、前記第１のデータを復号することと、
を含む、情報処理方法。
（１９）
コンピュータに、
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号を、所定の条件に応じて生成された行列に基づき、前記第１の信号よりも信号長の短い第２の信号に符号化することと、
前記第２の信号の各信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置に送信することと、
を実行させるプログラムが記録された記録媒体。
（２０）
コンピュータに、
第１のデータに基づく１以上の非ゼロ成分と、１以上のゼロ成分と、を含む第１の信号が、所定の条件に応じて生成された行列に基づき符号化された、前記第１の信号よりも信号長の短い第２の信号の各信号要素のうち少なくとも一部の信号要素に対して、当該第２の信号中における当該信号要素の位置を示す情報が関連付けられた１以上の第２のデータそれぞれを、ネットワークを介して接続された１以上の装置から取得することと、
取得された１以上の前記第２のデータと、前記行列に応じた制約条件と、に基づき、前記第１のデータを復号することと、
を実行させるプログラムが記録された記録媒体。
【符号の説明】
【０１８１】
１      情報処理システム
１００  情報処理装置
２００  端末装置
２５０  撮像部
３００  符号化処理装置
３０１  疑似乱数生成部
３０３  観測行列生成部
３０５  符号化処理部
３０７  リーフレット生成部
３０９  リーフレット配信部
４００  復号処理装置
４０１  リーフレット回収部
４０３  回収メモリ
４０５  観測行列再構成部
４０７  復号処理部
５００  保持装置
【図１】
2018093325.tif 000011
【図２】
2018093325.tif 000012
【図３】
2018093325.tif 000013
【図４】
2018093325.tif 000014
【図５】
2018093325.tif 000015
【図６】
2018093325.tif 000016
【図７】
2018093325.tif 000017
【図８】
2018093325.tif 000018
【図９】
2018093325.tif 000019
【図１０】
2018093325.tif 000020
【図１１】
2018093325.tif 000021
【図１２】
2018093325.tif 000022
【図１３】
2018093325.tif 000023
【図１４】
2018093325.tif 000024
【図１５】
2018093325.tif 000025
【図１６】
2018093325.tif 000026
【図１７】
2018093325.tif 000027
【図１８】
2018093325.tif 000028
【図１９】
2018093325.tif 000029
【図２０】
2018093325.tif 000030