JP2021052249A - 符号化装置、復号装置、及びプログラム - Google Patents

符号化装置、復号装置、及びプログラム Download PDF

Info

Publication number
JP2021052249A
JP2021052249A JP2019172328A JP2019172328A JP2021052249A JP 2021052249 A JP2021052249 A JP 2021052249A JP 2019172328 A JP2019172328 A JP 2019172328A JP 2019172328 A JP2019172328 A JP 2019172328A JP 2021052249 A JP2021052249 A JP 2021052249A
Authority
JP
Japan
Prior art keywords
block
conversion
unit
quantization
filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019172328A
Other languages
English (en)
Inventor
俊輔 岩村
Shunsuke Iwamura
俊輔 岩村
慎平 根本
Shimpei Nemoto
慎平 根本
市ヶ谷 敦郎
Atsuro Ichigaya
敦郎 市ヶ谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2019172328A priority Critical patent/JP2021052249A/ja
Publication of JP2021052249A publication Critical patent/JP2021052249A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】デブロッキングフィルタを適切に制御することで画質や符号化効率を向上させる。【解決手段】画像をブロック単位に分割し、ブロック単位で前記画像を符号化する符号化装置において、デブロッキングフィルタを制御するフィルタ制御部は、量子化処理及び逆量子化処理で用いた量子化パラメータと、転換処理及び逆転換処理で用いた転換テーブルとに基づいて、デブロッキングフィルタのフィルタ強度を制御する。転換テーブルは、1つ又は複数のスライスに対して設定されるテーブルであって、転換対象の画素値が取りうる最小値から最大値までの範囲を規定の数に分割した各バンドに対して割り当てる転換後の画素値の数を示す値からなるテーブルである。【選択図】図1

Description

本発明は、符号化装置、復号装置、及びプログラムに関する。
MPEG(Moving Picture Experts Group)の委員会で勧告された規格群のシリーズなどに代表されるブロック単位で符号化処理を行う映像符号化方式では、ブロック単位で条件の異なる符号化が行われるため、ブロック間の品質が均一でないという特徴がある。
この特徴は、映像の部分領域の信号特性に応じて、例えば、人間の検知しやすい信号特性の領域であれば高品質の信号に符号化し、検知しにくい領域であれば低品質の信号に符号化するように制御することにより視覚的に画質の劣化を感じさせない符号化制御が行えるというメリットがある。デメリットとしては、ブロック単位で符号化を制御するため、ブロック境界に画質の品質差が顕在化し、ブロック状の歪みが検知される場合がある。
このような信号の劣化を低減するため、近年の符号化方式ではデブロッキングフィルタ処理が一般的に用いられる。デブロッキングフィルタは、信号のギャップを低減するためのフィルタであるため、一般的には低域通過フィルタの特性を持つ。
デブロッキングフィルタを固定的に適用すると、高品質領域同士の境界部においては、フィルタ処理による信号劣化が品質改善よりも大きく作用することがあり、逆に過度に低品質に符号化処理された領域同士の境界部においては、フィルタが十分に効果を発揮できない。
このような状況に鑑みて、従来の映像符号化方式であるHEVCでは、量子化パラメータ(具体的には、境界を挟むブロックの量子化パラメータの平均値)に基づいてデブロッキングフィルタのフィルタ強度を制御している(例えば、非特許文献1参照)。ここで、量子化パラメータとは、1つのブロックに対して1つの値が設定され、このブロックの量子化の粗さ(ステップサイズ)を規定するパラメータをいう。
ところで、新たな映像符号化方式であるVVCの委員会原案では、Luma mapping and chroma scaling(LMCS)が採用されている(例えば、非特許文献2参照)。
LMCSでは、入力画像の信号特性に応じて、予測処理や変換処理などの処理を行う前に原画像の輝度信号の値を、ルックアップテーブル(転換テーブル)を用いたマッピング処理により変更し、マッピング後の輝度信号に対して予測処理及び変換処理、量子化処理を適用する。また、原画像の色差信号の値を原画像の輝度信号の値に応じてスケーリング処理により変更し、スケーリング後の色差信号に対して予測処理及び変換処理、量子化処理を適用する。
LMCSによれば、原画像の画素値の偏りを利用した輝度信号へのマッピング処理及び色差信号へのスケーリング処理により、符号化効率を向上させることができる。
Recommendation ITU−T H.265,(12/2016),"High efficiency video coding",International Telecommunication Union JVET−O2002,"Algorithm description for Versatile Video Coding and Test Model 6 (VTM 6)"
上述したLMCSのマッピング処理及びスケーリング処理は、符号化装置側では、原画像に対する予測処理や変換処理、量子化処理の前に行われる。復号装置側では、逆量子化処理、逆変換処理及び予測処理の後にマッピング処理に対応する逆マッピング処理及びスケーリング処理に対応する逆スケーリング処理が行われる。即ち、量子化処理及び逆量子化処理により生じる量子化誤差は、逆マッピング処理及び逆スケーリング処理により増減する可能性がある。
しかしながら、従来の映像符号化方式は、ブロック単位で設定される一意のパラメータである量子化パラメータを考慮してデブロッキングフィルタのフィルタ強度を制御しているものの、フィルタ強度の制御において上述の逆マッピング処理及び逆スケーリング処理を考慮していない。
このため、逆マッピング処理及び逆スケーリング処理に起因するブロックノイズの発生に対してはデブロッキングフィルタのフィルタ強度を制御する方法がなく、デブロッキングフィルタによるブロック歪みの低減効果が不十分であるという問題がある。
そこで、本発明は、デブロッキングフィルタを適切に制御することで画質や符号化効率を向上させる符号化装置、復号装置、及びプログラムを提供することを目的とする。
第1の態様に係る符号化装置は、画像をブロック単位に分割した符号化対象ブロックを符号化する符号化装置であって、前記符号化対象ブロック内の転換テーブルに基づいて輝度信号の各画素値に対するマッピング処理及び色差信号の各画素値に対するスケーリング処理により構成される転換処理をすることで新たな符号化対象ブロックを生成する転換部と、前記転換部で新たに生成された符号化対象ブロックと当該符号化対象ブロックを予測することにより生成した予測ブロックとの差である予測残差に変換処理及び量子化処理を行う変換・量子化部と、前記変換・量子化部により生成された変換係数に逆量子化処理及び逆変換処理することにより前記予測残差を復元する逆量子化・逆変換部と、前記復元した予測残差と前記予測ブロックとを合成することにより合成ブロックを生成する合成部と、前記合成ブロック内の各画素値に対し前記転換処理に対応する逆転換処理をすることにより前記符号化対象ブロックを復元する逆転換部と、前記復元した符号化対象ブロックと当該符号化対象ブロックに隣接する隣接ブロックとの境界にフィルタ処理するデブロッキングフィルタと、前記量子化処理及び前記逆量子化処理で用いた量子化パラメータと前記転換処理及び前記逆転換処理で用いた転換テーブルとに基づいて、前記デブロッキングフィルタのフィルタ強度を制御するフィルタ制御部とを備え、前記転換テーブルは、1つ又は複数のスライスに対して設定されるテーブルであって、転換対象の画素値が取りうる最小値から最大値までの範囲を規定の数に分割した各バンドに対して割り当てる転換後の画素値の数を示す値からなるテーブルであることを要旨とする。
ここで、「スライス」は、「ピクチャ」、「タイル」、「タイルグループ」、「ブリック」のいずれかに読み替えてもよい。
第2の態様に係る復号装置は、画像を分割して生成したブロック単位で符号化ストリームを復号する復号装置であって、前記符号化ストリームを復号することで、復号対象ブロックに対応する変換係数を出力するエントロピー復号部と、前記エントロピー復号部が出力する変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部と、前記復元した予測残差と前記復号対象ブロックを予測して生成した予測ブロックとを合成して合成ブロックを生成する合成部と、前記生成した合成ブロック内の各画素値に対して転換テーブルに基づいて符号化側で行った輝度信号の各画素値に対するマッピング処理及び色差信号の各画素値に対するスケーリング処理により構成される転換処理に対応する逆転換処理を行うことにより前記符号化対象ブロックを復元する逆転換部と、前記復元した復号対象ブロックと当該復号対象ブロックに隣接する隣接ブロックとの境界に対するフィルタ処理を行うデブロッキングフィルタと、前記逆量子化処理で用いた量子化パラメータと前記逆転換処理で用いた転換テーブルとに基づいて、前記デブロッキングフィルタのフィルタ強度を制御するフィルタ制御部と、を備え、前記転換テーブルは、1つ又は複数のスライスに対して設定されるテーブルであって、転換対象の画素値が取りうる最小値から最大値までの範囲を規定の数に分割した各バンドに対して割り当てる転換後の画素値の数を示す値からなるテーブルであることを要旨とする。
第3の態様に係るプログラムは、コンピュータを第1の態様に係る符号化装置として機能させることを要旨とする。
第4の態様に係るプログラムは、コンピュータを第2の態様に係る復号装置として機能させることを要旨とする。
本発明によれば、デブロッキングフィルタを適切に制御することで画質や符号化効率を向上させる符号化装置、復号装置、及びプログラムを提供できる。
実施形態に係る符号化装置の構成を示す図である。 実施形態に係る転換処理における入力画素値と出力画素値との関係を表すグラフである。 実施形態に係る符号化装置の転換部の構成を示す図である。 実施形態に係る量子化行列の一例を示す図である。 実施形態に係る符号化装置の逆転換部の構成を示す図である。 実施形態に係るデブロッキングフィルタの動作例を示す図である。 実施形態に係る符号化装置のフィルタ制御部の構成を示す図である。 実施形態に係る復号装置の構成を示す図である。 実施形態に係る復号装置の逆転換部の構成を示す図である。 実施形態に係る復号装置のフィルタ制御部の構成を示す図である。 実施形態に係るフィルタ制御部の動作フロー例を示す図である。
図面を参照して、実施形態に係る符号化装置及び復号装置について説明する。実施形態に係る符号化装置及び復号装置は、MPEGに代表される動画像の符号化及び復号をそれぞれ行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
<符号化装置の構成>
まず、本実施形態に係る符号化装置の構成について説明する。図1は、本実施形態に係る符号化装置1の構成を示す図である。符号化装置1は、スライス単位の画像を分割したブロック単位で符号化を行う装置である。
図1に示すように、符号化装置1は、ブロック分割部100と、転換部110と、減算部120と、変換・量子化部130と、エントロピー符号化部140と、逆量子化・逆変換部150と、合成部160と、逆転換部170と、デブロッキングフィルタ180と、フィルタ制御部181と、メモリ185と、予測部190とを有する。
ブロック分割部100は、動画像を構成するフレーム(或いはピクチャ)単位の入力画像を複数の画像ブロックに分割し、分割された画像ブロックを転換部110に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックの形状は正方形に限らず矩形(非正方形)であってもよい。画像ブロックは、符号化装置1が符号化を行う単位(符号化対象ブロック)であり、且つ復号装置が復号を行う単位(復号対象ブロック)である。このような画像ブロックはCU(Coding Unit)と呼ばれることがある。
ブロック分割部100は、輝度信号と色差信号とに対してブロック分割を行う。以下において、ブロック分割の形状が輝度信号と色差信号とで同じである場合について主として説明するが、輝度信号と色差信号とで分割を独立に制御可能であってもよい。輝度ブロック及び色差ブロックを特に区別しないときは単に符号化対象ブロックと呼ぶ。
転換部110は、ブロック分割部100から出力される符号化対象ブロック内の各画素値を転換テーブルに基づいて転換処理をすることで転換された新たな符号化対象ブロックを生成し、転換後の新たな符号化対象ブロックを減算部120に出力する。
図2は、本実施形態に係る転換処理における入力画素値と出力画素値との関係を表すグラフである。図2において、横軸は入力信号の値であり、縦軸は出力信号の値である。
図2に示すように、転換テーブルは、1つ又は複数のスライスに対して設定されるテーブルであって、転換処理前の入力信号と転換処理後の出力信号との関係を表すための係数テーブルである。具体的には、転換テーブルには、転換前の入力信号(転換対象の画素値)が取りうる最小値から最大値までを予め規定する数(N)に分割した各バンドに対して、割り当てる変換後の出力信号の画素値の数を示す値が格納されている。
例えば、10bitの画像信号の転換処理においてバンドの数Nを16とした場合を例に転換テーブルについて説明する。転換前の入力信号が取りうる最小値0から最大値1023までを、等分割した各バンドに対応する入力信号として割り当てる。例えば1番目のバンドは入力画素値0乃至63に対応する。また、2番目のバンドは入力画素値の64乃至127に対応する。同様にして16番目のバンドまで入力信号が割り当たてられている。
なお、各バンドは転換テーブルの各係数の位置に対応する。転換テーブルに格納される係数は各バンドに割り当てられている出力画素値の数を意味する。例えば転換テーブルlmcsCWがlmcsCW={39,40,55,70,80,90,97,97,104,83,57,55,49,44,34,30}である場合、1番目のバンドに対応する出力画素値は0乃至38であり、2番目のバンドに対応する出力画素値は39乃至78である。3番目から16番目のバンドについても同様に割り当てられる。
転換テーブル内のあるバンドに対応する値が大きい場合、当該バンドに割り当てられる出力画素値の数が多くなり、逆に小さい場合には、当該バンドに割り当てられる出力画素値の数が少なくなる。このため、転換テーブルによる転換処理が行われた転換後の信号領域に対して量子化処理を行い、再び逆転換により元の信号領域に戻す場合には、転換処理に用いる転換テーブルの値が異なると、同一の量子化処理を行ったとしても量子化誤差の量が異なる。
具体的には、転換テーブルの値が32である場合には、あるバンドの入力画素値64個分の画素値が出力画素値32個分の画素値で表現されるよう転換されることを意味する。符号化装置1で当該出力信号に対する量子化処理が適用され、量子化誤差が生じる場合、復号装置2(図8参照)では、生じた量子化誤差を含めて前記転換処理に対応する逆転換処理が適用される。この際、当該バンドにおける転換テーブルの値が32であり、逆転換処理では、逆転換処理に対する入力画素値32個分が出力画素値64個分の画素値で表現されるよう逆転換される。即ち、復号装置2では、当該バンドに該当する信号に生じた量子化誤差が2倍になって出力されることを意味する。
即ち、画像に対して同一の量子化パラメータを適用する場合にも、転換テーブルの値が小さい領域については量子化誤差が大きくなり、逆に転換テーブルの値が大きい領域については量子化誤差が小さくなる。
転換テーブルは、1つ又は複数のスライスの原画像の輝度信号の値の出現頻度に応じて符号化装置で設定してもよいし、予めシステムで規定した複数の転換テーブルの中から符号化装置で選択してもよいし、予めシステムで規定した転換テーブルを用いてもよい。なお、転換テーブルは、転換後の出力信号が取りうる最小値から最大値までを予め規定する数に分割した各バンドに対して、割り当てる変換前の入力信号の画素値の数を示す値が格納されていてもよいし、転換テーブル内の値を量子化して保持してもよく、転換前後の入力信号と出力信号との関係を示していれば上記の例には限らない。
また、符号化装置1で輝度信号の値の出現頻度に応じて転換テーブルを設定した場合や複数の転換テーブルの中から選択した場合には、なんらかの手段で復号装置2に転換テーブルの情報を伝送する。例えば、テーブルの値の情報をエントロピー符号化し、ストリーム出力してもよい。また、映像のフォーマット情報(例えば映像信号における光信号と電気信号との関係を表すパラメータなど)を基に符号化装置1と復号装置2とで予め用意された転換テーブルを切り替えて用いてもよい。
図3は、本実施形態に係る転換部110の構成を示す図である。図3に示すように、転換部110は、パラメータ導出部111と、マッピング部112と、スケーリング部113とを有する。
パラメータ導出部111は、ブロック分割部100から出力される符号化対象ブロックの輝度信号に対して適用するマッピング処理に用いるルックアップテーブルの構成要素であるマッピングスケールテーブル及びマッピングオフセットテーブルと、逆マッピングスケールテーブルとを転換テーブルに基づいて算出し、マッピングスケールテーブル及びマッピングオフセットテーブルをマッピング部112に出力し、マッピングオフセットテーブル及び逆マッピングスケールテーブルを逆転換部170に出力する。
さらに、パラメータ導出部111は、算出した逆マッピングスケールテーブルを用いて、スケーリング部113における符号化対象ブロックの色差信号に対して適用するスケーリング処理に用いるスケーリング係数テーブルを算出し、算出したスケーリング係数テーブルをスケーリング部113に出力する。
パラメータ導出部111の動作について詳細を説明する。分割数Nの転換テーブルをlmcsCWとするとき、パラメータ導出部111は、マッピングオフセットテーブルLmcsPivot、マッピングスケールテーブルScaleCoeff、及び逆マッピングスケールテーブルInvScaleCoeffを次の式(1)により算出する。
LmcsPivot[0] = 0
for (i=0; i<=N-1; i++){
LmcsPivot[i+1] = LmcsPivot[i]+lmcsCW[i]
ScaleCoeff[i] = (lmcsCW[i]*(1<<11)+(1<<(Log2(64)-1)))>>(Log2(64))
if (lmcsCW[i] == 0)
InvScaleCoeff[i] = 0
else
InvScaleCoeff[i]=64*(1<<11)/lmcsCW[i]
}
・・・(1)
但し、「x<<n」はxをn桁左シフトする左シフト演算子であり、「x>>n」はxをn桁右シフトする右シフト演算子であり、「Log2(x)」は2を底としたxの対数を求める演算子である。
さらに、パラメータ導出部111は、スケーリング係数テーブルChromaScaleCoeffを次の式(2)により算出する。
for (i=0;i<=15;i++){
if (lmcwCW[i]==0)
ChromaScaleCoeff[i]=(1<<11)
else
ChromaScaleCoeff[i]=InvScaleCoeff[i]
}
・・・(2)
マッピング部112は、ブロック分割部100から出力される符号化対象ブロックの輝度信号に対して、パラメータ導出部111から出力されたマッピングスケールテーブル及びマッピングオフセットテーブルを用いてマッピング処理を行い、生成されたマッピング処理後の符号化対象ブロックの輝度信号を減算部120に出力する。
具体的には、符号化対象ブロック内の輝度信号をSamplesY[i][j]とするとき、マッピング部112は、マッピングスケールテーブルScaleCoeff及びマッピングオフセットテーブルLmcsPivotを用いて、マッピング処理後の符号化対象ブロック内の輝度信号MapSamples[i][j]を次の式(3)により算出する。
idxY=SamplesY[i][j]>>Log2(64)
MapSamples[i][j]=LmcsPivot[idxY]+(ScaleCoeff[idxY]*(SamplesY[i][j]-idxY*64)+(1<<10))>>11
・・・(3)
但し、i=0…Wy−1,j=0…Hy−1は符号化対象ブロック内の輝度信号の座標であり、Wy及びHyは符号化対象ブロックの輝度信号の幅及び高さをそれぞれ表す。
スケーリング部113は、ブロック分割部100から出力される符号化対象ブロックの色差信号に対して、パラメータ導出部111から出力されたスケーリング係数テーブルを用いてスケーリング処理を行い、生成されたスケーリング処理後の符号化対象ブロックの色差信号を減算部120に出力する。
具体的には、符号化対象ブロック内の色差信号をSamplesC[i][j]、符号化対象ブロックに隣接する復号済み輝度信号の平均値をYiとするとき、スケーリング部113は、スケーリング係数テーブルChromaScaleCoeffを用いて、スケーリング処理後の符号化対象ブロック内の色差信号ScaleSamples[i][j]を次の式(4)により算出する。
idxYInv = Yi>>Log2(64)
ScaleSamples[i][j]=sign(SampleC[i][j])*((abs(SamplesC[i][j])<<11)+(ChromaScaleCoeff[idxYInv]>>1))/ChromaScaleCoeff[idxYInv]
・・・(4)
但し、i=0…Wc−1,j=0…Hc−1は符号化対象ブロック内の色差信号の座標であり、Wc及びHcは符号化対象ブロックの色差信号の幅及び高さをそれぞれ表す。また、「sign(x)」は変数xの符号に応じて−1,0,1のいずれかの値を返す符号関数であり、「abs(x)」は変数xの絶対値を返す演算子である。
このようにして、転換部110は、マッピング部112が算出したマッピング後の符号化対象ブロックの輝度信号と、スケーリング部113の算出したスケーリング後の符号化対象ブロックの色差信号とにより構成される転換後の新たな符号化対象ブロックを減算部120に出力する。
減算部120は、転換部110から出力される転換後の新たな符号化対象ブロックと、この新たな符号化対象ブロックを予測部190が予測した予測ブロックとの差分(誤差)を表す予測残差を算出する。減算部120は、ブロックの各画素値から予測ブロックの各画素値を減算することにより予測残差を算出し、算出した予測残差を変換・量子化部130に出力する。
変換・量子化部130は、ブロック単位で変換処理及び量子化処理を行う。変換・量子化部130は、変換部131と、量子化部132とを有する。
変換部131は、減算部120から出力される予測残差に対して変換処理を行って周波数成分ごとの変換係数を算出し、算出した変換係数を量子化部132に出力する。変換処理(変換)とは、画素領域の信号を周波数領域の信号に変換する処理をいい、例えば、離散コサイン変換(DCT)や離散サイン変換(DST)、カルーネンレーブ変換(KLT)、及びそれらを整数化した変換等をいう。また、変換処理には画素領域の信号を周波数領域の信号に変換することなくスケーリング等により調整する変換スキップを含んでもよい。
量子化部132は、変換部131から出力される変換係数を量子化パラメータ及び量子化行列を用いて量子化し、量子化した変換係数をエントロピー符号化部140及び逆量子化・逆変換部150に出力する。また、量子化部132は、量子化処理に関する情報(具体的には、量子化処理で用いた量子化パラメータ及び量子化行列の情報)を、エントロピー符号化部140、逆量子化部151、及びフィルタ制御部181に出力する。
ここで、量子化パラメータは、1つのブロックに対して1つの値が設定されるパラメータである。具体的には、量子化パラメータは、ブロック内の各変換係数に対して共通して適用されるパラメータであって、量子化の粗さ(ステップサイズ)を定めるパラメータである。
量子化行列は、1つのブロック内の成分ごとに設定される値からなる行列である。具体的には、量子化行列は、ブロックサイズに応じてi×j要素の成分ごとに設定される値(重み付け係数)からなる行列であって、変換係数の低周波から高周波にわたる成分ごとに量子化の粗さを調整するために用いられる。
図4は、量子化行列の一例を示す図である。図4において、i×j=4×4である一例を示している。図4に示す例では、量子化行列は、水平方向、垂直方向の次数がそれぞれ大きくなるほど、大きな値を有する。このような量子化行列では、より右下に配列された要素に係る変換係数、つまり高域の変換係数ほど低い精度で量子化される。そのため、低域ほど濃淡や色相の空間的変化に鋭敏であるという人間の視覚特性を活用し、主観的な画質を劣化させずに量子化によって高域での情報量を低減することが許容される。
なお、量子化行列は、符号化対象ブロックの予測モード(イントラ予測、インター予測の別)、ブロックサイズ(例えば、2x2、4x4、8x8、16x16、32x32、64x64)、及び1つの輝度・2つの色差信号(RGB信号の場合は、R信号、B信号、G信号)のそれぞれの組み合わせについて設定可能である。
エントロピー符号化部140は、量子化部132から出力される変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化ストリーム(ビットストリーム)を生成し、符号化ストリームを符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context−based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。
また、エントロピー符号化部140は、ブロック分割部100から各符号化対象ブロックのサイズ・形状等の情報を取得し、量子化部132から量子化処理に関する情報を取得し、予測部190から予測に関する情報(例えば、予測モードや動きベクトルの情報)を取得し、これらの情報の符号化も行う。
逆量子化・逆変換部150は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部150は、逆量子化部151と、逆変換部152とを有する。
逆量子化部151は、量子化部132が行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部151は、量子化部132から出力される変換係数を、量子化パラメータ及び量子化行列を用いて逆量子化することにより変換係数を復元し、復元した変換係数を逆変換部152に出力する。
逆変換部152は、変換部131が行う変換処理に対応する逆変換処理を行う。例えば、変換部131がDCTを行った場合には、逆変換部152は逆DCTを行う。逆変換部152は、逆量子化部151から出力される変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部160に出力する。
合成部160は、逆変換部152から出力される復元予測残差を、予測部190から出力される予測ブロックと画素単位で合成する。合成部160は、復元予測残差の各画素値と予測ブロックの各画素値を加算して合成ブロックを算出し、算出した合成ブロックを逆転換部170に出力する。
逆転換部170は、転換部110の転換処理に対応する逆転換処理を行う。具体的には、逆転換部170は、合成部160から出力される合成ブロック内の各画素値に対して、転換テーブルに基づいて、転換部110における転換処理に対応する逆転換処理をすることで符号化対象ブロックを復元(復号)し、復元したブロック単位の復号画像(復元ブロック)をデブロッキングフィルタ180に出力する。
図5は、本実施形態に係る逆転換部170の構成を示す図である。図5に示すように、逆転換部170は、逆マッピング部171と、逆スケーリング部172とを有する。
逆マッピング部171は、合成部160から出力される合成ブロックの輝度信号に対して、パラメータ導出部111から出力されたマッピングスケールテーブル及びマッピングオフセットテーブルを用いて逆マッピング処理を行い、符号化対象ブロックの輝度信号を復元し、復元した符号化対象ブロックの輝度信号をデブロッキングフィルタ180に出力する。
具体的には、合成ブロック内の輝度信号をMapSampleY’[i][j]とするとき、逆マッピング部171は、逆マッピングスケールテーブルInvScaleCoeff及びマッピングオフセットテーブルLmcsPivotを用いて、逆マッピング処理後の復元した符号化対象ブロック内の輝度信号RecSmaplesY[i][j]を次の式(5)により算出する。
for (idxYInv = 0; idxYInv<=15;idxYInv++){
if (MapSampleY’[i][j] < LmcsPivot[idxYInv+1])
break
}
idxYInv = Min(idxYInv, 15)
RecSamplesY[i][j]=idxYInv*64+(InvScaleCoeff[idxYInv]*(MapSampleY’[i][j]-LmcsPivot[idxYInv])+(1<<10))>>11
・・・(5)
但し、i=0…Wy−1,j=0…Hy−1は符号化対象ブロック内の輝度信号の座標であり、Wy及びHyは符号化対象ブロックの輝度信号の幅及び高さである。また、「Min(x,y)」はx及びyのうち小さい方を返す演算子である。
逆スケーリング部172は、合成部160から出力される合成ブロックの色差信号に対して、パラメータ導出部111から出力されたスケーリング係数テーブルを用いて逆スケーリング処理を行い、符号化対象ブロックの色差信号を復元し、復元した符号化対象ブロックの色差信号をデブロッキングフィルタ180に出力する。
具体的には、合成ブロック内の色差信号をScaleSamplesC[i][j]、合成ブロックに隣接する復号済み輝度信号の平均値をYiとするとき、逆スケーリング部172は、スケーリング係数テーブルChromaScaleCoeffを用いて、逆スケーリング処理後の復元された符号化対象ブロックの色差信号RecSampleC[i][j]を次の式(6)により算出する。
idxYInv = Yi>>Log2(64)
RecSamplesC[i][j]=sign(ScaleSamplesC[i][j])*(abs(ScaleSamplesC[i][j])*ChromaScaleCoeff[idxYInv]+(1<<10))>>11
・・・(6)
但し、i=0…Wc−1,j=0…Hc−1は符号化対象ブロック内の色差信号の座標であり、Wc及びHcは符号化対象ブロックの色差信号の幅及び高さをそれぞれ表す。
このようにして、逆転換部170は、逆マッピング部171が復元した符号化対象ブロックの輝度信号と、逆スケーリング部172が復元した符号化対象ブロックの色差信号とにより構成される復元後の符号化対象ブロックをデブロッキングフィルタ180に出力する。
デブロッキングフィルタ180は、復元ブロックと当該復元ブロックに隣接する隣接ブロックとからなる2つのブロックのブロック境界に対するフィルタ処理を行い、フィルタ処理後の復元ブロックをメモリ185に出力する。フィルタ処理は、ブロック単位の処理に起因する信号劣化を軽減するための処理であって、隣り合う2つのブロックのブロック境界における信号のギャップを平滑化するフィルタ処理である。デブロッキングフィルタ180は、一般的に信号の変動を緩やかにするローパスフィルタとして構成されている。
図6は、本実施形態に係るデブロッキングフィルタ180の動作例を示す図である。図6に示す例では、デブロッキングフィルタ180は、8×8画素のブロックごとのブロック境界を対象としてフィルタ処理を行う。また、デブロッキングフィルタ180は、4行又は4列を単位としてフィルタ処理を行う。図6に示すブロックP及びQでは、デブロッキングフィルタ180のフィルタ処理の1単位であり、ブロックサイズが4×4画素である一例を示している。ブロックP及びQのそれぞれは、サブブロックと呼ばれてもよい。デブロッキングフィルタ180の動作の詳細については後述する。
フィルタ制御部181は、デブロッキングフィルタ180を制御する。具体的には、フィルタ制御部181は、対象ブロック対のブロック境界に対するフィルタ処理を行うか否かを示す境界強度(Bs:Boundary strength)、及びデブロッキングフィルタ180のフィルタ強度を制御する。境界強度Bsとは、フィルタ処理を適用するか否か、及びそのフィルタ処理の種類を決定するためのパラメータをいう。なお、フィルタ処理を行うか否かの制御は、境界強度Bsを1以上とするか又はゼロとするかの制御とみなすことができる。
フィルタ制御部181は、対象ブロック対の境界近傍領域における画素値の変動や、予測モード、量子化パラメータ、動き補償予測(インター予測)に用いる動きベクトルの値に基づいて、デブロッキングフィルタ180を制御する。
詳細については後述するが、本実施形態に係るフィルタ制御部181は、量子化部132における量子化処理及び逆量子化部151における逆変換処理に用いた量子化パラメータと、転換部110における転換処理及び逆転換部170における逆転換処理に用いた転換テーブルとに基づいて、デブロッキングフィルタ180のフィルタ強度を制御する。
このように、ブロック単位で設定される一意のパラメータである量子化パラメータだけではなく、転換テーブルも考慮してデブロッキングフィルタのフィルタ強度を制御することにより、転換処理及び逆転換処理に起因するブロックノイズの発生に対してデブロッキングフィルタ180のフィルタ強度を制御可能になり、デブロッキングフィルタ180によるブロック歪みの低減効果を向上させることができる。
メモリ185は、デブロッキングフィルタ180から出力される復元ブロックをフレーム単位で復号画像として蓄積する。メモリ185は、記憶している復号画像を予測部190(インター予測部191)に出力する。
予測部190は、ブロック単位で予測処理を行うことにより、符号化対象ブロックに対応する予測ブロックを生成し、生成した予測ブロックを減算部120及び合成部160に出力する。予測部190は、インター予測部191と、予測転換部192と、イントラ予測部193と、切替部194とを有する。
インター予測部191は、メモリ185に記憶された復号画像を参照画像として用いて、ブロックマッチング等の手法により動きベクトルを算出し、符号化対象ブロックを予測してインター予測ブロックを生成する。インター予測部191は、複数の参照画像を用いるインター予測(典型的には、双予測)や、1つの参照画像を用いるインター予測(片方向予測)の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。インター予測部191は、インター予測に関する情報(動きベクトル等)をエントロピー符号化部140及びフィルタ制御部181に出力する。
インター予測部191は、輝度信号については、インター予測ブロックを予測転換部192に出力する。一方、色差信号については、インター予測部191は、予測転換部192をスキップしてインター予測ブロックを切替部194に出力する。
予測転換部192は、転換部110と同様の転換処理(具体的には、マッピング部112のマッピング処理)を行うことにより、新たなインター予測ブロックを生成する。予測転換部192は、インター予測ブロック内の輝度信号に対して転換テーブルに基づいたマッピング処理を行って新たなインター予測ブロックを生成し、新たなインター予測ブロックを切替部194に出力する。
イントラ予測部193は、複数のイントラ予測モードの中から、符号化対象ブロックに適用する最適なイントラ予測モードを選択し、選択したイントラ予測モードを用いて符号化対象ブロックを予測する。具体的には、イントラ予測部193は、合成部160から出力される合成ブロックのうち、符号化対象ブロックに隣接する合成ブロックの画素値を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部194に出力する。また、イントラ予測部193は、選択したイントラ予測モードに関する情報をエントロピー符号化部140及びフィルタ制御部181に出力する。
切替部194は、予測転換部192(又はインター予測部191)から出力されるインター予測ブロックとイントラ予測部193から出力されるイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを減算部120及び合成部160に出力する。
このように、本実施形態に係る符号化装置1は、符号化対象ブロックに対する転換処理を行い新たな符号化対象ブロックを生成する転換部110と前記新たな符号化対象ブロックを予測により生成された予測ブロックとの差を表す予測残差に対して変換処理及び量子化処理を行う変換・量子化部130と、変換・量子化部で生成された変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部150と、復元した予測残差と予測ブロックとを合成して合成ブロックを生成する合成部160と、合成ブロックに対する逆転換処理を行うことで符号化対象ブロックを復元する逆転換部と、復元した符号化対象ブロックと当該符号化対象ブロックに隣接する隣接ブロックとの境界に対するフィルタ処理を行うデブロッキングフィルタ180と、量子化処理及び逆量子化処理で用いた量子化パラメータと転換処理及び逆転換処理で用いた転換テーブルとに基づいて、デブロッキングフィルタ180のフィルタ強度を制御するフィルタ制御部181とを有する。
次に、本実施形態に係るフィルタ制御部181の構成について説明する。本実施形態に係るフィルタ制御部181は、符号化対象ブロックに対する量子化処理及び逆量子化処理で用いた量子化パラメータと、隣接ブロックに対する量子化処理及び逆量子化処理で用いた量子化パラメータと、符号化対象ブロック及び隣接ブロックに対する転換処理及び逆転換処理で用いた転換テーブルと、符号化対象ブロックの画素値及び隣接ブロックの画素値とに基づいて、デブロッキングフィルタ180のフィルタ強度を制御する。以下において、符号化対象ブロック又はそのサブブロックがブロックPであり、隣接ブロック又はそのサブブロックがブロックQであるものとする。
図7は、本実施形態に係るフィルタ制御部181の構成を示す図である。図7に示すように、本実施形態に係るフィルタ制御部181は、境界強度決定部181aと、代表値導出部181bと、オフセット算出部181cと、閾値導出部181dと、フィルタ強度制御部181eとを有する。
境界強度決定部181aは、例えば下記の表1に基づいて境界強度Bsを決定し、決定した境界強度Bsの値を閾値導出部181d及びフィルタ強度制御部181eに出力する。本実施形態では、境界強度Bsの値は0,1,2のいずれかとする。なお、輝度信号と色差信号のブロックに対する境界強度をそれぞれ算出してもよいし、輝度信号と色差信号のブロックの境界強度の組み合わせを一つの境界強度として判定してもよい。
Figure 2021052249
表1に示すように、境界強度決定部181aは、ブロックP及びQの少なくとも一方にイントラ予測が適用されている場合、Bsの値を2とする。
一方、境界強度決定部181aは、ブロックP及びQの両方にインター予測が適用されており、且つ少なくとも以下の(a)乃至(d)の中の1つの条件を満たす場合には、Bs値を1とし、その他の場合には、Bs値を0とする。
(a)ブロックP及びQの少なくとも一方が有意な変換係数(即ち、非ゼロ変換係数)を含むこと。
(b)ブロックP及びQの動きベクトルの数又は参照画像が異なること。
(c)ブロックP及びQの動きベクトルの差の絶対値が閾値(例えば1画素)以上であること。
境界強度決定部181aは、決定した境界強度Bsの値が0の場合、ブロックP及びQの境界に対するフィルタ処理を行わないようデブロッキングフィルタ180を制御する。
代表値導出部181bは、ブロックP及びブロックQのぞれぞれの輝度信号に基づいて輝度信号の代表値ypqを導出し、導出した代表値ypqをオフセット算出部181cに出力する。
代表値導出部181bが導出する代表値ypqとしては、次の1)もしくは2)のいずれかとする。
1)代表値ypqは、ブロックP及びブロックQのそれぞれの輝度信号の平均値である。
具体的には、代表導出部181bは、次の式(7)に示すようにブロックP及びブロックQの平均値を代表値ypqとする。
ypq=(ΣYp[i][j]+ΣYq[s][t])/(Wp*Hp+Wq*Hq)
・・・(7)
但し、Yp及びYqはブロックP及びブロックQに含まれる輝度信号をそれぞれ表し、i=0…Hp−1,j=0…Wp−1はブロックP内の座標であり、s=0…Hq−1,t=0…Wq−1はブロックQ内の座標であり、Wp及びWqはブロックP及びブロックQの幅をそれぞれ表し、Hp及びHqはブロックP及びブロックQの高さをそれぞれ表す。
2)代表値ypqは、ブロックP及びブロックQのそれぞれの輝度信号におけるブロック境界付近の平均値である。
具体的には、代表導出部181bは、ブロックP及びブロックQのブロック境界の平均値を代表値ypqとする。例えばブロックP及びブロックQが水平に隣り合う場合(即ち、ブロックPとブロックQとの間に位置する垂直方向のブロック境界に対するデブロッキング処理を行う場合)には、次の式(8)に示すように、ブロックP及びブロックQの前記ブロック境界に位置する輝度画素値の平均値を代表値ypqとする。
ypq=(Yp[0][Wp-1]+Yp[Hp-1][Wp-1]+Yq[0][0]+Yq[Hq-1][0])>>2
・・・(8)
同様に、ブロックP及びブロックQが垂直に隣り合う場合(即ちブロックPとブロックQとの間に位置する水平方向のブロック境界に対するデブロッキング処理を行う場合)には、次の式(9)に示すようにブロックP及びブロックQの前記ブロック境界に位置する輝度画素値の平均値を代表値ypqとする。
pq=(Yp[Hp-1][0]+Yp[Hp-1][Wp-1]+Yq[0][0]+Yq[0][Wq-1])>>2
・・・(9)
オフセット算出部181cは、代表値導出部181bが導出した代表値ypqと、ブロックP及びブロックQに対する転換処理及び逆転換処理で用いた転換テーブルとに基づいて、オフセット値を算出する。
具体的には、オフセット算出部181cは、代表値ypqを用いて、ブロックPとブロックQとの境界に適用するデブロッキングフィルタの制御のためのオフセット値QpOffsetを算出し、算出したオフセット値QpOffsetを閾値導出部181dに出力する。例えば、オフセット算出部181cは、次の式(10)によりオフセット値QpOffsetを算出する。
QpOffset=log2(lmcsCW[ypq>>6]/64)×6
・・・(10)
なお、オフセット算出部181cでは、ハードウェアでの実装などにおいては、除算やlog2関数の処理の代わりに、ルックアップテーブルを用いて式(4)及び式(5)を実装してもよい。
閾値導出部181dは、ブロックPに対する量子化処理及び逆量子化処理で用いた量子化パラメータQpと、ブロックQに対する量子化処理及び逆量子化処理で用いた量子化パラメータQpと、オフセット算出部181cが算出したオフセット値QpOffsetとに基づいて、デブロッキングフィルタ180のフィルタ強度を制御するための閾値β及びtを導出し、導出した閾値β及びtをフィルタ強度制御部181eに出力する。
第1に、閾値導出部181dは、例えば次の式(11)により変数qPを算出する。
qP=((QpQ+QpP +1)>>1+QpOffset)
・・・(11)
式(11)は、基本的には、ブロックPの量子化パラメータQpと、ブロックQの量子化パラメータQpとの平均を求める計算式であるが、この計算式において転換テーブルに基づくオフセット値QpOffsetが導入されている。なお、式(11)の計算式は一例に過ぎないものであって、オフセット値QpOffsetが反映されたものであれば他の計算式を用いてもよい。
第2に、閾値導出部181dは、例えば次の式(12)により、閾値βを導出するためのQを算出する。
Q=Clip3(0,63,qP+(slice_beta_offset_div2<<1))
・・・(12)
但し、「Clip3(x,y,z)」は、zがxより小さければxを返し、zがyより大きければyを返し、それ以外の場合はzを返すクリップ演算子である。「slice_beta_offset_div2」は、復号装置2にシグナリングするパラメータの1つである。
また、閾値導出部181dは、例えば次の式(13)により、閾値tを導出するためのQを算出する。
Q=Clip3(0,65,qP+2*(bS-1)+(slice_tc_offset_div2<<1))
・・・(13)
但し、「bS」は境界強度決定部181aが出力するBs値である。「slice_tc_offset_div2」は、復号装置2にシグナリングするパラメータの1つである。
第3に、閾値導出部181dは、次の表2により、それぞれ算出したQから閾値β及びtを導出する。
Figure 2021052249
フィルタ強度制御部181eは、境界強度決定部181aが出力する境界強度Bsの値と、閾値導出部181dが出力する閾値β及びtとに基づいて、デブロッキングフィルタ180のフィルタ強度を制御する。
上述の代表値導出部181bは、ブロックP及びブロックQの前記ブロック境界に位置する輝度画素値の平均値を代表値ypqとしたが、それぞれのブロックの一部もしくは全体の平均によりブロックPの代表値y及びブロックQの代表値yをそれぞれ算出し、前記代表値を用いてブロックP及びブロックQに対するオフセット値を導出してもよい。
具体的には代表値導出部181bが導出する代表値y及びyとしては、次の1)もしくは2)のいずれかとする。
1)ブロックP及びブロックQのそれぞれの平均値を代表値y及びyとする。
yp=(ΣYp[i][j])/(Wp*Hp)
yq=(ΣYq[s][t])/(Wq*Hq)
・・・(14)
2)ブロックP及びブロックQのブロック境界に位置する各ブロックの輝度画素値の平均値を代表値y及びyとする。
yp=(Yp[0][Wp-1]+Yp[Hp-1][Wp-1]) >>1
yq=(Yq[0][0]+Yq[Hq-1][0]) >>1
・・・(15)
オフセット算出部181cは前記y及びyを用いてブロックP及びブロックQそれぞれに適用するオフセット値QppOffset及びQpqOffsetを下記の式により算出する。
QppOffset=log2(lmcsCW[yp>>6]/64)×6
QpqOffset=log2(lmcsCW[yq>>6]/64)×6
・・・(16)
閾値導出部181dは、ブロックPに対する量子化処理及び逆量子化処理で用いた量子化パラメータQpと、ブロックQに対する量子化処理及び逆量子化処理で用いた量子化パラメータQpと、オフセット算出部181cが算出したオフセット値QppOffset及びQpqOffsetとに基づいて、デブロッキングフィルタ180のフィルタ強度を制御するための閾値β及びtを導出し、導出した閾値β及びtをフィルタ強度制御部181eに出力する。
閾値導出部181dは、例えば次の式(17)により変数qPを算出する。
qP=(QpQ+QpP +QppOffset +QpqOffset +1)>>1
・・・(17)
上述のように算出した変数qPを用いて式(12)及び式(13)を用いて閾値βを導出するためのQを算出し、算出したQ及び表2により閾値β及びtを導出する。
フィルタ強度制御部181eは、境界強度Bsの値が1又は2の場合には、次の式(18)を満たす場合にのみ、フィルタ処理を行うようデブロッキングフィルタ180を制御してもよい(図6参照)。
Figure 2021052249
また、フィルタ強度制御部181eは、フィルタ処理を行う場合、以下の条件式(19)乃至(24)を全て満たす場合に強いフィルタを適用し、それ以外の場合に弱いフィルタを適用してもよい(図6参照)。
Figure 2021052249
このように、本実施形態に係るフィルタ制御部181は、ブロック単位で設定される一意のパラメータである量子化パラメータだけではなく、転換テーブルも考慮してデブロッキングフィルタ180のフィルタ強度を制御する。これにより、転換処理及び逆転換処理に起因するブロックノイズの発生に対してデブロッキングフィルタ180のフィルタ強度を制御可能になり、デブロッキングフィルタ180によるブロック歪みの低減効果を向上させることができる。
例えば、フィルタ制御部181は、転換テーブル中の複数のバンドの中から、符号化対象ブロック及び隣接ブロックに対応するバンドを特定し、特定したバンドに対して割り当てられた転換後の画素値の数を示す値が小さいほど、デブロッキングフィルタ180のフィルタ強度が強くなるようにデブロッキングフィルタ180を制御する。
これにより、画像に対して同一の量子化パラメータを適用する場合にも、転換テーブルの値が小さい領域については量子化誤差が大きくなり、逆に転換テーブルの値が大きい領域については量子化誤差が小さくなるという性質に着目し、転換テーブルの値が小さい領域におけるブロック境界に対して強いフィルタを適用しやすくなる。
<復号装置の構成>
次に、本実施形態に係る復号装置の構成について、上述した符号化装置の構成との相違点を主として説明する。
図8は、本実施形態に係る復号装置2の構成を示す図である。復号装置2は、符号化ストリームから復号対象ブロックを復号する装置である。
図8に示すように、復号装置2は、エントロピー復号部200と、逆量子化・逆変換部210と、合成部220と、逆転換部230と、デブロッキングフィルタ240と、フィルタ制御部241と、メモリ250と、予測部260とを有する。
エントロピー復号部200は、符号化装置1により生成された符号化ストリームを復号し、各種のシグナリング情報を復号する。具体的には、エントロピー復号部200は、復号対象ブロックに適用された量子化処理に関する情報を取得し、取得した情報を逆量子化部211及びフィルタ制御部241に出力する。また、エントロピー復号部200は、復号対象ブロックに適用された予測に関する情報(例えば、予測種別情報、動きベクトル情報)を取得し、取得した情報を予測部260及びフィルタ制御部241に出力する。転換テーブルが符号化装置1から伝送される場合、エントロピー復号部200は、転換テーブルの情報を逆転換部230及びフィルタ制御部241に出力する。
また、エントロピー復号部200は、符号化ストリームを復号し、量子化された変換係数を取得し、取得した変換係数を逆量子化・逆変換部210(逆量子化部211)に出力する。
逆量子化・逆変換部210は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部210は、逆量子化部211と、逆変換部212とを有する。
逆量子化部211は、符号化装置1の量子化部132が行う量子化処理に対応する逆量子化処理を行う。逆量子化部211は、エントロピー復号部200から出力される量子化変換係数を、量子化パラメータ及び量子化行列を用いて逆量子化することにより、復号対象ブロックの変換係数を復元し、復元した変換係数を逆変換部212に出力する。
逆変換部212は、符号化装置1の変換部131が行う変換処理に対応する逆変換処理を行う。逆変換部212は、逆量子化部211から出力される変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差(復元予測残差)を合成部220に出力する。
合成部220は、逆変換部212から出力される予測残差と、予測部260から出力される予測ブロックとを画素単位で合成することにより合成ブロックを生成し、生成した合成ブロックを逆転換部230に出力する。
逆転換部230は、符号化装置1の逆転換部170と同様な動作を行う。具体的には、逆転換部230は、合成部220から出力される合成ブロックに対して転換テーブルに基づいて逆転換処理を施すことにより、復号対象ブロックを復元(復号)し、復元ブロックをデブロッキングフィルタ240に出力する。
図9は、本実施形態に係る逆転換部230の構成を示す図である。図9に示すように、逆転換部230は、逆マッピング部231と、逆スケーリング部232とを有する。
逆マッピング部231は、合成部220から出力される合成ブロックの輝度信号に対して、マッピングスケールテーブル及びマッピングオフセットテーブルを用いて逆マッピング処理を行い、復号対象ブロックの輝度信号を復元し、復元した復号対象ブロックの輝度信号をデブロッキングフィルタ180に出力する。例えば、逆マッピング部231は、上記の式(5)により、逆マッピング処理後の復元した復号対象ブロック内の輝度信号を算出する。
逆スケーリング部232は、合成部220から出力される合成ブロックの色差信号に対して、スケーリング係数テーブルを用いて逆スケーリング処理を行い、復号対象ブロックの色差信号を復元し、復元した復号対象ブロックの色差信号をデブロッキングフィルタ180に出力する。例えば、逆スケーリング部232は、式(6)により、逆スケーリング処理後の復元された復号対象ブロックの色差信号を算出する。
デブロッキングフィルタ240は、符号化装置1のデブロッキングフィルタ180と同様な動作を行う。デブロッキングフィルタ240は、逆転換部230から出力される復元ブロックと当該復元ブロックに隣接するブロックとからなるブロック対(ブロックP及びQ)の境界に対するフィルタ処理を行い、フィルタ処理後の復元ブロックをメモリ250に出力する。
フィルタ制御部241は、エントロピー復号部200から出力される情報に基づいて、符号化装置1のフィルタ制御部181と同様な動作を行う。フィルタ制御部241は、例えば、表1に示した方法で境界強度Bsを選択し、式(7)乃至式(28)のような方法によりデブロッキングフィルタ180のフィルタ強度を制御する。
メモリ250は、デブロッキングフィルタ240から出力される復元ブロックをフレーム単位で復号画像として記憶する。メモリ250は、フレーム単位の復号画像を復号装置2の外部に出力する。
予測部260は、ブロック単位で予測を行う。予測部260は、インター予測部261と、予測転換部262と、イントラ予測部264と、切替部265とを有する。
インター予測部261は、メモリ250に記憶された復号画像を参照画像として用いて、復号対象ブロックをインター予測により予測する。インター予測部261は、エントロピー復号部200から出力される動きベクトル情報を用いてインター予測を行うことによりインター予測ブロックを生成し、生成したインター予測ブロックを予測転換部262に出力する。
予測転換部262は符号化装置1の予測転換部192と同様な動作を行う。予測転換部262は、インター予測部261から出力されるインター予測ブロックに対して転換テーブルに基づいて転換処理を行うことにより新たなインター予測ブロックを生成し、生成した新たなインター予測ブロックを切替部265に出力する。
イントラ予測部264は、エントロピー復号部200から出力される情報に基づいて、合成部220から出力される合成ブロックのうち符号化対象ブロックに隣接する合成ブロックの画素値を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部265に出力する。
切替部265は、予測転換部262(又はインター予測部261)から出力されるインター予測ブロックとイントラ予測部264から出力されるイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを合成部220に出力する。
このように、本実施形態に係る復号装置2は、符号化ストリームを復号することで、復号対象ブロックに対応する変換係数を出力するエントロピー復号部200と、エントロピー復号部200が出力する変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部210と、復元した予測残差と復号対象ブロックを予測した予測ブロックとを合成して合成ブロックを生成する合成部220と、生成した合成ブロックに対して転換テーブルに基づいて逆転換処理を行うことにより復号対象ブロックを復元する逆転換部230と、復元した復号対象ブロックと当該復号対象ブロックに隣接する隣接ブロックとの境界に対するフィルタ処理を行うデブロッキングフィルタ240と、逆量子化処理で用いた量子化パラメータと逆転換処理で用いた転換テーブルとに基づいてデブロッキングフィルタ240のフィルタ強度を制御するフィルタ制御部241とを有する。
次に、本実施形態に係るフィルタ制御部241の構成について説明する。図10は、本実施形態に係るフィルタ制御部241の構成を示す図である。図10に示すように、本実施形態に係るフィルタ制御部241は、境界強度決定部241aと、代表値導出部241bと、オフセット算出部241cと、閾値導出部241dと、フィルタ強度制御部241eとを有する。
境界強度決定部241a、代表値導出部241b、オフセット算出部241c、閾値導出部241d、及びフィルタ強度制御部241eは、符号化装置1の境界強度決定部181a、代表値導出部181b、オフセット算出部181c、閾値導出部181d、及びフィルタ強度制御部181eとそれぞれ同様な動作を行う。
<フィルタ制御部の動作例>
次に、本実施形態に係るフィルタ制御部181及びフィルタ制御部241の動作例について説明する。フィルタ制御部181及びフィルタ制御部241は同じ動作を行うため、ここではフィルタ制御部241を例に挙げて説明する。図11は、本実施形態に係るフィルタ制御部241の動作フロー例を示す図である。
図11に示すように、ステップS1において、境界強度決定部241aは、表1に示した方法により境界強度Bsを決定し、決定した境界強度Bsの値を閾値導出部241d及びフィルタ強度制御部241eに出力する。決定された境界強度Bsの値が0である場合、ステップS2以降の処理を行わずに、ブロックP及びQの境界に対するフィルタ処理を行わない。
ステップS2において、代表値導出部241bは、ブロックP及びブロックQのそれぞれの輝度信号の代表値ypqを導出し、導出した代表値ypqをオフセット算出部241cに出力する。代表値ypqを導出する方法とては、上述した1)の方法(式(7))、又は上述した2)の方法(式(8)及び式(9))を用いる。
ステップS3において、オフセット算出部241cは、代表値導出部241bが導出した代表値ypqに基づいて、ブロックPとブロックQとの境界に対するデブロッキングフィルタ処理を制御するパラメータであるオフセット値を算出する。具体的には、オフセット算出部241cは、代表値ypqと、ブロックP及びブロックQに適用した逆転換処理に用いた転換テーブルとを用いて、上記の式(10)によりオフセット値QpOffsetを算出し、算出したオフセット値QpOffsetを閾値導出部241dに出力する。
ステップS4において、閾値導出部241dは、ブロックPに対する逆量子化処理で用いた量子化パラメータQpと、ブロックQに対する逆量子化処理で用いた量子化パラメータQpと、オフセット算出部241cが算出したオフセット値QpOffsetとに基づいて、上記の式(11)により変数qPを算出する。
ステップS5において、閾値導出部241dは、変数qPに基づいて、上記の式(12)及び式(13)により変数Qを算出し、算出した変数Qから表2により閾値β及びtを導出する。
ステップS6において、フィルタ強度制御部241eは、境界強度決定部241aが出力する境界強度Bsの値と、閾値導出部241dが出力する閾値β及びtとに基づいて、デブロッキングフィルタ240のフィルタ強度を制御する。
このように、本実施形態に係るフィルタ制御部241は、ブロック単位で設定される一意のパラメータである量子化パラメータだけではなく、逆転換処理に用いる転換テーブルも考慮してデブロッキングフィルタ240のフィルタ強度を制御する。これにより、転換処理及び逆転換処理に起因するブロックノイズの発生に対してデブロッキングフィルタ240のフィルタ強度を制御可能になり、デブロッキングフィルタ240によるブロック歪みの低減効果を向上させることができる。
例えば、フィルタ制御部241は、転換テーブル中の複数のバンドの中から、復号対象ブロック及び隣接ブロックに対応するバンドを特定し、特定したバンドに対して割り当てられた転換後の画素値の数を示す値が小さいほど、デブロッキングフィルタ180のフィルタ強度が強くなるようにデブロッキングフィルタ240を制御する。
これにより、画像に対して同一の量子化パラメータを適用する場合にも、転換テーブルの値が小さい領域については量子化誤差が大きくなり、逆に転換テーブルの値が大きい領域については量子化誤差が小さくなるという性質に着目し、転換テーブルの値が小さい領域におけるブロック境界に対して強いフィルタを適用しやすくなる。
<その他の実施形態>
上述した実施形態において、代表値導出部181b及び241bが、ブロックP及びブロックQのそれぞれの輝度信号に基づいて代表値ypqを導出する一例について説明した。しかしながら、代表値導出部181b及び241bは、ブロックPの輝度信号の代表値ypq(P)と、ブロックQの輝度信号の代表値ypq(Q)とを導出してもよい。
この場合、オフセット算出部181c及び241cは、例えば次の式(25)により、代表値ypq(P)を用いてブロックPのオフセット値QpOffsetを算出し、代表値ypq(Q)を用いてブロックQのオフセット値QpOffsetを算出する。
QpOffset=log2(lmcsCW[ypq(P)>>6]/64)×6
QpOffsetQ=log2(lmcsCW[ypq(Q)>>6]/64)×6
・・・(25)
そして、閾値導出部181d及び214dは、例えば次の式(26)により変数qPを算出する。その後の動作については、上述した実施形態と同様である。
qP=((QpQ+ QpOffsetQ+ QpOffset+QpP+1)>>1)
・・・(26)
符号化装置1が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。復号装置2が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD−ROMやDVD−ROM等の記録媒体であってもよい。
符号化装置1が行う各処理を実行する回路を集積化し、符号化装置1を半導体集積回路(チップセット、SoC)により構成してもよい。復号装置2が行う各処理を実行する回路を集積化し、復号装置2を半導体集積回路(チップセット、SoC)により構成してもよい。
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
1 :符号化装置
2 :復号装置
100 :ブロック分割部
110 :転換部
111 :パラメータ導出部
112 :マッピング部
113 :スケーリング部
120 :減算部
130 :変換・量子化部
131 :変換部
132 :量子化部
140 :エントロピー符号化部
150 :逆量子化・逆変換部
151 :逆量子化部
152 :逆変換部
160 :合成部
162 :予測転換部
170 :逆転換部
171 :逆マッピング部
172 :逆スケーリング部
180 :デブロッキングフィルタ
181 :フィルタ制御部
181a :境界強度決定部
181b :代表値導出部
181c :オフセット算出部
181d :閾値導出部
181e :フィルタ強度制御部
185 :メモリ
190 :予測部
191 :インター予測部
192 :予測転換部
193 :イントラ予測部
194 :切替部
200 :エントロピー復号部
210 :逆変換部
211 :逆量子化部
212 :逆変換部
220 :合成部
230 :逆転換部
231 :逆マッピング部
232 :逆スケーリング部
240 :デブロッキングフィルタ
241 :フィルタ制御部
241a :境界強度決定部
241b :代表値導出部
241c :オフセット算出部
241d :閾値導出部
241e :フィルタ強度制御部
250 :メモリ
260 :予測部
261 :インター予測部
262 :予測転換部
264 :イントラ予測部
265 :切替部

Claims (10)

  1. 画像をブロック単位に分割した符号化対象ブロックを符号化する符号化装置であって、
    前記符号化対象ブロック内の転換テーブルに基づいて輝度信号の各画素値に対するマッピング処理及び色差信号の各画素値に対するスケーリング処理により構成される転換処理をすることで新たな符号化対象ブロックを生成する転換部と、
    前記転換部で新たに生成された符号化対象ブロックと当該符号化対象ブロックを予測することにより生成した予測ブロックとの差である予測残差に変換処理及び量子化処理を行う変換・量子化部と、
    前記変換・量子化部により生成された変換係数に逆量子化処理及び逆変換処理することにより前記予測残差を復元する逆量子化・逆変換部と、
    前記復元した予測残差と前記予測ブロックとを合成することにより合成ブロックを生成する合成部と、
    前記合成ブロック内の各画素値に対し前記転換処理に対応する逆転換処理をすることにより前記符号化対象ブロックを復元する逆転換部と、
    前記復元した符号化対象ブロックと当該符号化対象ブロックに隣接する隣接ブロックとの境界にフィルタ処理するデブロッキングフィルタと、
    前記量子化処理及び前記逆量子化処理で用いた量子化パラメータと前記転換処理及び前記逆転換処理で用いた転換テーブルとに基づいて、前記デブロッキングフィルタのフィルタ強度を制御するフィルタ制御部と、を備え、
    前記転換テーブルは、1つ又は複数のスライスに対して設定されるテーブルであって、転換対象の画素値が取りうる最小値から最大値までの範囲を規定の数に分割した各バンドに対して割り当てる転換後の画素値の数を示す値からなるテーブルであることを特徴とする符号化装置。
  2. 前記フィルタ制御部は、前記符号化対象ブロックに対する前記量子化処理及び前記逆量子化処理で用いた前記量子化パラメータと、前記隣接ブロックに対する前記量子化処理及び前記逆量子化処理で用いた量子化パラメータと、前記符号化対象ブロック及び前記隣接ブロックに対する前記転換処理及び前記逆転換処理で用いた転換テーブルとに基づいて、前記デブロッキングフィルタのフィルタ強度を制御することを特徴とする請求項1に記載の符号化装置。
  3. 前記フィルタ制御部は、前記符号化対象ブロックの画素値及び前記隣接ブロックの画素値にさらに基づいて、前記デブロッキングフィルタのフィルタ強度を制御することを特徴とする請求項1又は2に記載の符号化装置。
  4. 前記フィルタ制御部は、
    前記転換テーブル中の複数のバンドの中から、前記符号化対象ブロック及び前記隣接ブロックに対応するバンドを特定し、
    前記特定したバンドに対して割り当てられた転換後の画素値の数を示す値が小さいほど、前記デブロッキングフィルタのフィルタ強度が強くなるように前記デブロッキングフィルタを制御することを特徴とする請求項1乃至3のいずれか1項に記載の符号化装置。
  5. 画像を分割して生成したブロック単位で符号化ストリームを復号する復号装置であって、
    前記符号化ストリームを復号することで、復号対象ブロックに対応する変換係数を出力するエントロピー復号部と、
    前記エントロピー復号部が出力する変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部と、
    前記復元した予測残差と前記復号対象ブロックを予測して生成した予測ブロックとを合成して合成ブロックを生成する合成部と、
    前記生成した合成ブロック内の各画素値に対して転換テーブルに基づいて符号化側で行った輝度信号の各画素値に対するマッピング処理及び色差信号の各画素値に対するスケーリング処理により構成される転換処理に対応する逆転換処理を行うことにより前記符号化対象ブロックを復元する逆転換部と、
    前記復元した復号対象ブロックと当該復号対象ブロックに隣接する隣接ブロックとの境界に対するフィルタ処理を行うデブロッキングフィルタと、
    前記逆量子化処理で用いた量子化パラメータと前記逆転換処理で用いた転換テーブルとに基づいて、前記デブロッキングフィルタのフィルタ強度を制御するフィルタ制御部と、を備え、
    前記転換テーブルは、1つ又は複数のスライスに対して設定されるテーブルであって、転換対象の画素値が取りうる最小値から最大値までの範囲を規定の数に分割した各バンドに対して割り当てる転換後の画素値の数を示す値からなるテーブルであることを特徴とする復号装置。
  6. 前記フィルタ制御部は、前記復号対象ブロックに対する前記逆量子化処理で用いた前記量子化パラメータと、前記隣接ブロックに対する前記逆量子化処理で用いた量子化パラメータと、前記復号対象ブロック及び前記隣接ブロックに対する前記逆転換処理で用いた転換テーブルとに基づいて、前記デブロッキングフィルタのフィルタ強度を制御することを特徴とする請求項5に記載の復号装置。
  7. 前記フィルタ制御部は、前記復号対象ブロックの画素値及び前記隣接ブロックの画素値にさらに基づいて、前記デブロッキングフィルタのフィルタ強度を制御することを特徴とする請求項5又は6に記載の復号装置。
  8. 前記フィルタ制御部は、
    前記転換テーブル中の複数のバンドの中から、前記復号対象ブロック及び前記隣接ブロックに対応するバンドを特定し、
    前記特定したバンドに対して割り当てられた転換後の画素値の数を示す値が小さいほど、前記デブロッキングフィルタのフィルタ強度が強くなるように前記デブロッキングフィルタを制御することを特徴とする請求項5乃至7のいずれか1項に記載の復号装置。
  9. コンピュータを請求項1に記載の符号化装置として機能させることを特徴とするプログラム。
  10. コンピュータを請求項5に記載の復号装置として機能させることを特徴とするプログラム。
JP2019172328A 2019-09-20 2019-09-20 符号化装置、復号装置、及びプログラム Pending JP2021052249A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019172328A JP2021052249A (ja) 2019-09-20 2019-09-20 符号化装置、復号装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019172328A JP2021052249A (ja) 2019-09-20 2019-09-20 符号化装置、復号装置、及びプログラム

Publications (1)

Publication Number Publication Date
JP2021052249A true JP2021052249A (ja) 2021-04-01

Family

ID=75156506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019172328A Pending JP2021052249A (ja) 2019-09-20 2019-09-20 符号化装置、復号装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP2021052249A (ja)

Similar Documents

Publication Publication Date Title
KR101729903B1 (ko) 복호 장치
US11871021B2 (en) Moving picture decoding device, moving picture decoding method, and program obtaining chrominance values from corresponding luminance values
JP7357721B2 (ja) デブロッキングフィルタ制御装置及びプログラム
KR20230034427A (ko) 복호 장치, 프로그램, 및 복호 방법
JP7229682B2 (ja) ループフィルタ制御装置、画像符号化装置、画像復号装置、及びプログラム
JP2021052249A (ja) 符号化装置、復号装置、及びプログラム
JP7069421B2 (ja) 符号化装置、復号装置、及びプログラム
JP7483725B2 (ja) 符号化装置、復号装置、及びプログラム
WO2021045059A1 (ja) 符号化装置、復号装置、及びプログラム
JP7474772B2 (ja) 符号化装置、復号装置、及びプログラム
WO2021040036A1 (ja) 符号化装置、復号装置、及びプログラム
JP7357481B2 (ja) デブロッキングフィルタ制御装置及びプログラム
WO2021251398A1 (ja) デブロッキングフィルタ装置、復号装置、及びプログラム
CN118018731A (en) Encoding device, decoding device, and computer-readable storage medium
KR20190023294A (ko) 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200529

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20200612

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240319