(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-19
(45)【発行日】2024-04-30
(54)【発明の名称】画像復号装置、制御方法、およびプログラム
(51)【国際特許分類】
H04N 19/44 20140101AFI20240422BHJP
H04N 19/63 20140101ALI20240422BHJP
H04N 19/169 20140101ALI20240422BHJP
H04N 19/85 20140101ALI20240422BHJP
H04N 1/64 20060101ALI20240422BHJP
【FI】
H04N19/44
H04N19/63
H04N19/169 300
H04N19/85
H04N1/64
(21)【出願番号】P 2019213302
(22)【出願日】2019-11-26
【審査請求日】2022-11-08
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100125254
【氏名又は名称】別役 重尚
(72)【発明者】
【氏名】坂本 大輔
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】特開2005-260373(JP,A)
【文献】特開平3-273761(JP,A)
【文献】特開2003-101789(JP,A)
【文献】特開2019-28746(JP,A)
【文献】特開2020-198463(JP,A)
【文献】特開2009-49637(JP,A)
【文献】特表2010-503254(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/41- 1/419
H04N 1/64
H04N 7/12
H04N 19/00-19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
画像データに対して周波数変換
を行うことにより得られた複数の
サブバンドデータを
、サブバンド毎に量子化して符号化することにより得られた符号化データを復号する画像復号装置であって、
前記符号化データを復号する復号手段と、
前記復号手段により復号したデータを逆量子化して、複数のサブバンドデータを取得する逆量子化手段と、
前記逆量子化手段により取得した前記複数のサブバンドデータに対して推論を実行することにより、量子化により劣化したデータが復元された複数のサブバンドデータを取得する推論手段であって、前記複数のサブバンド毎に、サブバンドに対応する推論パラメータを用いて
、当該サブバンドに対応するサブバンドデータに対して推論を実行する推論手段
と、を備
え、
前記推論手段は、
前記複数のサブバンドにそれぞれ対応するように学習された推論パラメータである第1の推論パラメータを用いて、前記複数のサブバンドデータに対する第1の推論を実行し、
学習された第2の推論パラメータを用いて、前記第1の推論によって復元された後のサブバンドデータに対する第2の推論を実行する、ことを特徴とする画像復号装置。
【請求項2】
前記
第1の推論パラメータは、前記複数の
サブバンドにそれぞれ対応するようにニューラルネットワークによって学習された重みおよびバイアスであり、
前記推論手段は、前記重みおよび前記バイアスが設定されるニューラルネットワークを備える、ことを特徴とする請求項1に記載の画像復号装置。
【請求項3】
前記推論手段は、前記第1の推論を実行する第1の推論手段と、前記第2の推論を実行する第2の推論手段とを備える、ことを特徴とする請求項
1に記載の画像復号装置。
【請求項4】
前記推論手段は、前記第1の推論パラメータを用いて前記第1の推論を実行した後に、前記第1の推論パラメータを前記第2の推論パラメータに切り替えて前記第2の推論を実行する、ことを特徴とする請求項
1に記載の画像復号装置。
【請求項5】
前記第2の推論は、符号化される前の画像データの画素データを用いて学習された前記第2の推論パラメータを用いた推論である、ことを特徴とする請求項
1から
請求項4のいずれか1項に記載の画像復号装置。
【請求項6】
前記第2の推論は、符号化される前のRAW画像データを用いて学習された前記第2の推論パラメータを用いた、前記第1の推論の後に取得されたRAW画像データに対する推論である、ことを特徴とする請求項
1から請求項
4のいずれか1項に記載の画像復号装置。
【請求項7】
前記第2の推論は、符号化される前の色プレーン毎の画像データを用いて学習された前記第2の推論パラメータを用いた、前記第1の推論の後に取得された色プレーン毎の画像データに対する推論である、ことを特徴とする請求項
1から請求項
4のいずれか1項に記載の画像復号装置。
【請求項8】
前記第1の推論において、1以上のサブバンドに対応する推論をスキップする、ことを特徴とする請求項
1から請求項
7のいずれか1項に記載の画像復号装置。
【請求項9】
スキップされる前記推論は、所定の圧縮率を上回るサブバンドに対応する推論である、ことを特徴とする請求項
8に記載の画像復号装置。
【請求項10】
前記推論パラメータは圧縮率毎に学習される、ことを特徴とする請求項1から請求項
9のいずれか1項に記載の画像復号装置。
【請求項11】
画像データに対して周波数変換
を行うことにより得られた複数の
サブバンドデータを
、サブバンド毎に量子化して符号化することにより得られた符号化データを復号する画像復号装置の制御方法であって、
前記符号化データを復号する復号工程と、
前記復号工程で復号したデータを逆量子化して、複数のサブバンドデータを取得する逆量子化工程と、
前記逆量子化工程で取得した前記複数のサブバンドデータに対して推論を実行することにより、量子化により劣化したデータが復元された複数のサブバンドデータを取得する推論工程であって、前記複数のサブバンド毎に、サブバンドに対応する推論パラメータを用いて
、当該サブバンドに対応するサブバンドデータに対して推論を実行する
推論工程と、を備え、
前記推論工程は、
前記複数のサブバンドにそれぞれ対応するように学習された推論パラメータである第1の推論パラメータを用いて、前記複数のサブバンドデータに対する第1の推論を実行し、
学習された第2の推論パラメータを用いて、前記第1の推論によって復元された後のサブバンドデータに対する第2の推論を実行する、ことを特徴とする制御方法。
【請求項12】
コンピュータを、請求項1から請求項
10のいずれか1項に記載された画像復号装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化されたデータを復号する画像復号装置、制御方法、およびプログラムに関する。
【背景技術】
【0002】
近年、CCDセンサやCMOSセンサ等のイメージセンサを採用した撮像素子を有するデジタルカメラやデジタルカムコーダ等の撮像装置が使用されている。以上のようなイメージセンサにおいては、センサ表面に設けられたカラーフィルタアレイ(CFA)によって1画素が1つの色成分を構成する。CFAを用いることによって、例えば、
図1に示すような周期的なパターンで色成分(R(赤)、G0(緑)、B(青)、G1(緑))が配置されたベイヤー配列の画像データ(以下、RAWデータと称することがある)が取得される。
【0003】
人間の視覚特性は、輝度成分に対して相対的に高い感度を有している。以上の知見に基づき、一般的なベイヤー配列においては、
図1に示すように、輝度成分をより多く含む緑成分の画素数が、赤成分の画素数および青成分の画素数よりもそれぞれ2倍となるように割り当てられている。
【0004】
したがって、RAWデータの各画素は1つの色成分の情報のみを有する。撮像装置の画像処理において、RAWデータに対してデモザイク処理を実行することによって各画素が赤、青、緑の色成分を有することとなる。一般には、RAWデータに対するデモザイク処理によって取得されたRGB信号、またはRGB信号から変換されたYUV信号を符号化した画像データが撮像装置に記録される。
【0005】
以上のデモザイク処理によって各画素がRGBまたはYUVの3つの色成分を有することとなった画像データは、元のRAWデータの3倍のデータ量を必要とする。したがって、デモザイク処理を実行していないRAWデータ自体を直接的に符号化して記録することによりデータ容量を低減する手法が提案されている。例えば、特許文献1には、RAWデータをR、G0、B、G1の4つの色プレーンに分離した後に符号化する手法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記した符号化に関し、ウェーブレット変換等の周波数変換によって周波数帯(例えば、サブバンド)毎にデータを符号化する場合、周波数帯毎に量子化の程度が異なるケースが存在する。以上のように符号化されたデータを周波数帯に関わらず一括して処理すると、元のデータを精度良く復元できないという課題がある。
【0008】
以上の事情に鑑み、本発明は、符号化されたデータをより高精度に復元することができる画像復号装置、制御方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明の画像復号装置は、画像データに対して周波数変換を行うことにより得られた複数のサブバンドデータを、サブバンド毎に量子化して符号化することにより得られた符号化データを復号する画像復号装置であって、前記符号化データを復号する復号手段と、前記復号手段により復号したデータを逆量子化して、複数のサブバンドデータを取得する逆量子化手段と、前記逆量子化手段により取得した前記複数のサブバンドデータに対して推論を実行することにより、量子化により劣化したデータが復元された複数のサブバンドデータを取得する推論手段であって、前記複数のサブバンド毎に、サブバンドに対応する推論パラメータを用いて、当該サブバンドに対応するサブバンドデータに対して推論を実行する推論手段と、を備え、前記推論手段は、前記複数のサブバンドにそれぞれ対応するように学習された推論パラメータである第1の推論パラメータを用いて、前記複数のサブバンドデータに対する第1の推論を実行し、学習された第2の推論パラメータを用いて、前記第1の推論によって復元された後のサブバンドデータに対する第2の推論を実行する、ことを特徴とする。
【発明の効果】
【0010】
本発明によれば、符号化されたデータをより高精度に復元することができる。
【図面の簡単な説明】
【0011】
【
図2】本発明の第1実施形態に係る画像符号化装置の構成を例示するブロック図である。
【
図3】本発明の第1実施形態におけるプレーン変換の説明図である。
【
図4】本発明の第1実施形態における可逆5-3DWT変換の説明図である。
【
図5】本発明の第1実施形態におけるサブバンド分解についての説明図である。
【
図6】本発明の第1実施形態に係る画像復号装置の構成を例示するブロック図である。
【
図7】本発明の第1実施形態における可逆5-3逆DWT変換の説明図である。
【
図8】本発明の第1実施形態に係る周波数劣化復元部の構成を例示するブロック図である。
【
図9】本発明の第1実施形態に係るニューロンの構成を例示する図である。
【
図10】本発明の第1実施形態に係るニューラルネットワークの構成を例示する図である。
【
図11】本発明の第1実施形態に係るニューラルネットワークの別の構成を例示する図である。
【
図12】本発明の第1実施形態に係るニューラルネットワークの学習過程の説明図である。
【
図13】本発明の第2実施形態に係る画像復号装置の構成を例示するブロック図である。
【
図14】量子化によるDWT係数の情報喪失の説明図である。
【
図15】本発明の第2実施形態に係るニューラルネットワークの学習過程の説明図である。
【
図16】本発明の第2実施形態における圧縮率に応じた復元処理を示すフローチャートである。
【
図17】本発明の第2実施形態に係る画像復号装置の他の構成を例示するブロック図である。
【
図18】本発明の第3実施形態に係る画像復号装置の構成を例示するブロック図である。
【
図19】本発明の変形例における4×4DCTの量子化マトリクスおよび学習・推論グループの説明図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について添付図面を参照しながら詳細に説明する。以下に説明される各実施形態は、本発明を実現可能な構成の一例に過ぎない。以下の各実施形態は、本発明が適用される装置の構成や各種の条件に応じて適宜に修正または変更することが可能である。また、以下の各実施形態に含まれる要素の組合せの全てが本発明を実現するに必須であるとは限られず、要素の一部を適宜に省略することが可能である。したがって、本発明の範囲は、以下の各実施形態に記載される構成によって限定されるものではない。また、相互に矛盾のない限りにおいて実施形態内に記載された複数の構成を組み合わせた構成も採用可能である。
【0013】
<第1実施形態>
本発明の第1実施形態に係る画像復号装置60を説明するのに先立ち、画像復号装置60によって復号されるべき符号化データの生成について、
図2から
図6を参照して説明する。
【0014】
図2は、本発明の実施形態に係る画像符号化装置20の構成を例示するブロック図である。
図2に示すように、画像符号化装置20は、プレーン変換部200、周波数変換部201、量子化部202、量子化パラメータ設定部203、およびエントロピー符号化部204を含む。
【0015】
本実施形態において、符号化方式としてJPEG2000が例示され、周波数変換方式として可逆5-3DWT変換が例示される。しかしながら、本発明は以上の方式に限定されず、任意の符号化方式および周波数変換方式が採用され得る。また、本実施形態の量子化パラメータは、DWT変換によって分割されたサブバンド(周波数帯)毎に設定される。
【0016】
プレーン変換部200は、撮像素子を含む撮像手段から入力される画像データ(RAWデータ)に対して色分離を実行する。すなわち、プレーン変換部200は、
図3に示すように、ベイヤー配列の色要素を含むRAWデータを、色プレーン(R、G0、G1、B)毎の独立したプレーンデータに分解して、周波数変換部201に出力する。
【0017】
周波数変換部201は、プレーン変換部200から入力されるプレーンデータに対して、それぞれウェーブレット変換を実行して、サブバンド毎に変換係数(サブバンド係数)を生成し、量子化部202に出力する。変換係数は、対象データ(すなわち、プレーンデータ)とウェーブレットとの相関を示す値である。前述したように、周波数変換部201は、ウェーブレット変換として可逆5-3DWT変換を実行する。
【0018】
図4および
図5を参照して、可逆5-3DWT変換(以下、単に「DWT変換」と称する)について説明する。
図4は、プレーン変換部200から出力された画素データ(プレーンデータ)に対するDWT変換によって生成される変換係数(DWT係数)を説明する説明図である。
図5は、サブバンド分解についての説明図である。
【0019】
周波数変換部201が、画素データa,b,c,d,eに対してDWT変換を実行すると、高周波成分のDWT係数b’,d’が生成される。より具体的には、周波数変換部201は、画素データa,b,cに対して以下の式(1)を適用してDWT係数b’を生成すると共に、画素データc,d,eに対して以下の式(2)に適用してDWT係数d’を生成する。なお、高周波成分のDWT係数を生成する式(1)および式(2)は、使用する画素データが互いに相違しているが型は同一である。
b’=b-(a+c)/2 ……式(1)
d’=d-(c+e)/2 ……式(2)
【0020】
次いで、周波数変換部201が、画素データcおよび高周波成分のDWT係数b’,d’に対してDWT変換を実行すると、低周波成分のDWT係数c”が生成される。より具体的には、画素データcおよびDWT係数b’,d’に対して以下の式(3)を適用してDWT係数c”を生成する。
c”=c+(b’+d’+2)/4 ……式(3)
【0021】
なお、周波数変換部201は、式(3)に代えて、画素データa,b,c,d,eに対して以下の式(4)を適用してDWT係数c”を生成してもよい。
c”=(a+2b+6c+2d-e)/8 ……式(4)
【0022】
周波数変換部201が、上述した1次元のDWT変換を垂直方向および水平方向に亘ってプレーンデータに対して実行することで、
図5(a)に示すような分解レベル1の4つのサブバンド画像の信号が取得される。すなわち、以上のDWT変換によって、1つのプレーン画像が4つのサブバンド画像1LL,1HL,1LH,1HHに分解される。
図5において、「H」は高周波成分を示し、「L」は低周波成分を示す。例えば、
図5(a)の右下の「1HH」は、水平方向および垂直方向の双方が高周波成分(H)である分解レベル1のサブバンドを示す。
【0023】
図5(a)に示すように、分解レベル1の各サブバンドの水平方向および垂直方向の係数の数は、入力された画素データのそれぞれの係数の数の半分である。また、
図5(b)に示すように、サブバンド1LLに対してさらにDWT変換を実行した分解レベル2の各サブバンドの水平方向および垂直方向の係数の数は、分解レベル1のサブバンドのそれぞれの係数の数の半分である。
【0024】
量子化部202は、周波数変換部201から入力されるサブバンド毎のDWT係数(変換係数)を、後述する量子化パラメータ設定部203によって設定された量子化パラメータに従って量子化して、エントロピー符号化部204に出力する。
【0025】
量子化パラメータ設定部203は、ユーザからの指示等によって設定された圧縮率にしたがって、各サブバンドのDWT係数を量子化する際の量子化パラメータを特定して、量子化部202に設定する。一般に、サブバンドの周波数がより高いほど、またはサブバンドの分解レベルが低いほど、より強く量子化が実行されるようにパラメータを設定することで、同一の符号量で画質を向上させることができる。以上のようなサブバンドほど、量子化した際の視覚的な影響が小さいからである。本例において、分解レベル2までの周波数変換を実行する場合は、量子化の強度が2HH>2HL≒2LH>1HH>1HL≒1LH>1LLとなるように、量子化パラメータ設定部203がパラメータを設定すると好適である。
【0026】
エントロピー符号化部204は、量子化部202において量子化されたDWT係数および量子化パラメータを符号化して符号化データを生成し、符号化ストリームとして出力する。以上の符号化においては、例えば、EBCOT(Embedded Block Coding with Optimized Truncation)等のエントロピー符号化が実行される。
【0027】
次いで、本発明の第1実施形態に係る画像復号装置60の構成および復号手法について説明する。画像復号装置60は、上記した画像符号化装置20が生成した符号化データ(サブバンド符号化された画像データ)を以下に説明するように復号して、元の画像データ(ベイヤー配列のRAWデータ)を復元する。
【0028】
図6は、本発明の第1実施形態に係る画像復号装置60の構成を例示するブロック図である。
図6に示すように、画像復号装置60は、エントロピー復号部600、逆量子化部601、周波数劣化復元部602、逆周波数変換部603、ベイヤー変換部604、および周波数パラメータ設定部605を機能ブロックとして含む。
【0029】
以上の機能ブロックによって実行される以下の本実施形態の処理は、画像復号装置60が有する1以上の制御プロセッサが、ROM等の不揮発メモリ内のプログラムをRAM等の揮発メモリに展開して実行することによって実現される。上記した本実施形態の処理には、本実施形態による後述の学習モデル(ニューラルネットワーク)を用いた学習および推論が含まれる。
【0030】
エントロピー復号部600は、EBCOTのようなエントロピー符号化手法によって符号化されたDWT係数および量子化パラメータを復号して、復号されたDWT係数を取得し、逆量子化部601に出力する。
【0031】
逆量子化部601は、エントロピー復号部600から入力された復号後のDWT係数を、量子化パラメータを用いて逆量子化して、逆量子化されたDWT係数を取得し、周波数劣化復元部602に出力する。
【0032】
周波数パラメータ設定部605は、サブバンド毎および圧縮率毎に学習されたニューラルネットワークのパラメータ(重みおよびバイアス)を、復号される符号化ストリームの圧縮率に応じて選択して周波数劣化復元部602に設定する。以下、ニューラルネットワーク(Neural Network)を「NN」と省略することがある。
【0033】
周波数劣化復元部602(推論手段)は、逆量子化部601から入力された逆量子化後のDWT係数に対し、周波数パラメータ設定部605が設定した推論パラメータを有するNNを適用して、量子化により劣化したDWT係数を推論によって復元する。周波数劣化復元部602の構成およびパラメータの学習過程については後に詳述される。
【0034】
逆周波数変換部603は、周波数劣化復元部602から入力された復元後のDWT係数に対して逆周波数変換(逆DWT変換)を施して、色プレーン(R、G0、G1、B)毎の独立したプレーンデータを再構成する。再構成されたプレーンデータはベイヤー変換部604に出力される。
【0035】
図7を参照して、逆周波数変換部603が実行する逆DWT変換である可逆5-3DWT逆変換について説明する。
図7において、DWT係数a’,c’,e’は高周波の周波数変換係数であり、DWT係数b”,d”は低周波の周波数変換係数である。逆周波数変換部603がDWT係数a’,b”,c’,d”,e’に対して逆DWT変換を実行すると、画素データb,c,dが生成される。より具体的には、逆周波数変換部603は、DWT係数a’,b”,c’に対して以下の式(5)を適用して画素データbを生成すると共に、DWT係数c’,d”,e’に対して以下の式(6)を適用して画素データdを生成する。なお、画素データを生成する式(5)および式(6)は、使用するDWT係数が互いに相違しているが型は同一である。
図7の2行目の画素データb,dは、DWT変換開始位置の画素の0番目とした時の各プレーンにおける偶数番目の画素データを示す。
b=b”-(a’+c’+2)/4 ……式(5)
d=d”-(c’+e’+2)/4 ……式(6)
【0036】
次いで、逆周波数変換部603が、DWT係数c’および画素データb,dに対して逆DWT変換を実行すると、画素データcが生成される。より具体的には、DWT係数c’および画素データb,dに対して以下の式(7)を適用して画素データcを生成する。
図7の3行目の画素データcは、DWT変換開始位置の画素の0番目とした時の各プレーンにおける奇数番目の画素データを示す。
c=c’+(b+d)/2 ……式(7)
【0037】
逆周波数変換部603は、水平方向および垂直方向に亘って上記した逆DWT変換を繰り返し実施することによって、各プレーンの画素データを再構成する。
【0038】
ベイヤー変換部604は、逆周波数変換部603において再構成された色プレーン(R、G0、G1、B)毎の独立したプレーンデータを、ベイヤー配列のRAW画像に再合成し、RAW画像に相当するRAWデータを出力する。
【0039】
次いで、周波数劣化復元部602における学習モデル(ニューラルネットワーク)を用いた劣化DWT係数の推論による復元について、
図8から
図12を参照して詳細に説明する。
図5(a)に示すような分解レベル1のDWT係数における劣化復元を例示して説明する。
【0040】
図8に示すように、周波数劣化復元部602は、1LL復元部800、1HL復元部801、1LH復元部802、および1HH復元部803を有する。すなわち、周波数劣化復元部602は、4つのサブバンド1LL,1HL,1LH,1HHにそれぞれ対応する4つの復元部800,801,802,803を有する。
【0041】
図示のように、1LL復元部800は、逆量子化部601から入力された1LLサブバンドのDWT係数(サブバンドデータ)に対して、対応するパラメータを設定したNNを適用して推論を実行し、量子化による劣化を復元した1LLサブバンドを出力する。他の復元部801,802,803も同様に、それぞれ、逆量子化部801からのサブバンドのDWT係数に対して、対応するパラメータを設定したNNを適用して、量子化による劣化を復元したサブバンドのDWT係数を出力する。
【0042】
1LL復元部800、1HL復元部801、1LH復元部802、および1HH復元部803におけるNNの構成は、同一であっても互いに異なっていてもよい。他方、1LL復元部800、1HL復元部801、1LH復元部802、および1HH復元部803におけるNNのパラメータ(重み、バイアス)は、互いに異なっている。
【0043】
図9は、復元部800~803におけるニューラルネットワークの演算単位であるニューロン900の構成を例示する図である。本実施形態のNNは、複数のニューロン900を含む。ニューロン900は、複数の入力値x
1~x
Nに対して、重みw
1~w
N、バイアスb、および活性化関数による演算を行って出力値yを出力する。より詳細には以下の通りである。
【0044】
ニューロン900は、以下の式(8)に示すように、重みw1~wNおよびバイアスbを用いて値x’を算出する。重みw1~wNおよびバイアスbは、後述される学習過程によって可変に決定される値であって、前述のように復元部800~803毎に異なる値を取り得るパラメータである。
【0045】
【0046】
次いで、ニューロン900は、算出された値x’を活性化関数に入力して出力yを算出する。活性化関数は、シグモイド関数やReLU関数(Rectified Linear Unit)等の非線形関数である。
【0047】
シグモイド関数に対して値x’を与えた場合の出力値yは、以下の式(9)によって求められる。
【0048】
【0049】
ReLU関数に対して値x’を与えた場合の出力値yは、以下の式(10)によって求められる。
【0050】
【0051】
図10は、復元部800~803におけるNNの構成を例示する図である。
図10に示すように、本実施形態のNNは、入力層1000と第1中間層1001と第2中間層1002と出力層1003とを有する4層構造を有する。
【0052】
連続する2つの層は1以上のニューロン900によって接続される。前段の層の出力値がニューロン900に入力され、前述の演算処理による出力値が後段の層に出力される。
【0053】
入力層1000に入力されるデータin0~inNの個数と出力層1003から出力されるデータout0~outNの個数とは一致する。他方、第1中間層1001のデータmid00~mid0pの個数および第2中間層1002のデータmid11~mid1qの個数は、入力層1000および出力層1003のデータ個数と一致しなくてよい。したがって、2つの層を接続するニューロン900の個数は、1以上の任意の数であってよい。
【0054】
入力層1000に入力されるデータin0~inNはサブバンド毎のDWT係数であり、出力層1003から出力されるデータout0~outNは劣化が復元されたサブバンド毎のDWT係数である。すなわち、1LL復元部800のNNには、1LLサブバンドのDWT係数が入力され、推論によって劣化が復元された1LLサブバンドのDWT係数が出力される。他の復元部801,802,803にも同様に、それぞれ、1HLサブバンド、1LHサブバンド、1HHサブバンドのDWT係数が入力され、劣化が復元された1HLサブバンド、1LHサブバンド、1HHサブバンドのDWT係数が出力される。
【0055】
図11は、復元部800~803におけるNNの他の構成を例示する図である。
図11に示すように、本実施形態の別のNNは、入力層1100と第1中間層1101と第2中間層1102と出力層1103とを有する4層構造を有する。
【0056】
図11のNNは、離れている層(入力層1100および第2中間層1102)が直接的に接続されるスキップコネクションを含む。入力層1100と第1中間層1101との間の破線矢印が、スキップされている箇所を示している。図示の通り、入力層1100のデータin
0,in
1は、第1中間層1101をスキップして第2中間層1102に直接的に出力されている。以上のように、復元部800~803は、スキップレイヤーを含むNNであってよい。
【0057】
復元部800~803の少なくとも1つが
図10に示される構造のNNを有し、復元部800~803の他の少なくとも1つが
図11に示される構造のNNを有してもよい。
【0058】
図12は、本発明の第1実施形態に係るニューラルネットワークの学習過程の説明図である。本実施形態では、以下に説明するように、復元のためのパラメータ(重みw
1~w
N、バイアスb)がサブバンド毎に学習される。
図12では、1HHサブバンドに関する学習過程を説明するが、他のサブバンド(1HLサブバンド、1LHサブバンド、1HHサブバンド)についても同様の学習過程を適用できる。
【0059】
概略的には、本実施形態の学習過程において、入力データはサブバンド毎のDWT係数であり、出力データは量子化による劣化が復元された復元DWT係数であり、教師データは量子化劣化の無い元画像の未劣化DWT係数である。
【0060】
画像符号化装置20の量子化部202によって量子化された1HHサブバンドのDWT係数1200が、周波数劣化復元部602の1HH復元部803に入力される。周波数パラメータ設定部605は、1HHサブバンド用の周波数パラメータ(重み、バイアス)を1HH復元部803に設定する。なお、1HH復元部803に設定される周波数パラメータの初期値は任意に設定され、例えば乱数によって決定された値が設定される。
【0061】
1HH復元部803は、設定された周波数パラメータを適用したNNを用いて、1HHサブバンドのDWT係数1200の量子化による劣化を復元して、1HHサブバンドの復元DWT係数1201を出力する。出力された復元DWT係数1201はパラメータ更新部1203に入力される。
【0062】
加えて、パラメータ更新部1203には、教師データとして1HHサブバンドの原画に相当する未劣化DWT係数1202が入力される。未劣化DWT係数1202は、画像符号化装置20の周波数変換部201が出力するDWT係数であって、量子化による劣化が生じていないDWT係数である。
【0063】
パラメータ更新部1203は、入力された復元DWT係数1201と未劣化DWT係数1202との比較結果を示す指標を求め、誤差逆伝播法等の更新手法に従って1HHサブバンド用の周波数パラメータを更新する。上記の指標として、例えば、ピーク信号対雑音比(PSNR)や差分絶対値和(SAD)を用いることができる。ピーク信号対雑音比を指標として用いる場合、パラメータ更新部1203は指標の値が増大するように周波数パラメータを更新する。差分絶対値和を指標として用いる場合、パラメータ更新部1203は指標の値が減少するように周波数パラメータを更新する。
【0064】
以上と同様の処理が、他のサブバンドに対応する復元部800~802に関して実行される。
【0065】
以上の学習処理を、大量の画像データ(復元DWT係数1201および未劣化DWT係数1202の組)を用いて実行することによって、周波数パラメータ設定部605が周波数劣化復元部602に設定する周波数パラメータが決定される。
【0066】
一般に、量子化の程度は、サブバンドの周波数および分解レベルによって相異なる。例えば、高周波や低レベルのサブバンドは、視覚的な劣化を低減するために比較的強く量子化される一方、低周波や高レベルのサブバンドは比較的弱く量子化される。上記した本実施形態の構成によれば、量子化の程度が相異なる複数のサブバンドについてそれぞれ学習処理を実行することによって、周波数劣化復元部602のパラメータがサブバンド毎に調整されるから、より高精度に画像を復元できる。
【0067】
なお、以上の学習処理は、ユーザが選択可能な圧縮率(デジタルカメラにおいては記録画質)毎に実行されてよい。圧縮率毎に学習を実行して周波数パラメータを設定することで、圧縮率毎の劣化度を反映したより適切な復元を実現できる。
【0068】
<第2実施形態>
以下、本発明の第2実施形態について説明する。なお、以下に例示する各実施形態において、作用、機能が第1実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の説明を適宜に省略する。
【0069】
図13は、本発明の第2実施形態に係る画像復号装置130の構成を例示するブロック図である。
図13に示すように、画像復号装置130は、エントロピー復号部600ないし周波数パラメータ設定部605に加え、画素劣化復元部1300および画素パラメータ設定部1301を機能ブロックとして含む。第1実施形態と同様、以上の機能ブロックによって実行される以下の本実施形態の処理は、画像復号装置130が有する1以上の制御プロセッサが、ROM等の不揮発メモリ内のプログラムをRAM等の揮発メモリに展開して実行することによって実現される。
【0070】
画素パラメータ設定部1301は、圧縮率毎に学習された画素パラメータ(重み、バイアス)を、復号すべき符号化ストリームの圧縮率に応じて選択し、画素劣化復元部1300に設定する。
【0071】
画素劣化復元部1300(推論手段)は、ベイヤー変換部604が出力したベイヤー配列のRAW画像に対し、画素パラメータ設定部1301が設定した推論パラメータを有するNNを適用して、量子化により劣化した画素データを推論によって復元する。
【0072】
図14を参照して、周波数領域および画素領域における2段階の復元処理が好適である理由を説明する。
図14は、DWT係数の最大値が1023(=2
10-1)である場合において511(=2
9-1)を単位(量子化ステップ)として比較的強い量子化を実行したときの量子化前後の値の変化を例示している。
図14(a)は量子化前のDWT係数を示し、
図14(b)は量子化後のDWT係数を示す。
【0073】
図示のように、量子化前のDWT係数が511未満である場合、量子化によってそのDWT係数は0になる(すなわち、DWT係数が失われる)。また、量子化前のDWT係数が511以上であって量子化後のDWT係数が0にならなくても、量子化前のDWT係数に対する誤差が値0~510の範囲で生じる。圧縮率が比較的高い場合(例えば、分解レベルが低く高周波である1HHサブバンドに対して)、比較的強い量子化が適用されるので周波数領域における復元が困難となることがある。
【0074】
そこで、本実施形態では、周波数領域において完全には復元できなかった画質の劣化を、他のサブバンドをも参照して構成される画素領域に基づいて推論し補完することによって、より高精度な(より原画に近い)復元を実現する。
【0075】
図15は、本発明の第2実施形態に係るニューラルネットワークの学習過程の説明図である。
【0076】
画像符号化装置20の量子化部202によって量子化された1LL,1HL,1LH,1HHサブバンドのDWT係数1500が、周波数劣化復元部602(推論手段)に入力される。周波数パラメータ設定部605は、第1実施形態と同様に、サブバンド毎の学習によって更新された周波数パラメータ(重み、バイアス)を周波数劣化復元部602に設定する。
【0077】
周波数劣化復元部602は、以上のように周波数パラメータを適用したNNを用いて、量子化によって劣化したDWT係数1500を復元して、逆周波数変換部603に出力する。
【0078】
逆周波数変換部603は、周波数劣化復元部602から入力された復元後のDWT係数に対して逆周波数変換(逆DWT変換)を施して、色プレーン(R、G0、G1、B)毎の独立したプレーンデータを再構成する。再構成されたプレーンデータはベイヤー変換部604に出力される。
【0079】
ベイヤー変換部604は、逆周波数変換部603において再構成された色プレーン(R、G0、G1、B)毎の独立したプレーンデータを、ベイヤー配列のRAW画像に再合成し、RAW画像に相当するRAWデータを出力する。出力されたRAWデータは画素劣化復元部1300に入力される。
【0080】
画素劣化復元部1300は、画素パラメータ設定部1301によって設定された画素パラメータを適用したNNを用いて、量子化により劣化したRAW画像内の画素データを復元して、復元RAW画像1501を出力する。復元RAW画像1501は、画素パラメータ更新部1502に入力される。
【0081】
加えて、画素パラメータ更新部1502には、教師データとして原画RAW画像1503が入力される。原画RAW画像1503は、画像符号化装置20に入力されるRAW画像データであって、量子化による劣化が生じていないRAW画像データである。
【0082】
画素パラメータ更新部1502は、入力された復元RAW画像1501と原画RAW画像1503との比較結果を示す指標を求め、誤差逆伝播法等の更新手法に従って画素パラメータを更新する。上記の指標として、例えば、ピーク信号対雑音比(PSNR)や差分絶対値和(SAD)を用いることができる。ピーク信号対雑音比を指標として用いる場合、画素パラメータ更新部1502は指標の値が増大するように画素パラメータを更新する。差分絶対値和を指標として用いる場合、画素パラメータ更新部1502は指標の値が減少するように画素パラメータを更新する。
【0083】
以上の学習処理を、大量の画像データ(復元RAW画像1501および原画RAW画像1503の組)を用いて実行することによって、画素パラメータ設定部1301が画素劣化復元部1300に設定する画素パラメータが決定される。
【0084】
上記した本実施形態の構成によれば、第1実施形態と同様の技術的効果が奏される。加えて、周波数領域における復元処理では復元が困難である場合がある画質劣化が、画素領域における復元処理によって補完されるので、より高精度に画像を復元できる。
【0085】
なお、以上の学習処理は、ユーザが選択可能な圧縮率(デジタルカメラにおいては記録画質)毎に実行されてよい。圧縮率毎に学習を実行して画素パラメータを設定することで、圧縮率毎の劣化度を反映したより適切な復元を実現できる。
【0086】
本実施形態において、周波数劣化復元部602に含まれる1つ以上の復元部800~803における処理(学習・推論)がスキップされる構成が採用されてもよい。前述のように、分解レベルが低く高周波であるサブバンドに対しては比較的強い(圧縮率が比較的高い)量子化が実行されるので、周波数領域における学習および推論を適切に実行することが困難である場合がある。本構成では、周波数領域における学習および推論が困難なサブバンド(周波数帯)の復元を、画素領域による復元処理によってカバーすることで、より高精度に画像を復元できる。加えて、所定のサブバンドに関する周波数領域の学習および推論がスキップされるので、学習処理および推論処理を実行する時間並びに学習し記憶すべき周波数パラメータを削減できる。
【0087】
以上の構成において、さらに、所定の圧縮率α(閾値)を上回る圧縮率が適用される場合に限って、所定のサブバンドに関する処理(学習・推論)がスキップされてもよい。
図16は、適用すべき圧縮率が所定の圧縮率αを上回る場合に、周波数劣化復元部602の1HH復元部803による処理がスキップされるときの周波数劣化復元部602の処理を示すフローチャートである。
【0088】
ステップS1600において、周波数劣化復元部602は、ユーザによって設定された圧縮率が所定の圧縮率αよりも小さいか否かを判定する。
【0089】
設定された圧縮率がαより小さい場合(S1600:YES)、処理はステップS1601に進む。ステップS1601において、周波数劣化復元部602は、NN(1HH復元部803)を用いた1HHサブバンドのDWT係数の復元処理を含む各サブバンドの復元処理を実行して、復元後の各サブバンドのDWT係数を出力する。
【0090】
設定された圧縮率がα以上である場合(S1600:NO)、処理はステップS1602に進む。ステップS1602において、周波数劣化復元部602は、NN(1HH復元部803)を用いた1HHサブバンドのDWT係数の復元処理をスキップし、未処理の1HHサブバンドのDWT係数を出力する。他のサブバンドについては、第1実施形態と同様に周波数劣化復元部602(復元部800~802)が復元処理を実行して、復元後のDWT係数を出力する。
【0091】
上記した本実施形態では、画素劣化復元がベイヤーRAW画像データにおいて実行されるが、逆周波数変換後の色プレーン毎に画素劣化復元が実行されてもよい。
図17は、逆周波数変換後に画素劣化復元を実行する画像復号装置130の他の構成を例示するブロック図である。
図17に示すように、本構成においては、画素劣化復元部1300が、ベイヤー変換部604の後段ではなく逆周波数変換部603の後段に配置される。なお、本構成による学習処理および推論処理は、上記した本実施形態のRAW画像に関する処理を、そのまま色プレーン(R、G0、G1、B)毎に適用すればよい。
【0092】
<第3実施形態>
図18は、本発明の第3実施形態に係る画像復号装置180の構成を例示するブロック図である。
図18に示すように、画像復号装置180は、エントロピー復号部600、逆量子化部601、逆周波数変換部603、およびベイヤー変換部604を機能ブロックとして含む。加えて、画像復号装置180は、画素・周波数劣化復元部1802および画素・周波数パラメータ設定部1805を機能ブロックとして含む。画素・周波数劣化復元部1802(推論手段)は、前述した実施形態の周波数劣化復元部602と画素劣化復元部1300とを統合した要素である。画素・周波数パラメータ設定部1805は、周波数パラメータ設定部605と画素パラメータ設定部1301とを統合した要素である。前述の実施形態と同様、以上の機能ブロックによって実行される以下の本実施形態の処理は、画像復号装置180が有する1以上の制御プロセッサが、ROM等の不揮発メモリ内のプログラムをRAM等の揮発メモリに展開して実行することによって実現される。
【0093】
周波数領域における周波数パラメータの学習、および画素領域における画素パラメータの学習については、前述した実施形態と同様に実行されるので、詳細な説明を省略する。
【0094】
画素・周波数パラメータ設定部1805は、サブバンド毎および圧縮率毎に学習された周波数パラメータ(重み、バイアス)を、復号すべき符号化ストリームの圧縮率に応じて選択し、画素・周波数劣化復元部1802に設定する。
【0095】
画素・周波数劣化復元部1802は、逆量子化部601から入力された逆量子化後のDWT係数に対し、画素・周波数パラメータ設定部1805が設定した推論パラメータを有するNNを適用して、量子化により劣化したDWT係数を推論によって復元する。
【0096】
上記したDWT係数の復元後、画素・周波数パラメータ設定部1805は、圧縮率毎に学習された画素パラメータ(重み、バイアス)を、復号すべき符号化ストリームの圧縮率に応じて選択し、画素・周波数劣化復元部1802に設定する。
【0097】
逆周波数変換部603は、画素・周波数劣化復元部1802から入力された復元後のDWT係数に対して逆周波数変換(逆DWT変換)を施して、色プレーン(R、G0、G1、B)毎の独立したプレーンデータを再構成する。再構成されたプレーンデータはベイヤー変換部604に出力される。
【0098】
ベイヤー変換部604は、逆周波数変換部603において再構成された色プレーン(R、G0、G1、B)毎の独立したプレーンデータを、ベイヤー配列のRAW画像に再合成し、RAW画像に相当するRAWデータを出力する。出力されたRAWデータは画素・周波数劣化復元部1802に入力される。
【0099】
画素・周波数劣化復元部1802は、ベイヤー変換部604が出力したベイヤー配列のRAW画像に対し、画素・周波数パラメータ設定部1805が設定した画素パラメータを有するNNを適用して、量子化により劣化した画素データを推論によって復元する。
【0100】
上記した本実施形態の構成によれば、第1実施形態および第2実施形態と同様の技術的効果が奏される。加えて、本構成では、周波数劣化復元部602と画素劣化復元部1300とを統合した画素・周波数劣化復元部1802と、周波数パラメータ設定部605と画素パラメータ設定部1301とを統合した画素・周波数パラメータ設定部1805とが用いられる。結果として、第2実施形態と比較して、復元処理に用いるNNの回路規模を低減できる。
【0101】
<変形例>
以上、本発明の好ましい実施の形態について説明したが、本発明は上述した実施の形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【0102】
周波数劣化復元部602、画素劣化復元部1300、および画素・周波数劣化復元部1802が有するNNは、それぞれ、上記した処理を実行可能な任意のネットワーク構成を有し得る。例えば、上記した各復元部(推論手段)が、CNN(Convolution Neural Network)を有してもよいし、DBP(Deep Brief Network)を有してもよい。また、上記した実施の形態においては、4層のNNが例示されるが、上記した処理を実行可能な任意の層数のNNが採用され得る。
【0103】
第1実施形態および第2実施形態の周波数劣化復元部602は、サブバンド毎のNN(1LL,1HL,1LH,1HH復元部800,801,802,803)を有する。しかしながら、周波数劣化復元部602は、1つのNN(復元部)のみを有し、サブバンド毎にパラメータ(重み、バイアス)を切り替えるように学習および推論を実行してもよい。以上の構成によれば、周波数劣化復元部602が1つのNNのみを有するので、回路規模を削減できる。他方、周波数劣化復元部602がサブバンド毎のNNを有する構成においては、複数のサブバンドに対する復元処理を並列的に実行できるので、本変形例の構成と比較して処理時間を削減できる。
【0104】
上記した実施形態の構成では、RAW画像に対する周波数変換方式としてウェーブレット変換が用いられるが、他の周波数変換方式が用いられてもよい。例えば、H.264規格にて用いられる4×4DCT(離散コサイン変換)が採用されてよい。
図19は、4×4DCTの量子化マトリクスおよび学習・推論グループの説明図である。
【0105】
H.264規格においては、符号化の対象である画像を16×16サイズのマクロブロック単位で分割した上で、4×4単位でのDCTを実行して符号化する。H.264規格は、視覚的な影響が小さい高周波成分を比較的強く量子化する一方、視覚的な影響が大きい低周波成分を比較的弱く量子化するために、
図19に示すような量子化マトリクスを採用する。
図19に示される数値は、イントラ予測時における量子化マトリクスの初期値である。
図19に示される数値、すなわち量子化マトリクスに含まれる値は、量子化パラメータから求められる量子化ステップに乗算される値であって、周波数が高いほど大きな値を取る。同一値に相当する周波数成分は同一の強度で量子化が実行される。したがって、同一値を1つのグループとして、または、周波数帯毎にグループ分けし、グループ毎に、学習・推論を実行することによって、上記実施形態のようなサブバンド毎の学習・推論と同様の技術的効果を実現できる。すなわち、本変形例においては、
図19においてそれぞれ点線で囲まれた周波数帯グループ(a)~(g)毎に学習処理および推論処理が実行される。
【0106】
本発明は、上述の実施の形態の1以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0107】
60 画像復号装置
130 画像復号装置
180 画像復号装置
600 エントロピー復号部
601 逆量子化部
602 周波数劣化復元部(推論手段)
603 逆周波数変換部
604 ベイヤー変換部
605 周波数パラメータ設定部
1203 パラメータ更新部
1300 画素劣化復元部(推論手段)
1301 画素パラメータ設定部
1502 画素パラメータ更新部
1802 画素・周波数劣化復元部(推論手段)
1805 画素・周波数パラメータ設定部