(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023162377
(43)【公開日】2023-11-08
(54)【発明の名称】デブロッキングフィルタ装置、復号装置、及びプログラム
(51)【国際特許分類】
H04N 19/117 20140101AFI20231031BHJP
H04N 19/157 20140101ALI20231031BHJP
H04N 19/176 20140101ALI20231031BHJP
H04N 19/186 20140101ALI20231031BHJP
H04N 19/86 20140101ALI20231031BHJP
【FI】
H04N19/117
H04N19/157
H04N19/176
H04N19/186
H04N19/86
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023141346
(22)【出願日】2023-08-31
(62)【分割の表示】P 2022530590の分割
【原出願日】2021-06-08
(31)【優先権主張番号】P 2020101293
(32)【優先日】2020-06-10
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】岩村 俊輔
(72)【発明者】
【氏名】根本 慎平
(72)【発明者】
【氏名】近藤 雄一
(72)【発明者】
【氏名】井口 和久
(72)【発明者】
【氏名】市ヶ谷 敦郎
(57)【要約】 (修正有)
【課題】画質の劣化を抑制するデブロッキングフィルタ装置、復号装置及びプログラムを提供する。
【解決手段】復号装置2において、第1再構成ブロックと第1再構成ブロックに隣接する第2再構成ブロックとの境界に対するフィルタ処理を行うデブロッキングフィルタは、第1再構成ブロック及び第2再構成ブロックの少なくとも一方が、Cb色差成分及びCr色差成分のそれぞれの予測残差から1つの合同予測残差を生成するJCCR(Joint coding of chroma residual)を用いて符号化されているか否かに基づいて、デブロッキングフィルタの境界フィルタ強度を制御する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1再構成ブロックと前記第1再構成ブロックに隣接する第2再構成ブロックとの境界に対するフィルタ処理を行うデブロッキングフィルタと、
前記第1再構成ブロック及び前記第2再構成ブロックの少なくとも一方が、所定処理を用いて符号化されているか否かに基づいて、前記デブロッキングフィルタの境界フィルタ強度を制御するフィルタ制御部と、を備え、
前記所定処理は、色成分ごとの予測残差を更新するための更新処理により新たな予測残差を生成する符号化ツールであり、
前記フィルタ制御部は、前記第1再構成ブロック及び前記第2再構成ブロックの少なくとも一方が前記所定処理を用いて符号化されている場合、前記フィルタ処理を行うように前記境界フィルタ強度を制御する
デブロッキングフィルタ装置。
【請求項2】
前記フィルタ制御部は、前記第1再構成ブロック及び前記第2再構成ブロックの両方に非ゼロの変換係数が存在しない場合であっても、前記第1再構成ブロック及び前記第2再構成ブロックの少なくとも一方が前記所定処理を用いて符号化されている場合には、前記フィルタ処理を行うように前記境界フィルタ強度を制御する
請求項1に記載のデブロッキングフィルタ装置。
【請求項3】
請求項1又は2に記載のデブロッキングフィルタ装置と、
前記所定処理を用いて符号化されているか否かを示すフラグを前記第1再構成ブロック及び前記第2再構成ブロックのそれぞれについて取得するエントロピー復号部と、を備え、
前記フィルタ制御部は、前記第1再構成ブロック及び前記第2再構成ブロックのそれぞれについての前記フラグに基づいて、前記デブロッキングフィルタの境界フィルタ強度を制御する
復号装置。
【請求項4】
前記フィルタ制御部は、前記第1再構成ブロック及び前記第2再構成ブロックの少なくとも一方のブロックの前記フラグが“1”である場合、前記フィルタ処理を行うように前記境界フィルタ強度を制御する
請求項3に記載の復号装置。
【請求項5】
前記エントロピー復号部は、非ゼロの変換係数を含むか否かを示すtu_coded_flagを前記第1再構成ブロック及び前記第2再構成ブロックのそれぞれについてさらに取得し、
前記フィルタ制御部は、前記第1再構成ブロック及び前記第2再構成ブロックのそれぞれについての前記tu_coded_flagにさらに基づいて、前記デブロッキングフィルタの境界フィルタ強度を制御する
請求項3又は4に記載の復号装置。
【請求項6】
前記フィルタ制御部は、前記第1再構成ブロック及び前記第2再構成ブロックの少なくとも一方のブロックの前記tu_coded_flagが“1”である場合、前記フィルタ処理を行うように前記境界フィルタ強度を制御する
請求項5に記載の復号装置。
【請求項7】
コンピュータを請求項1又は2に記載のデブロッキングフィルタ装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デブロッキングフィルタ装置、復号装置、及びプログラムに関する。
【背景技術】
【0002】
HEVC(High Efficiency Video Coding)、及び次世代の符号化方式であるVVC(Versatile Video Coding)では、ループ内フィルタとして、ブロック単位で符号化処理を行うときのブロックの境界部分の歪みを抑制するためのデブロッキングフィルタが採用されている。デブロッキングフィルタの制御では、隣接する2つのブロックのうち少なくとも一方のブロックに非ゼロの変換係数が存在するか否かに応じて、デブロッキングフィルタの境界フィルタ強度(boundary filtering strength)を制御する。これは、非ゼロの変換係数の逆変換により、予測残差のエネルギーがブロック全体に分布するため、両ブロックの境界に不連続性が生じる可能性が高いためである。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】JVET-Q2001 “Versatile Video Coding (Draft 8)”
【発明の概要】
【0004】
第1の態様に係るデブロッキングフィルタ装置は、第1再構成ブロックと前記第1再構成ブロックに隣接する第2再構成ブロックとの境界に対するフィルタ処理を行うデブロッキングフィルタと、前記第1再構成ブロック及び前記第2再構成ブロックの少なくとも一方が、Cb色差成分及びCr色差成分のそれぞれの予測残差から1つの合同予測残差を生成するJCCR(Joint coding of chroma residual)を用いて符号化されているか否かに基づいて、前記デブロッキングフィルタの境界フィルタ強度を制御するフィルタ制御部と、を備える。
【0005】
第2の態様に係る復号装置は、第1の態様に係るデブロッキングフィルタ装置と、前記JCCRを用いて符号化されているか否かを示すフラグを前記第1再構成ブロック及び前記第2再構成ブロックのそれぞれについて取得するエントロピー復号部と、を備え、前記フィルタ制御部は、前記第1再構成ブロック及び前記第2再構成ブロックのそれぞれについての前記フラグに基づいて、前記デブロッキングフィルタの境界フィルタ強度を制御する。
【0006】
第3の態様に係るプログラムは、コンピュータを第1の態様に係るデブロッキングフィルタ装置として機能させる。
【図面の簡単な説明】
【0007】
【
図1】実施形態に係る符号化装置の構成を示す図である。
【
図2】実施形態に係るデブロッキングフィルタの動作を説明するための図である。
【
図3】実施形態に係る復号装置の構成を示す図である。
【
図4】実施形態に係るフィルタ制御部の動作例を示す図である。
【
図5】変更例2に係る符号化装置の構成を示す図である。
【
図6】変更例2に係る復号装置の構成を示す図である。
【発明を実施するための形態】
【0008】
VVC規格案では、入力映像のクロマフォーマットが4:4:4である場合、予測残差の色空間(RGB空間)をYCgCo空間に変換し、色空間変換後の予測残差に対して変換処理・エントロピー符号化処理等の符号化処理を行う適応色変換(ACT:Adaptive Colour Transform)と呼ばれる技術が採用されている(非特許文献1参照)。符号化装置は、符号化対象ブロックごとにACTを適用するか否かを制御可能であり、符号化対象ブロックごとにACT適用フラグをストリーム出力する。復号装置は、ACTを用いて符号化されたブロックに対してエントロピー復号・逆変換処理等を行って予測残差を復元し、復元した予測残差の色空間(YCgCo空間)をRGB空間に逆変換する。
【0009】
上述した従来の技術では、復号装置は、隣接する2つのブロックのうち少なくとも一方のブロックに非ゼロの変換係数が存在する場合、当該2つのブロックの境界にデブロッキングフィルタを適用する。一方、隣接する2つのブロックの両ブロックに非ゼロの変換係数が存在しない場合、当該2つのブロックの境界にデブロッキングフィルタを適用しないことも可能である。
【0010】
しかしながら、ACTが適用されたブロックについては、逆変換処理により変換係数から予測残差が復元された後、色空間逆変換により予測残差の色空間がYCgCo空間からRGB空間に逆変換される。このため、ある色成分のブロックに非ゼロの変換係数が存在する場合、色空間逆変換の際に当該非ゼロの変換係数が他の色成分のブロックに影響を与えることになる。
【0011】
よって、ACTを用いて符号化されたブロックに対して、非ゼロの変換係数の有無に基づくデブロッキングフィルタ制御を適用すると、デブロッキングフィルタの境界フィルタ強度を適切に制御できずに画質の劣化を引き起こす懸念がある。
【0012】
他の符号化ツールである予測残差合同符号化(Joint coding of chroma residual:JCCR)が適用される場合も、上記と同様な問題が生じ得る。
【0013】
そこで、本開示は、画質の劣化を抑制するデブロッキングフィルタ装置、復号装置、及びプログラムを提供することを目的とする。
【0014】
図面を参照して、実施形態に係る符号化装置及び復号装置について説明する。実施形態に係る符号化装置及び復号装置は、MPEGに代表される動画像の符号化及び復号をそれぞれ行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【0015】
[第1実施形態]
<符号化装置の構成>
まず、本実施形態に係る符号化装置の構成について説明する。
図1は、本実施形態に係る符号化装置1の構成を示す図である。
【0016】
図1に示すように、符号化装置1は、ブロック分割部100と、残差生成部110と、切替部111と、色空間変換部112と、変換・量子化部120と、エントロピー符号化部130と、逆量子化・逆変換部140と、切替部143と、色空間逆変換部144と、合成部150と、デブロッキングフィルタ160と、メモリ170と、予測部180とを有する。
【0017】
ブロック分割部100は、動画像を構成するフレーム(或いはピクチャ)単位の入力画像である原画像を複数の画像ブロックに分割し、分割により得た画像ブロックを残差生成部110に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックの形状は正方形に限らず長方形(非正方形)であってもよい。画像ブロックは、符号化装置1が符号化処理を行う単位(すなわち、符号化対象ブロック)であり、且つ復号装置が復号処理を行う単位(すなわち、復号対象ブロック)である。このような画像ブロックはCU(Coding Unit)と呼ばれることがある。
【0018】
入力画像は、RGB信号であって、クロマフォーマットが4:4:4であってもよい。RGB空間は、第1色空間の一例である。「R」成分は第1成分に相当し、「G」成分は第2成分に相当し、「B」成分は第3成分に相当する。ブロック分割部100は、画像を構成するR成分、G成分、及びB成分のそれぞれに対してブロック分割を行うことでブロックを出力する。以下の符号化装置の説明において、各色成分を区別しないときは単に符号化対象ブロックと呼ぶ。
【0019】
残差生成部110は、ブロック分割部100が出力する符号化対象ブロックと、符号化対象ブロックを予測部180が予測して得た予測ブロックとの差分(誤差)を表す予測残差を算出する。具体的には、残差生成部110は、符号化対象ブロックの各画素値から予測ブロックの各画素値を減算することにより予測残差を算出し、算出した予測残差を切替部111に出力する。本実施形態において、残差生成部110は、各色成分の符号化対象ブロックと、各色成分の予測ブロックとの差分により各色成分の予測残差を生成する。
【0020】
切替部111は、残差生成部110が出力する各色成分の予測残差を変換・量子化部120及び色空間変換部112のいずれか一方に出力する。切替部111は、色空間変換処理(ACT処理)を行わない場合は予測残差を変換・量子化部120に出力し、ACT処理を行う場合は予測残差を色空間変換部112に出力する。
【0021】
色空間変換部112は、各色成分の予測残差に対してACT処理を行い、ACT処理後の予測残差を変換・量子化部120に出力する。色空間変換部112は、符号化対象ブロックの予測残差のR成分、G成分、及びB成分について下記のような変換計算を行うことで、新たな予測残差を生成する。
【0022】
Co=R-B
t=B+(Co>>1)
Cg=G-t
Y=t+(Cg>>1)
【0023】
但し、「>>」は右シフト演算を表す。また、「Y」成分は第1成分に相当し、「Cg」成分は第2成分に相当し、「Co」成分は第3成分に相当する。このようなYCgCo空間は、第2色空間の一例である。
【0024】
切替部111及び色空間変換部112は、符号化対象ブロックごとに色変換処理を行うか否かを制御可能である。エントロピー符号化部130は、当該符号化ブロックに対して色変換処理を行ったか否かを示すフラグ(ACT適用フラグ)をビットストリーム中でシグナリングする。
【0025】
なお、色空間変換部112におけるACT処理は各色成分に対する加算・減算・乗算・除算・シフト処理などにより新たな色成分により構成される予測残差を生成すればよい。また、ACT処理は、すべての色成分に影響を及ぼす変換である必要はない。例えば、色空間変換部112は、第1成分を変更せずに維持し、第2成分と第3成分との平均値を新たな第2成分とし、第2成分と第3成分との差分を新たな第3成分とする、というACT処理を適用してもよい。
【0026】
変換・量子化部120は、ブロック単位で変換処理及び量子化処理を行う。変換・量子化部120は、変換部121と、量子化部122とを有する。
【0027】
変換部121は、切替部111又は色空間変換部112が出力する予測残差(ACT処理の適用の有無にかかわらず予測残差と呼ぶ)に対して変換処理を行って変換係数を算出し、算出した変換係数を量子化部122に出力する。具体的には、変換部121は、各色成分の予測残差に対してブロック単位で変換処理を行うことで各色成分の変換係数を生成する。変換処理は、例えばDCTやDST、離散ウェーブレット変換などの周波数変換であればよい。また、変換部121は、変換処理に関する情報をエントロピー符号化部130に出力する。
【0028】
変換処理には、HEVCやVVC規格案で採用されている、変換処理を行わない変換スキップを含む。HEVCの変換スキップモードでは水平及び垂直の変換処理を行わずに、予測残差に対しスケーリングを施すことによって変換係数としているが、本実施形態に係る変換スキップは、水平のみ変換処理を適用する変換や垂直のみ変換処理を適用する変換も含む。また、変換部121は、変換処理により得られた変換係数に対してさらに変換処理を適用する二次変換処理を行ってもよい。また、二次変換処理は、変換係数の一部の領域のみに適用してもよい。
【0029】
量子化部122は、変換部121から出力される変換係数を量子化パラメータ及びスケーリングリストを用いて量子化し、量子化した変換係数をエントロピー符号化部130及び逆量子化・逆変換部140に出力する。また、量子化部122は、量子化処理に関する情報(具体的には、量子化処理で用いた量子化パラメータ及びスケーリングリストの情報)を、エントロピー符号化部130及び逆量子化部141に出力する。
【0030】
エントロピー符号化部130は、量子化部122が出力する量子化変換係数に対してエントロピー符号化を行い、データ圧縮を行ってビットストリーム(符号化データ)を生成し、ビットストリームを復号側に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding)等を用いることができる。また、エントロピー符号化部130は、変換部121から入力された変換処理に関する情報をビットストリームに含めて復号側にシグナリングしたり、予測部180から入力された予測処理に関する情報をビットストリームに含めて復号側にシグナリングしたりする。
【0031】
さらに、エントロピー符号化部130は、ACTの適用有無を示す色空間変換フラグを符号化対象ブロックごとにビットストリームに含めて復号側にシグナリングする。このような色空間変換フラグをACT適用フラグとも呼ぶ。ACT適用フラグがオン(“1”)の場合、対応する符号化対象ブロックにACTが適用されることを示す。ACT適用フラグがオフ(“0”)の場合、対応する符号化対象ブロックにACTが適用されないことを示す。なおACT適用フラグの代わりにACT非適用フラグを用いてもよい。その場合には、ACT非適用フラグがオン(“1”)の場合、対応する符号化対象ブロックにACTが適用されないことを示す。ACT非適用フラグがオフ(“0”)の場合、対応する符号化対象ブロックにACTが適用されることを示す。
【0032】
逆量子化・逆変換部140は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部140は、逆量子化部141と、逆変換部142とを有する。
【0033】
逆量子化部141は、量子化部122が行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部141は、量子化部122が出力する量子化変換係数を、量子化パラメータ(Qp)及びスケーリングリストを用いて逆量子化することにより変換係数を復元し、復元した変換係数を逆変換部142に出力する。
【0034】
逆変換部142は、変換部121が行う変換処理に対応する逆変換処理を行う。例えば、変換部121が離散コサイン変換を行った場合、逆変換部142は逆離散コサイン変換を行う。逆変換部142は、逆量子化部141が出力する変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差である復元予測残差を切替部143に出力する。
【0035】
切替部143は、逆変換部142が出力する各色成分の復元予測残差を合成部150及び色空間逆変換部144のいずれか一方に出力する。切替部143は、ACTが適用されたブロックについては復元予測残差を合成部150に出力し、ACTが適用されていないブロックについては復元予測残差を色空間逆変換部144に出力する。
【0036】
色空間逆変換部144は、色空間変換部112が行うACT処理の逆処理である色空間逆変換処理(逆ACT処理)を行い、逆ACT処理後の予測残差を合成部150に出力する。具体的には、復元後の予測残差のY成分、Cg成分、Co成分を用いて下記のような逆変換計算を行うことにより、YCgCo空間からRGB空間への逆変換を行う。
【0037】
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
【0038】
合成部150は、逆変換部142又は色空間逆変換部144が出力する復元予測残差を、予測部180が出力する予測ブロックと画素単位で合成する。合成部150は、復元予測残差の各画素値と予測ブロックの各画素値を加算して符号化対象ブロックを復元(再構成)し、復元済みブロックをデブロッキングフィルタ160に出力する。なお、復元済みブロックは、再構成ブロックと呼ばれることもある。
【0039】
デブロッキングフィルタ160は、合成部150が出力する復元済みブロックに対してフィルタ処理を行い、フィルタ処理後の復元済みブロックをメモリ170に出力する。フィルタ制御部161は、デブロッキングフィルタ160を制御する。デブロッキングフィルタ160及びフィルタ制御部161の詳細については後述する。
【0040】
メモリ170は、デブロッキングフィルタ160が出力するフィルタ処理後の復元済みブロックを記憶し、復元済みブロックをフレーム単位で復元済み画像として蓄積する。メモリ170は、記憶している復元済みブロック若しくは復元済み画像を予測部180に出力する。
【0041】
予測部180は、ブロック単位で予測処理を行う。予測部180は、符号化対象ブロックに対するイントラ予測及びインター予測などの予測処理を施すことにより色成分ごとの予測ブロックを生成する。予測部180は、インター予測部181と、イントラ予測部182と、切替部183とを有する。
【0042】
インター予測部181は、フレーム間の相関を利用したインター予測を行う。具体的には、インター予測部181は、メモリ170に記憶された復元済み画像を参照画像として用いて、ブロックマッチングなどの手法により動きベクトルを算出し、符号化対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを切替部183に出力する。ここで、インター予測部181は、複数の参照画像を用いるインター予測(典型的には、双予測)や、1つの参照画像を用いるインター予測(片方向予測)の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。インター予測部181は、インター予測に関する情報(動きベクトル等)をエントロピー符号化部130に出力する。
【0043】
イントラ予測部182は、フレーム内の空間的な相関を利用したイントラ予測を行う。具体的には、イントラ予測部182は、メモリ170に記憶された復元済み画像のうち、符号化対象ブロックの周辺にある復元済み画素を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部183に出力する。イントラ予測部182は、複数のイントラ予測モードの中から、符号化対象ブロックに適用するイントラ予測モードを選択し、選択したイントラ予測モードを用いて符号化対象ブロックを予測する。
【0044】
切替部183は、インター予測部181が出力するインター予測ブロックとイントラ予測部182が出力するイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを残差生成部110及び合成部150に出力する。
【0045】
次に、本実施形態に係るデブロッキングフィルタ160及びフィルタ制御部161について説明する。
【0046】
デブロッキングフィルタ160は、復元済みブロック(第1ブロック)と当該復元済みブロックに隣接する復元済みブロック(第2ブロック)とからなる2つのブロックのブロック境界に対するフィルタ処理を行い、フィルタ処理後の各復元済みブロックをメモリ170に出力する。フィルタ処理は、ブロック単位の処理に起因する信号劣化を軽減するための処理であって、隣り合う2つのブロックのブロック境界における信号のギャップを平滑化するフィルタ処理である。
【0047】
フィルタ制御部161は、デブロッキングフィルタ160を制御する。具体的には、フィルタ制御部161は、ブロック対のブロック境界に対するフィルタ処理を行うか否かを示す境界フィルタ強度(Bs:Boundary strength)、及びデブロッキングフィルタ160のフィルタ強度を制御する。境界フィルタ強度Bsとは、フィルタ処理を適用するか否か、及びそのフィルタ処理の種類を決定するためのパラメータをいう。なお、フィルタ処理を行うか否かの制御は、境界フィルタ強度Bsを1以上とするか又はゼロとするかの制御とみなすことができる。
【0048】
図2は、本実施形態に係るデブロッキングフィルタ160の動作を説明するための図である。
図2に示す例では、デブロッキングフィルタ160は、8×8画素のブロックごとのブロック境界を対象としてフィルタ処理を行う。また、デブロッキングフィルタ160は、4行又は4列を単位としてフィルタ処理を行う。
図2に示すブロックP(第1再構成ブロック)及びブロックQ(第2再構成ブロック)では、デブロッキングフィルタ160のフィルタ処理の1単位であり、ブロックサイズが4×4画素である一例を示している。ブロックP及びQのそれぞれは、サブブロックと呼ばれてもよい。ブロックQは、符号化対象ブロックに対応する復元済みブロックであり、ブロックPは、このブロックQに隣接する復元済みブロックである。
【0049】
フィルタ制御部161は、下記の表1に基づいて境界フィルタ強度Bsを決定する。本実施形態では、境界フィルタ強度Bsの値は0,1,2のいずれかとする。
【0050】
【0051】
図2及び表1に示すように、フィルタ制御部161は、ブロックP及びQの少なくとも一方にイントラ予測が適用されている場合、Bs値を2とする。
【0052】
フィルタ制御部161は、ブロックP及びQの両方に動き補償予測(インター予測)が適用されており、且つ少なくとも以下の(a)乃至(d)の中の1つの条件を満たす場合には、Bs値を1とし、その他の場合には、Bs値を0とする。
【0053】
(a)ブロックP及びQの動きベクトルの差の絶対値が閾値(例えば1画素)以上であること。
【0054】
(b)ブロックP及びQの動きベクトルの数又は参照画像が異なること。
【0055】
(c)ブロックP及びQの少なくとも一方が有意な変換係数(すなわち、非ゼロの変換係数)を含むこと。
【0056】
(d)ブロックP及びQの少なくとも一方にACTが適用されていること。
【0057】
フィルタ制御部161は、境界フィルタ強度Bsの値が0の場合にはデブロッキングフィルタ処理を行わないようデブロッキングフィルタ160を制御する。以下、
図2に示す垂直ブロック境界を例に説明する。
【0058】
フィルタ制御部161は、境界フィルタ強度Bsの値が1又は2の場合には、次式(1)を満たす場合に、デブロッキングフィルタ処理を行うようデブロッキングフィルタ160を制御してもよい。
【0059】
【0060】
なお、フィルタ制御部161は、デブロッキングフィルタ処理を行う場合、以下の条件式(2)~(7)を全て満たす場合に強いフィルタを適用し、それ以外の場合に弱いフィルタを適用してもよい。
【0061】
【0062】
但し、閾値β及びtCの値は、隣接するブロックPとブロックQの量子化パラメータの平均値Qavに応じて変わる。
【0063】
<復号装置の構成>
次に、本実施形態に係る復号装置について、符号化装置1との相違点を主として説明する。
図3は、本実施形態に係る復号装置2の構成を示す図である。
【0064】
図3に示すように、復号装置2は、エントロピー復号部200と、逆量子化・逆変換部210と、切替部215と、色空間逆変換部216と、合成部220と、デブロッキングフィルタ230と、メモリ240と、予測部250とを有する。
【0065】
エントロピー復号部200は、符号化データ(ビットストリーム)を復号し、復号対象ブロックに対応する量子化変換係数を取得し、取得した量子化変換係数を逆量子化・逆変換部210に出力する。また、エントロピー復号部200は、変換処理及び量子化処理に関する情報を取得し、変換処理及び量子化処理に関する情報を逆量子化・逆変換部210に出力する。さらに、エントロピー復号部200は、予測処理に関する情報を取得し、予測処理に関する情報を予測部250に出力する。エントロピー復号部200は、復号対象ブロックごとの色空間変換フラグを取得し、取得した色空間変換フラグを切替部215及びフィルタ制御部231に出力する。
【0066】
逆量子化・逆変換部210は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部210は、逆量子化部211と、逆変換部212とを有する。
【0067】
逆量子化部211は、符号化装置1の量子化部122が行う量子化処理に対応する逆量子化処理を行う。逆量子化部211は、エントロピー復号部200が出力する量子化変換係数を、量子化パラメータ(Qp)及びスケーリングリストを用いて逆量子化することにより、復号対象ブロックの変換係数を復元し、復元した変換係数を逆変換部212に出力する。
【0068】
逆変換部212は、符号化装置1の変換部121が行う変換処理に対応する逆変換処理を行う。逆変換部212は、逆量子化部211が出力する変換係数に対して逆変換処理を行って予測残差を復元し、復元予測残差を切替部215に出力する。
【0069】
切替部215は、色空間変換フラグに基づいて、逆変換部212が出力する各色成分の予測残差を合成部220及び色空間逆変換部216のいずれか一方に出力する。切替部111は、色空間逆変換処理(ACT)が適用されたブロックについては予測残差を変換・量子化部120に出力し、ACTが適用されたブロックについては予測残差を色空間逆変換部216に出力する。
【0070】
色空間逆変換部216は、符号化装置1の色空間変換部112が行うACT処理の逆処理である色空間逆変換処理(逆ACT処理)を行い、逆ACT処理後の予測残差を合成部220に出力する。具体的には、色空間逆変換部216は、復元後の予測残差のY成分、Cg成分、Co成分を用いて下記のような逆変換計算を行う。
【0071】
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
【0072】
合成部220は、切替部215又は色空間逆変換部216が出力する予測残差と、予測部250が出力する予測ブロックとを画素単位で合成することにより、元のブロックを復号(再構成)し、復元済みブロックをデブロッキングフィルタ230に出力する。
【0073】
デブロッキングフィルタ230は、合成部220が出力する復元済みブロックに対してフィルタ処理を行い、フィルタ処理後の復元済みブロックをメモリ240に出力する。具体的には、デブロッキングフィルタ230は、復元済みブロック(第1ブロック)と当該復元済みブロックに隣接する復元済みブロック(第2ブロック)とからなる2つのブロックのブロック境界に対するフィルタ処理を行い、フィルタ処理後の各復元済みブロックをメモリ240に出力する。デブロッキングフィルタ230の機能は、符号化装置1のデブロッキングフィルタ160の機能と同様である。
【0074】
フィルタ制御部231は、デブロッキングフィルタ230を制御する。フィルタ制御部231は、デブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、ブロック対のブロック境界に対するフィルタ処理を行うか否かを示す境界フィルタ強度(Bs:Boundary strength)、及びデブロッキングフィルタ230のフィルタ強度を制御する。フィルタ制御部231の機能は、符号化装置1のフィルタ制御部161の機能と同様である。フィルタ制御部231の機能は、上記の表1に基づいて境界フィルタ強度Bsを決定する。
【0075】
すなわち、本実施形態に係るフィルタ制御部231は、隣接するブロックP及びブロックQの少なくとも一方が適応色変換(ACT)を用いて符号化されているか否かに基づいて、デブロッキングフィルタ230の境界フィルタ強度Bsを制御する。
【0076】
上述したように、エントロピー復号部200は、適応色変換を用いて符号化されているか否かを示すフラグ(色空間変換フラグ)をブロックP及びブロックQのそれぞれについて取得する。フィルタ制御部231は、ブロックP及びブロックQのそれぞれについての色空間変換フラグに基づいて、デブロッキングフィルタ230の境界フィルタ強度Bsを制御する。
【0077】
フィルタ制御部231は、ブロックP及びブロックQの少なくとも一方が適応色変換を用いて符号化されている場合、デブロッキングフィルタ230によるフィルタ処理を行うように境界フィルタ強度Bsを制御する(すなわち、境界フィルタ強度Bs=1を設定する)。具体的には、フィルタ制御部231は、ブロックP及びブロックQの両方に非ゼロの変換係数が存在しない場合であっても、ブロックP及びブロックQの少なくとも一方が適応色変換を用いて符号化されている場合には、デブロッキングフィルタ230によるフィルタ処理を行うように境界フィルタ強度Bsを制御する。
【0078】
メモリ240は、合成部220が出力する復元済みブロックを記憶し、復元済みブロックをフレーム単位で復元済み画像として蓄積する。メモリ240は、復元済みブロック若しくは復元済み画像を予測部250に出力する。また、メモリ240は、フレーム単位の復元済み画像を復号装置2の外部に出力する。
【0079】
予測部250は、ブロック単位で色成分ごとに予測を行う。予測部250は、インター予測部251と、イントラ予測部252と、切替部253とを有する。
【0080】
インター予測部251は、フレーム間の相関を利用したインター予測を行う。具体的には、インター予測部251は、エントロピー復号部200が出力するインター予測に関する情報(例えば、動きベクトル情報)に基づいて、メモリ240に記憶された復元済み画像を参照画像として用いて符号化対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを切替部253に出力する。
【0081】
イントラ予測部252は、フレーム内の空間的な相関を利用したイントラ予測を行う。具体的には、イントラ予測部252は、エントロピー復号部200が出力するイントラ予測に関する情報(例えば、イントラ予測モード情報)に応じたイントラ予測モードを用いて、メモリ240に記憶された復元済み画像のうち符号化対象ブロックの周辺にある復元済み画素を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部253に出力する。
【0082】
切替部253は、インター予測部251が出力するインター予測ブロックとイントラ予測部252が出力するイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを合成部220に出力する。
【0083】
このように、本実施形態に係る復号装置2は、符号化ストリームを復号することで、ブロックPに対応する変換係数を出力するエントロピー復号部200と、エントロピー復号部200が出力する変換係数に対して逆量子化処理及び逆変換処理を行うことで、ブロックP(第1ブロック)に対応する予測残差を復元する逆量子化・逆変換部210と、復元した予測残差とブロックPを予測して得た予測ブロックとを合成することでブロックPを復元する合成部220と、復元したブロックPと、ブロックPに隣接する復元済みのブロックQ(第2ブロック)との境界に対するフィルタ処理を行うデブロッキングフィルタ230と、ブロックP及びブロックQの少なくとも一方が適応色変換(ACT)を用いて符号化されているか否かに基づいて、デブロッキングフィルタ230の境界フィルタ強度Bsを制御するフィルタ制御部231とを有する。
【0084】
ACTが適用されたブロックについては、逆変換処理により変換係数から予測残差が復元された後、色空間逆変換(逆ACT)により予測残差の色空間がYCgCo空間からRGB空間に逆変換される。このため、ある色成分のブロックに非ゼロの変換係数が存在する場合、色空間逆変換の際に当該非ゼロの変換係数が他の色成分のブロックに影響を与えることになる。
【0085】
このため、本実施形態に係るフィルタ制御部231は、非ゼロの変換係数の有無に基づくデブロッキングフィルタ230の境界フィルタ強度Bsの制御だけではなく、ACTの適用有無を考慮してデブロッキングフィルタ230の境界フィルタ強度Bsを制御する。これにより、デブロッキングフィルタ230の境界フィルタ強度Bsを適切に制御可能になるため、ACTを適用する場合であっても画質の劣化を抑制できる。
【0086】
<フィルタ制御部の動作>
次に、本実施形態に係るフィルタ制御部161及びフィルタ制御部231の動作について説明する。符号化側のフィルタ制御部161及び復号側のフィルタ制御部231は同じ動作を行うため、ここでは復号側のフィルタ制御部231を例に挙げて説明する。
図4は、本実施形態に係るフィルタ制御部231の動作例を示す図である。なお、
図4に示す判定の順序は一例であって、判定の順序を変更してもよい。
【0087】
図4に示すように、ステップS1において、フィルタ制御部231は、ブロックP及びQからなるブロック対の少なくとも一方にイントラ予測が適用されているか否かを判定する。ブロック対の少なくとも一方にイントラ予測が適用されている場合(ステップS1:YES)、ステップS2において、フィルタ制御部231は、デブロッキングフィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界フィルタ強度Bs=2を設定する。
【0088】
ブロック対のいずれもイントラ予測が適用されていない場合(ステップS1:NO)、ステップS3において、フィルタ制御部231は、対象ブロック対の動きベクトルの差が閾値以上であるか否かを判定する。対象ブロック対の動きベクトルの差が閾値以上である場合(ステップS3:YES)、ステップS4において、フィルタ制御部231は、デブロッキングフィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界フィルタ強度Bs=1を設定する。
【0089】
ブロック対の動きベクトルの差が閾値以上ではない場合(ステップS3:NO)、ステップS5において、フィルタ制御部231は、ブロック対の動きベクトルの数又は参照画像が異なるか否かを判定する。ブロック対の動きベクトルの数又は参照画像が異なる場合(ステップS5:YES)、ステップS4において、フィルタ制御部231は、デブロッキングフィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界フィルタ強度Bs=1を設定する。
【0090】
ブロック対の動きベクトルの数又は参照画像が同じである場合(ステップS5:NO)、ステップS6において、フィルタ制御部231は、ブロック対の少なくとも一方のブロックに非ゼロの変換係数が含まれるか否かを判定する。ブロック対の少なくとも一方に非ゼロの変換係数が含まれている場合(ステップS6:YES)、ステップS4において、フィルタ制御部231は、デブロッキングフィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界フィルタ強度Bs=1を設定する。
【0091】
ブロック対のいずれのブロックにも非ゼロの変換係数が含まれていない場合(ステップS6:NO)、ステップS7において、フィルタ制御部231は、エントロピー復号部200が出力する各ブロックの色空間変換フラグに基づいて、ブロック対の少なくとも一方のブロックがACTを用いて符号化されているか否かを判定する。ブロック対の少なくとも一方のブロックがACTを用いて符号化されている場合(ステップS7:YES)、ステップS4において、フィルタ制御部231は、デブロッキングフィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界フィルタ強度Bs=1を設定する。一方、ブロック対のいずれのブロックもACTを用いて符号化されていない場合(ステップS7:NO)、ステップS8において、フィルタ制御部231は、デブロッキングフィルタ処理を行わないようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界フィルタ強度Bs=0を設定する。
【0092】
<変更例1>
復号側のフィルタ制御部231は、ブロック対(ブロックP及びブロックQ)の少なくとも一方のブロックが非ゼロの変換係数を含むか否かを、符号化装置1からシグナリングされるフラグに基づいて判定してもよい。
【0093】
具体的には、符号化装置1のエントロピー符号化部130は、非ゼロの変換係数を含むか否かを示すフラグ(tu_coded_flag)をブロックごとに符号化ストリームに含める。例えば、エントロピー符号化部130は、非ゼロの変換係数を含むブロックについてはフラグ(tu_coded_flag)を“1”とし、非ゼロの変換係数を含まないブロックについてはフラグ(tu_coded_flag)を“0”とする。
【0094】
復号装置2のエントロピー復号部200は、ブロックごとにフラグ(tu_coded_flag)を取得し、取得したフラグ(tu_coded_flag)をフィルタ制御部231に出力する。フィルタ制御部231は、フラグ(tu_coded_flag)が“1”であるブロックについては非ゼロの変換係数を含まないと解釈する。そして、フィルタ制御部231は、下記の表2に示すようにデブロッキングフィルタ230の境界フィルタ強度Bsを設定する。
【0095】
【0096】
表2に示すように、フィルタ制御部231は、ブロック対の少なくとも一方のブロックのtu_coded_flagが“1”である場合、デブロッキングフィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界フィルタ強度Bs=1を設定する。
【0097】
<変更例2>
上述したように、ACTが適用されたブロックについては、逆変換処理により変換係数から予測残差が復元された後、逆ACTにより予測残差の色空間がYCgCo空間からRGB空間に逆変換される。このため、ある色成分のブロックに非ゼロの変換係数が存在する場合、逆ACTの際に当該非ゼロの変換係数が他の色成分のブロックに影響を与える。
【0098】
このため、ACTが適用される場合、非ゼロの変換係数の有無に基づくデブロッキングフィルタ230の境界フィルタ強度Bsの制御は適切に機能しない。このため、本変更例では、変換係数ではなく、逆変換処理後の予測残差に基づいてデブロッキングフィルタ230の境界フィルタ強度Bsを制御する。これにより、逆ACTの際に非ゼロの変換係数が他の色成分のブロックに影響を与えても、当該影響を受けた後の予測残差に基づいてデブロッキングフィルタ230の境界フィルタ強度Bsを適切に制御できる。
【0099】
すなわち、本変更例に係るフィルタ制御部161及びフィルタ制御部231は、下記の表3に基づいてデブロッキングフィルタ230の境界フィルタ強度Bsを設定する。
【0100】
【0101】
図5は、本変更例に係る符号化装置1の構成を示す図である。
【0102】
図5に示すように、符号化装置1において、フィルタ制御部161には、合成部150に入力される予測残差(復元予測残差)と同じ予測残差が入力される。ACTが適用されるブロックについては、逆ACT後の予測残差がフィルタ制御部161に入力されることになる。フィルタ制御部161は、ブロック対(ブロックP及びブロックQ)の少なくとも一方のブロックの復元予測残差が非ゼロの値を含む場合、デブロッキングフィルタ処理を行うようデブロッキングフィルタ160を制御する。具体的には、フィルタ制御部161は、境界フィルタ強度Bs=1を設定する。
【0103】
図6は、本変更例に係る復号装置2の構成を示す図である。
【0104】
図6に示すように、復号装置2において、フィルタ制御部231には、合成部220に入力される予測残差(復元予測残差)と同じ予測残差が入力される。ACTが適用されるブロックについては、逆ACT後の予測残差がフィルタ制御部231に入力されることになる。フィルタ制御部231は、ブロック対(ブロックP及びブロックQ)の少なくとも一方のブロックの復元予測残差が非ゼロの値を含む場合、デブロッキングフィルタ処理を行うようデブロッキングフィルタ230を制御する。具体的には、フィルタ制御部231は、境界フィルタ強度Bs=1を設定する。
【0105】
[第2実施形態]
上述の実施形態及びその変更例において、符号化ツールの1つであるACTが適用される一例について説明した。しかしながら、他の符号化ツールである予測残差合同符号化(Joint coding of chroma residual:JCCR)が適用される場合も、上記と同様な問題が生じ得る。このため、上述の実施形態及びその変更例をJCCRに適用し、上述の実施形態及びその変更例におけるACTをJCCRと適宜読み替えてもよい。例えば、次の表4に示すような境界フィルタ強度Bsの制御とすることができる。
【0106】
【0107】
JCCRは、色差成分の係数符号化モードである(非特許文献1参照)。JCCRでは、符号化装置1は、第1色差成分(Cb成分)及び第2色差成分(Cr成分)のそれぞれの予測残差の相関を利用して、第1色差成分の予測残差及び第2色差成分の予測残差から、1つの合同予測残差を生成する。例えば、符号化装置1は、第2色差成分の予測残差を正負反転したものを第1色差成分の予測残差と合成して合同予測残差を生成する。そして、符号化装置1は、生成した合同予測残差に対して変換処理、量子化処理及びエントロピー符号化処理を行って伝送する。
【0108】
復号装置2は、伝送された合同予測残差から第1色差成分の予測残差及び第2色差成分の予測残差を再構成する。このように、2つの色差成分について1つの合同予測残差のみを伝送することで、符号化効率を向上させている。
【0109】
このように、本実施形態に係るデブロッキングフィルタ装置は、第1再構成ブロック(ブロックP)と第2再構成ブロック(ブロックQ)との境界に対するフィルタ処理を行うデブロッキングフィルタ(160、230)と、第1再構成ブロック(ブロックP)及び第2再構成ブロック(ブロックQ)の少なくとも一方が、Cb色差成分及びCr色差成分のそれぞれの予測残差から1つの合同予測残差を生成するJCCR(Joint coding of chroma residual)を用いて符号化されているか否かに基づいて、デブロッキングフィルタ(160、230)の境界フィルタ強度Bsを制御するフィルタ制御部(161、231)と、を備える。
【0110】
フィルタ制御部(161、231)は、第1再構成ブロック(ブロックP)及び第2再構成ブロック(ブロックQ)の少なくとも一方がJCCRを用いて符号化されている場合、デブロッキングフィルタ(160、230)によるフィルタ処理を行うように境界フィルタ強度Bsを制御してもよい。
【0111】
フィルタ制御部(161、231)は、第1再構成ブロック(ブロックP)及び第2再構成ブロック(ブロックQ)の両方に非ゼロの変換係数が存在しない場合であっても、第1再構成ブロック(ブロックP)及び第2再構成ブロック(ブロックQ)の少なくとも一方がJCCRを用いて符号化されている場合には、デブロッキングフィルタ(160、230)によるフィルタ処理を行うように境界フィルタ強度Bsを制御してもよい。
【0112】
本実施形態において、復号装置2のエントロピー復号部200は、JCCRを用いて符号化されているか否かを示すフラグを第1再構成ブロック(ブロックP)及び第2再構成ブロック(ブロックQ)のそれぞれについて取得してもよい。フィルタ制御部231は、第1再構成ブロック(ブロックP)及び第2再構成ブロック(ブロックQ)のそれぞれについてのフラグに基づいて、デブロッキングフィルタ230の境界フィルタ強度Bsを制御してもよい。例えば、フィルタ制御部231は、第1再構成ブロック(ブロックP)及び第2再構成ブロック(ブロックQ)の少なくとも一方のブロックの前記フラグが“1”である場合、デブロッキングフィルタ230によるフィルタ処理を行うように境界フィルタ強度Bsを制御してもよい。
【0113】
本実施形態において、復号装置2のエントロピー復号部200は、非ゼロの変換係数を含むか否かを示すtu_coded_flagを第1再構成ブロック(ブロックP)及び第2再構成ブロック(ブロックQ)のそれぞれについてさらに取得してもよい。フィルタ制御部231は、第1再構成ブロック(ブロックP)及び第2再構成ブロック(ブロックQ)のそれぞれについてのtu_coded_flagにさらに基づいて、デブロッキングフィルタ230の境界フィルタ強度Bsを制御してもよい。例えば、フィルタ制御部231は、第1再構成ブロック(ブロックP)及び第2再構成ブロック(ブロックQ)の少なくとも一方のブロックのtu_coded_flagが“1”である場合、デブロッキングフィルタ230によるフィルタ処理を行うように境界フィルタ強度Bsを制御してもよい。
【0114】
JCCRが適用される第1色差成分(Cb成分)及び第2色差成分(Cr成分)の各ブロックについては、上述したtu_coded_flagが“1”に設定されるものの、実際には一方の色成分に変換係数が存在しないことになる。このため、上述した変更例2と同様に、ある色成分について、非ゼロの変換係数が存在するか否かの判定に変えて、再構成された予測残差が非ゼロの値を含むか否かの判定を用いることが好ましい。
【0115】
[その他の実施形態]
上述した実施形態において、デブロッキングフィルタ(160、230)の制御として境界フィルタ強度Bsを制御する一例について主として説明した。しかしながら、境界フィルタ強度Bsの制御に限らず、フィルタ長の制御や、複数のフィルタの切り替え制御を行ってもよい。
【0116】
上述した符号化装置1が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。また、復号装置2が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
【0117】
符号化装置1が行う各処理を実行する回路を集積化し、符号化装置1を半導体集積回路(チップセット、SoC)により構成してもよい。復号装置2が行う各処理を実行する回路を集積化し、復号装置2を半導体集積回路(チップセット、SoC)により構成してもよい。
【0118】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0119】
本願は、日本国特許出願第2020-101293号(2020年6月10日出願)の優先権を主張し、その内容のすべてが参照により本願明細書に組み込まれている。