IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

<>
  • 特許-符号化装置、復号装置、及びプログラム 図1
  • 特許-符号化装置、復号装置、及びプログラム 図2
  • 特許-符号化装置、復号装置、及びプログラム 図3
  • 特許-符号化装置、復号装置、及びプログラム 図4
  • 特許-符号化装置、復号装置、及びプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-07
(45)【発行日】2024-05-15
(54)【発明の名称】符号化装置、復号装置、及びプログラム
(51)【国際特許分類】
   H04N 19/117 20140101AFI20240508BHJP
   H04N 19/157 20140101ALI20240508BHJP
   H04N 19/176 20140101ALI20240508BHJP
   H04N 19/86 20140101ALI20240508BHJP
【FI】
H04N19/117
H04N19/157
H04N19/176
H04N19/86
【請求項の数】 9
(21)【出願番号】P 2021543092
(86)(22)【出願日】2020-08-28
(86)【国際出願番号】 JP2020032782
(87)【国際公開番号】W WO2021040036
(87)【国際公開日】2021-03-04
【審査請求日】2023-07-28
(31)【優先権主張番号】P 2019157240
(32)【優先日】2019-08-29
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】岩村 俊輔
(72)【発明者】
【氏名】市ヶ谷 敦郎
(72)【発明者】
【氏名】根本 慎平
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2018/123444(WO,A1)
【文献】Shunsuke Iwamura, Shimpei Nemoto and Atsuro Ichigaya,Non-CE5: Boundary strength derivation of deblocking filter for transform-skipped block,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0656,15th Meeting: Gothenburg, SE,2019年06月,pp.1-6
【文献】Anand Meher Kotra et al.,AHG18/Non-CE5: Boundary strength fix for coding units using BCW,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0109-v2,16th Meeting: Geneva, CH,2019年10月,pp.1-6
【文献】Chia-Ming Tsai et al.,CE5-related: Deblocking considering prediction weights in BCW and TPM,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0161-v2,16th Meeting: Geneva, CH,2019年10月,pp.1-6
【文献】Xuewei Meng et al.,AHG18/Non-CE5: Deblocking for TPM and BCW,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0269-v2,16th Meeting: Geneva, CH,2019年10月,pp.1-7
【文献】Shunsuke Iwamura et al.,[AHG18][Non-CE5] Proposed cleanup of deblocking filter process,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0586-v2,16th Meeting: Geneva, CH,2019年10月,pp.1-12
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
画像を分割して得たブロック単位で符号化を行う符号化装置であって、
複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、符号化対象ブロックの予測ブロックを生成する予測部と、
前記符号化対象ブロックと前記予測ブロックとの差を表す予測残差に対して変換処理及び量子化処理を行う変換・量子化部と、
前記変換・量子化部により得た変換係数に対して逆量子化処理及び逆変換処理を行って前記予測残差を復元する逆量子化・逆変換部と、
前記復元した予測残差と前記予測ブロックとを合成して前記符号化対象ブロックを復元する合成部と、
前記復元した符号化対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタと、
前記予測部が前記2つのブロックのそれぞれに適用した前記重み係数に基づいて、前記デブロッキングフィルタを制御するフィルタ制御部と、を備えることを特徴とする符号化装置。
【請求項2】
前記フィルタ制御部は、前記2つのブロックの一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが同じであるか否かに基づいて、前記デブロッキングフィルタを制御することを特徴とする請求項1に記載の符号化装置。
【請求項3】
前記フィルタ制御部は、
前記2つのブロックの一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが同じであることに基づいて、前記フィルタ処理を行わないように前記デブロッキングフィルタを制御し、
前記2つのブロックの一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが異なることに基づいて、前記フィルタ処理を行うように前記デブロッキングフィルタを制御することを特徴とする請求項2に記載の符号化装置。
【請求項4】
画像を分割して得たブロック単位で復号を行う復号装置であって、
符号化ストリームを復号することで、復号対象ブロックに対応する量子化変換係数を出力するエントロピー復号部と、
前記エントロピー復号部が出力する量子化変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部と、
重み係数を制御するフラグに基づいて選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、前記復号対象ブロックの予測ブロックを生成する予測部と、
前記復元した予測残差と前記予測ブロックとを合成して前記復号対象ブロックを復元する合成部と、
前記復元した復号対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタと、
前記フラグに基づいて、前記デブロッキングフィルタを制御するフィルタ制御部と、を備えることを特徴とする復号装置。
【請求項5】
前記予測部は、複数の重み係数からなる重み係数セットから選択した前記重み係数を用いて前記重み付き平均を行って、前記予測ブロックを生成し、
前記フィルタ制御部は、前記予測部が前記2つのブロックのそれぞれに適用した前記重み係数に基づいて、前記デブロッキングフィルタを制御することを特徴とする請求項4に記載の復号装置。
【請求項6】
前記フィルタ制御部は、前記2つのブロックのいずれか一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが同じであるか否かに基づいて、前記デブロッキングフィルタを制御することを特徴とする請求項に記載の復号装置。
【請求項7】
前記フィルタ制御部は、
前記2つのブロックのいずれか一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが同じであることに基づいて、前記フィルタ処理を行わないように前記デブロッキングフィルタを制御し、
前記2つのブロックのいずれか一方に適用した前記重み係数と前記2つのブロックの他方に適用した前記重み係数とが異なることに基づいて、前記フィルタ処理を行うように前記デブロッキングフィルタを制御することを特徴とする請求項に記載の復号装置。
【請求項8】
コンピュータを請求項1に記載の符号化装置として機能させることを特徴とするプログラム。
【請求項9】
コンピュータを請求項4に記載の復号装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化装置、復号装置、及びプログラムに関する。
【背景技術】
【0002】
HEVC(High Efficiency Video Coding)、及び次世代の符号化方式であるVVC(Versatile Video Coding)では、符号化ループ内フィルタとしてデブロッキングフィルタが採用されている(例えば、非特許文献1参照)。デブロッキングフィルタは、ブロック単位で符号化処理を行うときのブロックの境界部分の歪みを抑制するためのループ内フィルタである。
【0003】
デブロッキングフィルタを制御するフィルタ制御部は、符号化対象ブロックとその隣接ブロックとからなる2つのブロックのうち少なくとも一方にイントラ予測が適用される場合、当該2つのブロックの境界部分に対するデブロッキングフィルタを適用する。フィルタ制御部は、互いに隣接する2つのブロックいずれにもインター予測が適用される場合、当該2つのブロックのそれぞれの動きベクトルの値及び参照先(参照画像)の一致度に応じて、当該2つのブロックの境界部分にデブロッキングフィルタを適用するか否かを決定する。
【0004】
一方、VVCでは、BCW(Bi-prediction with CU-level Weight)と呼ばれる重み付き双予測技術が採用される予定である。従来の双予測は単に2つの参照画の平均により予測画像を生成するものであるが、重み付き双予測は2つの参照画像を重み付き平均(加重平均)することで予測画像を生成する。この加重平均に用いる重み係数は、予め規定された複数の重み係数のセットから選択される。
【先行技術文献】
【非特許文献】
【0005】
【文献】Recommendation ITU-T H.265,(12/2016), “High efficiency video coding”, International Telecommunication Union
【発明の開示】
【0006】
互いに隣接する2つのブロックいずれにもインター予測が適用される場合において、各ブロックの動きベクトルの値及び参照先の一致度が高くても、次のような問題が生じ得る。具体的には、各ブロックに重み付き双予測が適用されており、且つ各ブロックに適用された重み係数が互いに異なる場合には、ブロック間の不連続性が高くなるため、視覚的な劣化を生じてしまう問題がある。
【0007】
そこで、本発明は、デブロッキングフィルタを適切に制御することで画質や符号化効率を向上させる符号化装置、復号装置、及びプログラムを提供する。
【0008】
第1の態様に係る符号化装置は、画像を分割して得たブロック単位で符号化を行う符号化装置であって、複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、符号化対象ブロックの予測ブロックを生成する予測部と、前記符号化対象ブロックと前記予測ブロックとの差を表す予測残差に対して変換処理及び量子化処理を行う変換・量子化部と、前記変換・量子化部により得た変換係数に対して逆量子化処理及び逆変換処理を行って前記予測残差を復元する逆量子化・逆変換部と、前記復元した予測残差と前記予測ブロックとを合成して前記符号化対象ブロックを復元する合成部と、前記復元した符号化対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタと、前記予測部が前記2つのブロックのそれぞれに適用した前記重み係数に基づいて、前記デブロッキングフィルタを制御するフィルタ制御部とを備えることを要旨とする。
【0009】
第2の態様に係る復号装置は、画像を分割して得たブロック単位で復号を行う復号装置であって、符号化ストリームを復号することで、復号対象ブロックに対応する量子化変換係数を出力するエントロピー復号部と、前記エントロピー復号部が出力する変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部と、複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、前記復号対象ブロックの予測ブロックを生成する予測部と、前記復元した予測残差と前記予測ブロックとを合成して前記復号対象ブロックを復元する合成部と、前記復元した復号対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタと、前記予測部が前記2つのブロックのそれぞれに適用した前記重み係数に基づいて、前記デブロッキングフィルタを制御するフィルタ制御部とを備えることを要旨とする。
【0010】
第3の態様に係るプログラムは、コンピュータを第1の態様に係る符号化装置として機能させることを要旨とする。
【0011】
第4の態様に係るプログラムは、コンピュータを第2の態様に係る復号装置として機能させることを要旨とする。
【0012】
本発明によれば、デブロッキングフィルタを適切に制御することで画質や符号化効率を向上させる符号化装置、復号装置、及びプログラムを提供できる。
【図面の簡単な説明】
【0013】
図1】実施形態に係る符号化装置の構成を示す図である。
図2】実施形態に係るデブロッキングフィルタの動作例を示す図である。
図3】実施形態に係るフィルタ制御部の動作の具体例を説明するための図である。
図4】実施形態に係る復号装置の構成を示す図である。
図5】実施形態に係るフィルタ制御部の動作フロー例を示す図である。
【発明を実施するための形態】
【0014】
図面を参照して、実施形態に係る符号化装置及び復号装置について説明する。実施形態に係る符号化装置及び復号装置は、MPEGに代表される動画像の符号化及び復号をそれぞれ行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【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は、輝度信号と色差信号とに対してブロック分割を行う。以下において、ブロック分割の形状が輝度信号と色差信号とで同じである場合について主として説明するが、輝度信号と色差信号とで分割を独立に制御可能であってもよい。輝度ブロック及び色差ブロックを特に区別しないときは単に符号化対象ブロックと呼ぶ。
【0019】
減算部110は、ブロック分割部100から出力される符号化対象ブロックと、符号化対象ブロックを予測部180が予測して得た予測ブロックとの差分(誤差)を表す予測残差を算出する。減算部110は、ブロックの各画素値から予測ブロックの各画素値を減算することにより予測残差を算出し、算出した予測残差を変換・量子化部120に出力する。
【0020】
変換・量子化部120は、ブロック単位で変換処理及び量子化処理を行う。変換・量子化部120は、変換部121と、量子化部122とを有する。
【0021】
変換部121は、減算部110から出力される予測残差に対して変換処理を行って周波数成分ごとの変換係数を算出し、算出した変換係数を量子化部122に出力する。変換処理(変換)とは、画素領域の信号を周波数領域の信号に変換する処理をいい、例えば、離散コサイン変換(DCT)や離散サイン変換(DST)、カルーネンレーブ変換(KLT)、及びそれらを整数化した変換等をいう。
【0022】
量子化部122は、変換部121から出力される変換係数を量子化パラメータ(Qp)及び量子化行列を用いて量子化し、量子化した変換係数をエントロピー符号化部130及び逆量子化・逆変換部140に出力する。なお、量子化パラメータ(Qp)は、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さを定めるパラメータである。量子化行列は、各変換係数を量子化する際の量子化値を要素として有する行列である。
【0023】
エントロピー符号化部130は、量子化部122から出力される変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化ストリーム(ビットストリーム)を生成し、符号化ストリームを符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。なお、エントロピー符号化部130は、ブロック分割部100から各符号化対象ブロックのサイズ・形状等の情報を取得し、予測部180から予測に関する情報(例えば、予測モードや動きベクトルの情報)を取得し、これらの情報の符号化も行う。
【0024】
逆量子化・逆変換部140は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部140は、逆量子化部141と、逆変換部142とを有する。
【0025】
逆量子化部141は、量子化部122が行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部141は、量子化部122から出力される変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより変換係数を復元し、復元した変換係数を逆変換部142に出力する。
【0026】
逆変換部142は、変換部121が行う変換処理に対応する逆変換処理を行う。例えば、変換部121がDCTを行った場合には、逆変換部142は逆DCTを行う。逆変換部142は、逆量子化部141から出力される変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部150に出力する。
【0027】
合成部150は、逆変換部142から出力される復元予測残差を、予測部180から出力される予測ブロックと画素単位で合成する。合成部150は、復元予測残差の各画素値と予測ブロックの各画素値を加算して符号化対象ブロックを復元(復号)し、復元したブロック単位の復号画像(復元ブロック)をデブロッキングフィルタ160に出力する。
【0028】
デブロッキングフィルタ160は、復元ブロックと当該復元ブロックに隣接する隣接ブロックとからなる2つのブロック(以下、「対象ブロック対」と呼ぶ)の境界部分に対してフィルタ処理を行い、フィルタ処理後の復元ブロックをメモリ170に出力する。フィルタ処理は、ブロック単位の処理に起因する信号劣化を軽減するための処理であって、対象ブロック対の境界部分における信号のギャップを平滑化するフィルタ処理である。デブロッキングフィルタ160は、一般的に信号の変動を緩やかにするローパスフィルタとして構成されている。
【0029】
フィルタ制御部161は、デブロッキングフィルタ160を制御する。具体的には、フィルタ制御部161は、対象ブロック対に対するフィルタ処理を行うか否か、及びデブロッキングフィルタ160の境界強度(Bs:Boundary strength)を制御する。境界強度Bsとは、フィルタ処理を適用するか否か、及びそのフィルタ処理の種類を決定するためのパラメータをいう。なお、フィルタ処理を行うか否かの制御は、境界強度Bsを1以上とするか又はゼロとするかの制御とみなすことができる。
【0030】
フィルタ制御部161は、対象ブロック対の境界近傍領域における画素値の変動や、予測モード、量子化パラメータ、動き補償予測(インター予測)に用いる動きベクトルの値に基づいて、デブロッキングフィルタ160を制御する。フィルタ制御部161の動作の詳細については後述する。
【0031】
メモリ170は、デブロッキングフィルタ160から出力される復元ブロックをフレーム単位で復号画像として蓄積する。メモリ170は、記憶している復号画像を予測部180に出力する。
【0032】
予測部180は、ブロック単位で予測処理を行うことにより、符号化対象ブロックに対応する予測ブロックを生成し、生成した予測ブロックを減算部110及び合成部150に出力する。予測部180は、インター予測部181と、イントラ予測部182と、切替部183とを有する。
【0033】
インター予測部181は、メモリ170に記憶された復号画像を参照画像として用いて、ブロックマッチング等の手法により動きベクトルを算出し、符号化対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを切替部183に出力する。インター予測部181は、複数の参照画像を用いるインター予測(典型的には、双予測)や、1つの参照画像を用いるインター予測(片方向予測)の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。インター予測部181は、インター予測に関する情報(動きベクトル等)をエントロピー符号化部130及びフィルタ制御部161に出力する。
【0034】
本実施形態において、インター予測部181は、2つの参照画像を重み付き平均(加重平均)することでインター予測ブロックを生成する重み付き双予測部181aを有する。この加重平均に用いる重み係数は、予め規定された複数の重み係数のセットから選択される。具体的には、重み付き双予測部181aは、一方の参照画像を“P0”、他方の参照画像を“P1”、重み係数を“w”としたとき、次の式(1)によりインター予測ブロックを生成する。
【0035】
【数1】
【0036】
ここで、重み係数“w”は、-2,2,4,6,10からなるセットから選択される。このような重み付き双予測によれば、2つの参照画像を単に平均してインター予測ブロックを生成する従来の双予測に比べて予測精度を改善できる。
【0037】
イントラ予測部182は、複数のイントラ予測モードの中から、符号化対象ブロックに適用する最適なイントラ予測モードを選択し、選択したイントラ予測モードを用いて符号化対象ブロックを予測する。イントラ予測部182は、メモリ170に記憶された復号画像のうち、符号化対象ブロックに隣接する復号済み画素値を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部183に出力する。また、イントラ予測部182は、選択したイントラ予測モードに関する情報をエントロピー符号化部130及びフィルタ制御部161に出力する。
【0038】
切替部183は、インター予測部181から出力されるインター予測ブロックとイントラ予測部182から出力されるイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを減算部110及び合成部150に出力する。
【0039】
このように、本実施形態に係る符号化装置1は、複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、符号化対象ブロックの予測ブロックを生成する重み付き双予測部181aと、符号化対象ブロックと予測ブロックとの差を表す予測残差に対して変換処理及び量子化処理を行う変換・量子化部120と、変換・量子化部120により得た変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部140と、復元した予測残差と予測ブロックとを合成して符号化対象ブロックを復元する合成部150と、復元した符号化対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタ160とを有する。
【0040】
次に、本実施形態に係るデブロッキングフィルタ160及びフィルタ制御部161の動作について説明する。図2は、本実施形態に係るデブロッキングフィルタ160の動作例を示す図である。図2において、ブロックQは、符号化対象ブロックに対応する復元ブロックであり、ブロックPは、このブロックQに隣接する復元ブロックである。
【0041】
図2に示す例では、デブロッキングフィルタ160がフィルタ処理を行うブロックサイズは8×8画素である。フィルタ制御部161は、例えば下記の表1に基づいて境界強度Bsを求める。本実施形態では、境界強度Bsの値は0,1,2のいずれかとする。
【0042】
【表1】
【0043】
図2及び表1に示すように、フィルタ制御部161は、ブロックP及びQの少なくとも一方にイントラ予測が適用されている場合、Bsの値を2とする。
【0044】
一方、フィルタ制御部161は、ブロックP及びQの両方に動き補償予測(インター予測)が適用されており、且つ少なくとも以下の(a)乃至(d)の中の1つの条件を満たす場合には、Bs値を1とし、その他の場合には、Bs値を0とする。
【0045】
(a)ブロックP及びQの少なくとも一方が有意な変換係数(すなわち、非ゼロ変換係数)を含むこと。
【0046】
(b)ブロックP及びQの動きベクトルの数又は参照画像が異なること。
【0047】
(c)ブロックP及びQの動きベクトルの差の絶対値が閾値(例えば1画素)以上であること。
【0048】
(d)ブロックP及びQの重み付き双予測の重み係数が異なること。
【0049】
なお、本発明における動き補償予測においては、参照画像として符号化対象のフレームを基準として時間的に過去や未来の復号済みのフレームを利用することができる。例えばブロックP及びブロックQが予測画像を生成する双予測で用いる2つの参照画素をそれぞれP0、P1及びQ0及びQ1とする場合には、P0及びQ0が過去の復号済みフレームを参照し、P1及びQ1が未来の復号済みフレームを参照する場合がある。このような場合には、前述のように、双予測によるブロックPの予測ブロック(Pbi-pred)及び双予測によるブロックQの予測ブロック(Qbi-pred)を生成するそれぞれの動きベクトルの値及び参照先の一致度及びPbi-pred及びQbi-predを生成するために用いた重み係数が一致しているかをもとに、Bs値を判定する。
【0050】
一方、P0及びQ1が過去の復号済みフレームを参照し、P1及びQ0が未来の復号済みフレームを参照する場合や、P1及びQ0が過去の復号済みフレームを、P0及びQ1が未来の復号済みフレームを参照する場合のように、P0及びQ0、P1及びQ1の動きベクトルが指し示す参照先が異なる場合であっても、次の処理を行ってもよい。具体的には、P0及びQ1の動きベクトルの値及び参照先の一致度が高く、かつP1及びQ0の動きベクトルの値及び参照先の一致度が高い場合には、ブロックPの予測画像生成に用いた重み係数とブロックQの予測画像生成に用いた重み係数とが一定の条件を満たしているか否かに応じてBs値を判定してもよい。
【0051】
例えば、ブロックPの予測画像生成に用いた重み係数Wpが2であり、ブロックQの予測画像生成に用いた重み係数Wqが6であった場合であっても、P1及びQ0の動きベクトルの値及び参照先の一致度が高い場合には、
Wp=8-Wq
を満たす場合には、Bs値を0とする。
【0052】
なお、前記重み係数w=-2,2,4,6,10を示す重みフラグをそれぞれ0,1,2,3,4として割り当ててもよい。具体的には、Wpが2である場合には、ブロックPの重みフラグFpは1となる。一方、Wqが6である場合には、ブロックQの重みフラグFqは3となる。このように各ブロックに適用する重み係数を前述のような0から4の重みフラグを用いて表す。このように重み係数を示すフラグを割り当てる場合には、ブロックP及びブロックQに割り当てられたフラグを基にBs値を判定する。
【0053】
例えばP0及びQ0、P1及びQ1の動きベクトルの値及び参照先の一致度が高い場合であって、それぞれのブロックに適用する重みWp及びWqに対応するフラグFp及びFqの値が同一である場合にはBs値を0とする。一方、P0及びQ1、P1及びQ0の動きベクトルの値及び参照先の一致度が高い場合であって、前記Fp及びFqが
Fp=N-1-Fq
を満たす場合にはBs値を0とする。ただしNは選択可能なフラグの数であり、上記の例では5である。
【0054】
フィルタ制御部161は、境界強度Bsの値が0の場合にはフィルタ処理を行わないようデブロッキングフィルタ160を制御する。以下、図2に示す垂直ブロック境界を例に説明する。
【0055】
フィルタ制御部161は、境界強度Bsの値が1又は2の場合には、次式(1)を満たす場合にのみ、フィルタ処理を行うようデブロッキングフィルタ160を制御してもよい。
【0056】
【数2】
【0057】
なお、フィルタ制御部161は、フィルタ処理を行う場合、以下の条件式(2)~(7)を全て満たす場合に強いフィルタを適用し、それ以外の場合に弱いフィルタを適用してもよい。
【0058】
【数3】
【0059】
但し、閾値β及びtCの値は、隣接するブロックPとブロックQの量子化パラメータの平均値Qavに応じて変わる。
【0060】
このように、本実施形態に係るフィルタ制御部161は、上記(d)のように、ブロックP及びQのうち一方に適用した重み係数と他方に適用した重み係数とが同じであることに基づいて、フィルタ処理を行わないようにデブロッキングフィルタ160を制御する。一方、本実施形態に係るフィルタ制御部161は、ブロックP及びQのうち一方に適用した重み係数と他方に適用した重み係数とが異なることに基づいて、フィルタ処理を行うようにデブロッキングフィルタ160を制御する。
【0061】
これにより、互いに隣接する2つのブロックいずれにもインター予測が適用される場合において、各ブロックに重み付き双予測が適用されており、且つ各ブロックに適用された重み係数が互いに異なる場合には、デブロッキングフィルタ160のフィルタ処理を適用することで、ブロック間の不連続性に起因する視覚的な劣化を抑制できる。
【0062】
次に、本実施形態に係るフィルタ制御部161の動作の具体例について説明する。図3は、本実施形態に係るフィルタ制御部161の動作の具体例を説明するための図である。
【0063】
図3に示すように、ブロックP及びQに適用した予測がどちらも双予測であるものとする。また、ブロックP及びQのいずれも非ゼロ変換係数を含まないものとする。
【0064】
ブロックPが双予測に用いる2つの動きベクトルは、P0及びP1である。ブロックQが双予測に用いる2つの動きベクトルは、Q0及びQ1である。P0及びQ0の参照先が同一のフレームであって、かつP1及びQ1の参照先が同一のフレームである。また、P0とQ0の動きベクトルの値の差が閾値以下であり、且つP1とQ1の動きベクトルの値の差が閾値以下である。
【0065】
このような場合、上記の(a)乃至(c)のいずれの条件も満たされないことになる。しかしながら、ブロックP及びQに重み付き双予測が適用されており、且つ各ブロックに適用された重み係数“w”が異なる場合には、ブロックPとブロックQとの間で不連続性が生じ得る。
【0066】
本実施形態においては、上記の(d)の条件を新たに導入している。このため、上記の(a)乃至(c)のいずれの条件も満たされない場合であっても、上記の(d)の条件が満たされた場合には、Bs値を1とすることで、デブロッキングフィルタ160のフィルタ処理を行うように制御できる。
【0067】
<復号装置の構成>
次に、本実施形態に係る復号装置の構成について、上述した符号化装置の構成との相違点を主として説明する。図4は、本実施形態に係る復号装置2の構成を示す図である。復号装置2は、符号化ストリームから復号対象ブロックを復号する装置である。
【0068】
図4に示すように、復号装置2は、エントロピー復号部200と、逆量子化・逆変換部210と、合成部220と、デブロッキングフィルタ230と、フィルタ制御部231と、メモリ240と、予測部250とを有する。
【0069】
エントロピー復号部200は、符号化装置1により生成された符号化ストリームを復号し、各種のシグナリング情報を復号する。具体的には、エントロピー復号部200は、復号対象ブロックに適用された予測に関する情報(例えば、予測種別情報、動きベクトル情報)を取得し、取得した情報を予測部250及びフィルタ制御部231に出力する。
【0070】
また、エントロピー復号部200は、符号化ストリームを復号し、量子化された変換係数を取得し、取得した変換係数を逆量子化・逆変換部210(逆量子化部211)に出力する。
【0071】
逆量子化・逆変換部210は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部210は、逆量子化部211と、逆変換部212とを有する。
【0072】
逆量子化部211は、符号化装置1の量子化部122が行う量子化処理に対応する逆量子化処理を行う。逆量子化部211は、エントロピー復号部200から出力される量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、復号対象ブロックの変換係数を復元し、復元した変換係数を逆変換部212に出力する。
【0073】
逆変換部212は、符号化装置1の変換部121が行う変換処理に対応する逆変換処理を行う。逆変換部212は、逆量子化部211から出力される変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差(復元予測残差)を合成部220に出力する。
【0074】
合成部220は、逆変換部212から出力される予測残差と、予測部250から出力される予測ブロックとを画素単位で合成することにより、復号対象ブロックを復元(復号)し、復元ブロックをデブロッキングフィルタ230に出力する。
【0075】
デブロッキングフィルタ230は、符号化装置1のデブロッキングフィルタ160と同様な動作を行う。デブロッキングフィルタ230は、合成部220から出力される復元ブロックと当該復元ブロックに隣接するブロックとからなる対象ブロック対の境界に対するフィルタ処理を行い、フィルタ処理後の復元ブロックをメモリ240に出力する。
【0076】
フィルタ制御部231は、エントロピー復号部200から出力される情報に基づいて、符号化装置1のフィルタ制御部161と同様な動作を行う。フィルタ制御部231は、例えば表1に示した方法で境界強度Bsを選択し、選択した境界強度Bsに応じてデブロッキングフィルタ230を制御する。
【0077】
メモリ240は、デブロッキングフィルタ230から出力される復元ブロックをフレーム単位で復号画像として記憶する。メモリ240は、フレーム単位の復号画像を復号装置2の外部に出力する。
【0078】
予測部250は、ブロック単位で予測を行う。予測部250は、インター予測部251と、イントラ予測部252と、切替部253とを有する。
【0079】
インター予測部251は、メモリ240に記憶された復号画像を参照画像として用いて、復号対象ブロックをインター予測により予測する。インター予測部251は、エントロピー復号部200から出力される動きベクトル情報を用いてインター予測を行うことによりインター予測ブロックを生成し、生成したインター予測ブロックを切替部253に出力する。
【0080】
本実施形態において、インター予測部251は、2つの参照画像を重み付き平均(加重平均)することでインター予測ブロックを生成する重み付き双予測部251aを有する。重み付き双予測部251aは、上記の式(1)によりインター予測ブロックを生成する。
【0081】
イントラ予測部252は、メモリ240に記憶された復号画像のうち復号対象ブロックに隣接する参照画素を参照し、エントロピー復号部200から出力される情報に基づいて、復号対象ブロックをイントラ予測により予測する。そして、イントラ予測部252は、イントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部253に出力する。
【0082】
切替部253は、インター予測部251から出力されるインター予測ブロックとイントラ予測部252から出力されるイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを合成部220に出力する。
【0083】
このように、本実施形態に係る復号装置2は、符号化ストリームを復号することで、復号対象ブロックに対応する量子化変換係数を出力するエントロピー復号部200と、エントロピー復号部200が出力する変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部210と、複数の重み係数からなる重み係数セットから選択した重み係数を用いて複数の参照画像に対して重み付き平均を行って、復号対象ブロックの予測ブロックを生成する重み付き双予測部251aと、復元した予測残差と予測ブロックとを合成して復号対象ブロックを復元する合成部220と、復元した復号対象ブロックと隣接ブロックとからなる2つのブロックの境界部分に対するフィルタ処理を行うデブロッキングフィルタ230とを有する。
【0084】
ここで、フィルタ制御部231は、図3に示したような動作を行う。すなわち、フィルタ制御部231は、上記の(a)乃至(c)のいずれの条件も満たされない場合であっても、上記の(d)の条件が満たされた場合には、Bs値を1とする。これにより、ブロックP及びQの重み付き双予測の重み係数が異なる場合には、デブロッキングフィルタ160のフィルタ処理を行うように制御できる。
【0085】
<フィルタ制御部の動作例>
次に、本実施形態に係るフィルタ制御部161及びフィルタ制御部231の動作例について説明する。フィルタ制御部161及びフィルタ制御部231は同じ動作を行うため、ここではフィルタ制御部231を例に挙げて説明する。図5は、本実施形態に係るフィルタ制御部231の動作フロー例を示す図である。
【0086】
図5に示すように、ステップS1において、フィルタ制御部231は、ブロックP及びQからなる対象ブロック対の少なくとも一方にイントラ予測が適用されているか否かを判定する。対象ブロック対の少なくとも一方にイントラ予測が適用されている場合(ステップS1:YES)、ステップS2において、フィルタ制御部231は、フィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=2を選択する。
【0087】
対象ブロック対のいずれもイントラ予測が適用されていない場合(ステップS1:NO)、すなわち、対象ブロック対の両方にインター予測が適用されている場合、ステップS3において、フィルタ制御部231は、対象ブロック対の少なくとも一方に非ゼロ変換係数が含まれるか否かを判定する。対象ブロック対の少なくとも一方に非ゼロ変換係数が含まれる場合(ステップS3:YES)、ステップS4において、フィルタ制御部231は、フィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=1を選択する。
【0088】
対象ブロック対のいずれにも非ゼロ変換係数が含まれていない場合(ステップS3:NO)、すなわち、予測ブロックをそのまま復元ブロックとする場合、ステップS5において、フィルタ制御部231は、対象ブロック対の動きベクトルの数及び参照画像(参照先フレーム)が異なるか否かを判定する。対象ブロック対の動きベクトルの数及び参照画像が異なる場合(ステップS5:YES)、ステップS4において、フィルタ制御部231は、フィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=1を選択する。
【0089】
対象ブロック対の動きベクトルの数及び参照画像が同じである場合(ステップS5:NO)、ステップS6において、フィルタ制御部231は、対象ブロック対の動きベクトルの差が閾値以上であるか否かを判定する。対象ブロック対の動きベクトルの差が閾値以上である場合(ステップS6:YES)、ステップS4において、フィルタ制御部231は、フィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=1を選択する。
【0090】
対象ブロック対の動きベクトルの差が閾値未満である場合(ステップS6:NO)、例えば、対象ブロック対の動きベクトルの値が同じである場合、ステップS7において、フィルタ制御部231は、対象ブロック対の重み付き双予測の重み係数“w”が異なるか否かを判定する。対象ブロック対の重み付き双予測の重み係数“w”が異なる場合(ステップS7:YES)、ステップS4において、フィルタ制御部231は、フィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=1を選択する。
【0091】
一方、対象ブロック対の重み付き双予測の重み係数“w”が同じである場合(ステップS7:NO)、ステップS8において、フィルタ制御部231は、フィルタ処理を行わないようにデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界強度Bs=0を選択する。
【0092】
<その他の実施形態>
符号化装置1が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。復号装置2が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
【0093】
符号化装置1が行う各処理を実行する回路を集積化し、符号化装置1を半導体集積回路(チップセット、SoC)により構成してもよい。復号装置2が行う各処理を実行する回路を集積化し、復号装置2を半導体集積回路(チップセット、SoC)により構成してもよい。
【0094】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0095】
なお、本願は日本国特許出願第2019-157240号(2019年8月29日出願)の優先権を主張し、その内容のすべてが参照により本願明細書に組み込まれている。
図1
図2
図3
図4
図5