(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-22
(45)【発行日】2024-01-30
(54)【発明の名称】画像エンコーディング方法及び装置並びに画像デコーディング方法及び装置
(51)【国際特許分類】
G06T 9/00 20060101AFI20240123BHJP
H04N 1/41 20060101ALI20240123BHJP
G06N 3/04 20230101ALI20240123BHJP
G06N 3/08 20230101ALI20240123BHJP
【FI】
G06T9/00 200
H04N1/41
G06N3/04
G06N3/08
(21)【出願番号】P 2020013211
(22)【出願日】2020-01-30
【審査請求日】2022-10-06
(31)【優先権主張番号】201910289189.3
(32)【優先日】2019-04-11
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】周 静
(72)【発明者】
【氏名】温 思寒
(72)【発明者】
【氏名】タヌ・ジミン
【審査官】三沢 岳志
(56)【参考文献】
【文献】特表2014-524693(JP,A)
【文献】特開2010-273328(JP,A)
【文献】特開2010-272109(JP,A)
【文献】特開2009-253586(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00
H04N 1/41
G06N 3/04
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
画像エンコーディング装置であって、
畳み込みニューラルネットワークを用いて処理待ちの画像データに対してエンコーディングを行い、前記画像データの特徴ベクトル又は特徴マップを生成する畳み込みニューラルネットワークエンコーダ;
前記特徴ベクトル又は特徴マップに対して量子化を行い、離散的なエンコーディング待ちシンボルを生成する量子化器;
マルチスケールのコンテキストモデルを用いて前記エンコーディング待ちシンボルの確率を推定し、複数の異なるスケールのマスク畳み込み層を含む確率推定器;及び
前記エンコーディング待ちシンボルの確率に基づいてエントロピーエンコーディングを行うエントロピーエンコーダを含む、装置。
【請求項2】
請求項1に記載の画像エンコーディング装置であって、
複数の異なるスケールの前記マスク畳み込み層は、それぞれ、前記エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
前記確率推定器は、さらに、
複数の異なるスケールの前記マスク畳み込み層の計算結果に基づいて、確率ネットワークにより、前記エンコーディング待ちシンボルの確率モデルを計算する確率モデル計算ユニット;及び
前記確率モデルに基づいて前記エンコーディング待ちシンボルの確率を計算する第一計算ユニットを含む、装置。
【請求項3】
請求項1に記載の画像エンコーディング装置であって、
複数の異なるスケールの前記マスク畳み込み層は、それぞれ、前記エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い、
前記確率推定器は、さらに、
補助情報を計算する補助情報計算ユニット;
複数の異なるスケールの前記マスク畳み込み層の計算結果及び前記補助情報に基づいて、確率ネットワークにより、前記エンコーディング待ちシンボルの確率モデルを計算する確率モデル計算ユニット;及び
前記確率モデルに基づいて前記エンコーディング待ちシンボルの確率を計算する第一計算ユニットを含む、装置。
【請求項4】
請求項3に記載の画像エンコーディング装置であって、
前記補助情報計算ユニットは、
前記畳み込みニューラルネットワークエンコーダから複数組の中間データを抽出する中間データ抽出ユニット;
前記複数組の中間データに対してそれぞれ異なるスケールの畳み込み演算を行い、複数組の畳み込み演算結果を得るマルチスケール畳み込みユニット;及び
前記特徴ベクトル又は特徴マップ、及び前記複数組の畳み込み演算結果に基づいて、前記補助情報を計算する第二計算ユニットを含む、装置。
【請求項5】
請求項4に記載の画像エンコーディング装置であって、
前記中間データは3組あり、前記マルチスケール畳み込みユニットのスケールは、それぞれ、5*5、7*7、及び9*9である、装置。
【請求項6】
請求項1に記載の画像エンコーディング装置であって、
前記マスク畳み込み層が、前記エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行うために用いられ、前記エンコーディング待ちシンボルの前のエンコーディング済みシンボルの重みが1と設定され、前記エンコーディング待ちシンボルの後の未エンコーディングシンボルの重みが0と設定される、装置。
【請求項7】
請求項1に記載の画像エンコーディング装置であって、
前記マスク畳み込み層の数が3つであり、前記マスク畳み込み層のサイズがそれぞれ3*3、5*5、及び7*7である、装置。
【請求項8】
画像デコーディング装置であって、
マルチスケールのコンテキストモデルを用いて現在のデコーディング待ちシンボルの確率を推定し、複数の異なるスケールのマスク畳み込み層を含む確率推定器;
前記確率に基づいて前記デコーディング待ちシンボルに対してエントロピーデコーディングを行い、特徴ベクトル又は特徴マップを得るエントロピーデコーダ;及び
前記特徴ベクトル又は特徴マップに対してデコーディングを行い、画像データを生成する畳み込みニューラルネットワークデコーダを含む、装置。
【請求項9】
請求項8に記載の画像デコーディング装置であって、
複数の異なるスケールの前記マスク畳み込み層は、それぞれ、前記デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い、
前記確率推定器は、さらに、
前記マスク畳み込み層の計算結果に基づいて、確率ネットワークにより、前記デコーディング待ちシンボルの確率モデルを計算する確率モデル計算ユニット;及び
前記確率モデルに基づいて前記デコーディング待ちシンボルの確率を計算する第三計算ユニットを含む、装置。
【請求項10】
請求項8に記載の画像デコーディング装置であって、
複数の異なるスケールの前記マスク畳み込み層は、それぞれ、前記デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い、
前記確率推定器は、さらに、
補助情報を計算する補助情報計算ユニット;
前記マスク畳み込み層の計算結果及び前記補助情報に基づいて、確率ネットワークにより、前記デコーディング待ちシンボルの確率モデルを計算する確率モデル計算ユニット;及び
前記確率モデルに基づいて前記デコーディング待ちシンボルの確率を計算する第三計算ユニットを含む、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理分野に関し、特に、画像エンコーディング方法及び装置並びに画像デコーディング方法及び装置に関する。
【背景技術】
【0002】
コンピュータ技術の進歩に伴い、画像が幅広く用いられている。画像ファイルを効率良く記憶及び伝送するために、画像ファイルに対して画像圧縮を行う必要がある。画像圧縮は、コードレートと画像圧縮ディストーションとの折衷と見なすことができる。シャノンの情報源符号化定理によれば、データ圧縮の理論限界が情報量(エントロピー)である。言い換えると、画像データのエントロピーを正確に推定ことができれば、比較的少ないビット又は比較的小さいコードレートを用いて画像データを表すことができ、これにより、レートとディストーションとのバランスを取ることができる。
【0003】
情報理論によると、公式1に基づいてエンコーディング待ちシンボル
(外1)
の情報量(エントロピー)を計算することができる。
【数1】
【0004】
そのうち、
(外2)
は、エンコーディング待ちシンボルであり、
(外3)
は、エンコーディング待ちシンボルの確率である。
【0005】
これで分かるように、エンコーディング待ちシンボルの情報エントロピーを計算するために、まず、エンコーディング待ちシンボルの確率を確定する必要がある。しかし、通常の場合、エンコーディング待ちシンボルの確率が既知でないので、エンコーディング待ちシンボルの確率を推定する必要がある。推定されるエンコーディング待ちシンボルの確率が
(外4)
であるとすれば、公式2に基づいて、推定される情報エントロピーを計算することができる。
【数2】
【0006】
エンコーディング待ちシンボルの推定確率
(外5)
と、実際の確率
(外6)
との間に偏差が存在する可能性があるから、推定されるエントロピー
(外7)
は、通常、実際のエントロピー
(外8)
よりも大きい。これで分かるように、エンコーディング待ちシンボルの確率を正確に推定することができれば、比較的少ないビット又は比較的小さいコードレートを用いて画像データを表すことができ、これにより、画像データの圧縮効率の向上に繋がる。
【0007】
今のところ、ディープニューラルネットワークが画像圧縮技術分野で広く応用されており、且つ比較的良いパフォーマンスが得られている。そのうち、自己回帰モデル(例えば、画素再帰型ニューラルネットワーク(Pixel-RNN、Pixel Recurrent Neural Networks)、画素畳み込みニューラルネットワーク(Pixel-CNN、Pixel Convolutional Neural Networks))が、画像の画素データが特徴シーケンスを形成するようにさせ、畳み込み演算を用いて、各画素の、その前の画素に対しての条件付き確率(conditional probability)分布を予測することができる。また、ロッシー圧縮技術では、画像エンコーディングを有効に行うために、コンテキストモデルも導入されている。
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来技術では、画像データの潜在表現の条件付き確率を推定するときに、通常、シングルスケールのコンテキストモデルを採用する。発明者が次のようなことを発見した。即ち、上述の方法で推定された条件付き確率を用いて画像エンコーディングを行うときに、依然として多くのビットにより画像データを表す必要があり、レートとディストーションとのバランスを取ることができない。
【0009】
本発明の実施例は、画像エンコーディング方法及び装置並びに画像デコーディング方法及び装置を提供し、マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定することで、エンコーディング待ちシンボルの確率推定の正確性を向上させることができ、また、該確率に基づいてエンコーディング待ちシンボルに対してエントロピーエンコーディングを行うことで、比較的少ないビットを用いて画像データを表することにより、画像エンコーディングのエンコーディング効率を向上させることもできる。
【課題を解決するための手段】
【0010】
本発明の実施例の第一側面によれば、画像エンコーディング装置が提供され、それは、
畳み込みニューラルネットワークを用いて処理待ちの画像データに対してエンコーディングを行い、前記画像データの特徴ベクトル又は特徴マップを生成する畳み込みニューラルネットワークエンコーダ;
前記特徴ベクトル又は特徴マップに対して量子化を行い、離散的なエンコーディング待ちシンボルを生成する量子化器;
マルチスケールのコンテキストモデルを用いて前記エンコーディング待ちシンボルの確率を推定する確率推定器であって、前記確率推定器が複数の異なるスケールのマスク畳み込み層を含む確率推定器;及び
前記エンコーディング待ちシンボルの確率に基づいてエントロピーエンコーディングを行うエントロピーエンコーダを含む。
【0011】
本発明の実施例の第二側面によれば、画像デコーディング装置が提供され、それは、
マルチスケールのコンテキストモデルを用いて現在のデコーディング待ちシンボルの確率を推定する確率推定器であって、前記確率推定器が複数の異なるスケールのマスク畳み込み層を含む確率推定器;
前記確率に基づいて前記デコーディング待ちシンボルに対してエントロピーデコーディングを行い、特徴ベクトル又は特徴マップを得るエントロピーデコーダ;及び
前記特徴ベクトル又は特徴マップに対してデコーディングを行い、画像データを生成する畳み込みニューラルネットワークデコーダを含む。
【0012】
本発明の実施例の第三側面によれば、画像エンコーディング方法が提供され、それは、
処理待ちの画像データに対して畳み込みニューラルネットワークエンコーディング(即ち、畳み込みニューラルネットワークによるエンコーディング)を行い、特徴ベクトル又は特徴マップを生成し;
前記特徴ベクトル又は特徴マップに対して量子化を行い、離散的なエンコーディング待ちシンボルを生成し;
マルチスケールのコンテキストモデルを用いて前記エンコーディング待ちシンボルの確率を推定し、前記マルチスケールのコンテキストモデルは、複数の異なるスケールのマスク畳み込み層を含み;及び
前記エンコーディング待ちシンボルの確率に対してエントロピーエンコーディングを行うことを含む。
【0013】
本発明の実施例の第四側面によれば、画像デコーディング方法が提供され、それは、
マルチスケールのコンテキストモデルにより現在のデコーディング待ちシンボルの確率を推定し、前記マルチスケールのコンテキストモデルは、複数の異なるスケールのマスク畳み込み層を含み;
前記確率に基づいて、前記デコーディング待ちシンボルに対してエントロピーデコーディングを行い、特徴ベクトル又は特徴マップを取得し;及び
前記特徴ベクトル又は特徴マップに対して畳み込みニューラルネットワークデコーディングを行い、画像データを生成することを含む。
【0014】
本発明の実施例の有益な効果は次の通りであり、即ち、マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定することで、エンコーディング待ちシンボルの確率推定の正確性を向上させることができ、また、該確率に基づいてエンコーディング待ちシンボルに対してエントロピーエンコーディングを行うことで、比較的少ないビットを用いて画像データを表すことにより、画像エンコーディングのエンコーディング効率を向上させることもできる。
【図面の簡単な説明】
【0015】
【
図1】本実施例1における画像エンコーディング方法のフローチャートである。
【
図2】本実施例1における特徴マップを示す図である。
【
図3A】本実施例1におけるマスク畳み込み層を示す図である。
【
図3B】本実施例1におけるマスク畳み込み層を示す他の図である。
【
図3C】本実施例1におけるマスク畳み込み層を示す他の図である。
【
図4】本実施例1におけるエンコーディング待ちシンボル確率推定方法のフローチャートである。
【
図5】本実施例1におけるエンコーディング待ちシンボル確率推定方法の他のフローチャートである。
【
図6】本実施例1における補助情報計算方法のフローチャートである。
【
図7】本実施例1における画像エンコーディング装置の構成を示す図である。
【
図8】本実施例2における画像デコーディング方法のフローチャートである。
【
図9A】本実施例2におけるデコーディング待ちシンボル確率推定方法のフローチャートである。
【
図9B】本実施例2におけるデコーディング待ちシンボル確率推定方法の他のフローチャートである。
【
図10】本実施例2における画像デコーディング装置の構成を示す図である。
【
図11】本実施例3における画像エンコーディング装置の構成を示す図である。
【
図12】本実施例3における確率推定器の構成を示す図である。
【
図13】本実施例3における確率推定器の構成を示す他の図である。
【
図14】本実施例3における補助情報計算ユニットの構成を示す図である。
【
図15】本実施例4における画像デコーディング装置の構成を示す図である。
【
図16】本実施例4における確率推定器の構成を示す図である。
【
図17】本実施例4における確率推定器の構成を示す他の図である。
【
図18】本実施例5の電子機器の構成を示す図である。
【発明を実施するための形態】
【0016】
以下、添付した図面を参照しながら、本発明を実施するための好適な実施例を詳しく説明する。
【0017】
本発明の実施例では、畳み込みニューラルネットワーク(CNN、Convolutional Neural Network)を例として説明を行うが、本発明は、これに限定されない。なお、CNNの基本概念及び内容については、関連技術を参照することができる。
【実施例1】
【0018】
実施例1は、画像エンコーディング方法を提供し、
図1は、本実施例における画像エンコーディング方法のフローチャートであり、
図1に示すように、該方法は、以下のステップを含む。
【0019】
ステップ101:処理待ちの画像データに対して畳み込みニューラルネットワークエンコーディング(即ち、畳み込みニューラルネットワークによるエンコーディング)を行い、特徴ベクトル又は特徴マップを生成し;
ステップ102:特徴ベクトル又は特徴マップに対して量子化を行い、離散的なエンコーディング待ちシンボルを生成し;
ステップ103:マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定し、そのうち、マルチスケールのコンテキストモデルは、複数の異なるスケールのマスク畳み込み層を含み;
ステップ104:エンコーディング待ちシンボルの確率に基づいてエントロピーエンコーディングを行う。
【0020】
本実施例では、マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定することで、エンコーディング待ちシンボルの確率推定の正確性を向上させることができ、また、該確率に基づいてエンコーディング待ちシンボルに対してエントロピーエンコーディングを行うことで、比較的少ないビットを用いて画像データを表すことにより、画像エンコーディングのエンコーディング効率を向上させることができる。
【0021】
本実施例では、ステップ101において、畳み込みニューラルネットワーク(Convolutional Neural Networks,CNN)は、畳み込み演算を含み且つディープ構造を有するフィードフォワードニューラルネットワーク(Feedforward Neural Networks)であり、ディープラーニング(deep learning)の代表的なアルゴリズムの1つである。畳み込みニューラルネットワークにより処理待ちの画像データに対してエンコーディングを行うことで、該画像データに対応する特徴ベクトル又は特徴マップを得ることができる。
【0022】
本実施例では、ステップ102において、畳み込みニューラルネットワークエンコーディングにより得られた特徴ベクトル又は特徴マップは、アナログデータ形式を有する。該アナログデータ形式の特徴ベクトル又は特徴マップに対して量子化を行うことで、離散形式の特徴ベクトル又は特徴マップを得ることができ、該離散形式の特徴ベクトル又は特徴マップは、エンコーディング待ちシンボルである。本実施例では、任意の量子化方式で特徴ベクトル又は特徴マップの量子化を行っても良いが、本発明は、これについて限定しない。
【0023】
本実施例では、ステップ103において、マルチスケールのコンテキストモデルを用いて確率を推定するときに、エンコーディング待ちシンボルの順序に従って逐点(point-by-point)推定を行っても良く、そのうち、推定されるエンコーディング待ちシンボルの確率は、該エンコーディング待ちシンボルの前のエンコーディング済みシンボルの情報に依存する。
【0024】
本実施例では、ステップ103において、マルチスケールのコンテキストモデルは、任意の構造を採用しても良い。例えば、該マルチスケールのコンテキストモデルは、複数の異なるスケールのマスク畳み込み層を含んでも良い。そのうち、マスク畳み込み層は、エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行うために用いられ、エンコーディング待ちシンボルの前のエンコーディング済みシンボルの重みを1に設定し、エンコーディング待ちシンボルの後の未エンコーディングシンボルの重みを0に設定しても良い。
【0025】
以下、
図2及び
図3A~
図3Cをもとに、複数の異なるスケールのマスク畳み込み層を用いてエンコーディング待ちシンボルの確率を推定する方法を説明する。
【0026】
図2は、本実施例の特徴マップの一例を示す図であり、便宜のため、
図2では、15*10の特徴マップを採用しているが、理解すべきは、特徴マップは、他のサイズのものであって良いということであり、本発明は、これについて限定しない。
図2に示すように、該特徴マップでは、各矩形が1つの離散的なエンコーディング待ちシンボルを表し、点線矩形がエンコーディング済みシンボルに対応し、矩形Dが現在の、確率を推定する必要のあるエンコーディング待ちシンボルに対応し、図中の矢印で示される方向に沿って1つずつエンコーディング待ちシンボルに対して確率推定を行う。
【0027】
本実施例では、マルチスケールのコンテキストモデルにおいて、任意個の異なるスケールのマスク畳み込み層を採用しても良く、そのうち、マスク畳み込み層のスケールは、任意のスケールであっても良い。
図3A~
図3Cは、本実施例の複数の異なるスケールのマスク畳み込み層を示す図である。
【0028】
本実施例では、
図3A~
図3Cに示すように、マルチスケールのコンテキストモデルにおいて3個の異なるスケールのマスク畳み込み層を採用しても良く、そのうち、マスク畳み込み層のスケールは、それぞれ、3*3、5*5、7*7であっても良い。そのうち、
図3Aに示す3*3のマスク畳み込み層は、
図2中の矩形Aに対応し、
図3Bに示す5*5のマスク畳み込み層は、
図2中の矩形Bに対応し、
図3Cに示す7*7のマスク畳み込み層は、
図2中の矩形Cに対応し、
図3A中の矩形301、
図3B中の矩形302、及び
図3C中の矩形303は、
図2中の矩形D、即ち、現在のエンコーディング待ちシンボルに対応する。
【0029】
図2及び
図3A~
図3Cに示すように、推定されるエンコーディング待ちシンボルの確率が該エンコーディング待ちシンボルの前のエンコーディング済みシンボルの情報に依存するから、該エンコーディング待ちシンボルの前のエンコーディング済みシンボルの重みを1に設定し、該エンコーディング待ちシンボルの後の未エンコーディングシンボルの重みを0に設定し、そして、公式3に基づいて、推定されるエンコーディング待ちシンボルの確率を計算しても良い。
【数3】
【0030】
そのうち、
(外9)
は、推定されるエンコーディング待ちシンボルの確率であり、
(外10)
は、シンボル
(外11)
の、その前のシンボル
(外12)
に対しての条件付き確率であり、mは、前のシンボルの個数であり、それは、マスク畳み込み層のスケールに関連し、例えば、マスク畳み込み層のスケールが3*3のときに、m=4であり、マスク畳み込み層のスケールが5*5のときに、m=12であり、マスク畳み込み層のスケールが7*7のときに、m=24である。
【0031】
本実施例では、前のエンコーディング済みシンボルに基づいて現在のエンコーディング待ちシンボルの確率を推定し、言い換えれば、現在のエンコーディング待ちシンボルの確率を推定するときに前のエンコーディング済みシンボルと該エンコーディング待ちシンボルとの相関性を考慮する必要がある。異なる画像データ又は同じ画像データにおける異なる領域において、前のエンコーディング済みシンボルと現在のエンコーディング待ちシンボルとの相関性が異なる可能性があるから、本実施例では、複数の異なるスケールのマスク畳み込み層を設定することで、現在のエンコーディング待ちシンボルからの比較的遠い前のエンコーディング済みシンボルを考慮することができるだけでなく、現在のエンコーディング待ちシンボルからの比較的近い前のエンコーディング済みシンボルを考慮することもでき、これにより、前の情報を十分に利用することで、エンコーディング待ちシンボルの確率を正確に推定することができる。
【0032】
本実施例では、ステップ103において、マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定するときに、上述の複数の異なるスケールのマスク畳み込み層の演算結果に基づいて確率推定を行っても良く、又は、複数の異なるスケールのマスク畳み込み層の演算結果及び補助情報に基づいて確率推定を行っても良い。以下、
図4及び
図5に基づいてステップ103を例示的に説明する。
【0033】
図4は、本実施例のエンコーディング待ちシンボル確率推定方法のフローチャートである。
図4に示すように、該方法は、以下のステップを含む。
【0034】
ステップ401:複数の異なるスケールのマスク畳み込み層を用いて、それぞれ、エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
ステップ402:複数の異なるスケールのマスク畳み込み層の計算結果に基づいて、確率ネットワークによりエンコーディング待ちシンボルの確率モデルを計算し;
ステップ403:確率モデルに基づいてエンコーディング待ちシンボルの確率を計算する。
【0035】
本実施例では、ステップ401の内容について、
図2及び
図3A~
図3Cに関しての説明を参照することができ、ここでは、その詳しい説明を省略する。
【0036】
本実施例では、ステップ402において、任意の確率ネットワークを用いて確率モデルの計算を行っても良く、例えば、ガウス確率ネットワーク、ラプラス確率ネットワークなどを採用しても良い。ガウス確率ネットワークを例とすれば、ステップ402では、複数の異なるスケールのマスク畳み込み層の計算結果に基づいて、ガウス分布の平均値及び分散又は標準偏差を推定することで、ガウス確率モデルを得ることができる。
【0037】
本実施例では、ステップ403において、ステップ402で確定された確率モデルに基づいてエンコーディング待ちシンボルの確率を計算し、例えば、ガウス確率モデルを例とすれば、エンコーディング待ちシンボルのシンボル値、ガウス分布の平均値及び分散に基づいて、該エンコーディング待ちシンボルの確率を確定することができる。
【0038】
図5は、本実施例のエンコーディング待ちシンボル確率推定方法の他のフローチャートである。
図5に示すように、該方法は、以下のステップを含む。
【0039】
ステップ501:複数の異なるスケールのマスク畳み込み層を用いて、それぞれ、エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
ステップ502:補助情報を計算し;
ステップ503:複数の異なるスケールのマスク畳み込み層の計算結果及び補助情報に基づいて、確率ネットワークによりエンコーディング待ちシンボルの確率モデルを計算し;
ステップ504:確率モデルに基づいてエンコーディング待ちシンボルの確率を計算する。
【0040】
本実施例では、該補助情報は、エンコーディング待ちシンボルに関連する情報であっても良い。確率推定時にエンコーディング待ちシンボルに関連する情報を考慮しているので、エンコーディング待ちシンボルの確率をより正確に推定することができる。
【0041】
本実施例では、ステップ501及びステップ504がステップ401及びステップ403と同じであり、ここでは、その詳しい説明を省略する。
【0042】
本実施例では、ステップ501及びステップ502の順序が任意の順序であっても良く、例えば、先にステップ501を実行しても良く、先にステップ502を実行しても良く、又はこの2つのステップを並列に実行しても良い。
【0043】
本実施例では、ステップ502において、任意の方式で補助情報を計算することができる。以下、
図6をもとに、補助情報の計算方法を例示的に説明する。
図6は、本実施例の補助情報計算方法のフローチャートである。
図6に示すように、該方法は、以下のステップを含む。
【0044】
ステップ601:畳み込みニューラルネットワークエンコーディングのプロセスから複数組の中間データを抽出し;
ステップ602:複数組の中間データに対してそれぞれ異なるスケールの畳み込み演算を行い、複数組の畳み込み演算結果を取得し;
ステップ603:特徴ベクトル又は特徴マップ、及び複数組の畳み込み演算結果に基づいて補助情報を計算する。
【0045】
本実施例では、画像データに対して畳み込みニューラルネットワークエンコーディングを行って該画像データの特徴ベクトル又は特徴マップを生成するプロセスから複数組の中間データを抽出し、該複数組の中間データには、該画像データの特徴ベクトル又は特徴マップに関連する情報が含まれる。該複数組の中間データに対して異なるスケールの畳み込み演算を行って複数組の畳み込み演算結果を取得し、そして、該畳み込み演算結果、及び特徴ベクトル又は特徴マップに基づいて補助情報を計算することで、特徴ベクトル又は特徴マップに関連する情報を十分に利用することができ、これにより、エンコーディング待ちシンボルの確率推定に、より正確な補助情報を提供することができる。
【0046】
本実施例では、ステップ601において、畳み込みニューラルネットワークエンコーディングのプロセスから中間データを抽出するときに、任意の数の中間データを抽出しても良い。例えば、3組の中間データを抽出することができる。
【0047】
本実施例では、ステップ602において、複数組の中間データに対してそれぞれ異なるスケールの畳み込み演算を行うときに、畳み込み演算のスケールが任意に設定されても良い。例えば、3組の中間データを例とすれば、該畳み込み演算のスケールが5*5、7*7、9*9に設定されても良い。上述のような比較的大きいスケールの畳み込み演算を用いることで、範囲がより広い中間データ情報を含めることができ、また、スケールが異なる畳み込み演算を用いることで、異なる範囲の中間データ情報を考慮することができ、即ち、高頻度(high-frequency)情報及び低頻度(low-frequency)情報がすべて含まれており、これにより、補助情報をより正確に推定することができる。
【0048】
本実施例では、ステップ104において、エントロピーエンコーディング、即ち、エンコーディングプロセスでエントロピー原理に従っていずれの情報も失わない方式でエンコーディングを行う。エントロピーエンコーディングを行うときに、各エンコーディング待ちシンボルの出現確率が正確であればあるほど、少ないビットで該エンコーディング待ちシンボルを表すことができる。ステップ104では、任意のエントロピーエンコーディング、例えば、Shannonエンコーディング、Huffmanエンコーディング、算術エンコーディング(arithmetic coding)などを採用しても良い。
【0049】
図7は、画像エンコーディング装置の構成を示す図である。以下、
図7に基づいて本実施例の画像エンコーディング方法について具体的に説明する。
【0050】
図7に示すように、まず、畳み込みニューラルネットワークエンコーダにより処理待ちの画像データに対して畳み込みニューラルネットワークエンコーディングを行い、該画像データの潜在表現y(即ち、特徴ベクトル又は特徴マップ)を取得し;量子化器により潜在表現yに対して量子化を行い、離散的な潜在表現
(外13)
(即ち、エンコーディング待ちシンボル)を取得し;該離散的な潜在表現
(外14)
が、それぞれ、3*3の畳み込みカーネル、5*5の畳み込みカーネル、及び7*7の畳み込みカーネルを経て、畳み込み演算後の結果c1、c2及びc3を取得し;畳み込み演算後の結果c1、c2及びc3並びに補助情報(Side information)sに基づいて、確率モデル計算ユニットによりエンコーディング待ちシンボルの確率モデルを計算し、ガウス分布を例とすると、確率モデルは、ガウス分布の平均値μ及び標準偏差σを含み;エンコーディング待ちシンボルのシンボル値及び確率モデルに基づいて、第一計算ユニットにより、エンコーディング待ちシンボルの確率
(外15)
を計算し;確率
(外16)
及び潜在表現
(外17)
に基づいて、算術エンコーダによりエントロピーエンコーディングを行い、画像データを表すコードストリームb2を生成する。
【0051】
そのうち、補助情報sは、次のような方式で生成することができ、即ち、中間データ抽出ユニットにより畳み込みニューラルネットワークエンコーダから3組の中間データd1、d2及びd3を抽出し;5*5の畳み込みカーネルにより中間データd1に対して畳み込み演算を行い、7*7の畳み込みカーネルにより中間データd2に対して畳み込み演算を行い、9*9の畳み込みカーネルにより中間データd3に対して畳み込み演算を行うことで、それぞれ、畳み込み演算後の結果e1、e2及びe3を取得し;結合器により畳み込み演算後の結果e1、e2及びe3並びに潜在表現yを結合(combine)して結合データfを取得し;ハイパーエンコーダにより結合データに対してハイパーエンコーディング(Hyper encode)を行い、ハイパーエンコーディングデータgを生成し;算術エンコーダによりハイパーエンコーディングデータgに対して算術エンコーディングを行い、補助情報を示すコードストリームb1を生成し;算術デコーダによりコードストリームb1に対して算術デコーディングを行い、デコーディングデータg’を生成し;ハイパーデコーダによりデコーディングデータg’に対してハイパーデコーディング(Hyper decode)を行い、補助情報sを取得する。
【0052】
本実施例では、補助情報を表すコードストリームb1及び画像データを表すコードストリームb2は、ネットワークの伝送又は記憶のために用いられる。デコーダ側では、コードストリームb1に対して対応するデコーディングを行うことで補助情報を得ることができ、コードストリームb2に対して対応するデコーディングを行うことで画像データを再構成(reconstruct)することができる。
【0053】
なお、本実施例では、補助情報sを生成するときにハイパーエンコーディング及びハイパーデコーディング、算術エンコーディング及び算術デコーディングの方式を採用しているが、本発明は、これに限られず、他のエンコーディング及びデコーディングの方式を採用して補助情報を生成することもできる。
【0054】
本実施例では、マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定することで、エンコーディング待ちシンボルの確率推定の正確性を向上させることができ、また、該確率に基づいてエンコーディング待ちシンボルに対してエントロピーエンコーディングを行うことで、比較的少ないビットで画像データを表すことにより、画像エンコーディングのエンコーディング効率を向上させることもできる。
【実施例2】
【0055】
実施例2は、画像デコーディング方法を提供し、
図8は、本実施例の画像デコーディング方法のフローチャートであり、
図8に示すように、該方法は、以下のステップを含む。
【0056】
ステップ801:マルチスケールのコンテキストモデルにより現在のデコーディング待ちシンボルの確率を推定し、そのうち、マルチスケールのコンテキストモデルは、複数の異なるスケールのマスク畳み込み層を含み;
ステップ802:推定された現在のデコーディング待ちシンボルの確率に基づいて、デコーディング待ちシンボルに対してエントロピーデコーディングを行い、特徴ベクトル又は特徴マップを取得し;
ステップ803:特徴ベクトル又は特徴マップに対して畳み込みニューラルネットワークデコーディングを行い、画像データを生成する。
【0057】
本実施例では、マルチスケールのコンテキストモデルを用いてデコーディング待ちシンボルの確率を推定することで、デコーディング待ちシンボルの確率推定の正確性を向上させることができ、また、該確率に基づいてデコーディング待ちシンボルに対してエントロピーデコーディングを行うことで、画像デコーディングの正確性を向上させることができる。
【0058】
本実施例では、ステップ801において、マルチスケールのコンテキストモデルを用いて上述の確率を推定するときに、デコーディング待ちシンボルの順序に従って逐点(point-by-point)推定を行い、そのうち、推定されるデコーディング待ちシンボルの確率は、該デコーディング待ちシンボルの前のデコーディング済みシンボルの情報に依存する。
【0059】
本実施例では、マルチスケールのコンテキストモデルは、任意の構成を採用しても良い。例えば、該マルチスケールのコンテキストモデルは、複数の異なるスケールのマスク畳み込み層を含んでも良い。そのうち、マスク畳み込み層は、デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行うために用いられ、そのうち、デコーディング待ちシンボルの前のデコーディング済みシンボルの重みを1に設定し、デコーディング待ちシンボルの後の未デコーディングシンボルの重みを0に設定する。
【0060】
以下、
図2及び
図3A~
図3Cをもとに、複数の異なるスケールのマスク畳み込み層を用いてデコーディング待ちシンボルの確率を推定する方法を説明する。
【0061】
図2は、本実施例の特徴マップの一例を示す図であり、便宜のため、
図2では、15*10の特徴マップが採用されている。なお、理解すべきは、特徴マップは、他のサイズのものであっても良く、本発明は、これに限定されないということである。
図2に示すように、該特徴マップでは、各矩形が1つの離散的なデコーディング待ちシンボルを表し、点線矩形がデコーディング済みシンボルに対応し、矩形Dが現在の、確率を推定する必要のあるデコーディング待ちシンボルを対応し、矢印で示される方向に沿って1つずつデコーディング待ちシンボルに対して確率推定を行う。
【0062】
本実施例では、マルチスケールのコンテキストモデルにおいて任意個の異なるスケールのマスク畳み込み層を採用しても良く、そのうち、マスク畳み込み層のスケールは、任意のスケールであっても良い。
図3A~
図3Cは、本実施例の複数の異なるスケールのマスク畳み込み層を示す図である。本実施例では、
図3A~
図3Cに示すように、マスク畳み込み層の数が3つであっても良く、マスク畳み込み層のサイズがそれぞれ3*3、5*5及び7*7であっても良い。そのうち、
図3Aに示す3*3のマスク畳み込み層は、
図2中の矩形Aに対応し、
図3Bに示す5*5のマスク畳み込み層は、
図2中の矩形Bに対応し、
図3Cに示す7*7のマスク畳み込み層は、
図2中の矩形Cに対応し、
図3A中の矩形301、
図3B中の矩形302、及び
図3C中の矩形303は、
図2中の矩形Dに対応し、即ち、現在のデコーディング待ちシンボルに対応する。
図2及び
図3A~
図3Cに示すように、該デコーディング待ちシンボルの前のデコーディング済みシンボルの重みを1に設定し、該デコーディング待ちシンボルの後の未デコーディングシンボルの重みを0に設定し、これにより、前のデコーディング済みシンボルに基づいて現在のデコーディング待ちシンボルの確率を推定することができる。
【0063】
本実施例では、前のデコーディング済みシンボルに基づいて現在のデコーディング待ちシンボルの確率を推定し、言い換えれば、現在のデコーディング待ちシンボルの確率を推定するときに、前のデコーディング済みシンボルと該デコーディング待ちシンボルとの相関性を考慮する必要がある。異なる画像データ又は同じ画像データにおける異なる領域において、前のデコーディング済みシンボルと現在のデコーディング待ちシンボルとの相関性が異なる可能性がある。よって、本実施例では、複数の異なるスケールのマスク畳み込み層を設定することで、現在のデコーディング待ちシンボルからの比較的遠い前のデコーディング済みシンボルを考慮することができるだけでなく、現在のデコーディング待ちシンボルからの比較的小さい前のデコーディング済みシンボルを考慮することもでき、これにより、前の情報を十分に利用することで、デコーディング待ちシンボルの確率を正確に推定することができる。
【0064】
本実施例では、ステップ801において、マルチスケールのコンテキストモデルを用いてデコーディング待ちシンボルの確率を推定するときに、複数の異なるスケールのマスク畳み込み層の演算結果に基づいて確率推定を行っても良く、又は、複数の異なるスケールのマスク畳み込み層の演算結果及び補助情報に基づいて確率推定を行っても良い。以下、
図9A及び
図9Bをもとに、ステップ801について例示的に説明する。
【0065】
図9Aは、本実施例のデコーディング待ちシンボル確率推定方法のフローチャートである。
図9Aに示すように、該方法は、以下のステップを含む。
【0066】
ステップ901:複数の異なるスケールのマスク畳み込み層を用いて、それぞれ、デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
ステップ902:マスク畳み込み層の計算結果に基づいて、確率ネットワークによりデコーディング待ちシンボルの確率モデルを計算し;
ステップ903:確率モデルに基づいてデコーディング待ちシンボルの確率を計算する。
【0067】
本実施例では、ステップ901の内容について、
図2及び
図3A~
図3Cに関しての説明を参照することができ、ここでは、その詳細な説明を省略する。
【0068】
本実施例では、ステップ902において、任意の確率ネットワークを用いて確率モデルの計算を行っても良く、例えば、ガウス確率ネットワーク、ラプラス確率ネットワークなどを採用しても良い。ガウス確率ネットワークを例とすれば、ステップ902では、マスク畳み込み層の計算結果に基づいてガウス分布の平均値及び分散又は標準偏差を推定し、これにより、ガウス確率モデルを得ることができる。
【0069】
本実施例では、ステップ903において、ステップ902で確定された確率モデルに基づいてデコーディング待ちシンボルの確率を計算し、例えば、ガウス確率モデルを例とすると、デコーディング待ちシンボルのシンボル値、ガウス分布の平均値及び分散に基づいて、該デコーディング待ちシンボルの確率を確定することができる。
【0070】
図9Bは、本実施例のデコーディング待ちシンボル確率推定方法の他のフローチャートである。
図9Bに示すように、該方法は、以下のステップを含む。
【0071】
ステップ1001:複数の異なるスケールのマスク畳み込み層を用いて、それぞれ、デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
ステップ1002:補助情報を計算し;
ステップ1003:マスク畳み込み層の計算結果及び補助情報に基づいて、確率ネットワークによりデコーディング待ちシンボルの確率モデルを計算し;
ステップ1004:確率モデルに基づいてデコーディング待ちシンボルの確率を計算する。
【0072】
本実施例では、該補助情報は、デコーディング待ちシンボルに関連する情報であっても良い。確率推定時にデコーディング待ちシンボルに関連する補助情報を考慮しているから、デコーディング待ちシンボルの確率をより正確に推定することができる。
【0073】
本実施例では、ステップ1001及びステップ1004がステップ901及びステップ903と同じであるから、ここでは、その詳しい説明を割愛する。
【0074】
本実施例では、ステップ1002において、任意の方式で補助情報を計算しても良い。例えば、受信した、補助情報に対応するビット流に対してハイパーデコーディングを行うことで、補助情報を得ても良い。なお、本発明は、これに限られず、他のデコーディング方式で補助情報を生成することもできる。
【0075】
本実施例では、ステップ802において、任意のントロピーデコーディング、例えば、Shannonエンコーディング、Huffmanエンコーディング、算術エンコーディング(arithmetic coding)などに対応するデコーディングを採用しても良い。
【0076】
図10は、画像デコーディング装置の構成の一例を示す図である。以下、
図10に基づいて本実施例の画像デコーディング方法を例示的に説明する。
【0077】
図10に示すように、まず、算術デコーダにより画像データを表すコードストリームb2に対してエントロピーデコーディングを行い、離散的な潜在表現
(外18)
(即ち、特徴ベクトル又は特徴マップ)を取得し;畳み込みニューラルネットワークデコーダにより潜在表現
(外19)
に対してデコーディングを行い、画像データを再構成する。
【0078】
そのうち、算術デコーダによりエントロピーデコーディングを行うときに、さらに現在の潜在表現
(外20)
の確率を用いる必要があり、該確率は、次のような方式で計算することができ、即ち、離散的な潜在表現
(外21)
がそれぞれ3*3の畳み込みカーネル、5*5の畳み込みカーネル、及び7*7の畳み込みカーネルを経て畳み込み演算後の結果c1、c2及びc3を取得し;畳み込み演算後の結果c1、c2及びc3及び補助情報(Side information)sに基づいて、確率モデル計算ユニットによりデコーディング待ちシンボルの確率モデルを計算し、ガウス分布を例とすれば、確率モデルは、ガウス分布の平均値μ及び標準偏差σを含み;コードストリームb2及び確率モデルに基づいて、第三計算ユニットにより、デコーディング待ちシンボルの確率
(外22)
を計算する。
【0079】
そのうち、補助情報sは、次のような方式で生成することができ、即ち、算術デコーダにより補助情報を表すコードストリームb1に対して算術デコーディングを行い、デコーディングデータg’を生成し;ハイパーデコーダにより、デコーディングデータg’に対してハイパーデコーディング(Hyper decode)を行い、補助情報sを取得する。
【0080】
なお、本実施例では、補助情報s生成時にハイパーデコーディング、算術デコーディングの方式を採用しているが、本発明は、これに限定されず、他のデコーディングの方式で補助情報を生成することもできる。
【0081】
本実施例では、マルチスケールのコンテキストモデルを用いてデコーディング待ちシンボルの確率を推定することで、デコーディング待ちシンボルの確率推定の正確性を向上させることができ、また、該確率に基づいてデコーディング待ちシンボルに対してエントロピーデコーディングを行うことで、画像デコーディングの正確性を向上させることができる。
【実施例3】
【0082】
本実施例3は、さらに、画像エンコーディング装置を提供する。該装置が問題を解決する原理が実施例1の方法と同様であるため、その具体的な実施は、実施例1の方法の実施を参照することができ、ここでは、内容が同じである重複記載を省略する。
【0083】
図11は、該画像エンコーディング装置1100の構成の一例を示す図であり、
図11に示すように、該装置1100は、以下のものを含む。
【0084】
畳み込みニューラルネットワークエンコーダ1101:畳み込みニューラルネットワークを用いて処理待ちの画像データに対してエンコーディングを行い、画像データの特徴ベクトル又は特徴マップを生成し;
量子化器1102:特徴ベクトル又は特徴マップに対して量子化を行い、離散的なエンコーディング待ちシンボルを生成し;
確率推定器1103:マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定し、そのうち、確率推定器1103は、複数の異なるスケールのマスク畳み込み層11031を含み;
エントロピーエンコーダ1104:エンコーディング待ちシンボルの確率に基づいてエントロピーエンコーディングを行う。
【0085】
本実施例では、畳み込みニューラルネットワークエンコーダ1101、量子化器1102、確率推定器1103及びエントロピーエンコーダ1104の実施方式について実施例1におけるステップ101~104を参照することができ、ここでは、その詳しい説明を省略する。
【0086】
本実施例では、マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定することで、エンコーディング待ちシンボルの確率推定の正確性を向上させることができ、また、該確率に基づいてエンコーディング待ちシンボルに対してエントロピーエンコーディングを行うことで、比較的少ないビットを用いて画像データを表すことにより、画像エンコーディングのエンコーディング効率を向上させることもできる。
【0087】
図12は、本実施例の確率推定器1103の構成の一例を示す図である。
図12に示すように、確率推定器1103は、以下のものを含んでも良い。
【0088】
複数の異なるスケールのマスク畳み込み層11031:それぞれ、エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
確率モデル計算ユニット11032:マスク畳み込み層11031の計算結果に基づいて、確率ネットワークによりエンコーディング待ちシンボルの確率モデルを計算し;
第一計算ユニット11033:確率モデルに基づいてエンコーディング待ちシンボルの確率を計算する。
【0089】
本実施例では、複数の異なるスケールのマスク畳み込み層11031、確率モデル計算ユニット11032及び第一計算ユニット11033の実施方式について実施例1におけるステップ401~403を参照することができ、ここでは、その詳しい説明を省略する。
【0090】
図13は、本実施例の確率推定器1103の構成の他の例を示す図である。
図13に示すように、確率推定器1103は、以下のものを含んでも良い。
【0091】
補助情報計算ユニット11034:補助情報を計算し;
複数の異なるスケールのマスク畳み込み層11031:それぞれ、エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
確率モデル計算ユニット11035:マスク畳み込み層11031の計算結果及び補助情報に基づいて、確率ネットワークによりエンコーディング待ちシンボルの確率モデルを計算し;
第一計算ユニット11033:確率モデルに基づいてエンコーディング待ちシンボルの確率を計算する。
【0092】
本実施例では、複数の異なるスケールのマスク畳み込み層11031、補助情報計算ユニット11034、確率モデル計算ユニット11035及び第一計算ユニット11033の実施方式について実施例1におけるステップ501~504を参照することができ、ここでは、その詳しい説明を割愛する。
【0093】
図14は、本実施例の補助情報計算ユニット11034の構成の一例を示す図である。
図14に示すように、補助情報計算ユニット11034は、以下のものを含んでも良い。
【0094】
中間データ抽出ユニット1401:畳み込みニューラルネットワークエンコーダから複数組の中間データを抽出し;
マルチスケール畳み込みユニット1402:複数組の中間データに対してそれぞれ異なるスケールの畳み込み演算を行い、複数組の畳み込み演算結果を取得し;
第二計算ユニット1403:特徴ベクトル又は特徴マップ、及び複数組の畳み込み演算結果に基づいて前記補助情報を計算する。
【0095】
本実施例では、中間データ抽出ユニット1401、マルチスケール畳み込みユニット1402及び第二計算ユニット1403の実施方式について実施例1におけるステップ601~603を参照することができ、ここでは、その詳しい説明を省略する。
【0096】
本実施例では、マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定することで、エンコーディング待ちシンボルの確率推定の正確性を向上させることができ、また、該確率に基づいてエンコーディング待ちシンボルに対してエントロピーエンコーディングを行うことで、比較的少ないビットを用いて画像データを示すことにより、画像エンコーディングのエンコーディング効率を向上させることができる。
【実施例4】
【0097】
本実施例4は、さらに、画像デコーディング装置を提供する。該装置が問題を解決する原理が実施例2の方法と同様であるため、その具体的な実施について実施例2の方法の実施を参照することができ、ここでは、内容が同じである重複説明が省略される。
【0098】
図15は、本実施例の画像デコーディング装置の構成の一例を示す図であり、
図15に示すように、該装置1600は、以下のものを含む。
【0099】
確率推定器1601:マルチスケールのコンテキストモデルを用いて現在のデコーディング待ちシンボルの確率を推定し、そのうち、確率推定器1601は、複数の異なるスケールのマスク畳み込み層16011を含み;
エントロピーデコーダ1602:該確率に基づいてデコーディング待ちシンボルに対してエントロピーデコーディングを行い、特徴ベクトル又は特徴マップを取得し;
畳み込みニューラルネットワークデコーダ1603:特徴ベクトル又は特徴マップに対してデコーディングを行い、画像データを生成する。
【0100】
本実施例では、マルチスケールのコンテキストモデルを用いてデコーディング待ちシンボルの確率を推定することで、デコーディング待ちシンボルの確率推定の正確性を向上させることができ、また、該確率に基づいてデコーディング待ちシンボルに対してエントロピーデコーディングを行うことで、画像デコーディングの正確性を向上させることができる。
【0101】
本実施例では、確率推定器1601、エントロピーデコーダ1602及び畳み込みニューラルネットワークデコーダ1603の実施方式について実施例2におけるステップ801~803を参照することができ、ここでは、その詳細な記載を省略する。
【0102】
図16は、本実施例の確率推定器1601の構成の一例を示す図である。
図16に示すように、確率推定器1601は、以下のものを含む。
【0103】
複数の異なるスケールのマスク畳み込み層16011:それぞれ、デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
確率モデル計算ユニット1701:複数の異なるスケールのマスク畳み込み層16011の計算結果に基づいて、確率ネットワークによりデコーディング待ちシンボルの確率モデルを計算し;
第三計算ユニット1702:該確率モデルに基づいて前記デコーディング待ちシンボルの確率を計算する。
【0104】
本実施例では、複数の異なるスケールのマスク畳み込み層16011、確率モデル計算ユニット1701及び第三計算ユニット1702の実施方式について実施例2におけるステップ901~903を参照することができ、ここでは、その詳しい説明を省略する。
【0105】
図17は、本実施例の確率推定器1601の構成の他の例を示す図である。
図17に示すように、確率推定器1601は、以下のものを含む。
【0106】
複数の異なるスケールのマスク畳み込み層16011:それぞれ、デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
補助情報計算ユニット1801:補助情報を計算し;
確率モデル計算ユニット1802:複数の異なるスケールのマスク畳み込み層16011の計算結果及び補助情報に基づいて、確率ネットワークによりデコーディング待ちシンボルの確率モデルを計算し;
第三計算ユニット1702:該確率モデルに基づいてデコーディング待ちシンボルの確率を計算する。
【0107】
本実施例では、複数の異なるスケールのマスク畳み込み層16011、補助情報計算ユニット1801、確率モデル計算ユニット1802及び第三計算ユニット1702の実施方式について実施例2におけるステップ1001~1004を参照することができ、ここでは、その詳細な記載を割愛する。
【0108】
本実施例では、マルチスケールのコンテキストモデルを用いてデコーディング待ちシンボルの確率を推定することで、デコーディング待ちシンボルの確率推定の正確性を向上させることができ、また、該確率に基づいてデコーディング待ちシンボルに対してエントロピーデコーディングを行うことで、画像デコーディングの正確性を向上させることもできる。
【実施例5】
【0109】
本発明の実施例は、さらに、電子機器を提供し、それは、実施例3に記載の画像エンコーディング装置又は実施例4に記載の画像デコーディング装置を含む。該電子機器は、例えば、コンピュータ、サーバー、ワークステーション、スマートフォンなどであっても良いが、本発明は、これに限られない。
【0110】
図18は、本実施例の電子機器の構成の一例を示す図である。
図18に示すように、電子機器1900は、処理器(例えば、中央処理装置CPU)1910及び記憶器1920を含み、記憶器1920は、中央処理器1910に接続される。そのうち、該記憶器1920は、各種のデータを記憶することができ、また、情報処理用のプログラムを記憶し、処理器1910の制御下で該プログラムを実行することもできる。
【0111】
1つの実施方式では、画像エンコーディング装置1100又は画像デコーディング装置1600の機能が処理器1910に集積されても良い。そのうち、処理器1910は、実施例1に記載の画像エンコーディング方法又は実施例2に記載の画像デコーディング方法を実現するように構成されても良い。
【0112】
他の実施方式では、画像エンコーディング装置1100又は画像デコーディング装置1600が処理器1910と別々で配置されても良く、例えば、画像エンコーディング装置1100又は画像デコーディング装置1600を処理器1910に接続されるチップ(chip)として構成し、処理器1910の制御により画像エンコーディング装置1100又は画像デコーディング装置1600の機能を実現しても良い。
【0113】
例えば、処理器1910は、次のような制御を行うように構成されても良く、即ち、処理待ちの画像データに対して畳み込みニューラルネットワークエンコーディングを行い、特徴ベクトル又は特徴マップを生成し;特徴ベクトル又は特徴マップに対して量子化を行い、離散的なエンコーディング待ちシンボルを生成し;マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定し、そのうち、マルチスケールのコンテキストモデルは、複数の異なるスケールのマスク畳み込み層を含み;及び、エンコーディング待ちシンボルの確率に基づいてエントロピーエンコーディングを行う。
【0114】
或いは、例えば、処理器1910は、次のような制御を行うように構成されても良く、即ち、マルチスケールのコンテキストモデルに基づいて現在のデコーディング待ちシンボルの確率を推定し、そのうち、マルチスケールのコンテキストモデルは、複数の異なるスケールのマスク畳み込み層を含み;確率に基づいてデコーディング待ちシンボルに対してエントロピーデコーディングを行い、特徴ベクトル又は特徴マップを取得し;及び、特徴ベクトル又は特徴マップに対して畳み込みニューラルネットワークデコーディングを行い、画像データを生成する。
【0115】
該処理器1910の具体的な実施方式は、実施例1又は実施例2を参照することができ、ここでは、その詳しい説明を省略する。
【0116】
また、
図18に示すように、電子機器1900は、さらに、送受信ユニット1930などを含んでも良く、そのうち、これらの部品の機能は、従来技術と同様であるから、ここでは、その詳しい説明を省略する。なお、電子機器1900は、
図18に示す全ての部品を含む必要がない。また、電子機器1900は、さらに、
図18に無い部品を含んでも良く、これについては、従来技術を参照することができる。
【0117】
本発明の実施例は、さらに、コンピュータ可読プログラムを提供し、そのうち、画像エンコーディング装置中で該プログラムを実行するときに、該プログラムは、コンピュータに、該画像エンコーディング装置中で実施例1における画像エンコーディング方法を実行させる。
【0118】
本発明の実施例は、さらに、コンピュータ可読プログラムを記憶した記憶媒体を提供し、そのうち、該コンピュータ可読プログラムは、コンピュータに、画像エンコーディング装置中で実施例1における画像エンコーディング方法を実行させる。
【0119】
本発明の実施例は、さらに、コンピュータ可読プログラムを提供し、そのうち、画像デコーディング装置中で該プログラムを実行するときに、該プログラムは、コンピュータに、該画像デコーディング装置中で実施例2における画像デコーディング方法を実行させる。
【0120】
本発明の実施例は、さらに、コンピュータ可読プログラムを記憶した記憶媒体を提供し、そのうち、該コンピュータ可読プログラムは、コンピュータに、画像デコーディング装置中執で実施例2における画像デコーディング方法を実行させる。
【0121】
本発明の実施例で説明した前記方法、装置などは、ハードウェア、処理器により実行されるソフトウェアモジュール、又は、両者の組み合わせにより実現することができる。例えば、
図7、
図10~
図17に示す機能ブロック図における1つ又は複数の機能及び/又は機能ブロック図における1つ又は複数の機能の組み合わせは、コンピュータプログラムにおける各ソフトウェアモジュールに対応しても良く、各ハードウェアモジュールに対応しても良い。また、これらのソフトウェアモジュールは、それぞれ、
図1、
図4~
図6、
図8~
図9Bに示す各ステップに対応することができる。これらのハードウェアモジュールは、例えば、FPGA(field-programmable gate array)を用いてこれらのソフトウェアモジュールを固化して実現することができる。
【0122】
また、本発明は、このようなコンピュータ可読プログラムにも関し、即ち、前記プログラムは、ロジック部品により実行される時に、前記ロジック部品に、上述の装置又は構成要素を実現させることができ、又は、前記ロジック部品に、上述の方法又はそのステップを実現させることができる。さらに、本発明は、上述のプログラムを記憶した記憶媒体、例えば、ハードディスク、磁気ディスク、光ディスク、DVD、フレッシュメモリなどにも関する。
【0123】
また、以上の実施例などに関し、さらに以下のように付記を開示する。
【0124】
(付記1)
画像エンコーディング方法であって、
処理待ちの画像データに対して畳み込みニューラルネットワークエンコーディングを行い、特徴ベクトル又は特徴マップを生成し;
前記特徴ベクトル又は特徴マップに対して量子化を行い、離散的な前記エンコーディング待ちシンボルを生成し;
マルチスケールのコンテキストモデルを用いて前記エンコーディング待ちシンボルの確率を推定し、そのうち、前記マルチスケールのコンテキストモデルは、複数の異なるスケールのマスク畳み込み層を含み;及び
前記エンコーディング待ちシンボルの確率に基づいてエントロピーエンコーディングを行うことを含む、方法。
【0125】
(付記2)
付記1に記載の画像エンコーディング方法であって、
前記マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定することは、
複数の異なるスケールの前記マスク畳み込み層を用いて、それぞれ、前記エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
前記マスク畳み込み層の計算結果に基づいて、確率ネットワークにより前記エンコーディング待ちシンボルの確率モデルを計算し;及び
前記確率モデルに基づいて前記エンコーディング待ちシンボルの確率を計算することを含む、方法。
【0126】
(付記3)
付記1に記載の画像エンコーディング方法であって、
前記マルチスケールのコンテキストモデルを用いてエンコーディング待ちシンボルの確率を推定することは、
複数の異なるスケールの前記マスク畳み込み層を用いて、それぞれ、前記エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
補助情報を計算し;
前記マスク畳み込み層の計算結果及び補助情報に基づいて、確率ネットワークにより前記エンコーディング待ちシンボルの確率モデルを計算し;及び
前記確率モデルに基づいて前記エンコーディング待ちシンボルの確率を計算することを含む、方法。
【0127】
(付記4)
付記3に記載の画像エンコーディング方法であって、
補助情報を計算することは、
前記畳み込みニューラルネットワークエンコーディングのプロセスから複数組の中間データを抽出し;
前記複数組の中間データに対してそれぞれ異なるスケールの畳み込み演算を行い、複数組の畳み込み演算結果を取得し;及び
前記特徴ベクトル又は特徴マップ、及び前記複数組の畳み込み演算結果に基づいて前記補助情報を計算することを含む、方法。
【0128】
(付記5)
付記4に記載の画像エンコーディング方法であって、
前記中間データは3組あり、前記複数組の畳み込み演算のスケールは、それぞれ、5*5、7*7、及び9*9である、方法。
【0129】
(付記6)
付記1に記載の画像エンコーディング方法であって、
前記マスク畳み込み層が、前記エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行うために用いられ、そのうち、前記エンコーディング待ちシンボルの前のエンコーディング済みシンボルの重みを1に設定し、前記エンコーディング待ちシンボルの後の未エンコーディングシンボルの重みを0に設定する、方法。
【0130】
(付記7)
付記1に記載の画像エンコーディング方法であって、
前記マスク畳み込み層の数は3つであり、前記マスク畳み込み層のサイズは、それぞれ、3*3、5*5、及び7*7である、方法。
【0131】
(付記8)
画像デコーディング方法であって、
マルチスケールのコンテキストモデルにより現在のデコーディング待ちシンボルの確率を推定し、前記マルチスケールのコンテキストモデルは、複数の異なるスケールのマスク畳み込み層を含み;
前記確率に基づいて前記デコーディング待ちシンボルに対してエントロピーデコーディングを行い、特徴ベクトル又は特徴マップを取得し;及び
前記特徴ベクトル又は特徴マップに対して畳み込みニューラルネットワークデコーディングを行い、画像データを生成することを含む、方法。
【0132】
(付記9)
付記8に記載の画像デコーディング方法であって、
前記マルチスケールのコンテキストモデルを用いてデコーディング待ちシンボルの確率を推定することは、
複数の異なるスケールの前記マスク畳み込み層を用いてそれぞれ前記デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
前記マスク畳み込み層の計算結果に基づいて、確率ネットワークにより前記デコーディング待ちシンボルの確率モデルを計算し;及び
前記確率モデルに基づいて前記デコーディング待ちシンボルの確率を計算することを含む、方法。
【0133】
(付記10)
付記8に記載の画像デコーディング方法であって、
前記マルチスケールのコンテキストモデルを用いてデコーディング待ちシンボルの確率を推定することは、
複数の異なるスケールの前記マスク畳み込み層を用いてそれぞれ前記デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
補助情報を計算し;
前記マスク畳み込み層の計算結果及び前記補助情報に基づいて、確率ネットワークにより前記デコーディング待ちシンボルの確率モデルを計算し;及び
前記確率モデルに基づいて前記デコーディング待ちシンボルの確率を計算することを含む、方法。
【0134】
(付記11)
付記8に記載の画像デコーディング方法であって、
前記マスク畳み込み層が、前記デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行うために用いられ、そのうち、前記デコーディング待ちシンボルの前のデコーディング済みシンボルの重みを1に設定し、前記デコーディング待ちシンボルの後の未デコーディングシンボルの重みを0に設定する、方法。
【0135】
(付記12)
付記8に記載の画像エンコーディング方法であって、
前記マスク畳み込み層の数は3つであり、前記マスク畳み込み層のサイズは、それぞれ、3*3、5*5、及び7*7である、方法。
【0136】
(付記13)
画像エンコーディング装置であって、
畳み込みニューラルネットワークを用いて処理待ちの画像データに対してエンコーディングを行い、前記画像データの特徴ベクトル又は特徴マップを生成する畳み込みニューラルネットワークエンコーダ;
前記特徴ベクトル又は特徴マップに対して量子化を行い、離散的なエンコーディング待ちシンボルを生成する量子化器;
マルチスケールのコンテキストモデルを用いて前記エンコーディング待ちシンボルの確率を推定し、複数の異なるスケールのマスク畳み込み層を含む確率推定器;及び
前記エンコーディング待ちシンボルの確率に基づいてエントロピーエンコーディングを行うエントロピーエンコーダを含む、装置。
【0137】
(付記14)
付記13に記載の画像エンコーディング装置であって、
複数の異なるスケールの前記マスク畳み込み層は、それぞれ、前記エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い;
前記確率推定器は、さらに、
複数の異なるスケールの前記マスク畳み込み層の計算結果に基づいて、確率ネットワークにより前記エンコーディング待ちシンボルの確率モデルを計算する確率モデル計算ユニット;及び
前記確率モデルに基づいて前記エンコーディング待ちシンボルの確率を計算する第一計算ユニットを含む、装置。
【0138】
(付記15)
付記13に記載の画像エンコーディング装置であって、
複数の異なるスケールの前記マスク畳み込み層は、それぞれ、前記エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い、
前記確率推定器は、さらに、
補助情報を計算する補助情報計算ユニット;
複数の異なるスケールの前記マスク畳み込み層の計算結果及び前記補助情報に基づいて、確率ネットワークにより、前記エンコーディング待ちシンボルの確率モデルを計算する確率モデル計算ユニット;及び
前記確率モデルに基づいて前記エンコーディング待ちシンボルの確率を計算する第一計算ユニットを含む、装置。
【0139】
(付記16)
付記15に記載の画像エンコーディング装置であって、
前記補助情報計算ユニットは、
前記畳み込みニューラルネットワークエンコーダから複数組の中間データを抽出する中間データ抽出ユニット;
前記複数組の中間データに対してそれぞれ異なるスケールの畳み込み演算を行い、複数組の畳み込み演算結果を得るマルチスケール畳み込みユニット;及び
前記特徴ベクトル又は特徴マップ、及び前記複数組の畳み込み演算結果に基づいて前記補助情報を計算する第二計算ユニットを含む、装置。
【0140】
(付記17)
付記16に記載の画像エンコーディング装置であって、
前記中間データは3組あり、前記マルチスケール畳み込みユニットのスケールは、それぞれ、5*5、7*7、及び9*9である、装置。
【0141】
(付記18)
付記13に記載の画像エンコーディング装置であって、
前記マスク畳み込み層が、前記エンコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行うために用いられ、前記エンコーディング待ちシンボルの前のエンコーディング済みシンボルの重みを1に設定し、前記エンコーディング待ちシンボルの後の未エンコーディングシンボルの重みを0に設定する、装置。
【0142】
(付記19)
付記13に記載の画像エンコーディング装置であって、
前記マスク畳み込み層の数が3つであり、前記マスク畳み込み層のサイズがそれぞれ3*3、5*5、及び7*7である、装置。
【0143】
(付記20)
画像デコーディング装置であって、
マルチスケールのコンテキストモデルを用いて現在のデコーディング待ちシンボルの確率を推定し、複数の異なるスケールのマスク畳み込み層を含む確率推定器;
前記確率に基づいて前記デコーディング待ちシンボルに対してエントロピーデコーディングを行い、特徴ベクトル又は特徴マップを得るエントロピーデコーダ;及び
前記特徴ベクトル又は特徴マップに対してデコーディングを行い、画像データを生成する畳み込みニューラルネットワークデコーダを含む、装置。
【0144】
(付記21)
付記20に記載の画像デコーディング装置であって、
複数の異なるスケールの前記マスク畳み込み層は、それぞれ、前記デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い、
前記確率推定器は、さらに、
前記マスク畳み込み層の計算結果に基づいて、確率ネットワークにより、前記デコーディング待ちシンボルの確率モデルを計算する確率モデル計算ユニット;及び
前記確率モデルに基づいて前記デコーディング待ちシンボルの確率を計算する第三計算ユニットを含む、装置。
【0145】
(付記22)
付記20に記載の画像デコーディング装置であって、
複数の異なるスケールの前記マスク畳み込み層は、それぞれ、前記デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行い、
前記確率推定器は、さらに、
補助情報を計算する補助情報計算ユニット;
前記マスク畳み込み層の計算結果及び前記補助情報に基づいて、確率ネットワークにより前記デコーディング待ちシンボルの確率モデルを計算する確率モデル計算ユニット;及び
前記確率モデルに基づいて前記デコーディング待ちシンボルの確率を計算する第三計算ユニットを含む、装置。
【0146】
(付記23)
付記20に記載の画像デコーディング装置であって、
前記マスク畳み込み層が、前記デコーディング待ちシンボルを中心とする複数のシンボルに対して畳み込み演算を行うために用いられ、前記デコーディング待ちシンボルの前のデコーディング済みシンボルの重みが1と設定され、前記デコーディング待ちシンボルの後の未デコーディングシンボルの重みが0と設定される、装置。
【0147】
(付記24)
付記20に記載の画像エンコーディング装置であって、
前記マスク畳み込み層の数が3つであり、前記マスク畳み込み層のサイズがそれぞれ3*3、5*5、及び7*7である、装置。
【0148】
以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の技術的範囲に属する。