(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】画像復号装置、画像復号方法及びプログラム
(51)【国際特許分類】
H04N 19/117 20140101AFI20240509BHJP
H04N 19/136 20140101ALI20240509BHJP
H04N 19/182 20140101ALI20240509BHJP
H04N 19/82 20140101ALI20240509BHJP
【FI】
H04N19/117
H04N19/136
H04N19/182
H04N19/82
(21)【出願番号】P 2023120159
(22)【出願日】2023-07-24
(62)【分割の表示】P 2021144756の分割
【原出願日】2019-06-20
【審査請求日】2023-07-24
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】海野 恭平
(72)【発明者】
【氏名】河村 圭
(72)【発明者】
【氏名】内藤 整
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2020/126411(WO,A1)
【文献】Benjamin Bross, Jianle Chen and Shan Liu,Versatile Video Coding (Draft 5),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N1001 (version 7),14th Meeting: Geneva, CH,2019年05月29日,pp.45-46, 97-101, 284-291
【文献】Jonathan Taquet et al.,CE5: Results of tests CE5-3.1 to CE5-3.4 on Non-Linear Adaptive Loop Filter.,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0242,14th Meeting: Geneva, CH,2019年03月,pp.1-10
【文献】Kyohei Unno, Kei Kawamura and Sei Naito,Non-CE5: A simplification of clipping thresholds for Non-Linear ALF,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0386-v2,15th Meeting: Gothenburg, SE,2019年07月,pp.1-6
【文献】Nan Hu, Vadim Seregin and Marta Karczewicz,Non-CE5: Simplification on clipping value calculation for adaptive loop filter,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0532-v1,15th Meeting: Gothenburg, SE,2019年06月,pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
画像復号装置であって、
フィルタ処理前復号信号を入力として、どのクラスのフィルタを用いるかについて判定するように構成されているクラス判定部と、
前記クラス毎にフィルタ係数を決定するように構成されているパラメータ決定部と、
前記フィルタ処理前復号信号を入力とし、フィルタ処理後復号信号を出力するように構成されているフィルタ部を備え、
前記フィルタ部は、参照画素値と前記フィルタ処理前復号信号の画素値との差分値の絶対値が予め定義した閾値以下となるように、前記参照画素値と前記フィルタ処理前復号信号の画素値との差分値に対するクリッピング処理を施し、前記クリッピング処理が施された後の値と前記フィルタ係数と前記フィルタ処理前復号信号の画素値との線形加重和によって前記フィルタ処理後復号信号を生成するように構成されており、
前記閾値は、前記クラス毎及び前記フィルタ係数毎に設定され、
内部ビット深度が変化しても、輝度信号用の前記閾値と色差信号用の前記閾値が同じ値となるように定義されており、
内部ビット深度が1だけ大きくなると、前記閾値は2倍となるように定義されていることを特徴とする画像復号装置。
【請求項2】
画像復号方法であって、
フィルタ処理前復号信号を入力として、どのクラスのフィルタを用いるかについて判定する工程Aと、
前記クラス毎にフィルタ係数を決定する工程Bと、
前記フィルタ処理前復号信号を入力とし、フィルタ処理後復号信号を出力する工程Cとを有し、
前記工程Cにおいて、参照画素値と前記フィルタ処理前復号信号の画素値との差分値の絶対値が予め定義した閾値以下となるように、前記参照画素値と前記フィルタ処理前復号信号の画素値との差分値に対するクリッピング処理を施し、前記クリッピング処理が施された後の値と前記フィルタ係数と前記フィルタ処理前復号信号の画素値との線形加重和によって前記フィルタ処理後復号信号を生成し、
前記閾値は、前記クラス毎及び前記フィルタ係数毎に設定され、
内部ビット深度が変化しても、輝度信号用の前記閾値と色差信号用の前記閾値が同じ値となるように定義されており、
内部ビット深度が1だけ大きくなると、前記閾値は2倍となるように定義されていることを特徴とする画像復号方法。
【請求項3】
コンピュータを、画像復号装置として機能させるプログラムであって、
フィルタ処理前復号信号を入力として、どのクラスのフィルタを用いるかについて判定するように構成されているクラス判定部と、
前記クラス毎にフィルタ係数を決定するように構成されているパラメータ決定部と、
前記フィルタ処理前復号信号を入力とし、フィルタ処理後復号信号を出力するように構成されているフィルタ部を備え、
前記フィルタ部は、参照画素値と前記フィルタ処理前復号信号の画素値との差分値の絶対値が予め定義した閾値以下となるように、前記参照画素値と前記フィルタ処理前復号信号の画素値との差分値に対するクリッピング処理を施し、前記クリッピング処理が施された後の値と前記フィルタ係数と前記フィルタ処理前復号信号の画素値との線形加重和によって前記フィルタ処理後復号信号を生成するように構成されており、
前記閾値は、前記クラス毎及び前記フィルタ係数毎に設定され、
内部ビット深度が変化しても、輝度信号用の前記閾値と色差信号用の前記閾値が同じ値となるように定義されており、
内部ビット深度が1だけ大きくなると、前記閾値は2倍となるように定義されていることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像復号装置、画像復号方法及びプログラムに関する。
【背景技術】
【0002】
従来、「ALF(Adaptive Loop Filter:適応ループフィルタ) )」への入力信号を閾値でクリッピングすることで、非線形なフィルタ処理を実現する技術が知られている(例えば、非特許文献1参照)。
【0003】
ここで、かかる閾値は、数式で定義されており、内部ビット深度の設定値等に応じて、最終的な値が導出される。かかる閾値は、輝度信号及び色差信号に対してそれぞれ定義されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Versatile Video Coding (Draft 5)、JVET-N1001
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の従来技術では、内部ビット深度によって、輝度信号の閾値と色差信号の閾値との大小関係が反転してしまう。これにより、同一の入力信号に対しても、内部ビット深度の設定によって、復号画像の特性が変化し、主観画質に影響を与える可能性があるという問題点があった。
【0006】
そこで、本発明は、上述の課題に鑑みてなされたものであり、復号画像の特性が変化し、主観画質に影響を与えてしまうという事態を防ぐことができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の特徴は、画像復号装置であって、フィルタ処理前復号信号を入力とし、フィルタ処理後復号信号を出力するように構成されているフィルタ部を備え、前記フィルタ部は、参照画素値と前記フィルタ処理前復号信号の画素値との差分値の絶対値が予め定義した閾値以下となるように、前記フィルタ処理前復号信号に対するクリッピング処理を施し、前記クリッピング処理が施された後の値と前記フィルタ処理前復号信号の画素値との線形加重和によって前記フィルタ処理後復号信号を生成するように構成されており、内部ビット深度が変化しても、輝度信号用の前記閾値と色差信号用の前記閾値との大小関係が保存されるように定義されていることを要旨とする。
【0008】
本発明の第2の特徴は、フィルタ処理前復号信号を入力とし、フィルタ処理後復号信号を出力する工程を有する画像復号方法であって、前記工程において、参照画素値と前記フィルタ処理前復号信号の画素値との差分値の絶対値が予め定義した閾値以下となるように、前記フィルタ処理前復号信号に対するクリッピング処理を施し、前記クリッピング処理が施された後の値と前記フィルタ処理前復号信号の画素値との線形加重和によって前記フィルタ処理後復号信号を生成し、内部ビット深度が変化しても、輝度信号用の前記閾値と色差信号用の前記閾値との大小関係が保存されるように定義されていることを要旨とする。
【0009】
本発明の第3の特徴は、画像復号装置で用いるプログラムであって、コンピュータに、フィルタ処理前復号信号を入力とし、フィルタ処理後復号信号を出力する工程を実行させ、前記工程において、参照画素値と前記フィルタ処理前復号信号の画素値との差分値の絶対値が予め定義した閾値以下となるように、前記フィルタ処理前復号信号に対するクリッピング処理を施し、前記クリッピング処理が施された後の値と前記フィルタ処理前復号信号の画素値との線形加重和によって前記フィルタ処理後復号信号を生成し、内部ビット深度が変化しても、輝度信号用の前記閾値と色差信号用の前記閾値との大小関係が保存されるように定義されていることを要旨とする。
【発明の効果】
【0010】
本発明によれば、復号画像の特性が変化し、主観画質に影響を与えてしまうという事態を防ぐことができる画像復号装置、画像復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】一実施形態に係る画像処理システム10の構成の一例を示す図である。
【
図2】一実施形態に係る画像符号化装置100の機能ブロックの一例を示す図である。
【
図3】一実施形態に係る画像符号化装置100のインループフィルタ処理部150の機能ブロックの一例を示す図である。
【
図4】一実施形態に係る画像符号化装置100のインループフィルタ処理部150のフィルタ部150Bの機能の一例を説明するための図である。
【
図5】一実施形態に係る画像符号化装置100のインループフィルタ処理部150のフィルタ部150Bの機能の一例を説明するための図である。
【
図6】一実施形態に係る画像符号化装置100のインループフィルタ処理部150のフィルタ部150Bの機能の一例を説明するための図である。
【
図7】一実施形態に係る画像符号化装置100のインループフィルタ処理部150のフィルタ部150Bの機能の一例を説明するための図である。
【
図8】一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。
【
図9】一実施形態に係る画像復号装置200のインループフィルタ処理部250の機能ブロックの一例を示す図である。
【
図10】一実施形態に係る画像復号装置200のインループフィルタ処理部250の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0013】
(第1実施形態)
以下、
図1~
図10を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。
図1は、本実施形態に係る実施形態に係る画像処理システム10を示す図である。
【0014】
図1に示すように、画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
【0015】
画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
【0016】
ここで、かかる符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。また、符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
【0017】
(画像符号化装置100)
以下、
図2を参照して、本実施形態に係る画像符号化装置100について説明する。
図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
【0018】
図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
【0019】
インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
【0020】
具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを決定するように構成されている。
【0021】
また、インター予測部111は、参照ブロック及び動きベクトルに基づいて予測ブロックに含まれる予測信号を予測ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
【0022】
イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
【0023】
具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
【0024】
ここで、参照ブロックは、予測対象のブロック(以下、対象ブロック)について参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
【0025】
減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
【0026】
加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
【0027】
ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
【0028】
変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
【0029】
ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT;Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST;Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。
【0030】
逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【0031】
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
【0032】
符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
【0033】
ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
【0034】
また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
【0035】
ここで、制御データは、符号化ブロック(CU:Coding Unit)サイズ、予測ブロック(PU:Prediction Unit)サイズ、変換ブロック(TU:Transform Unit)サイズ等のサイズデータを含んでもよい。
【0036】
インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
【0037】
また、インループフィルタ処理部150は、入力画像信号とフィルタ処理前復号信号を入力としてフィルタ処理に関するパラメータを決定し、かかるパラメータを符号化部140に出力するように構成されていてもよい。符号化部140は、かかるパラメータを、符号化して画像復号装置200に付加情報として伝送するように構成されていてもよい。
【0038】
ここで、例えば、フィルタ処理は、復号画像の符号化歪みを減少する適応ループフィルタ処理である。
【0039】
フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
【0040】
ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
【0041】
(インループフィルタ処理部150)
以下において、本実施形態に係るインループフィルタ処理部150について説明する。
図3は、本実施形態に係るインループフィルタ処理部150を示す図である。
【0042】
図3に示すように、インループフィルタ処理部150は、クラス判定部150Aと、フィルタ部150Bと、パラメータ決定部150Cとを有する。
【0043】
インループフィルタ処理部150は、符号化ツリーブロック(CTU:Coding Tree Unit)単位で、適応ループフィルタ処理の適用又は非適用のいずれかを選択することができる。また、適応ループフィルタ処理が適用される場合は、インループフィルタ処理部150は、複数のフィルタセットのうち、どのフィルタセットを用いるかについて選択することができる。
【0044】
各フィルタセットは、最大で25種類(クラス)の輝度信号用のフィルタと、1クラスの色差信号用のフィルタとを含む。
【0045】
かかる適応ループフィルタ処理の適用又は非適用に係る情報や適応ループフィルタ処理において用いられるべきフィルタセットに係る情報等を含むパラメータは、後述のように、付加情報としてCTU毎に符号化され、画像復号装置200に伝送される。なお、かかるパラメータは、後述のように、パラメータ決定部150Cによって決定される。
【0046】
ここで、例えば、入力信号が、「YCbCr4:2:0フォーマット」である場合、CTUは、例えば、輝度(Y)信号を128×128画素サイズ、色差信号(Cb、Cr)を64×64画素サイズにそれぞれ区切った各ブロックと定義してもよい。
【0047】
なお、適応ループフィルタ処理を適用しないと判断されたCTUに属する輝度信号及び色差信号の画素については、後述するクラス判定部150Aによる判定処理及びフィルタ部150Bによるフィルタ処理を省略することができる。
【0048】
クラス判定部150Aは、フィルタ処理前復号信号を入力として、予め定められた複数種類のフィルタ(適応ループフィルタ)の中から、どの種類(クラス)のフィルタを用いるかについて示すクラス判定情報を出力するように構成されている。
【0049】
ここで、クラス判定部150Aは、フィルタ処理前復号信号を小さなブロックに分割し、かかるブロック毎に、用いるべきクラスを判定するように構成されている。例えば、クラス判定部150Aは、4×4画素ブロックごとに、25種類あるうちのどのクラスのフィルタを用いるべきかについて決定することができる。
【0050】
ここで、クラスの判定方法としては、画像符号化装置100側と画像復号装置200側の両方で得られる情報のみを入力として判定することができる方法で有れば、任意の判定方法を用いることができる。
【0051】
例えば、非特許文献1では、フィルタ処理前復号信号の画素値の勾配を用いて、上述のクラスの判定が行われている。画像符号化装置100側と画像復号装置200側の両方で得られる情報のみを用いることで、画像復号装置200側でも画像符号化装置100側と同様なクラスの判定が可能になるため、クラス判定情報を画像符号化装置100側から画像復号装置200側に伝送する必要がなくなる。
【0052】
フィルタ部150Bは、フィルタ処理前復号信号を入力とし、フィルタ処理後復号信号を出力するように構成されている。
【0053】
具体的には、フィルタ部150Bは、フィルタ処理前復号信号とクラス判定部150Aから出力されるクラス判定情報とパラメータ決定部150Cから入力されるパラメータ(ループフィルタ処理のパラメータ群)とを入力として、フィルタ処理を行い、フィルタ処理後復号信号を出力するように構成されている。
【0054】
フィルタ処理後復号信号の各画素の値は、例えば、以下の式で算出することができる。
【0055】
【数1】
ここで、I(x,y)は、(x,y)の座標にあるフィルタ処理前復号信号の画素値であり、O(x,y)は、(x,y)の座標にあるフィルタ処理後復号信号の画素値であり、(i,j)は、(x,y)の座標にある画素に対する参照画素の相対位置を示す座標(参照画素位置)であり、C(i,j)は、参照画素位置(i,j)に対応するフィルタ係数であり、K()は、以下に示すクリッピング処理であり、k(i,j)は、クリッピング処理で用いられる閾値である。
【0056】
K(I,k)=min(k,max(-k,I))
ここで、min()は、引数内の最小値を返す関数であり、max()は、引数内の最大値を返す関数である。したがって、K()は、入力値Iが-kより小さい場合は-kを返し、入力値Iがkより大きい場合はkを返し、それ以外は入力値Iをそのまま返す処理である。
【0057】
すなわち、フィルタ部150Bは、参照画素値I(x+i,y+j)とフィルタ処理前復号信号の画素値I(x,y)との差分値の絶対値が予め定義した閾値k(i,j)以下となるように、フィルタ処理前復号信号に対するクリッピング処理を施すように構成されている。
【0058】
また、フィルタ部150Bは、クリッピング処理が施された後の値とフィルタ処理前復号信号の画素値I(x,y)との線形加重和によってフィルタ処理後復号信号を生成するように構成されている。
【0059】
フィルタ係数Cは、パラメータ決定部150Cで決定され、画像復号装置200側に伝送される。フィルタ係数Cに係る情報の符号量を削減するため、複数の画素に同一のフィルタ係数Cを適用することとして、フィルタ係数Cの数を削減することができる。
図4に、具体例を示す。
【0060】
図4(a)は、輝度信号のフィルタ処理におけるフィルタ係数Cの配置の例を示し、
図4(b)は、色差信号のフィルタ処理におけるフィルタ係数Cの配置の例を示す。
【0061】
図4(a)に示すように、例えば、輝度信号では、12種類のフィルタ係数C0~C11が用いられる。
図4(a)において、Xと記載された画素は、かかるフィルタ処理によって画素値が補正される画素位置(x,y)である。画素位置(x,y)を中心にして、同一のフィルタ係数Cが適用される画素が点対称に配置されている。
【0062】
図4(b)に示すように、色差信号についても、同様に、Xと記載された画素を中心に、その他のフィルタ係数が点対称に配置されている。
【0063】
例えば、参照画素がピクチャ外の画素である場合、ピクチャ境界に位置するフィルタ処理前復号信号の画素値をコピー(パディングと呼ぶ)することで、フィルタ処理を実現できる。
【0064】
ここで、
図5に、ピクチャの下端(ピクチャ境界)におけるフィルタ処理の一例について示す。
【0065】
図5(a)において、グレーアウトされているフィルタ係数C0~C3は、ピクチャ外の画素を参照している。この時、グレーアウトされているフィルタ係数C2及びC0への入力としては、
図5(a)においてフィルタ係数C2の直上に配置されているフィルタ係数C6に対応する画素値と同じ画素値が用いられる。
【0066】
同様に、グレーアウトされているフィルタ係数C3への入力としては、
図5(a)においてフィルタ係数C3の直上に配置されているフィルタ係数C7に対応する画素値と同じ画素値が用いられ、グレーアウトされているフィルタ係数C1への入力としては、
図5(a)においてフィルタ係数C1の直上に配置されているフィルタ係数C5に対応する画素値と同じ画素値が用いられる。
【0067】
また、上述したフィルタ係数Cの点対称性を考慮して、参照画素の一部にパディングした値が用いられる場合、かかる参照画素に対応する位置のフィルタ係数Cへの入力としてパディングした値を用いることもできる。
【0068】
図5(b)の例では、
図5(a)の例で説明したピクチャの下端におけるフィルタ処理に加えて、グレーアウトされているフィルタ係数C0~C3についてもパディングした値を入力としてもよい。
【0069】
例えば、
図5(b)におけるフィルタ係数C0及びC2への入力としては、フィルタ係数C2の直下のフィルタ係数C6に対応する画素値をパディングして用いてもよい。
【0070】
同様に、フィルタ係数C1及びC3の入力についても、それぞれフィルタ係数C1及びC3の直下のフィルタ係数C5及びC7に対応する画素値をパディングして用いてもよい。
【0071】
上述の例では、ピクチャの下端におけるフィルタ処理について説明したが、同様のフィルタ処理について、ピクチャの上端及び左右端で適用することが可能である。
【0072】
また、ピクチャ境界のみでなく、スライスやタイルと呼ばれる符号化の並列処理単位の境界や、仮想境界と呼ばれるパイプライン処理上の境界等、境界の先の画素値が参照できない状況であれば、上述のフィルタ処理の方法を適用して同様に対処することができる。
【0073】
なお、上述のピクチャ境界やタイル境界やスライス境界や仮想境界等の境界におけるフィルタ処理を同一の処理としておくことで、各境界に対して処理が異なる場合と比較して実装が簡素化できる。
【0074】
また、クリッピング処理で用いられる閾値は、フィルタのクラス毎及びフィルタ係数C毎に、それぞれ設定される。
【0075】
例えば、輝度信号用のフィルタが25クラスあり、上述のように、各クラスのフィルタ係数Cが12種類ある場合、最大で25×12=300のフィルタ係数に対する閾値をそれぞれ設定する必要がある。かかる閾値は、後述するパラメータ決定部150Cで決定され、付加情報として画像復号装置200側に伝送される。
【0076】
ここで、かかる閾値に係る情報に係る符号量を低減するために、かかる閾値に係る情報として、閾値そのものを伝送するのではなく、予め定めておいた数種類の閾値のうち、フィルタ係数毎にどの閾値を用いるかを示すインデックス(index)情報のみを符号化することもできる。
【0077】
また、輝度信号用の閾値及び色差信号用の閾値をそれぞれ予め4種類用意しておく場合、輝度信号用の閾値及び色差信号用の閾値は、例えば、
図6(a)のように定義することができる。
【0078】
輝度信号の分散は、色差信号の分散よりも大きくなる傾向があるため、
図6(a)に示すように、輝度信号用の閾値が色差信号用の閾値以上になるように設定することで、各信号の特性を考慮したクリッピング処理が可能となる。
【0079】
すなわち、
図6(a)のように、内部ビット深度(
図6内の「bitdepth」)が変化しても、輝度信号用の閾値と色差信号用の閾値との大小関係(例えば、輝度信号用の閾値が色差信号用の閾値以上である関係)が保存されるように定義されている。
【0080】
また、
図6(a)のように、輝度信号用の閾値と色差信号用の閾値は、内部ビット深度の変化に応じて、それぞれ同じ倍率の値を掛けることで算出されるように定義されていてもよい。かかる構成によれば、内部ビット深度が変化しても輝度信号用の閾値と色差信号用の閾値との大小関係を保存し、内部ビット深度に関わらずに同様のクリッピング処理を行うことができる。
【0081】
ここで、内部ビット深度は、符号化処理及び復号処理中に輝度信号及び色差信号の画素値を演算する際のビット精度を意味している。かかる内部ビット深度は、例えば、8~16ビットの整数値を取り、画像符号化装置100側から付加情報として画像復号装置200側に伝送される。
【0082】
また、
図6(a)のように、内部ビット深度に関連する倍率を2のべき乗で定義しておくことで、かかるクリッピング処理を、
図6(b)のようにビットシフトのみで実現でき、ハードウェアやソフトウェアにおける処理負荷が軽減できる。
【0083】
すなわち、輝度信号用の閾値及び色差信号用の閾値は、内部ビット深度の変化に応じて、それぞれビットシフトされることで算出されるように定義されていてもよい。
【0084】
なお、
図6(a)及び
図6(b)におけるインデックス0に対応する閾値は、対応する内部ビット深度で表現できる最大値と同じ値である。よって、かかる閾値を選択することにより、かかる閾値に対応するフィルタ係数Cでは、実質、クリッピング処理を行わないことと等価になる。
【0085】
上述の例と同様な効果を得るには、上述のように、全ての閾値に対する倍率を同じ値にする必要はない。予め定められた内部ビット深度の定義域(例えば、8~16ビット)において、輝度信号内及び色差信号内では、それぞれ各インデックスに対応する閾値の大小関係が逆転せず、また、輝度信号と色差信号との間では、同一のインデックスに対応する閾値の大小関係が逆転しないことが保証される形であれば、各閾値に対する倍率をそれぞれ違う値としても問題ない。
【0086】
なお、それぞれ0~N-1のインデックスが割り当てられたN種類(Nは、1以上の自然数)の輝度信号用の閾値及び色差信号用の閾値が設けられている場合、同一のインデックスを有する輝度信号用の閾値及び色差信号用の閾値は、内部ビット深度に応じて同じ倍率を掛けすることによって算出されるように定義されていてもよい。
【0087】
また、上述の例では、内部ビット深度に応じて閾値に倍率を掛ける場合について説明したが、倍率ではなくオフセット値を加算する処理であってもよい。
【0088】
なお、輝度信号の内部ビット深度と色差信号の内部ビット深度とが異なる場合においても、
図6のように、輝度信号用の閾値及び色差信号用の閾値をそれぞれ定義しておくことで、輝度信号及び色差信号のダイナミックレンジが同じになるように換算した場合に、輝度信号と色差信号との間でのクリッピング処理において用いられる閾値の大小関係が常に変わらないように定義することができる。
【0089】
また、上述の例では、クラス毎及びフィルタ係数C毎に閾値を設定する場合について説明したが、例えば、クラス毎に全てのフィルタ係数Cに同じ閾値を設定する、すなわち、クラス毎に閾値を1つずつ設定するという方法も可能である。この場合、伝送すべき閾値の数が減るため、閾値のインデックスに関する符号量を削減できる。
【0090】
また、後述するように、クラス毎にクリッピング処理を施すか否かについて示すフラグを、閾値のインデックスに先立って伝送するため、クラス毎に閾値が一種類しかない場合は、上述のインデックス0に対応する閾値(クリッピング処理無しと等価)を定義する必要がなくなる。よって、上述の例では、閾値の取り得るパターンを4種類から3種類に低減することができるため、閾値のインデックスに関する符号量の更なる低減が見込める。
【0091】
上述の例では、輝度信号用の閾値及び色差信号用の閾値に異なる値を設定する場合を説明したが、両者を同じ値とすることもできる。これにより、例えば、ハードウェアにおいて輝度信号及び色差信号のクリッピング処理に関する回路を共通化することができ、回路規模を削減できる。
【0092】
また、輝度信号用の閾値及び色差信号用の閾値は、内部ビット深度が10ビットの場合を基準として、現在の内部ビット深度に応じて演算を行うことによって算出されるように定義されていてもよい。
【0093】
例えば、
図6(a)では、輝度信号の10ビット時の閾値が1024、181、32、6の4種類であり、色差信号の10ビット時の閾値が1024、161、25、4の4種類であった場合を基準に、現在の内部ビット深度(
図6におけるbitdepth)の値に応じて2のべき乗を乗じて最終的な閾値を得る場合の例が示されている。
【0094】
ここで、
図6では、10ビット時の閾値を具体的な数値(1024、181…等)で表しているが、これは、数式の形で定義されていてもよい。
【0095】
例えば、
図7に示すように、輝度信号の10ビット時の閾値を「2^(10(10×(4-index)/4) (ここで、index=0,1,2,3))として、それに「2^(bitdepth-10)」を乗じることで、現在の内部ビット深度に応じた最終的な閾値を得るように定義されていてもよい。
【0096】
図7に示す色差信号の定義も同様に、「2^(8×(3-index)/4)×2^(2)」が10ビット時の閾値であり、それに「2^(bitdepth-10)」を乗じることで、現在の内部ビット深度に応じた閾値を算出していると考えることができる。
【0097】
パラメータ決定部150Cは、入力画像信号及びフィルタ処理前復号信号を入力とし、適応ループフィルタに関するパラメータを決定して符号化部140に付加情報として出力するとともに、決定したパラメータをフィルタ部150Bへ出力するように構成されている。
【0098】
パラメータ決定部150Cによって決定されるパラメータには、例えば、以下のものが含まれる。
【0099】
第1に、かかるパラメータとして、フレーム単位でのフィルタセットが挙げられる。ここで、1つのフィルタセットには、最大25クラス分の輝度信号用のフィルタ及び1クラス分の色差信号用のフィルタが含まれる。各クラスのフィルタについて、フィルタ係数の値や、クリッピング処理を施すか否について示すフラグや、かかるクラスでクリッピング処理を施す場合に各フィルタ係数におけるクリッピング処理で用いられる閾値のインデックス等が決定される。
【0100】
パラメータ決定部150Cは、あるフレームに対して複数のフィルタセットを持っておき、後述のように、領域毎にどのフィルタセットを用いるかについて選択することができる。
【0101】
第2に、かかるパラメータとして、例えば、CTU毎の適応ループフィルタを適用するか否かについて示すフラグが挙げられる。なお、パラメータ決定部150Cは、適応ループフィルタが適用される場合は、複数のフィルタセットの中のどれを用いるかについて示すインデックス情報を設定することができる。
【0102】
なお、かかるパラメータの決定方法については、公知の方法を用いることができるため、詳細は省略する。
【0103】
また、
図3には図示していないが、パラメータ決定部150Cは、パラメータの決定に、クラス判定部150Aによる判定結果や、仮のパラメータ設定で実施したフィルタ部150Bの結果を用いてもよい。
【0104】
(画像復号装置200)
以下、
図7を参照して、本実施形態に係る画像復号装置200について説明する。
図7は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
【0105】
図7に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。
【0106】
復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
【0107】
ここで、例えば、復号は、符号化部140で行われるエントロピー符号化とは逆の手順のエントロピー復号である。
【0108】
また、復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
【0109】
なお、上述したように、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。
【0110】
逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【0111】
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
【0112】
加算器230は、逆変換・逆量子化部220から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部242及びインループフィルタ処理部250に出力するように構成されている。
【0113】
ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。
【0114】
インター予測部241は、インター予測部111と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
【0115】
具体的には、インター予測部241は、符号化データから復号した動きベクトルと参照フレームに含まれる参照信号とに基づいて予測信号を予測ブロック毎に生成するように構成されている。インター予測部241は、予測信号を加算器230に出力するように構成されている。
【0116】
イントラ予測部242は、イントラ予測部112と同様に、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
【0117】
具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、予測信号を加算器230に出力するように構成されている。
【0118】
インループフィルタ処理部250は、インループフィルタ処理部150と同様に、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。
【0119】
ここで、例えば、フィルタ処理は、復号画像の符号化歪みを減少する適応ループフィルタ処理である。
【0120】
フレームバッファ260は、フレームバッファ160と同様に、インター予測部241で用いる参照フレームを蓄積するように構成されている。
【0121】
ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
【0122】
(インループフィルタ処理部250)
以下において、本実施形態に係るインループフィルタ処理部250について説明する。
図9は、本実施形態に係るインループフィルタ処理部250を示す図である。
【0123】
図9に示すように、インループフィルタ処理部250は、クラス判定部250Aと、フィルタ部250Bとを有する。
【0124】
クラス判定部250Aは、クラス判定部150Aと同様に、フィルタ処理前復号信号を入力とし、予め定められた複数種類のインループフィルタの中から、どのクラスのフィルタを用いるかというクラス判定情報を出力するように構成されている。
【0125】
フィルタ部250Bは、フィルタ部150Bと同様に、フィルタ処理前復号信号とクラス判定部250Aで決定されたクラス判定情報と画像符号化装置100側から付加情報として伝送されてくるパラメータとに基づいて、フィルタ処理を実行し、フィルタ処理後復号信号を出力するように構成されている。
【0126】
図10は、本実施形態に係る画像復号装置200のインループフィルタ処理部250の処理手順の一例を示すフローチャートである。
【0127】
図10に示すように、ステップS101において、インループフィルタ処理部250は、フィルタ処理前復号信号を入力とし、予め定められた複数種類のインループフィルタの中から、どのクラスのフィルタを用いるかというクラス判定情報を出力する。
【0128】
ステップS102において、インループフィルタ処理部250は、フィルタ処理前復号信号とクラス判定部250Aで決定されたクラス判定情報と画像符号化装置100側から付加情報として伝送されてくるパラメータとに基づいて、フィルタ処理を実行し、フィルタ処理後復号信号を出力する。
【0129】
本実施形態に係る画像符号化装置100及び画像復号装置200によれば、適応内挿フィルタの入力信号の閾値処理に関して、内部ビット深度の設定に関わらず、輝度信号及び色差信号のダイナミックレンジが同じになるように換算した際に、輝度信号用の閾値と色差信号用の閾値との大小関係が不変になるため、意図せず主観画質の特性が変化してしまうことを防ぐことができる。
【0130】
なお、上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【0131】
なお、上述の実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、かかる例に限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化/復号システムにも同様に適用できる。
【符号の説明】
【0132】
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
112、242…イントラ予測部
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
150A、250A…クラス判定部
150B、250B…フィルタ部
150C…パラメータ決定部
160、260…フレームバッファ
200…画像復号装置
210…復号部