(57)【要約】【課題】効率的な圧縮器を作成すること。【解決手段】非可逆圧縮によりデータを圧縮する場合における量子化及び符号化器作成方法であって、前記データの量子化及び符号化において、デコード時に既にデコード済みの情報を用いて、量子化先の標本空間を所定の関数により決定する手順、をコンピュータが実行する。また、非可逆圧縮によりデータを圧縮する場合における量子化及び符号化器作成方法であって、前記データの量子化及び符号化において、デコード時に既にデコード済みの情報を用いて、量子化先の標本空間を所定の関数により決定する手順、をコンピュータが実行し、前記所定の関数はニューラルネットワークであり、前記ニューラルネットワークの内部パラメータを、前記非可逆圧縮における圧縮性能が高くなるように最適化することで、前記量子化先の標本空間を決定する。【選択図】図３
2020053820.tif 000002
【特許請求の範囲】
【請求項１】
非可逆圧縮によりデータを圧縮する場合における量子化及び符号化器作成方法であって、
前記データの量子化及び符号化において、デコード時に既にデコード済みの情報を用いて、量子化先の標本空間を所定の関数により決定する手順、
をコンピュータが実行することを特徴とする量子化及び符号化器作成方法。
【請求項２】
前記所定の関数はニューラルネットワークであり、
前記ニューラルネットワークの内部パラメータを、前記非可逆圧縮における圧縮性能が高くなるように最適化することで、前記量子化先の標本空間を決定する、ことを特徴とする請求項１に記載の量子化及び符号化器作成方法。
【請求項３】
第１のニューラルネットワークで実現される分析器により圧縮対象データを変換した中間データを作成する分析手順と、
第２のニューラルネットワークで実現される量子化・符号化器により前記中間データの量子化先の標本空間を決定し、前記標本空間を用いて前記中間データを量子化・符号化した量子化データを作成する量子化・符号化手順と、
第３のニューラルネットワークで実現される統合器により前記量子化データを変換した復元データを作成する統合手順と、
前記圧縮対象データと前記復元データとの歪みと、前記量子化データを算術符号化によって保存する場合に必要な情報量とに基づいて、前記第１のニューラルネットワークのパラメータと、前記第２のニューラルネットワークのパラメータと、前記第３のニューラルネットワークのパラメータとを最適化する最適化手順と、
をコンピュータが実行することを特徴とする圧縮器作成方法。
【請求項４】
第１のニューラルネットワークで実現される分析器により圧縮対象データを変換した中間データを作成する分析手順と、
前記中間データを量子化器により量子化した量子化データを作成する量子化手順と、
第２のニューラルネットワークで実現される統合器により前記量子化データを変換した復元データを作成する統合手順と、
前記圧縮対象データと前記復元データとの歪みと、前記量子化データを算術符号化によって保存する場合に必要な情報量とに基づいて、前記第１のニューラルネットワークのパラメータと、前記量子化器のパラメータと、前記第２のニューラルネットワークのパラメータとを最適化する最適化手順と、
をコンピュータが実行することを特徴とする圧縮器作成方法。
【請求項５】
前記最適化手順は、
α、β及びγを所定の定数、前記圧縮対象データと前記復元データとで互いに対応する画素値の平均二乗誤差をＭＳＥ、前記圧縮対象データと前記復元データとのＭＳＳＳＩＭ値をＭＳＳＳＩＭ、前記情報量により表されるビット長を示すｂｉｔ＿ｌｅｎｇｔｈとして、
【数３６】
2020053820.tif 000038
を最小化するように、前記第１のニューラルネットワークのパラメータと、前記量子化器のパラメータと、前記第２のニューラルネットワークのパラメータとを最適化する、ことを特徴とする請求項４に記載の圧縮器作成方法。
【請求項６】
前記量子化手順は、
前記中間データの各要素をＫ個のグループに分割した上で、ｋ（ｋ＝１，・・・，Ｋ）番目のグループに属する要素で構成されるｋ番目の中間データを用いて、該ｋ番目の中間データに対応するｋ番目の量子化データと、該ｋ番目の量子化データを算術符号化によって保存する場合に必要なｋ番目の情報量とをｋ＝１からｋ＝Ｋまで順に作成することで、前記ｋ番目の情報量のｋ＝１からｋ＝Ｋまでの総和で表される前記情報量と、前記ｋ番目の量子化データのｋ＝１からｋ＝Ｋまでの結合で表される前記量子化データとを作成する、ことを特徴とする請求項４又は５に記載の圧縮器作成方法。
【請求項７】
前記量子化器には、ｋ≧２である場合に、１番目の量子化データからｋ−１番目の量子化データまでを入力として、ｋ番目の中間データを予測したｋ番目の予測値データと、前記ｋ番目の中間データと前記ｋ番目の予測値データとの近さを表すｋ番目の指標値データと、前記ｋ番目の中間データを量子化する場合の量子化幅を表すｋ番目の量子化幅データとを出力する第３のニューラルネットワークが含まれ、
前記量子化手順は、
前記ｋ番目の予測値データと前記ｋ番目の量子化幅データと前記ｋ番目の中間データとを用いて、前記ｋ番目の量子化データを作成し、
前記ｋ番目の予測値データと前記ｋ番目の指標値データとによって決定される累積分布関数と、前記ｋ番目の量子化データと、前記ｋ番目の量子化幅データとを用いて、前記ｋ番目の情報量を作成する、ことを特徴とする請求項６に記載の圧縮器作成方法。
【請求項８】
ｋ＝１である場合、前記ｋ番目の予測値データと、前記ｋ番目の指標値データと、前記ｋ番目の量子化幅データとは、予め保存されている第１のパラメータと第２のパラメータと第３のパラメータとからそれぞれ作成され、
前記量子化器のパラメータには、前記第３のニューラルネットワークのパラメータと、前記第１のパラメータと、前記第２のパラメータと、前記第３のパラメータとが含まれる、ことを特徴とする請求項７に記載の圧縮器作成方法。
【請求項９】
前記ｋ番目の量子化データの各要素は、前記ｋ番目の予測値データの各要素と前記ｋ番目の中間データの各要素との差を、前記ｋ番目の量子化幅データの各要素でそれぞれ量子化したものであり、
前記ｋ番目の情報量は、前記ｋ番目の量子化データの各要素と、前記ｋ番目の量子化データの各要素と、前記累積分布関数の集合の各要素とによって決定される出現確率の和である、ことを特徴とする請求項７又は８に記載の圧縮器作成方法。
【請求項１０】
第１のニューラルネットワークで実現される分析器により圧縮対象データを変換した中間データを作成する分析手段と、
前記中間データを量子化器により量子化した量子化データを作成する量子化手順と、
第２のニューラルネットワークで実現される統合器により前記量子化データを変換した復元データを作成する統合手段と、
前記圧縮対象データと前記復元データとの歪みと、前記量子化データを算術符号化によって保存する場合に必要な情報量とに基づいて、前記第１のニューラルネットワークのパラメータと、前記量子化器のパラメータと、前記第２のニューラルネットワークのパラメータとを最適化する最適化手段と、
を有することを特徴とする圧縮器作成装置。
【請求項１１】
第１のニューラルネットワークで実現される分析器により圧縮対象データを変換した中間データを作成する分析手順と、
前記中間データを量子化器により量子化した量子化データを作成する量子化手順と、
第２のニューラルネットワークで実現される統合器により前記量子化データを変換した復元データを作成する統合手順と、
前記圧縮対象データと前記復元データとの歪みと、前記量子化データを算術符号化によって保存する場合に必要な情報量とに基づいて、前記第１のニューラルネットワークのパラメータと、前記量子化器のパラメータと、前記第２のニューラルネットワークのパラメータとを最適化する最適化手順と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、量子化及び符号化器作成方法、圧縮器作成方法、圧縮器作成装置及びプログラムに関する。
【背景技術】
【０００２】
データ圧縮とは、データをどれだけ短い符号長（つまり、ファイルサイズ）で保存できるかというタスクである。データ圧縮器は、元データを符号化して圧縮データに変換する符号化器と、圧縮データを復号して再構成データに変換する復号化器とからなる。可逆データ圧縮では再構成データが元データに完全に一致している必要がある一方、非可逆データ圧縮では再構成データに元のデータからの或る程度の歪み（distortion）を許容している。これにより、非可逆データ圧縮では、符号長の大幅な削減を可能にしている。ここで、歪みとは再構成データが元データからどれだけ劣化したかを表す量である。
【０００３】
多くの非可逆画像圧縮は、自己符号化器（autoencoder）の構造を拡張して、中間層の出力配列（出力配列は特徴マップ（feature map）とも称される。）の各要素を量子化・符号化することで画像の圧縮表現を生成する。State-of-the-artなＤＮＮ（Deep Neural Network）モデルを含む、これまでの多くの非可逆画像圧縮器では、この量子化を行うときに、量子化先の標本空間（sample-space）として圧縮器内部に予め用意されている標本空間を用いている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／１０９４０７号
【特許文献２】特開２００５−１９６０４０号公報
【非特許文献】
【０００５】
【非特許文献１】Full Resolution Image Compression with Recurrent Neural Networks, arXiv:1608.05148.
【非特許文献２】End-to-end Optimized Image Compression, arXiv:1611.01704.
【非特許文献３】Real-Time Adaptive Image Compression, arXiv:1705.05823.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、従来技術では、中間層の出力配列の各要素の量子化を行うときに量子化先の標本空間として予め用意されている（つまり、予め決められた）標本空間を用いているため、量子化先の標本空間が必ずしも最適化されておらず、効率的な圧縮器（及びこの圧縮器に対応する復元器）が得られない場合があった。ここで、効率的な圧縮器とは、圧縮対象のデータと、復元器によって復元されたデータとの歪みが小さく、かつ、量子化・符号化されたデータの符号長が小さい圧縮器のことである。
【０００７】
本発明の実施の形態は、上記の点に鑑みてなされたもので、効率的な圧縮器を作成することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の実施の形態は、上述した量子化の部分に着目し、復号時に既に復号が完了した部分の情報を元にして符号化で用いる確率質量関数を適応的に変化させるのに加え、量子化で用いる標本空間まで適応的に変化させる（以降では、これを「ASAP（Adaptive Sample-space & Adaptive Probability） coding」と呼ぶこととする。）。そして、このASAP codingを以下のようにして実現する。
【０００９】
非可逆圧縮によりデータを圧縮する場合における量子化及び符号化器作成方法であって、前記データの量子化及び符号化において、デコード時に既にデコード済みの情報を用いて、量子化先の標本空間を所定の関数により決定する手順、をコンピュータが実行する。
【００１０】
また、ASAP coding内の関数をニューラルネットワークにしてそれらのパラメータを再構成データの歪みと保存する圧縮データの符号長とのトレードオフ（trade off）の観点から最適化することで作られた、圧縮対象となるデータ群の特徴を踏まえて効率的に非可逆圧縮する圧縮器として、NASAP（Neural-network-based ASAP） codingを提案する。そして、このNASAP codingを以下のようにして実現する。
【００１１】
非可逆圧縮によりデータを圧縮する場合における量子化及び符号化器作成方法であって、前記データの量子化及び符号化において、デコード時に既にデコード済みの情報を用いて、量子化先の標本空間を所定の関数により決定する手順、をコンピュータが実行し、前記所定の関数はニューラルネットワークであり、前記ニューラルネットワークの内部パラメータを、前記非可逆圧縮における圧縮性能が高くなるように最適化することで、前記量子化先の標本空間を決定する。
【発明の効果】
【００１２】
効率的な圧縮器を作成することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態における変換器作成装置の機能構成の一例を示す図である。
【図２】本発明の実施の形態における量子化部の詳細な機能構成の一例を示す図である。
【図３】最適化時における量子化部による量子化の概略の一例を説明する図である。
【図４】最適化処理の一例を示すフローチャートである。
【図５】分割方法の一例を示す図である。
【図６】本発明の効果の一例を示す図である。
【図７】本発明の実施の形態における変換器作成装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１４】
まず、ASAP codingの具体例について説明する。
【００１５】
ＪＰＥＧ（Joint Photographic Experts Group）では量子化テーブルが用意されており、画像を８×８のサイズごとに区切る。そして、各区切られた部分の各色チャネル（channel）毎に、以下のような量子化・符号化の操作をする。まず、離散コサイン変換し、８×８の２次元配列を作る。そして、それを予め決められた量子化テーブルに示される量子化幅で量子化する。
【００１６】
上述したＪＰＥＧの量子化・符号化の部分をASAP codingに置き換えると次のようになる。ASAP codingでは予め量子化幅を決めることはなく、これをデコード（decode）時に既にデコード済の部分（以降、この部分を「コンテキスト」とも表す。）から適応的に決定する。量子化幅を適応的に決定するのは量子化に用いる標本空間を適応的に決定する方法の一つである。コンテキストから量子化幅を決定する関数はヒューリスティックに決めても良いし、機械学習を用いて決めても良い。
【００１７】
ここで、ASAP codingは次の点で有効である。例えば、量子化されていない配列を｛ｚ１，・・・，ｚＮ｝として、この配列を量子化して可逆圧縮する場合、発生する量子化誤差と保存された符号長との間には一般にトレードオフが存在し、大きな量子化誤差を許容するほど符号長は小さくすることができる。ｎ番目の要素ｚｎの量子化で許容できる量子化誤差の程度がコンテキスト（つまり、復号時に既に復号が完了したｎ−１番目までの量子化後の配列要素）に依存している場合、ASAP codingでは、コンテキストの情報を用いて、確率質量関数（ＰＭＦ：probability mass function）だけでなく、標本空間まで適応的に決定する。このため、ASAP codingでは、共通の標本空間を用いる場合と比較して、同程度の歪みにおいて更に小さい符号長での保存が期待できる。
【００１８】
次に、NASAP codingについて説明する。
【００１９】
ASAP codingの量子化先の標本空間をコンテキストの情報を用いて適応的に決める部分の関数にニューラルネットワークを用い、その内部のパラメータを圧縮性能が向上するように（つまり、歪みが小さく、かつ、量子化・符号化されたデータの符号長が小さくなるように）最適化することによって作成する。以下、NASAP codingの具体例について説明する。
【００２０】
本発明の実施の形態では、非可逆的にデータを圧縮する圧縮器（及びこの圧縮器に対応する復元器）を作成する変換器作成装置１０について説明する。ここで、圧縮器に対応する復元器とは、圧縮器によって圧縮されたデータを復元することが可能な復元器のことである。なお、圧縮器は非可逆的にデータを圧縮するため、圧縮対象のデータ（以降、「圧縮対象データ」とも表す。）と、復元されたデータ（以降、「復元データ」とも表す。）とは完全には一致しない。
【００２１】
以降では、一例として、圧縮対象データ及び復元データは、チャネル数をＣ０、高さのサイズをＨ０、幅のサイズをＷ０として、Ｃ０×Ｈ０×Ｗ０のサイズの３次元配列で表される画像データであるものとする。ただし、圧縮対象データ及び復元データは、画像データに限られない。圧縮対象データ及び復元データとして、任意の形式のデータ（例えば、テキストデータや音声データ等）が用いられても良い。
【００２２】
本発明の実施の形態における変換器作成装置１０は、分析器（アナライザ）と、統合器（シンセサイザ）と、量子化器とを同時に最適化することで、効率的な圧縮器（及びこの圧縮器に対応する復元器）を作成する。ここで、効率的な圧縮器とは、上述したように、圧縮対象のデータと、復元されたデータとの歪みが小さく、かつ、量子化・符号化されたデータの符号長が小さい圧縮器のことである。なお、圧縮器及び復元器は、データの変換を行う変換器の一例である。
【００２３】
＜変換器作成装置１０の機能構成＞
まず、本発明の実施の形態における変換器作成装置１０の機能構成について、図１を参照しながら説明する。図１は、本発明の実施の形態における変換器作成装置１０の機能構成の一例を示す図である。
【００２４】
図１に示すように、本発明の実施の形態における変換器作成装置１０は、分析部１０１と、量子化部１０２と、統合部１０３と、最適化部１０４とを有する。
【００２５】
分析部１０１は、畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）によって実現されるアナライザとして機能する。以降では、この畳み込みニューラルネットワークを「第１のＣＮＮ」とも表す。
【００２６】
分析部１０１は、圧縮対象データ（Ｃ０×Ｈ０×Ｗ０のサイズの３次元配列で表される画像データ）を入力して、この圧縮対象データを変換した中間データを出力する。以降では、この中間データを
【００２７】
【数１】
2020053820.tif 000003
と表す。ここで、Ｃは第１のＣＮＮの出力データのチャネル数、Ｈは第１のＣＮＮの出力データの高さのサイズ、Ｗは第１のＣＮＮの出力データの幅のサイズである。このように、中間データは、Ｃ×Ｈ×Ｗのサイズの３次元配列で表されるデータである。
【００２８】
量子化部１０２は、分析部１０１によって出力された中間データを入力して、この中間データを量子化する。そして、量子化部１０２は、量子化された中間データを出力する。なお、量子化部１０２の詳細な機能構成については後述する。
【００２９】
以降では、量子化された中間データ（以降、「量子化中間データ」とも表す。）を
【００３０】
【数２】
2020053820.tif 000004
と表す。このように、量子化中間データは、Ｃ×Ｈ×Ｗのサイズの３次元配列で表されるデータである。
【００３１】
また、量子化部１０２は、量子化中間データを算術符号化によって保存するのに必要な情報量を計算する。この情報量は、後述するように、
【００３２】
【数３】
2020053820.tif 000005
で表される。なお、この情報量は、量子化中間データの保存に必要なビット長又は符号長等と称されても良い。
【００３３】
統合部１０３は、畳み込みニューラルネットワークによって実現されるシンセサイザとして機能する。以降では、この畳み込みニューラルネットワークを「第２のＣＮＮ」とも表す。
【００３４】
統合部１０３は、量子化中間データを入力して、この量子化中間データを変換した復元データ（Ｃ０×Ｈ０×Ｗ０のサイズの３次元配列で表される画像データ）を出力する。
【００３５】
最適化部１０４は、分析部１０１と、量子化部１０２と、統合部１０３とを最適化する。すなわち、最適化部１０４は、圧縮対象データと復元データとの歪みができるだけ小さく、かつ、上記の数３で表される情報量Ｉができるだけ小さくなるように、分析部１０１と、量子化部１０２と、統合部１０３とのパラメータを最適化する。なお、最適化の対象となるパラメータは、第１のＣＮＮのパラメータと、第２のＣＮＮのパラメータと、後述する第３のＣＮＮのパラメータと、後述する第１のパラメータ〜第３のパラメータとである。
【００３６】
これらのパラメータを最適化することで、本発明の実施の形態における変換器作成装置１０は、効率的な圧縮器と、この圧縮器に対応する復元器とを作成することができる。なお、圧縮器は、例えば、最適化後の分析部１０１及び量子化部１０２で構成される変換器とすれば良い。また、復元器は、例えば、量子化部１０２に含まれる算術符号化部１１６（後述する）の逆の処理を実行する機能部と最適化後の統合部１０３とで構成される変換器とすれば良い。
【００３７】
＜量子化部１０２の詳細な機能構成＞
次に、上記の量子化部１０２の詳細な機能構成について、図２を参照しながら説明する。図２は、本発明の実施の形態における量子化部１０２の詳細な機能構成の一例を示す図である。
【００３８】
図２に示すように、本発明の実施の形態における量子化部１０２には、分割部１１１と、ＣＮＮ計算部１１２と、誤差計算部１１３と、量子化計算部１１４と、情報量計算部１１５と、算術符号化部１１６とが含まれる。
【００３９】
分割部１１１は、中間データを、予め決められたＫ個のグループに分割する。すなわち、分割部１１１は、中間データの各要素ｘｉ（ｉ＝１，・・・，ＣＨＷ）をＫ個のグループに分類する。以降では、ｋ（ｋ＝１，・・・，Ｋ）番目のグループに属するｉ番目の要素を「ｘｉ（ｋ）」と表し、同一のｋに対してｘｉ（ｋ）を各要素とする配列で表されるデータ（このデータを「ｋ番目の分割データ」とも表す。）を
【００４０】
【数４】
2020053820.tif 000006
と表す。ここで、例えば分割データの全てが３次元配列で表すことができる場合、Ｎ（ｋ）は、ｋ番目のグループに属する要素数であり、Ｎ（ｋ）＝Ｃ（ｋ）Ｈ（ｋ）Ｗ（ｋ）と表される。Ｃ（ｋ）はｋ番目の分割データのチャネル数、Ｈ（ｋ）はｋ番目の分割データの高さのサイズ、Ｗ（ｋ）はｋ番目の分割データの幅のサイズである。
【００４１】
また、ｋ番目の分割データが量子化されたデータ（以降、「ｋ番目の量子化分割データ」とも表す。）を
【００４２】
【数５】
2020053820.tif 000007
と表す。
【００４３】
ＣＮＮ計算部１１２は、畳み込みニューラルネットワークによって実現され、ｋ≧２の場合に、１番目の量子化分割データ〜ｋ−１番目の量子化分割データを入力して、ｋ番目の予測値データと、ｋ番目の指標値データと、ｋ番目の量子化幅データとを計算する。以降では、この畳み込みニューラルネットワークを「第３のＣＮＮ」とも表す。
【００４４】
また、以降では、ｋ番目の予測値データを
【００４５】
【数６】
2020053820.tif 000008
と表す。μｉ（ｋ）は、ｘｉ（ｋ）の予測値である。
【００４６】
また、ｋ番目の指標値データを
【００４７】
【数７】
2020053820.tif 000009
と表す。σｉ（ｋ）は、予測値μｉ（ｋ）が、真値ｘｉ（ｋ）に対してどの程度近いかを表す指標値である。
【００４８】
また、ｋ番目の量子化幅データを
【００４９】
【数８】
2020053820.tif 000010
と表す。ｑｉ（ｋ）は、量子化幅であり、
【００５０】
【数９】
2020053820.tif 000011
を真値ｘｉ（ｋ）にどの程度近付けるべきかを表す値（言い換えれば、真値ｘｉ（ｋ）を量子化する際の量子化の細かさを決める値）である。
【００５１】
ただし、ｋ＝１の場合は、モデル内に（つまり、圧縮器自体に）予め保存されているパラメータを用いて、１番目の予測値データと、１番目の指標値データと、１番目の量子化幅データとが作成される。
【００５２】
誤差計算部１１３は、ｘｉ（ｋ）の量子化に用いられるｋ番目の誤差データを計算する。ｋ番目の誤差データを
【００５３】
【数１０】
2020053820.tif 000012
と表す。後述するように、この誤差δｉ（ｋ）と、量子化幅ｑｉ（ｋ）とにより、ｘｉ（ｋ）を量子化した際の量子化誤差が表される。
【００５４】
量子化計算部１１４は、誤差δｉ（ｋ）と、量子化幅ｑｉ（ｋ）とを用いて、ｘｉ（ｋ）を量子化する。
【００５５】
情報量計算部１１５は、ｋ番目の量子化分割データを算術符号化によって保存するのに必要な情報量（ｋ番目の情報量）を計算する。ｋ番目の情報量は、後述するように、
【００５６】
【数１１】
2020053820.tif 000013
で表される。このとき、情報量計算部１１５は、ｋ番目の予測値データと、ｋ番目の指標値データとによって定義されるｋ番目の累積分布関数群
【００５７】
【数１２】
2020053820.tif 000014
を用いて、上記のｋ番目の情報量を計算する。ここで、累積分布関数Ｃｕｍｉ（ｋ）は、例えば、予測値μｉ（ｋ）と評価値σｉ（ｋ）とによって決定される（例えば、μｉ（ｋ）を平均、σｉ（ｋ）の二乗を分散とする正規分布に対する累積分布関数等）。
【００５８】
算術符号化部１１６は、量子化中間データ（すなわち、１番目の量子化分割データ〜Ｋ番目の量子化分割データ）をそれぞれに対応する累積分布関数群と量子化幅データから計算される離散確率分布に従って算術符号化によって保存する。
【００５９】
＜最適化時における量子化部１０２による量子化の概略＞
次に、最適化時における量子化部１０２による量子化の概略について、図３を参照しながら説明する。図３は、最適化時における量子化部１０２による量子化の概略の一例を説明する図である。分割部１１１による中間データの分割数をＫとした場合、最適化時における量子化部１０２による量子化は、ｋ＝１からｋ＝Ｋまで順に実行される。図３では、ｋ≧２として、ｋ回目の量子化を実行する場合について説明する。
【００６０】
ここで、図３において、実線矢印は誤差（予測誤差）が誤差逆伝播法によって逆伝播される「ｂａｃｋｗａｒｄあり」を示し、破線矢印は誤差（予測誤差）が逆伝播されない「ｂａｃｋｗａｒｄなし」を示す。なお、上述したように、ｋ＝１回目の量子化では、１番目の予測値データと、１番目の指標値データと、１番目の量子化幅データとが予め保存されているパラメータを用いて作成される点がｋ≧２の場合と異なる。
【００６１】
図３に示すように、量子化部１０２による量子化では、１番目の量子化分割データ〜ｋ−１番目の量子化分割データをＣＮＮ計算部１１２に入力して、ｋ番目の予測値データと、ｋ番目の指標値データと、ｋ番目の量子化幅データとを計算する。
【００６２】
次に、ｋ番目の予測値データと、ｋ番目の真値データ（すなわち、ｋ番目の分割データ）とを誤差計算部１１３に入力して、ｋ番目の誤差データを計算する。次に、ｋ番目の誤差データと、ｋ番目の量子化幅データと、ｋ番目の真値データとを量子化計算部１１４に入力して、ｋ番目の量子化分割データを計算する。なお、このｋ番目の量子化分割データは、ｋ＋１回目の量子化で、ＣＮＮ計算部１１２に入力される。
【００６３】
次に、ｋ番目の量子化幅データと、ｋ番目の量子化分割データとを情報量計算部１１５に入力して、ｋ番目の累積分布関数群によりｋ番目の情報量Ｉ（ｋ）を計算する。これにより、各ｋ＝１，・・・，Ｋに対して、ｋ番目の情報量Ｉ（ｋ）が得られる。この情報量Ｉ（ｋ）をｋ＝１，・・・，Ｋに対して足し合わせたものが、上記の数３に示す情報量Ｉである。後述するように、圧縮対象データと復元データとの歪みができるだけ小さく、かつ、この情報量Ｉができるだけ小さくなるように、分析部１０１と、量子化部１０２と、統合部１０３とが最適化される。
【００６４】
＜最適化処理＞
次に、本発明の実施の形態における変換器作成装置１０の最適化処理の詳細について、図４を参照しながら説明する。図４は、最適化処理の一例を示すフローチャートである。
【００６５】
ステップＳ１０１：分析部１０１は、圧縮対象データ（Ｃ０×Ｈ０×Ｗ０のサイズの３次元配列で表される画像データ）を入力して、この圧縮対象データを変換した中間データを出力する。なお、この分析部１０１を実現する第１のＣＮＮのパラメータは、最適化部１０４による最適化の対象となるパラメータである。
【００６６】
ステップＳ１０２：量子化部１０２の分割部１１１は、中間データをＫ個のグループに分割する。ここで、Ｈ＝１６、Ｗ＝１６として、空間方向（すなわち、Ｈ×Ｗ平面を基準）に中間データをＫ＝１０のグループに分割する場合について、図５を参照しながら説明する。図５は、分割方法の一例を示す図である。
【００６７】
図５（ａ）に示すように、例えば、（Ｈ，Ｗ）＝（１，１），（１，９），（９，１），（９，９）である各要素ｘｉをｋ＝１のグループに分類する。この場合、Ｎ（１）＝Ｃ（１）Ｈ（１）Ｗ（１）＝Ｃ×２×２＝４Ｃである。ｋ＝２〜４についても同様である。
【００６８】
また、図５（ｂ）に示すように、例えば、（Ｈ，Ｗ）＝（１，３），（１，７），（１，１１），（１，１５），（５，３），（５，７），（５，１１），（５，１５），（９，３），（９，７），（９，１１），（９，１５），（１３，３），（１３，７），（１３，１１），（１３，１５），である各要素ｘｉをｋ＝５のグループに分類する。この場合、Ｎ（５）＝Ｃ（５）Ｈ（５）Ｗ（５）＝Ｃ×４×４＝１６Ｃである。ｋ＝６〜７についても同様である。なお、図５（ｂ）中のｘｉ（ｋ）（ｋ＝１，２，３，４）は、このｘｉ（ｋ）が、図５（ａ）によって、ｋ＝１〜４のいずれかのグループに分類されたことを表す。
【００６９】
また、図５（ｃ）に示すように、例えば、（Ｈ，Ｗ）＝（１，２），（１，４），（１，６），（１，８），（１，１０），（１，１２），（１，１４），（１，１６），（３，２），（３，４），（３，６），（３，８），（３，１０），（３，１２），（３，１４），（３，１６），・・・，（１５，２），（１５，４），（１５，６），（１５，８），（１５，１０），（１５，１２），（１５，１４），（１５，１６）である各要素ｘｉをｋ＝８のグループに分類する。この場合、Ｎ（８）＝Ｃ（８）Ｈ（８）Ｗ（８）＝Ｃ×８×８＝６４Ｃである。ｋ＝９〜１０についても同様である。なお、図５（ｃ）中のｘｉ（ｋ）（ｋ＝１，２，・・・，７）は、このｘｉ（ｋ）が、図５（ａ）及び図５（ｂ）によって、ｋ＝１〜７のいずれかのグループに分類されたことを表す。
【００７０】
これにより、中間データがＫ＝１０個のグループに分割される。図５では、説明の便宜上、中間データをｋ＝１から順に分割させたが、必ずしも順に分割させる必要はない。分割部１１１は、中間データをｋ＝１，・・・，Ｋのグループに同時に分割させることができる。
【００７１】
なお、図５に示した分割方法は一例であって、分割部１１１は、この分割方法以外の種々の分割方法を用いて、中間データを分割しても良い。
【００７２】
以降のステップＳ１０３〜ステップＳ１０６は、ｋ＝１からｋ＝Ｋまで順に繰り返し実行される。
【００７３】
ステップＳ１０３：量子化部１０２は、ｋ番目の予測値データと、ｋ番目の指標値データと、ｋ番目の量子化幅データとを得る。
【００７４】
ここで、ｋ＝１の場合、量子化部１０２は、予め保存されているパラメータを用いて、１番目の予測値データと、１番目の指標値データと、１番目の量子化幅データとを作成することで、これらのデータを得る。
【００７５】
具体的には、予め保存されている第１のパラメータ
【００７６】
【数１３】
2020053820.tif 000015
を空間方向にコピー（すなわち、Ｈ（１）×Ｗ（１）個の第１のパラメータを作成）することで、１番目の予測値データ
【００７７】
【数１４】
2020053820.tif 000016
を作成する。これにより、１番目の予測値データが得られる。
【００７８】
同様に、予め保存されている第２のパラメータ
【００７９】
【数１５】
2020053820.tif 000017
を空間方向にコピーすることで、１番目の指標値データ
【００８０】
【数１６】
2020053820.tif 000018
を作成する。これにより、１番目の指標値データが得られる。
【００８１】
同様に、予め保存されている第３のパラメータ
【００８２】
【数１７】
2020053820.tif 000019
を空間方向にコピーすることで、１番目の量子化幅データ
【００８３】
【数１８】
2020053820.tif 000020
を作成する。これにより、１番目の量子化幅データが得られる。
【００８４】
このように、ｋ＝１の場合、第１のパラメータ〜第３のパラメータを用いて、１番目の予測値データと、１番目の指標値データと、１番目の量子化幅データとを得る。これらの第１のパラメータ〜第３のパラメータは、上記の通り、チャネル毎に１つの値を持っている。なお、これらの第１のパラメータ〜第３のパラメータは、最適化部１０４による最適化の対象となるパラメータである。
【００８５】
一方で、ｋ≧２である場合、量子化部１０２は、ＣＮＮ計算部１１２により、ｋ番目の予測値データと、ｋ番目の指標値データと、ｋ番目の量子化幅データとを計算することで、これらのデータを得る。
【００８６】
具体的には、ＣＮＮ計算部１１２は、１番目の量子化分割データ〜ｋ−１番目の量子化分割データを入力して、ｋ番目の予測値データと、ｋ番目の指標値データと、ｋ番目の量子化幅データとを計算する。これにより、ｋ番目の予測値データと、ｋ番目の指標値データと、ｋ番目の量子化幅データとが得られる。なお、ＣＮＮ計算部１１２を実現する第３のＣＮＮのパラメータは、最適化部１０４による最適化の対象となるパラメータである。
【００８７】
ステップＳ１０４：次に、量子化部１０２の誤差計算部１１３は、ｋ番目の予測値データと、ｋ番目の量子化幅データと、ｋ番目の分割データとを用いて、ｋ番目の誤差データを計算する。
【００８８】
具体的には、まず、誤差計算部１１３は、各ｉ＝１，・・・，Ｎ（ｋ）に対して、
【００８９】
【数１９】
2020053820.tif 000021
となるように
【００９０】
【数２０】
2020053820.tif 000022
を作成する。
【００９１】
次に、誤差計算部１１３は、各ｉ＝１，・・・，Ｎ（ｋ）に対して、
【００９２】
【数２１】
2020053820.tif 000023
となるように
【００９３】
【数２２】
2020053820.tif 000024
を作成する。これにより、ｋ番目の誤差データが計算される。
【００９４】
ステップＳ１０５：次に、量子化部１０２の量子化計算部１１４は、ｋ番目の分割データと、ｋ番目の誤差データと、ｋ番目の量子化幅データとを用いて、ｋ番目の量子化分割データを計算する。
【００９５】
具体的には、量子化部１０２は、各ｉ＝１，・・・，Ｎ（ｋ）に対して、
【００９６】
【数２３】
2020053820.tif 000025
とする。これにより、ｋ番目の量子化分割データが計算される。このとき、δｉ（ｋ）とｑｉ（ｋ）との積が量子化誤差を表す。
【００９７】
ここで、上記の数２３に示す式は、
【００９８】
【数２４】
2020053820.tif 000026
と変形することができる。すなわち、
【００９９】
【数２５】
2020053820.tif 000027
は、予測値μｉ（ｋ）と真値ｘｉ（ｋ）との差ξｉ（ｋ）ｑｉ（ｋ）を、量子化幅ｑｉ（ｋ）で量子化したものと言うことができる。また、上記の数２４により、
【０１００】
【数２６】
2020053820.tif 000028
は、ｘｉ（ｋ）に対して、区間［−０．５ｑｉ（ｋ），０．５ｑｉ（ｋ））の量子化誤差が入ったものと捉えることもできる。これにより、最適化部１０４による最適化では、量子化誤差を小さくするように（すなわち、量子化幅ｑｉ（ｋ）を小さくするように）パラメータを最適化する力が働く。
【０１０１】
ステップＳ１０６：次に、量子化部１０２の情報量計算部１１５は、ｋ番目の量子化分割データを算術符号化によって保存するのに必要なｋ番目の情報量Ｉ（ｋ）を計算する。
【０１０２】
具体的には、まず、情報量計算部１１５は、累積分布関数Ｃｕｍｉ（ｋ）を
【０１０３】
【数２７】
2020053820.tif 000029
で定義された関数とする。なお、累積分布関数は、一般に、確率密度関数を区間［−∞，ｘ］で積分した関数として定義される。したがって、上記の累積分布関数Ｃｕｍｉ（ｋ）は、所定の確率密度関数（例えば、μｉ（ｋ）を平均、σｉ（ｋ）の二乗を分散とする正規分布に対する確率密度関数等）を上記の数２７に示す区間で積分した関数を意味する。
【０１０４】
ここで、
【０１０５】
【数２８】
2020053820.tif 000030
は、ｘｉ（ｋ）＝−１として、上記のステップＳ１０４及びステップＳ１０５と同様の方法で、ｘｉ（ｋ）＝−１を量子化したものである。
【０１０６】
また、
【０１０７】
【数２９】
2020053820.tif 000031
は、ｘｉ（ｋ）＝１として、上記のステップＳ１０４及びステップＳ１０５と同様の方法で、ｘｉ（ｋ）＝１を量子化したものである。
【０１０８】
なお、累積分布関数Ｃｕｍｉ（ｋ）は、上述したように、予測値μｉ（ｋ）と評価値σｉ（ｋ）とによって決定される。ただし、予測値μｉ（ｋ）のみによって決定されても良い。
【０１０９】
このとき、累積分布関数Ｃｕｍｉ（ｋ）は増加関数であり、
【０１１０】
【数３０】
2020053820.tif 000032
を満たす。
【０１１１】
次に、情報量計算部１１５は、算術符号化の１つであるレンジ符号化に必要な上端（ｕｐｐｅｒｂｏｕｎｄ）と下端（ｌｏｗｅｒｂｏｕｎｄ）とを
【０１１２】
【数３１】
2020053820.tif 000033
と設定する。
【０１１３】
このとき、
【０１１４】
【数３２】
2020053820.tif 000034
の出現予測確率は、
【０１１５】
【数３３】
2020053820.tif 000035
で表される。これにより、最適化部１０４による最適化では、算術符号化による保存に必要な情報量を小さくするように（すなわち、量子化幅ｑｉ（ｋ）を大きくするように）パラメータを最適化する力が働く。
【０１１６】
したがって、情報量計算部１１５は、ｋ番目の情報量Ｉ（ｋ）を
【０１１７】
【数３４】
2020053820.tif 000036
により計算することができる。
【０１１８】
以上のステップＳ１０３〜ステップＳ１０６がｋ＝１からｋ＝Ｋまで順に繰り返し実行されることで、各ｋ番目の量子化分割データと、各情報量Ｉ（ｋ）とが得られる。すなわち、量子化中間データと、この量子化中間データの保存に必要な情報量Ｉ＝Ｉ（１）＋・・・＋Ｉ（Ｋ）とが得られる。これにより、算術符号化部１１６は、算術符号化によって量子化中間データを情報量Ｉ（より正確には、情報量Ｉに近い情報量）で保存することができる。ただし、最適化時には、量子化中間データは必ずしも保存されなくても良い。
【０１１９】
ステップＳ１０７：次に、統合部１０３は、量子化中間データを入力して、この量子化中間データを変換した復元データ（Ｃ０×Ｈ０×Ｗ０のサイズの３次元配列で表される画像データ）を出力する。なお、この統合部１０３を実現する第２のＣＮＮのパラメータは、最適化部１０４による最適化の対象となるパラメータである。
【０１２０】
ステップＳ１０８：最後に、最適化部１０４は、所定のｌｏｓｓ関数の値が最小となるように、第１のＣＮＮのパラメータと、第２のＣＮＮのパラメータと、第３のＣＮＮのパラメータと、第１のパラメータ〜第３のパラメータとを最適化する。ここで、ｌｏｓｓ関数としては、符号長が小さいほど小さい値をとり、かつ、統合部１０３が出力した復元データと元のデータ（つまり、圧縮対象データ）との歪みが小さいほど小さい値をとる任意の関数を用いることができる。例えば、ｌｏｓｓ関数として、以下の関数を用いることができる。
【０１２１】
【数３５】
2020053820.tif 000037
ここで、α、β及びγは予め決められた定数（ただし、０以外の定数とする。）である。α、β及びγとしては、例えば、α＝β＝γ＝１とすれば良い。
【０１２２】
また、ｂｉｔ＿ｌｅｎｇｔｈは、情報量計算部１１５により計算された情報量Ｉである。ＭＳＳＳＩＭ（multi-scale structural similarity）は、圧縮対象データと、復元データとのＭＳＳＳＩＭ値である。ＭＳＥ（mean squared error）は、圧縮対象データと復元データとで互いに対応する画素値（すなわち、互いに同じ位置にある画素の値（つまり、同じ高さ、幅、チャネルの画素の値））の平均二乗誤差である。なお、上記の数３５に示すｌｏｓｓ関数の勾配値は、誤差逆伝播法によって逆伝播された誤差（予測誤差）から計算することができる。ただし、量子化の演算は微分不可能な演算であるため、このｌｏｓｓ関数の勾配値は、量子化があることを無視して（つまり、ｘ＾の代わりにｘを使用して）、近似的な計算により算出される。
【０１２３】
これにより、第１のＣＮＮのパラメータと、第２のＣＮＮのパラメータと、第３のＣＮＮのパラメータと、第１のパラメータ〜第３のパラメータとが最適化される。このとき、上述したように、量子化誤差を小さくするように（すなわち、量子化幅ｑｉ（ｋ）を小さくするように）パラメータを最適化する力と、算術符号化による保存に必要な情報量を小さくするように（すなわち、量子化幅ｑｉ（ｋ）を大きくするように）パラメータを最適化する力とが働く。このように、パラメータの最適化時には、トレードオフの関係にある２つの力が働く。このトレードオフによって、適切な量子化幅ｑｉ（ｋ）を学習することができる。つまり、量子化誤差を小さくすると共に、保存に必要な情報量を小さくするように最適化されることで、適切な量子化幅ｑｉ（ｋ）が学習され、量子化幅データも最適化される。
【０１２４】
なお、ｌｏｓｓ関数として、上記の数３５に示すｌｏｓｓ関数を用いることで、ニューラルネットワークの構造の最適化に要する手間を削減することができると共に、使用時のメモリを削減することができるようになる。通常の歪みあり符号化の場合、或る符号長の制約をおくと、その符号長の制約に特化したｌｏｓｓ関数が定義され（つまり、異なる符号長の制約毎に異なるｌｏｓｓ関数が作成され）、それぞれのｌｏｓｓ関数毎に最適なニューラルネットワークの構造（例えば、層の数やチャネル数、ユニット数等）が異なる。このため、通常の歪みあり符号化では、ｌｏｓｓ関数毎にニューラルネットワークの最適化を行う必要がある。これに対して、本発明の実施の形態では、上記の数３５に示すｌｏｓｓ関数を用いて、このｌｏｓｓ関数が最小になるようにニューラルネットワークの構造を最適化することで、幅広い範囲の符号長の制約の下で高い性能（つまり、歪みが小さく、かつ、量子化・符号化されたデータの符号長が小さい）を達成することができる。また、この場合、学習後のニューラルネットワークを利用して符号化、復号化する際も符号長の制約毎に異なるニューラルネットワークを読み込む必要が無くなり、使用時に必要なメモリを削減することができる。
【０１２５】
以上により、本発明の実施の形態における変換器作成装置１０は、効率的な圧縮器と、この圧縮器に対応する復元器とを作成することができる。なお、上記のステップＳ１０８の最適化は、例えば、上記のステップＳ１０１〜ステップＳ１０７を異なる複数のサンプル（圧縮対象データ）を用いて繰り返し実行した後に実行されても良い。
【０１２６】
＜本発明の効果＞
本発明の効果について、図６を参照しながら説明する。図６は、本発明の効果の一例を示す図である。図６は、縦軸を１−ＭＳＳＳＩＭ、横軸をｂｐｐ（bits per pixel）とした場合における本発明の手法で得られた圧縮器と、従来手法で得られた圧縮器との比較結果である。１−ＭＳＳＳＩＭはその値が低い程、歪みが小さいことを表し、ｂｐｐはその値が低い程、圧縮率が高いことを表す。なお、ｂｐｐは、情報量ＩをＨ×Ｗで除算することで得られる。
【０１２７】
図６に示すように、本発明の手法で得られた圧縮器では、従来手法で得られた圧縮器と比較して、歪みが小さく、かつ、高い圧縮率が得られていることがわかる。なお、図６において、本発明の手法を示すグラフ中の数字は、第１のＣＮＮ及び第２のＣＮＮのチャネル数である。
【０１２８】
なお、図６の従来手法のうち、「Ｎｅｕｒａｌ  Ｍｕｌｔｉ−ｓｃａｌｅ」は、「Ｎｅｕｒａｌ  Ｍｕｌｔｉ−ｓｃａｌｅ  Ｉｍａｇｅ  Ｃｏｍｐｒｅｓｓｉｏｎ」のことである。また、「Ｊｏｈｏｎｓｔｏｎ  ｅｔ  ａｌ．」は、以下の参考文献１に記載されている手法のことである。
【０１２９】
［参考文献１］
Nick Johnston, Damien Vincent, David Minnen, Michele Covell, Saurabh Singh, Troy Chinen, Sung Jin Hwang, Joel Shor, and George Toderici. Improved lossy image compression with priming and spatially adaptive bit rates for recurrent networks. arXiv preprint arXiv:1703.10114, 2017.
＜変換器作成装置１０のハードウェア構成＞
最後に、本発明の実施の形態における変換器作成装置１０のハードウェア構成について、図７を参照しながら説明する。図７は、本発明の実施の形態における変換器作成装置１０のハードウェア構成の一例を示す図である。
【０１３０】
図７に示すように、本発明の実施の形態における変換器作成装置１０は、入力装置２０１と、表示装置２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、ＲＡＭ（Random Access Memory）２０５と、ＲＯＭ（Read Only Memory）２０６と、プロセッサ２０７と、補助記憶装置２０８とを有する。これら各ハードウェアは、バス２０９により通信可能に接続されている。
【０１３１】
入力装置２０１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置２０２は、例えばディスプレイ等であり、変換器作成装置１０の各種処理結果を表示する。
【０１３２】
外部Ｉ／Ｆ２０３は、外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。変換器作成装置１０は、外部Ｉ／Ｆ２０３を介して、記録媒体２０３ａ等の読み取りや書き込み等を行うことができる。記録媒体２０３ａには、変換器作成装置１０が有する各機能部（すなわち、分析部１０１、量子化部１０２、統合部１０３及び最適化部１０４）を実現する１以上のプログラム等が記録されていても良い。
【０１３３】
記録媒体２０３ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【０１３４】
通信Ｉ／Ｆ２０４は、変換器作成装置１０を通信ネットワークに接続するためのインタフェースである。変換器作成装置１０が有する各機能部を実現する１以上のプログラムは、通信Ｉ／Ｆ２０４を介して、所定のサーバ装置等から取得（ダウンロード）されても良い。
【０１３５】
ＲＡＭ２０５は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ２０６は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ２０６には、例えば、ＯＳ（Operating System）に関する設定や通信ネットワークに関する設定等が格納されている。
【０１３６】
プロセッサ２０７は、例えばＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等であり、ＲＯＭ２０６や補助記憶装置２０８等からプログラムやデータをＲＡＭ２０５上に読み出して処理を実行する演算装置である。変換器作成装置１０が有する各機能部は、例えば補助記憶装置２０８に格納されている１以上のプログラムがプロセッサ２０７に実行させる処理により実現される。なお、変換器作成装置１０は、プロセッサ２０７として、ＣＰＵとＧＰＵとの両方を有していても良いし、ＣＰＵ又はＧＰＵのいずれか一方のみを有していても良い。また、変換器作成装置１０は、例えば、ＦＰＧＡ（field-programmable gate array）等の専用の半導体チップを有していても良い。
【０１３７】
補助記憶装置２０８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置２０８には、例えば、ＯＳ、各種アプリケーションソフトウェア、変換器作成装置１０が有する各機能部を実現する１以上のプログラム等が格納されている。
【０１３８】
本発明の実施の形態における変換器作成装置１０は、図７に示すハードウェア構成を有することにより、上述した各種処理を実現することができる。なお、図７に示すハードウェア構成は一例であって、他の構成であっても良い。例えば、変換器作成装置１０は、入力装置２０１及び表示装置２０２のうちの少なくとも一方を有していなくても良い。
【０１３９】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１４０】
１０        変換器作成装置
１０１      分析部
１０２      量子化部
１０３      統合部
１０４      最適化部
１１１      分割部
１１２      ＣＮＮ計算部
１１３      誤差計算部
１１４      量子化計算部
１１５      情報量計算部
１１６      算術符号化部
【図１】
2020053820.tif 000039
【図２】
2020053820.tif 000040
【図３】
2020053820.tif 000041
【図４】
2020053820.tif 000042
【図５】
2020053820.tif 000043
【図６】
2020053820.tif 000044
【図７】
2020053820.tif 000045