(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-28
(45)【発行日】2023-01-12
(54)【発明の名称】画像符号化装置、画像復号装置、及びプログラム
(51)【国際特許分類】
H04N 19/105 20140101AFI20230104BHJP
H04N 19/136 20140101ALI20230104BHJP
H04N 19/176 20140101ALI20230104BHJP
H04N 19/577 20140101ALI20230104BHJP
【FI】
H04N19/105
H04N19/136
H04N19/176
H04N19/577
(21)【出願番号】P 2021089573
(22)【出願日】2021-05-27
(62)【分割の表示】P 2020509368の分割
【原出願日】2019-03-29
【審査請求日】2021-05-27
(31)【優先権主張番号】P 2018065886
(32)【優先日】2018-03-29
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2018065895
(32)【優先日】2018-03-29
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】市ヶ谷 敦郎
(72)【発明者】
【氏名】岩村 俊輔
(72)【発明者】
【氏名】根本 慎平
(72)【発明者】
【氏名】井口 和久
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2000-059785(JP,A)
【文献】国際公開第2011/080807(WO,A1)
【文献】国際公開第2011/080806(WO,A1)
【文献】国際公開第2010/010942(WO,A1)
【文献】Shunsuke Iwamura, et al.,Description of SDR and HDR video coding technology proposal by NHK and SHARP,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0027_v1,10th Meeting: San Diego, US,2018年04月,pp.i,1-10,https://www.ncbi.nlm.nih.gov/protein/WP_013673631
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/105
H04N 19/577
H04N 19/182
H04N 19/136
(57)【特許請求の範囲】
【請求項1】
対象画像をブロック単位で符号化する画像符号化装置であって、
複数の参照画像を用いて双予測を行うことにより、前記対象画像のブロックに対応する予測画像のブロックを生成する予測部と、
前記複数の参照画像間の類似度に関する評価値を、前記ブロックよりも小さい単位であって複数の画素からなる画像部分ごとに算出する評価部と、
量子化変換係数に対して逆量子化及び逆変換を行うことにより
、予測残差を復元する逆量子化・逆変換部と、
前記逆量子化・逆変換部から入力された復元予測残差を画素単位で前記予測画像のブロックと合成することにより、前記対象画像のブロックを再構成する合成部と、を備え、
前記評価値は、前記合成部の合成対象を前記画像部分単位で補正するために用いられ、
前記評価部は、前記予測部が前記双予測を行う場合に限って、前記評価値を前記画像部分ごとに算出する、画像符号化装置。
【請求項2】
前記評価部は、前記複数の参照画像間の類似度を示す値を正規化する正規化部を有する、請求項1に記載の画像符号化装置。
【請求項3】
対象画像をブロック単位で復号する画像復号装置であって、
複数の参照画像を用いて双予測を行うことにより、前記対象画像のブロックに対応する予測画像のブロックを生成する予測部と、
前記複数の参照画像間の類似度に関する評価値を、前記ブロックよりも小さい単位であって複数の画素からなる画像部分ごとに算出する評価部と、
量子化変換係数に対して逆量子化及び逆変換を行うことにより
、予測残差を復元する逆量子化・逆変換部と、
前記逆量子化・逆変換部から入力された復元予測残差を画素単位で前記予測画像のブロックと合成することにより、前記対象画像のブロックを再構成する合成部と、を備え、
前記評価値は、前記合成部の合成対象を前記画像部分単位で補正するために用いられる、画像復号装置。
【請求項4】
前記評価部は、前記複数の参照画像間の類似度を示す値を正規化する正規化部を有する、請求項3に記載の画像復号装置。
【請求項5】
コンピュータを請求項1又は2に記載の画像符号化装置として機能させるためのプログラム。
【請求項6】
コンピュータを請求項3又は4に記載の画像復号装置として機能させるためのプログラム。
【請求項7】
対象画像をブロック単位で復号する画像復号方法であって、
複数の参照画像を用いて双予測を行うことにより、前記対象画像のブロックに対応する予測画像のブロックを生成するステップと、
前記複数の参照画像間の類似度に関する評価値を、前記ブロックよりも小さい単位であって複数の画素からなる画像部分ごとに算出するステップと、
量子化変換係数に対して逆量子化及び逆変換を行うことにより
、予測残差を復元するステップと、
前記予測残差を復元するステップにより得られる復元予測残差を画素単位で前記予測画像と合成することにより、前記対象画像のブロックを再構成する合成ステップと、を有し、
前記評価値は、前記合成ステップにおける合成対象を前記画像部分単位で補正するために用いられ、
前記算出するステップは、前記双予測を行う場合に限って、前記評価値を前記画像部分ごとに算出するステップを含む、画像復号方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像符号化装置、画像復号装置、及びプログラムに関する。
【背景技術】
【0002】
従来、対象画像(画像ブロック)を符号化する符号化装置において、複数の参照画像を用いて動き補償予測を行い、対象画像に対応する予測画像を生成し、当該対象画像と予測画像との間の画素単位での差分を示す予測残差に対して直交変換及び量子化を行う方法が知られている。
【0003】
また、画像符号化装置は、直交変換及び量子化により得られた量子化変換係数をエントロピー符号化により符号化するとともに、量子化変換係数に対して逆量子化及び逆直交変換を行って予測残差を復元する。そして、画像符号化装置は、復元した予測残差を予測画像と合成して対象画像を再構成し、再構成画像をそれ以降の予測に用いる。
【0004】
一方、画像復号装置は、エントロピー符号化された量子化変換係数を復号するとともに、複数の参照画像を用いて動き補償予測を行い、対象画像に対応する予測画像を生成する。画像復号装置は、量子化変換係数を逆量子化及び逆直交変換して予測残差を復元し、復元予測残差を予測画像と合成して対象画像を再構成する。
【0005】
かかる画像符号化装置及び画像復号装置は、複数の参照画像を用いる動き補償予測において、例えば、複数の参照画像を平均化することにより予測画像を生成する(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0006】
【文献】Recommendation ITU-T H.265,(12/2016), "High efficiency video coding", International Telecommunication Union
【発明の概要】
【0007】
予測画像を生成するための複数の参照画像間の類似度が著しく低い部分が存在する場合、当該部分における予測画像の精度(すなわち、予測精度)が低下し、当該部分における予測残差が他の部分に比べて大きくなる。
【0008】
予測残差が大きい部分と小さい部分とが混在する予測残差を直交変換すると、低周波数成分に電力が集中せずに、変換係数の電力集中度が低下する。かかる変換係数について高周波数成分を粗く量子化すると、高周波数成分における変換係数が劣化する。かかる変換係数の劣化は、逆量子化及び逆直交変換を経て画像(ブロック)内に全体的に伝搬する。
【0009】
このようにして劣化した復元予測残差を予測画像に合成して対象画像ブロックを再構成すると、高精度な予測が行われた部分にも画質の劣化が伝搬してしまう。つまり、予測精度が低い部分に起因して、予測精度が高い部分にも直交変換係数の量子化の影響が伝搬することで画質が劣化し、これにより、符号化効率の低下を引き起こすという問題があった。
【0010】
そこで、本発明は、複数の参照画像を用いて予測を行う場合において符号化効率を改善可能な画像符号化装置、画像復号装置、及びプログラムを提供することを目的とする。
【0011】
なお、複数の参照画像を用いて予測を行う予測技術とは動き補償予測における双予測が代表的なものであるがそれに限定されるものではない。例えば、HEVC符号化方式で用いられている画像のIntraBCモード(イントラブロックコピーモード)などのように複数参照して予測画像を生成する場合においても同様の手法が適用可能である。
【0012】
第1の特徴に係る画像符号化装置は、対象画像を符号化する。当該画像符号化装置は、複数の参照画像を用いて予測(代表的な予測方法の例としては双方向動き補償予測)を行うことにより、前記対象画像に対応する予測画像を生成する予測部と、前記複数の参照画像間の類似度を算出することにより、前記予測画像の予測精度を評価する評価部と、を備えることを要旨とする。
【0013】
例えば、かかる画像符号化装置は、予測画像の予測精度を画像部分ごとに評価することにより、予測残差の大きい部分や予測残差の小さい部分を推定することが可能になるため、画質の劣化を効率的に抑制できる。よって、複数の参照画像を用いて予測を行う場合において符号化効率を改善可能な画像符号化装置を提供できる。
【0014】
なお、予測部が行う予測は、複数の参照画像を用いるものであればどのような予測方式であるかを問わず、様々な予測方式を利用可能である。代表的な予測方法の例としては双方向動き補償予測が挙げられるが、HEVC方式で用いられている複数参照のIntraBCモード(イントラブロックコピーモード)による予測であってもよい。
【0015】
第2の特徴に係る画像復号装置は、対象画像を復号する。当該画像復号装置は、複数の参照画像を用いて予測(代表的な予測方法の例としては双方向動き補償予測)を行うことにより、前記対象画像に対応する予測画像を生成する予測部と、前記複数の参照画像間の類似度を算出することにより、前記予測画像の予測精度を評価する評価部と、を備えることを要旨とする。
【0016】
例えば、画像復号装置は、予測画像の予測精度を画像部分ごとに評価することにより、予測残差の大きい部分や予測残差の小さい部分を推定することが可能になるため、画質の劣化を効率的に抑制できる。よって、複数の参照画像を用いて予測を行う場合において符号化効率を改善可能な画像復号装置を提供できる。
【0017】
第3の特徴に係るプログラムは、コンピュータを第1の特徴に係る画像符号化装置として機能させるためのプログラムであることを要旨とする。
【0018】
第4の特徴に係るプログラムは、コンピュータを第2の特徴に係る画像復号装置として機能させるためのプログラムであることを要旨とする。
【図面の簡単な説明】
【0019】
【
図1】第1実施形態に係る画像符号化装置の構成を示す図である。
【
図2】第1実施形態に係る画像復号装置の構成を示す図である。
【
図4】動き補償予測により生成される予測画像の一例を示す図である。
【
図7】第1実施形態に係る画像符号化装置における処理フローを示す図である。
【
図8】第1実施形態に係る画像復号装置における処理フローを示す図である。
【
図9】第2実施形態に係る画像符号化装置の構成を示す図である。
【
図10】第2実施形態に係る画像復号装置の構成を示す図である。
【
図11】ループフィルタの構成の一例を示す図である。
【
図12】第2実施形態に係る画像符号化装置における処理フローを示す図である。
【
図13】第2実施形態に係る画像復号装置における処理フローを示す図である。
【
図14】第1実施形態及び第2実施形態を併用する場合の画像符号化装置の構成を示す図である。
【
図15】第1実施形態及び第2実施形態を併用する場合の画像復号装置の構成を示す図である。
【
図16】第3実施形態に係る画像符号化装置の構成を示す図である。
【
図17】第3実施形態に係る画像復号装置の構成を示す図である。
【
図18】第3実施形態に係る評価部の構成の一例を示す図である。
【
図19】第3実施形態に係るエントロピー符号化部の構成の一例を示す図である。
【
図20】第3実施形態に係るエントロピー符号復号部の構成の一例を示す図である。
【
図21】第3実施形態に係る画像符号化装置における処理フローを示す図である。
【
図22】第3実施形態に係る画像復号装置における処理フローを示す図である。
【
図23】第3実施形態に係る評価部の構成の変更例を示す図である。
【発明を実施するための形態】
【0020】
図面を参照して、実施形態に係る画像符号化装置及び画像復号装置について説明する。実施形態に係る画像符号化装置及び画像復号装置は、MPEGに代表される動画の符号化及び復号を行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【0021】
<1.第1実施形態>
第1実施形態に係る画像符号化装置及び画像復号装置について説明する。
【0022】
(1.1.画像符号化装置の構成)
図1は、第1実施形態に係る画像符号化装置1の構成を示す図である。
図1に示すように、画像符号化装置1は、ブロック分割部100と、減算部101と、変換部102aと、量子化部102bと、エントロピー符号化部103と、逆量子化部104aと、逆変換部104bと、合成部105と、イントラ予測部106と、ループフィルタ107と、フレームメモリ108と、動き補償予測部109と、切替部110と、評価部111とを備える。
【0023】
ブロック分割部100は、フレーム(或いはピクチャ)単位の入力画像をブロック状の小領域に分割し、画像ブロックを減算部101(及び動き補償予測部109)に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックは、画像符号化装置1が符号化を行う単位及び画像復号装置2が復号を行う単位であり、かかる画像ブロックを対象画像ブロックと称する。
【0024】
減算部101は、ブロック分割部100から入力された対象画像ブロックと対象画像ブロックに対応する予測画像(予測画像ブロック)との間の画素単位での差分を示す予測残差を算出する。具体的には、減算部101は、符号化対象ブロックの各画素値から予測画像の各画素値を減算することにより予測残差を算出し、算出した予測残差を変換部102aに出力する。なお、予測画像は、後述するイントラ予測部106又は動き補償予測部109から切替部110を介して減算部101に入力される。
【0025】
変換部102a及び量子化部102bは、ブロック単位で直交変換処理及び量子化処理を行う変換・量子化部102を構成する。
【0026】
変換部102aは、減算部101から入力された予測残差に対して直交変換を行って変換係数を算出し、算出した変換係数を量子化部102bに出力する。直交変換とは、例えば、離散コサイン変換(DCT:Discrete Cosine Transform)や離散サイン変換(DST:Discrete Sine Transform)、カルーネンレーブ変換(KLT: Karhunen-Loeve Transform)等をいう。
【0027】
量子化部102bは、変換部102aから入力された変換係数を量子化パラメータ(Qp)及び量子化行列を用いて量子化し、量子化変換係数を生成する。量子化パラメータ(Qp)は、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さを定めるパラメータである。量子化行列は、各変換係数を量子化する際の量子化値を要素として有する行列である。量子化部102bは、量子化制御情報、生成した量子化変換係数情報などをエントロピー符号化部103及び逆量子化部104aに出力する。
【0028】
エントロピー符号化部103は、量子化部102bから入力された量子化変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化データ(ビットストリーム)を生成し、符号化データを画像符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。なお、エントロピー符号化部103には、イントラ予測部106及び動き補償予測部109から予測に関する情報が入力され、ループフィルタ107からフィルタ処理に関する情報が入力される。エントロピー符号化部103は、これらの情報のエントロピー符号化も行う。
【0029】
逆量子化部104a及び逆変換部104bは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部104を構成する。
【0030】
逆量子化部104aは、量子化部102bが行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部104aは、量子化部102bから入力された量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部104bに出力する。
【0031】
逆変換部104bは、変換部102aが行う直交変換処理に対応する逆直交変換処理を行う。例えば、変換部102aが離散コサイン変換を行った場合には、逆変換部104bは逆離散コサイン変換を行う。逆変換部104bは、逆量子化部104aから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部105に出力する。
【0032】
合成部105は、逆変換部104bから入力された復元予測残差を切替部110から入力された予測画像と画素単位で合成する。合成部105は、復元予測残差の各画素値と予測画像の各画素値を加算して対象画像ブロックを再構成し、再構成した対象画像ブロックである再構成画像をイントラ予測部106及びループフィルタ107に出力する。
【0033】
イントラ予測部106は、合成部105から入力された再構成画像を用いてイントラ予測を行ってイントラ予測画像を生成し、イントラ予測画像を切替部110に出力する。また、イントラ予測部106は、選択したイントラ予測モードの情報等をエントロピー符号化部103に出力する。
【0034】
ループフィルタ107は、合成部105から入力された再構成画像に対して、後処理としてのフィルタ処理を行い、フィルタ処理後の再構成画像をフレームメモリ108に出力する。また、ループフィルタ107は、フィルタ処理に関する情報をエントロピー符号化部103に出力する。フィルタ処理には、デブロッキングフィルタ処理とサンプルアダプティブオフセット処理とが含まれる。デブロッキングフィルタ処理は、ブロック単位の処理に起因する信号劣化を軽減するための処理であって、隣接するブロックの境界部における信号のギャップを平滑化する処理である。このデブロッキングフィルタ処理により、境界部における信号ギャップと量子化の程度を示す量子化パラメータとを用いてデブロッキングフィルタ処理の強さ(フィルタ強度)が制御される。一方、サンプルアダプティブオフセット処理は、例えばHEVC(非特許文献1参照)で採用されている画質改善フィルタ処理であって、ブロック内の画素の隣接画素との相対的な関係により各画素をカテゴリ分けし、それぞれのカテゴリについて画質を向上させるためのオフセット値を算出し、同じカテゴリに属する各画素に一律にオフセット値を付与する処理である。オフセット値が大きいほど強いフィルタ処理が適用されるため、オフセット値は、サンプルアダプティブオフセット処理のフィルタ強度を定める値とみなすことができる。
【0035】
フレームメモリ108は、ループフィルタ107から入力された再構成画像をフレーム単位で記憶する。
【0036】
動き補償予測部109は、フレームメモリ108に記憶された1又は複数の再構成画像を参照画像として用いるインター予測を行う。具体的には、動き補償予測部109は、ブロックマッチングなどの手法により動きベクトルを算出し、動きベクトルに基づいて動き補償予測画像を生成し、動き補償予測画像を切替部110に出力する。また、動き補償予測部109は、動きベクトルに関する情報をエントロピー符号化部103に出力する。
【0037】
切替部110は、イントラ予測部106から入力されたイントラ予測画像と、動き補償予測部109から入力された動き補償予測画像とを切替えて、予測画像(イントラ予測画像又は動き補償予測画像)を減算部101及び合成部105に出力する。
【0038】
評価部111は、動き補償予測部109が複数の参照画像を用いて動き補償予測を行う場合において、予測に用いる複数の参照画像間の類似度を1又は複数の画素からなる画像部分ごとに算出し、かかる類似度により予測画像の予測精度を画像部分ごとに評価し、評価結果の情報を合成部105に出力する。
【0039】
本実施形態において、評価部111が、予測に用いる複数の参照画像間の類似度を1画素単位で算出し、予測画像の予測精度を1画素単位で評価する一例を説明する。なお、本実施形態では図示しないが、複数の参照画像を用いたイントラ予測(例えば、イントラブロックコピーモード)などを用いる場合には、評価部111は、イントラ予測部106が複数の参照画像を用いて予測を行う場合、複数の参照画像間の類似度を算出し、予測画像の予測精度を画素単位で評価し、この評価結果を合成部105に出力する。合成部105は、評価部111による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。評価部111及び合成部105の詳細については後述する。
【0040】
(1.2.画像復号装置の構成)
図2は、第1実施形態に係る画像復号装置2の構成を示す図である。
図2に示すように、画像復号装置2は、エントロピー符号復号部200と、逆量子化部201aと、逆変換部201bと、合成部202と、イントラ予測部203と、ループフィルタ204と、フレームメモリ205と、動き補償予測部206と、切替部207と、評価部208とを備える。
【0041】
エントロピー符号復号部200は、符号化装置1により生成された符号化データを復号し、量子化変換係数を逆量子化部201aに出力する。また、エントロピー符号復号部200は、符号化データを復号し、予測(イントラ予測及び動き補償予測)に関する情報とフィルタ処理に関する情報とを取得し、予測に関する情報をイントラ予測部203及び動き補償予測部206に出力し、フィルタ処理に関する情報をループフィルタ204に出力する。
【0042】
逆量子化部201a及び逆変換部201bは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部201を構成する。
【0043】
逆量子化部201aは、画像符号化装置1の量子化部102bが行う量子化処理に対応する逆量子化処理を行う。逆量子化部201aは、エントロピー符号復号部200から入力された量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部201bに出力する。
【0044】
逆変換部201bは、画像符号化装置1の変換部102aが行う直交変換処理に対応する逆直交変換処理を行う。逆変換部201bは、逆量子化部201aから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差(復元予測残差)を合成部202に出力する。
【0045】
合成部202は、逆変換部201bから入力された予測残差と、切替部207から入力された予測画像とを画素単位で合成することにより、元の対象画像ブロックを再構成し、再構成画像をイントラ予測部203及びループフィルタ204に出力する。
【0046】
イントラ予測部203は、合成部202から入力された再構成符号化ブロック画像を参照し、エントロピー符号復号部200から入力されたイントラ予測情報に従ってイントラ予測を行うことによりイントラ予測画像を生成し、イントラ予測画像を切替部207に出力する。
【0047】
ループフィルタ204は、エントロピー符号復号部200から入力されたフィルタ処理情報に基づいて、合成部202から入力された再構成画像に対して、画像符号化装置1のループフィルタ107が行うフィルタ処理と同様なフィルタ処理を行い、フィルタ処理後の再構成画像をフレームメモリ205に出力する。
【0048】
フレームメモリ205は、ループフィルタ204から入力された再構成画像をフレーム単位で記憶する。フレームメモリ205は、記憶した再構成画像を表示順に画像復号装置2の外部に出力する。
【0049】
動き補償予測部206は、フレームメモリ205に記憶された1又は複数の再構成画像を参照画像として用いて、エントロピー符号復号部200から入力された動きベクトル情報に従って動き補償予測(インター予測)を行うことにより、動き補償予測画像を生成し、動き補償予測画像を切替部207に出力する。
【0050】
切替部207は、イントラ予測部203から入力されたイントラ予測画像と、動き補償予測部206から入力された動き補償予測画像とを切替えて、予測画像(イントラ予測画像又は動き補償予測画像)を合成部202に出力する。
【0051】
評価部208は、画像符号化装置1の評価部111と同様な動作を行う。具体的には、評価部208は、動き補償予測部206が複数の参照画像を用いて動き補償予測を行う場合において、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、評価結果の情報を合成部202に出力する。合成部202は、評価部208による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。
【0052】
(1.3.動き補償予測)
図3は、動き補償予測の一例を示す図である。
図4は、動き補償予測により生成される予測画像の一例を示す図である。動き補償予測のシンプルな例として、HEVCで用いられている双予測、特に前方向と後方向予測(両方向予測)を用いる場合について説明する。
【0053】
図3に示すように、動き補償予測は、対象フレーム(現フレーム)に対して時間的に前及び後のフレームを参照する。
図3の例では、tフレーム目の画像中のブロックの動き補償予測を、t-1フレーム目とt+1フレーム目とを参照して行う。動き補償は、t-1及びt+1フレーム目の参照フレーム内から、対象画像ブロックと類似する箇所(ブロック)をシステムで設定された探索範囲の中から検出する。
【0054】
検出された箇所が参照画像である。対象画像ブロックに対する参照画像の相対位置を示す情報が図中に示す矢印であり、動きベクトルと呼ばれる。動きベクトルの情報は、画像符号化装置1において、参照画像のフレーム情報とともにエントロピー符号化によって符号化される。一方、画像復号装置2は、画像符号化装置1により生成された動きベクトルの情報に基づいて参照画像を検出する。
【0055】
図3及び
図4に示すように、動き補償によって検出された参照画像1及び2は、対象画像ブロックに対し、参照するフレーム内で位置合わせされた類似する部分画像であるため、対象画像ブロック(符号化対象画像)に類似した画像となる。
図4の例では、対象画像ブロックは、星の絵柄と部分的な円の絵柄とを含んでいる。参照画像1は、星の絵柄と全体的な円の絵柄とを含んでいる。参照画像2は、星の絵柄を含むが、円の絵柄を含んでいない。
【0056】
かかる参照画像1及び2から予測画像を生成する。なお、予測処理は、一般的に、特徴は異なるが部分的に類似する参照画像1及び2を平均化することによって、それぞれの参照画像の特徴を備えた予測画像を生成する。但し、より高度な処理、例えば、ローパスフィルタやハイパスフィルタ等による信号強調処理を併用して予測画像を生成してもよい。ここで、参照画像1は円の絵柄を含み、参照画像2は円の絵柄を含まないため、参照画像1及び2を平均化して予測画像を生成すると、予測画像における円の絵柄は、参照画像1に比べて信号が半減している。
【0057】
参照画像1及び2から得られた予測画像と対象画像ブロック(符号化対象画像)との差分が予測残差である。
図4に示す予測残差において、星の絵柄のエッジのずれ部分と丸の絵柄のずれた部分(斜線部)とにのみ大きな差分が生じているが、それ以外の部分については、精度よく予測が行えており、差分が少なくなる(
図4の例では差分が生じていない)。
【0058】
差分が生じていない部分(星の絵柄の非エッジ部分及び背景部分)は、参照画像1と参照画像2との間の類似度が高い部分であって、高精度な予測が行われた部分である。一方、大きな差分が生じている部分は、各参照画像に特有な部分、すなわち、参照画像1と参照画像2との間の類似度が著しく低い部分である。よって、参照画像1と参照画像2との間の類似度が著しく低い部分は、予測の精度が低く、大きな差分(残差)を生じさせることが分かる。
【0059】
このように差分が大きい部分と差分が無い部分とが混在した予測残差を直交変換し、量子化による変換係数の劣化が生じると、かかる変換係数の劣化が逆量子化及び逆直交変換を経て画像(ブロック)内に全体的に伝搬する。
【0060】
そして、逆量子化及び逆直交変換によって復元された予測残差(復元予測残差)を予測画像に合成して対象画像ブロックを再構成すると、
図4に示す星の絵柄の非エッジ部分及び背景部分のように高精度な予測が行われた部分にも画質の劣化が伝搬してしまう。
【0061】
(1.4.評価部及び合成部)
画像符号化装置1において、評価部111は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、合成部105は、評価部111による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。
【0062】
同様に、画像復号装置2において、評価部208は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、合成部202は、評価部208による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。
【0063】
これにより、高精度な予測が行われる部分について、予測画像と合成する復元予測残差を抑制することが可能となるため、高精度な予測が行われる部分に対して復元予測残差における画質の劣化が伝搬することを抑制することができる。よって、複数の参照画像を用いて動き補償予測を行う場合において画質を向上し、符号化効率を改善することができる。
【0064】
図5は、画像符号化装置1における評価部111の構成の一例を示す図である。
図5に示すように、評価部111は、差分算出部(減算部)111aと、正規化部111bと、重み調整部111cとを備える。
【0065】
差分算出部111aは、参照画像1と参照画像2との間の差分値の絶対値を画素単位で算出し、算出した差分値の絶対値を正規化部111bに出力する。差分値の絶対値は、類似度を示す値の一例である。差分値の絶対値が小さいほど類似度が高く、差分値の絶対値が大きいほど類似度が低いといえる。差分算出部111aは、各参照画像に対してフィルタ処理を行ったうえで差分値の絶対値を算出してもよい。差分算出部111aは、二乗誤差等の統計量を算出し、かかる統計量を類似度として用いてもよい。
【0066】
正規化部111bは、差分算出部111aから入力された各画素の差分値を、ブロック内で差分値の絶対値が最大となる画素の差分値の絶対値(すなわち、ブロック内の差分値の絶対値の最大値)で正規化し、正規化した差分値の絶対値である正規化差分値を重み調整部111cに出力する。第1実施形態において、正規化差分値は、合成部105において予測画像と合成する復元予測残差を画素単位で重み付けするための重みとして用いられる。
【0067】
重み調整部111cは、量子化の粗さを定める量子化パラメータ(Qp)に基づいて、正規化部111bから入力された正規化差分値(重み)を調整し、この重みを出力する。量子化の粗さが大きいほど復元予測残差の劣化度が高いため、重み調整部111cは、量子化パラメータ(Qp)に基づいて正規化差分値(重み)を調整することにより、劣化度を考慮して復元予測残差の重み付けを行うことができる。
【0068】
評価部111が出力する各画素(ij)の重みWijは、例えば下記の式(1)のように表現することができる。
【0069】
Wij = (abs(Xij-Yij)/maxD ×Scale(Qp)) ・・・(1)
式(1)において、Xijは参照画像1の画素ijの画素値であり、Yijは参照画像2の画素ijの画素値であり、absは絶対値を得る関数である。
図5に示す差分算出部111aでは、abs(Xij-Yij)を出力する。
【0070】
また、式(1)において、maxDは、ブロック内の差分値abs(Xij-Yij)の最大値である。maxDを求めるために、ブロック内のすべての画素について差分値を求める必要があるが、この処理を省略するためにすでに符号化処理済みの隣接するブロックの最大値などで代用してもよく、例えば、その値以上が存在する場合は、使用した最大値でクリップすることで、maxDの正規化を行ってもよい。或いは、量子化パラメータ(Qp)とmaxDとの対応関係を定めるテーブルを用いて、量子化パラメータ(Qp)からmaxDを求めてもよい。或いは、予め仕様で規定された固定値をmaxDとして用いてもよい。正規化部111bは、abs(Xij-Yij)/maxDを出力する。
【0071】
また、式(1)において、Scale(Qp)は、量子化パラメータ(Qp)に応じて乗じられる係数である。Scale(Qp)は、Qpが大きい場合に1.0に近づき、小さい場合に0に近づくように設計され、その度合いはシステムによって調整するものとする。或いは、予め仕様で規定された固定値をScale(Qp)として用いてもよい。さらに、処理を簡略化するため、Scale(QP)を1.0などシステムに応じて設計された固定値としてもよい。
【0072】
重み調整部111cは、abs(Xij-Yij)/maxD×Scale(Qp)を重みWijとして出力する。また、このWijは、システムに応じて設計される感度関数によって調整された重み付けを出力しても良い。例えば、abs(Xij-Yij)/maxD×Scale(Qp)=wijとし、Wij=Clip(wij,1.0,0.0)だけではなく、Wij=Clip(wij+offset,1.0,0.0)と例えばQPなどの制御情報に応じたオフセットをつけて感度を調整してもよい。なお、Clip(x,max,min)は、xがmaxを超える場合はmaxで、xがminを下回る場合はminでクリップする処理を示す。
【0073】
このようにして算出された重みWijは、0から1.0までの範囲内の値となる。基本的には、重みWijは、参照画像間の画素ijの差分値の絶対値が大きい(すなわち、予測精度が低い)場合に1.0に近づき、参照画像間の画素ijの差分値の絶対値が小さい(すなわち、予測精度が高い)場合に0に近づく。評価部111は、ブロック内の各画素ijの重みWijからなるマップ情報をブロック単位で合成部105に出力する。
【0074】
なお、評価部111は、複数の参照画像を用いる動き補償予測を適用する場合にのみ評価(重みWijの算出)を行い、それ以外のモード、例えば単方向予測や複数参照画像を用いないイントラ予測処理においては、評価を行わず重みWijとして一律に1.0を設定する。
【0075】
図6は、画像符号化装置1における合成部105の構成の一例を示す図である。
図6に示すように、合成部105は、重み付け部(乗算部)105aと、加算部105bとを備える。
【0076】
重み付け部105aは、評価部111から入力されたマップ情報(重みWij)を用いて、逆変換部104bから入力された復元予測残差に対して画素単位で重み付けを行い、重み付け後の復元予測残差を加算部105bに出力する。
【0077】
加算部105bは、重み付け部105aから入力された重み付け後の復元予測残差を、動き補償予測部109から切替部110を介して入力された予測画像に画素単位で加算することにより再構成画像を生成し、生成した再構成画像を出力する。
【0078】
このような合成部105の処理は、例えば下記の式(2)のように表現することができる。
【0079】
Recij = Dij × Wij + Pij ・・・(2)
式(2)において、Recijは再構成画像における画素ijの画素値であり、Dijは復元予測残差における画素ijの画素値であり、Wijはマップ情報における画素ijの重みであり、Pijは予測画像における画素ijの画素値である。
【0080】
なお、合成部105は、複数の参照画像を用いる動き補償予測を適用する場合にのみ重み付け処理を行い、それ以外のモード、例えば単方向予測やイントラ予測処理においては、重み付け処理を行わない。
【0081】
また、画像符号化装置1における評価部111及び合成部105について説明したが、画像復号装置2における評価部208及び合成部202は、画像符号化装置1における評価部111及び合成部105と同様に構成される。具体的には、画像復号装置2における評価部208は、差分算出部208aと、正規化部208bと、重み調整部208cとを備える。画像復号装置2における合成部202は、重み付け部(乗算部)202aと、加算部202bとを備える。
【0082】
(1.5.画像符号化の動作)
図7は、第1実施形態に係る画像符号化装置1における処理フローを示す図である。
【0083】
図7に示すように、ステップS1101において、動き補償予測部109は、複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。動き補償予測情報は、エントロピー符号化部103で符号化データの一部として符号化され、エントロピー符号化部103は、動き補償予測情報を含む符号化データを出力する。
【0084】
ステップS1102において、評価部111は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、あるいは複数の画素の予測精度を平均化した部分画像単位で評価し、ブロック内の各画素あるいは部分画像の重みからなるマップ情報を生成する。
【0085】
ステップS1103において、減算部101は、対象画像ブロックと予測画像との間の画素単位での差分を示す予測残差を算出する。
【0086】
ステップS1104において、変換・量子化部102は、減算部101が算出した予測残差に対して直交変換及び量子化を行うことにより、量子化変換係数を生成する。
【0087】
ステップS1105において、エントロピー符号化部103は、量子化変換係数をエントロピー符号化して符号化データを出力する。
【0088】
ステップS1106において、逆量子化・逆変換部104は、量子化変換係数に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
【0089】
ステップS1107において、合成部105は、評価部111による評価の結果(マップ情報)に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。具体的には、合成部105は、復元予測残差に対して、上述したような画素単位での重み付け処理を行う。
【0090】
ステップS1108において、合成部105は、重み付け後の復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
【0091】
ステップS1109において、ループフィルタ107は、再構成画像に対してフィルタ処理を行う。また、ループフィルタに関する情報(オフセットおよびオフセットを適用するカテゴリ情報など)は、エントロピー符号化部103で符号化データの一部として符号化され、エントロピー符号化部103は、ループフィルタに関する情報を含む符号化データを出力する。
【0092】
ステップS1110において、フレームメモリ108は、フィルタ処理後の再構成画像をフレーム単位で記憶する。
【0093】
(1.6.画像復号の動作)
図8は、第1実施形態に係る画像復号装置2における処理フローを示す図である。
【0094】
図8に示すように、ステップS1201において、エントロピー符号復号部200は、符号化データを復号して量子化変換係数、動きベクトル情報及びループフィルタに関する情報を取得する。
【0095】
ステップS1202において、動き補償予測部206は、動きベクトル情報に基づく複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。
【0096】
ステップS1203において、評価部208は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、ブロック内の各画素あるいは部分画像の重みからなるマップ情報を生成する。
【0097】
ステップS1204において、逆量子化・逆変換部201は、量子化変換係数に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
【0098】
ステップS1205において、合成部202は、評価部208による評価の結果(マップ情報)に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。具体的には、合成部202は、復元予測残差に対して、上述したような画素単位での重み付け処理を行う。
【0099】
ステップS1206において、合成部202は、重み付け後の復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
【0100】
ステップS1207において、ループフィルタ204は、再構成画像に対してフィルタ処理を行う。
【0101】
ステップS1208において、フレームメモリ205は、フィルタ処理後の再構成画像をフレーム単位で記憶して出力する。
【0102】
(1.7.第1実施形態のまとめ)
画像符号化装置1において、評価部111は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、合成部105は、評価部111による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。
【0103】
画像復号装置2において、評価部208は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、合成部202は、評価部208による評価の結果に基づいて、予測画像と合成する復元予測残差を画素単位で制御する。
【0104】
これにより、高精度な予測が行われる部分について、予測画像と合成する復元予測残差を抑制することが可能となるため、高精度な予測が行われる部分に対して復元予測残差における画質の劣化が伝搬することを防止することができる。よって、複数の参照画像を用いて動き補償予測を行う場合において画質を向上し、符号化効率を改善することができる。
【0105】
<2.第2実施形態>
第2実施形態に係る画像符号化装置及び画像復号装置について、第1実施形態との相違点を主として説明する。第1実施形態では予測精度の評価結果を信号合成処理において利用していたが、第2実施形態では予測精度の評価結果をフィルタ処理において利用する。
【0106】
(2.1.画像符号化装置)
図9は、第2実施形態に係る画像符号化装置1の構成を示す図である。
図9に示すように、第2実施形態において、評価部111は、評価結果(マップ情報)をループフィルタ107に出力する。具体的には、評価部111は、第1実施形態と同様に、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。
【0107】
ループフィルタ107は、評価部111による評価の結果に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。そして、ループフィルタ107は、画素単位で制御したオフセット値を、合成部105から入力された再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行い、フィルタ処理後の再構成画像をフレームメモリ108に出力する。
【0108】
(2.2.画像復号装置)
図10は、第2実施形態に係る画像復号装置2の構成を示す図である。
図10に示すように、第2実施形態において、評価部208は、評価結果(マップ情報)をループフィルタ204に出力する。具体的には、評価部208は、第1実施形態と同様に、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。
【0109】
ループフィルタ204は、評価部208による評価の結果に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。そして、ループフィルタ204は、画素単位で制御したオフセット値を、合成部202から入力された再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行い、フィルタ処理後の再構成画像をフレームメモリ205に出力する。
【0110】
(2.3.ループフィルタ)
図11は、画像符号化装置1におけるループフィルタ107の構成の一例を示す図である。
図11に示すように、ループフィルタ107は、重み付け部(乗算部)107aと、加算部107bとを備える。
【0111】
重み付け部107aは、評価部111から入力されたマップ情報(重みWij)を用いて、フィルタ強度を定めるオフセット値に対して画素単位で重み付けを行う。フィルタ強度を定めるオフセット値としては、サンプルアダプティブオフセット処理(非特許文献1参照)で用いるオフセット値を用いることができる。上述したように、サンプルアダプティブオフセット処理では、ループフィルタ107は、ブロック内の画素の隣接画素との相対的な関係により各画素をカテゴリ分けし、それぞれのカテゴリについて画質を向上させるためのオフセット値を算出する。重み付け部107aは、サンプルアダプティブオフセット処理に用いるオフセット値に対して画素単位で重み付けを行い、重み付け後のオフセット値を加算部107bに出力する。
【0112】
加算部107bは、重み付け部107aから入力された重み付け後のオフセット値を、合成部105から入力された再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行い、フィルタ処理後の再構成画像を出力する。
【0113】
このようなループフィルタ107の処理は、例えば下記の式(3)のように表現することができる。
【0114】
Recij' = Recij + dij × Wij ・・・(3)
式(3)において、Recij'はフィルタ処理後の再構成画像における画素ijの画素値であり、Recijはフィルタ処理前の再構成画像における画素ijの画素値であり、dijは画素ijに付与されるべきオフセット値であり、Wijはマップ情報における画素ijの重みである。
【0115】
なお、ループフィルタ107は、複数の参照画像を用いる動き補償予測を適用する場合にのみマップ情報に基づく重み付け処理を行い、それ以外のモード、例えば単方向予測やイントラ予測処理においては、マップ情報に基づく重み付け処理を行わない。
【0116】
また、画像符号化装置1におけるループフィルタ107について説明したが、画像復号装置2におけるループフィルタ204は、画像符号化装置1におけるループフィルタ107と同様に構成される。具体的には、画像復号装置2におけるループフィルタ204は、重み付け部(乗算部)204aと、加算部204bとを備える。
【0117】
(2.4.画像符号化の動作)
図12は、第2実施形態に係る画像符号化装置1における処理フローを示す図である。
【0118】
図12に示すように、ステップS2101において、動き補償予測部109は、複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。動き補償予測情報はエントロピー符号化部103で符号化データの一部として符号化され、エントロピー符号化部103は、動き補償予測情報を含む符号化データを生成し出力する。
【0119】
ステップS2102において、評価部111は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、ブロック内の各画素の重みからなるマップ情報を生成する。
【0120】
ステップS2103において、減算部101は、対象画像ブロックと予測画像との間の画素単位での差分を示す予測残差を算出する。
【0121】
ステップS2104において、変換・量子化部102は、減算部101が算出した予測残差に対して直交変換及び量子化を行うことにより、量子化変換係数を生成する。
【0122】
ステップS2105において、エントロピー符号化部103は、量子化変換係数をエントロピー符号化して符号化データを出力する。
【0123】
ステップS2106において、逆量子化・逆変換部104は、量子化変換係数に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
【0124】
ステップS2107において、合成部105は、復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
【0125】
ステップS2108において、ループフィルタ107は、評価部111による評価の結果(マップ情報)に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。具体的には、ループフィルタ107は、上述したように、フィルタ強度を定めるオフセット値に対して画素単位で重み付けを行う。また、ループフィルタに関する情報(オフセットおよびオフセットを提供するカテゴリ情報など)は、エントロピー符号化部103で符号化データの一部として符号化され、エントロピー符号化部103は、ループフィルタに関する情報を含む符号化データを出力する。
【0126】
ステップS2109において、ループフィルタ107は、重み付け後のオフセット値を再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行い、フィルタ処理後の再構成画像を出力する。
【0127】
ステップS2110において、フレームメモリ108は、フィルタ処理後の再構成画像をフレーム単位で記憶する。
【0128】
(2.5.画像復号の動作)
図13は、第2実施形態に係る画像復号装置2における処理フローを示す図である。
【0129】
図13に示すように、ステップS2201において、エントロピー符号復号部200は、符号化データを復号して量子化変換係数、動きベクトル情報及びループフィルタに関する情報を取得する。
【0130】
ステップS2202において、動き補償予測部206は、動きベクトル情報に基づく複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。
【0131】
ステップS2203において、評価部208は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価し、ブロック内の各画素の重みからなるマップ情報を生成する。
【0132】
ステップS2204において、逆量子化・逆変換部201は、量子化変換係数に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
【0133】
ステップS2205において、合成部202は、復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
【0134】
ステップS2206において、ループフィルタ204は、評価部208による評価の結果(マップ情報)に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。具体的には、ループフィルタ204は、上述したように、フィルタ強度を定めるオフセット値に対して画素単位で重み付けを行う。
【0135】
ステップS2207において、ループフィルタ204は、重み付け後のオフセット値を再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行い、フィルタ処理後の再構成画像を出力する。
【0136】
ステップS2208において、フレームメモリ205は、フィルタ処理後の再構成画像をフレーム単位で記憶して出力する。
【0137】
(2.6.第2実施形態のまとめ)
画像符号化装置1において、評価部111は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、ループフィルタ107は、評価部111による評価の結果に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。
【0138】
画像復号装置2において、評価部208は、複数の参照画像間の類似度を画素単位で算出することにより、予測画像の予測精度を画素単位で評価する。そして、ループフィルタ204は、評価部208による評価の結果に基づいて、フィルタ処理におけるフィルタ強度を画素単位で制御する。
【0139】
これにより、高精度な予測が行われる部分について、フィルタ強度を弱めて、フィルタ処理がかかりにくくすることが可能となる。また、高精度な予測が行われない部分について、フィルタ強度を強めて、フィルタ処理がかかり易くすることが可能となる。よって、複数の参照画像を用いて動き補償予測を行う場合において画質を向上し、符号化効率を改善することができる。
【0140】
<3.第1及び第2実施形態の変更例>
上述した第1実施形態及び第2実施形態において、評価部111が、予測に用いる複数の参照画像間の類似度を1画素ごとに算出して予測画像の予測精度を1画素ごとに評価する一例を説明した。また、上述した第1実施形態において、合成部105が、評価部111による評価の結果に基づいて、予測画像と合成する復元予測残差を1画素ごとに制御する一例を説明した。また、上述した第2実施形態において、ループフィルタ107が、評価部111による評価の結果に基づいて、フィルタ処理におけるフィルタ強度を1画素ごとに制御する一例を説明した。
【0141】
しかしながら、このような1画素単位での処理に代えて、複数の画素からなるグループ(サブブロック)単位での処理を用いてもよい。本変更例において、対象画像ブロックをN個のサブブロックに分割する(N:2以上の整数)。ここで、各サブブロックは、m×n画素からなり、m及びnのうち少なくとも一方は2以上の整数である。評価部111は、上述した実施形態の方法によって各画素(ij)の重みWijを算出した後、k番目のサブブロックごとに重みWijの平均値Wkを算出する(但し、0≦k≦N)。
【0142】
そして、上述した第1実施形態においては、評価部111は、サブブロックごとに算出した重み平均値Wkを合成部105に出力する。合成部105は、重み平均値Wkを用いて、予測画像と合成する復元予測残差をサブブロックごとに制御する。具体的には、合成部105は、評価部111から入力された重み平均値Wkを用いて、逆変換部104bから入力された復元予測残差に対してサブブロック単位で重み付けを行い、重み付け後の復元予測残差を予測画像に画素単位で加算することにより再構成画像を生成する。なお、画像復号装置2においても同様な処理を行う。
【0143】
上述した第2実施形態においては、評価部111は、サブブロックごとに算出した重み平均値Wkをループフィルタ107に出力する。ループフィルタ107は、重み平均値Wkを用いて、フィルタ処理におけるフィルタ強度をサブブロックごとに制御する。具体的には、ループフィルタ107は、サンプルアダプティブオフセット処理に用いるオフセット値に対してサブブロック単位で重み付けを行い、重み付け後のオフセット値を再構成画像に画素単位で加算することによりフィルタ処理(サンプルアダプティブオフセット処理)を行う。なお、画像復号装置2においても同様な処理を行う。
【0144】
<3.第3実施形態>
(3.1.画像符号化装置の構成)
図16は、第3実施形態に係る画像符号化装置1の構成を示す図である。
図16に示すように、画像符号化装置1は、ブロック分割部100と、減算部101と、変換部102aと、量子化部102bと、エントロピー符号化部103と、逆量子化部104aと、逆変換部104bと、合成部105と、イントラ予測部106と、ループフィルタ107と、フレームメモリ108と、動き補償予測部109と、切替部110と、評価部111とを備える。
【0145】
ブロック分割部100は、フレーム(或いはピクチャ)単位の入力画像をブロック状の小領域に分割し、画像ブロックを減算部101(及び動き補償予測部109)に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックは、画像符号化装置1が符号化を行う単位及び画像復号装置2が復号を行う単位であり、かかる画像ブロックを対象画像ブロックと称する。
【0146】
減算部101は、ブロック分割部100から入力された対象画像ブロックと対象画像ブロックに対応する予測画像(予測画像ブロック)との間の画素単位での差分を示す予測残差を算出する。具体的には、減算部101は、符号化対象ブロックの各画素値から予測画像の各画素値を減算することにより予測残差を算出し、算出した予測残差を変換部102aに出力する。なお、予測画像は、後述するイントラ予測部106又は動き補償予測部109から切替部110を介して減算部101に入力される。
【0147】
変換部102a及び量子化部102bは、ブロック単位で直交変換処理及び量子化処理を行う変換・量子化部102を構成する。
【0148】
変換部102aは、減算部101から入力された予測残差に対して直交変換を行って周波数成分ごとに変換係数を算出し、算出した変換係数を量子化部102bに出力する。直交変換とは、例えば、離散コサイン変換(DCT:Discrete Cosine Transform)や離散サイン変換(DST:Discrete Sine Transform)、カルーネンレーブ変換(KLT: Karhunen-Loeve Transform)等をいう。直交変換は画素領域の残差信号を周波数領域に変換する処理である。
【0149】
量子化部102bは、変換部102aから入力された変換係数を量子化パラメータ(Qp)及び量子化行列を用いて量子化し、量子化された変換係数(量子化変換係数)を生成する。量子化パラメータ(Qp)は、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さを定めるパラメータである。量子化行列は、各変換係数を量子化する際の量子化値を要素として有する行列である。量子化部102bは、量子化制御情報、生成した量子化変換係数情報などをエントロピー符号化部103及び逆量子化部104aに出力する。
【0150】
エントロピー符号化部103は、量子化部102bから入力された量子化変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化データ(ビットストリーム)を生成し、符号化データを画像符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。エントロピー符号化は、2次元に配列された変換係数を所定のスキャン順で読み出して1次元の変換係数列に変換するシリアライズという処理を含む。ここで、所定のスキャン順で最後の有意係数(非ゼロ係数)を終了位置として、この終了位置までの変換係数を効率的に符号化している。
【0151】
なお、エントロピー符号化部103には、イントラ予測部106及び動き補償予測部109から予測に関する情報が入力され、ループフィルタ107からフィルタ処理に関する情報が入力される。エントロピー符号化部103は、これらの情報のエントロピー符号化も行う。
【0152】
逆量子化部104a及び逆変換部104bは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部104を構成する。
【0153】
逆量子化部104aは、量子化部102bが行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部104aは、量子化部102bから入力された量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部104bに出力する。
【0154】
逆変換部104bは、変換部102aが行う直交変換処理に対応する逆直交変換処理を行う。例えば、変換部102aが離散コサイン変換を行った場合には、逆変換部104bは逆離散コサイン変換を行う。逆変換部104bは、逆量子化部104aから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部105に出力する。
【0155】
合成部105は、逆変換部104bから入力された復元予測残差を切替部110から入力された予測画像と画素単位で合成する。合成部105は、復元予測残差の各画素値と予測画像の各画素値を加算して対象画像ブロックを再構成し、再構成した対象画像ブロックである再構成画像をイントラ予測部106及びループフィルタ107に出力する。
【0156】
イントラ予測部106は、合成部105から入力された再構成画像を用いてイントラ予測を行ってイントラ予測画像を生成し、イントラ予測画像を切替部110に出力する。また、イントラ予測部106は、選択したイントラ予測モードの情報等をエントロピー符号化部103に出力する。
【0157】
ループフィルタ107は、合成部105から入力された再構成画像に対して、後処理としてのフィルタ処理を行い、フィルタ処理後の再構成画像をフレームメモリ108に出力する。また、ループフィルタ107は、フィルタ処理に関する情報をエントロピー符号化部103に出力する。HEVC規格において、フィルタ処理には、デブロッキングフィルタ処理とサンプルアダプティブオフセット処理とが含まれる。
【0158】
フレームメモリ108は、ループフィルタ107から入力された再構成画像をフレーム単位で記憶する。
【0159】
動き補償予測部109は、フレームメモリ108に記憶された1又は複数の再構成画像を参照画像として用いるインター予測を行う。具体的には、動き補償予測部109は、ブロックマッチングなどの手法により動きベクトルを算出し、動きベクトルに基づいて動き補償予測画像を生成し、動き補償予測画像を切替部110に出力する。また、動き補償予測部109は、動きベクトルに関する情報をエントロピー符号化部103に出力する。
【0160】
切替部110は、イントラ予測部106から入力されたイントラ予測画像と、動き補償予測部109から入力された動き補償予測画像とを切替えて、予測画像(イントラ予測画像又は動き補償予測画像)を減算部101及び合成部105に出力する。
【0161】
評価部111は、動き補償予測部109が複数の参照画像を用いて動き補償予測を行う場合において、複数の参照画像間の類似度を周波数成分ごとに評価し、評価結果の情報をエントロピー符号化部103に出力する。本実施例形態では図示しないが、複数の参照画像を用いたイントラ予測(例えば、イントラブロックコピーモード)などを用いる場合には、評価部111は、イントラ予測部106が複数の参照画像を用いて予測を行う場合、複数の参照画像間の類似度を周波数成分ごとに評価し、この評価結果をエントロピー符号化部103に出力する。エントロピー符号化部103は、評価部111による評価の結果に基づいて、量子化部102bから入力された変換係数を並び替えて符号化する。評価部111及びエントロピー符号化部103の詳細については後述する。
【0162】
(3.2.画像復号装置の構成)
図17は、第3実施形態に係る画像復号装置2の構成を示す図である。
図17に示すように、画像復号装置2は、エントロピー符号復号部200と、逆量子化部201aと、逆変換部201bと、合成部202と、イントラ予測部203と、ループフィルタ204と、フレームメモリ205と、動き補償予測部206と、切替部207と、評価部208とを備える。
【0163】
エントロピー符号復号部200は、符号化装置1により生成された符号化データを復号し、量子化変換係数を逆量子化部201aに出力する。また、エントロピー符号復号部200は、符号化データを復号し、予測(イントラ予測及び動き補償予測)に関する情報とフィルタ処理に関する情報とを取得し、予測に関する情報をイントラ予測部203及び動き補償予測部206に出力し、フィルタ処理に関する情報をループフィルタ204に出力する。
【0164】
逆量子化部201a及び逆変換部201bは、ブロック単位で逆量子化処理及び逆直交変換処理を行う逆量子化・逆変換部201を構成する。
【0165】
逆量子化部201aは、画像符号化装置1の量子化部102bが行う量子化処理に対応する逆量子化処理を行う。逆量子化部201aは、エントロピー符号復号部200から入力された量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、変換係数を復元し、復元した変換係数を逆変換部201bに出力する。
【0166】
逆変換部201bは、画像符号化装置1の変換部102aが行う直交変換処理に対応する逆直交変換処理を行う。逆変換部201bは、逆量子化部201aから入力された変換係数に対して逆直交変換を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部202に出力する。
【0167】
合成部202は、逆変換部201bから入力された予測残差と、切替部207から入力された予測画像とを画素単位で合成することにより、元の対象画像ブロックを再構成し、再構成画像をイントラ予測部203及びループフィルタ204に出力する。
【0168】
イントラ予測部203は、合成部202から入力された再構成ブロック画像を参照し、エントロピー符号復号部200から入力されたイントラ予測情報に従ってイントラ予測を行うことによりイントラ予測画像を生成し、イントラ予測画像を切替部207に出力する。
【0169】
ループフィルタ204は、エントロピー符号復号部200から入力されたフィルタ処理情報に基づいて、合成部202から入力された再構成画像に対して、画像符号化装置1のループフィルタ107が行うフィルタ処理と同様なフィルタ処理を行い、フィルタ処理後の再構成画像をフレームメモリ205に出力する。
【0170】
フレームメモリ205は、ループフィルタ204から入力された再構成画像をフレーム単位で記憶する。フレームメモリ205は、記憶した再構成画像を、エントロピー符号化部103の処理と同様に表示順に画像復号装置2の外部に出力する。
【0171】
動き補償予測部206は、フレームメモリ205に記憶された1又は複数の再構成画像を参照画像として用いて、エントロピー符号復号部200から入力された動きベクトル情報に従って動き補償予測(インター予測)を行うことにより、動き補償予測画像を生成し、動き補償予測画像を切替部207に出力する。
【0172】
切替部207は、イントラ予測部203から入力されたイントラ予測画像と、動き補償予測部206から入力された動き補償予測画像とを切替えて、予測画像(イントラ予測画像又は動き補償予測画像)を合成部202に出力する。
【0173】
評価部208は、画像符号化装置1の評価部111と同様な動作を行う。具体的には、評価部208は、動き補償予測部206が複数の参照画像を用いて動き補償予測を行う場合において、複数の参照画像間の類似度を周波数成分ごとに評価し、評価結果の情報をエントロピー符号復号部200に出力する。エントロピー符号復号部200は、符号化データを復号して周波数成分ごとに変換係数を取得し、評価部208による評価の結果に基づいて変換係数を並べ替えて出力する。評価部208及びエントロピー符号復号部200の詳細については後述する。
【0174】
(3.3.動き補償予測)
図3は、動き補償予測の一例を示す図である。
図4は、動き補償予測により生成される予測画像の一例を示す図である。動き補償予測のシンプルな例として、HEVCで用いられている双予測、特に前方向と後方向予測(両方向予測)を用いる場合について説明する。
【0175】
図3に示すように、動き補償予測は、対象フレーム(現フレーム)に対して時間的に前及び後のフレームを参照する。
図3の例では、tフレーム目の画像中のブロックの動き補償予測を、t-1フレーム目とt+1フレーム目とを参照して行う。動き補償は、t-1及びt+1フレーム目の参照フレーム内から、対象画像ブロックと類似する箇所(ブロック)をシステムで設定された探索範囲の中から検出する。
【0176】
検出された箇所が参照画像である。対象画像ブロックに対する参照画像の相対位置を示す情報が図中に示す矢印であり、動きベクトルと呼ばれる。動きベクトルの情報は、画像符号化装置1において、参照画像のフレーム情報とともにエントロピー符号化によって符号化される。一方、画像復号装置2は、画像符号化装置1により生成された動きベクトルの情報に基づいて参照画像を検出する。
【0177】
図3及び
図4に示すように、動き補償によって検出された参照画像1及び2は、対象画像ブロックに対し、参照するフレーム内で位置合わせされた類似する部分画像であるため、対象画像ブロック(符号化対象画像)に類似した画像となる。
図4の例では、対象画像ブロックは、星の絵柄と部分的な円の絵柄とを含んでいる。参照画像1は、星の絵柄と全体的な円の絵柄とを含んでいる。参照画像2は、星の絵柄を含むが、円の絵柄を含んでいない。
【0178】
かかる参照画像1及び2から予測画像を生成する。なお、予測処理は、一般的に、特徴は異なるが、部分的に類似する参照画像1及び2を平均化することによって、それぞれの参照画像の特徴を備えたより予測の精度の高い画像を生成することが出来る。但し、より高度な処理、例えば、ローパスフィルタやハイパスフィルタ等による信号強調処理を併用して予測画像を生成してもよい。ここで、図に示す参照画像1は円の絵柄を含み、参照画像2は円の絵柄を含まないため、参照画像1及び2を平均化して予測画像を生成すると、参照画像2では予測できない円の絵柄を予測に反映することが出来る。しかしながら予測画像における円の絵柄は、参照画像1に比べて信号が半減している。
【0179】
参照画像1及び2から得られた予測画像と対象画像ブロック(符号化対象画像)との差分が予測残差である。
図4に示す予測残差において、星の絵柄のエッジのずれ部分と丸の絵柄のずれた部分(斜線部)とにのみ大きな差分が生じているが、それ以外の部分については、精度よく予測が行えており、差分が少なくなる(
図4の例では差分が生じていない)。
【0180】
差分が生じていない部分(星の絵柄の非エッジ部分及び背景部分)は、参照画像1と参照画像2との間の類似度が高い部分であって、高精度な予測が行われた部分である。一方、大きな差分が生じている部分は、各参照画像に特有な部分、すなわち、参照画像1と参照画像2との間の類似度が著しく低い部分である。よって、参照画像1と参照画像2との間の類似度が著しく低い部分は、予測の信頼性が低く、大きな差分(残差)を生じさせる可能性が高いことが分かる。
【0181】
このように差分が大きい部分と差分が無い部分とが混在した予測残差を直交変換すると、変換係数の量子化による信号劣化が予測精度の高低にかかわらず一様に多重されるため、符号化品質が低下する。
【0182】
第3実施形態において、評価部111は、複数の参照画像間の類似度を周波数成分ごとに評価し、評価結果の情報をエントロピー符号化部103に出力する。エントロピー符号化部103は、評価部111による評価の結果に基づいて、量子化部102bから入力された変換係数を並び替えて符号化する。
【0183】
ここで、複数の参照画像間の類似度の低い周波数成分は、大きな電力を有するとみなすことができる。一方、複数の参照画像間の類似度の高い周波数成分は、電力がゼロに近くなるとみなすことができる。よって、評価部111によって決定される変換係数の並べ替え順によれば、エントロピー符号化部103が類似度の低い周波数成分の変換係数を集中させる(まとめる)ように並び替えることにより、変換係数を効率的に符号化することができる。
【0184】
したがって、直交変換後の残差画像において低周波数成分に電力が集中せずに変換係数の電力集中度が低下する場合であっても、効率的なエントロピー符号化を行うことを可能とし、符号化効率を改善することができる。
【0185】
(3.4.評価部)
図18は、画像符号化装置1における評価部111の構成の一例を示す図である。
図18に示すように、評価部111は、第1変換部111aと、第2変換部111bと、類似度算出部111cと、正規化部111dとを備える。なお、評価部111が正規化部111dを備える一例を説明するが、本発明は類似度の大小にもとづく係数の符号化順を決定することが目的であるため、評価部111は必ずしも正規化部111dを備えていなくてもよい。
【0186】
第1変換部111aは、動き補償予測部109から入力された参照画像1(第1参照画像)に対して直交変換を行うことにより、周波数成分ごとに第1変換係数を算出し、算出した第1変換係数を類似度算出部111cに出力する。
【0187】
第2変換部111bは、動き補償予測部109から入力された参照画像2(第2参照画像)に対して直交変換を行うことにより、周波数成分ごとに第2変換係数を算出し、算出した第2変換係数を類似度算出部111cに出力する。
【0188】
類似度算出部111cは、第1変換部111aから入力された第1変換係数と第2変換部111bから入力された第2変換係数との類似度を周波数成分ごとに算出し、算出した類似度を正規化部111dに出力する。類似度としては例えば差分値の絶対値を用いることができる。差分値の絶対値が小さいほど類似度が高く、差分値の絶対値が大きいほど類似度が低いといえる。類似度算出部111cは、各参照画像に対してフィルタ処理を行ったうえで差分値を算出してもよい。類似度算出部111cは、二乗誤差等の統計量を算出し、かかる統計量を類似度として用いてもよい。以下においては、類似度として差分値の絶対値を用いる一例について説明する。
【0189】
正規化部111dは、類似度算出部111cから入力された変換係数間の差分値の絶対値を、ブロック内で差分値の絶対値が最大となる周波数成分の大きさ(すなわち、ブロック内の差分値の絶対値の最大値)で正規化して出力する。正規化された差分値は、エントロピー符号化部103において変換係数の符号化順を決定するための重要度として用いられる。変換係数間の絶対値が小さいほど類似度が高く、予測精度も高くなるため、予測誤差信号の変換係数の符号化における重要度が低い。一方、絶対値が大きい係数成分ほど類似度が低く、予測精度も低くなるため、予測誤差信号の変換係数の符号化における重要度が高い係数とみなすことが出来る。このため、エントロピー符号化部103は、重要度が高い周波数成分の変換係数を優先的に符号化する。
【0190】
正規化部111dは、量子化の粗さを定める量子化パラメータ(Qp)と、変換係数ごとに異なる量子化値が適用される量子化行列との少なくとも一方に基づいて、正規化部111dから入力された正規化差分値(重要度)を調整し、調整後の重要度を出力してもよい。量子化の粗さが大きいほど復元予測残差の劣化度が高いため、量子化パラメータ(Qp)や量子化行列の量子化値に基づいて正規化差分値を調整することにより、劣化度を考慮して重要度を設定することができる。
【0191】
評価部111が出力する各周波数成分(ij)の重要度Rijは、例えば下記の式(4)のように表現することができる。
【0192】
Rij = (abs(Xij-Yij)/maxD ×Scale(Qp)) ・・・(4)
式(4)において、Xijは参照画像1の周波数成分ijの変換係数であり、Yijは参照画像2の周波数成分ijの変換係数であり、absは絶対値を得る関数である。類似度算出部111cは、abs(Xij-Yij)を出力する。
【0193】
また、式(4)において、maxDは、ブロック内の差分値abs(Xij-Yij)の最大値である。maxDを求めるために、ブロック内のすべての周波数成分について変換係数間の差分値を求める必要があるが、この処理を省略するためにすでに符号化処理済みの隣接するブロックの最大値などで代用してもよく、例えば、その値以上が存在する場合は、使用した最大値でクリップすることで、maxDの正規化を行ってもよい。或いは、量子化パラメータ(Qp)や量子化行列の量子化値と、maxDとの対応関係を定めるテーブルを用いて、量子化パラメータ(Qp)や量子化行列の量子化値からmaxDを求めてもよい。或いは、予め仕様で規定された固定値をmaxDとして用いてもよい。正規化部111dは、abs(Xij-Yij)/maxDを出力する。
【0194】
また、式(4)において、Scale(Qp)は、量子化パラメータ(Qp)や量子化行列の量子化値に応じて乗じられる係数である。Scale(Qp)は、Qpや量子化行列の量子化値が大きい場合に1.0に近づき、小さい場合に0に近づくように設計され、その度合いはシステムによって調整するものとする。或いは、予め仕様で規定された固定値をScale(Qp)として用いてもよい。さらに、処理を簡略化するため、Scale(QP)を1.0などシステムに応じて設計された固定値としてもよい。
【0195】
正規化部111dは、abs(Xij-Yij)/maxD×Scale(Qp)を重要度Rijとして出力する。また、このRijは、システムに応じて設計される感度関数によって調整された重み付けを出力しても良い。例えば、abs(Xij-Yij)/maxD×Scale(Qp)=rijとし、Rij=Clip(rij,1.0,0.0)だけではなく、Rij=Clip(rij+offset,1.0,0.0)とオフセットをつけて感度を調整してもよい。なお、Clip(x,max,min)は、xがmaxを超える場合はmaxで、xがminを下回る場合はminでクリップする処理を示す。
【0196】
このようにして算出された重要度Rijは、0から1.0までの範囲内の値となる。基本的には、重要度Rijは、周波数成分ijの変換係数間の差分値が大きい(すなわち、予測精度が低い)場合に1.0に近づき、小さい(すなわち、予測精度が高い)場合に0に近づく。評価部111は、ブロック内の各周波数成分ijの重要度Rijからなるマップ情報(以下、「重要度マップ」と称する)をエントロピー符号化部103に出力する。
【0197】
なお、評価部111は、複数の参照画像を用いる動き補償予測を適用する場合にのみ評価(重要度Rijの算出)を行い、それ以外のモード、例えば単方向予測や、複数参照画像を用いないイントラ予測処理においては、評価(重要度Rijの算出)を行わない、又は重要度Rijとして一律に1.0を設定する。
【0198】
また、画像復号装置2における評価部208は、画像符号化装置1における評価部111と同様に構成される。具体的には、画像復号装置2における評価部208は、第1変換部208aと、第2変換部208bと、類似度算出部208cと、正規化部208dとを備える。画像復号装置2における評価部208は、ブロック内の各周波数成分ijの重要度Rijからなる重要度マップをエントロピー符号復号部200に出力する。
【0199】
(3.5.エントロピー符号化部)
図19は、エントロピー符号化部103の構成の一例を示す図である。
図19に示すように、エントロピー符号化部103は、ソート部103aと、シリアライズ部103bと、符号化部103cとを備える。ソート部103a及びシリアライズ部103bは、並び替え部を構成する。
【0200】
ソート部103aは、評価部111から入力された重要度マップ中の重要度Rijを高い順に並べ替える。重要度マップにおいて重要度Rijは2次元に配列されているため、ソート部103aは、例えば重要度マップを予め定めたスキャン順によりシリアライズして重要度列R[i]とし、インデックスラベルiを記憶する。そして、ソート部103aは、重要度列R[i]中の重要度Rijが高い順にインデックスラベルiを並び替え、重要度順に並び替えたインデックスラベルiをシリアライズ部103bに出力する。
【0201】
シリアライズ部103bは、量子化部102bから入力された変換係数を所定のスキャン順で読み出して変換係数列を符号化部103cに出力するシリアライズ処理を行う。量子化部102bから入力された変換係数は2次元に配列されているため、シリアライズ部103bは、例えば2次元に配列された変換係数を所定のスキャン順でシリアライズして変換係数列C[i]とする。ここで、シリアライズ部103bとソート部103aとで同じスキャン順を用いる。そして、シリアライズ部103bは、ソート部103aから入力されたインデックスラベルiに基づいて、変換係数列C[i]中の変換係数を重要度が高い順に並び替えて出力する。すなわち、シリアライズ部103bは、評価部111による評価の結果に基づいて、変換係数間の類似度の低い周波数成分から順に変換係数が変換係数列に含まれるようにシリアライズ処理を行う。これにより、有意係数(非ゼロ係数)をまとめることができる。
【0202】
或いは、シリアライズ部103bは、重要度が高い順に変換係数をスキャンするようにスキャン順を決定し、決定したスキャン順でスキャンを行うことにより、重要度が高い順に変換係数が並ぶ変換係数列を出力してもよい。
【0203】
符号化部103cは、シリアライズ部103bから入力された変換係数列中の変換係数を符号化して符号化データを出力する。符号化部103cは、シリアライズ部103bから入力された変換係数列の最後の有意係数を終了位置として、終了位置までの変換係数を符号化する。上記のように有意係数をまとめることにより、終了位置までの変換係数の数を少なくし、符号化すべき変換係数列の長さを短くすることができる。
【0204】
なお、エントロピー符号化部103は、複数の参照画像を用いる動き補償予測を適用する場合にのみ重要度による並び替え処理を行い、それ以外のモード、例えば単方向予測やイントラ予測処理においては、重要度による並び替え処理を行わなくてもよい。
【0205】
(3.6.エントロピー符号復号部)
図20は、エントロピー符号復号部200の構成の一例を示す図である。
図20に示すように、エントロピー符号復号部200は、復号部200aと、ソート部200bと、デシリアライズ部200cとを備える。ソート部200b及びデシリアライズ部200cは、並び替え部を構成する。
【0206】
復号部200aは、画像符号化装置1により生成された符号化データを復号し、変換係数列(量子化された変換係数)と、予測(イントラ予測及び動き補償予測)に関する情報とを取得し、変換係数列をデシリアライズ部200cに出力し、予測に関する情報をイントラ予測部203及び動き補償予測部206に出力する。
【0207】
ソート部200bは、評価部208から入力された重要度マップ中の重要度Rijを高い順に並べ替える。重要度マップにおいて重要度Rijは2次元に配列されているため、ソート部200bは、例えば重要度マップを予め定めたスキャン順によりシリアライズして重要度列R[i]とし、インデックスラベルiを記憶する。そして、ソート部200bは、重要度列R[i]中の重要度Rijが高い順にインデックスラベルiを並び替え、重要度順に並び替えたインデックスラベルiとこのインデックスラベルiに対応する座標値(周波数成分ij)とをデシリアライズ部200cに出力する。
【0208】
デシリアライズ部200cは、復号部200aから入力された変換係数列を、ソート部200bから入力されたインデックスラベルiと座標値(周波数成分ij)とに基づいてデシリアライズし、2次元に配列された変換係数を逆量子化部201aに出力する。
【0209】
なお、エントロピー符号復号部200は、複数の参照画像を用いる動き補償予測を適用する場合にのみ重要度による並び替え処理を行い、それ以外のモード、例えば単方向予測やイントラ予測処理においては、重要度による並び替え処理を行わなくてもよい。
【0210】
(3.7.画像符号化フロー)
図21は、第3実施形態に係る画像符号化装置1における処理フローを示す図である。ここでは、本発明に関連する動作を主として説明し、本発明との関連度の低い動作については説明を省略する。
【0211】
図21に示すように、ステップS3101において、動き補償予測部109は、複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。
【0212】
ステップS3102において、評価部111は、複数の参照画像間の類似度を周波数成分ごとに評価し、ブロック内の各周波数成分の重要度を示す重要度マップを生成する。
【0213】
ステップS3103において、減算部101は、対象画像ブロックと予測画像との間の画素単位での差分を示す予測残差を算出する。
【0214】
ステップS3104において、変換・量子化部102は、減算部101が算出した予測残差に対して直交変換及び量子化を行うことにより、量子化された変換係数を生成する。
【0215】
ステップS3105において、エントロピー符号化部103は、評価部111による評価の結果(重要度マップ)に基づいて、変換・量子化部102(量子化部102b)から入力された変換係数を重要度の高い順(すなわち、変換係数間の類似度の低い順)に並び替えて出力する。
【0216】
ステップS3106において、エントロピー符号化部103は、重要度の高い順に並び替えた変換係数をエントロピー符号化により符号化して符号化データを出力する。
【0217】
ステップS3107において、逆量子化・逆変換部104は、変換・量子化部102(量子化部102b)から入力された変換係数に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
【0218】
ステップS3108において、合成部105は、復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
【0219】
ステップS3109において、ループフィルタ107は、再構成画像に対してフィルタ処理を行う。
【0220】
ステップS3110において、フレームメモリ108は、フィルタ処理後の再構成画像をフレーム単位で記憶する。
【0221】
(3.8.画像復号フロー)
図22は、第3実施形態に係る画像復号装置2における処理フローを示す図である。ここでは、本発明に関連する動作を主として説明し、本発明との関連度の低い動作については説明を省略する。
【0222】
図22に示すように、ステップS3201において、エントロピー符号復号部200は、符号化データを復号して動きベクトル情報を取得し、取得した動きベクトル情報を動き補償予測部206に出力する。
【0223】
ステップS3202において、動き補償予測部206は、動きベクトル情報に基づく複数の参照画像を用いて動き補償予測を行うことにより対象画像ブロックを予測し、対象画像ブロックに対応する予測画像を生成する。
【0224】
ステップS3203において、評価部208は、複数の参照画像間の類似度を周波数成分ごとに算出し、ブロック内の各周波数成分の重要度を示す重要度マップを生成する。
【0225】
ステップS3204において、エントロピー符号復号部200は、符号化データを復号して変換係数列を取得し、取得した変換係数列を並び替えて、2次元に配列された変換係数を逆量子化・逆変換部201に出力する。
【0226】
ステップS3205において、逆量子化・逆変換部201は、変換係数(量子化された変換係数)に対して逆量子化及び逆直交変換を行うことにより予測残差を復元し、復元予測残差を生成する。
【0227】
ステップS3206において、合成部202は、復元予測残差を画素単位で予測画像と合成することにより対象画像ブロックを再構成し、再構成画像を生成する。
【0228】
ステップS3207において、ループフィルタ204は、再構成画像に対してフィルタ処理を行う。
【0229】
ステップS3208において、フレームメモリ205は、フィルタ処理後の再構成画像をフレーム単位で記憶して出力する。
【0230】
(3.9.第3実施形態のまとめ)
画像符号化装置1において、評価部111は、複数の参照画像間の類似度を周波数成分ごとに評価し、評価結果の情報をエントロピー符号化部103に出力する。エントロピー符号化部103は、評価部111による評価の結果に基づいて、量子化部102bから入力された変換係数を並び替えて符号化する。類似度の低い周波数成分の変換係数を集中させる(まとめる)よう並び替えて符号化することにより、変換係数を効率的に符号化し、効率的なエントロピー符号化を行うことが可能となるため、符号化効率を改善することができる。
【0231】
画像復号装置2において、評価部208は、複数の参照画像間の類似度を周波数成分ごとに評価し、評価結果の情報をエントロピー符号復号部200に出力する。エントロピー符号復号部200は、符号化データを復号して周波数成分ごとに変換係数を取得し、評価部208による評価の結果に基づいて変換係数を並べ替えて出力する。このように、評価部208による評価の結果に基づいて変換係数を並べ替えることにより、並び替えの詳細を指定する情報が画像復号装置1から伝送されなくても、エントロピー符号復号部200が自律的に変換係数を並べ替えることができる。よって、並び替えの詳細を指定する情報を画像復号装置1から伝送する必要がなく、符号化効率の低下を回避することができる。
【0232】
(3.10.第3実施形態の変更例)
図23は、画像符号化装置1における評価部111の構成の変更例を示す図である。
図23に示すように、本変更例に係る評価部111Aは、類似度算出部111cと、変換部111eと、正規化部111dとを備える。なお、評価部111が正規化部111dを備える一例を説明するが、評価部111は必ずしも正規化部111dを備えていなくてもよい。
【0233】
類似度算出部111cは、動き補償予測部109から入力された参照画像1(第1参照画像)及び参照画像2(第2参照画像)の類似度を画素単位で算出し、画素単位で算出した類似度を変換部111eに出力する。類似度としては例えば差分値の絶対値を用いることができる。絶対値が小さいほど類似度が高く、絶対値が大きいほど類似度が低いといえる。類似度算出部111cは、各参照画像に対してフィルタ処理を行ったうえで差分値を算出してもよい。類似度算出部111cは、二乗誤差等の統計量を算出し、かかる統計量を類似度として用いてもよい。以下においては、類似度として差分値の絶対値を用いる一例について説明する。
【0234】
類似度算出部111cは、類似度算出部111cから入力された画素単位の類似度(差分値)に対して直交変換を行うことにより、周波数成分ごとに類似度を算出する。
【0235】
正規化部111dは、類似度算出部111cから入力された周波数成分単位の差分値(変換係数)を、ブロック内で差分値が最大となる周波数成分の差分値(すなわち、ブロック内の差分値の絶対値の最大値)で正規化して出力する。
【0236】
正規化部111dは、量子化の粗さを定める量子化パラメータ(Qp)と、変換係数ごとに異なる量子化値が適用される量子化行列との少なくとも一方に基づいて、正規化部111dから入力された正規化差分値(重要度)を調整して出力してもよい。
【0237】
変更例に係る評価部111Aが出力する各周波数成分(ij)の重要度Rijは、例えば下記の式(5)のように表現することができる。
【0238】
Rij = abs(Dij)/maxD ×Scale(Qp) ・・・(5)
式(5)において、Dijは周波数成分ijの変換係数であり、absは絶対値を得る関数である。変換部111eは、abs(Dij)を出力する。
【0239】
また、式(5)において、maxDは、ブロック内の変換係数の最大値である。maxDを求めるためにブロック内のすべての周波数成分について変換係数を求める必要があるが、この処理を省略するためにすでに符号化処理済みの隣接するブロックの最大値などで代用してもよい。或いは、量子化パラメータ(Qp)や量子化行列の量子化値と、maxDとの対応関係を定めるテーブルを用いて、量子化パラメータ(Qp)や量子化行列の量子化値からmaxDを求めてもよい。或いは、予め仕様で規定された固定値をmaxDとして用いてもよい。正規化部111dは、abs(Dij)/maxDを出力する。式(5)において、Scale(Qp)は、上述した第3実施形態と同様である。
【0240】
このようにして、変更例に係る評価部111Aは、ブロック内の各周波数成分ijの重要度Rijからなる重要度マップを生成し、生成した重要度マップをエントロピー符号化部103に出力する。
【0241】
変更例に係る評価部111Aによれば、上述した第3実施形態に係る評価部111に比べて、直交変換部の数を減らすことができるため、処理負荷を削減することができる。一般的に、映像の符号化で用いられる直交変換はほぼ正規直交変換であるため、変更例に係る評価部111Aは、第3実施形態に係る評価部111と同等の性能を得ることができる。
【0242】
また、変更例において、画像復号装置2における評価部208Aは、画像符号化装置1における評価部111Aと同様に構成される。具体的には、画像復号装置2における評価部208Aは、類似度算出部208cと、変換部208eと、正規化部208dとを備える。画像復号装置2における評価部208Aは、ブロック内の各周波数成分ijの重要度Rijからなる重要度マップをエントロピー符号復号部200に出力する。
【0243】
<4.その他の実施形態>
上述した第1実施形態及び第2実施形態を併用してもよい。
図14は、第1実施形態及び第2実施形態を併用する場合の画像符号化装置1の構成を示す図である。
図14に示すように、評価部111は、評価結果(マップ情報)を合成部105及びループフィルタ107の両方に出力する。
図15は、第1実施形態及び第2実施形態を併用する場合の画像復号装置2の構成を示す図である。
図15に示すように、評価部208は、評価結果(マップ情報)を合成部202及びループフィルタ204の両方に出力する。
【0244】
上述した第3実施形態において、エントロピー符号化部103が、2次元に配列された変換係数の全てを重要度順に読み出してシリアライズ処理を行う一例について説明した。しかしながら、2次元に配列された変換係数のうち重要度が高い順に上位数個のみを読み出し、それ以外の変換係数についてはシステムで定められた固定の順序で読み出すとしてもよい。或いは、2次元に配列された変換係数について、重要度に応じて読み出し順を所定の数だけ繰り上げる又は繰り下げるとしてもよい。
【0245】
上述した第3実施形態において、変換係数のスキャン順として、例えばMPEG2で採用されているようなジグザグスキャンを用いることができるが、例えば最新の符号化方式であるHEVC(非特許文献1参照)の場合、変換係数の並び替えは、ブロック内において4×4の変換係数ごとにグループ分けされたCGと呼ばれる単位で行われる。CG内に非ゼロ係数があるか否かを判定し、CG内に非ゼロ係数がある場合に、そのCG内の変換係数をシリアライズして符号化する。上述した第3実施形態に係る動作を、CG内の変換係数を読み出す際の変換係数の並び替えに応用することもできる。また、あるいはCGの読み出し順を決定するシリアライズに適用し、CG内の直交変換係数の類似度の平均を算出しCGごとの類似度を比較することによって読み出し順の並べ替えに応用することも出来る。
【0246】
上述した各実施形態において、動き補償予測としてインター予測を主として説明した。インター予測においては、現フレームと異なるフレーム内の参照画像が現フレームの対象画像ブロックの予測に用いられる。しかしながら、動き補償予測に限定されるものではなく例えばイントラプロックコピーと呼ばれる技術における複数参照ブロックにも適用することが可能である。イントラプロックコピーにおいては、現フレームと同じフレーム内の参照画像が現フレームの対象画像ブロックの予測に用いられる。
【0247】
上述した本発明の具体例は、画像符号化装置1が行う各処理をコンピュータに実行させるプログラム及び画像復号装置2が行う各処理をコンピュータに実行させるプログラムにより提供されてもよい。また、プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。また、画像符号化装置1が行う各処理を実行する回路を集積化し、画像符号化装置1を半導体集積回路(チップセット、SoC)として構成してもよい。同様に、画像復号装置2が行う各処理を実行する回路を集積化し、画像復号装置2を半導体集積回路(チップセット、SoC)として構成してもよい。
【0248】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0249】
なお、本願は、日本国特許出願第2018-065895号(2018年3月29日出願)及び日本国特許出願第2018-065886号(2018年3月29日出願)の優先権を主張し、これらの内容の全てが参照により本願明細書に組み込まれている。