IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 国立大学法人金沢大学の特許一覧

特許7345831情報処理装置、情報処理方法及びプログラム
<>
  • 特許-情報処理装置、情報処理方法及びプログラム 図1
  • 特許-情報処理装置、情報処理方法及びプログラム 図2
  • 特許-情報処理装置、情報処理方法及びプログラム 図3
  • 特許-情報処理装置、情報処理方法及びプログラム 図4
  • 特許-情報処理装置、情報処理方法及びプログラム 図5
  • 特許-情報処理装置、情報処理方法及びプログラム 図6
  • 特許-情報処理装置、情報処理方法及びプログラム 図7
  • 特許-情報処理装置、情報処理方法及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-08
(45)【発行日】2023-09-19
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   H03M 7/30 20060101AFI20230911BHJP
【FI】
H03M7/30 Z
【請求項の数】 10
(21)【出願番号】P 2019189427
(22)【出願日】2019-10-16
(65)【公開番号】P2021064900
(43)【公開日】2021-04-22
【審査請求日】2022-07-11
(73)【特許権者】
【識別番号】504160781
【氏名又は名称】国立大学法人金沢大学
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】藤崎 礼志
【審査官】齊藤 晶
(56)【参考文献】
【文献】特開2001-332977(JP,A)
【文献】米国特許出願公開第2016/0248440(US,A1)
【文献】Hiroshi Fujisaki,On Irreducibility of the Stream Version of the Asymmetric Binary Systems,第41回情報理論とその応用シンポジウム予稿集 [USB] (SITA2018),2018年12月21日,pp.218-222
【文献】Jarek Duda,Asymmetric numeral systems,arXiv:0902.0271[cs.IT],2009年05月21日,https://arxiv.org/abs/0902.0271
【文献】Hidetoshi YOKOO,“On the stationary distribution of Asymmetric Binary Systems”,2016 IEEE International Symposium on Information Theory (ISIT),2016年07月,DOI: 10.1109/ISIT.2016.7541051
(58)【調査した分野】(Int.Cl.,DB名)
H03M 7/30
(57)【特許請求の範囲】
【請求項1】
圧縮処理の対象であるバイナリデータストリームが含む二値のうち一方の値の出現率p(0<p<1)に基づくABS(Asymmetric Binary Systems)によるデータ圧縮方法を実行する演算回路を備え、
前記演算回路において、
前記出現率pとしては無理数が用いられ、
前記二値の一方に関する力学系である第一力学系及び前記二値の他方に関する力学系である第二力学系のそれぞれにおける不動点の個数が同時に1を超えず、かつ、同時に0をとらない、
情報処理装置。
【請求項2】
前記無理数は、二次無理数である
請求項1に記載の情報処理装置。
【請求項3】
前記出現率p及び前記ABSの状態集合が含む状態の個数を定める自然数lは、
【数1】
但しs=0又は1、
【数2】
【数3】
【数4】
【数5】
及び
【数6】
として、
第一条件である、
【数7】
が成立し、且つ、
【数8】
又は
【数9】
であること、
第二条件である、
【数10】
が成立し、且つ、
【数11】
又は
【数12】
であること、及び
第三条件である、
【数13】
が成立し、且つ、
【数14】
又は
【数15】
であることの三つの条件のいずれか一つを満たす値をとる
請求項1又は2に記載の情報処理装置。
【請求項4】
前記演算回路は、プログラムを保持するメモリ及び前記プログラムを実行するプロセッサを備え、
前記プログラムは、前記プロセッサによって実行されることで前記演算回路に前記データ圧縮方法を実行させる
請求項1から3のいずれか一項に記載の情報処理装置。
【請求項5】
前記演算回路は、前記データ圧縮方法を実行する論理回路である
請求項1から3のいずれか一項に記載の情報処理装置。
【請求項6】
請求項1から5のいずれか一項に記載の情報処理装置において前記データ圧縮方法を用いて圧縮された圧縮後データのバイナリデータストリームのABSによるデータ展開方法を実行する演算回路を備え、
前記演算回路が実行する前記ABSによるデータ展開方法では、実行された前記データ圧縮方法で用いられた出現率pが用いられ、前記第一力学系及び前記第二力学系のそれぞれにおける不動点の個数は、実行された前記データ圧縮方法での個数である
情報処理装置。
【請求項7】
圧縮処理の対象であるバイナリデータストリームが含む二値のうち一方の値の出現率を取得し、
取得した前記出現率に近似する無理数p(0<p<1)及びABS(Asymmetric Binary Systems)の状態集合が含む状態の個数を定める自然数lを、前記二値の一方に関する力学系である第一力学系及び前記二値の他方に関する力学系である第二力学系のそれぞれにおける不動点の個数が同時に1を超えず、かつ、同時に0をとらないよう決定し、
前記無理数pを前記出現率として用い、且つ、前記自然数lを用いて前記バイナリデータストリームにABSを実行することで前記バイナリデータストリームを圧縮する
情報処理方法。
【請求項8】
請求項7に記載の情報処理方法を用いて圧縮された圧縮後データのバイナリデータストリームを取得し、
前記情報処理方法において用いられた前記出現率としてのp及び前記自然数lを取得し、
前記出現率p及び前記自然数lを用いて前記バイナリデータストリームにABSを実行することで前記圧縮後データを展開する
情報処理方法。
【請求項9】
情報処理装置が備える演算回路によって実行されるプログラムであって、
前記プログラムは、前記演算回路によって実行されることで前記情報処理装置に、
圧縮処理の対象であるバイナリデータストリームが含む二値のうち一方の値の出現率を取得させ、
取得した前記出現率に近似する無理数p(0<p<1)及びABS(Asymmetric Binary
Systems)の状態集合が含む状態の個数を定める自然数lを、前記二値の一方に関する力学系である第一力学系及び前記二値の他方に関する力学系である第二力学系のそれぞれにおける不動点の個数が同時に1を超えず、かつ、同時に0をとらないよう決定させ、
前記無理数pを前記出現率として用い、且つ、前記自然数lを用いて前記バイナリデー
タストリームにABSを実行することで前記バイナリデータストリームを圧縮させる
プログラム。
【請求項10】
情報処理装置が備える演算回路によって実行されるプログラムであって、
前記プログラムは、前記演算回路によって実行されることで前記情報処理装置に、
請求項7に記載の情報処理方法を用いて圧縮された圧縮後データのバイナリデータストリームを取得させ、
前記出現率p及び前記自然数lを用いて前記バイナリデータストリームにABSを実行することで前記圧縮後データを展開させる
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの圧縮及び展開に関する。
【背景技術】
【0002】
インターネットで利用される公衆通信網、及び機器間の無線通信回線などでは、大量のデータを高速且つ効率的に送受信するために何らかのデータ圧縮アルゴリズムが利用されている。Dudaが提案したストリーム型の非対称数系(Asymmetric Numeral Systems、以下ではANSと表記する)は、そのようなデータ圧縮アルゴリズムに利用可能な符号化手法のひとつであり(非特許文献1参照)、アップル インコーポレイテッド社によってデータ圧縮アルゴリズムに採用され、オープンソースの形で実用化されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Jarek Juda、"Asymmetric numeral systems"、arXiv:0902.0271v5 [cs.IT]、2009年5月21日
【文献】Hidetoshi Yokoo、"On the stationary distribution of asymmetric binary systems"、2016 IEEE International Symposium on Information Theory、2016年7月、pp. 11-15
【文献】Marston Morse et al.、"Symbolic dynamics II. Sturmian trajectories"、American Journal of Mathematics、Johns Hopkins University Press、1940年、第62巻第1号、pp. 1-42
【文献】Henry John Stephen Smith、"Note on continued fractions"、Messenger of Mathematics、Macmillan and Co.、1876年、第6巻、pp. 1-14
【発明の概要】
【発明が解決しようとする課題】
【0004】
ANSの最も簡単な形である非対称2進数系(Asymmetric Binary Systems、以下ではABSと表記する)を用いたデータストリーム圧縮アルゴリズムが正常に機能することができるとき、このABSを用いた符号化は既約マルコフ連鎖で表現可能である。
【0005】
しかしながら、既約マルコフ連鎖で表現可能なABSを用いても、符号化が妥当に行われない場合がなお生じ得ることが指摘されている(非特許文献2参照)。
【0006】
このような課題に鑑みてなされた本発明によって、ABSによるアルゴリズムを用いた高速で効率的なデータストリームの圧縮をより安定的に実行する情報処理装置等が提供される。
【課題を解決するための手段】
【0007】
本発明の一態様に係る情報処理装置は、圧縮処理の対象であるバイナリデータストリームが含む二値のうち一方の値の出現率p(0<p<1)に基づくABS(Asymmetric Binary Systems)によるデータ圧縮方法を実行する演算回路を備え、前記演算回路において、
前記出現率pとしては無理数が用いられ、前記二値の一方に関する力学系である第一力学系及び前記二値の他方に関する力学系である第二力学系のそれぞれにおける不動点の個数が同時に1を超えず、かつ、同時に0をとらない
【0008】
また、本発明の他の一態様に係る情報処理装置は、上記の前記データ圧縮方法を用いて圧縮された圧縮後データのバイナリデータストリームのABSによるデータ展開方法を実行する演算回路を備え、前記演算回路が実行する前記ABSによるデータ展開方法では、実行された前記データ圧縮方法で用いられた出現率pが用いられ、前記第一力学系及び前記第二力学系のそれぞれにおける不動点の個数は、実行された前記データ圧縮方法での個数である。
【0009】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム、又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本発明に係る情報処理装置等は、ABSによるアルゴリズムを用いてのデータストリームの圧縮を、実用面から見て妥当な実行がより安定的に可能である。
【図面の簡単な説明】
【0011】
図1図1は、本発明において用いられる定義に基づく既約である自然数及び既約でない自然数の例を示す表である。
図2図2は、ABSに基づく復号化関数の簡約表の一例である。
図3図3は、ABSに基づく符号化関数の簡約表の一例である。
図4図4は、ストリーム型ABSによる符号化の進行過程の例を示す。
図5図5は、ストリーム型ABSによる復号化の進行過程の例を示す。
図6図6は、実施形態に係る情報処理装置が備える演算回路の機能的構成の一例を示すブロック図である。
図7図7は、実施の形態に係る情報処理装置の動作手順の一例を示すフロー図である。
図8図8は、実施の形態に係る情報処理装置の動作手順の他の例を示すフロー図である。
【発明を実施するための形態】
【0012】
(1.本発明の基礎となった知見)
非特許文献2の指摘によると、ABSの状態集合に含まれる状態の個数を定める自然数を状態パラメータlとし、ABSによるアルゴリズムへの入力である、圧縮対象であるバイナリデータストリームの二値のうちの一方の出現率をp(0<p<1)とした場合、非特許文献1にはl及びpの与え方の原理が示されていない。また、ABSのデータ圧縮アルゴリズムが正常に機能しない状況を招き得るpとlとが存在する。特にp=1/2の近傍の場合、ABSの状態集合に関してのマルコフ連鎖が既約であるとしても、lとして非常に大きな値を与える必要があり、実用面から見て妥当な符号化を実行することができない状況に陥る。例えば、通信データストリームの圧縮及び展開に用いられているデータ圧縮アルゴリズムでこのような状況が発生すれば、計算負荷の大きさのために送信側での符号化及び受信側での復号に要する時間は長期化する、又は計算資源が不足して計算不能となる。その結果、データ圧縮の本来の目的である高速で効率的な通信の実現が妨げられる。圧縮対象であるデータストリームの量に適応しつつ、これらのような望ましくない状況を避けることができるp及びlは、ユーザの経験則によって見つけられるのが従来の手法である。
【0013】
本発明者は、出現率p及び状態パラメータlに関して、ABSのアルゴリズムが正常に機能し、妥当なデータ圧縮の実行を可能にするための必要十分条件を見出した。この条件を満たす出現率p及び状態パラメータlを用いることで、ABSの圧縮アルゴリズムによるストリームデータの正常な圧縮(符号化)、また展開(復号)が安定的に実行される。この必要十分条件は、次のように表現することができる。
【0014】
(1)出現率p(0<p<1)が無理数であり、且つ、(2)二値のそれぞれに関する力学系における不動点の個数が同時に1を超えない、つまり二つの力学系それぞれにおける不動点の個数が、0若しくは1であるか、又は一方が2以上であっても他方が0である。
【0015】
ただし、状態パラメータlについては上記の条件の記載に直接は表現されておらず、出現率pとの関係において(2)を成立させるものとして定め得る。以下、この条件について詳述する。
【0016】
[1-1.出現率p及び状態パラメータl]
圧縮対象であるバイナリデータストリームの入力を受けるABS(以下、ストリーム型ABSとも称する)によるアルゴリズムについて、状態の有限集合Jが次に示す式1で定義される。
【0017】
={l,l+1,・・・,2l-1} ...(式1)
【0018】
ここでlは自然数全体がなす集合の元である。集合Jは、自然数lが与えられることで定まり、区間Jとも称する。ここで、本願における既約という表現で意味するところについて定義する。
【0019】
(定義1)区間Jを有するストリーム型ABSによる符号化が既約有限状態マルコフ連鎖で表現されるとき、区間Jは既約であると呼ばれる。また、区間Jが既約であるとき、自然数lを既約であるといい、さらに、ストリーム型ABSを既約であるともいう。
【0020】
例えば、出現率pをp=1/βとする。ここでβ=(1+√5)/2は黄金平均である。このとき、いくつかの自然数lについて上記の定義に照らして既約であるか否かを図1に示す。図1はこの定義に基づく既約である自然数及び既約でない自然数の例を示す表であり、上欄の自然数lが既約であれば、その下欄にチェックが記入されている。
【0021】
また、ストリーム型ABSが既約であるための条件として従来提示されている条件(以下、第一既約条件と称する)の定義を示す。
【0022】
(定義2)出現率pと、区間Jを定める自然数lとが与えられたときに、次に示す式2が満たされることを第一既約条件と称する。
【0023】
【数1】
【0024】
なお、
【数2】
は実数αの整数部分、つまりαを超えない最大の整数(床関数)である。以下ではこの床関数の表記と、実数α以上の最小の整数(天井関数)を表す
【数3】
の表記も用いる。
【0025】
表1に示す既約なlはいずれも第一既約条件を満たす。しかしながら、第一既約条件は、ストリーム型ABSが既約であるための必要条件ではあるが十分条件ではない。このことについて非特許文献2では、ストリーム型ABSによる符号化に対して、既約な区間Jを与える出現率pと自然数lとを特徴付けることが公開問題として提唱されている。
【0026】
本発明者は、この問題に対し以下の解答を提示する。
【0027】
まず、
【数4】
但しs=0,1と定める。ここで、
【数5】
及び
【数6】
である。
【0028】
また、
【数7】
は、区間[0,1]に属する無理数全体がなす集合を表す。
【0029】
(系1)出現率pについて、
【数8】
とし、このときストリーム型ABSが既約であるための必要十分条件は次のとおりである。すなわち、第一既約条件が満たされることに加えて、次の第一条件から第三条件のうちいずれか一つが満たされる。
【0030】
(第一条件)
【数9】
が成立し、且つ、次の条件A又は条件Bが成立する。
条件A:
【数10】
条件B:
【数11】
【0031】
(第二条件)
【数12】
が成立し、且つ、次の条件C又は条件Dが成立する。
条件C:
【数13】
条件D:
【数14】
【0032】
(第三条件)
【数15】
が成立し、且つ、次の条件E又は条件Fが成立する。
条件E:
【数16】
条件F:
【数17】
【0033】
ここで、
【数18】
【数19】
及び
【数20】
である。
【0034】
これにより、ストリーム型ABSによる符号化によって、区間J上の超離散力学系F及びF(本開示における第一力学系及び第二力学系の例)が得られることについては後述の「改良ストリーム型ABS」の節で示す。
【0035】
なお、系1において、第一条件は、F及びFがいずれも区間Jに不動点を持たないことを含意する。また、第二条件は、Fは区間Jに不動点を持たないこと、且つ、Fは区間Jに少なくとも2個の不動点を持つことを含意する。また、第三条件は、Fは区間Jに少なくとも2個の不動点を持つこと、且つ、Fは区間Jに不動点を持たないことを含意する。
【0036】
また、非特許文献1及び2においては、lに対して次に示す式3の条件を満たすことが要請されている。
【0037】
【数21】
【0038】
しかしながら、この条件は区間Jの既約性とは無関係であることが系1からわかる。実際、1/√2<p<1のとき、1/(2p-1)<max{1/p,1/(1-p)}・p=p/(1-p)であり、一方、0<p<1/√2のとき、1/(2p-1)>max{1/p,1/(1-p)}・pである。
【0039】
また、非特許文献2においては、p=1/2近傍にいて区間Jが既約にならないことが実験的に指摘されている。これは、系1により、k(p)=1且つk(p)=1、又はk(p)=1且つk(p)=2のとき、limp→1/2+01/(2p-1)=∞となるからである。
【0040】
以下、この解答を詳細に説明する。
【0041】
[1-2.定義等]
すでに挙げたものもあるが、以下の説明の理解を容易にするために、本願で用いられる表記の説明及び表現の定義を本節にまとめる。
【0042】
集合Aは有限アルファベットを元とし、その濃度は2以上であることを満たすとする。また、集合Aの元を、文字又は記号とも呼ぶ。
【0043】

【数22】
を、長さn(nは1以上)の集合A上のブロック又は語と呼び、また、単にnブロックとも称する。集合A上のブロック全体の集合を表すのにAを用いる。
【0044】
空ブロックを表すのにεを用い、A=A∪{ε}と定める。
【0045】
ブロックu∈Aに対して、uの長さを表すのに|u|を用いる。一方、|ε|=0と定める。
【0046】
nブロックu=u・・・uの因子(ファクター)又は部分ブロック又は部分語は、形式ui+1・・・uからなるブロックである。ここで、
【数23】
である。
【0047】
慣習により、空ブロックは全てのブロックの因子である。
【0048】
【数24】
は非負整数全体がなす集合を表す。
【0049】
【数25】
は集合A上の片側(右側)無限列全体がなす集合を表し、この集合に属する点又は語
【数26】
に対して、
【数27】
と書く(「語」は有限ブロックに限定されず、無限列を指しても用いられる)。ここで、iはj以下である。
【0050】
【数28】
に対して、xの言語を表すのにL(x)を用い、L(x)は、次に示す式4で定義される。
【0051】
【数29】
【0052】
また、
【数30】
に対して、
【数31】
と定める。
【0053】
(定義3)列
【数32】
がスツルム的(Sturmian)であるといわれるのは、全ての
【数33】
に対し、L(x)の濃度に関して次に示す式5が成り立つときである。
【0054】
【数34】
【0055】
列xがスツルム的であるならば、L(x)の濃度は2である。ゆえに、スツルム列は2文字上の列である。本願ではスツルム列を対象としているので、以下、A={0,1}の場合を考える。
【0056】
例えば、f=0及びf=01とする。2以上であるnに対して、f=fn-1n-2と定める。このとき、次に示す式6で表される有限語の列が得られる。
【0057】
【数35】
【0058】
n→∞とすると、次に示す式7で表される無限語が得られる。
【0059】
【数36】
【0060】
0以上であるnに対して、|fn+2|=|fn+1|+|f|が成り立つので、fはフィボナッチ語と呼ばれる。フィボナッチ語がスツルム列であることはよく知られている。
【0061】
(定義4)二値nブロックu=u...u∈{0,1}に対して、uの高さをh(u)で表して、次に示す式8で定める。
【0062】
【数37】
【0063】
言い換えると、h(u)はuに出現する1の総数である。
【0064】
(定義5)ブロックの集合Xが平衡であるのは、次に示す式9が成り立つときである。
【0065】
【数38】
【0066】
無限語
【数39】
が平衡であるといわれるのは、L(x)が平衡であるときである。
【0067】
(定義6)無限語x=u...が結果的に周期的といわれるのは、非負整数全体がなす集合の元であるmと、自然数全体がなす集合の元であるlとが存在して、m以上である全てのnに対してx=xn+1が成り立つときである。無限語が結果的に周期的でないならば、非周期的であるといわれる。
【0068】
また、スツルム列の特徴付けとして、次の定理が知られている。
【0069】
(定理1)無限語
【数40】
がスツルム的であるのは、xが平衡且つ非周期的であるときであり、またその時に限る(非特許文献3参照)。
【0070】
[1-3.ABS]
次に、ABSについて説明する。
【0071】
(定義7)α,ρ∈[0,1]とする。2つの無限語
【数41】
及び
【数42】
をそれぞれ、
【数43】
に対して、次に示す式10及び式11で定める。
【0072】
【数44】
【数45】
【0073】

【数46】
及び語
【数47】
はそれぞれ、傾きαと切片ρとを有する上機械語及び下機械語と呼ばれる。
【0074】
非特許文献1に基づけば、ABSの定義は以下のとおりである。
【0075】
【数48】
に対して、非特許文献1においては、
【数49】
又は
【数50】
が選択される。本願では、後者とする。なお、いずれの選択においてもx=x-xと定める。
【0076】
【数51】
と置いて、ブロック符号
【数52】
がD(x)=(s,x)により定義される。これをABSにおける復号化関数と呼ぶ。復号化関数は、次に示す式12で与えられる。すなわち、
【数53】
である。
【0077】
なお、D(x)が取る値の第1座標sは、ちょうど傾きpと切片0とを有する下機械語の第x項である。すなわち、s=sp,0(x)。ここで、
【数54】
また、xは、sp,0の最初のxブロックの高さである。すなわち、
【数55】
ここでxは自然数全体がなす集合の元である。
【0078】
ここで、例えば出現率pをp=1/βとする。β=(1+√5)/2は黄金平均である。このとき、ブロック符号
【数56】
及び
【数57】
の簡約表をそれぞれ図2及び図3に示す。図2は、ABSに基づく復号化関数の簡約表の一例である。図3はABSに基づく符号化関数の簡約表の一例である。
【0079】
任意の初期状態
【数58】
を用いて、二値ブロックu∈{0,1}は、Cによって終端状態tに符号化される。逆に、iを終端状態とみなすことにより、tはDによってuに復号化される。
【0080】
例えば、i=2とu=100に対して、図3に示す表を用いることにより、ブロックuを右から左、つまり100を0、0、1の順に読んで符号化過程が
【数59】
と進み(図3の矢印参照)、終端状態t=22が得られる(図3の点線の丸囲み参照)。
【0081】
逆に、終端状態t=22に対して、図2に示す表を用いることにより、復号化過程がD(22)=(1,13)→D(13)=(0,5)→D(5)=(0,2)と進み(図2の矢印参照)、i=2で終了する。
【0082】
Dの第1座標の列(図2の点線の丸囲み参照)により、100を得る。
【0083】
[1-4.ストリーム型ABSによる符号化及び復号化]
まず、上記の第一既約条件を仮定する。
【0084】
ストリーム型ABSによる符号化においては、任意の初期状態i∈Jを用いて、二値nブロックu=u...u∈{0,1}が、終端状態tと放出記号(emitted symbol)からなる高々長さnの二値ブロックとに符号化される。非特許文献2に従ってそのアルゴリズムを式13として次に示す。
【0085】
【数60】
【0086】
逆に、tは、次に示す式14のアルゴリズムによって、式13中、"Emit mod(x,2);x:=[x/2];"で決定された放出記号を、得られた順序の逆向き(すなわち、最後の記号から最初の記号の順)に用いてuに復号化される。
【0087】
【数61】
【0088】
ここで、例えば出現率pをp=1/βとする。β=(1+√5)/2である。状態パラメータl=10のとき、l=4及びl=6となり、
【数62】
【数63】
及び
【数64】
が得られる。各区間の列の濃度について、
【数65】
に注意する。
【0089】
例えばi=13及びu=100とする。初めに、u=100に対応して、区間の列
【数66】
【数67】
及び
【数68】
を得る。ブロックu及び区間の列は右から左に処理され、この例に対して式13のアルゴリズムを用いて、終端状態t=16と放出記号列110が得られる。図4は、この例におけるストリーム型ABSによる符号化の進行過程を示す。逆に、終端状態t=16に対して、放出記号列を右から左に読んで、式14のアルゴリズムを用いて、復号化過程はi=13で終了する。Dの第1座標の列により、100が得られる。図5は、この例におけるストリーム型ABSによる復号化の進行過程を示す。
【0090】
[1-5.改良ストリーム型ABS]
次に、本発明に係る情報処理装置等で利用するストリーム型ABS(本願では便宜的に改良ストリーム型ABSとも称する)について説明する。
【0091】
機械語により、無限列を特徴づける。ここで、以下で用いる機械的という表現の定義を示しておく。
【0092】
(定義8)無限語
【数69】
とする。[0,1]に属する、あるαとρとが存在して、
【数70】
又は
【数71】
が成り立つとき、無限語xは機械的であると呼ばれる。特に、αが無理数であるとき、xは無理数機械的であると呼ばれる。
【0093】
機械語とスツルム列との関係について、次の定理が知られている。
【0094】
(定理2)無限語
【数72】
がスツルム的であるのは、xが無理数機械的であるときであり、またその時に限る(非特許文献3参照)。
【0095】
次の補題は、第一既約条件をストリーム型符号化により特徴づける。
【0096】
(補題1)出現率pについて、
【数73】
とする。このとき、全てのs∈{0,1}に対して、次に示す式15が成り立つのは、第一既約条件が満たされるときであり、またそのときに限られる。
【0097】
【数74】
【0098】
なお、ストリーム型ABSにおいて、出現率pには従来有理数が用いられている(非特許文献1、2参照)。一方、出現率pが無理数であるという仮定をしないと、ストリーム型ABSにおいてs=sp,0が無理数機械的でない。すなわち、上述の定理2によりsp,0がスツルム的でないため、補題1が成り立つとは限らない。
【0099】
ストリーム型ABSによる符号化における次に示す式16で表されるwhileループを考える。ここで、i∈J及びu∈{0,1}である。
【0100】
【数75】
【0101】
各s∈{0,1}に対して、whileループに基づく写像
【数76】
をt=g(i)により定める。whileループのアルゴリズム並びに
【数77】
及び
【数78】
の定義により、各s∈{0,1}に対して、g
【数79】
から
【数80】
への全射であることが非特許文献1により示されている。
【0102】
このようにして、各s∈{0,1}に対して、次に示す式17で定義される、
【数81】
からそれ自身の中への写像Fsが得られる。
【0103】
(x)=C(s,g(x)),x∈J ...(式17)
【0104】
各s∈{0,1}に対して、整数方程式F(x)=xかつx∈Jを解くことにより、次に述べる補題2を得る。
【0105】
(補題2)全てのs∈{0,1}に対して式15が成立するとする。このとき、Fが高々1個の不動点を有するのは、次に示す式18が成立するときであり、また、このときに限られる。
【0106】
【数82】
【0107】
また、Fが高々1個の不動点を有するのは、
【数83】
が成立し、且つ、次に示す式19が成立するときか、
【数84】
又は、
【数85】
が成立し、且つ、次に示す式20が成立するときのいずれかである。
【0108】
【数86】
【0109】
二値nブロックu=u...u∈{0,1}に対して、
【数87】
の合成関数を簡単のため、次に示す式21を用いて表す。
【0110】
【数88】
【0111】
式21は、数式記号で表せば
【数89】
である。記号において、合成における関数列の順序とブロックにおける文字列の順序とが逆であることに注意する。この記号を用いると、ストリーム型ABSが既約であることが次のように定式化される。
【0112】
ストリーム型ABSが既約であることは次のように換言することができる。Jに属する任意のi及びtに対して、あるnブロックu∈{0,1}が存在して、t=F(i)を満たす。
【0113】
このようにして、補題2を用いて次に述べる補題3を得る。
【0114】
(補題3)全てのs∈{0,1}に対して、補題1にて示した(式15)が成立するとする。このとき、系1における第一条件、第二条件及び第三条件のうち一つが成立するのは、Jに属する任意のi及びtに対して、あるnブロックu∈{0,1}が存在してt=F(i)を満たすときであり、またそのときに限られる。
【0115】
以上により、次に述べる定理3を得る。
【0116】
(定理3)出現率pについて、
【数90】
とする。このとき、自然数全体がなす集合における区間Jが既約であるのは、すべてのs∈{0,1}に対して、補題1にて示した(式15)が成立し、且つ系1における第一条件、第二条件及び第三条件のうち一つが成立するときであり、また、そのときに限られる。
【0117】
このようにして、補題1及び定理3により、上記で述べた公開問題に対する解答である系1が得られる。
【0118】
[1-6.改良ストリーム型ABSに用いられる無理数に関する補足]
改良ストリーム型ABSによる符号化及び復号化において、無理数であるpが出現率として用いられて重要な役割を果たすこと上述のとおりである。しかし、コンピュータでは無理数を直接扱うことは不可能である。このことは、無理数を用いるという着想を困難にする一方で、改良ストリーム型ABSは実用性に欠けるという印象を与え得ると懸念される。また、ユーザは改良ストリーム型ABSの使用を望みながらもpが有理数の場合にこれをためらうことも懸念される。本節では、これらの懸念が改良ストリーム型ABSにおいて問題とはならないことを示す。
【0119】
まず、出現率pが有理数の場合については、以下に述べる実数のβ進展開が知られているため、無理数β>1を固定することで、所望の有理数を容易に近似することができる。
【0120】
基数β>1を考える。ここでβは実数である。β変換Tβは次に示す式22で定義される。
【0121】
【数91】
【0122】
変換Tβのn回反復は、
【数92】
で表される。これは、
【数93】
及びn=1,2,・・・に対して
【数94】
と帰納的に定義される。このとき、x∈[0,1)の貪欲β展開は、次に示す式23で定義されている。
【0123】
【数95】
【0124】
ここで、
【数96】
貪欲算法により得られるディジットx(n=1,2,・・・)はアルファベット
【数97】
に属する数である。
【0125】
例えば、β=(1+√5)/2のとき、1/3は、次に示す式24のように展開される。
【0126】
【数98】
【0127】
β>1が無理数であり、x∈[0,1)が有理数であるとき、式23で定義されているβ展開をn桁で打ち切れば、次に示す式25で表される無理数を得る。
【0128】
【数99】
【0129】
これは有限β展開によるxの近似であり、xと式25との誤差は次に示す式26で評価される。
【0130】
【数100】
【0131】
式26中、右辺のoは、Landauの記号であり、
【数101】
である。
【0132】
最後に、出現率pについて
【数102】
であるとき、下機械語
【数103】
を、非特許文献4に従い、次に示す式27及び式29により求める。
【0133】
【数104】
【0134】
スツルム列sp,pは特性列(characteristic sequence)と呼ばれ、cで表される。すなわち、c=sp,pである。
【0135】
次に示す、無理数pの連分数展開である式28を、p=[0,a,a,a,・・・]で表す。
【0136】
【数105】
【0137】
このとき、自然数全体がなす集合の元である各iに対して、
【数106】
であり、aはpの第i部分商と呼ばれる。得られた部分商列
【数107】
に対して、ブロック列
【数108】
を次に示す式29のように定める。
【0138】
【数109】
【0139】
ここで、
【数110】
に対して、
【数111】
及び
【数112】
このとき、
【数113】
である。
【0140】
例えば、出現率p=1/β、β=(1+√5)/2のとき、p=[0,1,1,1・・・]。
【0141】
【数114】
【0142】
c=101101011011010110101・・・。
【0143】
p,0=0c=0101101011011010110101・・・。
【0144】
となり、得られたsp,0=0cは、図2に示す表のsに一致する。
【0145】
なお、ここまでの本発明が基づく理論の説明で例に用いた出現率pは、黄金平均を用いて得られる二次無理数であるが、本発明で意図される出現率pは二次無理数に限定されない。二次無理数ではない無理数である出現率pを用いても同様の効果が得られる。なお、二次無理数である場合には、式28の展開が周期的になるため、実装がより容易である。二次無理数ではない場合には、所望の精度に応じて2l-1ビット(ディジット)(有限値)だけスツルム列sp,pを求めればよい。
【0146】
[1-7.小括]
上記に説明したとおり、改良ストリーム型ABSの圧縮アルゴリズムが正常に機能するための出現率p及び状態パラメータlの関する必要十分条件が与えられる。本発明に係る情報処理装置等は、これらの条件を満たす出現率p及び状態パラメータlを圧縮アルゴリズムの入力として用いる。これにより、大量のバイナリデータストリームの効率的且つ高速な送受信をより安定させることができる。そして、例えば5G(第5世代移動通信システム)に対応する機器が普及するIoT(Internet of Things)の時代において、爆発的な増加が想定される通信データのより円滑な伝送を実現し、社会及び個人が受けるIoTの恩恵をより確実なものとする。またこのような圧縮技術は、5Gに対応するものに限られない機器間の通信データの、今後のさらなる増加に対応するための伝送路の敷設及び拡充に要する社会的負荷を結果的に抑え、高度情報化をより確実に支え、また、促進させ得る。
【0147】
(2.実施の形態)
以下、本発明の実施の形態について。なお、以下で説明する実施の形態は、包括的又は具体的な例を示すものである。示される数値、形状、材料、構成要素、構成要素の位置、配置及び接続形態、ステップ、ステップの順序等は一例であり、本発明を限定する趣旨ではない。
【0148】
[2-1.構成]
図6は、本実施の形態に係る情報処理装置が備える演算回路の機能的構成の一例を模式的に示すブロック図である。
【0149】
本開示における情報処理装置とは、内部で何らかの情報処理を行ない、通信機能を備える各種の機器であり、例えばパーソナルコンピュータ、タブレット型コンピュータ、サーバ用コンピュータ、スマートフォン、アクティブトラッカーである。また、IoT時代の到来に鑑みて、内部で何らかの情報処理を行ない、通信機能を備えるものであれば、従来は情報処理装置としては想起されなかったその他の各種機器又は移動体もまた、本開示における情報処理装置が指すところである。その他、これらの機器間の通信を制御、中継又は監視する各種機器も本開示における情報処理装置に含まれ得る。さらに、これらの機器を構成する要素であって、各機器においてその情報処理機能又は通信機能を提供するものも、本開示における情報処理装置に含まれてよい。これらの情報処理装置が行う通信が有線通信であるか無線通信であるかは問わず、またデータ信号を搬送するための媒体も問わない。
【0150】
これらのような情報処理装置において、この演算回路は、入力を受けたデータストリームに対して上述の改良ストリーム型ABSの圧縮アルゴリズムによる圧縮方法を実行し、圧縮後のデータを出力する。
【0151】
演算回路10は、入力部20、出力部30、メモリ40及びプロセッサ50を備える。
【0152】
入力部20は、圧縮処理の対象であるデータストリームの入力を受ける。
【0153】
演算回路10に入力されるデータストリームは、例えば情報処理装置が備える通信モジュールによって外部の機器から受信されるものである。また別の例として、情報処理装置が備える又は直接接続される機器がこのデータストリームのソースであってもよい。より具体的には、撮像素子が生成する動画データ、センサが出力する測定データ、記録媒体から読み出される音声データ等がデータストリームとして刻々と入力部20に入力されてもよい。
【0154】
メモリ40は記憶装置であり、改良ストリーム型ABSの圧縮アルゴリズムを記述したプログラムを保持する。
【0155】
プロセッサ50は、メモリ40が保持するこのプログラムを実行する。これにより、演算回路10によって、入力部20が入力を受けた圧縮処理の対象であるデータストリームに対する改良ストリーム型ABSによるデータ圧縮方法が実行される。
【0156】
出力部30は、プロセッサ50が上記プログラムを実行した結果として生成された圧縮後のデータを出力する。圧縮後のデータは、例えば当該情報処理装置が備える通信モジュールを介して外部の機器に送信される。または、当該情報処理装置が備える、又は当該情報処理装置に接続されている記録装置において記録媒体に記録されてもよい。
【0157】
なお、改良ストリーム型ABSによるデータ圧縮方法を用いて圧縮された圧縮後のデータは、この圧縮後のデータの入力をデータストリームの形で受ける情報処理機器において、改良ストリーム型ABSによるデータ展開方法を用いて展開される。この改良ストリーム型ABSによるデータ展開方法を実行する情報処理装置の機能的構成もまた、図6に示されるブロック図に表される。この場合、入力部20が入力を受けるのは、改良ストリーム型ABSによるデータ圧縮方法を用いてなされた圧縮後のデータである。また、プロセッサ50が実行する改良ストリーム型ABSによるデータ展開方法によって展開された展開後のデータが、出力部30から出力される。
【0158】
[2-2.動作]
上記の構成を有する演算回路を備える本実施の形態に係る情報処理装置の動作について説明する。図7は、本実施の形態に係る情報処理装置の動作手順の一例を示すフロー図である。
【0159】
(ステップS10)情報処理装置において、演算回路10に圧縮処理の対象であるデータストリームが入力される。演算回路10では、入力部20がこのデータストリームの入力を受ける。
【0160】
(ステップS30)プロセッサ50は、演算回路10が入力を受けたデータストリームが含む0又は1の一方の出現率を算出して取得する。
【0161】
(ステップS50)プロセッサ50はさらに、改良ストリーム型ABSのアルゴリズムへの入力として用いる出現率p及び状態パラメータlを、上記「1-1.出現率p及び状態パラメータl」の節で説明した系1の条件を満たすよう決定する。すなわち、出現率pは0<p<1の無理数であって、圧縮処理の対象であるデータストリームが含む二値のそれぞれに関する力学系における不動点の個数が同時に1を超えないよう、出現率p及び状態パラメータlが決定される。このように決定された出現率pは例えばステップS30で算出された出現率に近似する値をとり、状態パラメータlは、この出現率pと共に第一条件から第三条件のうちいずれか一つを満たす。
【0162】
(ステップS70)プロセッサ50は、決定した出現率p及び状態パラメータlを用いてABSを実行する。これにより、演算回路10に入力されたデータストリームは符号化されてより小さな別のデータが生成される、つまり圧縮される。
【0163】
(ステップS90)圧縮後のデータが、演算回路10の出力部30から出力される。
【0164】
出力された圧縮後のデータは、例えば情報処理装置が備える通信モジュールから直接、又は通信回線を通じて外部の機器に向けて送信される。
【0165】
なお、実装に際しては、ステップS50における状態パラメータlは、出現率pが決定されると、第一条件、第二条件及び第三条件の三つの条件のいずれか一つを満たすものを求めて用いるよう任意に設計することができる。例えば情報処理装置において、決定された出現率pと共に第一条件を満たす最小のlを求めるよう記述されたプログラムが実行されてもよい。より具体的には、例えば出現率の表現に用いる無理数β(例えば二次無理数である黄金平均)及び桁数nが設計段階にて予め定められる。情報処理装置では、圧縮対象のデータストリーム中の0及び1の出現頻度(出現率)が求められると、この出現率pがβ展開(p=1/β+1/β+…+1/β)によって表現される(出現率pの決定)。そして、この出現率pと共に第一条件を満たす最小のlが求められる(状態パラメータlの決定)。最小のlを用いるのは、データの圧縮、及び圧縮されたデータの展開に要する演算負荷を抑えるためである。また、圧縮されたデータを展開する情報処理装置についても、実装に際しては、データを圧縮する情報処理装置と共通の出現率p及び状態パラメータを用いるよう設計されて取得済みである。
【0166】
次に、改良ストリーム型ABSによるデータ圧縮方法を用いて圧縮された圧縮後のデータを取得した機器の動作について説明する。図8は、圧縮後のデータを受信した本実施の形態に係る情報処理装置の動作手順の一例を示すフロー図である。
【0167】
(ステップS20)情報処理装置において、演算回路10に展開処理の対象であるデータストリーム、つまり上記の動作手順で出力された圧縮後のデータのデータストリームが入力される。演算回路10では、入力部20がこのデータストリームの入力を受ける。
【0168】
(ステップS40)プロセッサ50は、入力部20が入力を受けたデータストリームが示す値から、データの圧縮に用いられた出現率p及び状態パラメータlを用いてABSによるデータ展開方法を実行する、つまり圧縮前のバイナリのデータストリームを取得する。
【0169】
(ステップS60)展開後のデータが、演算回路10の出力部30から出力される。
【0170】
出力された展開後のデータは、例えば情報処理装置が備える、又は接続される記録装置で記録媒体に記録されたり、表示器又はスピーカを通じてユーザに提示されたりする。または、このデータが情報処理装置に対する命令を含む場合に、その命令に従う動作をさらに実行する。
【0171】
[2-3.その他]
以上のように、本発明に係る技術の例示として実施の形態を説明した。しかしながら、本発明に係る技術は、上記実施の形態に限定されず、実施の形態に適宜、変更、置き換え、付加、省略等を行った変形も可能である。例えば、以下のような変形も本発明の一実施態様に含まれる。
【0172】
上記実施の形態における情報処理装置は、演算回路が改良ストリーム型ABSのアルゴリズムを記述したソフトウェアを実行することによってデータストリームの圧縮又は展開を実現するものであったが、これに限定されない。例えば演算回路は、当該アルゴリズムの全部又は一部をハードウェアで実現される論理回路であってもよい。具体例として、製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)による実現が挙げられる。
【0173】
また、上記の演算回路を構成する構成要素の各部は、個別に1チップ化されていてもよいし、一部又は全部を含むように1チップ化されてもよい。
【0174】
また、上記実施の形態で示した動作手順(図7図8参照)の実行順序は、必ずしも、上述した通りの順序に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えたり、複数の手順を並列に行ったり、その手順の一部を省略したりすることができる。また、各ステップの処理内容は、上述の説明に限定されない。例えば、図7に示すステップS50では、無理数であるpが、式26を用いる算出される誤差に基づく評価に照らして決定されてもよい。
【0175】
また、本発明の一態様としては、図7又は図8に示す処理手順の全部又は一部を含む情報処理方法であってもよい。また、本発明の一態様としては、この情報処理方法に係る所定情報処理をコンピュータにより実現するためのプログラム(コンピュータプログラム)であってもよいし、このプログラムを示すデジタル信号であってもよい。
【0176】
また、本発明の一態様としては、上記のプログラム又はデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものであってもよい。また、これらの記録媒体に記録されている上記のデジタル信号であってもよい。
【0177】
また、本発明の一態様としては、上記のプログラム又はデジタル信号を電気通信回線、無線又は有線通信回線、インターネットに代表されるネットワーク、データ放送等を経由して伝送するものであってもよい。
【0178】
その他、上記実施の形態及び変形例で示した各構成要素及び構成を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【0179】
本発明は、データストリームを圧縮して送受信する情報処理機器において利用可能である。
【符号の説明】
【0180】
10 演算回路
20 入力部
30 出力部
40 メモリ
50 プロセッサ
図1
図2
図3
図4
図5
図6
図7
図8