(57)【要約】  本技術は、圧縮効率を向上させることができるようにするデータ処理装置、データ処理方法、プログラムに関する。圧縮センシングにより圧縮する第１の圧縮部と、第１の圧縮部からの観測係数を第１の圧縮部とは異なる圧縮方法で圧縮する第２の圧縮部とを備える。第１の圧縮部は、サンプリングマトリックスを用いたランダムサンプリングを行い、サンプリングマトリックスは、第２の圧縮部の圧縮に最適化されている。サンプリングマトリックスは、観測係数同士の差分値が小さくなるように設計されたマトリックスである。本技術は、画像データを撮像し、圧縮し、記録、再生する記録再生装置に適用できる。
2017183448.tif 000002
【特許請求の範囲】
【請求項１】
圧縮センシングにより圧縮する第１の圧縮部と、
前記第１の圧縮部からの観測係数を前記第１の圧縮部とは異なる圧縮方式で圧縮する第２の圧縮部と
を備えるデータ処理装置。
【請求項２】
前記第２の圧縮部は、前記第１の圧縮部からの観測係数と予測値との差分値を算出し、前記差分値を圧縮する
請求項１に記載のデータ処理装置。
【請求項３】
前記第１の圧縮部は、サンプリングマトリックスを用いたランダムサンプリングを行い、
前記サンプリングマトリックスは、前記第２の圧縮部の圧縮に最適化されている
請求項２に記載のデータ処理装置。
【請求項４】
前記サンプリングマトリックスは、前記差分値が小さくなるように設計されたマトリックスである
請求項３に記載のデータ処理装置。
【請求項５】
前記第１の圧縮部で圧縮されるデータは、画像データであり、
前記サンプリングマトリックスは、画像内の空間的な相関が高い順に、前記観測係数が並ぶように設計されたマトリックスである
請求項３に記載のデータ処理装置。
【請求項６】
前記サンプリングマトリックスは、ＲＩＰ（Restricted Isometry Property）制約と、サンプリングマトリックスの行ベクトルと、スパース係数行列の列ベクトルが、インコヒーレントであるという制約を満たすサンプリングマトリックスとして生成され、
生成されたサンプリングマトリックスの行ベクトルを、画像内の空間的な相関が高い順に、前記観測係数が並ぶように入れ替えることで生成されたサンプリングマトリックスである
請求項３に記載のデータ処理装置。
【請求項７】
前記第２の圧縮部は、前記観測係数を符号化する符号化部を備える
請求項１に記載のデータ処理装置。
【請求項８】
前記第２の圧縮部は、前記差分値を量子化する量子化部と、
前記量子化部により量子化された前記差分値を符号化する符号化部と
を備える
請求項２に記載のデータ処理装置。
【請求項９】
前記予測値は、隣接する観測係数である
請求項２に記載のデータ処理装置。
【請求項１０】
前記観測係数と前記予測値との差分を算出し、その差分値を圧縮するモードと、前記観測係数を前記差分値として圧縮を行うモードを、前記観測係数毎に設定する
請求項２に記載のデータ処理装置。
【請求項１１】
前記第１の圧縮部で圧縮されるデータは、所定の大きさのブロックに分割された画像の画像データであり、
前記観測係数と前記予測値との差分を算出し、その差分値を圧縮するモードと、前記観測係数を前記差分値として圧縮を行うモードを、前記ブロック毎に設定する
請求項２に記載のデータ処理装置。
【請求項１２】
前記第２の圧縮部は、前記差分値を量子化する量子化部と、
前記量子化部により量子化された前記差分値を符号化する符号化部と
を備え、
前記量子化部の量子化値は、前記ブロック毎に設定される
請求項１１に記載のデータ処理装置。
【請求項１３】
前記ブロック毎に、前記観測係数の符号化難易度を算出し、
前記符号化難易度により、前記量子化値を設定する
請求項１２に記載のデータ処理装置。
【請求項１４】
前記観測係数と前記予測値との差分を算出し、その差分値を圧縮するモードと、前記観測係数を前記差分値として圧縮を行うモードを、前記ブロック毎に前記符号化難易度により設定する
請求項１３に記載のデータ処理装置。
【請求項１５】
前記第１の圧縮部で圧縮されるデータは、画像データであり、
前記画像データを低域成分と高域成分に分割する帯域分割部をさらに備え、
前記第２の圧縮部は、前記帯域分割部により分割された前記画像データのうち、前記高域成分を圧縮する
請求項１に記載のデータ処理装置。
【請求項１６】
前記低域成分は、前記圧縮センシング以外の方式で圧縮される
請求項１５に記載のデータ処理装置。
【請求項１７】
前記第１の圧縮部で圧縮されるデータは、所定の大きさのブロックに分割された画像の画像データであり、
前記ブロックは、固定長で圧縮され、
前記第２の圧縮部は、圧縮後の前記低域成分のビット長を、設定されている前記固定長のビット長から減算したビット長以内で、前記高域成分を圧縮する
請求項１５に記載のデータ処理装置。
【請求項１８】
圧縮センシングにより圧縮し、
前記圧縮の結果である観測係数を符号化する
ステップを含むデータ処理方法。
【請求項１９】
コンピュータに、
圧縮センシングにより圧縮し、
前記圧縮の結果である観測係数を符号化する
ステップを含む処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術はデータ処理装置、データ処理方法、プログラムに関し、例えば、圧縮センシングを用いてデータを効率良く圧縮するようにしたデータ処理装置、データ処理方法、プログラムに関する。
【背景技術】
【０００２】
近年、「圧縮センシング」と呼ばれる技術が開発されている。圧縮センシングを、例えば、撮像時に複数の画素の画素値（電荷信号）を加算することによって画像の情報量を圧縮し、画像のスパース性を利用した画像復元を行うときに用いることが提案されている（例えば、非特許文献１を参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】J. Ma, “Improved Iterative Curvelet Thresholding for Compressed Sensing and Measurement,” IEEE Transactions on Instrumentation and Measurement, vol.60, no.1, pp.126-136, 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
圧縮センシングにおいて従来の手法では、ランダムサンプリングによりデータを合成し、その合成数を少なくすることで、圧縮を実現している。データの圧縮率を向上させる場合、データの合成数をより小さくすることとなる。しかしながら、合成数を小さくすることにより、適切なスパース行列を求めることが困難となり、適切に画像を再構成することが困難になる可能性があった。【０００５】
また、画像を再構成できる場合でも、参照データ数の削減による画質劣化は大きくなってしまう可能性がある。【０００６】
また、ランダムサンプリングデータにデータ圧縮を適用する手段もあるが、ランダムサンプリングされたデータは、近隣画素との相関が低いなど、一般的な画像とは、その性質が大きく異なるため、既存の圧縮アルゴリズムでは、効率的な圧縮が行えない可能性があった。【０００７】
本技術は、このような状況に鑑みてなされたものであり、圧縮率を向上させることができるようにするものである。
【課題を解決するための手段】
【０００８】
本技術の一側面は、圧縮センシングにより圧縮する第１の圧縮部と、前記第１の圧縮部からの観測係数を前記第１の圧縮部とは異なる圧縮方式で圧縮する第２の圧縮部とを備えるデータ処理装置である。【０００９】
本技術の一側面は、圧縮センシングにより圧縮し、前記圧縮の結果である観測係数を符号化するステップを含むデータ処理方法である。【００１０】
本技術の一側面は、コンピュータに、圧縮センシングにより圧縮し、前記圧縮の結果である観測係数を符号化するステップを含む処理を実行させるためのプログラムである。【００１１】
本技術の一側面のデータ処理装置、データ処理方法、並びにプログラムにおいては、圧縮センシングによる圧縮が行われ、圧縮の結果である観測係数が符号化される。【００１２】
なお、データ処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。【００１３】
また、プログラムは、伝送媒体を介して伝送することにより、または、記録媒体に記録して、提供することができる。
【発明の効果】
【００１４】
本技術の一側面によれば、圧縮率を向上させることができる。【００１５】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１６】
【図１】本技術を適用したデータ処理装置の一実施の形態の構成を示す図である。
【図２】データ処理装置の他の構成を示す図である。
【図３】データ処理装置のさらに他の構成を示す図である。
【図４】サンプリングマトリックス演算部の動作について説明するためのフローチャートである。
【図５】圧縮部の構成について説明するための図である。
【図６】サンプリングマトリックスについて説明するための図である。
【図７】サンプリングマトリックスについて説明するための図である。
【図８】サンプリングマトリックスの並び換えについて説明するための図である。
【図９】サンプリングマトリックスの並び換えについて説明するための図である。
【図１０】圧縮部の他の構成について説明するための図である。
【図１１】予測部の構成について説明するための図である。
【図１２】圧縮部から出力されるストリームの一例を示す図である。
【図１３】ブロック分割されたブロックへの番号付与について説明するための図である。
【図１４】復号部の構成について説明するための図である。
【図１５】ストリームの構成について説明するための図である。
【図１６】第２の実施の形態における圧縮部の構成について説明するための図である。
【図１７】テーブルについて説明するための図である。
【図１８】第３の実施の形態におけるデータ処理装置の構成を示す図である。
【図１９】低域、高域の分割例を示す図である。
【図２０】スパース係数行列を学習する装置の構成例を示す図である。
【図２１】第３の実施の形態におけるデータ処理装置の他の構成を示す図である。
【図２２】サンプリングマトリックスについて説明するための図である。
【図２３】第３の実施の形態におけるデータ処理装置のさらに他の構成を示す図である。
【図２４】第４の実施の形態におけるデータ処理装置の構成を示す図である。
【図２５】ブロックの読み出しについて説明するための図である。
【図２６】可変長圧縮におけるメモリマップのイメージを示す図である。
【図２７】固定長圧縮におけるメモリマップのイメージを示す図である。
【図２８】記録媒体について説明するための図である。
【発明を実施するための形態】
【００１７】
以下に、本技術を実施するための形態（以下、実施の形態という）について説明する。なお、説明は、以下の順序で行う。
１．第１の実施の形態
２．データ処理装置の構成
３．サンプリングマトリックス演算部の動作
４．圧縮部の構成、動作
５．サンプリングマトリックスの並び換えについて
６．圧縮部の他の構成
７．予測値の生成について
８．復号部の構成、動作
９．第２の実施の形態
１０．第３の実施の形態
１１．第４の実施の形態
１２．記録媒体について
【００１８】
＜第１の実施の形態＞
＜データ処理装置の構成＞
本技術は、データを圧縮する装置に適用できる。ここでは、イメージセンサで撮像された画像を記録、再生する装置に適用した場合であり、記録する際にデータを圧縮する装置を例に挙げて説明するが、画像に限らず、音声などのデータを取得し、圧縮する装置に対しても、以下に説明する本技術を適用することはできる。
【００１９】
図１は、本技術を適用したデータ処理装置の一実施の形態の構成を示す図である。図１に示したデータ処理装置１０は、イメージセンサ２０、ブロック分割部２１、ランダムサンプリング部２２、圧縮部２３、記録部２４、サンプリングマトリックス保持部２５、サンプリングマトリックス演算部２６、復号部２７、スパース係数変換部２８、画像再構成部２９、ブロック合成部３０、およびスパース係数行列保持部３１を含む構成とされている。
【００２０】
詳細は以下に説明するが、データ処理装置１０は、イメージセンサ２０で撮像された画像を記録部２４に記録するとき、画像データを圧縮して記録する。その圧縮時に、圧縮センシング（Compressive Sensing）と称される方式を適用して圧縮する。この圧縮センシング方式によると、サンプリングマトリックスという行列を用いて圧縮（行列を用いた演算）を行うが、そのサンプリングマトリックスを圧縮部２３が圧縮しやすいマトリックスにする処理を、サンプリングマトリックス演算部２６は行う。
【００２１】
サンプリングマトリックスは、サンプリングマトリックス保持部２５に保持される。すなわち、サンプリングマトリックス演算部２６は、サンプリングマトリックス保持部２５に保持されるサンプリングマトリックスを生成する（適正化する）。このサンプリングマトリックスを生成するときを、ここでは学習時と称する。
【００２２】
サンプリングマトリックス保持部２５に保持されているサンプリングマトリックスは、基本的な動作としては、更新されることなく用いられる。よって、サンプリングマトリックス演算部２６は、サンプリングマトリックスを生成するとき、すなわち学習時には必要であるが、学習後のデータ処理装置１０では省略することが可能である。
【００２３】
すなわち、学習後のデータ処理装置１０は、図２に示すような構成とすることができる。ここで、学習後のデータ処理装置１０は、データ処理装置５０と記述する。
【００２４】
データ処理装置５０は、図１に示したデータ処理装置１０からサンプリングマトリックス演算部２６を削除した構成とされている点以外は、図１に示したデータ処理装置１０と同様の構成とされている。
【００２５】
さらに、データ処理装置１０（データ処理装置５０）は、イメージセンサ２０で撮像された画像を記録部２４に記録し、その記録された画像データをさらに復号（再生）する機能を備える。すなわち、データ処理装置１０（データ処理装置５０）は、データの記録と再生を行う記録再生装置としての構成を有している。
【００２６】
しかしながら、本技術は、記録再生装置に適用が限定されるわけではなく、記録装置と再生装置が別々に構成とされている場合にも適用できる。図３に、データ処理装置５０を記録装置と再生装置に分けた場合の構成を示す。
【００２７】
データ処理装置１００は、記録装置１０１と再生装置１０２とから構成されており、基本的な構成としては、図２に示した学習後のデータ処理装置５０と同様の構成を含む構成とされている。
【００２８】
データ処理装置１００の記録装置１０１は、イメージセンサ２０、ブロック分割部２１、ランダムサンプリング部２２、圧縮部２３、サンプリングマトリックス保持部２５、および送信部１１１を含む構成とされている。
【００２９】
再生装置１０２は、サンプリングマトリックス保持部２５’、復号部２７、スパース係数変換部２８、画像再構成部２９、ブロック合成部３０、スパース係数行列保持部３１、および受信部１１２を含む構成とされている。
【００３０】
記録装置１０１は、イメージセンサ２０で撮像された画像の画像データを圧縮部２３で圧縮した後、送信部１１１で、再生装置１０２側に送信する。再生装置１０２は、記録装置１０１側から送信されてきた画像データを復号（再生）する。画像データの送受信は、有線、無線のどちらで行われても良く、また有線と無線の組み合わせで行われても良い。
【００３１】
記録装置１０１が備えるサンプリングマトリックス保持部２５と、再生装置１０２が備えるサンプリングマトリックス保持部２５’は、同一のサンプリングマトリックスを保持している。また、保持されているサンプリングマトリックスは、サンプリングマトリックス演算部２６により学習された結果、圧縮に最適化されたサンプリングマトリックスである。
【００３２】
本技術によれば、圧縮効率を向上させることができるため、例えば、図２に示したデータ処理装置５０において、記録部２４にデータを記録するとき、そのデータのデータ量を小さくすることができ、記録部２４の容量を有効に利用することが可能となる。また、図３に示したデータ処理装置１００において、データを送受信するとき、そのデータのデータ量を小さくすることができるため、データ通信の効率を向上させることが可能となる。
【００３３】
以下の説明においては、図１に示したデータ処理装置１０の構成を例に挙げて説明を続ける。まず、データ処理装置１０の動作について説明を加える。
【００３４】
データ処理装置１０のイメージセンサ２０は、ＣＣＤ（Charge-Coupled Device）センサやＣＭＯＳ（Complementary MOS）センサを含む構成とされ、被写体を撮像し、撮像した画像の画像データを生成する。
【００３５】
ブロック分割部２１は、イメージセンサ２０で撮像された画像を、処理ブロック単位に分割し、処理ブロック単位で、ランダムサンプリング部２２に供給する。処理ブロック単位は、設計時に、設計者が任意に設定することができる。なお、全画面を１ブロックとして扱う場合、ブロック分割部２１を省略した構成とすることも可能である。
【００３６】
ここでは、ブロック分割部２１は、１ブロックがｎ×ｎ個の画素からなるブロックに分割する場合を例に挙げて説明を続ける。また以下の説明においては、ｎ×ｎ個の画素を、ｎ2次元のベクトルとして、ｘで表す。
【００３７】
ランダムサンプリング部２２には、ブロック分割部２１から処理ブロック単位の画像データと、サンプリングマトリックス保持部２５からサンプリングマトリックスが供給される。ランダムサンプリング部２２は、ブロック分割部２１からのｘに対して、事前に定められたサンプリングマトリックスを用いて、次式（１）によりランダムサンプリングされた係数ｙを生成する。
【数１】
2017183448.tif 000003
【００３８】
式（１）において、Ａは、サンプリングマトリックスを表す。サンプリングマトリックスは、ｎ2×ｉの行列である。ｎ2は、上記したｎ×ｎ個の処理ブロック単位の画素数に相当する。例えば、処理ブロック単位が４×４個であり、ｉが８であった場合、式（１）に基づく演算が行われることで、ｎ2次元＝１６次元が、ｉ次元＝８次元に圧縮されたことになる。
【００３９】
すなわち、式（１）に基づく演算が行われることで、ｎ2次元がｉ次元に圧縮される。ｉは、設計者がデータ削減数や画質を考慮して任意に設定できる値であるが、通常、ｎ2＞ｉに設定される。またサンプリングマトリックスは、スパース係数行列保持部３１に保持されているスパース係数行列も考慮されて決定される行列である。
【００４０】
サンプリングマトリックスは、ＲＩＰ（Restricted Isometry Property）制約、サンプリングマトリックスの行列Ａの行ベクトルと、スパース係数行列の行列φの列ベクトルが、インコヒーレントである必要がある。ＲＩＰ制約は、次式（２）で表され、式（２）において、Ｚｓは、ｘと同次元の任意のｓに対する任意のs-sparseベクトルである。
【００４１】
【数２】
2017183448.tif 000004
【００４２】
なお、サンプリングマトリックスを用いる圧縮センシング（Compressive sensing）に関しては、以下の文献に記載があり、本技術に適用することも可能である。
“R.Baraniuk, “Compressive sensing [lecture notes], “IEEE Signal Processing Magazine, vol.24,pp.118-121,july 2007.”
【００４３】
サンプリングマトリックスは、サンプリングマトリックス演算部２６により生成される。生成時に、圧縮部２３の圧縮に最適化されたサンプリングマトリックスとされる。最適化に係わる処理、最適化されたサンプリングマトリックスを用いた圧縮などの処理について後述するため、ここでは簡便に説明を続ける。
【００４４】
ここで、サンプリングマトリックスの生成時に考慮されるスパース係数行列について説明を加える。スパース係数行列は、ｊ×ｎ2行列である。一般的に、ｊは、ｊ＞＞ｎ2と設定される。スパース係数行列は、係数データより画像再構成を実施する際にも利用される。
【００４５】
図１に示したデータ処理装置１０において、スパース係数行列は、スパース係数行列保持部３１に保持されている。記録部２４に記憶され、復号部２７で復号された係数データ（上記した式（１）におけるｙに該当する）から、スパース係数変換部２８と画像再構成部２９の処理により画像を再構成するときに、スパース係数行列保持部３１に保持されているスパース係数行列は利用される。
【００４６】
スパース係数行列は、ｎ×ｎ画素の画像の主要構成成分を学習等で計算し、行列形式に変換したものである。主要構成成分は、ｊ＞＞ｎ2となるｊ個のデータで構成され、各主要成分は、スパース基底などと称されることもある。このようなスパース係数行列の生成は、Ｋ−ＳＶＤ法などの手法を用いて生成することができる。
【００４７】
サンプリングマトリックス保持部２５は、上記した手法により、また以下に説明する圧縮に最適化されたサンプリングマトリックスを保持し、ランダムサンプリング部２２は、サンプリングマトリックス保持部２５に保持されているサンプリングマトリックスを用いて、画像データをランダムサンプリングする。
【００４８】
サンプリング後のデータの次元は、上記したように、ｉ次元となり、元の画素数（ここではｎ×ｎ個、ｎ2次元）よりも小さくなり、データは圧縮されたことになる。さらに本技術によれば、後段の圧縮部２３によりさらに圧縮されるため、データはより圧縮される。
【００４９】
圧縮部２３の構成や処理については、後述するとし、先に、データ処理装置１０の動作について説明を続ける。圧縮部２３により圧縮されたデータ（係数データｙ）は、記録部２４に記録される。記録部２４に記録されたデータは、復号部２７により読み出され、復号される。復号部２７は、圧縮部２３における圧縮（符号化）方式に対応する復号方式で復号を行う。
【００５０】
スパース係数変換部２８は、スパース係数行列保持部３１に保持されているスパース係数行列とサンプリングマトリックス保持部２５に保持されているサンプリングマトリックスを用いて、スパース係数ｚを生成する。具体的には、スパース係数行列をφ、サンプリングマトリックスをＡ、スパース係数変換部２８に入力されたデータをｙとすると、次式（３）に基づく演算が行われることで、スパース係数ｚが算出される。
【００５１】
【数３】
2017183448.tif 000005
【００５２】
式（３）において、Ａφｚ＝ｙが満たされ、L0ノルムが最小となるスパース係数ｚが算出される。ただし、実際には、式（３）で厳密解を求めるのは困難であるため、次式（４）などの緩和問題として解かれるようにしても良い。
【００５３】
【数４】
2017183448.tif 000006
【００５４】
また、Matching Pursuit，Basic Pursuit等のアルゴリズムを利用して、スパース係数ｚが求められるようにしても良い。どのような手法を用いても良いが、スパース係数変換部２８の処理により、ランダムサンプリングされたデータｙは、スパース係数ｚに変換され、画像再構成部２９に供給される。
【００５５】
画像再構成部２９は、次式（５）に基づき、画像データを再構成する。
【数５】
2017183448.tif 000007
【００５６】
再構成画像ｘは、スパース係数行列φとスパース係数ｚの積で求められる。この再構成画像ｘは、ブロック分割部２１から出力された画像と同等の画像となるため、ブロック合成部３０にて、ブロック毎の画像が足し合わされることにより、１枚の画像に再構成される。
【００５７】
このようにして、画像データの圧縮、記録、再構成が行われる。なお、ここで示した圧縮センシングの方法は、一例であり、本技術の適用が、この方法に限定されることを示すものではない。
【００５８】
＜サンプリングマトリックス演算部の動作＞
次に、図４に示したフローチャートを参照し、サンプリングマトリックス演算部２６の動作について説明する。
【００５９】
ステップＳ１１において、ＲＩＰ、インコヒーレント制約を満たすサンプリングマトリックスＡが算出される。サンプリングマトリックスＡは、上記したように、ＲＩＰ制約を満たし、サンプリングマトリックスＡの行ベクトルとスパース係数行列φの列ベクトルがインコヒーレントになるように算出される。
【００６０】
また、このような制約を満たすために、サンプリングマトリックスＡは、ガウス分布が利用されることで生成されるようにすることもできる。また、各ブロックの画素数をｎ2とした場合、サンプリングマトリックスＡの任意の行ベクトルＡｉを、平均値が０、分散１／ｎ2とすることが多い。この場合、任意の２つの行ベクトルの内積＜Ａｉ，Ａｊ＞は、０もしくは十分小さい値となり、行ベクトル間の相関は非常に小さくなる。
【００６１】
任意の２つの行ベクトルは、相関が無いため、任意のベクトルｘに対しては、圧縮センシングの観測係数ｙの相関は低い。しかしながら、上記したように、イメージセンサ２０（図１）からの画像データを圧縮センシングで圧縮する場合、空間方向には高い相関が存在すると考えられる。画像データ（画像）は、空間方向に高い相関があることを利用し、圧縮しやすい圧縮センシングの観測係数yを発生可能なサンプリングマトリックスＡが生成されるようにする。
【００６２】
すなわちサンプリングマトリックス演算部２６は、ステップＳ１１において、サンプリングマトリックスＡを算出する。この算出は、従来の手法を用いて行うことができる。そして、生成されたサンプリングマトリックスＡに対して、ステップＳ１２において、サンプリングマトリックスＡの行ベクトルＡｉのソート（並び換え）が行われる。
【００６３】
このサンプリングマトリックスＡの行ベクトルＡｉの並び換えを行うことで、圧縮部２３（図１）で圧縮しやすい圧縮センシングの観測係数yを発生可能なサンプリングマトリックスＡが生成される。
【００６４】
このように、本技術を適用した実施の形態においては、圧縮センシングの結果である観測係数yを、圧縮部２３でさらに圧縮する。このときの圧縮効率を高めるために、１度生成されたサンプリングマトリックスＡを、圧縮部２３での圧縮効率が高まるようなサンプリングマトリックスＡ（圧縮に最適化されたサンプリングマトリックスＡ）に変換する。そして、この変換する処理を、サンプリングマトリックス演算部２６は行う。
【００６５】
また、サンプリングマトリックス演算部２６により変換されたサンプリングマトリックスＡが、サンプリングマトリックス保持部２５に保持され、ランダムサンプリング部２２で、圧縮センシングを行うときに用いられる。
【００６６】
サンプリングマトリックス保持部２５に保持されたサンプリングマトリックスが用いられて、スパース係数変換部２８におけるスパース係数ｚが生成される。
【００６７】
＜圧縮部の構成、動作＞
ここで、圧縮部２３（図１）で圧縮しやすい圧縮センシングの観測係数yを発生可能なサンプリングマトリックスＡについて説明するために、まず、圧縮部２３の構成、動作について説明を加える。
【００６８】
図５は、圧縮部２３の構成を示す図である。圧縮部２３は、減算部２０１、符号化部２０２、加算部２０３、および予測部２０４を含む構成とされている。
【００６９】
減算部２０１は、ランダムサンプリング部２２から供給される観測係数ｙから、予測部２０４から供給される予測値を減算し、その算出結果（以下、差分値と記述する）を、符号化部２０２に出力する。
【００７０】
符号化部２０２は、減算部２０１からの差分値を、所定の符号化方式、例えばハフマン符号化方式で、符号化する。符号化部２０２により符号化された差分値は、記録部２４（図１）に供給され、記録される。また、符号化部２０２により符号化された差分値は、加算部２０３にも供給される。
【００７１】
加算部２０３には、予測部２０４から供給される予測値も供給される。予測部２０４の構成や動作については後述する。また予測値についても詳細は後述するが、予測値は、一例として、減算部２０１に入力された観測係数ｙの１つ前の観測係数ｙとすることができる。ここでは、予測値は、減算部２０１に入力された観測係数ｙ（観測係数ｙtとする）の１つ前の観測係数ｙ（観測係数ｙt-1とする）であるとして説明を続ける。
【００７２】
圧縮部２３は、このように、減算部２０１により算出された観測係数ｙと予測値との差分値を符号化することで観測係数ｙを圧縮する。減算部２０１に、予測値として、減算部２０１に入力された観測係数ｙ（観測係数ｙt）の１つ前の観測係数ｙ（観測係数ｙt-1）が入力される場合、減算部２０１は、観測係数ｙtから観測係数ｙt-1を減算した差分値（以下、適宜、差分値（ｙt−ｙt-1）と記述する）を出力し、その差分値（ｙt−ｙt-1）が符号化部２０２により符号化されることで圧縮される。
【００７３】
このようにして圧縮されるため、差分値（ｙt−ｙt-1）が小さくなれば、圧縮率を高めることが可能となる。圧縮部２３（の減算部２０１）には、観測係数ｙが順次入力されるため、その連続して入力される観測係数ｙの差分値が小さくなれば、差分値（ｙt−ｙt-1）も小さくなり、圧縮率を高めることができる。
【００７４】
このように、連続する観測係数ｙの差分値が小さくなるようなサンプリングマトリックスＡが、圧縮部２３で圧縮しやすい圧縮センシングの観測係数yを発生可能なサンプリングマトリックスＡとなる。
【００７５】
サンプリングマトリックス演算部２６は、このような連続する観測係数ｙの差分値が小さくなるようなサンプリングマトリックスＡを生成する。ここで、再度、サンプリングマトリックス演算部２６における処理について説明を加える。
【００７６】
＜サンプリングマトリックスの並び換えについて＞
図６は、ステップＳ１１で生成されたサンプリングマトリックスＡの一例を表し、図７は、その生成されたサンプリングマトリックスＡに対して、ステップＳ１２で並び換えを実行した後のサンプリングマトリックスＡの一例を表す。また図６、図７に示したのは、サンプリングマトリックスＡを構成する行ベクトルを模式的に２次元表記したものである。
【００７７】
図６、図７を参照して説明するサンプリングマトリックスＡは、４×４個のブロック単位でランダムサンプリングを行う場合のサンプリングマトリックスＡの一例を示す。Ａ０乃至Ａ５は、サンプリングマトリックスＡを構成する行ベクトルであり、１６（＝４×４）次元の行ベクトルである。
【００７８】
また、例えば、１ブロック内の４×４の画素位置を、図６右図に示したように、左上から右下にかけて、ｘ０、ｘ１、ｘ２、ｘ３、ｘ４、ｘ５、ｘ６、ｘ７、ｘ８、ｘ９、ｘ１０、ｘ１１、ｘ１２、ｘ１３、ｘ１４、ｘ１５とする。
【００７９】
また、例えば、１ブロック内の各四角形は、ブロック内の画素位置を表している。各四角形は、該当する位置の画素値に乗算する値を表し、ここでは黒く塗りつぶされた四角形は０を表し、白く塗りつぶされた四角形は１を表すとして説明を続ける。０は、サンプリングしない画素を表し、１は、サンプリングする画素を表す。例えば、行列Ａ０において、画素ｘ７に該当する位置は、“１”とされ、他の画素の位置は、“０”とされている。
【００８０】
行ベクトルＡ０乃至Ａ５は、それぞれ、以下のように行列で表すことができる。
Ａ０＝［０００００００１００００００００］
Ａ１＝［０００００００００１００００００］
Ａ２＝［０１００００００００００００００］
Ａ３＝［００００００００００００００１０］
Ａ４＝［００００００００１０００００００］
Ａ５＝［０００００００００００００００１］
【００８１】
図６に示したように、サンプリングマトリックスＡは、Ａ０乃至Ａ５から構成される。式で表すと、次式（６）となる。
【００８２】
【数６】
2017183448.tif 000008
【００８３】
上記したように、サンプリングマトリックスＡ（サンプリングマトリックスＡを構成する行ベクトルＡ０乃至Ａ５）は、ガウス分布の乱数で設計されるため、０近傍の値が大半を示す。なおここでは、行ベクトルの要素は、０または１である場合を例に挙げて説明するが、最小値が０、最大値が１であり、他の値を有する要素が含まれていても良い。
【００８４】
式（６）に示したンプリングマトリックスＡが用いられて、ランダムサンプリング部２２でランダムサンプリングが行われると、観測係数ｙとして、以下のような行列が得られる。ここで、観測係数ｙを、図６の右図に示した画素値ｘで表すと以下のような行列となる。
ｙ＝［ｘ７  ｘ９  ｘ１  ｘ１４  ｘ８  ｘ１５］
【００８５】
仮に、サンプリングマトリックス演算部２６でステップＳ１１（図４）の処理だけが行われ、図６に示したようなサンプリングマトリックスＡが生成され、サンプリングマトリックス保持部２５に保持され、ランダムサンプリング部２２でのランダムサンプリングに用いられた場合、ランダムサンプリング部２２から圧縮部２３（図１）には、上記した観測係数ｙが順次入力される。
【００８６】
ここで、例えば、観測係数ｙt-1として観測係数ｙとして“ｘ１”が入力された後、観測係数ｙtとして“ｘ１４”が入力されるときを考える。圧縮部２３では、差分値（ｙt−ｙt-1）として、“ｘ１４−ｘ１”が算出され、符号化される。ここで、図６の右図を参照するに、画素値ｘ１と画素値ｘ１４は、画素位置が離れている。
【００８７】
上記したように、画像において、空間方向には、高い相関があると考えられる。このことは、画像において、空間方向で近ければ相関が高くなり、その差分を算出したとき、差分値は小さくなる傾向にあると言えるが、空間方向で遠ければ、相関が低くなり、その差分を算出したとき、差分値は大きくなる傾向にあるとも言える。
【００８８】
圧縮部２３での圧縮率を高めたい場合、観測係数ｙの差分値が小さくなればよいことは上記した。このようなことから、画像内の空間方向で近い観測係数ｙの差分が算出されるようにすれば、圧縮部２３での圧縮率を高められるため、サンプリングマトリックス演算部２６は、画像内の空間方向で近い観測係数ｙが連続して出力されるようなサンプリングマトリックスを生成する。
【００８９】
具体的には、図６に示した生成されたサンプリングマトリックスＡを、図７に示したサンプリングマトリックスＡへと変換する。図７に示したサンプリングマトリックスＡ’（変換前のサンプリングマトリックスＡと区別するためにダッシュを付して説明する）は、サンプリングマトリックスＡ’を構成する行ベクトルの並びが、Ａ２，Ａ０，Ａ４，Ａ１，Ａ５，Ａ３となっている。式で表すと次式（７）のようになる。
【００９０】
【数７】
2017183448.tif 000009
【００９１】
式（７）に示したンプリングマトリックスＡ’が用いられて、ランダムサンプリング部２２でランダムサンプリングが行われると、観測係数ｙとして、以下のような行列が得られる。ここでは、観測係数ｙは、図７の右図に示した画素値ｘを用いて表す。
ｙ＝［ｘ１  ｘ７  ｘ８  ｘ９  ｘ１５  ｘ１４］
【００９２】
上記したように、図６に示したサンプリングマトリックスＡによると圧縮部２３では、“ｘ１４−ｘ１”が差分値として算出されるが、図７に示したサンプリングマトリックスＡ’によると、行ベクトルＡ３でサンプリングされる“ｘ１４”と、行ベクトルＡ５でサンプリングされる“ｘ１５”の差分値がとられ、“ｘ１５−ｘ１４”が差分値として算出される。
【００９３】
画素値ｘ１４と画素値ｘ１５は、隣接する画素の画素値であり、空間方向で近い画素同士である。よって、その差分値は小さい値となる可能性が高い。このように、サンプリングマトリックス演算部２６は、一度生成されたサンプリングマトリックスＡ（の行ベクトル）を、空間方向で近い画素が隣接する行ベクトルとなるように、サンプリングマトリックスＡ（の行ベクトル）を入れ替える（ソートする）。
【００９４】
ここでは、図６に示したサンプリングマトリックスＡから、図７に示したサンプリングマトリックスＡ’への変換は、図８のＡに示した順序で、行ベクトル内の最大値が並ぶようにソートを行う変換である場合を例示した。
【００９５】
図８のＡに示したソートによると、ｘ０、ｘ１、ｘ２、ｘ３、ｘ７、ｘ６、ｘ５、ｘ４、ｘ８、ｘ９、ｘ１０、ｘ１１、ｘ１５、ｘ１４、ｘ１３、ｘ１２の順で最大値（図６で示した例では１）がある行ベクトルが来るように並び換えが行われる。
【００９６】
ソートの仕方は、図８のＡの順に限定されるわけでなく、他の仕方により行われても良い。図８のＢ、図８のＣ、および図８のＤに、ソートの仕方の他の例を示す。
【００９７】
図８のＢに示したソートによると、ｘ０、ｘ１、ｘ４、ｘ８、ｘ５、ｘ２、ｘ３、ｘ６、ｘ９、ｘ１２、ｘ１３、ｘ１０、ｘ７、ｘ１１、ｘ１４、ｘ１５の順で最大値がある行ベクトルが来るように並び換えが行われる。
【００９８】
図８のＣに示したソートによると、ｘ０、ｘ１、ｘ２、ｘ３、ｘ４、ｘ５、ｘ６、ｘ７、ｘ８、ｘ９、ｘ１０、ｘ１１、ｘ１２、ｘ１３、ｘ１４、ｘ１５の順で最大値がある行ベクトルが来るように並び換えが行われる。
【００９９】
図８のＤに示したソートによると、ｘ０、ｘ１、ｘ２、ｘ３、ｘ７、ｘ１１、ｘ１５、ｘ１４、ｘ１３、ｘ１２、ｘ８、ｘ４、ｘ５、ｘ６、ｘ１０、ｘ９の順で最大値がある行ベクトルが来るように並び換えが行われる。
【０１００】
ここに示したソート順以外のソート順で、サンプリングマトリックスＡが変換されても良い。また、ここでは、サンプリングマトリックスＡ内の要素は、０または１である場合を例に挙げて説明したが、要素は、負の値、０、正の値など、取り得る値に制限はなく、任意に設定可能であり、要素の値が０、１の２値ではなく、複数の値を有する場合、以下のような手法で、サンプリングマトリックスＡが変換されるようにしても良い。
【０１０１】
図９は、サンプリングマトリックスＡ内の要素が複数の値をとる場合のサンプリングマトリックスＡの変換（行ベクトルのソート）に係わる処理手順について説明するための図である。なお図９では、説明のために、左側に番号を付してある。
【０１０２】
１行目に記載の処理により、サンプリングマトリックスＡのコストの暫定値が計算される。ここでコストとは、隣接したサンプリングマトリックスＡ間の類似度の和であるとし、次式（９）で示される。また、類似度は、次式（８）で算出される。
【０１０３】
【数８】
2017183448.tif 000010
【０１０４】
【数９】
2017183448.tif 000011
【０１０５】
式（８）で示した類似度は、ベクトルの内積を利用した式であり、サンプリングマトリックスＡｉとサンプリングマトリックスＡｊの内積で類似度を算出する。式（８）において、同一ベクトルを用いて計算した場合、その値（類似度）は、１となる。また異なるベクトルに適用した場合、１以上の値となり、完全に不一致するベクトルに適用した場合、無限大の値をとる。
【０１０６】
３乃至７行目の記載した処理により、類似度と、その類似度を用いたコストが算出される。その算出は、サンプリングマトリックスＡ内の行ベクトルが入れ替えられながら、例えば、図６に示したサンプリングマトリックスＡ０乃至Ａ５が入れ替えられながら、類似度とコストが算出される。
【０１０７】
９乃至１６行目に記載した処理により、比較用のコストが更新され、暫定的な最適なサンプリングマトリックスＡが更新される。そのような更新が繰り返されることで、コストが最小となるサンプリングマトリックスＡの適用順序が求められる。
【０１０８】
例えば、３乃至７行目に記載した処理が、図６に示したサンプリングマトリックスＡ０乃至Ａ５に対して行われた場合、Ａ０とＡ１の類似度、Ａ１とＡ２の類似度、Ａ２とＡ３の類似度、Ａ３とＡ４の類似度、およびＡ４とＡ５の類似度がそれぞれ算出され、その類似度の和がコストとして算出される。
【０１０９】
このようなコストの算出が、サンプリングマトリックスＡ０乃至Ａ５の組み合わせを変え（Ａ０乃至Ａ５の並びを変え）、考えられる組み合わせ（並び）毎に行われる。そして、コストが最小となる並びが選択される。コストが最小となる並びは、隣接するサンプリングマトリックスＡ０乃至Ａ５の類似度が高い（式（８）の値としては１に近く、小さい値となる）ことを示す。よって、そのような並びのサンプリングマトリックスＡが、サンプリングマトリックスＡ’として生成され、サンプリングマトリックス保持部２５に保持される。
【０１１０】
サンプリングマトリックスＡ内の要素が複数の値をとる場合、図９に示したようにしてサンプリングマトリックスＡ’が生成されてもよい。また、サンプリングマトリックスＡ内の要素が複数の値をとる場合であっても、その最大値に着目して、図６乃至８を参照して説明したようにしてサンプリングマトリックスＡ’が生成されても良い。
【０１１１】
このように、本技術においては、ランダムに発生させたサンプリングマトリックスＡを、圧縮部２３が圧縮するのに最適なサンプリングマトリックスＡ’に変換し、その変換されたサンプリングマトリックスＡ’を用いてランダムサンプリング部２２でランダムサンプリングが行われる。以下、変換後のサンプリングマトリックスＡ’も、サンプリングマトリックスＡとの記述に戻す。
【０１１２】
ここで「圧縮に最適」ということについて説明を加える。圧縮部２３に入力されるデータが偏っている、換言すれば、一部の値に収束していることが、圧縮的には重要な事項となる。偏りのない（少ない）データは、情報量が多いため圧縮しずらい。一方、偏りの多いデータは、情報量が少なく圧縮しやすい。情報量は、エントロピーなどと称されることもある。
【０１１３】
本技術においては、上記したように、サンプリングマトリックスＡの行ベクトルの順番を入れ替えることで、サンプリングマトリックスＡを用いたランダムサンプリング後の出力（観測係数ｙ）が、前後の観測係数ｙで類似する値、すなわち差分値を算出したときに、その値が小さくなる値になるようにしている。
【０１１４】
よって、差分値は、０を中心として偏りの大きい分布を作り出すことができ、圧縮に適したデータ列になる。すなわち、圧縮に最適なサンプリングマトリックスＡを、上記したようにして生成することができる。
【０１１５】
また、以下に説明するように、本技術では、差分値を算出するとき、予測値も用いる。過去の処理結果から、現在の観測係数ｙの予測値の予測方法を決めると、確率的に入力係数と差分の値の情報量を小さくする、例えば、０に集中させるサンプリングマトリックスＡを設計できる。
【０１１６】
ここでは、このように、入力画像、予測値、差分値の情報量が最小となるサンプリングマトリックスＡを、圧縮に最適なサンプリングマトリックスＡと記述する。
【０１１７】
＜圧縮部の他の構成＞
ここで、再度、圧縮部２３の構成と動作について説明を加える。圧縮部２３は、図５に示したような構成を有し、上記したように、観測係数ｙと予測値との差分値を算出し、符号化することで、圧縮を行う。
【０１１８】
図１０に圧縮部２３の他の構成を示す。図１０に示した圧縮部２３は、図５に示した圧縮部２３に、量子化部２１１と逆量子化部２１２を追加した構成とされている。
【０１１９】
図１０に示した圧縮部２３においては、ランダムサンプリング部２２からの観測係数ｙが、減算部２０１と予測部２０４に入力される。減算部２０１は、観測係数ｙから、予測部２０４からの予測値（以下、予測値ｐとする）を減算し、その差分値を量子化部２１１に出力する。
【０１２０】
量子化部２１１は、入力された差分値を量子化する。量子化部２１１は、入力された差分値を、例えば、１／２の値にし、符号化部２０２と逆量子化部２１２に出力する。量子化後の差分値は、符号化部２０２により符号化され、出力される。
【０１２１】
また量子化後の差分値は、逆量子化部２１２により逆量子化される。よって、量子化後の差分値は、量子化部２１１による量子化前の差分値の値に戻され、加算部２０３に供給される。図２３では、逆量子化部２１２の処理を経て、加算部２０３に量子化前の差分値が入力される構成としたが、逆量子化部２１２を省略し、減算部２０１からの差分値が、加算部２０３に入力される構成としても良い。
【０１２２】
このように、量子化部２１１を設けることで、差分値が仮に大きな値となっても、量子化することで、小さな値に変換することができ、また、その小さな値に変換された差分値を符号化することで、圧縮部２３における圧縮の効率をより向上させることができる。
【０１２３】
加算部２０３は、逆量子化部２１２からの差分値と、予測部２０４からの予測値ｐを加算し、予想部２０４に出力する。以下、加算部２０３から主力される値を、局所復号結果と適宜記載する。予測部２０４は、ランダムサンプリング部２２からの観測係数ｙと、加算部２０３からの局所復号結果を比較し、後述する予測モードを設定し、その設定した予測モードを符号化部２０２に供給するとともに、予測モードに対応する予測値ｐを減算部２０１に対して出力する。
【０１２４】
図１１に、予測部２０４の内部構成を示す。予測部２０４は、バッファ２５１、予測値生成部２５２、予測モード判定部２５３、およびスイッチ２５４から構成されている。
【０１２５】
バッファ２５１には、加算部２０３からの局所復号結果を入力し、バッファリングする。バッファ２５１にバッファリングされた局所復号結果は、所定のタイミングで、予測値生成部２５２に供給される。予測値生成部２５２は、後述する方法で、予測値ｐを生成し、スイッチ２５４に出力する。スイッチ２５４は、予測モード判定部２５３からの予測モードにより、スイッチを切り替え、予測値生成部２５２からの予測値ｐまたは固定値（０）を減算部２０１（図１０）に出力する。
【０１２６】
予測モード判定部２５３には、ランダムサンプリング部２２からの観測係数ｙと、予測値生成部２５２から予測値ｐが入力される。予測モード判定部２５３は、予測するモード、または予測しないモードのどちらにするかを、観測係数ｙと予測値ｐを用いて判定する。ここで、予測するモードは、圧縮するモードであり、差分値を出すモードである。また予測しないモードは、圧縮しないモードであり、差分値ではなく、観測係数ｙをそのまま出すモードである。
【０１２７】
予測モード判定部２５３により、予測するモードにすると判定された場合、スイッチ２５４は、予測値生成部２５２からの予測値ｐを、減算部２０１（図１０）に出力する側にスイッチを切り換える。また、予測モード判定部２５３は、予測するモードにすると判定した場合、そのことを表す情報、ここでは、“０”を、符号化部２０２に出力する。符号化部２０２は、符号化したデータに、予測するモードであることを示す“０”をストリームに含める処理を行う。
【０１２８】
一方、予測モード判定部２５３により、予測しないモードにすると判定された場合、スイッチ２５４は、固定値（０）を、減算部２０１（図１０）に出力する側にスイッチを切り換える。また、予測モード判定部２５３は、予測しないモードにすると判定した場合、そのことを表す情報、ここでは、“１”を、符号化部２０２に出力する。符号化部２０２は、符号化したデータに、予測しないモードであることを示す“１”をストリームに含める処理を行う。
【０１２９】
このような予測部２０４を含む圧縮部２３における圧縮処理について説明を加える。
【０１３０】
圧縮部２３は、ランダムサンプリング部２２からの圧縮センシング後の観測係数ｙに対し、圧縮を適用する。観測係数ｙは、上記したように算出された値（圧縮された結果）である。再度、圧縮センシングの式（１０）を記載する。
【０１３１】
【数１０】
2017183448.tif 000012
【０１３２】
圧縮部２３には、観測係数ｙ０、ｙ１、ｙ２、ｙ３、ｙ４、・・・、ｙｉが、この順で入力される。この順は、上述したように、圧縮に最適化されたサンプリングマトリックスＡを用いて圧縮センシングされた結果であり、連続して入力される観測係数ｙは、相関の高い係数となっている。
【０１３３】
まず観測係数ｙ０が圧縮部２３の減算部２０１と予測部２０４に入力される。観測係数ｙ０の符号化時には、予測部２０４から予測値ｐは出力されない（固定値（０）が出力される）ため、減算部２０１は、観測係数ｙ０を、差分値（ここでは差分値ｙ０とする）を、量子化部２１１に出力する。
【０１３４】
またこのとき、予測部２０４の予測モード判定部２５３（図１１）は、予測しないモードにすると判定するため、スイッチ２５４は、固定値（０）に切り換えられている。よって、上記したように、減算部２０１からは、観測係数ｙ０がそのまま量子化部２１１に出力される。
【０１３５】
量子化部２１１は、観測係数ｙ０（差分値ｙ０）を、予め設定されている量子化値で量子化し、符号化部２０２に出力する。なお、量子化部２１１は、動的に量子化値を変更する構成とすることも可能である。量子化部２１１を、動的に量子化値を変更する構成とした場合、量子化値の復号を行う側（図１では復号部２７）に伝送し、復号側で量子化値を特定できる仕組みを設ければよい。
【０１３６】
符号化部２０２は、所定の符号化方式、例えばハフマン符号化方式により、差分値ｙ０を符号化し、ストリームとして出力する。ここでは、符号化部２０２は、ハフマン符号化方式により符号化を行うとして説明を続けるが、ハフマン符号化方式以外の符号化方式を、本技術に適用することも可能である。
【０１３７】
なお差分値ｙ０（観測係数ｙ０）は、予測が適用されていないため、ハフマンコードを適用せずに、予め量子化値毎に設定された固定長で符号化されるようにしても良い。
【０１３８】
量子化された差分値ｙ０は、符号化部２０２により符号化され、ストリームとして出力される一方で、逆量子化部２１２にも供給され、逆量子化される。逆量子化部２１２により逆量子化された差分値ｙ０は、加算部２０３に供給され、予測部２０４からの予測値ｐと加算される。この場合、予測値ｐは、“０”であるため、加算部２０３からの出力は、差分値ｙ０（局所復号結果ｙ０とする）となる。
【０１３９】
加算部２０３からの出力は、復号側で得られる観測係数ｙとなる。すなわち、加算部２０３により、復号側で得られる観測係数ｙが再構成される。再構成された観測係数ｙ（この場合、観測係数ｙ０＝局所復号結果ｙ０）は、予測部２０４に供給され、観測係数ｙ１以降の係数作成のために用いられる。
【０１４０】
加算部２０３からの局所復号結果ｙ０は、予測部２０４のバッファ２５１（図１１）に入力され、バッファリングされる。一方で、次の観測係数ｙ１が圧縮部２３の減算部２０１と予測部２０４に入力される。予測部２０４では、予測を行うか否かの判定と、予測値の生成を行う。
【０１４１】
予測部２０４の予測値生成部２５２は、バッファ２５１内の情報（この場合、局所復号結果ｙ０）を元に、予測値を生成する。予測値の生成方法については、後述するが、ここでは、その１つの方法として、隣接値を予測値としてそのまま利用する方法を例に挙げて説明を続ける。
【０１４２】
この場合、圧縮対象とされているのは観測係数ｙ１であり、その観測係数ｙ１の隣接値は、観測係数ｙ０である。また観測係数ｙ０は、バッファ２５１にバッファリングされている局所復号結果ｙ０と同一である。よって、このとき、予測値生成部２５２は、予測値として、観測係数ｙ０を生成し、スイッチ２５４と予測モード判定部２５３に出力する。
【０１４３】
予測モード判定部２５３は、予測値生成部２５２から予測値（この場合、観測係数ｙ０）と、ランダムサンプリング部２２からの観測係数ｙ（この場合、観測係数ｙ１）とを用いて予測モードを判定する。この予測モードの判定方法は、特に制約は無く、ここではその一例を示す。
【０１４４】
（１）  入力された観測係数ｙから予測値を減算し、その差分値を可変長符号化したときのコード長を算出する。
（２）  （１）で算出されたコード長と、固定長符号化時の発生ビット量を比較する。
（３）  比較の結果、（１）で算出されたコード長の方が、固定長符号化時の発生ビット量よりも短くなる場合、予測するモードに設定し、“０”を出力し、（１）で算出されたコード長の方が、固定長符号化時の発生ビット量よりも長くなる場合、予測しないモードに設定し、“１”を出力する。
【０１４５】
スイッチ２５４は、予測するモードに設定された場合、予測値生成部２５２からの予測値が減算部２０１（図１０）に出力されるようにスイッチを切り換える。また、スイッチ２５４は、予測しないモードに設定された場合、固定値（０）が減算部２０１（図１０）に出力されるようにスイッチを切り換える。
【０１４６】
ここでは、圧縮対象とされている観測係数ｙ１は、予測するモードに設定され、処理されるとして説明を続ける。
【０１４７】
予測モード判定部２５３により予測するモードに設定され、スイッチ２５４が、予測値生成部２５２で生成された予測値（この場合、観測係数ｙ０）が、減算部２０１に供給される側に接続されると、観測係数ｙ０が、減算部２０１に出力される。
【０１４８】
減算部２０１には、ランダムサンプリング部２２から、観測係数ｙ１が供給されているため、減算部２０１は、観測係数ｙ１から観測係数ｙ０を減算する処理を実行する。この結果、減算部２０１からは、差分値（ｙ１−ｙ０）が量子化部２１１に出力される。
【０１４９】
量子化部２１１は、差分値（ｙ１−ｙ０）を、予め設定されている量子化値で量子化し、符号化部２０２に出力する。符号化部２０２は、量子化された差分値（ｙ１−ｙ０）を、符号化し、ストリームとして出力する。
【０１５０】
量子化された差分値（ｙ１−ｙ０）は、逆量子化部２１２にも供給され、逆量子化される。逆量子化部２１２により逆量子化された差分値（ｙ１−ｙ０）は、加算部２０３に供給され、予測部２０４からの予測値ｐと加算される。このときの予測値ｐは、観測係数ｙ０であるため、加算部２０３では、差分値（ｙ１−ｙ０）と観測係数ｙ０が加算され、加算結果として、観測係数ｙ１が予測部２０４に出力される。
【０１５１】
このような処理が、圧縮部２３で繰り返し行われることで、観測係数ｙが圧縮され、ストリームとして出力される。
【０１５２】
図１２に、出力されるストリームの一例を示す。量子化後の差分値ｙ０（以下単に、差分値ｙ０と記述し、他も同様に記述する）は、上記したように、予測しないモードで圧縮され、固定長で出力される。差分値ｙ０（差分値の算出の基準となる係数）は、常に固定長で出力されるため、予測モードを表す情報を付加しなくても良いし、付加しても良い。図１２に示した例では、付加してない例を示している。
【０１５３】
固定長で差分値ｙ０が出力された後、予測モードを表す情報が出力される。図１２では、予測するモードが設定されたことを示す“０”との情報が付加されている。この情報の後、差分値（ｙ１―ｙ０）が出力される。この差分値（ｙ１―ｙ０）は、予測（圧縮）されるモードのときの差分値であるため、可変長のデータとして出力される。
【０１５４】
可変長の差分値（ｙ１―ｙ０）が出力された後、予測モードを表す情報が出力される。図１２では、予測するモードが設定されたことを示す“０”との情報が付加されている。この情報の後、差分値（ｙ２―ｙ１）が出力される。この差分値（ｙ２―ｙ１）は、予測（圧縮）されるモードのときの差分値であるため、可変長のデータとして出力される。
【０１５５】
可変長の差分値（ｙ２―ｙ１）が出力された後、予測モードを表す情報が出力される。図１２では、予測しないモードが設定されたことを示す“１”との情報が付加されている。この情報の後、差分値（ｙ３）が出力される。この差分値（ｙ３）は、予測（圧縮）されるモードのときの差分値ではないため、観測係数ｙ３であり、固定長のデータとして出力される。
【０１５６】
このようなストリームが圧縮部２３から出力される。
【０１５７】
＜予測値の生成について＞
次に、予測部２０４の予測値生成部２５２の予測値の生成について説明を加える。まず、ブロック分割部２１（図１）により分割された画像の各ブロックを、図１３に示すように定義する。図１３において、例えば左上に位置するブロックをブロック（０，０）とし、その右隣（ｘ軸方向で右隣）に位置するブロックをブロック（１，０）とする。また、ブロック（０，０）の下隣（ｙ軸方向で下隣）に位置するブロックをブロック（０，１）とする。他も同様に定義する。
【０１５８】
またブロック（ｈ，ｖ）をサンプリングマトリックスＡでランダムサンプリングした係数を、次式（１１）のように定義する。また、式（１１）で示されるブロック（ｈ，ｖ）の係数を圧縮、復号した結果、換言すれば、局所復号結果を、次式（１２）のように定義する。
【０１５９】
【数１１】
2017183448.tif 000013
【０１６０】
【数１２】
2017183448.tif 000014
【０１６１】
予測値の生成として、ブロック内で予測して生成する場合について説明する。
【０１６２】
｛予測値の第１の生成｝
予測値として隣接値をそのまま利用する。これは、上記した説明において用いた生成手法である。式で表すと、次式（１３）のようになる。次式においてＰは、予測値を表す。
【数１３】
2017183448.tif 000015
【０１６３】
圧縮部２３が図１０に示したように、量子化部２１１を備える構成の場合、次式（１４）のようになる。
【数１４】
2017183448.tif 000016
【０１６４】
式（１３）で予測値が生成される場合、例えば、観測係数ｙ１（ｙh,v,k＝ｙh,v,1のとき）が圧縮対象とされているときの予測値は、観測係数ｙ０（＝ｙh,v,0）となる。
【０１６５】
｛予測値の第２の生成｝
予測値として近接する隣接値の平均値を利用する。式で表すと、次式（１５）のようになる。
【数１５】
2017183448.tif 000017
【０１６６】
圧縮部２３が図１０に示したように、量子化部２１１を備える構成の場合、次式（１６）のようになる。
【数１６】
2017183448.tif 000018
【０１６７】
式（１５）で予測値が生成される場合、例えば、観測係数ｙ２（ｙh,v,k＝ｙh,v,2のとき）が圧縮対象とされているときの予測値は、観測係数ｙ０（＝ｙh,v,0）と観測係数ｙ０（＝ｙh,v,1）を加算し、２で乗算した値となる。
【０１６８】
｛予測値の第３の生成｝
予測値として近接平均値の線形和を利用する。式で表すと、次式のようになる。次式（１７）、次式（１８）において、ａは、重みを表し、全ての係数に同一の重みが乗算される。
【数１７】
2017183448.tif 000019
【０１６９】
圧縮部２３が図１０に示したように、量子化部２１１を備える構成の場合、次式（１８）のようになる。
【数１８】
2017183448.tif 000020
【０１７０】
式（１７）で予測値が生成される場合、例えば、観測係数ｙｎ（ｙh,v,k＝ｙh,v,nのとき）が圧縮対象とされているときの予測値は、観測係数ｙ０（＝ｙh,v,0）、観測係数ｙ１（＝ｙh,v,1）、・・・、観測係数ｙｎ−１（＝ｙh,v,n-1）、のそれぞれに重みａが乗算され、重みａが乗算された値が加算された値となる。
【０１７１】
｛予測値の第４の生成｝
上記した第３の生成と同じく、予測値として近接平均値の線形和を利用するが、各係数に乗算される重みが異なる。式で表すと、次式のようになる。次式（１９）、次式（２０）において、ａは、それぞれの係数毎に異なる重みである。また重みａは、係数の位置に応じた値とされ、例えば、処理対象に近い係数の重みａは大きい値とされ、処理対象から遠い係数の重みａは小さい値とされる。
【０１７２】
【数１９】
2017183448.tif 000021
【０１７３】
圧縮部２３が図１０に示したように、量子化部２１１を備える構成の場合、次式（２０）のようになる。
【数２０】
2017183448.tif 000022
【０１７４】
式（１９）で予測値が生成される場合、例えば、観測係数ｙｎ（ｙh,v,k＝ｙh,v,nのとき）が圧縮対象とされているときの予測値は、観測係数ｙ０（＝ｙh,v,0）、観測係数ｙ１（＝ｙh,v,1）、・・・、観測係数ｙｎ−１（＝ｙh,v,n-1）、のそれぞれに、それぞれ異なる重みａが乗算され、重みａが乗算された値が加算された値となる。
【０１７５】
予測値の生成として、ブロック間で予測して生成する場合について説明する。
【０１７６】
｛予測値の第５の生成｝
予測値として隣接するブロックの同一位置の観測係数ｙを利用する。式で表すと、次式（２１）のようになる。
【数２１】
2017183448.tif 000023
【０１７７】
圧縮部２３が図１０に示したように、量子化部２１１を備える構成の場合、次式（２２）のようになる。
【数２２】
2017183448.tif 000024
【０１７８】
式（２１）で予測値が生成される場合、例えば、ブロック（１，１）の観測係数ｙ１（ｙh,v,k＝ｙ1,1,1のとき）が圧縮対象とされているときの予測値は、隣接するブロック（１，０）内の観測係数ｙ１（＝ｙ1,0,1）となる。
【０１７９】
｛予測値の第６の生成｝
予測値として近接する複数のブロックの値を利用する。式で表すと、次式（２３）のようになる。
【数２３】
2017183448.tif 000025
【０１８０】
圧縮部２３が図１０に示したように、量子化部２１１を備える構成の場合、次式（２４）のようになる。
【数２４】
2017183448.tif 000026
【０１８１】
式（２３）で予測値が生成される場合、例えば、ブロック（１，１）の観測係数ｙ１（ｙh,v,k＝ｙ1,1,1のとき）が圧縮対象とされているときの予測値は、隣接するブロック（１，０）内の観測係数ｙ１（＝ｙ1,0,1）とブロック（０，１）内の観測係数ｙ１（＝ｙ0,1,1）が加算され、その値から、ブロック（０，０）内の観測係数ｙ１（＝ｙ0,0,1）が減算された値とされる。
【０１８２】
｛予測値の第７の生成｝
第６の生成と同じく、予測値として近接する複数のブロックの値を利用するが、median predictionと称される方法により求める。式で表すと、次式（２５）のようになる。
【数２５】
2017183448.tif 000027
【０１８３】
圧縮部２３が図１０に示したように、量子化部２１１を備える構成の場合、次式（２６）のようになる。
【数２６】
2017183448.tif 000028
【０１８４】
式（２５）で予測値が生成される場合、例えば、ブロック（１，１）の観測係数ｙ１（ｙh,v,k＝ｙ1,1,1のとき）が圧縮対象とされているときの予測値は、隣接するブロック（１，０）内の観測係数ｙ１（＝ｙ1,0,1）とブロック（０，１）内の観測係数ｙ１（＝ｙ0,1,1）が加算され、その値から、ブロック（０，０）内の観測係数ｙ１（＝ｙ0,0,1）が減算された値（第１の値とする）が算出される。
【０１８５】
また、ブロック（１，０）内の観測係数ｙ１（＝ｙ1,0,1）とブロック（０，１）内の観測係数ｙ１（＝ｙ0,1,1）のうちの小さい方の値（第２の値）が算出される。同様に、ブロック（１，０）内の観測係数ｙ１（＝ｙ1,0,1）とブロック（０，１）内の観測係数ｙ１（＝ｙ0,1,1）の大きい方の値（第３の値）が算出される。これら第１の値、第２の値、第３の値のうちの中央値が、予測値として用いられる。
【０１８６】
予測値の生成として、ブロック内とブロック間で予測して生成する場合について説明する。
【０１８７】
｛予測値の第８の生成｝
予測値として複数のブロックの値と同一ブロック内の隣接する値を利用する。式で表すと、次式（２７）のようになる。
【数２７】
2017183448.tif 000029
【０１８８】
圧縮部２３が図１０に示したように、量子化部２１１を備える構成の場合、次式（２８）のようになる。
【数２８】
2017183448.tif 000030
【０１８９】
式（２７）で予測値が生成される場合、例えば、ブロック（１，１）の観測係数ｙ１（ｙh,v,k＝ｙ1,1,1のとき）が圧縮対象とされているときの予測値は、隣接するブロック（１，０）内の観測係数ｙ１（＝ｙ1,0,1）と同一ブロック（１，１）内の隣接する観測係数ｙ０（＝ｙ1,1,0）が加算され、その値から、隣接するブロック（１，０）内の観測係数ｙ１に隣接する観測係数ｙ０（＝ｙ1,0,0）が減算された値とされる。
【０１９０】
｛予測値の第９の生成｝
第８の生成と同じく、予測値として複数のブロックの値と同一ブロック内の隣接する値を利用するが、median predictionと称される方法により求める。式で表すと、次式（２９）のようになる。
【数２９】
2017183448.tif 000031
【０１９１】
圧縮部２３が図１０に示したように、量子化部２１１を備える構成の場合、次式（３０）のようになる。
【数３０】
2017183448.tif 000032
【０１９２】
式（２９）で予測値が生成される場合、例えば、ブロック（１，１）の観測係数ｙ１（ｙh,v,k＝ｙ1,1,1のとき）が圧縮対象とされているときの予測値は、隣接するブロック（１，０）内の観測係数ｙ１（＝ｙ1,0,1）と同一ブロック（１，１）内の隣接する観測係数ｙ０（＝ｙ1,1,0）が加算され、その値から、隣接するブロック（１，０）内の観測係数ｙ１に隣接する観測係数ｙ０（＝ｙ1,0,0）が減算された値（第１の値とする）が算出される。
【０１９３】
また、ブロック（１，０）内の観測係数ｙ１（＝ｙ1,0,1）とブロック（１，１）内の隣接する観測係数ｙ０（＝ｙ1,1,0）のうちの小さい方の値（第２の値）が算出される。同様に、ブロック（１，０）内の観測係数ｙ１（＝ｙ1,0,1）とブロック（１，１）内の隣接する観測係数ｙ０（＝ｙ1,1,0）の大きい方の値（第３の値）が算出される。これら第１の値、第２の値、第３の値のうちの中央値が、予測値として用いられる。
【０１９４】
これら予測値の第１乃至第９の生成のいずれかの方法により予測値が生成される。また、ここでは例示していない方法により予測値が生成されても良い。
【０１９５】
＜復号部の構成、動作＞
次に、上記したようにして圧縮された観測係数ｙを復号する復号部２７の構成、動作について説明を加える。
【０１９６】
図１４は、復号部２７の構成を示す図である。復号部２７は、復号処理部３０１、逆量子化部３０２、加算部３０３、予測値生成部３０４を含む構成とされている。なお、図１４に示した復号部２７の構成は、図１０に示した圧縮部２３に対応した構成であり、図５に示した圧縮部２３に対応した復号部２７においては、逆量子化部３０２を省略した構成とされる。
【０１９７】
復号部２７の復号処理部３０１には、記録部２４（図１）に記録されている、例えば、図１２に示したようなストリームが供給される。復号処理部３０１は、図１２に示したようなストリームが供給された場合、まず、固定長であり、量子化されている差分値ｙ０（観測係数ｙ０）を、符号化部２０２（図１０）の符号化方式に対応する復号方式で復号する。
【０１９８】
復号処理部３０１は、差分値ｙ０を復号するとき、予測値生成部３０４に対しては、予測しないモードに設定されていることを示す情報、この場合“１”を供給する。
【０１９９】
逆量子化部３０２は、復号処理部３０１からの量子化されている差分値ｙ０を、逆量子化する。この処理は、例えば、圧縮部２３の逆量子化部２１２（図１０）と同様に行うことができる。逆量子化部３０２により逆量子化された差分値ｙ０は、加算部３０３に供給される。加算部３０３には、予測値生成部３０４から予測値ｐも供給される。
【０２００】
予測値生成部３０４には、予測しないモードに設定されていることを示す情報が供給されているため（差分の基準となる観測係数ｙであり、固定長で圧縮されていることが規定されているため）、予測値としては“０”が加算部３０３に対して出力される。よって、加算部３０３は、差分値ｙ０を“０”を加算した値を、復号結果、すなわち観測係数ｙ０として、後段のスパース係数変換部２８（図１）に出力する。
【０２０１】
次の時点において、復号処理部３０１には、図１２に示したストリームにおける差分値ｙ０の次のデータである“０”が入力される。この“０”は、次のデータが、予測するモードに設定されているときのデータであることを示す情報である。復号処理部３０１は、この“０”という情報が、予測値生成部３０４に出力されることで、予測値生成部３０４は、予測するモードに設定される。
【０２０２】
復号処理部３０１には、“０”という予測モードを表すデータが入力された後、可変長であり、量子化されている差分値（ｙ１−ｙ０）が入力される。復号処理部３０１は、入力された差分値（ｙ１―ｙ０）を、所定の復号方式で復号する。
【０２０３】
逆量子化部３０２は、復号処理部３０１からの量子化されている差分値（ｙ１―ｙ０）を、逆量子化する。逆量子化部３０２により逆量子化された差分値（ｙ１―ｙ０）は、加算部３０３に供給される。加算部３０３には、予測値生成部３０４から予測値も供給される。
【０２０４】
予測値生成部３０４には、予測するモードに設定されていることを示す情報が供給されているため、予測値生成部３０４は、予測値ｐを生成し、加算部３０３に対して出力する。予測値生成部３０４は、圧縮部２３内の予測部２０４内の予測値生成部２５２と同様の処理により予測値ｐを生成する。
【０２０５】
例えば、上記した予測値の第１の生成に基づき、隣接する観測係数ｙが予測値として出力される。この場合、差分値（ｙ１−ｙ０）が加算部３０３に供給されるときの予測値は、観測係数ｙ０となるため、加算部３０３からは、差分値（ｙ１−ｙ０）に観測係数ｙ０が加算された値が、復号結果、すなわち観測係数ｙ１として、後段のスパース係数変換部２８（図１）に出力される。
【０２０６】
このような処理が、復号部２７で繰り返し行われることで、観測係数ｙが復号される。
【０２０７】
このように、本技術によれば、圧縮部２３における圧縮に最適化したサンプリングマトリックスを設計することができる。また、圧縮部２３における圧縮に最適化されたサンプリングマトリックスを用いて、圧縮部２３による圧縮の前の段階で、圧縮センシングによる圧縮を行うことができる。さらに、その圧縮センシングの結果（観測係数ｙ）を、圧縮部２３で圧縮することができる。
【０２０８】
圧縮部２３における圧縮に最適化したサンプリングマトリックスは、画像の空間方向の相関を用いて設計することができる。また、画像の空間方向の相関を用いてサンプリングマトリックスを設計することで、空間的に相関が近い順序に観測係数が並ぶように設計することができる。
【０２０９】
また圧縮部２３で観測係数ｙを圧縮するとき、観測係数ｙの予測値ｐを生成することができる。また、その予測値ｐと実測値（圧縮部２３に入力される観測係数ｙ）の差分を計算し、その差分値を符号化することで圧縮することができる。よって、圧縮率をより高めることができる。この際、予測開始の先頭の係数は、予測値を用いない扱いとされる。
【０２１０】
また圧縮部２３で観測係数ｙを圧縮するとき、予測値ｐを用いるか否かのモードを設定し、予測値ｐを用いるときには可変長でデータを生成し、予測値ｐを用いないときには固定長でデータを生成するといったように、可変長と固定長を切り換える構成を有するようにすることもできる。また、モードを表すフラグを伝送する構成も有するようにすることもできる。
【０２１１】
また、予測値ｐは、ブロック内の隣接係数を利用したり、複数の隣接係数を利用したり、複数の隣接係数と重みを利用したり、複数の隣接係数とその係数の位置に応じた重みを利用したりして生成される。また、予測値ｐは、ブロック間の隣接係数を利用したり、複数の隣接係数を利用したり、複数の隣接係数と重みを利用したり、複数の隣接係数とその係数の位置に応じた重みを利用したりして生成される。また、ブロック内、ブロック間の隣接係数を利用したり、複数の隣接係数を利用したりして生成される。
【０２１２】
＜第２の実施の形態＞
次に、第２の実施の形態について説明する。上記した第１の実施の形態においては、観測係数ｙ毎に圧縮するか否かを判定し、固定長または可変長で出力する例を挙げて説明した。第２の実施の形態においては、ブロック単位で圧縮するか否かを判定し、ブロック内の全ての観測係数ｙを固定長、または可変長（先頭の観測係数ｙは除く）で出力する。
【０２１３】
なおここでのブロックとは、ブロック分割部２１（図１）から出力されたブロックであり、例えば、４×４画素からなるブロックである。
【０２１４】
第２の実施の形態においては、例えば、図１５のＡまたは図１５のＢに示したようなストリームが生成され、出力される。図１５のＡに示したストリームは、ブロック単位で固定長で出力すると判定されたときのストリームを示す。ストリームの先頭には、“量子化値”が配置される。量子化値は、そのブロック内の観測係数ｙを量子化したときの量子化値を表す。
【０２１５】
第２の実施の形態においては、ブロック内の観測係数ｙを圧縮するときの量子化値は可変であり、ブロック内の画像の特徴により、適宜、適した量子化値が設定され、量子化される。そのため、ストリームの先頭には、ブロック内の観測係数ｙを量子化したときの量子化値の情報が付加されて、出力される。
【０２１６】
“量子化値”の後には、予測するモードで圧縮されたか、予測しないモードで圧縮されたかを示す情報が出力される。第２の実施の形態においても、第１の実施の形態と同じく、予測するモードであった場合“０”が設定され、予測しないモードであった場合“１”で設定される。図１５のＡに示した例では、予測しないモードであったことを示す“１”が設定されている例を示した。
【０２１７】
予測しないモードであるときに圧縮された観測係数ｙであるため、“１”との情報の後のデータは、固定長の観測係数ｙが連続して出力される。図１５のＡに示した例では、固定長の観測係数ｙ０、観測係数ｙ１、観測係数ｙ２、観測係数ｙ３、・・・・が連続して出力されているストリームを例示した。
【０２１８】
図１５のＢに示したストリームは、ブロック単位で可変長で出力すると判定されたときのストリームを示す。ストリームの先頭には、“量子化値”が配置される。量子化値は、そのブロック内の観測係数ｙを量子化したときの量子化値を表す。
【０２１９】
“量子化値”の後には、予測するモードで圧縮されたか、予測しないモードで圧縮されたかを示す情報が出力される。図１５のＢに示したストリームは、予測するモードであった場合であるため、“０”が設定されている。
【０２２０】
予測するモードであるときに圧縮された観測係数ｙであるため、“０”との情報の後のデータは、可変長の観測係数ｙが連続して出力されるが、先頭の観測係数ｙだけは、固定長で出力される。すなわち、図１５のＡに示した例では、固定長の観測係数ｙ０が出力された後、可変長の差分値（ｙ１―ｙ０）、差分値（ｙ２―ｙ１）、差分値（ｙ３―ｙ２）、・・・・が連続して出力されているストリームを例示した。
【０２２１】
このように、ブロック単位で固定長または可変長とされたストリームが出力されるため、圧縮部２３の構成は、図１６に示すようになる。
【０２２２】
図１６は、第２の実施の形態における圧縮部２３Ｂ（以下、第２の実施の形態における圧縮部であることを示すために圧縮部２３Ｂと記述する）の構成を示す図である。圧縮部２３Ｂは、分散値算出部４０１、量子化値決定部４０２、減算部４０３、量子化部４０４、符号化部４０５、逆量子化部４０６、加算部４０７、予測部４０８、予測モード判定部４０９から構成されている。
【０２２３】
第２の実施の形態における圧縮部２３Ｂのうち、減算部４０３、量子化部４０４、符号化部４０５、逆量子化部４０６、加算部４０７、予測部４０８に係わる構成は、第１の実施の形態における圧縮部２３と基本的に同様の構成であり、その動作も基本的に同様であるため、適宜その説明は省略する。
【０２２４】
圧縮部２３Ｂにはランダムサンプリング部２２でランダムサンプリングされた結果（観測係数ｙ）が入力される。圧縮部２３Ｂに入力された観測係数ｙは分散値算出部４０１、減算部４０３、および予測部４０８にそれぞれ供給される。
【０２２５】
分散値算出部４０１は、入力された観測係数ｙから符号化の難易度を表す分散値を算出する。例えば、分散値算出部４０１は、１ブロック分の観測係数ｙから、観測係数ｙのバラつき、例えば、観測係数ｙの最小値と最大値の差分値を算出し、その値を分散値、すなわち、観測係数ｙがどの程度分散しているかを表す値とし、量子化値決定部４０２と予測モード判定部４０９にそれぞれ供給する。なおここでは、符号化の難易度を表す指標として、分散値を例に挙げて説明するが、分散値以外の指標を、符号化の難易度を表す指標として用いることも可能である。
【０２２６】
量子化値決定部４０２は、分散値算出部４０１から供給された分散値により、量子化部４０４での量子化に用いる量子化値を決定する。量子化値決定部４０２は、例えば、図１７に示すようなテーブル４５１を保持し、そのテーブル４５１を参照して量子化値を決定する。
【０２２７】
図１７に示したテーブル４５１は、分散値と量子化値が関連付けられているテーブルである。例えば、テーブル４５１には、分散値が閾値Ｔ１以下のときには、量子化値として、“１”が設定される（量子化なしと設定される）ことが記載されている。また、テーブル４５１には、分散値が閾値Ｔ１より大きく、閾値Ｔ２以下のときには、量子化値として、“２”が設定される（ＬＳＢ  １ｂｉｔを量子化すると設定される）ことが記載されている。
【０２２８】
また、テーブル４５１には、分散値が閾値Ｔ２より大きく、閾値Ｔ３以下のときには、量子化値として、“４”が設定される（ＬＳＢ  ２ｂｉｔを量子化すると設定される）ことが記載されている。また、テーブル４５１には、分散値が閾値Ｔ３より大きく、閾値Ｔ４以下のときには、量子化値として、“８”が設定される（ＬＳＢ  ３ｂｉｔを量子化すると設定される）ことが記載されている。
【０２２９】
さらに、テーブル４５１には、分散値が閾値Ｔ４より大きいときには、量子化値として、“１６”が設定される（ＬＳＢ  ４ｂｉｔを量子化すると設定される）ことが記載されている。このようなテーブル４５１が参照され、分散値に対応した量子化値が設定される。なお、テーブル４５１は、一例であり、限定を示すものではない。よって、他の方式により、量子化値が設定されても良い。
【０２３０】
例えば、複雑な形状を有し、人間の視覚的に目立ちにくいブロックに関しては、分散値が大きくなり、量子化値が大きくなり、圧縮率が高まるように設定する（そのようなテーブル４５１を作成しておく）ことができる。また平坦な画像では、分散値が小さくなり、量子化値が小さくなるなど、主観的な画質を向上させるようにすることもできる。
【０２３１】
量子化値決定部４０２により決定された量子化値は、量子化部４０４、符号化部４０５、および逆量子化部４０６に、それぞれ供給される。
【０２３２】
量子化部４０４は、減算部４０３からの観測係数と予測値との差分値を、量子化値決定部４０２により決定された量子化値で、量子化し、符号化部４０５に出力する。符号化部４０５は、例えば、ハフマン符号化方式などの所定の符号化方式で、入力された差分値を符号化し、出力する。この符号化部４０５から出力されるストリームに関しては、図１５のＡ、図１５のＢを参照して説明した通りである。
【０２３３】
分散値算出部４０１からの出力は、予測モード判定部４０９にも供給される。予測モード判定部４０９は、分散値から予測をするモード、または予測しないモードのどちらに設定するかを判定する。この予測するモードとは、予測値を用いるモードであり、可変長で差分値を圧縮するモードである。
【０２３４】
予測モード判定部４０９は、所定の閾値（閾値Ｔ１１とする）と分散値を比較し、予測するモード（可変長モード）または予測しないモード（固定長モード）を設定する。例えば、分散値が、閾値Ｔ１１以上であるとき、固定長モードに設定され、分散値が、閾値Ｔ１１以下であるとき、可変長モードに設定される。分散値が閾値Ｔ１１と同じ値である場合、固定値モードに設定されるようにしても良いし、可変長モードに設定されるようにしても良い。
【０２３５】
分散値が閾値Ｔ１１以上である場合、観測係数ｙが分散している可能性が高く、差分値が大きくなる傾向にある。差分値が大きくなると、その差分値を圧縮（符号化）したとき、圧縮率が低くなる可能性がある。よって、分散値が閾値Ｔ１１以上である場合には、固定長モードとする。一方で、分散値が閾値Ｔ１１以下である場合、観測係数ｙが分散している可能性が低く、差分値が小さくなる傾向にある。差分値が小さくなると、その差分値を圧縮（符号化）したとき、圧縮率が高くなる可能性が高い。よって、分散値が閾値Ｔ１１以下である場合には、可変長モードとする。
【０２３６】
予測モード判定部４０９による判定結果は、予測部４０８と符号化部４０５にそれぞれ供給される。予測モード判定部４０９により固定長モードに設定された場合、“１”が予測部４０８と符号化部４０５にそれぞれ供給され、可変長モードに設定された場合、“０”が予測部４０８と符号化部４０５にそれぞれ供給される。このモードに関する情報（０または１）は、図１５を参照して説明したようにストリームに含まれて、復号側に供給される。
【０２３７】
予測部４０８は、予測モードが予測するモード（可変長モード）に設定されている場合、予測値を生成し、減算部４０３に供給する。予測部４０８の動作は、例えば、図１０に示した圧縮部２３内の予測部２０４の動作と同じとすることができ、またその構成は、図１１に示した構成とすることができる。ただし、予測モードは、予測モード判定部４０９から供給されるため、予測部４０８の構成としては不要となる。
【０２３８】
なお、予測モード判定部４０９は、予測部４０８内に含まれるようにし、予測部４０８の内部構成は、基本的に図１１に示した予測部２０４と同様の構成となるようにしても良い。
【０２３９】
減算部４０３、量子化部４０４、符号化部４０５、逆量子化部４０６、加算部４０７、および予測部４０８における処理は、基本的に、図１０の減算部２０１、量子化部２１１、符号化部２０２、逆量子化部２１２、加算部２０３、および予測部２０４における処理と基本的に同様に行われるため、ここではその説明は省略する。
【０２４０】
ただし、量子化部４０４と逆量子化部４０６は、それぞれ量子化値決定部４０２により決定された量子化値で量子化、または逆量子化する点が異なる。
【０２４１】
このように、第２の実施の形態においては、ブロック毎に適切な量子化値が設定され、量子化が行われる。例えば、主観的なエラーの目立ちやすさに応じた観測係数ｙの量子化値を調整することが可能となる。また、量子化値をブロック毎に可変とできるようにしたため、ストリーム中に、観測係数ｙを量子化した量子化値が含まれる。
【０２４２】
また、ブロック毎に予測方法（固定長モードまたは可変長モード）を設定できる。また、ブロック毎に予測方法を設定できるようにしたため、ストリーム中に、観測係数ｙの圧縮時の予測方法を表すフラグが含まれる。
【０２４３】
＜第３の実施の形態＞
次に第３の実施の形態について説明する。第３の実施の形態においては、高域成分と低域成分とにわけ、それぞれの成分で異なる圧縮を行う。
【０２４４】
図１８は、第３の実施の形態におけるデータ処理装置１０Ｃ（第３の実施の形態におけるデータ処理装置であることを示すために、データ処理装置１０Ｃと記述する）の構成を示す図である。なお、図１に示した第１の実施の形態におけるデータ処理装置１０と同一の部分には、同一の符号を付し、適宜その説明は省略する。
【０２４５】
データ処理装置１０Ｃは、イメージセンサ２０、ブロック分割部２１、帯域分割部５０１、低域成分圧縮部５０２、記録部５０３、低域成分復号部５０４、帯域合成部５０５、ブロック合成部３０、ランダムサンプリング部５１１、ＣＳデータ圧縮部５１２、記録部５１３、ＣＳデータ復号部５１４、スパース係数変換部５１５、画像再構成部５１６、サンプリングマトリックス保持部５１７、サンプリングマトリックス演算部５１８、およびスパース係数行列保持部５１９から構成される。
【０２４６】
データ処理装置１０Ｃの基本的な構成は、第１の実施の形態におけるデータ処理装置１０に、帯域分割部５０１、低域成分圧縮部５０２、記録部５０３、低域成分復号部５０４、帯域合成部５０５を追加した構成とされている。この追加された部分は、低域成分の圧縮を行う部分である。
【０２４７】
データ処理装置１０Ｃのランダムサンプリング部５１１、ＣＳデータ圧縮部５１２、記録部５１３、ＣＳデータ復号部５１４、スパース係数変換部５１５、画像再構成部５１６、サンプリングマトリックス保持部５１７、サンプリングマトリックス演算部５１８、およびスパース係数行列保持部５１９は、第１の実施の形態におけるデータ処理装置１０のランダムサンプリング部２２、圧縮部２３、記録部２４、復号部２７、スパース係数変換部２８、画像再構成部２９、サンプリングマトリックス保持部２５、サンプリングマトリックス演算部２６、およびスパース係数行列保持部３１にそれぞれ対応している。これらの部分は、高域成分の圧縮を行う部分である。
【０２４８】
第３の実施の形態におけるデータ処理装置１０Ｃは、低域成分の圧縮を、一般的な圧縮方式で行い、高域成分の圧縮を、圧縮センシング（Compressive Sensing）で行う。このように、低域成分と高域成分とで異なる圧縮方式で圧縮を行うことで、それぞれの成分に適した圧縮を行うことができ、より圧縮率を高めることができる。
【０２４９】
データ処理装置１０Ｃのイメージセンサ２０で撮像された画像の画像データは、ブロック分割部２１に供給される。ブロック分割部２１は、イメージセンサ２０からの画像データ（画像）を、処理ブロック単位に分割し、処理ブロック単位で、帯域分割部５０１に供給する。帯域分割部５０１は、ブロック内の画素を、低域成分の画素と高域成分の画素とに分け、低域成分の画素（画素データ）を、低域成分圧縮部５０２に供給し、高域成分の画素（画素データ）を、ランダムサンプリング部５１１に供給する。
【０２５０】
ここで、帯域分割部５０１の帯域分割について、図１９を参照して説明する。図１９では、８×８の１６画素が１ブロックとされ、その１ブロックに対して帯域分割が実行される場合の低域成分と高域成分との分割について説明するための図である。図１９において、斜線を付した画素が、低域成分の画素として扱われ、斜線を付していない画素が、高域成分の画素として扱われる。
【０２５１】
図１９のＡに示した例では、左上に位置する画素（ＤＣ成分の画素）を含む水平方向に並ぶ１行の画素と、垂直方向に並ぶ１列の画素が低域成分とされ、その他の画素が高域成分とされる。図１９のＡに示した例は、水平方向と垂直方向で対象的に低域成分の画素を設定した例である。
【０２５２】
図１９のＢに示した例では、左上に位置する画素（ＤＣ成分の画素）のみが低域成分とされ、その他の画素が高域成分とされる。
【０２５３】
図１９のＣに示した例では、左上側に位置する３×３のＤＣ成分の画素を含む９画素が低域成分とされ、その他の画素が高域成分とされる。
【０２５４】
図１９のＤに示した例では、左上に位置する画素（ＤＣ成分の画素）を含む水平方向に並ぶ１行の画素と、垂直方向に並ぶＤＣ成分の画素を含む５画素が低域成分とされ、その他の画素が高域成分とされる。図１９のＤに示した例は、水平方向と垂直方向で非対象的に低域成分の画素を設定した例である。
【０２５５】
図１９のＥに示した例では、左上に位置する画素（ＤＣ成分の画素）を含む水平方向に並ぶ１行の画素を低域成分とするか、または左上に位置する画素（ＤＣ成分の画素）を含む垂直方向に並ぶ１列の画素を低域成分とするかが、所定の条件により切り替えられ、その切り替えられた結果、低域成分と設定された画素以外の画素が、高域成分とされる。
【０２５６】
帯域分割部５０１は、図１９に示したいずれかの方法、またはここでは例示していない他の方法により、ブロック分割部２１により分割された処理ブロック単位の画素を、低域成分の画素と高域成分の画素とに分け、低域成分の画素を、低域成分圧縮部５０２に出力し、高域成分の画素を、ランダムサンプリング部５１１に出力する。
【０２５７】
低域成分圧縮部５０２は、低域成分の画素を、所定の圧縮方式で圧縮し、記録部５０３に記録させる。低域成分圧縮部５０２が行う圧縮は、一般的な圧縮方式を適用することができる。例えば、隣接する画素同士の差分値を算出し、その差分値を符号化する方法や、隣接するブロック間で同一位置にある画素同士の差分値を算出し、その差分値を符号化する方法などを適用することができる。
【０２５８】
記録部５０３は、低域成分の圧縮された画素を記録する。低域成分復号部５０４は、記録部５０３に記録されている低域成分の圧縮された画素を読み出し、低域成分圧縮部５０２の圧縮方式に対応した復号方式で、画素を復号し、帯域合成部５０５に出力する。
【０２５９】
帯域合成部５０５は、帯域分割部５０１とは逆の処理を行い、低域成分の画素と高域成分の画素を合成し、１ブロック分の画像を生成し、ブロック合成部３０に出力する。
【０２６０】
一方、ランダムサンプリング部５１１には、帯域分割部５０１から、処理ブロック単位の高域成分とされた画像領域内の画素データと、サンプリングマトリックス保持部５１７からサンプリングマトリックスが供給される。サンプリングマトリックス保持部５１７に保持されているサンプリングマトリックスは、第１の実施の形態と同じく、ＣＳデータ圧縮部５１２の圧縮に最適化されたサンプリングマトリックスとされている。
【０２６１】
ランダムサンプリング部５１１は、高域成分の画素をサンプリングマトリックスを用いてランダムサンプリングし、観測係数ｙを生成し、ＣＳデータ圧縮部５１２に出力する。ＣＳデータ圧縮部５１２は、第１の実施の形態における圧縮部２３（図１）と同様に圧縮を行う。ＣＳデータ圧縮部５１２により圧縮されたデータは、記録部５１３に記録される。記録部５１３に記録されたデータは、ＣＳデータ復号部５１４により読み出され、復号される。
【０２６２】
ＣＳデータ復号部５１４は、ＣＳデータ圧縮部５１２による圧縮に対応する復号を行い、復号後のデータを、スパース係数変換部５１５に出力する。スパース係数変換部５１５は、スパース係数行列保持部５１９に保持されているスパース係数行列とサンプリングマトリックス保持部５１７に保持されているサンプリングマトリックスを用いて、ランダムサンプリング部５１１によりランダムサンプリングされる前のデータを生成する。スパース係数変換部５１５は、第１の実施の形態におけるスパース係数変換部２８（図１）と同様に処理を行う。
【０２６３】
ただし、スパース係数行列保持部５１９に保持されているスパース係数行列は、サンプリングマトリックス保持部５１７に保持されているサンプリングマトリックスと同じく、高域成分の画素に適したスパース係数行列とされている。スパース係数行列保持部５１９に保持されているスパース係数行列は、保持される前の時点で学習され、高域成分の画素に適したスパース係数行列とされている。例えば、図２０に示したような学習装置により学習が行われる。
【０２６４】
図２０に示した学習装置６０１は、帯域分割部６０２、スパース係数学習部６０３、およびスパース係数行列保持部５１９を含む構成とされている。帯域分割部６０２は、図１８に示した帯域分割部５０１と同じく、入力された画像（ブロックに分割された画像）を入力し、低域成分と高域成分とに分割する。
【０２６５】
帯域分割部６０２により帯域分割された画像の内、高域成分に分割された画素が、スパース係数学習部６０３に供給される。スパース係数学習部６０３は、高域成分の画素を対象とした学習を行い、スパース係数行列φを生成し、スパース係数行列保持部５１９に保持させる。このように、高域成分の画素を対象とした学習が行われることで、高域成分の画素に特化したスパース係数行列φを生成することができる。
【０２６６】
なお、図２１を参照して後述するように、周波数変換された後の画像データに対して帯域分割し、その画像データを扱うような場合、スパース係数行列の学習時にも、周波数変換された後の画像データを扱う必要がある。よって、図示はしないが、帯域分割部６０２の前に、周波数変換する周波数変換部を設け、その周波数変換部により周波数変換された画像データが、帯域分割部６０２に入力される構成に、学習装置６０１はされる。
【０２６７】
スパース係数変換部５１５（図１８）からのスパース係数は、画像再構成部５１６に供給される。画像再構成部５１６は、供給されたスパース係数を高域成分の画像に変換し、帯域合成部５０５に出力する。帯域合成部５０５は、供給された低域成分の画像と高域成分の画像を合成することで、１ブロック分の画像データを復元し、ブロック合成部３０に出力する。ブロック合成部３０は、ブロック毎の画像を合成することで、元のサイズの画像を復元する。
【０２６８】
このようにして、低域成分と高域成分に分けて圧縮を行うことで、低域成分に適した圧縮を行うことが可能となるとともに、高域成分に適した圧縮を行うことも可能となる。よって、圧縮効率をより向上させることが可能となる。
【０２６９】
図２１は、第３の実施の形態におけるデータ処理装置１０Ｃの他の構成を示す図である。図２１に示したデータ処理装置１０Ｃ’（図１８に示したデータ処理装置１０Ｃと区別するためにダッシュを付して記載する）は、図１８に示したデータ処理装置１０Ｃに、周波数変換部５３１と逆周波数変換部５３２が追加された構成とされ、他の部分は同様の構成である。同様の構成の部分には、同様の符号を付し、その説明は省略する。
【０２７０】
周波数変換部５３１は、ブロック分割部２１によりブロック単位に分割された画像を入力し、例えば、DCTやwaveletといった周波数変換方式を適用し、入力された画像を周波数成分の画像に変換する。帯域分割部５０１は、周波数変換された画像に対して、低域成分の画像と高域成分の画像とに分割する処理を実行する。
【０２７１】
逆周波数変換部５３２は、低域成分復号部５０４で復号された低域成分の画像データに対して、周波数変換部５３１での周波数変換処理に対応する逆周波数変換処理を実行することで、周波数成分の画像データを、周波数変換前の画像データ（低域成分の画像データ）に復元し、帯域合成部５０５に出力する。
【０２７２】
このように、低域成分と高域成分に帯域分割する前の時点で、周波数変換する構成としても良い。
【０２７３】
図２１に示したデータ処理装置１０Ｃ’においても、図１８に示したデータ処理装置１０Ｃと同じく、低域成分と高域成分に分けて圧縮を行うため、低域成分に適した圧縮を行うことが可能となるとともに、高域成分に適した圧縮を行うことも可能となる。よって、圧縮効率をより向上させることが可能となる。
【０２７４】
図１８に示したデータ処理装置１０Ｃ、または図２１に示したデータ処理装置１０Ｃ’は、低域成分と高域成分に画像を分割して処理を行う。図１９を参照して説明したように、低域成分と高域成分とを、画素位置により分割するような場合、換言すれば、高域成分の画素の位置や個数が同一であり、高域成分の画素の範囲の形が同一である場合、その形にあったサンプリングマトリックスを生成しておき、用いるようにすればよい。
【０２７５】
サンプリングマトリックスは、例えば図６を参照して説明したように、２次元的に模式的に表すと、ランダムサンプリングの処理対象とされたブロック内の所定の位置の画素に０または１を適用するマトリックスである。図６では、１ブロックが４×４の１６画素からなる四角形状のブロックである場合を例示したが、このような形状のサンプリングマトリックスは、高域成分に分割されたブロックが、４×４の１６画素からなる四角形状のブロックである場合に適用される。
【０２７６】
例えば、図１９のＢに示したように、８×８の６４画素からなるブロックのうちの左上に位置する１画素だけが除外された６３画素からなる形状のブロックに、８×８の６４画素用のサンプリングマトリックスを適用すると、除外された左上の１画素が、ランダムサンプリン後の結果（観測係数ｙ）に影響を与える可能性もある。
【０２７７】
図２２に示したデータ処理装置１０Ｃ’は、周波数変換部５３１を備え、画像を周波数変換してから、低域成分と高域成分とに分割するため、高域成分に分割された画像の形状は、ブロック毎に変化する可能性がある。よって、その変化に合わせたサンプリングマトリックスが用いられるようにする必要がある。
【０２７８】
そこで、図２２を参照して説明するように、適宜サンプリングマトリックスが変更される仕組みを設けても良い。図２２のＡは、帯域分割部５０１で帯域分割された１ブロックを表す図である。図２２のＡにおいては、８×８の６４画素を１ブロックとして扱う場合を例に挙げて説明する。
【０２７９】
図２２のＡにおいて、斜線を付した画素は、低域成分に分類された画素である。図２２のＡに示した例では、低域成分に分類された画素は、左上のＤＣ成分の画素を含む水平方向の１行に位置する画素と、垂直方向の１列のうち、一番下の画素を除く画素が、低域成分の画素に分類された場合を示している。
【０２８０】
例えば、サンプリングマトリックスとしては、８×８の６４画素からなる正方形のブロックを対象としたサンプリングマトリックスをサンプリングマトリックス保持部５１７に保持しておき、ランダムサンプリング部５１１でランダムサンプリングを行うときには、低域成分に分類された画素の位置は、０に設定したサンプリングマトリックスに変換してから用いるようにする。
【０２８１】
図２２のＡに示したように、低域成分の画素と高域成分の画素が分類された場合、図２２のＢに示すように、低域成分の画素に適用するサンプリングマトリックス内の値は、０に設定されたサンプリングマトリックスが適用される。図２２のＢに示したサンプリングマトリックスにおいて、網掛けがされている画素の部分は、高域成分の画素に分類された画素を表し、その部分に関しては、第１の実施の形態と同じく、０から１（０または１）の値を有するマトリックスとされる。
【０２８２】
このようにした場合、スパース係数行列は、以下のコスト式（３１）で算出される。次式（３１）において、Ｄは、周波数変換に用いられた変換係数、例えば、DCT係数である。
【数３１】
2017183448.tif 000033
【０２８３】
図２３は、第３の実施の形態におけるデータ処理装置１０Ｃ”の構成を示す図である。図２３に示したデータ処理装置１０Ｃ”は、図２１に示したデータ処理装置１０Ｃ’に逆周波数変換部５７１を追加した構成とされている。
【０２８４】
図２３に示したデータ処理装置１０Ｃ”においては、周波数ドメインの画像データから画像ドメインのデータに変換した後、ランダムサンプリングが行われる。すなわち、帯域分割部５０１から出力された周波数変換後の画像データであり、高域成分の画像データは、逆周波数変換部５７１に供給され、逆周波数変換の処理がなされることで、画素ドメインの画像データに変換される。
【０２８５】
その後、ランダムサンプリング部５１１でランダムサンプリングが行われる。この場合、画素ドメインの画像データに対して、例えば、第１の実施の形態と同じランダムサンプリング処理が実行される。ただし、サンプリングの対象となる部分は、高域成分に分類された画素に対してである点は、上記した第３の実施の形態と同様である。
【０２８６】
このように、第３の実施の形態においては、画像を構成成分（低域成分と高域成分）に分割し、異なる処理を適用して画像が圧縮される。よって、画像の構成成分にあった処理を行うことができ、より圧縮効率を高めることができる。また例えば、低域成分に対しては、一般的な画像圧縮方式を用いることができる。また例えば、高域成分に対しては、圧縮センシングを用いることができる。
【０２８７】
また、画像を構成成分に分割するときの手法は、さまざまな手法を適用することができる。また、サンプリングマトリックスやスパース係数行列は、高域成分に特化したものとすることができるため、より高域成分に適した圧縮センシングを行うことが可能となる。
【０２８８】
＜第４の実施の形態＞
次に、第４の実施の形態について説明を加える。図２４は、第４の実施の形態におけるデータ処理装置１０Ｄの構成を示す図である。図２４に示したデータ処理装置１０Ｄは、図１８に示したデータ処理装置１０Ｃと同様の構成であるが、低域成分圧縮部５０２から、ＣＳデータ圧縮部５１２に対して、低域成分圧縮部５０２でのビット長に関する情報が供給される構成とされている点が異なる。
【０２８９】
ここでは、図１８に示したデータ処理装置１０Ｃに対して、第４の実施の形態を適用した場合を例に挙げて説明を続けるが、図２１に示したデータ処理装置１０Ｃ’、または図２３に示したデータ処理装置１０Ｃ”に対して、第４の実施の形態を適用することもできる。
【０２９０】
第４の実施の形態におけるデータ処理装置１０Ｄによれば、画像内の特定の位置にあるブロックを即座に参照できる圧縮を行うことができる。このことについて図２５を参照して説明する。
【０２９１】
図２５のＡは、画像７０１が、ブロック単位に分割されている状態を示している。画像７０１は、図２６に示すように、各ブロックの画像データは、可変長で圧縮されている。可変長で圧縮されているため、ブロック１、ブロック２、ブロック３、ブロック４、ブロック５、・・・は、それぞれ異なるデータ量となっている。
【０２９２】
例えば、画像７０１内の４２番目のブロック４２にアクセスしたい場合を考える。ブロック４２にアクセスするためには、ブロック１の先頭から順次アクセスし、ブロック４２までたどり着く必要がある。または、各ブロックの先頭位置を表すテーブルを作成しておき、そのテーブルを参照してブロック４２の先頭にアクセスするという手法も考えられる。
【０２９３】
このようにブロックサイズの符号化長が可変である場合、ブロック４２の先頭位置に直接的にアクセスするのは困難である。
【０２９４】
図２５のＢは、画像７０２が、ブロック単位に分割されている状態を示している。画像７０２は、図２７に示すように、各ブロックの画像データは、固定長で圧縮されている。固定長で圧縮されているため、ブロック１、ブロック２、ブロック３、ブロック４、ブロック５、・・・は、それぞれ同一のデータ量となっている。
【０２９５】
例えば、画像７０２内の４２番目のブロック４２にアクセスしたい場合を考える。固定長圧縮の場合、圧縮後の１ブロックのデータサイズは、画像７０２によらず一定に保たれる。よって、ブロックデータの分割位置（ブロックの先頭位置）は、容易に確認することができ、この場合、ブロック４２に直接的にアクセスすることも可能である。
【０２９６】
例えば、１ブロックが１０ビットの固定長とされている場合、ブロック４２の先頭は、４２１ビット目であり、４２１ビットから４３０ビットがブロック４２のデータであるとして読み出すことができる。よって、例えば、画像７０２からブロック４２内の画像を切り出すといったようなときに、容易にブロック４２のデータを読み出すことができる。
【０２９７】
第４の実施の形態におけるデータ処理装置１０Ｄは、１ブロックの画像データは、固定長となるように圧縮が行われる。すなわち、図２７に示したようなストリームが生成される。
【０２９８】
図２７を再度参照する。各ブロックは、低域成分のデータと高域成分のデータとから構成されている。また、低域成分のデータと高域成分のデータで、１ブロックあたりのビット長として設定されている固定長のビット長にならなかった場合、スタッフィング（stuffing）データが入れられる。
【０２９９】
例えば、ブロック１は、低域成分のデータ、高域成分のデータ、およびスタッフィングデータから構成されている。ブロック２は、低域成分のデータと高域成分のデータから構成され、低域成分のデータの方が、高域成分のデータよりもビット長が長い。ブロック３も、ブロック２と同じく、低域成分のデータと高域成分のデータから構成され、低域成分のデータの方が、高域成分のデータよりもビット長が長い。
【０３００】
ブロック４は、低域成分のデータと高域成分のデータから構成され、低域成分のデータの方が、高域成分のデータよりもビット長が短い。ブロック５は、低域成分のデータのみから構成されている。
【０３０１】
このように、各ブロックのデータ長は、固定長で同一であるが、１ブロック内で低域成分のデータが占める割合と高域成分のデータが占める割合は、各ブロック毎に異なる。このような固定長のブロックであり、ブロック内では、低域成分のデータと高域成分のデータとの割合が異なるようなストリームは、データ処理装置１０Ｄ（図２４）のような構成により生成可能である。
【０３０２】
図２４に示したデータ処理装置１０Ｄにおいて、低域成分圧縮部５０２は、画質を維持できる程度にまで、低域成分のデータを圧縮する。その結果、圧縮後の低域成分のビット長を、低域成分圧縮部５０２は、ＣＳデータ圧縮部５１２に出力する。
【０３０３】
ＣＳデータ圧縮部５１２は、１ブロックあたりのビット長から、低域成分圧縮部５０２からのビット長を減算したビット長（以下、適宜、ターゲットビット長と記載する）以下のビット長になるように、高域成分のデータ（ランダムサンプリング後のデータ）を圧縮する。
【０３０４】
例えば、ＣＳデータ圧縮部５１２は、図１０に示した圧縮部２３と同じく、量子化部２１１を備える構成とされ、量子化部２１１での量子化値を、ターゲットビット長に対応する値に設定し、量子化を行う。
【０３０５】
このように、低域成分圧縮部５０２とＣＳデータ圧縮部５１２で、それぞれ圧縮が行われ、１ブロックのデータが、１ブロックのデータ長として設定されているビット長に収まるように圧縮が行われる。
【０３０６】
このような処理が、データ処理装置１０Ｄで行われることで、図２７に示したような１ブロックが固定長のストリームが生成される。よって、上記したように、画像内の所定のブロックに対してアクセスするとき、即座にアクセスできるストリームを生成することができる。
【０３０７】
なお、第４の実施の形態においては、低域成分圧縮部５０２で圧縮に用いたビット長は、ＣＳデータ圧縮部５１２に出力されるため、低域成分圧縮部５０２における圧縮は、隣接ブロックのデータは参照せず、ブロック内予測のみで行われる。
【０３０８】
このように、第４の実施の形態においては、低域成分と高域成分をそれぞれ別に圧縮を行うが、１ブロックのビット長は固定長とした圧縮を行うことができる。このため、ランダムアクセスを可能とするストリームを生成することができる。
【０３０９】
＜記録媒体について＞
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０３１０】
図２８は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。コンピュータにおいて、ＣＰＵ（Central Processing Unit）１００１、ＲＯＭ（Read Only Memory）１００２、ＲＡＭ（Random Access Memory）１００３は、バス１００４により相互に接続されている。バス１００４には、さらに、入出力インタフェース１００５が接続されている。入出力インタフェース１００５には、入力部１００６、出力部１００７、記憶部１００８、通信部１００９、およびドライブ１０１０が接続されている。
【０３１１】
入力部１００６は、キーボード、マウス、マイクロフォンなどよりなる。出力部１００７は、ディスプレイ、スピーカなどよりなる。記憶部１００８は、ハードディスクや不揮発性のメモリなどよりなる。通信部１００９は、ネットワークインタフェースなどよりなる。ドライブ１０１０は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア１０１１を駆動する。
【０３１２】
以上のように構成されるコンピュータでは、ＣＰＵ１００１が、例えば、記憶部１００８に記憶されているプログラムを、入出力インタフェース１００５およびバス１００４を介して、ＲＡＭ１００３にロードして実行することにより、上述した一連の処理が行われる。
【０３１３】
コンピュータ（ＣＰＵ１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０３１４】
コンピュータでは、プログラムは、リムーバブルメディア１０１１をドライブ１０１０に装着することにより、入出力インタフェース１００５を介して、記憶部１００８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１００９で受信し、記憶部１００８にインストールすることができる。その他、プログラムは、ＲＯＭ１００２や記憶部１００８に、予めインストールしておくことができる。
【０３１５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３１６】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０３１７】
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また他の効果があってもよい。
【０３１８】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０３１９】
なお、本技術は以下のような構成もとることができる。
（１）
圧縮センシングにより圧縮する第１の圧縮部と、
前記第１の圧縮部からの観測係数を前記第１の圧縮部とは異なる圧縮方式で圧縮する第２の圧縮部と
を備えるデータ処理装置。
（２）
前記第２の圧縮部は、前記第１の圧縮部からの観測係数と予測値との差分値を算出し、前記差分値を圧縮する
前記（１）に記載のデータ処理装置。
（３）
前記第１の圧縮部は、サンプリングマトリックスを用いたランダムサンプリングを行い、
前記サンプリングマトリックスは、前記第２の圧縮部の圧縮に最適化されている
前記（２）に記載のデータ処理装置。
（４）
前記サンプリングマトリックスは、前記差分値が小さくなるように設計されたマトリックスである
前記（３）に記載のデータ処理装置。
（５）
前記第１の圧縮部で圧縮されるデータは、画像データであり、
前記サンプリングマトリックスは、画像内の空間的な相関が高い順に、前記観測係数が並ぶように設計されたマトリックスである
前記（３）に記載のデータ処理装置。
（６）
前記サンプリングマトリックスは、ＲＩＰ（Restricted Isometry Property）制約と、サンプリングマトリックスの行ベクトルと、スパース係数行列の列ベクトルが、インコヒーレントであるという制約を満たすサンプリングマトリックスとして生成され、
生成されたサンプリングマトリックスの行ベクトルを、画像内の空間的な相関が高い順に、前記観測係数が並ぶように入れ替えることで生成されたサンプリングマトリックスである
前記（３）に記載のデータ処理装置。
（７）
前記第２の圧縮部は、前記観測係数を符号化する符号化部を備える
前記（１）乃至（６）のいずれかに記載のデータ処理装置。
（８）
前記第２の圧縮部は、前記差分値を量子化する量子化部と、
前記量子化部により量子化された前記差分値を符号化する符号化部と
を備える
前記（２）乃至（６）のいずれかに記載のデータ処理装置。
（９）
前記予測値は、隣接する観測係数である
前記（２）乃至（８）のいずれかに記載のデータ処理装置。
（１０）
前記観測係数と前記予測値との差分を算出し、その差分値を圧縮するモードと、前記観測係数を前記差分値として圧縮を行うモードを、前記観測係数毎に設定する
前記（２）乃至（９）のいずれかに記載のデータ処理装置。
（１１）
前記第１の圧縮部で圧縮されるデータは、所定の大きさのブロックに分割された画像の画像データであり、
前記観測係数と前記予測値との差分を算出し、その差分値を圧縮するモードと、前記観測係数を前記差分値として圧縮を行うモードを、前記ブロック毎に設定する
前記（２）乃至（９）のいずれかに記載のデータ処理装置。
（１２）
前記第２の圧縮部は、前記差分値を量子化する量子化部と、
前記量子化部により量子化された前記差分値を符号化する符号化部と
を備え、
前記量子化部の量子化値は、前記ブロック毎に設定される
前記（１１）に記載のデータ処理装置。
（１３）
前記ブロック毎に、前記観測係数の符号化難易度を算出し、
前記符号化難易度により、前記量子化値を設定する
前記（１２）に記載のデータ処理装置。
（１４）
前記観測係数と前記予測値との差分を算出し、その差分値を圧縮するモードと、前記観測係数を前記差分値として圧縮を行うモードを、前記ブロック毎に前記符号化難易度により設定する
前記（１３）に記載のデータ処理装置。
（１５）
前記第１の圧縮部で圧縮されるデータは、画像データであり、
前記画像データを低域成分と高域成分に分割する帯域分割部をさらに備え、
前記第２の圧縮部は、前記帯域分割部により分割された前記画像データのうち、前記高域成分を圧縮する
前記（１）乃至（９）のいずれかに記載のデータ処理装置。
（１６）
前記低域成分は、前記圧縮センシング以外の方式で圧縮される
前記（１５）に記載のデータ処理装置。
（１７）
前記第１の圧縮部で圧縮されるデータは、所定の大きさのブロックに分割された画像の画像データであり、
前記ブロックは、固定長で圧縮され、
前記第２の圧縮部は、圧縮後の前記低域成分のビット長を、設定されている前記固定長のビット長から減算したビット長以内で、前記高域成分を圧縮する
前記（１５）または（１６）に記載のデータ処理装置。
（１８）
圧縮センシングにより圧縮し、
前記圧縮の結果である観測係数を符号化する
ステップを含むデータ処理方法。
（１９）
コンピュータに、
圧縮センシングにより圧縮し、
前記圧縮の結果である観測係数を符号化する
ステップを含む処理を実行させるためのプログラム。
【符号の説明】
【０３２０】
１０  データ処理装置，  ２０  イメージセンサ，  ２１  ブロック分割部，  ２２  ランダムサンプリング部，  ２３  圧縮部，  ２４  記録部，  ２５  サンプリングマトリックス保持部，  ２６  サンプリングマトリックス演算部，  ２７  復号部，  ２８  スパース係数変換部，  ２９  画像再構成部，  ３０  ブロック合成部，  ３１  スパース係数行列保持部
【図１】
2017183448.tif 000034
【図２】
2017183448.tif 000035
【図３】
2017183448.tif 000036
【図４】
2017183448.tif 000037
【図５】
2017183448.tif 000038
【図６】
2017183448.tif 000039
【図７】
2017183448.tif 000040
【図８】
2017183448.tif 000041
【図９】
2017183448.tif 000042
【図１０】
2017183448.tif 000043
【図１１】
2017183448.tif 000044
【図１２】
2017183448.tif 000045
【図１３】
2017183448.tif 000046
【図１４】
2017183448.tif 000047
【図１５】
2017183448.tif 000048
【図１６】
2017183448.tif 000049
【図１７】
2017183448.tif 000050
【図１８】
2017183448.tif 000051
【図１９】
2017183448.tif 000052
【図２０】
2017183448.tif 000053
【図２１】
2017183448.tif 000054
【図２２】
2017183448.tif 000055
【図２３】
2017183448.tif 000056
【図２４】
2017183448.tif 000057
【図２５】
2017183448.tif 000058
【図２６】
2017183448.tif 000059
【図２７】
2017183448.tif 000060
【図２８】
2017183448.tif 000061
【国際調査報告】
2017183448.tif 000062
2017183448.tif 000063
2017183448.tif 000064
2017183448.tif 000065