JP2020022145A - 符号化装置、復号装置、学習装置及びプログラム - Google Patents

符号化装置、復号装置、学習装置及びプログラム Download PDF

Info

Publication number
JP2020022145A
JP2020022145A JP2018147190A JP2018147190A JP2020022145A JP 2020022145 A JP2020022145 A JP 2020022145A JP 2018147190 A JP2018147190 A JP 2018147190A JP 2018147190 A JP2018147190 A JP 2018147190A JP 2020022145 A JP2020022145 A JP 2020022145A
Authority
JP
Japan
Prior art keywords
layer
unit
code
network
encoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018147190A
Other languages
English (en)
Inventor
俊枝 三須
Toshie Misu
俊枝 三須
市ヶ谷 敦郎
Atsuro Ichigaya
敦郎 市ヶ谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2018147190A priority Critical patent/JP2020022145A/ja
Publication of JP2020022145A publication Critical patent/JP2020022145A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】ニューラルネットワークを用いて階層符号化を実現する際に、符号化効率の高い階層符号化を実現し、階層に応じた画質の画像を得る。【解決手段】符号化装置1aは、ニューラルネットワークにより構成されるエンコーダネットワーク11−1〜11−4及びデコーダネットワーク12−1〜12−3、並びに減算部10−1〜10−3及び符号出力部13を備える。第1〜3階層のオートエンコーダは、エンコーダネットワーク11−1〜11−3及びデコーダネットワーク12−1〜12−3によりそれぞれ構成される。第1〜3階層のオートエンコーダは、符号化対象信号または前階層の残差信号から第1〜3の階層符号及び第1〜3の部分復号信号を生成する。最終階層のエンコーダネットワーク11−4は、第4の階層符号を生成する。符号出力部13は、第1〜4の階層符号を統合化して符号を生成し、符号を復号装置2aへ出力する。【選択図】図2

Description

本発明は、信号の符号化装置、復号装置、学習装置及びプログラムに関し、特に、階層符号化の機能を有するニューラルネットワークを用いる技術に関する。
従来、ニューラルネットワークを用いた情報圧縮を実現する技術として、オートエンコーダが知られている。オートエンコーダは、多層パーセプトロンの素子数を中間層において入力層及び出力層よりも少なくし、かつ入力層の素子数と出力層の素子数を一致させ、入力層に与えた学習データと出力層から出力されるデータとができるだけ一致するように、学習が行われる。これにより、中間層において情報圧縮結果を得ることができる。
この情報圧縮技術を用いた例として、エンコーダ及びデコーダをいずれも畳み込みニューラルネットワーク(CNN)で構成し、エンコーダ出力において情報圧縮効果を得ることができる技術が開示されている(例えば、非特許文献1を参照)。
具体的には、エンコーダ及びデコーダは、エンコーダ出力のテンソルの要素数をエンコーダ入力のテンソルの要素数より少なくとり、デコーダ入力のテンソルの要素数をエンコーダ出力のテンソルの要素数と一致させるように構成される。さらに、エンコーダ入力のテンソルの要素数とデコーダ出力のテンソルの要素数を一致させるように構成される。そして、エンコーダ出力とデコーダ入力を接続しつつ、エンコーダ入力に学習データを与えたときのデコーダ出力が当該学習データとできるだけ一致するように学習が行われる。これにより、エンコーダ出力において情報圧縮効果を得ることができる。
一方、符号化装置及び復号装置において、階層符号化技術が知られている。階層符号化技術では、符号の一部を復号すると、低品質の信号を復元することができ、さらに、復号する符号を追加することにより、高品質の信号を復元することができる。
このような階層符号化技術を用いた例ではないが、階層的な処理を行う技術として、入力画像を帯域分割し、各帯域に対して別々のオートエンコーダを適用することにより、階層的に画像を符号化する技術が開示されている(例えば、特許文献1を参照)。
特開平2−280589号公報
George Toderici, et.al.,"Full Resolution Image Compression with Recurrent Neural Networks",arXiv:1608.05148v1 [cs.CV]18 Aug 2016.
オートエンコーダ単体による符号化技術、及び前述の非特許文献1の符号化技術は、復号信号の品質を調整するための手段を備えておらず、また、部分的な復号により品質を異にする信号を得るための階層符号化の機能を有していない。
階層符号化技術は、ある階層までに得られたある品質の信号と、入力信号との差分である残差信号をさらに符号化して次の階層の符号を得る。このとき、個々の階層で適用される符号化の方式は、いずれも同様の予め規定された処理手順(例えば、動画像の圧縮においては、動き予測、動き予測残差の直交変換、直交変換係数の量子化、及び量子化された係数のエントロピー符号化)に拠る。
本来、入力信号と残差信号とでは統計的な性質を異にするにもかかわらず、個々の階層での符号化処理が、予め規定された同様の処理手順で行われるため、符号化効率が低下してしまう。
前述の特許文献1の技術は、複数のオートエンコーダにより帯域別の符号化を行うことで、階層化を実現しているが、帯域分割の直交性が保証されない場合には、帯域間の成分の干渉がアーチファクトを生じさせる可能性がある。
また、オートエンコーダがロスレスでない場合には、低域成分の符号化において失われた情報をより高域成分の符号化において補完する処理を有しないため、高域成分まで用いて復号したとしても、低域で生じた符号化による劣化が依然残存する。低域成分における劣化は視覚的に感知しやすく、主観的な画質としての劣化が顕著となる。
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、ニューラルネットワークを用いて階層符号化を実現する際に、符号化効率の高い階層符号化を実現し、階層に応じた画質の画像を得ることが可能な符号化装置、復号装置、学習装置及びプログラムを提供することにある。
前記課題を解決するために、請求項1の符号化装置は、符号化対象信号を入力して符号に変換し、当該符号を出力する符号化装置において、1以上の所定数の階層処理部と、ニューラルネットワークにより構成されるエンコーダネットワークを有する最終階層処理部と、符号出力部と、を備え、前記階層処理部が、ニューラルネットワークによりそれぞれ構成されるエンコーダネットワーク及びデコーダネットワークからなるオートエンコーダにおける前記エンコーダネットワーク及び前記デコーダネットワーク、並びに減算部を有し、前記階層処理部の前記エンコーダネットワークが、当該階層処理部が第1階層である場合の前記符号化対象信号、または当該階層処理部が第2階層以上である場合の当該階層よりも1つ前の前階層の前記減算部により出力された前階層の残差信号に対しエンコーダの処理を行い、当該階層の階層符号を生成し、前記階層処理部の前記デコーダネットワークが、前記エンコーダネットワークにより生成された当該階層の前記階層符号に対しデコーダの処理を行い、当該階層の部分復号信号を生成し、前記階層処理部の前記減算部が、当該階層処理部が第1階層である場合の前記符号化対象信号、または当該階層処理部が第2階層以上である場合の前記前階層の前記残差信号と、前記デコーダネットワークにより生成された当該階層の前記部分復号信号との間の差分を演算し、当該階層の残差信号を生成し、前記最終階層処理部の前記エンコーダネットワークが、当該階層よりも1つ前の前記前階層の前記残差信号に対しエンコーダの処理を行い、最終階層の階層符号を生成し、前記符号出力部が、前記階層処理部の前記エンコーダネットワークにより生成された各階層の前記階層符号、及び前記最終階層処理部の前記エンコーダネットワークにより生成された前記最終階層の前記階層符号を統合化し、前記符号を生成して出力する、ことを特徴とする。
また、請求項2の符号化装置は、請求項1に記載の符号化装置において、前記階層処理部が、さらに量子化部及び逆量子化部を有し、前記最終階層処理部が、さらに量子化部を有し、前記階層処理部の前記量子化部が、前記エンコーダネットワークにより生成された当該階層の前記階層符号に対し量子化の処理を行い、当該階層の量子化後の前記階層符号を生成し、前記階層処理部の前記逆量子化部が、前記量子化部により生成された当該階層の量子化後の前記階層符号に対し、前記量子化の処理に対応する逆量子化の処理を行い、当該階層の逆量子化後の前記階層符号を生成し、前記最終階層処理部の前記量子化部が、前記エンコーダネットワークにより生成された前記最終階層の前記階層符号に対しエンコーダの処理を行い、前記最終階層の量子化後の前記階層符号を生成し、前記符号出力部が、前記階層処理部の前記量子化部により生成された各階層の量子化後の前記階層符号、及び前記最終階層処理部の前記量子化部により生成された前記最終階層の量子化後の前記階層符号を統合化し、前記符号を生成して出力する、ことを特徴とする。
さらに、請求項3の復号装置は、符号を入力して復号信号に変換し、当該復号信号を出力する復号装置において、符号入力部と、ニューラルネットワークにより構成されるデコーダネットワークを有する第1階層処理部と、1以上の所定数の階層処理部と、を備え、前記符号入力部が、前記符号を入力し、当該符号から階層毎の階層符号を分離し、前記第1階層処理部の前記デコーダネットワークが、前記符号入力部により分離された第1階層の前記階層符号に対しデコーダの処理を行い、前記第1階層の部分復号信号を生成し、当該部分復号信号を前記第1階層の復号信号として出力し、前記階層処理部が、ニューラルネットワークにより構成されるデコーダネットワーク、及び、第2階層以上の階層の復号信号を生成して出力する加算部を有し、前記階層処理部の前記デコーダネットワークが、前記符号入力部により分離された第2階層以上の階層の前記階層符号に対しデコーダの処理を行い、当該階層の部分復号信号を生成し、前記階層処理部の前記加算部が、前記デコーダネットワークにより生成された当該階層の前記部分復号信号と、当該階層よりも1つ前の前階層の前記復号信号とを加算し、当該階層の前記復号信号を生成して出力する、ことを特徴とする。
また、請求項4の復号装置は、請求項3に記載の復号装置において、前記第1階層処理部及び前記階層処理部のそれぞれが、さらに逆量子化部を有し、前記第1階層処理部の前記逆量子化部が、前記符号入力部により分離された前記第1階層の前記階層符号に対し逆量子化の処理を行い、前記第1階層の逆量子化後の前記階層符号を生成し、前記第1階層処理部の前記デコーダネットワークが、前記逆量子化部により生成された前記第1階層の逆量子化後の前記階層符号に対しデコーダの処理を行い、前記第1階層の部分復号信号を生成し、当該部分復号信号を前記第1階層の前記復号信号として出力し、前記階層処理部の前記逆量子化部が、前記符号入力部により分離された第2階層以上の階層の前記階層符号に対し逆量子化の処理を行い、当該階層の逆量子化後の前記階層符号を生成し、前記階層処理部の前記デコーダネットワークが、前記逆量子化部により生成された当該階層の逆量子化後の前記階層符号に対しデコーダの処理を行い、当該階層の部分復号信号を生成する、ことを特徴とする。
さらに、請求項5の学習装置は、学習用信号を入力し、当該学習用信号に基づいてニューラルネットワークの結合重み係数を含むパラメータを生成して出力する学習装置において、2以上の所定数の階層処理部を備え、前記階層処理部が、ニューラルネットワークによりそれぞれ構成されるエンコーダネットワーク及びデコーダネットワークからなるオートエンコーダにおける前記エンコーダネットワーク及び前記デコーダネットワーク、並びに減算部を有し、順伝播処理時に、前記エンコーダネットワークが、当該階層処理部が第1階層である場合の前記学習用信号、または当該階層処理部が第2階層以上の階層である場合の当該階層よりも1つ前の前階層の前記減算部により出力された前階層の残差信号に対しエンコーダの処理を行い、当該階層の階層符号を生成し、前記デコーダネットワークが、前記エンコーダネットワークにより生成された当該階層の前記階層符号に対しデコーダの処理を行い、当該階層の部分復号信号を生成し、前記減算部が、当該階層処理部が第1階層である場合の前記符号化対象信号、または当該階層処理部が第2階層以上の階層である場合の前記前階層の前記残差信号と、前記デコーダネットワークにより生成された当該階層の前記部分復号信号との間の差分を演算し、当該階層の残差信号を生成し、逆伝播処理時に、前記デコーダネットワークが、前記減算部から当該階層の前記残差信号を入力し、前記デコーダネットワーク及び前記エンコーダネットワークが、誤差逆伝播処理を行い、前記デコーダネットワーク及び前記エンコーダネットワークの前記パラメータをそれぞれ更新する、ことを特徴とする。
また、請求項6の学習装置は、請求項5に記載の学習装置において、前記階層処理部が、さらに量子化及び逆量子化部を備え、前記順伝播処理時に、前記量子化及び逆量子化部が、前記エンコーダネットワークにより生成された当該階層の前記階層符号に対し量子化及び逆量子化の処理を行い、当該階層の量子化及び逆量子化処理後の前記階層符号を生成し、当該階層処理部の前記デコーダネットワークが、前記量子化及び逆量子化部により生成された当該階層の量子化及び逆量子化後の前記階層符号に対しデコーダの処理を行い、当該階層の前記部分復号信号を生成する、ことを特徴とする。
また、請求項7の学習装置は、請求項5または6に記載の学習装置において、さらに、制御部及びパラメータ出力部と、を備え、前記制御部が、順伝播処理及び逆伝播処理を行うための指示信号を全ての階層の前記階層処理部に出力する指示信号出力処理を行い、前記順伝播処理及び前記逆伝播処理が完了すると、所定の終了条件を満たすか否かを判定し、前記所定の終了条件を満たさないと判定した場合、前記指示信号出力処理を行い、前記所定の終了条件を満たすと判定した場合、出力指示信号を前記パラメータ出力部に出力し、前記階層処理部が、前記制御部から前記指示信号を入力すると、前記順伝播処理及び前記逆伝播処理を行い、前記パラメータを更新し、当該パラメータを前記パラメータ出力部に出力し、前記パラメータ出力部が、前記制御部から前記出力指示信号を入力すると、前記階層処理部から入力した前記パラメータを最適なパラメータとして確定し、当該パラメータを出力する、ことを特徴とする。
さらに、請求項8の符号化装置は、請求項1または2に記載の符号化装置において、前記エンコーダネットワークは、請求項5から7までのいずれか一項に記載の学習装置により出力された前記パラメータを用いてエンコーダの処理を行い、前記デコーダネットワークは、請求項5から7までのいずれか一項に記載の学習装置により出力された前記パラメータを用いてデコーダの処理を行う、ことを特徴とする。
さらに、請求項9の復号装置は、請求項3または4に記載の復号装置において、前記デコーダネットワークは、請求項5から7までのいずれか一項に記載の学習装置により出力された前記パラメータを用いてデコーダの処理を行う、ことを特徴とする。
さらに、請求項10のプログラムは、コンピュータを、請求項1、2または8に記載の符号化装置として機能させることを特徴とする。
また、請求項11のプログラムは、コンピュータを、請求項3、4または9に記載の復号装置として機能させることを特徴とする。
また、請求項12のプログラムは、コンピュータを、請求項5から7までのいずれか一項に記載の学習装置として機能させることを特徴とする。
以上のように、本発明によれば、ニューラルネットワークを用いて階層符号化を実現する際に、符号化効率の高い階層符号化を実現し、階層に応じた画質の画像を得ることが可能となる。
本発明の符号化装置によれば、ニューラルネットワークの高い非線形性と表現力により、単位出力符号あたりでの符号化対象信号の再現性を高めつつ、オートエンコーダの階層化構成によって品質スケーラブルな信号表現が可能となる。
また、本発明の復号装置によれば、符号化装置により符号化された符号に対し、品質スケーラブルな復号を実現できる。
また、本発明の学習装置によれば、符号化装置及び復号装置のそれぞれ内部に設定される最適なパラメータを、各装置が良好に動作するよう学習用信号に基づいて生成することができる。
実施例1,2の符号化装置、復号装置及び学習装置を含む全体構成を示す概略図である。 実施例1の符号化装置の構成例を示すブロック図である。 実施例1の符号化装置の処理例を示すフローチャートである。 エンコーダネットワークの構成例を示す図である。 ニューラルネットワークを構成する素子の動作例を示す図である。 デコーダネットワークの構成例を示す図である。 実施例1の復号装置の構成例を示すブロック図である。 実施例1の復号装置の処理例を示すフローチャートである。 実施例1の学習装置の構成例を示すブロック図である。 実施例1の学習装置の処理例を示すフローチャートである。 制御部の処理例を示すフローチャートである。 オートエンコーダ群の順伝播処理例を示すフローチャートである。 オートエンコーダ群の逆伝播処理例を示すフローチャートである。 実施例2の符号化装置の構成例を示すブロック図である。 実施例2の復号装置の構成例を示すブロック図である。 実施例2の学習装置の構成例を示すブロック図である。 量子化及び逆量子化部の構成例を示すブロック図である。
以下、本発明を実施するための形態について図面を用いて詳細に説明する。図1は、実施例1,2の符号化装置、復号装置及び学習装置を含む全体構成を示す概略図である。
符号化装置1は、符号化対象信号を入力し、符号化対象信号を階層符号化して符号に変換し、符号を復号装置2へ出力する。復号装置2は、符号化装置1から符号を入力し、符号を階層復号して復号信号に変換し、例えば階層4の復号信号を出力する。
尚、復号装置2は、復号の進捗の度合いに応じて、精度の異なる複数の復号信号、例えば階層1,2,3,4の復号信号を出力するようにしてもよい。
学習装置3は、学習用信号を入力し、学習用信号に基づいて、符号化装置1及び復号装置2に用いる結合重み係数を含むパラメータを生成する。学習用信号は、符号化装置1が入力する符号化対象信号に対応した学習のための信号である。
符号化装置1及び復号装置2は、学習装置3により生成され送信されたパラメータを、例えばインターネットを介して受信するようにしてもよいし、ユーザの操作により、学習装置3により生成されたパラメータを入力するようにしてもよい。これにより、符号化装置1及び復号装置2において、パラメータが予め設定される。
尚、図1では、符号化装置1の出力と復号装置2の入力とが直結した構成となっているが、符号化装置1と復号装置2との間に、符号を伝送する伝送装置または符号を蓄積する蓄積装置を備えるように構成してもよい。
以下、本発明について実施例1,2を挙げて具体的に説明する。実施例1は、ニューラルネットワークにより構成されたエンコーダネットワーク及びデコーダネットワークを用いて、ニューラルネットワークによる階層符号化を実現する例である。実施例2は、実施例1において、さらに量子化の処理を行う例である。
〔実施例1〕
まず、実施例1について説明する。前述のとおり、実施例1は、ニューラルネットワークにより構成されたエンコーダネットワーク及びデコーダネットワークを用いて、ニューラルネットワークによる階層符号化を実現する例である。
(実施例1/符号化装置1)
実施例1の符号化装置1について説明する。図2は、実施例1の符号化装置1の構成例を示すブロック図であり、図3は、実施例1の符号化装置1の処理例を示すフローチャートである。
この符号化装置1aは、3個の減算部10−1〜10−3(総称して減算部10という。)、4個のエンコーダネットワーク11−1〜11−4(総称してエンコーダネットワーク11という。)、3個のデコーダネットワーク12−1〜12−3(総称してデコーダネットワーク12という。)、及び1個の符号出力部13を備えている。
減算部10−1、エンコーダネットワーク11−1及びデコーダネットワーク12−1により第1階層処理部が構成され、減算部10−2、エンコーダネットワーク11−2及びデコーダネットワーク12−2により第2階層処理部が構成される。また、減算部10−3、エンコーダネットワーク11−3及びデコーダネットワーク12−3により第3階層処理部が構成され、エンコーダネットワーク11−4により第4階層処理部(最終階層処理部)が構成される。
エンコーダネットワーク11−1及びデコーダネットワーク12−1、エンコーダネットワーク11−2及びデコーダネットワーク12−2、並びにエンコーダネットワーク11−3及びデコーダネットワーク12−3により、それぞれオートエンコーダが構成される。
尚、符号化装置1aは、図2の構成に限定されるものではなく、1個以上の所定数n1の減算部10、2個以上の所定数n2のエンコーダネットワーク11、1個以上の所定数n3のデコーダネットワーク12及び1個の符号出力部13を備えていればよい。
n1,n3は1以上の整数であり、n2は2以上の整数であり、n1=n3、n2=n3+1の関係が成立する。つまり、減算部10の数とデコーダネットワーク12の数は同じであり、エンコーダネットワーク11の数はデコーダネットワーク12の数よりも1個多い。
(エンコーダネットワーク11)
まず、エンコーダネットワーク11について詳細に説明する。図4は、エンコーダネットワーク11の構成例を示す図である。
エンコーダネットワーク11は、ニューラルネットワークにより構成される。例えば、エンコーダネットワーク11は、ニューラルネットワークとして多層パーセプトロンの構成をとることができる。
このとき、多層パーセプトロンの入力層の素子(図4の点線の丸印)の数よりも出力層の素子(図4の一点鎖線の丸印)の数を少なくすることで、エンコーダネットワーク11において情報圧縮を実現するようにしてもよい。
例えば、多層パーセプトロンの入力層のK個の素子(Kは2以上の整数)のそれぞれに、符号化対象信号の1サンプルのビット列(Kビット)をビット毎に2値データとして与えるようにしてもよい。
また、多層パーセプトロンの入力層の素子の数よりも出力層の素子の数を少なくしなくてもよい。この場合、エンコーダネットワーク11は、入力層の各素子に多値データ(例えば、3値以上の多値データ)を与え、出力層の素子から、入力層より少ない多値データ(例えば、2値データ)を出力するように構成することで、情報圧縮を実現する。
例えば、多層パーセプトロンの入力層のN個の素子(Nは2以上の整数)のそれぞれに、符号化対象信号のMサンプル(Mは1以上の整数)のLビットを、サンプル毎に2L値の多値データとして与えるようにしてもよい。
このほか、エンコーダネットワーク11は、入力層と出力層の各素子数、入力層への入力値の値数、及び出力層からの出力値の値数を組み合わせることにより、結果的に情報圧縮を実現するように構成してもよい。
図5は、ニューラルネットワークを構成する素子の動作例を示す図である。素子40は、N個の入力データx1〜xN(Nは1以上の整数)を入力し、1個の出力データyを出力する。Nの値は、ニューラルネットワークを構成する複数の素子のそれぞれで異なってもよいし、同じであってもよい。
素子40は、動作の前に、その動作を規定するパラメータとして結合重み係数a1〜aN、及び必要に応じてバイアス値bが設定されているものとする。また、素子40は、必要に応じて活性化関数φを適用するように動作させてもよい。
例えば、素子40は、以下の演算を行う。
Figure 2020022145
活性化関数φとしては、以下の恒等写像を用いることができる。
Figure 2020022145
また、以下の線形結合を用いることができる。
Figure 2020022145
ただし、cは非零の実定数、dは実定数である。
さらに、活性化関数φとしては、以下の数式(4)〜(12)に示す非線形関数を用いることもできる。以下の式(4)はランプ関数(または半波整流関数)(ReLU:Rectified Linear Unit)を示す。
Figure 2020022145
以下の式(5)はシグモイド関数を示す。
Figure 2020022145
以下の式(6)はステップ関数を示す。
Figure 2020022145
以下の式(7)は絶対値関数を示す。
Figure 2020022145
以下の式(8)はソフトプラス関数を示す。
Figure 2020022145
以下の式(9)はソフトサイン関数を示す。
Figure 2020022145
以下の式(10)は切断冪関数を示す。
Figure 2020022145
以下の式(11)は冪関数を示す。
Figure 2020022145
以下の式(12)は動径基底関数を示す。
Figure 2020022145
尚、多層パーセプトロンの入力層の各素子は、各入力データの値を単に分配するだけの機能(すなわち、恒等写像φ(z)=z)かつバイアス値b=0としても構わない。また、素子40に対し必要に応じて設定される活性化関数φは、素子毎に異なってもよいし、同じであってもよい。また、活性化関数φが設定されない素子が含まれても構わない。
(デコーダネットワーク12)
図2に戻って、次に、デコーダネットワーク12について詳細に説明する。図6は、デコーダネットワーク12の構成例を示す図である。
デコーダネットワーク12は、ニューラルネットワークによって構成される。例えば、デコーダネットワーク12は、ニューラルネットワークとして多層パーセプトロンの構成をとることができる。
デコーダネットワーク12の入力層の素子数は、エンコーダネットワーク11の出力層の素子数と同じとする。また、デコーダネットワーク12の出力層の素子数は、エンコーダネットワーク11の入力層の素子数と同じとする。
(符号化装置1aの構成及び処理)
図2及び図3に戻って、パラメータE1〜E4,D1〜D3は、後述する学習装置3aにより生成された結合重み係数及びバイアス値であり、予め設定される。
符号化装置1aが符号化対象信号を入力する(ステップS301)。エンコーダネットワーク11−1は、符号化対象信号に対しパラメータE1に基づいてエンコーダの処理を行い、処理結果を第1の階層符号としてデコーダネットワーク12−1及び符号出力部13に出力する(ステップS302)。
デコーダネットワーク12−1は、エンコーダネットワーク11−1から第1の階層符号を入力する。そして、デコーダネットワーク12−1は、第1の階層符号に対しパラメータD1に基づいてデコーダの処理を行い、処理結果を第1の部分復号信号として減算部10−1に出力する(ステップS303)。
減算部10−1は、符号化対象信号を入力すると共に、デコーダネットワーク12−1から第1の部分復号信号を入力する。そして、減算部10−1は、符号化対象信号と第1の部分復号信号との間の差分を演算し、演算結果を第1の残差信号としてエンコーダネットワーク11−2及び減算部10−2に出力する(ステップS304)。
エンコーダネットワーク11−2は、減算部10−1から第1の残差信号を入力し、第1の残差信号に対しパラメータE2に基づいてエンコーダの処理を行い、処理結果を第2の階層符号としてデコーダネットワーク12−2及び符号出力部13に出力する。
デコーダネットワーク12−2は、エンコーダネットワーク11−2から第2の階層符号を入力し、第2の階層符号に対しパラメータD2に基づいてデコーダの処理を行い、処理結果を第2の部分復号信号として減算部10−2に出力する。
減算部10−2は、減算部10−1から第1の残差信号を入力すると共に、デコーダネットワーク12−2から第2の部分復号信号を入力する。そして、減算部10−2は、第1の残差信号と第2の部分復号信号との間の差分を演算し、演算結果を第2の残差信号としてエンコーダネットワーク11−3及び減算部10−3に出力する。
エンコーダネットワーク11−3は、減算部10−2から第2の残差信号を入力し、第2の残差信号に対しパラメータE3に基づいてエンコーダの処理を行い、処理結果を第3の階層符号としてデコーダネットワーク12−3及び符号出力部13に出力する。
デコーダネットワーク12−3は、エンコーダネットワーク11−3から第3の階層符号を入力し、第3の階層符号に対しパラメータD3に基づいてデコーダの処理を行い、処理結果を第3の部分復号信号として減算部10−3に出力する。
減算部10−3は、減算部10−2から第2の残差信号を入力すると共に、デコーダネットワーク12−3から第3の部分復号信号を入力する。そして、減算部10−3は、第2の残差信号と第3の部分復号信号との間の差分を演算し、演算結果を第3の残差信号としてエンコーダネットワーク11−4に出力する。
エンコーダネットワーク11−4は、減算部10−3から第3の残差信号を入力する。そして、エンコーダネットワーク11−4は、第3の残差信号に対しパラメータE4に基づいてエンコーダの処理を行い、処理結果を第4の階層符号として符号出力部13に出力する(ステップS305)。
符号出力部13は、エンコーダネットワーク11−1〜11−4から第1〜4の階層符号をそれぞれ入力し、これらを統合化した符号を生成し(ステップS306)、符号を後述する復号装置2aへ出力する(ステップS307)。
符号出力部13は、例えば、第1の階層符号がK1ビット、第2の階層符号がK2ビット、第3の階層符号がK3ビット、第4の階層符号がK4ビットで構成される場合、第1〜4の階層符号を所定の順序で並べた(K1+K2+K3+K4)ビットのビット列を符号として生成する。
また、符号出力部13は、第1〜4の階層符号を統合化した上で、さらにエントロピー符号化を適用して符号を生成してもよい。
また、符号出力部13は、第1〜4の階層符号のそれぞれにエントロピー符号化を適用し、当該エントロピー符号化の各結果を統合化して符号を生成してもよい。エントロピー符号化としては、例えばハフマン符号化、算術符号化、またはこれらに基づいて派生した符号化方式(例えば、CAVLC、CABAC)のように、シンボル(ここでは、第1〜4の階層符号)の生起確率に応じて適応的に割り振られる符号化方式を用いてもよい。また、例えばゴロム符号のように、シンボルの生起確率が所定のもの(ゴロム符号にあっては幾何分布)であるとみなすものを用いてもよい。
また、符号出力部13は、第1〜4の階層符号をそれぞれ別々の伝送路を介して伝送し、または異なる伝送路符号化方式によりさらに符号化して伝送することを想定して、第1〜4の階層符号のそれぞれを別々の出力信号として出力してもよい。
また、符号出力部13は、第1〜4の階層符号の一部ずつをまとめたビット列を2個以上4個未満で構成し、これらのビット列をそれぞれ出力してもよい。
以上のように、実施例1の符号化装置1aによれば、エンコーダネットワーク11−1及びデコーダネットワーク12−1からなるオートエンコーダは、符号化対象信号から第1の階層符号及び第1の部分復号信号を生成し、減算部10−1は、符号化対象信号と第1の部分復号信号との間の差分を演算し、第1の残差信号を生成する。
同様に、エンコーダネットワーク11−2及びデコーダネットワーク12−2からなるオートエンコーダは、第1の残差信号から第2の階層符号及び第2の部分復号信号を生成し、減算部10−2は、第1の残差信号と第2の部分復号信号との間の差分を演算し、第2の残差信号を生成する。
同様に、エンコーダネットワーク11−3及びデコーダネットワーク12−3からなるオートエンコーダは、第2の残差信号から第3の階層符号及び第3の部分復号信号を生成し、減算部10−3は、第2の残差信号と第3の部分復号信号との間の差分を演算し、第3の残差信号を生成する。エンコーダネットワーク11−4は、第3の残差信号から第4の階層符号を生成する。
符号出力部13は、第1〜4の階層符号を統合化して符号を生成し、符号を後述する復号装置2aへ出力する。
これにより、符号化装置1aは、オートエンコーダの階層化構成により階層符号化を実現することができる。そして、後述する復号装置2aは、符号化装置1aの階層符号化に対応する階層復号を行うことにより、階層に応じた復号信号を得ることができる。つまり、より低階層の符号で生じた符号化による劣化を、より高階層の符号により補完することで、品質スケーラブルな階層符号化を実現することができる。
また、ニューラルネットワークの高い非線形性と表現力により、単位出力符号あたりでの符号化対象信号の再現性を高めつつ、オートエンコーダの階層化構成によって品質スケーラブルな信号表現が可能となる。また、エンコーダネットワーク11−1〜11−4及びデコーダネットワーク12−1〜12−3を構成するニューラルネットワークは、非線形処理を含み、かつその規模を大きく取ることも可能であり、信号または残差信号を少ない情報量で効率的に記述することが可能である。
したがって、ニューラルネットワークを用いて階層符号化を実現する際に、符号化効率の高い階層符号化(すなわち高画質の画像を得ることが可能な階層符号化)を実現し、階層に応じた画質の画像を得ることが可能となる。
(実施例1/復号装置2)
次に、実施例1の復号装置2について説明する。図7は、実施例1の復号装置2の構成例を示すブロック図であり、図8は、実施例1の復号装置2の処理例を示すフローチャートである。
この復号装置2aは、1個の符号入力部20、4個のデコーダネットワーク21−1〜21−4(総称してデコーダネットワーク21という。)及び3個の加算部22−1〜22−3(総称して加算部22という。)を備えている。
デコーダネットワーク21−1により第1階層処理部が構成され、デコーダネットワーク21−2及び加算部22−1により第2階層処理部が構成される。また、デコーダネットワーク21−3及び加算部22−2により第3階層処理部が構成され、デコーダネットワーク21−4及び加算部22−3により第4階層処理部が構成される。
尚、復号装置2aは、図7の構成に限定されるものではなく、2個以上の所定数n4のデコーダネットワーク21及び1個以上の所定数n5の加算部22を備えていればよい。
n4は2以上の整数であり、n5は1以上の整数であり、n4=n5+1の関係が成立する。つまり、デコーダネットワーク21の数は、加算部22よりも1個多い。図2に示した符号化装置1aとの関係では、デコーダネットワーク21の数とエンコーダネットワーク11の数は同じであり、加算部22の数と減算部10の数は同じである。
パラメータD1〜D4は、後述する学習装置3aにより生成された結合重み係数及びバイアス値であり、予め設定される。
符号入力部20は、符号化装置1aにより生成された符号を入力し(ステップS801)、符号から、図2に示した符号化装置1aの符号出力部13により統合化された第1〜4の階層符号を分離する(ステップS802)。そして、符号入力部20は、第1〜4の階層符号をデコーダネットワーク21−1〜21−4にそれぞれ出力する。
尚、符号出力部13においてエントロピー符号化を適用した場合には、符号入力部20は、その逆変換であるエントロピー復号を行うものとする。また、符号出力部13において伝送路符号化を適用した場合には、符号入力部20は、その逆変換である伝送路復号を行うものとする。
デコーダネットワーク21−1〜21−3は、図2に示したデコーダネットワーク12−1〜12−3と同じニューラルネットワークにより構成されるものとし、設定されるパラメータD1〜D3も同じである。
デコーダネットワーク21−1は、符号入力部20から第1の階層符号を入力する。そして、第1の階層符号に対しパラメータD1に基づいてデコーダの処理を行い、処理結果を第1の部分復号信号(階層1の復号信号)として加算部22−1に出力する(ステップS803)。
デコーダネットワーク21−2は、符号入力部20から第2の階層符号を入力する。そして、デコーダネットワーク21−2は、第2の階層符号に対しパラメータD2に基づいてデコーダの処理を行い、処理結果を第2の部分復号信号として加算部22−1に出力する(ステップS804)。
加算部22−1は、デコーダネットワーク21−1から階層1の復号信号を入力すると共に、デコーダネットワーク21−2から第2の部分復号信号を入力する。そして、加算部22−1は、階層1の復号信号に第2の部分復号信号を加算し、加算結果を階層2の復号信号として加算部22−2に出力する(ステップS805)。
デコーダネットワーク21−3は、符号入力部20から第3の階層符号を入力し、第3の階層符号に対しパラメータD3に基づいてデコーダの処理を行い、処理結果を第3の部分復号信号として加算部22−2に出力する。
加算部22−2は、加算部22−1から階層2の復号信号を入力すると共に、デコーダネットワーク21−3から第3の部分復号信号を入力する。そして、加算部22−2は、階層2の復号信号に第3の部分復号信号を加算し、加算結果を階層3の復号信号として加算部22−3に出力する。
デコーダネットワーク21−4は、符号入力部20から第4の階層符号を入力し、第4の階層符号に対しパラメータD4に基づいてデコーダの処理を行い、処理結果を第4の部分復号信号として加算部22−3に出力する。
加算部22−3は、加算部22−2から階層3の復号信号を入力すると共に、デコーダネットワーク21−4から第4の部分復号信号を入力する。そして、加算部22−3は、階層3の復号信号に第4の部分復号信号を加算し、加算結果を階層4の復号信号として出力する(ステップS806,S807)。
尚、復号装置2aは、精度の異なる複数の階層1,2,3,4の復号信号を外部へ出力するようにしてもよい。また、復号装置2aにより出力される階層1,2,3,4の復号信号は、パラメータD1〜D4が適切に設定されれば、階層数が多いほど、復号信号の品質が悪くなることはない。階層1,2,3,4の復号信号のうち階層4の復号信号の品質が最も良く、階層4,3,2,1の順に品質は低下する。
以上のように、実施例1の復号装置2aによれば、符号入力部20は、符号化装置1aにより生成された符号を入力し、符号から第1〜4の階層符号を分離する。デコーダネットワーク21−1は、第1の階層符号に対しパラメータD1に基づいてデコーダの処理を行い、第1の部分復号信号(階層1の復号信号)を生成する。同様に、デコーダネットワーク21−2〜21−4は、第2〜4の階層符号に対しパラメータD2〜D4に基づいて第2〜4の部分復号信号をそれぞれ生成する。
加算部22−1は、階層1の復号信号に第2の部分復号信号を加算し、階層2の復号信号を生成する。同様に、加算部22−2,22−3は、階層2,3の復号信号に第3,4の部分復号信号をそれぞれ加算し、階層3,4の復号信号を生成する。
これにより、復号装置2aは、符号化装置1aの階層符号化に対応する階層復号を行い、階層に応じた復号信号を得ることができる。つまり、より低階層の符号で生じた符号化による劣化を、より高階層の符号により補完することで、品質スケーラブルな階層符号化を実現することができる。
また、デコーダネットワーク21−1〜21−4を構成するニューラルネットワークは、非線形処理を含み、かつその規模を大きく取ることも可能であり、信号を少ない情報量で効率的に記述することが可能である。
したがって、ニューラルネットワークを用いて階層符号化を実現する際に、符号化効率の高い階層符号化を実現し、階層に応じた画質の画像を得ることが可能となる。
(実施例1/学習装置3)
次に、実施例1の学習装置3について説明する。図9は、実施例1の学習装置3の構成例を示すブロック図であり、図10は、実施例1の学習装置3の処理例を示すフローチャートである。この学習装置3aは、制御部30、オートエンコーダ群36a及びパラメータ出力部34を備えている。オートエンコーダ群36aは、エンコーダネットワーク31−1〜31−4、デコーダネットワーク32−1〜32−4及び減算部33−1〜33−4を備えている。
エンコーダネットワーク31−1、デコーダネットワーク32−1及び減算部33−1により第1階層処理部が構成され、エンコーダネットワーク31−2、デコーダネットワーク32−2及び減算部33−2により第2階層処理部が構成される。また、エンコーダネットワーク31−3、デコーダネットワーク32−3及び減算部33−3により第3階層処理部が構成され、エンコーダネットワーク31−4、デコーダネットワーク32−4及び減算部33−4により第4階層処理部が構成される。
エンコーダネットワーク31−1及びデコーダネットワーク32−1、エンコーダネットワーク31−2及びデコーダネットワーク32−2、エンコーダネットワーク31−3及びデコーダネットワーク32−3、並びにエンコーダネットワーク31−4及びデコーダネットワーク32−4により、それぞれオートエンコーダが構成される。
学習装置3aは、学習用信号を入力して学習処理を行い、パラメータD1〜D4,E1〜E4を生成して出力する。エンコーダネットワーク31−1〜31−4及びデコーダネットワーク32−1〜32−4には、暫定的なパラメータ(初期パラメータ)が予め設定されている。学習装置3aは、暫定的なパラメータを、例えば、乱数または擬似乱数によって設定してもよいし、予め定める数値の系列または定数を設定してもよい。
学習装置3aは、学習用信号を入力すると(ステップS1001)、制御部30による指示に従い、オートエンコーダ群36aにて順伝播処理を行う。そして、学習装置3aは、エンコーダネットワーク31−1〜31−4及びデコーダネットワーク32−1〜32−4のパラメータE1〜E4,D1〜D4を学習するための暫定的な残差信号を生成する(ステップS1002)。
学習装置3aは、ステップS1002の順伝播処理の後、オートエンコーダ群36aにて逆伝播処理を行い、暫定的な残差信号に基づいて、パラメータE1(r−1)〜E4(r−1),D1(r−1)〜D4(r−1)を更新する(ステップS1003)。これにより、新たなパラメータE1(r)〜E4(r),D1(r)〜D4(r)が生成される。
パラメータE1(r)〜E4(r),D1(r)〜D4(r)は、エンコーダネットワーク31−1〜31−4及びデコーダネットワーク32−1〜32−4において、ステップS1002の順伝播処理及びステップS1003の逆伝播処理をr回(rは0以上の整数)繰り返した後の値とする。尚、r=0のときのパラメータE1(0)〜E4(0),D1(0)〜D4(0)は、初期パラメータを意味するものとする。
学習装置3aは、所定の終了条件を満たすか否かを判定し(ステップS1004)、所定の条件を満たさないと判定した場合(ステップS1004:N)、ステップS1001へ移行する。これにより、所定の終了条件が満たされるまで、ステップS1001〜S1003の処理が繰り返される。所定の終了条件の詳細については後述する。
一方、学習装置3aは、ステップS1004において、所定の条件を満たすと判定した場合(ステップS1004:Y)、ステップS1005へ移行する。学習装置3aは、ステップS1003における更新後のパラメータD1(r)〜D4(r),E1(r)〜E4(r)をパラメータD1〜D4,E1〜E4として出力する(ステップS1005)。
このように、学習用信号の系列が入力される毎に、順伝播処理及び逆伝播処理が交互に各1回以上実行され、パラメータE1〜E4,D1〜D4が出力される。
(制御部30)
次に、制御部30の処理について説明する。図11は、制御部30の処理例を示すフローチャートである。学習装置3aによる学習処理が開始すると、制御部30は、順方向指示信号をオートエンコーダ群36aに出力する(ステップS1101)。
これにより、オートエンコーダ群36aにて順伝播処理が行われ、パラメータE1(r−1)〜E4(r−1),D1(r−1)〜D4(r−1)を更新するための暫定的な残差信号が生成される。
制御部30は、オートエンコーダ群36aによる順伝播処理が完了すると、逆方向指示信号をオートエンコーダ群36aに出力する(ステップS1102)。制御部30は、順伝播処理の完了を、例えば、全ての減算部33−1〜33−4から暫定的な残差信号を入力することで判断する。
これにより、オートエンコーダ群36aにて逆伝播処理が行われ、暫定的な残差信号に基づいて、パラメータE1(r−1)〜E4(r−1),D1(r−1)〜D4(r−1)が更新される。オートエンコーダ群36aは、更新後のパラメータE1(r)〜E4(r),D1(r)〜D4(r)をパラメータ出力部34に出力する。
制御部30は、オートエンコーダ群36aによる逆伝播処理が完了すると、所定の終了条件を満たすか否かを判定する(ステップS1103)。制御部30は、逆伝播処理の完了を、例えば、オートエンコーダ群36aからパラメータE1(r−1)〜E4(r−1),D1(r−1)〜D4(r−1)が更新されたことを示す信号を入力することで判断する。
制御部30は、ステップS1103において、終了条件を満たさないと判定した場合(ステップS1103:N)、ステップS1101へ移行する。これにより、所定の終了条件が満たされるまで、ステップS1101,S1102の指示信号出力処理が繰り返される。
一方、制御部30は、ステップS1103において、所定の条件を満たすと判定した場合(ステップS1103:Y)、出力指示信号をパラメータ出力部34に出力する(ステップS1104)。
パラメータ出力部34は、オートエンコーダ群36aからパラメータE1(r)〜E4(r),D1(r)〜D4(r)を入力する。パラメータ出力部34は、制御部30から出力指示信号を入力すると、最新に入力したパラメータE1(r)〜E4(r),D1(r)〜D4(r)を学習後の最適なパラメータE1〜E4,D1〜D4として確定し、パラメータE1〜E4,D1〜D4を出力する。
制御部30が出力する順方向指示信号及び逆方向指示信号は、学習装置3aが新たな学習用信号を入力する毎に、この順序で出力される。尚、1つの学習用信号を用いて複数の学習処理を行うようにしてもよい。この場合、順方向指示信号及び逆方向指示信号は、1つの学習用信号に対応して、この順序で2回以上の所定回数分出力される。
図10のステップS1004及び図11のステップS1103における所定の終了条件とは、例えば、制御部30が出力した順方向指示信号及び逆方向指示信号の対の数が所定数となった場合であってもよい。また、学習用信号を与える回数が所定数となった場合であってもよい。
また、所定の終了条件は、減算部33−1〜33−4により出力された暫定的な残差信号に基づいた評価値が所定値以下となった場合であってもよい。
具体的には、制御部30は、減算部33−1〜33−4から暫定的な残差信号をそれぞれ入力し、これらの残差信号の絶対値の総和を算出し、総和が所定値以下の場合に、終了条件を満たすと判定してもよい。この場合、制御部30は、これらの残差信号の絶対値の重み付き総和を算出し、重み付き総和が所定値以下の場合に、終了条件を満たすと判定してもよいし、総和及び重み付き総和の任意の組み合わせにより判定してもよい。
尚、制御部30は、順方向指示信号をオートエンコーダ群36aに出力することで、オートエンコーダ群36aに、全ての階層の構成部を同時に動作させてもよい。また、制御部30は、第1階層処理部用の順方向指示信号、第2階層処理部用の順方向指示信号、第3階層処理部用の順方向指示信号及び第4階層処理部用の順方向指示信号を、この順番に時間を空けて出力することで、オートエンコーダ群36aに、上流の階層から順番に動作させてもよい。
例えば、制御部30は、第1階層用の順方向指示信号を出力した後、第1階層の順伝播処理が完了したときに、第2階層用の順方向指示信号を出力するようにしてもよい。つまり、制御部30は、当該階層の順伝播処理が完了したときに、次の階層の順方向指示信号を出力する。
また、制御部30は、逆方向指示信号をオートエンコーダ群36aに出力することで、オートエンコーダ群36aに、全ての階層の構成部を同時に動作させてもよい。また、制御部30は、第1階層処理部用の逆方向指示信号、第2階層処理部用の逆方向指示信号、第3階層処理部用の逆方向指示信号及び第4階層処理部用の逆方向指示信号を、この順番に時間を空けて出力することで、オートエンコーダ群36aに、上流の階層から順番に動作させてもよい。
例えば、制御部30は、第1階層用の逆方向指示信号を出力した後、第1階層の逆伝播処理が完了したときに、第2階層用の逆方向指示信号を出力するようにしてもよい。つまり、制御部30は、当該階層の逆伝播処理が完了したときに、次の階層の逆方向指示信号を出力する。
(オートエンコーダ群36aの順伝播処理)
次に、オートエンコーダ群36aの順伝播処理について説明する。図12は、オートエンコーダ群36aの順伝播処理例を示すフローチャートである。以下、r回目(rは1以上の整数)の順伝播処理について説明する。
オートエンコーダ群36aは、制御部30から順方向指示信号を入力したか否かを判定する(ステップS1201)。オートエンコーダ群36aは、ステップS1201において、順方向指示信号を入力していないと判定した場合(ステップS1201:N)、順方向指示信号を入力するまで待つ。
オートエンコーダ群36aは、ステップS1201において、順方向指示信号を入力したと判定した場合(ステップS1201:Y)、学習用信号を入力し(ステップS1202)、以下の処理を行う。エンコーダネットワーク31−1〜31−4及びデコーダネットワーク32−1〜32−4は、順方向指示信号に従い、以下のように動作する。
エンコーダネットワーク31−1〜31−4は、図2に示したエンコーダネットワーク11−1〜11−4に対応し、デコーダネットワーク32−1〜32−3は、図2に示したデコーダネットワーク12−1〜12−3に対応する。また、デコーダネットワーク32−1〜32−4は、図7に示したデコーダネットワーク21−1〜21−4に対応する。
エンコーダネットワーク31−1は、学習用信号に対しパラメータE1(r−1)に基づいてエンコーダの処理を行い、処理結果を暫定的な第1の階層符号としてデコーダネットワーク32−1に出力する(ステップS1203)。
デコーダネットワーク32−1は、エンコーダネットワーク31−1から暫定的な第1の階層符号を入力する。そして、デコーダネットワーク32−1は、暫定的な第1の階層符号に対しパラメータD1(r−1)に基づいてデコーダの処理を行い、処理結果を暫定的な第1の部分復号信号として減算部33−1に出力する(ステップS1204)。
減算部33−1は、学習用信号を入力すると共に、デコーダネットワーク32−1から暫定的な第1の部分復号信号を入力する。そして、減算部33−1は、学習用信号と暫定的な第1の部分復号信号との間の差分を演算し、演算結果を暫定的な第1の残差信号としてエンコーダネットワーク31−2及びデコーダネットワーク32−1に出力する(ステップS1205)。
エンコーダネットワーク31−2は、減算部33−1から暫定的な第1の残差信号を入力する。そして、エンコーダネットワーク31−2は、暫定的な第1の残差信号に対しパラメータE2(r−1)に基づいてエンコーダの処理を行い、処理結果を暫定的な第2の階層符号としてデコーダネットワーク32−2に出力する。
デコーダネットワーク32−2は、エンコーダネットワーク31−2から暫定的な第2の階層符号を入力する。そして、デコーダネットワーク32−2は、暫定的な第2の階層符号に対しパラメータD2(r−1)に基づいてデコーダの処理を行い、処理結果を暫定的な第2の部分復号信号として減算部33−2に出力する。
減算部33−2は、減算部33−1から暫定的な第1の残差信号を入力すると共に、デコーダネットワーク32−2から暫定的な第2の部分復号信号を入力する。そして、減算部33−2は、暫定的な第1の残差信号と暫定的な第2の部分復号信号との間の差分を演算し、演算結果を暫定的な第2の残差信号としてエンコーダネットワーク31−3及びデコーダネットワーク32−2に出力する。
エンコーダネットワーク31−3は、減算部33−2から暫定的な第2の残差信号を入力する。そして、エンコーダネットワーク31−3は、暫定的な第2の残差信号に対しパラメータE3(r−1)に基づいてエンコーダの処理を行い、処理結果を暫定的な第3の階層符号としてデコーダネットワーク32−3に出力する。
デコーダネットワーク32−3は、エンコーダネットワーク31−3から暫定的な第3の階層符号を入力する。そして、デコーダネットワーク32−3は、暫定的な第3の階層符号に対しパラメータD3(r−1)に基づいてデコーダの処理を行い、処理結果を暫定的な第3の部分復号信号として減算部33−3に出力する。
減算部33−3は、減算部33−2から暫定的な第2の残差信号を入力すると共に、デコーダネットワーク32−3から暫定的な第3の部分復号信号を入力する。そして、減算部33−3は、暫定的な第2の残差信号と暫定的な第3の部分復号信号との間の差分を演算し、演算結果を暫定的な第3の残差信号としてエンコーダネットワーク31−4及びデコーダネットワーク32−3に出力する。
エンコーダネットワーク31−4は、減算部33−3から暫定的な第3の残差信号を入力する。そして、エンコーダネットワーク31−4は、暫定的な第3の残差信号に対しパラメータE4(r−1)に基づいてエンコーダの処理を行い、処理結果を暫定的な第4の階層符号としてデコーダネットワーク32−4に出力する。
デコーダネットワーク32−4は、エンコーダネットワーク31−4から暫定的な第4の階層符号を入力する。そして、デコーダネットワーク32−4は、暫定的な第4の階層符号に対しパラメータD4(r−1)に基づいてデコーダの処理を行い、処理結果を暫定的な第4の部分復号信号として減算部33−4に出力する。
減算部33−4は、減算部33−3から暫定的な第3の残差信号を入力すると共に、デコーダネットワーク32−4から暫定的な第4の部分復号信号を入力する。そして、減算部33−4は、暫定的な第3の残差信号と暫定的な第4の部分復号信号との間の差分を演算し、演算結果を暫定的な第4の残差信号としてデコーダネットワーク32−4に出力する(ステップS1206)。
このように、オートエンコーダ群36aの順伝播処理により、暫定的な第1〜4の残差信号が生成される。
(オートエンコーダ群36aの逆伝播処理)
次に、オートエンコーダ群36aの逆伝播処理について説明する。図13は、オートエンコーダ群36aの逆伝播処理例を示すフローチャートである。以下、r回目(rは1以上の整数)の逆伝播処理について説明する。
オートエンコーダ群36aは、制御部30から逆方向指示信号を入力したか否かを判定する(ステップS1301)。オートエンコーダ群36aは、ステップS1301において、逆方向指示信号を入力していないと判定した場合(ステップS1301:N)、逆方向指示信号を入力するまで待つ。
オートエンコーダ群36aは、ステップS1301において、逆方向指示信号を入力したと判定した場合(ステップS1301:Y)、以下のステップS1302〜S1304の処理を行う。エンコーダネットワーク31−1〜31−4及びデコーダネットワーク32−1〜32−4は、逆方向指示信号に従い、以下のように動作する。
デコーダネットワーク32−1は、減算部33−1から順伝播処理にて求めた暫定的な第1の残差信号を入力する(ステップS1302)。
デコーダネットワーク32−1は、暫定的な第1の残差信号をニューラルネットワークにおける誤差逆伝播法の誤差値(の符号反転値)と見なして、誤差逆伝搬処理を行い、誤差逆伝播処理結果の残差信号をエンコーダネットワーク31−1に出力する。
エンコーダネットワーク31−1は、デコーダネットワーク32−1から誤差逆伝播処理結果の残差信号を入力する。そして、エンコーダネットワーク31−1は、デコーダネットワーク32−1と同様に、当該残差信号をニューラルネットワークにおける誤差逆伝播法の誤差値(の符号反転値)と見なして、誤差逆伝搬処理を行う。
デコーダネットワーク32−1及びエンコーダネットワーク31−1は、パラメータD1(r−1),E1(r−1)を更新し、新たなパラメータD1(r),E1(r)を生成してパラメータ出力部34に出力する(ステップS1303)。
デコーダネットワーク32−2は、減算部33−2から順伝播処理にて求めた暫定的な第2の残差信号を入力する。
デコーダネットワーク32−2及びエンコーダネットワーク31−2は、デコーダネットワーク32−1及びエンコーダネットワーク31−1と同様に、暫定的な第2の残差信号をニューラルネットワークにおける誤差逆伝播法の誤差値(の符号反転値)と見なして、誤差逆伝搬処理を行う。そして、デコーダネットワーク32−2及びエンコーダネットワーク31−2は、パラメータD2(r−1),E2(r−1)を更新し、新たなパラメータD2(r),E2(r)を生成してパラメータ出力部34に出力する。
デコーダネットワーク32−3は、減算部33−3から順伝播処理にて求めた暫定的な第3の残差信号を入力する。
デコーダネットワーク32−3及びエンコーダネットワーク31−3は、デコーダネットワーク32−1及びエンコーダネットワーク31−1と同様に、暫定的な第3の残差信号をニューラルネットワークにおける誤差逆伝播法の誤差値(の符号反転値)と見なして、誤差逆伝搬処理を行う。そして、デコーダネットワーク32−3及びエンコーダネットワーク31−3は、パラメータD3(r−1),E3(r−1)を更新し、新たなパラメータD3(r),E3(r)を生成してパラメータ出力部34に出力する。
デコーダネットワーク32−4は、減算部33−4から順伝播処理にて求めた暫定的な第4の残差信号を入力する。
デコーダネットワーク32−4及びエンコーダネットワーク31−4は、デコーダネットワーク32−1及びエンコーダネットワーク31−1と同様に、暫定的な第4の残差信号をニューラルネットワークにおける誤差逆伝播法の誤差値(の符号反転値)と見なして、誤差逆伝搬処理を行う。そして、デコーダネットワーク32−4及びエンコーダネットワーク31−4は、パラメータD4(r−1),E4(r−1)を更新し、新たなパラメータD4(r),E4(r)を生成してパラメータ出力部34に出力する(ステップS1304)。
以上のように、実施例1の学習装置3aによれば、制御部30は、順方向指示信号をオートエンコーダ群36aに出力し、オートエンコーダ群36aは、順伝播処理を行い、暫定的な第1〜4の残差信号を生成する。制御部30は、逆方向指示信号をオートエンコーダ群36aに出力し、オートエンコーダ群36aは、暫定的な第1〜4の残差信号に基づいて逆伝播処理を行い、パラメータE1(r−1)〜E4(r−1),D1(r−1)〜D4(r−1)を更新する。これにより、新たなパラメータE1(r)〜E4(r),D1(r)〜D4(r)が生成される。
制御部30は、順方向指示信号及び逆方向指示信号の出力を繰り返し、所定の終了条件を満たす場合、出力指示信号をパラメータ出力部34に出力する。パラメータ出力部34は、オートエンコーダ群36aから入力したパラメータE1(r)〜E4(r),D1(r)〜D4(r)を最適なパラメータE1〜E4,D1〜D4として確定する。
これにより、符号化装置1a及び復号装置2aのそれぞれ内部に設定されるべきパラメータは、各装置が良好に動作するよう学習用信号に基づいて生成することができる。そして、符号化装置1a及び復号装置2aは、各階層の処理を、学習装置3aにより確定されたパラメータE1〜E4,D1〜D4を用いてニューラルネットワークにて実現するから、その挙動は最適なものとなる。
また、符号化装置1a及び復号装置2aにおいて、より低階層の符号で生じた符号化による劣化を、より高階層の符号により補完することで、品質スケーラブルな階層符号化を実現することができる。
したがって、ニューラルネットワークを用いて階層符号化を実現する際に、符号化効率の高い階層符号化を実現し、階層に応じた画質の画像を得ることが可能となる。
〔実施例2〕
次に、実施例2について説明する。前述のとおり、実施例2は、実施例1において、さらに量子化の処理を行う例である。
(実施例2/符号化装置1)
実施例2の符号化装置1について説明する。図14は、実施例2の符号化装置1の構成例を示すブロック図である。この符号化装置1bは、3個の減算部10−1〜10−3、4個のエンコーダネットワーク11−1〜11−4、3個のデコーダネットワーク12−1〜12−3及び1個の符号出力部13に加え、4個の量子化部14−1〜14−4(総称して量子化部14という。)及び3個の逆量子化部15−1〜15−3(総称して逆量子化部15をいう。)を備えている。図14において、Qは量子化の処理を示し、Q-1は逆量子化の処理を示す。
減算部10−1、エンコーダネットワーク11−1、デコーダネットワーク12−1、量子化部14−1及び逆量子化部15−1により第1階層処理部が構成され、減算部10−2、エンコーダネットワーク11−2、デコーダネットワーク12−2、量子化部14−2及び逆量子化部15−2により第2階層処理部が構成される。また、減算部10−3、エンコーダネットワーク11−3、デコーダネットワーク12−3、量子化部14−3及び逆量子化部15−3により第3階層処理部が構成され、エンコーダネットワーク11−4及び量子化部14−4により最終階層処理部が構成される。
尚、符号化装置1bは、図14の構成に限定されるものではなく、1個以上の所定数n1の減算部10、2個以上の所定数n2のエンコーダネットワーク11、1個以上の所定数n3のデコーダネットワーク12及び1個の符号出力部13に加え、2個以上の所定数n6の量子化部14、及び1個以上の所定数n7の逆量子化部15を備えていればよい。
n1,n3,n7は1以上の整数であり、n2,n6は2以上の整数である。n1=n3=n7、n2=n3+1、n6=n7+1の関係が成立する。つまり、減算部10、デコーダネットワーク12及び逆量子化部15の数は同じであり、エンコーダネットワーク11は、デコーダネットワーク12の数よりも1個多く、量子化部14の数も、逆量子化部15の数よりも1個多い。
図2に示した符号化装置1aと図14に示す符号化装置1bとを比較すると、両符号化装置1a,1bは、減算部10−1〜10−3、エンコーダネットワーク11−1〜11−4、デコーダネットワーク12−1〜12−3及び符号出力部13を備えている点で共通する。一方、符号化装置1bは、符号化装置1aの構成に加え、量子化部14−1〜14−4及び逆量子化部15−1〜15−3を備えている点で、符号化装置1aと相違する。
エンコーダネットワーク11−1、量子化部14−1、逆量子化部15−1及びデコーダネットワーク12−1により、量子化部14−1及び逆量子化部15−1を含むオートエンコーダが構成される。また、エンコーダネットワーク11−2、量子化部14−2、逆量子化部15−2及びデコーダネットワーク12−2により、量子化部14−2及び逆量子化部15−2を含むオートエンコーダが構成される。さらに、エンコーダネットワーク11−3、量子化部14−3、逆量子化部15−3及びデコーダネットワーク12−3により、量子化部14−3及び逆量子化部15−3を含むオートエンコーダが構成される。
(量子化部14)
量子化部14は、入力した信号値を離散的な数値に変換する。例えば、入力した信号値がスカラー値である場合には、量子化部14は、数直線を所定の規則で分割して各分割区間にそれぞれ唯一に割り振られた離散値(例えば整数値)を出力する。
また、入力した信号値がテンソル値(テンソルの概念には、スカラー、ベクトル及び行列が含まれる。以下同じ。)である場合には、量子化部14は、入力した信号値の各成分をそれぞれ離散的な数値に変換し、変換後のテンソル値を出力してもよい。また、量子化部14は、入力した信号値を、テンソル空間を所定の規則で分割した各領域に唯一に割り振られた離散的な数値に変換し、変換後のテンソル値を出力してもよい。これは、いわゆるベクトル量子化の処理である。
例えば、入力した信号値がスカラーの実数値pである場合に、量子化部14は、以下の式の演算を行い、整数値qを出力する。
Figure 2020022145
ここで、
Figure 2020022145
は、zより大きくない最大の整数を表す(床関数)。また、Rは実定数(例えば、R=0)、Qは正の実定数とする。Qの値を大きくするほど、量子化部14において粗い量子化が行われ、情報の損失は大きくなるが、出力値qのエントロピーは大きくならない。
(逆量子化部15)
逆量子化部15は、量子化部14に対応して、その逆変換を近似的に実行する。近似的とは、量子化誤差を含み得ることを意味する。例えば、量子化部14が、数直線上の各分割区間(または、テンソル空間上の各領域)にそれぞれ唯一に離散的数値を割り振っておいた上で、入力値がそのいずれの区間(または領域)に属するかを判定して、当該区間(または領域)に割り振られた離散的数値を出力する場合を想定する。この場合、逆量子化部15は、入力された離散的数値に対応する区間(または領域)の代表値(例えば、当該区間(または領域)の閉包の重心座標)を出力する。
例えば、量子化部14が、前記式(13)による量子化を実行する場合、逆量子化部15は、入力値qに対して以下の式の演算を行い、実数値sを出力する。
Figure 2020022145
(符号化装置1bの構成及び処理)
パラメータE1〜E4,D1〜D3は、後述する学習装置3bにより生成された結合重み係数及びバイアス値であり、予め設定される。
減算部10−1〜10−3、エンコーダネットワーク11−1〜11−4、デコーダネットワーク12−1〜12−3及び符号出力部13は、図2に示した実施例1の符号化装置1aと同様であるから、ここでは説明を省略する。
量子化部14−1は、エンコーダネットワーク11−1から第1の階層符号を入力し、第1の階層符号に対し量子化の処理を行い、量子化後の第1の階層符号を逆量子化部15−1及び符号出力部13に出力する。
逆量子化部15−1は、量子化部14−1から量子化後の第1の階層符号を入力し、量子化後の第1の階層符号に対し逆量子化の処理を行い、逆量子化後の第1の階層符号をデコーダネットワーク12−1に出力する。
量子化部14−2は、エンコーダネットワーク11−2から第2の階層符号を入力し、第2の階層符号に対し量子化の処理を行い、量子化後の第2の階層符号を逆量子化部15−2及び符号出力部13に出力する。
逆量子化部15−2は、量子化部14−2から量子化後の第2の階層符号を入力し、量子化後の第2の階層符号に対し逆量子化の処理を行い、逆量子化後の第2の階層符号をデコーダネットワーク12−2に出力する。
量子化部14−3は、エンコーダネットワーク11−3から第3の階層符号を入力し、第3の階層符号に対し量子化の処理を行い、量子化後の第3の階層符号を逆量子化部15−3及び符号出力部13に出力する。
逆量子化部15−3は、量子化部14−3から量子化後の第3の階層符号を入力し、量子化後の第3の階層符号に対し逆量子化の処理を行い、逆量子化後の第3の階層符号をデコーダネットワーク12−3に出力する。
量子化部14−4は、エンコーダネットワーク11−4から第4の階層符号を入力し、第4の階層符号に対し量子化の処理を行い、量子化後の第4の階層符号を符号出力部13に出力する。
尚、量子化部14−1〜14−4は、互いに異なる入出力関係を有するものを含んで動作してもよい(すなわち、異なるパラメータ(例えば、前記式(13)におけるQ及びR)により動作させるものを含んでもよい)。また、量子化部14−1〜14−4は、全て同一の入出力関係に基づいて動作してもよい。
以上のように、実施例2の符号化装置1bによれば、実施例1の符号化装置1aのエンコーダネットワーク11−1〜11−3とデコーダネットワーク12−1〜12−3との間に、量子化部14−1〜14−3及び逆量子化部15−1〜15−3をそれぞれ備えるようにした。また、エンコーダネットワーク11−4の後段に量子化部14−4を備えるようにした。
量子化部14−1〜14−4は、第1〜4の階層符号に対し量子化の処理を行い、量子化後の第1〜4の階層符号を生成し、逆量子化部15−1〜15−3は、量子化後の第1〜3の階層符号に対し逆量子化の処理を行い、逆量子化後の第1〜3の階層符号を生成する。
これにより、実施例1の符号化装置1aと同様の効果を奏し、符号化装置1bは、オートエンコーダの量子化を含む階層化構成により階層符号化を実現することができる。そして、後述する復号装置2bは、符号化装置1bの量子化及び階層符号化に対応する逆量子化及び階層復号を行うことにより、階層に応じた復号信号を得ることができる。
したがって、ニューラルネットワークを用いて階層符号化を実現する際に、符号化効率の高い階層符号化を実現し、階層に応じた画質の画像を得ることが可能となる。
(実施例2/復号装置2)
次に、実施例2の復号装置2について説明する。図15は、実施例2の復号装置2の構成例を示すブロック図である。この復号装置2bは、1個の符号入力部20、4個のデコーダネットワーク21−1〜21−4及び3個の加算部22−1〜22−3に加え、4個の逆量子化部23−1〜23−4(総称して逆量子化部23という。)を備えている。図15において、Q-1は逆量子化の処理を示す。
デコーダネットワーク21−1及び逆量子化部23−1により第1階層処理部が構成され、デコーダネットワーク21−2、加算部22−1及び逆量子化部23−2により第2階層処理部が構成される。また、デコーダネットワーク21−3、加算部22−2及び逆量子化部23−3により第3階層処理部が構成され、デコーダネットワーク21−4、加算部22−3及び逆量子化部23−4により第4階層処理部が構成される。
尚、復号装置2bは、図15の構成に限定されるものではなく、2個以上の所定数n4のデコーダネットワーク21及び1個以上の所定数n5の加算部22に加え、2個以上の所定数n8の逆量子化部23を備えていればよい。
n4,n8は2以上の整数であり、n5は1以上の整数であり、n4=n5+1,n8=n5+1の関係が成立する。つまり、デコーダネットワーク21及び逆量子化部23の数は、加算部22よりも1個多い。図14に示した符号化装置1bとの関係では、デコーダネットワーク21の数とエンコーダネットワーク11の数は同じであり、加算部22の数と減算部10の数は同じであり、さらに、逆量子化部23の数と量子化部14の数は同じである。
図7に示した復号装置2aと図15に示す復号装置2bとを比較すると、両復号装置2a,2bは、符号入力部20、デコーダネットワーク21−1〜21−4及び加算部22−1〜22−3を備えている点で共通する。一方、復号装置2bは、復号装置2aの構成に加え、逆量子化部23−1〜23−4を備えている点で、復号装置2aと相違する。
パラメータD1〜D4は、後述する学習装置3bにより生成された結合重み係数及びバイアス値であり、予め設定される。
符号入力部20、デコーダネットワーク21−1〜21−4及び加算部22−1〜22−3は、図7に示した実施例1の復号装置2aと同様であるから、ここでは説明を省略する。
逆量子化部23−1は、符号入力部20から第1の階層符号を入力する。そして、逆量子化部23−1は、図14に示した逆量子化部15−1と同一の入出力関係に基づいて、第1の階層符号に対し逆量子化の処理を行い、逆量子化後の第1の階層符号をデコーダネットワーク21−1に出力する。
逆量子化部23−2は、符号入力部20から第2の階層符号を入力する。そして、逆量子化部23−2は、図14に示した逆量子化部15−2と同一の入出力関係に基づいて、第2の階層符号に対し逆量子化の処理を行い、逆量子化後の第2の階層符号をデコーダネットワーク21−2に出力する。
逆量子化部23−3は、符号入力部20から第3の階層符号を入力する。そして、逆量子化部23−3は、図14に示した逆量子化部15−3と同一の入出力関係に基づいて、第3の階層符号に対し逆量子化の処理を行い、逆量子化後の第3の階層符号をデコーダネットワーク21−3に出力する。
逆量子化部23−4は、符号入力部20から第4の階層符号を入力する。そして、逆量子化部23−4は、図14に示した量子化部14−4に対応する逆量子化部として、第4の階層符号に対し逆量子化の処理を行い、逆量子化後の第4の階層符号をデコーダネットワーク21−4に出力する。
このように、図14に示した逆量子化部15−1及び図15に示す逆量子化部23−1は、同一の入出力関係に基づいて動作し、かつ、これらの動作は、図14に示した量子化部14−1に対応する逆量子化であるものとする。すなわち、逆量子化部15−1,23−1は、量子化部14−1と共通のパラメータ(例えば、前記式(13)及び前記式(14)におけるQ及びR)により処理を実行する。
また、図14に示した逆量子化部15−2及び図15に示す逆量子化部23−2は、同一の入出力関係に基づいて動作し、かつ、これらの動作は、図14に示した量子化部14−2に対応する逆量子化であるものとする。すなわち、逆量子化部15−2,23−2は、量子化部14−2と共通のパラメータにより処理を実行する。
また、図14に示した逆量子化部15−3及び図15に示す逆量子化部23−3は、同一の入出力関係に基づいて動作し、かつ、これらの動作は、図14に示した量子化部14−3に対応する逆量子化であるものとする。すなわち、逆量子化部15−3,23−3は、量子化部14−3と共通のパラメータにより処理を実行する。
また、図15に示す逆量子化部23−4の動作は、図14に示した量子化部14−4に対応する逆量子化であるものとする。すなわち、逆量子化部23−4は、量子化部14−4と共通のパラメータにより処理を実行する。
以上のように、実施例2の復号装置2bによれば、実施例1の復号装置2aの符号入力部20とデコーダネットワーク21−1〜21−4との間に、逆量子化部23−1〜23−4をそれぞれ備えるようにした。
逆量子化部23−1〜23−4は、第1〜4の階層符号に対し逆量子化の処理をそれぞれ行い、逆量子化後の第1〜4の階層符号を生成する。
これにより、実施例1の復号装置2aと同様の効果を奏し、復号装置2bは、符号化装置1bの量子化及び階層符号化に対応する逆量子化及び階層復号を行い、階層に応じた復号信号を得ることができる。
したがって、ニューラルネットワークを用いて階層符号化を実現する際に、符号化効率の高い階層符号化を実現し、階層に応じた画質の画像を得ることが可能となる。
(実施例2/学習装置3)
次に、実施例2の学習装置3について説明する。図16は、実施例2の学習装置3の構成例を示すブロック図である。この学習装置3bは、制御部30、オートエンコーダ群36b及びパラメータ出力部34を備えている。
図9に示した実施例1の学習装置3aと実施例2の学習装置3bとを比較すると、両学習装置3a,3bは、制御部30及びパラメータ出力部34を備えている点で共通する。一方、学習装置3bは、学習装置3aのオートエンコーダ群36aとは異なるオートエンコーダ群36bを備えている点で学習装置3aと相違する。
オートエンコーダ群36bは、エンコーダネットワーク31−1〜31−4、デコーダネットワーク32−1〜32−4及び減算部33−1〜33−4に加え、量子化及び逆量子化部35−1〜35−4(総称して量子化及び逆量子化部35という。)を備えている。図16において、Sは量子化及び逆量子化の処理を示す。
エンコーダネットワーク31−1、デコーダネットワーク32−1、減算部33−1及び量子化及び逆量子化部35−1により第1階層処理部が構成され、エンコーダネットワーク31−2、デコーダネットワーク32−2、減算部33−2及び量子化及び逆量子化部35−2により第2階層処理部が構成される。また、エンコーダネットワーク31−3、デコーダネットワーク32−3、減算部33−3及び量子化及び逆量子化部35−3により第3階層処理部が構成され、エンコーダネットワーク31−4、デコーダネットワーク32−4、減算部33−4及び量子化及び逆量子化部35−4により第4階層処理部が構成される。
図9に示したオートエンコーダ群36aとこのオートエンコーダ群36bとを比較すると、両オートエンコーダ群36a,36bは、エンコーダネットワーク31−1〜31−4、デコーダネットワーク32−1〜32−4及び減算部33−1〜33−4を備えている点で共通する。一方、オートエンコーダ群36bは、オートエンコーダ群36aの構成に加え、さらに量子化及び逆量子化部35−1〜35−4を備えている点でオートエンコーダ群36aと相違する。
エンコーダネットワーク31−1、量子化及び逆量子化部35−1、及びデコーダネットワーク32−1により、量子化及び逆量子化部35−1を含むオートエンコーダが構成される。また、エンコーダネットワーク31−2、量子化及び逆量子化部35−2、及びデコーダネットワーク32−2により、量子化及び逆量子化部35−2を含むオートエンコーダが構成される。また、エンコーダネットワーク31−3、量子化及び逆量子化部35−3、及びデコーダネットワーク32−3により、量子化及び逆量子化部35−3を含むオートエンコーダが構成される。さらに、エンコーダネットワーク31−4、量子化及び逆量子化部35−4、及びデコーダネットワーク32−4により、量子化及び逆量子化部35−4を含むオートエンコーダが構成される。
図16のとおり、量子化及び逆量子化部35−1〜35−4は、順伝播処理時に動作するように、エンコーダネットワーク31−1〜31−4とデコーダネットワーク32−1〜32−4との間にそれぞれ設けられている。量子化及び逆量子化部35−1〜35−4は、逆伝播処理時には動作しない。
学習装置3bは、図9に示した学習装置3aと同様に、学習用信号を入力して学習処理を行い、パラメータD1〜D4,E1〜E4を生成して出力する。
制御部30、パラメータ出力部34、及びオートエンコーダ群36bに備えたエンコーダネットワーク31−1〜31−4、デコーダネットワーク32−1〜32−4及び減算部33−1〜33−4は、図9に示した学習装置3aと同様であるから、ここでは説明を省略する。
図17は、量子化及び逆量子化部35の構成例を示すブロック図である。この量子化及び逆量子化部35は、量子化部37及び逆量子化部38を備えている。量子化部37は、図14に示した量子化部14に相当し、逆量子化部38は、図14に示した逆量子化部15及び図15に示した逆量子化部23に相当する。
量子化及び逆量子化部35は、量子化部14と逆量子化部15,23とをこの順序で縦続接続したときの変換と同一の変換を実行する。量子化及び逆量子化部35は、量子化部14と逆量子化部15,23とを縦続接続して実現してもよいし、縦続接続したときの合成関数を実行するように構成してもよい。
例えば、量子化部14が前記式(13)に従い、逆量子化部15,23が前記式(14)に従って処理を実行する場合には、量子化及び逆量子化部35は、入力値pに対して、以下の式にて演算し、出力値sを出力する。
Figure 2020022145
図16に戻って、量子化及び逆量子化部35−1は、順伝播処理において、エンコーダネットワーク31−1から暫定的な第1の階層符号を入力する。そして、量子化及び逆量子化部35−1は、暫定的な第1の階層符号に対し量子化及び逆量子化の処理を行い、量子化及び逆量子化処理後の暫定的な第1の階層符号をデコーダネットワーク32−1に出力する。
量子化及び逆量子化部35−2は、順伝播処理において、エンコーダネットワーク31−2から暫定的な第2の階層符号を入力する。そして、量子化及び逆量子化部35−2は、暫定的な第2の階層符号に対し量子化及び逆量子化の処理を行い、量子化及び逆量子化処理後の暫定的な第2の階層符号をデコーダネットワーク32−2に出力する。
量子化及び逆量子化部35−3は、順伝播処理において、エンコーダネットワーク31−3から暫定的な第3の階層符号を入力する。そして、量子化及び逆量子化部35−3は、暫定的な第3の階層符号に対し量子化及び逆量子化の処理を行い、量子化及び逆量子化処理後の暫定的な第3の階層符号をデコーダネットワーク32−3に出力する。
量子化及び逆量子化部35−4は、順伝播処理において、エンコーダネットワーク31−4から暫定的な第4の階層符号を入力する。そして、量子化及び逆量子化部35−4は、暫定的な第4の階層符号に対し量子化及び逆量子化の処理を行い、量子化及び逆量子化処理後の暫定的な第4の階層符号をデコーダネットワーク32−4に出力する。
このように、量子化及び逆量子化部35−1は、量子化部14−1及び逆量子化部15−1,23−1のこの順序による縦続接続と同一の入出力関係に基づいて動作する。すなわち、量子化及び逆量子化部35−1は、量子化部14−1等と共通のパラメータ(例えば、前記式(13)及び前記式(15)におけるQ及びR)により処理を実行する。
また、量子化及び逆量子化部35−2は、量子化部14−2及び逆量子化部15−2,23−2のこの順序による縦続接続と同一の入出力関係に基づいて動作する。すなわち、量子化及び逆量子化部35−2は、量子化部14−2等と共通のパラメータにより処理を実行する。
また、量子化及び逆量子化部35−3は、量子化部14−3及び逆量子化部15−3,23−3のこの順序による縦続接続と同一の入出力関係に基づいて動作する。すなわち、量子化及び逆量子化部35−3は、量子化部14−3等と共通のパラメータにより処理を実行する。
また、量子化及び逆量子化部35−4は、量子化部14−4及び逆量子化部23−4のこの順序による縦続接続と同一の入出力関係に基づいて動作する。すなわち、量子化及び逆量子化部35−4は、量子化部14−4等と共通のパラメータにより処理を実行する。
以上のように、実施例2の学習装置3bによれば、実施例1の学習装置3aのエンコーダネットワーク31−1〜31−4とデコーダネットワーク32−1〜32−4との間に、量子化及び逆量子化部35−1〜35−4をそれぞれ備えるようにした。
量子化及び逆量子化部35−1〜35−4は、順伝播処理において、エンコーダネットワーク31−1〜31−4により生成された暫定的な第1〜4の階層符号に対し量子化及び逆量子化の処理を行い、量子化及び逆量子化後の暫定的な第1〜4の階層符号を生成してデコーダネットワーク32−1〜32−4に出力する。
これにより、実施例1の学習装置3aと同様の効果を奏し、符号化装置1b及び復号装置2bは、各階層の処理を、学習装置3bにより確定されたパラメータE1〜E4,D1〜D4を用いてニューラルネットワークにて実現するから、その挙動は最適なものとなる。
したがって、ニューラルネットワークを用いて階層符号化を実現する際に、符号化効率の高い階層符号化を実現し、階層に応じた画質の画像を得ることが可能となる。
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
尚、実施例1,2による符号化装置1a,1b、復号装置2a,2b及び学習装置3a,3bのハードウェア構成としては、通常のコンピュータを使用することができる。符号化装置1a,1b、復号装置2a,2b及び学習装置3a,3bは、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
符号化装置1aに備えた減算部10−1〜10−3、エンコーダネットワーク11−1〜11−4、デコーダネットワーク12−1〜12−3及び符号出力部13の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、符号化装置1bに備えた減算部10−1〜10−3、エンコーダネットワーク11−1〜11−4、デコーダネットワーク12−1〜12−3、符号出力部13、量子化部14−1〜14−4及び逆量子化部15−1〜15−3の各機能も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
復号装置2aに備えた符号入力部20、デコーダネットワーク21−1〜21−4及び加算部22−1〜22−3の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、復号装置2bに備えた符号入力部20、逆量子化部23−1〜23−4、デコーダネットワーク21−1〜21−4及び加算部22−1〜22−3の各機能も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
学習装置3aに備えた制御部30、オートエンコーダ群36a及びパラメータ出力部34の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、学習装置3bに備えた制御部30、オートエンコーダ群36b及びパラメータ出力部34の各機能も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
1,1a,1b 符号化装置
2,2a,2b 復号装置
3,3a,3b 学習装置
10−1,10−2,10−3 減算部
11,11−1,11−2,11−3,11−4 エンコーダネットワーク
12,12−1,12−2,12−3 デコーダネットワーク
13 符号出力部
14,14−1,14−2,14−3,14−4 量子化部
15,15−1,15−2,15−3 逆量子化部
20 符号入力部
21−1,21−2,21−3,21−4 デコーダネットワーク
22−1,22−2,22−3 加算部
23−1,23−2,23−3,23−4 逆量子化部
30 制御部
31−1,31−2,31−3,31−4 エンコーダネットワーク
32−1,32−2,32−3,32−4 デコーダネットワーク
33−1,33−2,33−3,33−4 減算部
34 パラメータ出力部
35−1,35−2,35−3,35−4 量子化及び逆量子化部
36a,36b オートエンコーダ群
37 量子化部
38 逆量子化部
40 素子

Claims (12)

  1. 符号化対象信号を入力して符号に変換し、当該符号を出力する符号化装置において、
    1以上の所定数の階層処理部と、ニューラルネットワークにより構成されるエンコーダネットワークを有する最終階層処理部と、符号出力部と、を備え、
    前記階層処理部は、
    ニューラルネットワークによりそれぞれ構成されるエンコーダネットワーク及びデコーダネットワークからなるオートエンコーダにおける前記エンコーダネットワーク及び前記デコーダネットワーク、並びに減算部を有し、
    前記階層処理部の前記エンコーダネットワークは、
    当該階層処理部が第1階層である場合の前記符号化対象信号、または当該階層処理部が第2階層以上である場合の当該階層よりも1つ前の前階層の前記減算部により出力された前階層の残差信号に対しエンコーダの処理を行い、当該階層の階層符号を生成し、
    前記階層処理部の前記デコーダネットワークは、
    前記エンコーダネットワークにより生成された当該階層の前記階層符号に対しデコーダの処理を行い、当該階層の部分復号信号を生成し、
    前記階層処理部の前記減算部は、
    当該階層処理部が第1階層である場合の前記符号化対象信号、または当該階層処理部が第2階層以上である場合の前記前階層の前記残差信号と、前記デコーダネットワークにより生成された当該階層の前記部分復号信号との間の差分を演算し、当該階層の残差信号を生成し、
    前記最終階層処理部の前記エンコーダネットワークは、
    当該階層よりも1つ前の前記前階層の前記残差信号に対しエンコーダの処理を行い、最終階層の階層符号を生成し、
    前記符号出力部は、
    前記階層処理部の前記エンコーダネットワークにより生成された各階層の前記階層符号、及び前記最終階層処理部の前記エンコーダネットワークにより生成された前記最終階層の前記階層符号を統合化し、前記符号を生成して出力する、ことを特徴とする符号化装置。
  2. 請求項1に記載の符号化装置において、
    前記階層処理部は、さらに量子化部及び逆量子化部を有し、
    前記最終階層処理部は、さらに量子化部を有し、
    前記階層処理部の前記量子化部は、
    前記エンコーダネットワークにより生成された当該階層の前記階層符号に対し量子化の処理を行い、当該階層の量子化後の前記階層符号を生成し、
    前記階層処理部の前記逆量子化部は、
    前記量子化部により生成された当該階層の量子化後の前記階層符号に対し、前記量子化の処理に対応する逆量子化の処理を行い、当該階層の逆量子化後の前記階層符号を生成し、
    前記最終階層処理部の前記量子化部は、
    前記エンコーダネットワークにより生成された前記最終階層の前記階層符号に対しエンコーダの処理を行い、前記最終階層の量子化後の前記階層符号を生成し、
    前記符号出力部は、
    前記階層処理部の前記量子化部により生成された各階層の量子化後の前記階層符号、及び前記最終階層処理部の前記量子化部により生成された前記最終階層の量子化後の前記階層符号を統合化し、前記符号を生成して出力する、ことを特徴とする符号化装置。
  3. 符号を入力して復号信号に変換し、当該復号信号を出力する復号装置において、
    符号入力部と、ニューラルネットワークにより構成されるデコーダネットワークを有する第1階層処理部と、1以上の所定数の階層処理部と、を備え、
    前記符号入力部は、
    前記符号を入力し、当該符号から階層毎の階層符号を分離し、
    前記第1階層処理部の前記デコーダネットワークは、
    前記符号入力部により分離された第1階層の前記階層符号に対しデコーダの処理を行い、前記第1階層の部分復号信号を生成し、当該部分復号信号を前記第1階層の復号信号として出力し、
    前記階層処理部は、
    ニューラルネットワークにより構成されるデコーダネットワーク、及び、第2階層以上の階層の復号信号を生成して出力する加算部を有し、
    前記階層処理部の前記デコーダネットワークは、
    前記符号入力部により分離された第2階層以上の階層の前記階層符号に対しデコーダの処理を行い、当該階層の部分復号信号を生成し、
    前記階層処理部の前記加算部は、
    前記デコーダネットワークにより生成された当該階層の前記部分復号信号と、当該階層よりも1つ前の前階層の前記復号信号とを加算し、当該階層の前記復号信号を生成して出力する、ことを特徴とする復号装置。
  4. 請求項3に記載の復号装置において、
    前記第1階層処理部及び前記階層処理部のそれぞれは、さらに逆量子化部を有し、
    前記第1階層処理部の前記逆量子化部は、
    前記符号入力部により分離された前記第1階層の前記階層符号に対し逆量子化の処理を行い、前記第1階層の逆量子化後の前記階層符号を生成し、
    前記第1階層処理部の前記デコーダネットワークは、
    前記逆量子化部により生成された前記第1階層の逆量子化後の前記階層符号に対しデコーダの処理を行い、前記第1階層の部分復号信号を生成し、当該部分復号信号を前記第1階層の前記復号信号として出力し、
    前記階層処理部の前記逆量子化部は、
    前記符号入力部により分離された第2階層以上の階層の前記階層符号に対し逆量子化の処理を行い、当該階層の逆量子化後の前記階層符号を生成し、
    前記階層処理部の前記デコーダネットワークは、
    前記逆量子化部により生成された当該階層の逆量子化後の前記階層符号に対しデコーダの処理を行い、当該階層の部分復号信号を生成する、ことを特徴とする復号装置。
  5. 学習用信号を入力し、当該学習用信号に基づいてニューラルネットワークの結合重み係数を含むパラメータを生成して出力する学習装置において、
    2以上の所定数の階層処理部を備え、
    前記階層処理部は、
    ニューラルネットワークによりそれぞれ構成されるエンコーダネットワーク及びデコーダネットワークからなるオートエンコーダにおける前記エンコーダネットワーク及び前記デコーダネットワーク、並びに減算部を有し、
    順伝播処理時に、
    前記エンコーダネットワークが、当該階層処理部が第1階層である場合の前記学習用信号、または当該階層処理部が第2階層以上の階層である場合の当該階層よりも1つ前の前階層の前記減算部により出力された前階層の残差信号に対しエンコーダの処理を行い、当該階層の階層符号を生成し、
    前記デコーダネットワークが、前記エンコーダネットワークにより生成された当該階層の前記階層符号に対しデコーダの処理を行い、当該階層の部分復号信号を生成し、
    前記減算部が、当該階層処理部が第1階層である場合の前記符号化対象信号、または当該階層処理部が第2階層以上の階層である場合の前記前階層の前記残差信号と、前記デコーダネットワークにより生成された当該階層の前記部分復号信号との間の差分を演算し、当該階層の残差信号を生成し、
    逆伝播処理時に、
    前記デコーダネットワークが、前記減算部から当該階層の前記残差信号を入力し、
    前記デコーダネットワーク及び前記エンコーダネットワークが、誤差逆伝播処理を行い、前記デコーダネットワーク及び前記エンコーダネットワークの前記パラメータをそれぞれ更新する、ことを特徴とする学習装置。
  6. 請求項5に記載の学習装置において、
    前記階層処理部は、さらに量子化及び逆量子化部を備え、
    前記順伝播処理時に、
    前記量子化及び逆量子化部が、前記エンコーダネットワークにより生成された当該階層の前記階層符号に対し量子化及び逆量子化の処理を行い、当該階層の量子化及び逆量子化処理後の前記階層符号を生成し、
    当該階層処理部の前記デコーダネットワークが、前記量子化及び逆量子化部により生成された当該階層の量子化及び逆量子化後の前記階層符号に対しデコーダの処理を行い、当該階層の前記部分復号信号を生成する、ことを特徴とする学習装置。
  7. 請求項5または6に記載の学習装置において、
    さらに、制御部及びパラメータ出力部と、を備え、
    前記制御部は、
    順伝播処理及び逆伝播処理を行うための指示信号を全ての階層の前記階層処理部に出力する指示信号出力処理を行い、
    前記順伝播処理及び前記逆伝播処理が完了すると、所定の終了条件を満たすか否かを判定し、前記所定の終了条件を満たさないと判定した場合、前記指示信号出力処理を行い、前記所定の終了条件を満たすと判定した場合、出力指示信号を前記パラメータ出力部に出力し、
    前記階層処理部は、
    前記制御部から前記指示信号を入力すると、前記順伝播処理及び前記逆伝播処理を行い、前記パラメータを更新し、当該パラメータを前記パラメータ出力部に出力し、
    前記パラメータ出力部は、
    前記制御部から前記出力指示信号を入力すると、前記階層処理部から入力した前記パラメータを最適なパラメータとして確定し、当該パラメータを出力する、ことを特徴とする学習装置。
  8. 請求項1または2に記載の符号化装置において、
    前記エンコーダネットワークは、請求項5から7までのいずれか一項に記載の学習装置により出力された前記パラメータを用いてエンコーダの処理を行い、
    前記デコーダネットワークは、請求項5から7までのいずれか一項に記載の学習装置により出力された前記パラメータを用いてデコーダの処理を行う、ことを特徴とする符号化装置。
  9. 請求項3または4に記載の復号装置において、
    前記デコーダネットワークは、請求項5から7までのいずれか一項に記載の学習装置により出力された前記パラメータを用いてデコーダの処理を行う、ことを特徴とする復号装置。
  10. コンピュータを、請求項1、2または8に記載の符号化装置として機能させるためのプログラム。
  11. コンピュータを、請求項3、4または9に記載の復号装置として機能させるためのプログラム。
  12. コンピュータを、請求項5から7までのいずれか一項に記載の学習装置として機能させるためのプログラム。
JP2018147190A 2018-08-03 2018-08-03 符号化装置、復号装置、学習装置及びプログラム Pending JP2020022145A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018147190A JP2020022145A (ja) 2018-08-03 2018-08-03 符号化装置、復号装置、学習装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018147190A JP2020022145A (ja) 2018-08-03 2018-08-03 符号化装置、復号装置、学習装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2020022145A true JP2020022145A (ja) 2020-02-06

Family

ID=69588818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018147190A Pending JP2020022145A (ja) 2018-08-03 2018-08-03 符号化装置、復号装置、学習装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2020022145A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021033705A (ja) * 2019-08-26 2021-03-01 株式会社東芝 異常判定装置、学習装置、および、異常判定方法
WO2022249655A1 (ja) * 2021-05-24 2022-12-01 ソニーグループ株式会社 情報処理システム、情報処理装置及び情報処理方法
JP2023506057A (ja) * 2020-09-03 2023-02-14 テンセント・アメリカ・エルエルシー イントラ予測残差を用いたマルチスケールニューラル画像圧縮のための方法および装置、およびコンピュータプログラム
JP7434605B2 (ja) 2021-04-14 2024-02-20 テンセント・アメリカ・エルエルシー メタ学習によるスムーズな品質制御を用いた適応ニューラル画像圧縮のための方法、装置、非一時的コンピュータ可読媒体、およびコンピュータプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09172643A (ja) * 1995-12-19 1997-06-30 Kokusai Denshin Denwa Co Ltd <Kdd> 階層符号化装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09172643A (ja) * 1995-12-19 1997-06-30 Kokusai Denshin Denwa Co Ltd <Kdd> 階層符号化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHENGXUE CHENG ET AL.: "Deep Convolutional AutoEncoder-based Lossy Image Compression", 2018 PICTURE CODING SYMPOSIUM (PCS), JPN6022019537, 24 June 2018 (2018-06-24), pages 253 - 257, XP033398631, ISSN: 0004776874, DOI: 10.1109/PCS.2018.8456308 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021033705A (ja) * 2019-08-26 2021-03-01 株式会社東芝 異常判定装置、学習装置、および、異常判定方法
JP2023506057A (ja) * 2020-09-03 2023-02-14 テンセント・アメリカ・エルエルシー イントラ予測残差を用いたマルチスケールニューラル画像圧縮のための方法および装置、およびコンピュータプログラム
JP7434605B2 (ja) 2021-04-14 2024-02-20 テンセント・アメリカ・エルエルシー メタ学習によるスムーズな品質制御を用いた適応ニューラル画像圧縮のための方法、装置、非一時的コンピュータ可読媒体、およびコンピュータプログラム
WO2022249655A1 (ja) * 2021-05-24 2022-12-01 ソニーグループ株式会社 情報処理システム、情報処理装置及び情報処理方法

Similar Documents

Publication Publication Date Title
JP2020022145A (ja) 符号化装置、復号装置、学習装置及びプログラム
JP4792257B2 (ja) 適応算術復号化方法及び適応算術復号化装置
JP2783534B2 (ja) 符号化装置
JP6681383B2 (ja) エンコーダ、デコーダ、および方法
CN113767635A (zh) 神经数据压缩的内容自适应优化
JP2008118307A (ja) 符号化装置及びその制御方法
JP2022527447A (ja) ニューラルネットワークのパラメータを圧縮する方法および装置
CN115087988A (zh) 用于编码神经网络参数的构思
JP2023527663A (ja) ニューラル画像圧縮における画像置換を用いたコンテンツ適応型オンライン訓練
JP5303074B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
KR100989686B1 (ko) 데이터 소스에 의해 생성된 비트 심볼들을 처리하기 위한 방법 및 장치, 컴퓨터 판독가능 매체, 컴퓨터 프로그램 요소
US6909746B2 (en) Fast robust data compression method and system
JP6960784B2 (ja) ニューラルネットワーク、符号化装置、復号装置、学習方法、制御方法、およびプログラム
CN106664099B (zh) 使用统计特性编码脉冲矢量的方法
CN116114248A (zh) 神经图像压缩中具有特征替换的内容自适应在线训练
JP4918103B2 (ja) 符号化方法、復号方法、それらの装置、プログラム及び記録媒体
JP7141007B2 (ja) 符号化装置、符号化方法及びプログラム
Shen et al. Fast Golomb coding parameter estimation using partial data and its application in hyperspectral image compression
JP7104352B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP7447311B2 (ja) ビデオ復号のための方法、装置及びコンピュータプログラム
US20240048703A1 (en) Encoding device, decoding device, encoding method, decoding method, and program
JP2023528180A (ja) ポストフィルタリングを伴うニューラル画像圧縮におけるブロック単位のコンテンツ適応オンライン訓練の方法、装置、およびコンピュータプログラム
JP2024518239A (ja) ニューラル画像圧縮における反復的なコンテンツ適応型オンライントレーニングのためのシステム、方法、及びコンピュータプログラム
JP2023521292A (ja) 深層強化学習によるエンドツーエンドニューラル圧縮のための方法及び装置
JP2024518766A (ja) ニューラル画像圧縮におけるオンライン訓練ベースのエンコーダ調整

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220520

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221111