(57)【要約】【課題】高い圧縮率を実現しつつ、復号時にユーザにとって許容できる画質を保証すること。【解決手段】本発明にかかるクラウドレット２０は、入力画像Ｐ１を第１の量子化幅（ｑ）に基づき量子化した第１の量子化係数（ａ）から当該第１の量子化幅より広い第２の量子化幅（Ｑ）に基づき量子化した第２の量子化係数（ｂ）について、第１の量子化係数への逆写像を行う粗密変換部２２を備える。粗密変換部２２は、第２の量子化幅の範囲内の第１の量子化係数の候補の中から、事前確率（prior probability）に基づく量子化セル量が最大となる量子化係数を選択して、第１の量子化係数として逆写像を行う。【選択図】図４
2017158183.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を第１の量子化幅に基づき量子化した第１の量子化係数から当該第１の量子化幅より広い第２の量子化幅に基づき量子化した第２の量子化係数について、前記第１の量子化係数への逆写像を行う逆写像部を備え、
前記逆写像部は、
前記第２の量子化幅の範囲内の前記第１の量子化係数の候補の中から、事前確率（prior probability）に基づく量子化セル量が最大となる量子化係数を選択して、前記第１の量子化係数として前記逆写像を行う
画像処理装置。
【請求項２】
前記逆写像部は、
前記事前確率を定義するスパース性モデル（sparsity model）に基づいて前記第１の量子化係数を近似して前記逆写像を行う
請求項１に記載の画像処理装置。
【請求項３】
前記逆写像部は、
前記第２の量子化幅の範囲内の前記第１の量子化係数の範囲のうち前記事前確率の最大値を前記候補ごとに探索し、当該最大値と前記第１の量子化係数の範囲とに基づいて前記量子化セル量を算出し、前記候補の間で前記量子化セル量を比較することにより、前記量子化セル量が最大となる量子化係数を選択する
請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１の量子化係数を含む符号化画像について、前記第１の量子化係数と前記第２の量子化係数とが交互になるように再符号化を行うことにより再符号化画像へ変換する再符号化部をさらに備え、
前記逆写像部は、
前記再符号化画像内の前記第２の量子化係数に対して、当該第２の量子化係数と隣接する画素の前記第１の量子化係数を用いて、前記逆写像を行う
請求項１に記載の画像処理装置。
【請求項５】
前記逆写像部は、
前記隣接する画素と隣接する画素の前記第２の量子化係数をさらに用いて、前記逆写像を行う
請求項４に記載の画像処理装置。
【請求項６】
複数の画像について各画像の特徴量の分布から複数のクラスタに分類した辞書情報と、
前記第１の量子化係数から前記第２の量子化係数への再符号化時に、前記入力画像が前記複数のクラスタのいずれに該当するかを判別したクラスタインデクスを、前記第２の量子化係数に対応付けて記憶装置に格納する再符号化部と、をさらに備え、
前記逆写像部は、前記第２の量子化係数に対応付けられた前記クラスタインデクスに基づき前記辞書情報内のクラスタを特定し、当該特定したクラスタを用いて前記逆写像を行う
請求項１に記載の画像処理装置。
【請求項７】
複数の画像の特徴量の分布から複数のクラスタに分類した過完備辞書（over-complete dictionary）と、
前記特徴量の分布をグラフ化し、前記複数のクラスタに分類した散在（sparse）グラフテンプレートと、
前記複数の画像から前記過完備辞書と前記散在グラフテンプレートとを学習する学習部と、
入力画像を第１の量子化幅に基づき量子化した第１の量子化係数を含む符号化画像について、前記第１の量子化係数から、前記第１の量子化幅より広い第２の量子化幅に基づき量子化した第２の量子化係数へ再符号化する再符号化部と、
前記第２の量子化係数について、前記過完備辞書と前記散在グラフテンプレートとを用いて、前記第１の量子化係数への逆写像を行う逆写像部と、を備え、
前記学習部は、
前記複数の画像から抽出された複数のブロック画像について、ＴＳＶＱ（Tree-Structured Vector Quantization）により複数のクラスタに分類して二分木を構築し、
前記分類された各クラスタに対してクラスタインデクスのオフセットが減少するように、前記二分木のノードを入れ替え、
前記入れ替え後の前記二分木に対してレート歪みを最適化するように枝刈りを行い、
前記枝刈り後の前記二分木に対して前記過完備辞書と前記散在グラフテンプレートとを学習し、
前記再符号化部は、
再符号化時に、前記入力画像が前記学習後の前記過完備辞書及び前記散在グラフテンプレートのクラスタのいずれに該当するかを判別したクラスタインデクスを、前記第２の量子化係数に対応付けて記憶装置に格納し、
前記逆写像部は、
前記第２の量子化係数に対応付けられた前記クラスタインデクスに基づき前記過完備辞書及び前記散在グラフテンプレート内のクラスタを特定し、当該特定したクラスタを用いて前記逆写像を行う
画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、トランスコーディングされた圧縮画像を処理するための画像処理装置に関する。
【背景技術】
【０００２】
近年、ソーシャルメディアサイトや写真共有サイトが普及し、増加するユーザにより日々、大量の画像データがアップロードされている。そのため、このようなサイトを運営する事業者は、アップロード画像を高速かつ大量に保存することが求められる。
【０００３】
しかしながら、生成される情報にヒープは成長するにもかかわらず人間に与えられた時間や関心は、限られたリソースといえる（非特許文献１）。そのため、実際にアクセスされ、ユーザに閲覧される画像は、大量に保存された画像の中のほんの一部である。つまり、ユーザによりアップロードされる画像の量とユーザによりダウンロード（アクセスされて閲覧）される画像の量とは非対称の関係がある。そのため、サイト運営者のためにストレージ全体のコストを最小化するための方法が必要とされている。
【０００４】
ここで、非特許文献２には、スパース信号（sparse signal）やスパース性モデル（sparsity model）に関する技術が開示されている。非特許文献３及び４には、逆量子化に関する技術が開示されている。
【０００５】
また、クラウドストレージについての画像圧縮に関する技術は、例えば、非特許文献５〜８に開示されている。非特許文献５には、ＳＩＦＴディスクリプタを介した大規模画像データベースから画像を再構成する技術が開示されている。非特許文献６には、画像間の相関を分析及び探索する画素値よりむしろローカルな特徴を探索することにより、写真アルバムを圧縮するための改良された技術が開示されている。
【０００６】
非特許文献７には、新規なクラウドベース分配画像コーディングスキームに関する技術が開示されている。
【０００７】
また、非特許文献８には、ＪＢＩＧに関する技術が開示されている。
【０００８】
ここで、特許文献１には、圧縮データの圧縮度を向上させるためのＪＰＥＧ画像のトランスコーディングに関する技術が開示されている。また、特許文献２には、画像データをパケットデータとして取扱い、リアルタイムに画像データをメモリの記憶容量以内のデータ量として圧縮するための画像処理装置に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００６−５０１７３６号公報
【特許文献２】特開２００３−２４４４４６号公報
【非特許文献】
【００１０】
【非特許文献１】D. J. Levitin, The Organized Mind: Thinking Straight in the Age of Information Overload, Penguin, 2014.
【非特許文献２】M. Elad, M.A.T. Figueiredo, and Y. Ma, “On the role of sparse and redundant representations in image processing,” Proc. IEEE, vol. 98, no. 6, pp. 972-982, June 2010.
【非特許文献３】X. Liu, G. Cheung, X. Wu, and D. Zhao, “Inter-block soft decoding of JPEG images with sparsity and graphsignal smoothness priors,” in IEEE International Conference on Image Processing, Quebec City, Canada, September 2015.
【非特許文献４】X. Liu, X. Wu, J. Zhou, and D. Zhao, “Data-driven sparsity-based restoration of JPEG-compressed images in dual transform-pixel domain,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2015.
【非特許文献５】H. Yue, X. Sun, J. Yang, and F. Wu, “Cloud-based image coding for mobile devices-toward thousands to one compression,” IEEE Trans. Multimedia, vol. 15, no. 4, pp. 845-857, June 2013.
【非特許文献６】Z. Shi, X. Sun, and F. Wu, “Photo album compression for cloud storage using local features,” IEEE J. Emerg. Sel. Topic Circuits Syst., vol. 4, no. 1, pp. 17-28, Mar. 2014.
【非特許文献７】X. Song, X. Peng, J. Xu, G. Shi, and F. Wu, “Cloud based distributed image coding,” IEEE Trans. Circuits Syst. Video Technol., vol. 26, no. 6, pp. 1-1, June 2016.
【非特許文献８】F. Ono, W. Rucklidge, R. Arps, and C. Constantinescu, “JBIG2-the ultimate bi-level image coding standard,” in IEEE International Conference on Image Processing, Vancouver, Canada, September 2000.
【非特許文献９】Xianming Liu, Gene Cheung, Xiaolin Wu, Debin Zhao, "Random Walk Graph Laplacian based Smoothness Prior for Soft Decoding of JPEG Images," accepted to IEEE Transactions on Image Processing, October 2016. (arXiv)
【非特許文献１０】M. Elad and M. Aharon, “Image denoising via sparse and redundant representation over learned dictionaries,” in IEEE Transactions on Image Processing, vol. 15, no.12, December 2006.
【非特許文献１１】J. Pang, G. Cheung, W. Hu, and O. C. Au, “Redefining self-similarity in natural images for denoising using graph signal gradient,” in APSIPA ASC, Siem Reap, Cambodia, December 2014.
【非特許文献１２】A. Gersho and R. M. Gray, Vector Quantization and Signal Compression. Norwell, MA, USA: Kluwer Academic Publishers, 1991.
【非特許文献１３】L. Y. Wei and M. Levoy, “Fast texture synthesis using tree-structured vector quantization,” in SIGGRAPH ’00: Proceedings of the 27th annual conference on Computer graphics and interactive techniques. New York, NY, USA: ACM Press/Addison-Wesley Publishing Co., 2000, pp. 479-488. [Online]. Available: http://dx.doi.org/10.1145/344779.345009
【非特許文献１４】K. Ramchandran and M. Vetterli, “Best wavelet packet bases in a rate- distortion sense,” IEEE Transactions on Image Processing, vol. 2, no. 2, pp. 160-175, Apr 1993.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ここで、上述した特許文献１等におけるトランスコーディングでは、復号時に粗量子化ビンインデクス（２回目の量子化による量子化係数）から密量子化ビンインデクス（１回目の量子化による量子化係数）への逆写像が困難であるという問題（量子化ビンマッチング（ＱＢＭ、quantization bin matching）問題）がある。
【００１２】
尚、非特許文献５から８に記載の技術は、ユーザによりアップロードされたオリジナル画像の正確な回復を保証できない。
【００１３】
本発明は、このような問題点を解決するためになされたものであり、高い圧縮率を実現しつつ、復号時にユーザにとって許容できる画質を保証するための画像処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の第１の態様にかかる画像処理装置は、
入力画像を第１の量子化幅に基づき量子化した第１の量子化係数から当該第１の量子化幅より広い第２の量子化幅に基づき量子化した第２の量子化係数について、前記第１の量子化係数への逆写像を行う逆写像部を備え、
前記逆写像部は、
前記第２の量子化幅の範囲内の前記第１の量子化係数の候補の中から、事前確率（prior probability）に基づく量子化セル量が最大となる量子化係数を選択して、前記第１の量子化係数として前記逆写像を行う。
【００１５】
本発明の第２の態様にかかる画像処理装置は、
複数の画像の特徴量の分布から複数のクラスタに分類した過完備辞書（over-complete dictionary）と、
前記特徴量の分布をグラフ化し、前記複数のクラスタに分類した散在（sparse）グラフテンプレートと、
前記複数の画像から前記過完備辞書と前記散在グラフテンプレートとを学習する学習部と、
入力画像を第１の量子化幅に基づき量子化した第１の量子化係数を含む符号化画像について、前記第１の量子化係数から、前記第１の量子化幅より広い第２の量子化幅に基づき量子化した第２の量子化係数へ再符号化する再符号化部と、
前記第２の量子化係数について、前記過完備辞書と前記散在グラフテンプレートとを用いて、前記第１の量子化係数への逆写像を行う逆写像部と、を備え、
前記学習部は、
前記複数の画像から抽出された複数のブロック画像について、ＴＳＶＱ（Tree-Structured Vector Quantization）により複数のクラスタに分類して二分木を構築し、
前記分類された各クラスタに対してクラスタインデクスのオフセットが減少するように、前記二分木のノードを入れ替え、
前記入れ替え後の前記二分木に対してレート歪みを最適化するように枝刈りを行い、
前記枝刈り後の前記二分木に対して前記過完備辞書と前記散在グラフテンプレートとを学習し、
前記再符号化部は、
再符号化時に、前記入力画像が前記学習後の前記過完備辞書及び前記散在グラフテンプレートのクラスタのいずれに該当するかを判別したクラスタインデクスを、前記第２の量子化係数に対応付けて記憶装置に格納し、
前記逆写像部は、
前記第２の量子化係数に対応付けられた前記クラスタインデクスに基づき前記過完備辞書及び前記散在グラフテンプレート内のクラスタを特定し、当該特定したクラスタを用いて前記逆写像を行う。
【発明の効果】
【００１６】
本発明により、高い圧縮率を実現しつつ、復号時にユーザにとって許容できる画質を保証するための画像処理システムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１にかかるクラウドストレージシステムの全体構成を示すブロック図である。
【図２】本発明の実施の形態１にかかる画像アップロード時の流れを説明するためのシーケンス図である。
【図３】本発明の実施の形態１にかかる画像ダウンロード時の流れを説明するためのシーケンス図である。
【図４】本発明の実施の形態１にかかるＱＢＭの解法の概念を説明するための図である。
【図５】本発明の実施の形態１にかかる粗密変換処理（量子化ビンマッチング）の流れを説明するためのフローチャートである。
【図６】本発明の実施の形態１にかかる圧縮利得の例を示す図である。
【図７】本発明の実施の形態１にかかるレート歪み性能圧縮の例を示す図である。
【図８】本発明の実施の形態１にかかるレート歪み性能圧縮の例を示す図である。
【図９】本発明の実施の形態１にかかるレート歪み性能圧縮の例を示す図である。
【図１０】本発明の実施の形態２にかかるブロック内の画素に対する密量子化と粗量子化の関係を説明するための図である。
【図１１】本発明の実施の形態３にかかる画像処理システムの全体構成を示すブロック図である。
【図１２】本発明の実施の形態３にかかる粗密変換処理の流れを説明するためのフローチャートである。
【図１３】本発明の実施の形態３にかかるＢａｇ  ｏｆ  Ｖｉｓｕａｌ  Ｗｏｒｄｓ(ＢｏＶＷ)を利用する場合の概念を示す図である。
【図１４】本発明の実施の形態３にかかるある画像における特徴量の分布の例を示す図である。
【図１５】本発明の実施の形態４にかかるクラウドストレージシステムの全体構成を示すブロック図である。
【図１６】本発明の実施の形態４にかかるオフライントレーニングの流れを説明するための図である。
【図１７】本発明の実施の形態４にかかる散在グラフテンプレートの例を示す図である。
【図１８】本発明の実施の形態４にかかるオフライントレーニングで生成されるツリーの概念を説明するための図である。
【図１９】部分空間の検索を説明するための図である。
【図２０】二分木のノードの入れ替えを説明するための図である。
【図２１】ビット割当前後のインデクスオフセットの確率分布の比較を示す図である。
【図２２】微分カウンタの概念を説明するための図である。
【図２３】本発明の実施の形態４にかかるコードブック設計アルゴリズムの例を示す図である。
【発明を実施するための形態】
【００１８】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１９】
＜実施形態１＞
図１は、本発明の実施の形態１にかかるクラウドストレージシステムの全体構成を示すブロック図である。クラウドストレージシステムは、ユーザ端末１１、１２等と、クラウドレット２０と、クラウドストレージ３０とを備える。ユーザ端末１１等は、ネットワーク（不図示）を介してクラウドレット２０と接続されている。
【００２０】
ユーザ端末１１は、ユーザＵ１が操作する情報処理端末であり、例えば、携帯電話機、スマートフォン、タブレット端末、ＰＣ等である。ユーザ端末１１は、画像符号化部１１１と、画像復号化部１１２とを備える。画像符号化部１１１は、カメラ等により撮影された入力画像Ｐ１について量子化パラメータ（quantization parameters (QP)）ｑを用いてＪＰＥＧの符号化を行い、符号化画像Ｐ２を生成する。つまり、符号化画像Ｐ２は、入力画像Ｐ１に対する圧縮データである。ここで、ユーザ端末１１は、符号化画像Ｐ２をクラウドレット２０へアップロードすることができる。画像復号化部１１２は、ＪＰＥＧで符号化された画像を表示用に復号化する。
【００２１】
ユーザ端末１２は、ユーザＵ２が操作する情報処理端末である。ユーザ端末１２は、ユーザ端末１１と同等の構成である画像符号化部１２１及び画像復号化部１２２を備える。ユーザ端末１２は、クラウドレット２０からＪＰＥＧで符号化された画像である復元符号化画像Ｐ４をダウンロードした場合に、量子化パラメータｑを用いてＪＰＥＧの復号化を行い、復号画像Ｐ５として出力（表示等）する。
【００２２】
クラウドレット２０は、１以上のコンピュータ装置により実現されたクラウドサーバである。クラウドレット２０は、ネットワークを介してユーザ端末１１等と、クラウドストレージ３０と接続されている。クラウドレット２０は、再符号化部２１と、粗密変換部２２と、辞書ＤＢ２３とを備える。辞書ＤＢ２３は、復号時に参照する情報が格納されたデータベースである。
【００２３】
再符号化部２１は、符号化画像Ｐ２に対して、ＱＰ  ｑより粗い（幅の広い）Ｑを用いて再符号化を行い、再符号化画像Ｐ３を生成する。そして、クラウドレット２０は、再符号化画像Ｐ３をクラウドストレージ３０へ送信し、保存する。
【００２４】
粗密変換部２２は、逆写像部の一例であり、ユーザ端末１２からの画像の要求に応じてクラウドストレージ３０から再符号化画像Ｐ３を取得し、辞書ＤＢ２３に基づき再符号化画像Ｐ３に対して粗密変換（量子化ビンマッチング）により復元符号化画像Ｐ４に復元し、ユーザ端末１２へ返信する。
【００２５】
クラウドストレージ３０は、複数の永続型のストレージ３１〜３ｎを備えたクラウド型のストレージであり、セントラルクラウドとも呼ばれる。クラウドストレージ３０は、ネットワークを介してクラウドレット２０と接続される。例えば、ストレージ３１には、上述した再符号化画像Ｐ３が格納される。
【００２６】
図２は、本発明の実施の形態１にかかる画像アップロード時の流れを説明するためのシーケンス図である。まず、ユーザ端末１１は、入力画像Ｐ１についてＱＰ  ｑを用いてＪＰＥＧの符号化を行い、符号化画像Ｐ２を生成する（Ｓ１０１）。具体的には、画像符号化部１１１は、入力画像Ｐ１についてＤＣＴ（Discrete Cosine Transform）によりＤＣＴ係数へ変換する。次に、画像符号化部１１１は、量子化パラメータ（ＱＰ）ｑを用いて量子化を行い、ＤＣＴ係数から量子化係数へ変換する。すなわち、画像符号化部１１１は、Ｎピクセルのコードブロックｍごとに、ＱＰ  ｑ = [q1, ... , qN]を用いて量子化インデクス集合ａ（ｍ） = [a1(m), ... , aN(m)]を計算する。尚、以降では、ａ（ｍ）を「密（fine）量子化ビンインデクスａ」と表現する場合がある。そして、画像符号化部１１１は、量子化係数に対してエントロピー符号化により符号データに変換する。つまり、符号化画像Ｐ２には、密量子化ビンインデクスａが含まれている。尚、「量子化パラメータ」は、「量子化テーブル」や「量子化の幅」と呼ぶことができるものとする。
【００２７】
そして、ユーザ端末１１は、符号化画像Ｐ２（密量子化ビンインデクスａ）をクラウドレット２０へアップロードする（Ｓ１０２）。クラウドレット２０の再符号化部２１は、受信した符号化画像Ｐ２に対してＱＰ  Ｑを用いてＪＰＥＧ再符号化を行い、再符号化画像Ｐ３に変換する（Ｓ１０３）。具体的には、再符号化部２１は、コードブロックｍごとに、各ａ（ｍ）をＱＰ  Ｑ = [Q1, ... ,QN]を用いて、対応する量子化インデクス集合ｂ（ｍ）= [b1(m), ... , bN(m)]へ写像し、順番に再符号化する。ここで、ＱＰ  Ｑは、上述したｑよりも粗い（coarser）、つまり、量子化の幅が広いものとする。言い換えると、ＱＰ  ｑは、Ｑよりも精細（fine）、つまり、量子化の幅が狭い。尚、以降では、ｂ（ｍ）を「粗（coarse）量子化ビンインデクスｂ」と表現する場合がある。また、ＪＰＥＧ再符号化には、例えば、特許文献１の手法を用いることもできる。
【００２８】
ここで、ａ（ｍ）からｂ（ｍ）への写像は、一意でなくてよい。例えば、再符号化部２１は、各画素の量子化係数を再符号化する際に、一旦、ＱＰ  Ｑで量子化した後に、復号を行い、可逆変換が行えることを確認できた場合に、実際に、当該画素の再符号化を行い、可逆変換とならない場合には、ＱＰ  ｑのままとする。このとき、オリジナル信号を見積もるために、例えば、非特許文献３の逆量子化処理を用いることができる。つまり、粗量子化ビンインデクスｂは、一部が粗いＱＰ  Ｑで量子化（再符号化）されているが、残りは精細なＱＰ  ｑで量子化されたままである。
【００２９】
その後、クラウドレット２０は、再符号化画像Ｐ３（粗量子化ビンインデクスｂ）をクラウドストレージ３０へ保存する（Ｓ１０４）。
【００３０】
図３は、本発明の実施の形態１にかかる画像ダウンロード時の流れを説明するためのシーケンス図である。ここでは、既に図２の処理によりクラウドストレージ３０に再符号化画像Ｐ３が保存済みとする。
【００３１】
まず、ユーザ端末１２は、ユーザＵ２の操作により入力画像Ｐ１に相当する画像の要求をクラウドレット２０へ送信する（Ｓ２０１）。続いて、クラウドレット２０は、クラウドストレージ３０に対して再符号化画像Ｐ３の検索を行う（Ｓ２０２）。そして、クラウドレット２０は、クラウドストレージ３０から画像の検索結果として再符号化画像Ｐ３（粗量子化ビンインデクスｂ）を取得する（Ｓ２０３）。
【００３２】
ここで、クラウドレット２０の粗密変換部２２は、辞書ＤＢ２３を参照し、各ｂ（ｍ）をａ（ｍ）へ戻す変換である逆写像を実行し、つまり、粗密変換により復元符号化画像Ｐ４（密量子化ビンインデクスａ＊）に復元する（Ｓ２０４）。すなわち、粗いＱＰ  Ｑからより精細なＱＰ  ｑに戻される。そして、粗密変換部２２は、復元符号化画像Ｐ４をユーザ端末１２へ送信する。つまり、ユーザ端末１２は、復元符号化画像Ｐ４をダウンロードする（Ｓ２０５）。その後、ユーザ端末１２の画像復号化部１２２は、復元符号化画像Ｐ４に対して量子化パラメータｑを用いてＪＰＥＧの復号化を行う（Ｓ２０６）。これにより、ユーザ端末１２は、復号画像Ｐ５を表示等できる。
【００３３】
このように本発明の実施の形態１は、全画像を保存することによるストレージコストと、全画像のほんの一部を復号（逆写像）するための演算コストとのトレードオフにより、効果的となるクラウドストレージシステムといえる。つまり、まず、永続的ストレージには、アップロードされたＪＰＥＧ画像を粗い量子化パラメータ（ＱＰ）を用いて再符号化した再符号化画像を保存することで、ストレージコストを削減する。そして、要求画像については、再符号化画像を粗量子化ビンインデクスから密量子化ビンインデクスへの逆写像を行うことで、ユーザ端末側では通常の復号を行わせる。このとき、再符号化画像の逆写像処理には、通常より演算コストがかかるが、上述したように、保存を要求される画像は大量であるが、実際に閲覧を要求される画像はほんの一部である。よって、復号時の演算コストをかけたとしてもストレージコストを削減できることの意義は大きいといえる。
【００３４】
そして、ユーザ側の視点に立てば、最終的に復号化され表示された画像は、当初アップロードされたものと同じレベルの密量子化ビンインデクスの画像といえる。つまり、人間の目により区別がつかないビジュアル品質を維持しており、典型的なクラウドストレージと同等のサービスレベルを提供できる。一方、運営者（オペレータ）側の視点に立てば、保存前の再符号化によって、当初よりも粗い粗量子化ビンインデクスの画像を保存できるため、通常より高い圧縮利得及びより低いストレージコストという結果をもたらす。
【００３５】
但し、上述したようにＱＰ  Ｑは、ＱＰ  ｑよりも粗い（すなわち、Ｑｉはｑｉより大きい）ので、ｂｉ（ｍ）はａｉ（ｍ）よりもゼロである可能性が高い。すなわち、ａｉ（ｍ）で０以外だった量子化係数が、ｂｉ（ｍ）では０となるものがある。そのため、画像が要求された場合に、クラウドレットにおいて粗量子化ビンインデクスから密量子化ビンインデクスへの逆写像をより精度良く行う必要がある。このことを、量子化ビンマッチング問題（quantization bin matching (QBM) problem）と呼ぶ。
【００３６】
本実施の形態では、後述する最大事後確率（maximum a posteriori（MAP））公式を介して粗量子化ビンインデクスから密量子化ビンインデクスへの逆写像を行い、そのために信号スパース性モデル（signal sparsity prior）を有効活用する。
【００３７】
ここで、信号スパース性モデル（非特許文献２）を仮定すると、辞書のスパース線形結合（sparse linear combination）により良く近似される信号がより可能性が高く、固定サイズＮピクセルのコードブロックのそれぞれについて、Ｎ個の粗量子化ビンインデクスが与えられる周波数領域内の最も確からしいＮ個の密量子化ビンインデクスを見つけ出すための最大事後確率（maximum a posteriori（MAP））問題を公式化する。
【００３８】
この公式は、所与のＮ次元量子化セル上での事前分布の統合を要求し、過去の逆量子化研究よりも量子化セル内の単独で最も可能性の高い信号が探索される事前分布統合を近似する速いアルゴリズムを提案するものである。
【００３９】
よって、本実施の形態では、入力画像が十分に復元できることを保証するために以下を考慮して設計される。
１）各ブロックｍについて元の密量子化ビンインデクスａ（ｍ）が正確に復元されること
２）復元画像がピーク信号対雑音比（Peak signal-to-noise ratio（ＰＳＮＲ））内の入力圧縮画像に非常に近いために、ユーザにとって視覚的に見分けがつかないこと
【００４０】
そのため、オリジナルのＱＰ  ｑよりも粗いＱＰ  Ｑについて、入力画像がよく復元されるような逆写像ｆ（ｂ）を設計することを目的とする。ここで、ＱＰ  Ｑを用いて再符号化される画像内の充分大きなブロックの一部について、逆写像が可能であることのみが要求され、残りのブロックはＱＰ  ｑを用いて変更されない。ＪＢＩＧでロスレス符号化される小さなバイナリ画像は、ブロックがＱを用いて再量子化されるデコーダを通知するために追加的に符号化される。以降では、粗いＱＰ  Ｑから密なＱＰ  ｑへの量子化ビンマッチング問題について検討する。
【００４１】
（量子化セルに関するＭＡＰ公式）
前提として、Ｘｉは、ターゲットコードブロックｘのグランドトゥルース（ground-truth）のｉ番目のＤＣＴ係数を表す。そして、ａｉは、以下の式（１）に示すように、ＸｉをＱＰ  ｑｉを用いて量子化した量子化係数（密量子化ビンインデクス）である。
【数１】
2017158183.tif 000003
【００４２】
従って、ａｉ及びｑｉを備えるデコーダにおいて、Ｘｉが間隔I(ai, qi) = [(ai - 0.5)qi, (ai + 0.5)qi)の範囲に存在しなければならない。また、ｂｉは、再符号化画像内のＸｉについてＱＰ  Ｑｉ（Ｑｉはｑｉ以上）を用いて量子化した量子化係数（粗量子化ビンインデクス）である。従って、再符号化後のＸｉは、より大きな間隔I(bi, Qi) = [(bi -0.5)Qi, (bi + 0.5)Qi)の範囲に存在しなければならない。なぜならば、オリジナル符号化内の間隔I(ai, qi)及び再符号化内の間隔I(ai, Qi)の両方に同じＸｉに含まれるため、それらは重複するためである。
従って、逆写像f : bi → aiを実行する時、式（２）に示す、実現可能なビン集合Ｆｂｉを検討する必要がある。
【数２】
2017158183.tif 000004
【００４３】
続いて、Ｐ（Ｘｉ）は、Ｘｉの事前確率（prior probability）とする。最大事後確率（maximum a posteriori（MAP））公式は、以下の式（３）及び式（４）に基づき、離散集合Ｆｂｉ内の最も確からしいビン＾ａｉを探索する。
【数３】
2017158183.tif 000005
ここで、
【数４】
2017158183.tif 000006
である。
【００４４】
一次元でのＱＢＭ問題のＭＡＰ公式が図４に示される。図４は、本発明の実施の形態１にかかるＱＢＭの解法の概念を説明するための図である。幅Ｑの粗量子化ビンと重複する幅ｑの３つの密量子化ビン（Ａ，Ｂ，Ｃ）の中から最大集計確率（largest aggregate probability）（Ｐ（Ｘｉ｜ｂｉ）の積分値）の一つを選択する。これは、非特許文献３のような典型的な逆量子化研究とは異なり、量子化ビン内の最も可能性の高い信号についてのＭＡＰ公式は、ビンの範囲内でＰ（Ｘｉ｜ｂｉ）のピーク位置へ簡潔に導く。
【００４５】
ここで、Ｎ次元の事前確率Ｐ（Ｘ）と共にブロックｘ内のＮ個のＤＣＴ係数Ｘの全てを考えると、以下の式（５）に示す、より一般的なＭＡＰ最適化問題を定式化できる。
【数５】
2017158183.tif 000007
ここで、
【数６】
2017158183.tif 000008
である。
【００４６】
以下の式（７）は、多次元の積分を示す式（５）をより簡潔な形式で書き直したものである。
【数７】
2017158183.tif 000009
ここで、Ｐ￣ａ（Ｘ｜ｂ）は、ａ（すなわち、I(ai, qi); i = 1, ... , N）により定義される量子化セルＣａ内の確率Ｐ（Ｘ｜ｂ）の集計である。式（７）を解くための課題は、Ｐ（Ｘ）を適切に定義する方法、Ｐ￣ａ（Ｘ｜ｂ）を効率的かつ正確に計算する方法である。
【００４７】
（事前確率Ｐ（Ｘ）の定義）
続いて、事前確率Ｐ（Ｘ）を定義するためのスパースモデル（非特許文献２）を仮定する。具体的には、ｋスパースの信号モデルは、画素領域内のＮ次元信号ｘが過完備辞書（over-complete dictionary）Φからのｋ又は少ない原子（最小単位）の線形結合により十分に近似されることである。
【数８】
2017158183.tif 000010
ここで、モデルエラーεは小さい。本実施の形態では、機械学習駆動方法内でＰＣＡ経由で適応辞書を学習する。
【００４８】
式（８）の両辺にＤＣＴ演算子Τを適用することにより、式（９）が得られる。
【数９】
2017158183.tif 000011
ここで、Ψ＝ΤΦである。それ故、Ｘのスパース性は、Φに関してｘのスパース性により測定され得る。
【００４９】
このモデルが与えられ、同時確率分布P(X)は、式（１０）として表され得る。
【数１０】
2017158183.tif 000012
ここで、σは、モデルパラメータである。Ｌ０ノルムからＬ１ノルムへさらに緩和する。
【００５０】
最後に、目的関数は、式（１１）として書き換えられ得る。
【数１１】
2017158183.tif 000013
【００５１】
上述したように、ＱＢＭ問題は、大抵、画像逆量子化（非特許文献３及び４）で行われるシングルベストスパース解（sparse solution）よりむしろ、その境界内で最大かつ最もスパースな解を用いて量子化セルを見出すこととして再公式化できる。
【００５２】
（最適化）
上述した式（１１）の目的関数を直接最適化することは困難である。そこで、量子化セル内の全ての可能なスパース解について検索する代わりに、代表としてシングルベストスパース解を見つけ出し、セルのボリュームによる解（解のスパースカウントの指数関数）の事前確率値を乗ずる。これは、式（１１）の多次元統合の近似値であり、本質的に、セルボリュームが大きくなるほど、より確からしい発見されたもののような、それ故に、より大きな集計確率の他のスパース解を見つけ出す。インデクスされた粗量子化セルｂ内の初期スパース解を見つける問題を式（１２）に示す。
【数１２】
2017158183.tif 000014
【００５３】
スパース解α＊に関する最適化は、拡張ラグランジュ法（Augmented Lagrangian Methods (ALM)）として知られる速いＬ１最小化アルゴリズムにより効果的かつ効率的に解かれる。
【００５４】
式（１３）のような本スパース解を含む密量子化セルａ＊を同定する。
【数１３】
2017158183.tif 000015
【００５５】
同定された密量子化セルａ＊が（例えば、図４のセルＡ及びＣのように）粗量子化セルｂと部分的にのみ重複する場合、セルボリュームが小さいため、その集計確率は小さい。他の解の候補をテストするために、式（１２）を介して密な隣接の量子化セルについて、スパース解について検索する。これらのセルの中で、（セル内の同定されたスパース解の）信号モデルとセルボリュームの乗算結果のうち最大であるものが、最終的な解として選択される。
【００５６】
図５は、本発明の実施の形態１にかかる粗密変換処理（図３のＳ２０４）の流れを説明するためのフローチャートである。まず、事前に、クラウドレット２０は、８ｘ８ブロックについて辞書を学習しておくものとする。
【００５７】
次に、粗密変換部２２は、式（１２）を用いて、粗量子化ビンインデクス内で最もスパースな解の結果を探索する（Ｓ３０２）。すなわち、粗密変換部２２は、粗量子ビンインデクスｂｉの範囲内の複数の候補範囲（Ａ，Ｂ，Ｃ）それぞれについて、最もスパースな解を探索する。図４の場合、ｘ３、ｘ４、ｘ６が求まる。
【００５８】
そして、粗密変換部２２は、Ｐ（Ｘ｜ａ）を推定する（Ｓ３０３）。つまり、Ａの中で最大のＰ（ｘ３）を算出する。そして、Ａの幅（ｘ４−ｘ２）に、Ｐ（ｘ３）を乗じて量子化セルＡの量を算出する。同様に、Ｂについては、Ｂの幅（ｘ５−ｘ４）に最大値Ｐ（ｘ４）を乗じて量子化セルＢの量を算出する。Ｃについては、Ｃの幅（ｘ６−ｘ５）に最大値Ｐ（ｘ６）を乗じて量子化セルＣの量を算出する。
【００５９】
その後、粗密変換部２２は、隣接量子化セル（Ａ，Ｂ，Ｃ）の間で量子化セル量を比較して、ＱＰ  ｑの密量子化ビンインデクスａ＊を特定する。図４では、Ｂが特定される。尚、上述した通り、図４は、一次元の場合を示しており、より一般的には、８ｘ８ブロックにおける６４次元があり得る。
【００６０】
（実験結果）
本実施の形態の有効性を実証するための次の実験を行った。まず、周知のコダックデータセットを用いた。５つの画像が辞書学習用のデータを学習（training）するようにランダムに選択され、残りはテスト画像として使用される。
【００６１】
ＪＰＥＧ符号化での品質要素（quality factor （QF））は、量子化マトリクスの集合から一つを選択することにより、圧縮後に画像の相対的なビジュアル品質を１から１００の範囲で示す。実験では、粗いＱＦは異なる画像について５０及び５５から選択されるが、ＪＰＥＧ符号化の精細なＱＦは８０で固定される。
【００６２】
ここで、第１の設計目的は、オリジナルアップロードバージョンとしての密量子化ビンインデクスの正確な回復を保証することである。この場合、正確なビンインデクスの回復は、質的にロスがないことを意味する。それ故に、ビット節約（bit saving）について報告する。尚、ビット節約は、正確なビンインデクス回復を保証できる粗いＱＦを有する画像ブロックの一部を再符号化することにより達成される。
【００６３】
図６は、本発明の実施の形態１にかかる圧縮利得の例を示す図である。図６では、精細なＱＦ及び粗いＱＦ、再符号化されるために選択されたブロックの割合、及び、８つのテスト画像における本手法の純粋な圧縮利得を表にしたものである。テスト画像について、４２．１８％以下のブロックは、粗いＱＦを使用する追加の圧縮のために選択され、１４．１９％以下のビット節約という結果が示された。
【００６４】
第２の代替案の設計目的は、人間の目には見わけがつかないほど、質的に非常に近いアップロード画像の回復を保証することである。これを達成するために、回復された及び入力の密量子化ビンインデクス間の違いを許可することにより、「正確なビンマッチング」を緩和する。差分のレベルは、ブロックレベルビンエラーの合計により計測される。本実験では、エラーの合計が０，２，３，４，５及び６である６ケースをテストする。
【００６５】
図７はLighthouse、図８はAhoy、図９はAirplaneの３テスト画像でＪＰＥＧを用いた本発明の実施の形態１にかかるレート歪み性能圧縮を示す。６ケースのＰＳＮＲロスは０．１３ｄＢ以内である。そのような小さなＰＳＮＲロスは典型的には、視覚的な違いがないといえる。つまり、結果として、本手法のＪＰＥＧの効率が良いことを示す。
【００６６】
さらに、非常にわずかなＰＳＮＲの費用で、視覚的に見分けがつかない再構成オプションは、正確なビンインデクス回復のケースと比較して、充分に高いビット節約を達成する。例として６のエラー合計を用いて、本手法は、Lighthouse、Ahoy及びAirplaneのそれぞれについて、図６に示される３．３２％、２．０１％及び１４．１９％とは対照的に、１６．７１％、１２．８２％及び２０．７％のビット節約を達成する。つまり、充分なストレージの節約を実現できるといえる。
【００６７】
以上のことから、本実施の形態では、大量のアップロード画像を保存するためのストレージコストと、少数の要求画像を粗密変換することの計算コストとをトレードオフするＪＰＥＧ画像に関するクラウドストレージシステムを提案した。具体的には、予めユーザ端末において量子化パラメータ（ＱＰ）ｑを用いて量子化された符号化画像に対して、より粗いＱＰ  Ｑを用いて再符号化してストレージに保存しておく。これにより、ストレージコストを低減できる。その上で、画像の取得要求に応じて、上述した粗密変換（量子化ビンマッチング）により粗量子化ビンインデクスから密量子化ビンインデクスへ復元を行うものである。これにより、ユーザにとっては、視覚的に違和感の少ない画像品質を維持できる。
【００６８】
ここで、本実施の形態は、次のように表現することもできる。すなわち、入力画像Ｐ１を第１の量子化幅（ＱＰ  ｑ）に基づき量子化した第１の量子化係数（密量子化ビンインデクスａ）から当該第１の量子化幅より広い第２の量子化幅（ＱＰ  Ｑ）に基づき量子化した第２の量子化係数（粗量子化ビンインデクスｂ）について、前記第１の量子化係数への逆写像を行う逆写像部を備える画像処理装置である。特に、前記逆写像部は、前記第２の量子化幅の範囲内の前記第１の量子化係数の候補の中から、（例えば、対象画素のＤＣＴ係数Ｘｉの）事前確率（prior probability）に基づく量子化セル量が最大となる量子化係数を選択して、前記第１の量子化係数として前記逆写像を行うものである。つまり、逆写像部は、図４に示すようにＱＰ  Ｑの幅（ｘ６−ｘ２）の範囲内の密量子化ビンインデクスの候補（Ａ，Ｂ及びＣのそれぞれに属する密量子化ビンインデクス）の中から、Ｐ（Ｘ）と各候補の幅（Ａの場合、ｘ４−ｘ２、Ｂの場合、ｘ５−ｘ４、Ｃの場合、ｘ６−ｘ５）とから量子化セル量（Ａ，Ｂ，ＣのそれぞれのＰ（Ｘ）の積分値相当）を求め、各量子化セル量の中で最大のものを逆写像後の密量子化ビンインデクスとする。
【００６９】
また、前記逆写像部は、前記事前確率を定義するスパース性モデル（sparsity model）に基づいて前記第１の量子化係数を近似して前記逆写像を行う。
【００７０】
さらに、前記逆写像部は、前記第２の量子化幅の範囲内の前記第１の量子化係数の範囲のうち前記事前確率の最大値を前記候補ごとに探索し、当該最大値と前記第１の量子化係数の範囲とに基づいて前記量子化セル量を算出し、前記候補の間で前記量子化セル量を比較することにより、前記量子化セル量が最大となる量子化係数を選択する。つまり、逆写像部は、密量子化ビンインデクスの候補Ａ，Ｂ及びＣのそれぞれについてＰ（Ｘ）の最大値を算出し、Ｐ（Ｘ）の最大値とＡ，Ｂ及びＣの幅との積（面積）を算出し、それらを比較することで、最大のものを選択するものである。
【００７１】
＜実施形態２＞
続いて、上述した実施形態１の変形例である実施形態２について説明する。実施形態１では、再符号化部２１における再符号化（トランスコーディング）の際に、一旦、ＱＰ  Ｑを用いて変換した上で、元の符号に復元できるかをシミュレーションし、可逆変換が保証された場合のみＱＰ  Ｑによる再符号化を行う。また、実施形態１では、１画素単位に再符号化を行っていたため、処理効率及び圧縮効率に改善の余地があった。
【００７２】
そこで、本実施形態２では、再符号化の対象画素を１画素置きとする。つまり、１ブロックの画素について、密量子化と粗量子化とが交互になるようにする。図１０は、本発明の実施の形態２にかかるブロック内の画素に対する密量子化と粗量子化の関係を説明するための図である。図１０の上部で示すように、再符号化の際に、密量子化ビンインデクス（fine）と粗量子化ビンインデクス（coarse）の画素が交互に配置されていることを示す。特に、本実施形態２にかかる再符号化部２１は、破線で囲んだように４画素を一単位とし、図１０の下部で示すように、右下の画素（４）について再符号化した場合に、隣接する３画素（１，２，３）を用いて粗密変換をすることで、可逆変換が保証されるかを判定するものである。また、右下の画素（４）の上の画素（２）と左の画素（３）とは、密量子化ビンインデクス（fine）のままであり、再符号化されておらず情報量が保持されている。また、右下の画素（４）と左上の画素（１）とは、粗量子化ビンインデクス（coarse）となり得ることを示す。
【００７３】
そのため、再符号化部２１は、少なくとも上の画素（２）と左の画素（３）の２画素を用いて可逆変換の保証を判定することにより、右下の画素（４）の再符号化の可否を判定し、粗密変換部２２は、上の画素（２）と左の画素（３）の２画素を加味して右下の画素（４）の逆写像を行うことが望ましい。これにより、実施形態１と比べて、可逆変換の精度が向上し、結果として、再符号化ができる確率が上がり、圧縮率が向上する。
【００７４】
さらに、上記に加え、再符号化部２１及び粗密変換部２２は、左上の画素（１）を加味して、右下の画素（４）の再符号化の可否判定及び逆写像を行うとよい。これにより、上記よりさらに可逆変換の精度及び圧縮率が向上する。
【００７５】
また、本実施形態２では、上述したように４画素単位で可逆変換の保証を判定することから、クラウドレット２０による事前の辞書学習について、１６ｘ１６ブロックについて行うものとする。
【００７６】
また、本実施形態２では、粗密変換処理において、図５のステップＳ３０２の際に、以下の式（１４）を用いることとなる。
【数１４】
2017158183.tif 000016
つまり、制約条件として、密量子化と粗量子化とが交互になった４画素を対象とすることになる。このように、４画素を対象とすることで粗密変換（量子化ビンマッチング）の際に、並列に復号処理を行うことで、粗密変換処理を効率化できる。
【００７７】
ここで、本実施の形態は、次のように表現することもできる。すなわち、前記第１の量子化係数を含む符号化画像Ｐ２について、前記第１の量子化係数と前記第２の量子化係数とが交互になるように再符号化を行う（図１０）ことにより再符号化画像へ変換する再符号化部をさらに備える。そして、前記逆写像部は、前記再符号化画像内の前記第２の量子化係数（画素（４）の粗量子化ビンインデクス）に対して、当該第２の量子化係数と隣接する画素の前記第１の量子化係数（画素（２，３）の密量子化ビンインデクス）を用いて、前記逆写像を行う。
【００７８】
さらに、前記逆写像部は、前記隣接する画素と隣接する画素の前記第２の量子化係数（画素（１）の粗量子化ビンインデクス）をさらに用いて、前記逆写像を行う。
【００７９】
＜実施形態３＞
続いて、上述した実施形態１又は２の変形例である実施形態３について説明する。本実施形態３では、複数の種類の辞書を用いるものである。図１１は、本発明の実施の形態３にかかる画像処理システムの全体構成を示すブロック図である。本発明の実施の形態３では、図１と比べてクラウドレット２０がクラウドレット２０ａに置き換わり、ストレージ３１に再符号化画像Ｐ３と対応付けられたクラスタインデクス３１１が保存されるものである。クラウドレット２０ａは、再符号化部２１ａと粗密変換部２２ａと辞書ＤＢ２３ａとを備える。
【００８０】
辞書ＤＢ２３ａは、複数のテスト画像の特徴量に基づきその傾向が分類された複数のクラスタのデータベースである。再符号化部２１ａは、辞書ＤＢ２３ａを参照し、符号化画像Ｐ２が属するクラスタを特定する。クラウドレット２０ａは、再符号化画像Ｐ３及び特定したクラスタのクラスタインデクス３１１をクラウドストレージ３０へ送信し、保存する。ストレージ３１は、再符号化画像Ｐ３に対応付けてクラスタインデクス３１１も保存する。
【００８１】
粗密変換部２２ａは、ユーザ端末１２からの画像の要求に応じてクラウドストレージ３０から再符号化画像Ｐ３及びクラスタインデクス３１１を取得し、辞書ＤＢ２３ａを参照し、クラスタインデクス３１１に対応する辞書を用いて、再符号化画像Ｐ３に対して粗密変換により復元符号化画像Ｐ４に復元し、ユーザ端末１２へ返信する。
【００８２】
図１２は、本発明の実施の形態３にかかる粗密変換処理の流れを説明するためのフローチャートである。具体的には、図５の最初にステップＳ３０１が追加されたものであり、以降の処理は同等である。すなわち、粗密変換部２２ａは、クラウドストレージ３０から再符号化画像Ｐ３に加えて、再符号化画像Ｐ３に対応付けられたクラスタインデクス３１１を取得する。そして、粗密変換部２２ａは、辞書ＤＢ２３ａを参照し、クラスタインデクス３１１から使用する辞書を選択する（Ｓ３０１）。以後、粗密変換部２２ａは、辞書ＤＢ２３ａ内の選択された辞書を用いて粗密変換処理を行う。
【００８３】
ここで、本実施の形態３における辞書の学習の仕方について説明する。辞書の学習は、（ステップ１）特徴量のヒストグラムにより各画像をクラスタに分類し、（ステップ２）クラスタごとに辞書の学習を行う。
【００８４】
ここで、本実施の形態３における辞書の学習の一例として、Ｂａｇ  ｏｆ  Ｖｉｓｕａｌ  Ｗｏｒｄｓ（ＢｏＶＷ）を利用する場合を説明する。図１３は、本発明の実施の形態３にかかるＢｏＶＷを利用する場合の概念を示す図である。上記ステップ１について説明する。まず、図１３の上段の３つのテスト画像について複数のブロック（又は画素）に分割する（図１３の下段）。そして、例えば、各ブロックを解析し、３種類の特徴ｆａ、ｆｂ及びｆｃのそれぞれの出現頻度（適合度合）を集計する。図１３の中段は、特徴ｆａ、ｆｂ及びｆｃのそれぞれについてのヒストグラムの例である。そして、これらのヒストグラムにより、各テスト画像をクラスタに分類する。例えば、自転車のサドルのブロックは特徴ｆｂが強く、人物の肌や目のブロックは特徴ｆａが強く、バイオリンの一部のブロックは特徴ｆｃが強いという傾向があり、各ブロックについて、クラスタ分類ができる。
【００８５】
図１４は、本発明の実施の形態３にかかるある画像における特徴量の分布の例（ヒストグラム）を示す図である。つまり、ある画像における各ブロックについての特定の特徴量のヒストグラムを示す。そのため、以降、上記ステップ２については、学習対象の画像についてはいずれのクラスタに属するかにより該当するクラスタに対して学習が行われる。これにより、辞書の精度が向上する。
【００８６】
そして、上述の通り再符号化の際には、符号化画像Ｐ２についてクラスタの分類を行い、クラスタインデクス（画像の特徴）を特定してクラウドストレージ３０に保存する。また、復号時には、粗量子化ビンインデクスと共に、対応するクラスタインデクスに基づく辞書を用いる。そのため、計算速度及び計算の質が向上する。
【００８７】
ここで、本実施の形態は、次のように表現することもできる。すなわち、複数の画像について各画像の特徴量の分布から複数のクラスタに分類した辞書情報（辞書ＤＢ２３ａ）と、前記第１の量子化係数から前記第２の量子化係数への再符号化時に、前記入力画像が前記複数のクラスタのいずれに該当するかを判別したクラスタインデクス３１１を、前記第２の量子化係数（粗量子化ビンインデクスｂ）に対応付けて記憶装置（ストレージ３１）に格納する再符号化部２１ａと、をさらに備える。そして、前記逆写像部は、前記第２の量子化係数に対応付けられた前記クラスタインデクスに基づき前記辞書情報内のクラスタを特定し、当該特定したクラスタを用いて前記逆写像を行う。
【００８８】
＜実施形態４＞
続いて、上述した実施形態１乃至３の変形例である実施形態４について説明する。図１５は、本発明の実施の形態４にかかるクラウドストレージシステムの全体構成を示すブロック図である。クラウドストレージシステムには、ユーザ端末１１（ユーザＵ１）及びユーザ端末１２（ユーザＵ２）、クラウドレット２０ｂ、及びクラウドストレージ３０が存在する。システムは、３つの主要な動作を有している：オフライントレーニング、画像アップロード、画像ダウンロードである。
【００８９】
画像アップロード動作では、ユーザ端末１１は、細かく（密に）量子化（以降、密量子化と呼ぶ）されたＪＰＥＧ画像（符号化画像Ｐ２）をクラウドレット２０ｂにアップロードし、そして、クラウドレット２０ｂの再符号化部２１ｂは、粗めの量子化（以降、粗量子化と呼ぶ）パラメータ（ＱＰ）を用いて画像のコードブロックのサブセットを再符号化し、再符号化画像Ｐ３（及び後述する副情報３１２）をクラウドストレージ３０へ格納する。
【００９０】
画像ダウンロード動作では、クラウドレット２０ｂの粗密変換部２２ｂは、要求された粗量子化画像（再符号化画像Ｐ３及び副情報３１２）をクラウドストレージ３０から取り出し、粗量子化されたコードブロックを密量子化ブロックに逆写像する。
【００９１】
オフライントレーニング動作では、クラウドレット２０ｂの学習部２５は、画像ダウンロード中の粗量子化ブロックから密量子化ブロックへの逆写像を容易にするために、適切な辞書２３ｂおよびグラフテンプレート２４を事前に計算し記憶する。尚、学習部２５は、クラウドレット２０ｂの外部にあっても構わない。次にこれら動作の詳細を説明する。
【００９２】
１）オフライントレーニング：画像ダウンロード中の粗量子化ブロックから密量子化ブロックへの逆写像を信号復元問題とする。
近年、非特許文献９ではＪＰＥＧ圧縮形式から画像ピクセルパッチを復元するために、スパース性モデル（sparsity prior）（非特許文献１０）とグラフ‐信号平滑モデル（graph-signal smoothness prior）（非特許文献１１）の組み合わせを正常に使用した。これら２つのモデルは、それぞれピクセルパッチにおける組織的かつ構造的な画像コンテキストの回復を容易にする。
【００９３】
これら２つのモデルを使用することを仮定すると、高速実施は、画像の復元中に小辞書と散在的な（sparse）グラフを必要とする。この目標にむけて、我々は、まず、ピクセルブロックΨを大きなトレーニングセットΨ０からツリーのエンドノードに対応する類似のブロックの異なるクラスタに分類するために、ツリー構造のベクトル量子化（Tree-Structured Vector Quantization：ＴＳＶＱ）（非特許文献１２）を構築する。各クラスタｉに対して、このクラスタに関連するトレーニングデータΨｉに基づいて、過完備辞書および散在グラフテンプレートを学習させる。分類ツリーを構築すると、重要なアイデアは、画像のダウンロード中に、元のブロックが分類されるクラスタを正しく識別できる場合、関連する辞書およびクラスタに関連付けられたグラフが、粗ブロックから密ブロックに逆写像することを容易にすることが出来ることである。
【００９４】
２）画像アップロード：ユーザ端末１１は、ＪＰＥＧ圧縮画像（符号化画像Ｐ２）をクラウドレット２０ｂにアップロードする。ここで、Ｎ−ピクセルコードブロックｘのそれぞれは、精密なＱＰｑ＝［ｑ１，．．．，ｑＮ］で与えられるＮ量子化ビンインデクスａ（ｘ）＝［ａ１（ｘ），．．．，ａＮ（ｘ）］の集合により表される。詳細には、ｉ番目の量子化ビン計数ａｉ（ｘ）は、以下のようになる。
【数１５】
2017158183.tif 000017
・・・（１５）
ここで、ＴｉはＤＣＴ変換行列Ｔのｉ行目である。
【００９５】
そして、クラウドレット２０ｂの再符号化部２１ｂは、粗いＱＰ  Ｑ＝［Ｑ１，．．．，ＱＮ］を用いて、符号化画像Ｐ２におけるブロックのサブセットを再符号化し、精密なビンインデクスａ（ｘ）を、クラウドストレージ３０に恒久的に格納されているコードブックｘに対する粗いビンインデクスｂ（ｘ）へマッピングする。クラウドレット２０ｂは、画像アップロード中、再符号化されたブロックに対して、信号モデルを用いた粗いｂ（ｘ）から精細なａ（ｘ）へ戻すための逆写像を実施する。再符号化部２１ｂは、「正常に」逆写像することができた画像におけるブロックｘのみを、アップロード中に逆写像する。小さなバイナリ画像は、デコーダにどのブロックがＱを用いて粗く再符号化されたかについての情報を与える副情報（side information：ＳＩ）３１２としてＪＢＩＧ（非特許文献８）を用いて、損失無く符号化される。
【００９６】
本システムは、ＪＰＥＧ画像における再符号化されたブロックが、２つのモードのいずれかにおいて正常に逆写像されることを保証する。ｉ）無損失復元（可逆復元、lossless recovery）（無損失モード）：正確に復元されるために、各再符号化されたブロックｘに対する元のａ（ｘ）が確定的に保証されることを意味する。または、ｉｉ）近無損失復元（near-lossless recovery）（近無損失モード）：高い確率で正確に復元されるために、元の画像に対するａ（ｘ）は、統計的に保証されることを意味する。これは、デコードされたＪＰＥＧ画像が、ユーザにとって視覚的に区別が出来ない元の画像に近いことをもたらす。無損失モードにおいて、再符号化されたブロックｘのそれぞれに対するａ（ｘ）の完全な復元のために使用される適切な辞書およびグラフテンプレートを保証するために、ＴＳＶＱにおけるｘに対するクラスタインデクスも、アップロード中に、提案する分散型符号化方法を用いて、ＳＩとして符号化される。
【００９７】
３）画像ダウンロード：ユーザＵ２が事前にアップロードされた画像を呼び戻すとき、クラウドレット２０ｂは、クラウドストレージ３０から粗量子化された画像（再符号化画像Ｐ３）を取り出し、ユーザＵ２に対してブロックｘの粗量子化されたｂ（ｘ）のそれぞれを密量子化されたａ（ｘ）に逆写像する。画像取り出し遅延を最小化するために、逆写像は、画像アップロード中にＳＩとして符号化されたクラスタインデクスにより示される適切な小型の辞書および散在的なグラフテンプレートを用いて高速に行われるべきである。
【００９８】
ここで、量子化ビンマッチング問題を、粗量子化ビン内で、まず、（図４のｘ３として示されている）最も可能性の高い信号を探すことに書き直すことができる。
【数１６】
2017158183.tif 000018
・・・（１６）
そして、最も可能性の高い信号Ｘ０を含む密量子化ビンベクトルａ０を特定する。
【数１７】
2017158183.tif 000019
・・・（１７）
次に、粗いビンベクトルｂ内で、最も可能性の高い信号Ｘ０を見つけるという問題に焦点を当てる。
【００９９】
ここで、２つの信号モデルを用いて粗いビンインデクスベクトルｂが与えられる最も可能性の高い信号Ｘ＾を見つけることに焦点をあてる。尚、見つけられた最も可能性の高い信号を含む密量子化ビンは、復元された密ビンインデクスである。また、２つの信号モデルとは、スパース性モデルと、グラフ‐信号平滑モデルである。さらに、高速実施を達成するために、我々は、各クラスタに対する小さな辞書および散在されたグラフテンプレートをトレーニングする。
【０１００】
二つのモデルＰＳ（Ｘ）及びＰＧ（Ｘ）を結合することによって、Ｐ（Ｘ）を以下のように定義する。
【数１８】
2017158183.tif 000020
・・・（１８）
インデクスが付けられた粗量子化セルｂ内の最も可能性のある信号を見つけ出す問題は以下のように定式化することができる。
【数１９】
2017158183.tif 000021
・・・（１９）
目的関数は、交互最適化を介して解くことができる。
【０１０１】
図１６は、本発明の実施の形態４にかかるオフライントレーニングの流れを説明するための図である。学習部２５は、トレーニング画像ＰＧからトレーニングブロック集合ＢＳ（ブロック画像）を抽出（収集）する（Ｓ４０１）。トレーニング画像ＰＧは、例えば、多数の高解像度の画像群であるとよい。次に、学習部２５は、トレーニングブロック集合ＢＳについて、ＴＳＶＱにより複数のクラスタに分類してツリー構造（二分木）ＴＳを構築する（Ｓ４０２）。そして、学習部２５は、分類された各クラスタに対してクラスタインデクスのオフセットが減少するように、ツリー構造（二分木）ＴＳのノードを入れ替える（Ｓ４０３）。尚、当該ノードの入れ替えは、後述するツリーノードのビット割り当てに対応する。また、学習部２５は、入れ替え後の二分木に対してレート歪みを最適化するように枝刈りを行う（Ｓ４０４）。尚、当該枝刈りは、後述するレート歪み最適化ツリープルーニングに対応する。その後、学習部２５は、枝刈り後の二分木に対して過完備辞書と散在グラフテンプレートとを学習し（Ｓ４０５及びＳ４０６）、辞書ＤＢ２３ｂ及びグラフテンプレート２４として記憶装置（不図示）に保存する。尚、当該記憶装置は、クラウドレット２０ｂ内又は外であって構わない。尚、完全なTSVQは、デコーダにおいて必要とされ、フルツリーのインデクスは、各ブロックに対して計算される。
【０１０２】
（適応性のある辞書及びグラフテンプレート学習）
多数のオフライントレーニングデータを考慮して、類似したピクセルブロックの異なったクラスタに対して辞書及びグラフテンプレートをトレーニングする。各クラスタに対し、そのクラスタに分類されたトレーニングデータのピクセルブロックに基づいて、過完備辞書及び１つの散在グラフテンプレートを学習させる。
【０１０３】
１）小辞書学習：特定のクラスタに対して、割り当てられたｎトレーニングブロックＹ＝［ｙ１、ｙ２、・・・、ｙｎ］が存在する。ここで、ｙｉは、ベクトル形式内のトレーニングブロックｉを示す。Ｋ−ＳＶＤ（非特許文献１０）に従い、以下の目的関数を最小化することにより辞書Φを計算する。
【数２０】
2017158183.tif 000022
・・・（２０）
【０１０４】
２）散在グラフテンプレート学習：同様に、特定のクラスタについて散在グラフを学習する。各クラスタに対し、まず、重心(Centroid)ブロックを計算する。重心ブロックは該クラスタに割り当てられたトレーニングブロックの中心又は平均である。そして、この重心ブロックに対して散在グラフテンプレートを構築する。図１７は、本発明の実施の形態４にかかる散在グラフテンプレートの例を示す図である。図１７に示すように、縦、横、斜めの隣接ノードのみが接続される。その理由は、グラフがスパースであり、Ｌがスパース行列であるならば、Ｉ＋λ２Ｌ＾の逆行列の高速解法を採用でき、式（２１）の計算複雑性を低くすることができるためである。また、各テンプレートが接続されたグラフだからである。
【数２１】
2017158183.tif 000023
・・・（２１）
【０１０５】
（完全なＴＳＶＱ構築（Full TSVQ Construction））
トレーニングデータセットΨ０を仮定すると、我々は、まず、目標となる高さＨｍａｘのバイナリフルツリー（a binary full tree、全二分木）Ｔ０を構築する（図１８（ａ））。具体的には、フルツリーの作成は、以下のステップを有している（非特許文献１２）：
【０１０６】
１）初期化：ツリーの高さＨ＝０に初期化する。我々は、トレーニングセットΨ０全体を、関連するトレーニングセットの平均として計算される、重心ｃ０と共に、高さ０のルートノードｒに関連付ける。
【０１０７】
２）バイナリ分割：高さＨの各ノードｉに対して、我々は、２つの子ノードｊおよびｋを生成する。ここで、ｉ→０ｊ、ｉ→１ｋである。我々は、それらの重心ｃｊおよびｃｋに関する総距離が最小化されるように、ノードｉに関連するトレーニングセットΨｉを２つの重複しないサブセットΨｊおよびΨｋに分割する。
【数２２】
2017158183.tif 000024
・・・（２２）
【０１０８】
ロイドアルゴリズム（Lloyd Algorithm）を用いて、局所的に最適に式（２２）を解くことができる。局所収束性（local convergence）まで交互に実行される２つのステップから構成される。
【０１０９】
・固定された重心ｃｊとｃｋとが与えられた場合、各ψ∈Ψｉをより近い重心とする分割（partition）にΨを割り当てることにより、局所的に最適な分割ΨｊとΨｋとを求める。
・固定された分割ΨｊおよびΨｋが与えられた場合、それぞれの二乗誤差を最小化することにより、重心ｃｊおよびｃｋを更新する。ｃｊに対して以下の計算をする：
【数２３】
2017158183.tif 000025
・・・（２３）
これは、Ψｊの平均値をとることにより、クラスタのΨｊの「中心」としてｃｊを計算することを意味する。
【０１１０】
交互におこるロイドアルゴリズムの開始に先立って、非特許文献１３に従って、高さＨのノードｉに対する２つの子の重心ｃｊおよびｃｋをｃｉおよび摂動バージョン（perturbed version）として初期化する。すなわち、
【数２４】
2017158183.tif 000026
・・・（２４）
ここで、ηは、ノイズ分散σ＝１とするガウス雑音である。
【０１１１】
３）より大きなバイナリフルツリー（Bigger Binary Full Tree）の生成：構成されたバイナリフルツリーの高さＨが目標値Ｈｍａｘよりも小さい場合、Ｈを１インクリメントし、ステップ２に進む。
【０１１２】
（クラスタインデクスの分散符号化）
無損失モードにおいて、画像ダウンロード中の再符号されたブロックｘの粗いインデクスｂ（ｘ）を精密なインデクスａ（ｘ）に逆写像するために適切な辞書およびグラフテンプレートを特定するために、「正確な」クラスタインデクスｉを画像アップロード中にＳＩとして決定し符号化している。具体的には、精密なインデクスａ（ｘ）の入力を使用して、まずハード復号化された（hard-decoded）ブロックｘ＾を構築し、これを用いてルートノードｒから高さＨｍａｘのエンドノードｅ０までフルツリーＴ０を走査する（traverse）。走査によって、ノードｉにおいて、ｘ＾とそれぞれの子ノードｊおよびｋの２つの重心ｃｊおよびｃｋと比較し、より近い重心を有するノードに進む。
【０１１３】
エンドノードｅ０に到達すると、関連する文字列Ｓｅ０をＸとして特定する。（後述する）クラスタとして使用する実際に最適化されたＶＬＴ（Variable-Length Tree）  Ｔ（図１８（ｂ））は、典型的にフルツリーＴ０のサブセットであるため、ｘ＾を使用する代わりに、Ｔを走査することは、Ｔ０における中間ノードであるＴにおけるエンドノードで終端されることがあり、この場合、ＳｅはＳｅ０の部分文字列（substring）である。Ｓｅ０の部分文字列であるＳｅをＱＴ（Ｘ）と示す。２つのエンドノードＴ０およびＴの文字列の例を、図１８（ｃ）に示す。
【０１１４】
符号化コストを軽減するために、直接符号化ＱＴ（Ｘ）の代わりに、粗いインデクスｂ（ｘ）でハード復号されたブロックｘ＾を使用してＴ０を走査することにより、画像ダウンロード中に取得される文字列である、Ｘとそのノイズ観測Ｙとの間の相関を利用する、効率的な分散符号化方式を提案する。基本的な考えは、より多くの観測／目標文字列のペア（ｙ、ｘ）に対して、ＱＴ（ｙ＋Δ）＝ＱＴ（Ｘ）となるような、ＳＩとして適切な差分Δｊを符号化するために、コードブックＣにおける差分コードワードΔｊを設計することである。差分Δｊが高い確率ｐ（Δｊ）で選択される場合、算術符号化（arithmetic coding）を使用する（近似された）コードレート‐ｌｏｇｐ（Δｊ）は低い。
【０１１５】
ＱＴ（ｙ＋Δｊ）＝ＱＴ（Ｘ）となるような、差分Δｊ∈Ｃが存在しない場合、直接インデクスコードワードｄｉを符号化する。ここで、ｉは、ブロックｘ＾のクラスタインデクスである。直接インデクスコードワードは、各クラスタに対してユニーク（固有）であることから、それらの確率は典型的に低く、符号化コストはより高い。
【０１１６】
（無損失モードのためのツリー構造ベクトル量子化の最適化）
ここで、ＴＳＶＱ最適化問題を定義して、それを最適化する方法を議論する。２つの最適化変数ＶＬＴ  ＴとコードブックＣとがあることを考慮して、交互最適化方法を提案する。
（Ａ）Ｃを固定して、Ｔを最適化。これを最適ＶＬＴ設計問題と呼ぶ。
（Ｂ）Ｔを固定してＣを最適化。これを最適差分コードブック問題と呼ぶ。
以下では、順番に、これら２つの問題を解決するための詳細なアルゴリズムを説明する。
【０１１７】
（Ａ）最適ＶＬＴ設計
Ｃを固定すると、最適化問題は以下のようになる。
【数２５】
2017158183.tif 000027
・・・（２５）
【０１１８】
上記の目的関数は、ＶＬＴ  ＴのＲＤコストが、それぞれが確率Ｐ（ｉ）で重み付けされたエンドノードｉの個々のＲＤコストの合計であることを示している。式（２５）を最小にする２つの手順を説明する。
【０１１９】
まず、式（２５）において、異なったエンドノードｉに対する、より有利な誤差分布Ｐ（ｙ｜ｉ）（例えば、エンドノードｉに対して、より小さい比率の結果となるであろう、Ｐ（ｓｉ｜ｉ）を中心に分布する非対称分布）を誘導するために、ＶＬＴ  Ｔにおけるノードにバイナリビット（０および１）を再割り当てする手順（１）を提案する。
【０１２０】
次に、ＶＬＴ  Ｔへの所定のビットの割り当てに対して、初期のツリーＴからエンドノードを最適に取り除く、ＲＤ−最適化ツリープルーニング手順（２）を提案する。
これら２つの手順は、収束するまで交互に行われる。続いて、これら２つの手順について、説明する。
【０１２１】
（１）ツリーノードのビット割り当て：密量子化ブロックｘに対して、その確率を以下のように定義する。
【数２６】
2017158183.tif 000028
・・・（２６）
ここで、Ｐ（ｉ）は、エンドノードｉの確率であり、Ｐｉ（ｘ）は、クラスタｉに属するブロックによって広がる（spanned）部分空間（subspace）Ｓｉ内のｘの確率である。粗量子化ブロックｙは、ｘのノイズバージョン（noisy version）とみなすことができ、以下の様にモデル化される。
【数２７】
2017158183.tif 000029
・・・（２７）
ここで、ｚは、ノイズである。
【０１２２】
以下の最適化問題を解決することにより、ｙの最も可能性の高いクラスタインデクスｊ＊を見出す。
【数２８】
2017158183.tif 000030
・・・（２８）
ノイズモデルによれば、上記の最適化は以下のように書き換えることが出来る。
【数２９】
2017158183.tif 000031
・・・（２９）
【０１２３】
しかし、ｘおよびｚの両方は、高次元のベクトル（high-dimensional vectors）であり、式（２９）を解くことは自明ではない問題であることを意味する。代わりに、Ｓｉの重心であるＣｉと最も類似した重心を持つように、ｙの最も可能性の高い部分空間を見つける。
【数３０】
2017158183.tif 000032
・・・（３０）
ここで、ｍはｙの部分空間の候補の数である。
【０１２４】
ｙを求めた後、インデクスｊ＊であるノードがノードｉと近くなることを強制するために、ツリーノードのバイナリビットを再割り当てする。図１９および図２０に例を示す。図１９は、部分空間の検索を説明するための図である。密量子化ブロックｘは、部分空間Ｓ１に配置される。ノイズモデルによれば、可能性の高いノイズ観測ｙが太字破線で示される。式（２９）を処理することにより、ｙの最も可能性の高い部分空間のインデクスが検索される。図２０は、二分木のノードの入れ替えを説明するための図である。ｘがＳ１に配置され、検索された最も可能性の高いｙはＳ３に配置されたと仮定する。インデクスオフセットは２である。Ｓ１及びＳ３を互いに近付けるためにツリーブランチに正しいバイナリビットを再割り当てする。インデクスオフセットは、１に減少する。このように、クラスタインデクスのオフセットは減少する。図２１は、ビット割当前後のインデクスオフセットの確率分布の比較を示す図である。図２１に示すように、インデクスオフセットの確率は、０の周辺により集中し、コードブックＣの伝送コストがより小さくなる。したがって、エンドノードｉに対して、より小さい比率が達成される。
【０１２５】
（２）レート歪み最適化ツリープルーニング（Rate-Distortion Optimized Tree Pruning）：ビットの再割り当て後、初期ツリーＴからエンドノードを最適に除去するために、ＲＤ−最適化ツリープルーニング手順が行われる。より多くのエンドノードを除去することは、歪みがより大きく、より短いツリーとなるが、比率はより小さくなる。我々が行うことは、ツリーの深さを変えることにより、歪みと比率の間で最良のトレードオフを達成することである。レート歪みフレームワーク（rate-distortion framework）を利用したプルーンツリーアルゴリズム（prune-tree algorithms）がいくつか存在する。ここでは、我々のシステムでは、子を刈り取る（pruning）という手法を採用する（非特許文献１４）。但し、これに限定されない。
【０１２６】
所定のツリーＴ’に対して、有限な数の刈り取られたサブツリー（pruned subtrees）｛Ｔ｝が存在する。我々は、式（２５）の最小値につながるものを見つけるために、それらを網羅的に検索する。具体的には、２つの兄弟エンドノード（brother end nodes）を刈り取り、それらの親ノードを新しいエンドノードとして、新しいＶＬＴ  Ｔを得る。Ｔに対して、すべてのエンドノードの歪みと比率（rate）とを合計してＲＤコストを計算する。
【数３１】
2017158183.tif 000033
・・・（３１）
【０１２７】
この処理が、左から右にエンドノードの全てのペアに対して、再帰的に行われる。最終的に、最適なＶＬＴツリーを次のように取得する：
【数３２】
2017158183.tif 000034
・・・（３２）
【０１２８】
（Ｂ）最適なコードブック設計
１）分散符号化手法：ここで、ＶＬＴ  Ｔが与えられた最適なコードブックＣを設計する問題に焦点を当てる。統計Ｐ（ｙ｜ｘ）は固定であり、既知であると仮定する。実行可能な（feasible）コードブックＣは、Ｐ（ｙ｜ｘ）＞０であるような観測／目標ペア（ｙ，ｘ）について、i）ＱＴ（ｙ＋Δｊ）＝ＱＴ（ｘ）であるような差分コードワードΔｊ∈Ｃを選択することができ、ii）ｓｉ＝ＱＴ（ｘ）であるような直接インデクスコードワードｃｉを選択することができる、ことを意味している。最適なコードブックＣは、全てのペア（ｙ，ｘ）について、上述した実行可能な選択が、予想された符号化コストを最小に至ることを意味する。
【０１２９】
まず、典型的な差分符号化と異なり、各観測／目標ペア（ｙ，ｘ）に対する正確な差分Δ＝ｘ−ｙを符号化するために、エンコーダを必要としない；ＱＴ（ｙ＋Δｊ）＝ＱＴ（ｘ）であるような任意の実行可能な差分コードワードΔｊは、同じように受け入れられる。我々は、ｒ（ｙ，ｘ）により、実行可能な差分の範囲を示す。ＶＬＴ  Ｔにおける量子化ビンｉ＝ＱＴ（ｘ）の下限と上限を［ｌｉ, ｕｉ）により示す。明らかに、量子化ビンｉのサイズｕｉ−ｌｉが大きくなれば、より大きな範囲ｒ（ｙ，ｘ）となる。
【０１３０】
コードブックを設計するとき、直感的に、小さいコードブックＣが望ましい；確率は、少数のコードワードΔｊまたはｃｉのみに集中し、そのため、符号化コスト−ｌｏｇｐ（Δｊ）または−ｌｏｇｐ（ｃｉ）は小さくなる。上述したように、ペア（ｙ，ｘ）に対するクラスタインデクスを符号化するとき、範囲ｒ（ｙ，ｘ）により提供される自由度が与えられると、我々の設計方法は、以下の様になる。まず、より多くの範囲ｒ（ｙ，ｘ）をカバーする少数の差分Δｊのみを選択する。そして、残りのペア（ｙ，ｘ）に対して、実行可能性を維持するために直接インデクスコードワードｃｉを使用する。次に、この処理の詳細を説明する。
【０１３１】
２）コードブック設計アルゴリズム：まず、実行可能性を保証するために、ＶＬＴ  Ｔにおけるエンドノードｉに対応する、全ての直接インデクスコードワードｃｉは、コードブックＣに含まれていると仮定する。そして、差分コードワードΔｊを次のように追加する。まず、Ｐ（ｙ｜ｘ）は、高くなる傾向があるため、最も一般的に使用されるコードワードである、初期（デフォルト）差分Δ０＝０を追加する。
【０１３２】
観測／目標ペア（ｙ，ｘ）のそれぞれに対して、範囲ｒ（ｙ，ｘ）が現在のコードブックＣにおける既存の差分Δｊと重複していないかを確認する。重複していない場合、図２２に示すように、Ｐ（ｙ｜ｘ）で縮尺されたｒ（ｙ，ｘ）を差分カウンタＨ（Δ）に加える。既存の差分コードワードと重複しないすべてのペア（ｙ，ｘ）からの範囲を累積した後、ピークΔ＊＝ｍａｘΔＨ（Δ）をＣに加える次の候補として特定する。
【０１３３】
次に、差分コードワードの候補Δ＊がＣに追加された場合の予測される符号化コストを計算する。各ペア（ｙ，ｘ）に対して、０に近い範囲ｒ（ｙ，ｘ）において、コードワードΔｊ∈Ｃを検索する。ｒ（ｙ，ｘ）内でΔｊ∈Ｃが無い場合、このペアに対して直接インデクス（direct index）ｃｉを使用する。ここで、ｉ＝Ｑ（ｘ）である。全てのペア（ｙ，ｘ）のコードワードへのマッピングが与えられると、各コードワードに対する確率を一覧化することができ、式（３３）を使用して比率を計算することが出来る。
【数３３】
2017158183.tif 000035
・・・（３３）
得られた比率が減少した場合のみ、この候補Δ＊は、最終的に追加される。他の差分コードワードの候補を追加することを試みるために、比率が減少した場合、手順は繰り返される。アルゴリズムの擬似コードをアルゴリズム１（図２３）に示す。
【０１３４】
（統計的保証を伴う近無損失モード（Near-Lossless Mode））
続いて、近無損失モードについて説明する。近無損失モードは、各ブロックｘに対する粗いインデクスｂ（ｘ）から復元することが出来る精密なビンインデクスａ（ｘ）を決定論的に保証する無損失モードと異なり、高い確率でｂ（ｘ）からａ（ｘ）を復元することが出来るという統計的な保証を有している。復元要件を下げることにより、近無損失モードは、はるかに低い計算量を達成することができる。
【０１３５】
具体的には、オフライントレーニングにおいて、完全なＴＳＶＱ構築の後、トレーニングブロックを異なるクラスタに分類する。同一クラスタのブロックは、類似した構造を共有する。各クラスタに対して、このクラスタに関連する辞書およびグラフテンプレートを使用して、精密なインデクスａ（ｘ）が粗いインデクスｂ（ｘ）から正確に逆写像されるブロックの割合を計算する。完全な画像に対する統計的な保証を保証するために、各クラスタの復元成功率が使用される。
【０１３６】
画像アップロードでは、各コードブロックｘｉに対して、オフライン統計により、関連した復元成功確率Ｐ（ｘｉ）が存在する。無損失復元とは異なり、どのブロックが再符号化されるかを決定するために、量子化ビンマッチングの最適化を実行するのではなく、事前に設定した閾値ＰＴよりも平均復元成功確率が高いものを選択する。より具体的に、列にそって全てのコードブロックを詳しく調べ（スキャンし）、再符号化するコードブロックを徐々に決定する。コードブロックｘｉに来ると、調べたブロック｛ｘｊ｝ｉｊ＝１の平均復元成功確率ＡＰｉを以下の様に計算する。
【数３４】
2017158183.tif 000036
・・・（３４）
ＡＰｉ≧ＰＴである場合、ｘｉを再符号化のサブセットに追加する。この決定処理は、ブロック毎に実際の逆写像を実行しないことから高速である。
【０１３７】
ＱＢＭのための辞書とグラフテンプレートを選択し、フルツリーを走査するために、画像ダウンロードでは、粗量子化ブロックを使用する。無損失復元において、行われたように、クラスタインデクスを符号化するための追加的なコストを払う必要がなく、そのため、より多くの記憶領域を節約することが出来る。
【０１３８】
ここで、本実施の形態は、次のように表現することもできる。すなわち、画像処理装置（クラウドレット２０ｂ）は、複数の画像の特徴量の分布から複数のクラスタに分類した過完備辞書（over-complete dictionary）（辞書ＤＢ２３ｂ）と、前記特徴量の分布をグラフ化し、前記複数のクラスタに分類した散在（sparse）グラフテンプレート（グラフテンプレート２４）と、前記複数の画像から前記過完備辞書と前記散在グラフテンプレートとを学習する学習部２５と、入力画像を第１の量子化幅に基づき量子化した第１の量子化係数を含む符号化画像について、前記第１の量子化係数から、前記第１の量子化幅より広い第２の量子化幅に基づき量子化した第２の量子化係数へ再符号化する再符号化部２１ｂと、前記第２の量子化係数について、前記過完備辞書と前記散在グラフテンプレートとを用いて、前記第１の量子化係数への逆写像を行う逆写像部（粗密変換部２２ｂ）と、を備える。そして、学習部２５は、前記複数の画像から抽出された複数のブロック画像について、ＴＳＶＱ（Tree-Structured Vector Quantization）により複数のクラスタに分類して二分木を構築し、前記分類された各クラスタに対してクラスタインデクスのオフセットが減少するように、前記二分木のノードを入れ替え、前記入れ替え後の前記二分木に対してレート歪みを最適化するように枝刈りを行い、前記枝刈り後の前記二分木に対して前記過完備辞書と前記散在グラフテンプレートとを学習する。再符号化部２１ｂは、再符号化時に、前記入力画像が前記学習後の前記過完備辞書及び前記散在グラフテンプレートのクラスタのいずれに該当するかを判別したクラスタインデクスを、前記第２の量子化係数に対応付けて記憶装置（クラウドストレージ３０）に格納する。逆写像部は、前記第２の量子化係数に対応付けられた前記クラスタインデクスに基づき前記過完備辞書及び前記散在グラフテンプレート内のクラスタを特定し、当該特定したクラスタを用いて前記逆写像を行う。これにより、辞書とグラフテンプレートの精度を向上し、逆写像の精度も向上させることができる。
【０１３９】
＜その他の発明の実施の形態＞
尚、上記説明では、画像圧縮手法としてＪＰＥＧの例を挙げたため、変換係数としてＤＣＴ係数としていた。但し、本発明は、ＤＣＴの代わりに、離散サイン変換（Discrete Sine Transform (DST)）、又は、非対称離散サイン変換（Asymmetric Discrete Sine Transform (ADST)）等のような他のブロックベースの変換符号化及び復号化装置に適用可能である。
【０１４０】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。
【０１４１】
非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ(Blu-ray(登録商標) Disc)、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、コンピュータプログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【０１４２】
Ｕ１  ユーザ
１１  ユーザ端末
１１１  画像符号化部
１１２  画像復号化部
Ｕ２  ユーザ
１２  ユーザ端末
１２１  画像符号化部
１２２  画像復号化部
２０  クラウドレット
２１  再符号化部
２２  粗密変換部
２３  辞書ＤＢ
２０ａ  クラウドレット
２１ａ  再符号化部
２２ａ  粗密変換部
２３ａ  辞書ＤＢ
３０  クラウドストレージ
３１  ストレージ
３ｎ  ストレージ
３１１  クラスタインデクス
Ｐ１  入力画像
Ｐ２  符号化画像
Ｐ３  再符号化画像
Ｐ４  復元符号化画像
Ｐ５  復号画像
２０ｂ  クラウドレット
２１ｂ  再符号化部
２２ｂ  粗密変換部
２３ｂ  辞書ＤＢ
２４  グラフテンプレート
２５  学習部
３１２  副情報
ＰＧ  トレーニング画像
ＢＳ  トレーニングブロック集合
ＴＳ  ツリー構造（二分木）
【図１】
2017158183.tif 000037
【図２】
2017158183.tif 000038
【図３】
2017158183.tif 000039
【図４】
2017158183.tif 000040
【図５】
2017158183.tif 000041
【図６】
2017158183.tif 000042
【図７】
2017158183.tif 000043
【図８】
2017158183.tif 000044
【図９】
2017158183.tif 000045
【図１０】
2017158183.tif 000046
【図１１】
2017158183.tif 000047
【図１２】
2017158183.tif 000048
【図１３】
2017158183.tif 000049
【図１４】
2017158183.tif 000050
【図１５】
2017158183.tif 000051
【図１６】
2017158183.tif 000052
【図１７】
2017158183.tif 000053
【図１８】
2017158183.tif 000054
【図１９】
2017158183.tif 000055
【図２０】
2017158183.tif 000056
【図２１】
2017158183.tif 000057
【図２２】
2017158183.tif 000058
【図２３】
2017158183.tif 000059