(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-26
(45)【発行日】2022-06-03
(54)【発明の名称】デブロッキングフィルタ制御装置及びプログラム
(51)【国際特許分類】
H04N 19/117 20140101AFI20220527BHJP
H04N 19/136 20140101ALI20220527BHJP
H04N 19/176 20140101ALI20220527BHJP
【FI】
H04N19/117
H04N19/136
H04N19/176
(21)【出願番号】P 2022512696
(86)(22)【出願日】2021-04-01
(86)【国際出願番号】 JP2021014144
(87)【国際公開番号】W WO2021201215
(87)【国際公開日】2021-10-07
【審査請求日】2022-03-23
(31)【優先権主張番号】P 2020067043
(32)【優先日】2020-04-02
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001106
【氏名又は名称】キュリーズ特許業務法人
(72)【発明者】
【氏名】岩村 俊輔
(72)【発明者】
【氏名】根本 慎平
(72)【発明者】
【氏名】市ヶ谷 敦郎
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2013/064654(WO,A1)
【文献】Benjamin Bross et al.,Versatile Video Coding (Draft 8),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q2001-vE (version 15),17th Meeting: Brussels, BE,2019年03月,pp.345-351
【文献】K. Andersson and J. Enhorn,Non-CE5: Deblocking tC table defined for 10-bit video,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0159,15th Meeting: Gothenburg, SE,2019年06月,pp.1-5
【文献】Shunsuke Iwamura, Shimpei Nemoto and Atsuro Ichigaya,Cleanup of tC value derivation process for deblocking filter,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-R0130,18th Meeting: by teleconference,2020年04月,pp.1-3
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
映像信号を符号化する符号化装置又は符号化された映像信号を復号する復号装置において、復号済み画像に対するデブロッキングフィルタ処理を制御するデブロッキングフィルタ制御装置であって、
前記デブロッキングフィルタ処理におけるフィルタ強度を制御するパラメータ値を導出するパラメータ導出部と、
前記映像信号のビット深度である入力ビット深度に基づいて前記パラメータ値を変換することにより変換パラメータ値を出力するパラメータ変換部と、を備え、
前記パラメータ変換部は、前記入力ビット深度が規定ビット深度よりも小さい場合、前記パラメータ値にオフセット値を加算した結果に対してビットシフトを行うことにより前記変換パラメータ値を出力し、
前記パラメータ変換部は、前記入力ビット深度に基づいて前記オフセット値を変更することを特徴とするデブロッキングフィルタ制御装置。
【請求項2】
前記パラメータ変換部は、前記入力ビット深度が前記規定ビット深度よりも小さい場合、前記パラメータ値をt
C’、前記オフセット値をofs、前記入力ビット深度をBitDepth、前記規定ビット深度をb、前記変換パラメータ値をt
Cとしたとき、
t
C=(t
C’+ofs)≫(b-BitDepth)
により前記変換パラメータ値を算出し、
ofs=1≪(b-1-BitDepth)
により前記オフセット値を算出することを特徴とする請求項1に記載のデブロッキングフィルタ制御装置。
【請求項3】
前記パラメータ変換部は、前記入力ビット深度が前記規定ビット深度以上である場合、
t
C=t
C’×(1≪(BitDepth-b))
により前記変換パラメータ値を算出することを特徴とする請求項2に記載のデブロッキングフィルタ制御装置。
【請求項4】
前記規定ビット深度が10ビットであることを特徴とする請求項1乃至3のいずれか1項に記載のデブロッキングフィルタ制御装置。
【請求項5】
前記入力ビット深度が9ビットであることを特徴とする請求項4に記載のデブロッキングフィルタ制御装置。
【請求項6】
コンピュータを請求項1乃至5のいずれか1項に記載のデブロッキングフィルタ制御装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デブロッキングフィルタ制御装置及びプログラムに関する。
【背景技術】
【0002】
映像符号化方式では、原画像をブロックに分割し、分割したブロック単位で予測処理や変換処理、量子化処理を適用するため、復号画像にブロック歪が生じてしまう場合がある。このため、HEVC(High Efficiency Video Coding)及び/又は非特許文献1に記載のVVC(Versatile Video Coding)の規格案(以下、VVC)などの映像符号化方式では、復号画像に対してインループフィルタ処理を施すことによりブロック歪を軽減するデブロッキングフィルタが導入されている。
【0003】
HEVC及び/又はVVCにおけるデブロッキングフィルタは、変換処理を行うブロック(変換ブロック)の各境界について、デブロッキングフィルタ処理前の復号画像の境界付近の領域の画素値及び境界を跨ぐ変換ブロックに適用した量子化パラメータ等に応じて適用制御を行う。このようなデブロッキングフィルタ処理におけるフィルタ強度を制御するパラメータ値の1つとして「tC」がある。
【0004】
HEVCにおいてはビット深度が8ビットである映像信号をメインの符号化対象のターゲットとしていることから、HEVCにおいて規定される量子化パラメータQPに対応するtCの値のテーブルは、ビット深度が8ビットの映像信号に対応する値が格納されている。一方、VVCにおいてはビット深度が10ビットである映像信号をメインの符号化対象のターゲットとしていることから、tCのテーブルには10ビットの映像信号に対応する値が規定されている。
【0005】
上述のように、VVCでは、デブロッキングフィルタ処理について、10ビット映像信号に対応するtCテーブルが規定されていることから、符号化対象の映像のビット深度が10ビットでなかった場合には、入力映像のビット深度に基づいてtCの変換処理が施される。具体的には、非特許文献1には、次の式に示すように、ビットシフト及びオフセットにより変換処理を行うことが記載されている。
【0006】
tC=BitDepth<10?(tC’+2)>>(10-BitDepth):tC’×(1<<(BitDepth-10))
【0007】
但し、「BitDepth」は入力映像のビット深度であり、「tC’」は変換前のtCであり、「>>」は右シフト演算を表し、「<<」は左シフト演算を表している。この変換式は、入力映像のビット深度が10ビット未満である場合、
tC=(tC’+2)>>(10-BitDepth)
により変換後のtCを算出し、入力映像のビット深度が10ビット以上である場合、
tC=tC’×(1<<(BitDepth-10))
により変換後のtCを算出することを意味している。
【先行技術文献】
【非特許文献】
【0008】
【文献】JVET-Q2001 “Versatile Video Coding (Draft 8)”
【発明の概要】
【0009】
第1の態様に係るデブロッキングフィルタ制御装置は、映像信号を符号化する符号化装置又は符号化された映像信号を復号する復号装置において、復号済み画像に対するデブロッキングフィルタ処理を制御するデブロッキングフィルタ制御装置であって、前記デブロッキングフィルタ処理におけるフィルタ強度を制御するパラメータ値を導出するパラメータ導出部と、前記映像信号のビット深度である入力ビット深度に基づいて前記パラメータ値を変換することにより変換パラメータ値を出力するパラメータ変換部と、を備え、前記パラメータ変換部は、前記入力ビット深度が規定ビット深度よりも小さい場合、前記パラメータ値にオフセット値を加算した結果に対してビットシフトを行うことにより前記変換パラメータ値を出力し、前記オフセット値は、前記入力ビット深度に基づいて変更されることを要旨とする。
【0010】
第2の態様に係るプログラムは、コンピュータを第1の態様に係るデブロッキングフィルタ制御装置として機能させることを要旨とする。
【図面の簡単な説明】
【0011】
【
図1】実施形態に係る符号化装置の構成を示す図である。
【
図2】実施形態に係るデブロッキングフィルタの動作例を示す図である。
【
図3】実施形態に係るパラメータ変換部の動作を示す図である。
【
図4】実施形態に係る復号装置の構成を示す図である。
【発明を実施するための形態】
【0012】
本願発明者らは、鋭意検討の結果、非特許文献1に記載の変換式は、所定の条件下で正しく機能しないという問題点を見出した。特に、非特許文献1に記載の変換式は、入力映像のビット深度が9ビットである場合において適切な変換処理を行うことができないため、意図しないデブロッキングフィルタ処理による画素値の補正が生じ、映像の劣化を引き起こす懸念がある。
【0013】
そこで、本開示は、入力映像のビット深度に応じてデブロッキングフィルタ処理を適切に制御可能とすることを目的とする。
【0014】
図面を参照して、実施形態に係る符号化装置及び復号装置について説明する。実施形態に係る符号化装置及び復号装置は、MPEG(Moving Picture Experts Group)に代表される動画像の符号化及び復号をそれぞれ行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【0015】
<符号化装置>
まず、本実施形態に係る符号化装置の構成について説明する。
図1は、本実施形態に係る符号化装置1の構成を示す図である。符号化装置1は、画像を分割して得たブロック単位で符号化を行う装置である。
【0016】
図1に示すように、符号化装置1は、ブロック分割部100と、減算部110と、変換・量子化部120と、エントロピー符号化部130と、逆量子化・逆変換部140と、合成部150と、デブロッキングフィルタ160と、デブロッキングフィルタ制御装置161と、メモリ170と、予測部180とを有する。
【0017】
ブロック分割部100は、動画像を構成するフレーム(或いはピクチャ)単位の入力画像を複数の画像ブロックに分割し、分割により得た画像ブロックを減算部110に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックの形状は正方形に限らず矩形(非正方形)であってもよい。画像ブロックは、符号化装置1が符号化を行う単位(符号化対象ブロック)であり、且つ復号装置が復号を行う単位(復号対象ブロック)である。このような画像ブロックはCU(Coding Unit)と呼ばれることがある。
【0018】
ブロック分割部100に入力される映像信号のビット深度(以下、「入力ビット深度」と呼ぶ)は、基本的には10ビットであるものとする。但し、入力ビット深度は、8ビット乃至14ビットの範囲内で変更され得る。入力ビット深度を示す値(ビット数)は、ブロック分割部100からデブロッキングフィルタ制御装置161に出力されてもよいし、ブロック分割部100の前段の機能部(いわゆる、前処理部)からデブロッキングフィルタ制御装置161に出力されてもよい。
【0019】
ブロック分割部100は、輝度信号と色差信号とに対してブロック分割を行う。輝度ブロック及び色差ブロックを特に区別しないときは単に符号化対象ブロックと呼ぶ。
【0020】
減算部110は、ブロック分割部100から出力される符号化対象ブロックと、符号化対象ブロックを予測部180が予測して得た予測ブロックとの差分(誤差)を表す予測残差を算出する。減算部110は、ブロックの各画素値から予測ブロックの各画素値を減算することにより予測残差を算出し、算出した予測残差を変換・量子化部120に出力する。
【0021】
変換・量子化部120は、ブロック単位で変換処理及び量子化処理を行う。変換・量子化部120は、変換部121と、量子化部122とを有する。
【0022】
変換部121は、減算部110から出力される予測残差に対して変換処理を行って周波数成分ごとの変換係数を算出し、算出した変換係数を量子化部122に出力する。変換処理(変換)とは、画素領域の信号を周波数領域の信号に変換する処理をいい、例えば、離散コサイン変換(DCT)、離散サイン変換(DST)、カルーネンレーブ変換(KLT)、及びそれらを整数化した変換等をいう。また、変換処理には画素領域の信号を周波数領域の信号に変換することなくスケーリング等により調整する変換スキップを含んでもよい。
【0023】
量子化部122は、変換部121から出力される変換係数を量子化パラメータ及び量子化行列を用いて量子化し、量子化した変換係数をエントロピー符号化部130及び逆量子化・逆変換部140に出力する。また、量子化部122は、量子化処理に関する情報(具体的には、量子化処理で用いた量子化パラメータ及び量子化行列の情報)を、エントロピー符号化部130、逆量子化部141、及びデブロッキングフィルタ制御装置161に出力する。
【0024】
ここで、量子化パラメータは、1つのブロックに対して1つの値が設定されるパラメータである。具体的には、量子化パラメータは、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さ(ステップサイズ)を定めるパラメータである。量子化行列は、1つのブロック内の成分ごとに設定される値からなる行列である。具体的には、量子化行列は、ブロックサイズに応じてi×j要素の成分ごとに設定される値(重み付け係数)からなる行列であって、変換係数の低周波から高周波にわたる成分ごとに量子化の粗さを調整するために用いられる。
【0025】
エントロピー符号化部130は、量子化部122から出力される変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化ストリーム(ビットストリーム)を生成し、符号化ストリームを符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号及び/又はCABAC(Context-based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。
【0026】
また、エントロピー符号化部130は、ブロック分割部100から各符号化対象ブロックのサイズ・形状等の情報及びビット深度を取得し、量子化部122から量子化処理に関する情報を取得し、予測部180から予測に関する情報(例えば、予測モードや動きベクトルの情報)を取得し、これらの情報の符号化も行う。
【0027】
逆量子化・逆変換部140は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部140は、逆量子化部141と、逆変換部142とを有する。
【0028】
逆量子化部141は、量子化部122が行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部141は、量子化部122から出力される変換係数を、量子化パラメータ及び量子化行列を用いて逆量子化することにより変換係数を復元し、復元した変換係数を逆変換部142に出力する。
【0029】
逆変換部142は、変換部121が行う変換処理に対応する逆変換処理を行う。例えば、変換部121がDCTを行った場合には、逆変換部142は逆DCTを行う。逆変換部142は、逆量子化部141から出力される変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部150に出力する。
【0030】
合成部150は、逆変換部142から出力される復元予測残差を、予測部180から出力される予測ブロックと画素単位で合成する。合成部150は、復元予測残差の各画素値と予測ブロックの各画素値を加算して符号化対象ブロックを復元(復号)し、復元したブロック単位の復号画像(復元ブロック)をデブロッキングフィルタ160に出力する。
【0031】
デブロッキングフィルタ160は、復元ブロックと当該復元ブロックに隣接する隣接ブロックとからなる2つのブロックのブロック境界に対するフィルタ処理を行い、フィルタ処理後の復元ブロックをメモリ170に出力する。フィルタ処理は、ブロック単位の処理に起因する信号劣化を軽減するための処理であって、隣り合う2つのブロックのブロック境界における信号のギャップを平滑化するフィルタ処理である。デブロッキングフィルタ160は、一般的に信号の変動を緩やかにするローパスフィルタとして構成されている。
【0032】
図2は、本実施形態に係るデブロッキングフィルタ160の動作例を示す図である。
図2に示す例では、デブロッキングフィルタ160は、8×8画素のブロックごとのブロック境界を対象としてフィルタ処理を行う一例を示しているが、4×4画素のブロックごとのブロック境界を対象としてフィルタ処理を行ってもよい。また、デブロッキングフィルタ160は、4行又は4列を単位としてフィルタ処理を行う。
図2に示すブロックP及びQでは、デブロッキングフィルタ160のフィルタ処理の1単位であり、ブロックサイズが4×4画素である一例を示している。ブロックP及びQのそれぞれは、サブブロックと呼ばれてもよい。
【0033】
デブロッキングフィルタ制御装置161は、デブロッキングフィルタ160を制御する。具体的には、デブロッキングフィルタ制御装置161は、対象ブロック対のブロック境界に対するフィルタ処理を行うか否かを示す境界強度(Bs:Boundary strength)、及びデブロッキングフィルタ160のフィルタ強度を制御する。境界強度Bsとは、フィルタ処理を適用するか否か、及びそのフィルタ処理の種類を決定するためのパラメータをいう。なお、フィルタ処理を行うか否かの制御は、境界強度Bsを1以上とするか又はゼロとするかの制御とみなすことができる。
【0034】
デブロッキングフィルタ制御装置161は、対象ブロック対の境界近傍領域における画素値の変動や、予測モード、量子化パラメータ、動き補償予測(インター予測)に用いる動きベクトルの値に基づいて、デブロッキングフィルタ160を制御する。
【0035】
また、本実施形態に係るデブロッキングフィルタ制御装置161は、入力ビット深度と、量子化処理及び逆量子化処理で用いた量子化パラメータとに基づいて、デブロッキングフィルタ160のフィルタ強度を制御する。以下において、符号化対象ブロック又はそのサブブロックがブロックPであり、隣接ブロック又はそのサブブロックがブロックQであるものとする。
【0036】
デブロッキングフィルタ制御装置161は、例えば下記の表1に基づいて境界強度Bsを決定する。境界強度Bsの値は0,1,2のいずれかとする。なお、輝度信号と色差信号のブロックに対する境界強度をそれぞれ算出してもよいし、輝度信号と色差信号のブロックの境界強度の組み合わせを一つの境界強度として判定してもよい。
【0037】
【0038】
表1に示すように、デブロッキングフィルタ制御装置161は、ブロックP及びQの少なくとも一方にイントラ予測が適用されている場合、Bsの値を2とする。
【0039】
一方、デブロッキングフィルタ制御装置161は、ブロックP及びQの両方にインター予測が適用されており、且つ少なくとも以下の(a)乃至(c)の中の1つの条件を満たす場合には、Bs値を1とし、その他の場合には、Bs値を0とする。
【0040】
(a)ブロックP及びQの少なくとも一方が有意な変換係数(すなわち、非ゼロ変換係数)を含むこと。
【0041】
(b)ブロックP及びQの動きベクトルの数又は参照画像が異なること。
【0042】
(c)ブロックP及びQの動きベクトルの差の絶対値が閾値(例えば1画素)以上であること。
【0043】
デブロッキングフィルタ制御装置161は、境界強度Bsの値が0の場合、ブロックP及びQの境界に対するフィルタ処理を行わないようデブロッキングフィルタ160を制御する。
【0044】
デブロッキングフィルタ制御装置161は、パラメータ導出部161aを有する。パラメータ導出部161aは、ブロックPに対する量子化処理及び逆量子化処理で用いた量子化パラメータQpPと、ブロックQに対する量子化処理及び逆量子化処理で用いた量子化パラメータQpQと、オフセット値qpOffsetとに基づいて、デブロッキングフィルタ160のフィルタ強度を制御するためのパラメータ値(閾値)β及びtC’を導出する。
【0045】
第1に、パラメータ導出部161aは、例えば次の式により変数qPを算出する。
【0046】
qP=((QpQ+QpP+1)>>1)+qpOffset
【0047】
但し、「>>」は、シフト演算子(右シフト演算)を示す。この式は、基本的には、ブロックPの量子化パラメータQpPと、ブロックQの量子化パラメータQpQとの平均を求める計算式である。
【0048】
第2に、パラメータ導出部161aは、例えば次の式により、パラメータ値βを導出するためのQを算出する。
【0049】
Q=Clip3(0,63,qP+(slice_beta_offset_div2<<1))
【0050】
但し、“<<”はシフト演算子(左シフト演算)を示す。“Clip3(X,Y,Z)”は、ZがXより小さければXを返し、ZがYより大きければYを返し、それ以外の場合はZを返すクリップ演算子である。slice_beta_offset_div2は、復号装置2にシグナリングするパラメータの1つである。
【0051】
また、パラメータ導出部161aは、例えば次の式により、パラメータ値tC’を導出するためのQを算出する。
【0052】
Q=Clip3(0,65,qP+2*(bS-1)+(slice_tc_offset_div2<<1))
【0053】
ここで、“bS”はBs値である。slice_tc_offset_div2は、復号装置2にシグナリングするパラメータの1つである。
【0054】
第3に、パラメータ導出部161aは、次の表2により、それぞれ算出したQからパラメータ値β及びtC’を導出する。
【0055】
【0056】
ここで、tC’は、10ビットのビット深度の映像信号に対応した値である。
【0057】
デブロッキングフィルタ制御装置161は、パラメータ変換部161bをさらに有する。パラメータ変換部161bは、入力ビット深度に基づいてパラメータ値tC’を変換することにより変換パラメータ値tCを出力する。変換パラメータ値tCは、入力ビット深度に対応するよう変換処理を施した後のtC’の値を表す。
【0058】
本実施形態において、パラメータ変換部161bは、入力ビット深度が規定ビット深度よりも小さい場合、パラメータ値tC’にオフセット値を加算した結果に対してビットシフトを行うことにより変換パラメータ値tCを出力する。パラメータ変換部161bは、入力ビット深度に基づいてオフセット値を変更する。パラメータ変換部161bの動作の詳細については後述する。
【0059】
デブロッキングフィルタ制御装置161は、フィルタ強度制御部161cをさらに有する。フィルタ強度制御部161cは、境界強度Bsの値と、パラメータ値β及びtCとに基づいて、デブロッキングフィルタ160のフィルタ強度を制御する。
【0060】
フィルタ強度制御部161cは、境界強度Bsの値が1又は2の場合には、次の式を満たす場合にのみ、フィルタ処理を行うようデブロッキングフィルタ160を制御してもよい(
図2参照)。
【0061】
【0062】
また、フィルタ強度制御部161cは、フィルタ処理を行う場合、以下の条件式を全て満たす場合に強いフィルタを適用し、それ以外の場合に弱いフィルタを適用してもよい(
図2参照)。
【0063】
【0064】
図1に戻り、メモリ170は、デブロッキングフィルタ160から出力される復元ブロックをフレーム単位で復号画像として蓄積する。メモリ170は、記憶している復号画像を予測部180に出力する。
【0065】
予測部180は、ブロック単位で予測処理を行うことにより、符号化対象ブロックに対応する予測ブロックを生成し、生成した予測ブロックを減算部110及び合成部150に出力する。予測部180は、インター予測部181と、イントラ予測部182と、切替部183とを有する。
【0066】
インター予測部181は、メモリ170に記憶された復号画像を参照画像として用いて、ブロックマッチング等の手法により動きベクトルを算出し、符号化対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを切替部183に出力する。インター予測部181は、複数の参照画像を用いるインター予測(典型的には、双予測)や、1つの参照画像を用いるインター予測(片方向予測)の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。インター予測部181は、インター予測に関する情報(動きベクトル等)をエントロピー符号化部130及びデブロッキングフィルタ制御装置161に出力する。
【0067】
イントラ予測部182は、複数のイントラ予測モードの中から、符号化対象ブロックに適用する最適なイントラ予測モードを選択し、選択したイントラ予測モードを用いて符号化対象ブロックを予測する。イントラ予測部182は、メモリ170に記憶された復号画像のうち、符号化対象ブロックに隣接する復号済み画素値を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部183に出力する。また、イントラ予測部182は、選択したイントラ予測モードに関する情報をエントロピー符号化部130及びデブロッキングフィルタ制御装置161に出力する。
【0068】
切替部183は、インター予測部181から出力されるインター予測ブロックとイントラ予測部182から出力されるイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを減算部110及び合成部150に出力する。
【0069】
次に、本実施形態に係るパラメータ変換部161bの動作について説明する。
図3は、本実施形態に係るパラメータ変換部161bの動作を示す図である。
【0070】
図3に示すように、ステップS1において、パラメータ変換部161bは、入力ビット深度が規定ビット深度よりも小さいか否かを判定する。以下において、パラメータ値をt
C’、オフセット値をofs、入力ビット深度をBitDepth、規定ビット深度をb、変換パラメータ値をt
Cとする。本実施形態において、規定ビット深度bは、10ビットであるものとする。
【0071】
入力ビット深度が規定ビット深度よりも小さい場合(ステップS1:YES)、ステップS2において、パラメータ変換部161bは、次の式によりオフセット値ofsを算出する。
【0072】
ofs=1≪(b-1-BitDepth)
【0073】
そして、ステップS3において、パラメータ変換部161bは、次の式により変換パラメータ値tCを算出する。
【0074】
tC=(tC’+ofs)≫(b-BitDepth)
【0075】
一方、入力ビット深度が規定ビット深度以上の場合(ステップS1:NO)、ステップS4において、パラメータ変換部161bは、次の式により変換パラメータ値tCを算出する。
【0076】
tC=tC’×(1≪(BitDepth-b))
【0077】
次に、本実施形態に係るデブロッキングフィルタ制御装置161の作用効果について説明する。
【0078】
上述した非特許文献1に記載の変換式は、入力ビット深度が9ビットである場合が考慮されていない。非特許文献1に記載の変換式を9ビットの映像信号に対して適用すると、元のtC’の値に2を加算したのちに1ビットシフトしてしまうと、適正な値とならない問題がある。
【0079】
表2に示すように、Qに小さい値が設定されている場合には(即ち量子化ステップの小さい場合)、量子化誤差が映像にあまり含まれていないことから、tC’の値は0に設定されており、デブロッキングフィルタ処理が適用された場合にも値は補正されないよう構成されている。しかしながら、非特許文献1に記載の変換式は、9ビット映像信号に対する変換を行うことでtC’が0に設定されていたとしても、
tC=(tC’+2)>>1
の処理により、変換後のtCの値は1となる。その結果、意図しないデブロッキングフィルタ処理による画素値の補正が生じてしまい、映像の劣化を引き起こす原因となる。
【0080】
これに対し、本実施形態によれば、入力ビット深度BitDepthに応じて変更されるオフセット値ofsという新たな概念を導入し、次の式により変換後のtCを算出する。
【0081】
tC=(tC’+ofs)≫(b-BitDepth)
ofs=1≪(b-1-BitDepth)
【0082】
これにより、上述したような問題を解決できる。なお、規定ビット深度bが10ビットである場合、次の式により変換後のtCを算出することになる。
【0083】
tC=BitDepth<10?(tC′+ofs)>>(10-BitDepth):tC′×(1<<(BitDepth-10))
ofs=1≪(9-BitDepth)
【0084】
<復号装置>
次に、本実施形態に係る復号装置の構成について、上述した符号化装置の構成との相違点を主として説明する。
図4は、本実施形態に係る復号装置2の構成を示す図である。復号装置2は、符号化ストリームから復号対象ブロックを復号する装置である。
【0085】
図4に示すように、復号装置2は、エントロピー復号部200と、逆量子化・逆変換部210と、合成部220と、デブロッキングフィルタ230と、デブロッキングフィルタ制御装置231と、メモリ240と、予測部250とを有する。
【0086】
エントロピー復号部200は、符号化装置1により生成された符号化ストリームを復号し、各種のシグナリング情報を復号する。具体的には、エントロピー復号部200は、復号対象ブロックに適用された量子化処理に関する情報を取得し、取得した情報を逆量子化部211及びデブロッキングフィルタ制御装置231に出力する。また、エントロピー復号部200は、復号対象ブロックに適用された予測に関する情報(例えば、予測種別情報、動きベクトル情報)を取得し、取得した情報を予測部250及びデブロッキングフィルタ制御装置231に出力する。
【0087】
また、エントロピー復号部200は、符号化ストリームを復号し、量子化された変換係数を取得し、取得した変換係数を逆量子化・逆変換部210(逆量子化部211)に出力する。
【0088】
逆量子化・逆変換部210は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部210は、逆量子化部211と、逆変換部212とを有する。
【0089】
逆量子化部211は、符号化装置1の量子化部122が行う量子化処理に対応する逆量子化処理を行う。逆量子化部211は、エントロピー復号部200から出力される量子化変換係数を、量子化パラメータ及び量子化行列を用いて逆量子化することにより、復号対象ブロックの変換係数を復元し、復元した変換係数を逆変換部212に出力する。
【0090】
逆変換部212は、符号化装置1の変換部121が行う変換処理に対応する逆変換処理を行う。逆変換部212は、逆量子化部211から出力される変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差(復元予測残差)を合成部220に出力する。
【0091】
合成部220は、逆変換部212から出力される予測残差と、予測部250から出力される予測ブロックとを画素単位で合成することにより、復号対象ブロックを復元(復号)し、復元ブロックをデブロッキングフィルタ230に出力する。
【0092】
デブロッキングフィルタ230は、符号化装置1のデブロッキングフィルタ160と同様な動作を行う。
【0093】
デブロッキングフィルタ制御装置231は、エントロピー復号部200から出力される情報(ビット深度の情報等)に基づいて、符号化装置1のデブロッキングフィルタ制御装置161と同様な動作を行う。具体的には、デブロッキングフィルタ制御装置231は、符号化装置1のデブロッキングフィルタ制御装置161と同様に、パラメータ導出部231aと、パラメータ変換部231bと、フィルタ強度制御部231cとを有する。ここで、パラメータ変換部231bは、
図3のフローに従って動作する。
【0094】
メモリ240は、デブロッキングフィルタ230から出力される復元ブロックをフレーム単位で復号画像として記憶する。メモリ240は、フレーム単位の復号画像を復号装置2の外部に出力する。
【0095】
予測部250は、ブロック単位で予測を行う。予測部250は、インター予測部251と、イントラ予測部252と、切替部253とを有する。
【0096】
インター予測部251は、メモリ240に記憶された復号画像を参照画像として用いて、復号対象ブロックをインター予測により予測する。インター予測部251は、エントロピー復号部200から出力される動きベクトル情報を用いてインター予測を行うことによりインター予測ブロックを生成し、生成したインター予測ブロックを切替部253に出力する。
【0097】
イントラ予測部252は、メモリ240に記憶された復号画像のうち復号対象ブロックに隣接する参照画素を参照し、エントロピー復号部200から出力される情報に基づいて、復号対象ブロックをイントラ予測により予測する。そして、イントラ予測部252は、イントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部253に出力する。
【0098】
切替部253は、インター予測部251から出力されるインター予測ブロックとイントラ予測部252から出力されるイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを合成部220に出力する。
【0099】
<その他の実施形態>
上述した実施形態において、入力ビット深度が9ビットである場合とそれ以外の場合とで別々の変換式を用いるようにしてもよい。このような手法において、入力ビット深度が9ビットである場合には、それ以外の場合に用いるオフセット値とは異なるオフセット値が設定されるようにすればよい。
【0100】
符号化装置1が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。復号装置2が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
【0101】
符号化装置1が行う各処理を実行する回路を集積化し、符号化装置1を半導体集積回路(チップセット、SoC)により構成してもよい。復号装置2が行う各処理を実行する回路を集積化し、復号装置2を半導体集積回路(チップセット、SoC)により構成してもよい。
【0102】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0103】
本願は、日本国特許出願第2020-067043号(2020年4月2日出願)の優先権を主張し、その内容の全てが本願明細書に組み込まれている。