JP2020202417A - 画像復号装置及び画像符号化装置 - Google Patents
画像復号装置及び画像符号化装置 Download PDFInfo
- Publication number
- JP2020202417A JP2020202417A JP2019105813A JP2019105813A JP2020202417A JP 2020202417 A JP2020202417 A JP 2020202417A JP 2019105813 A JP2019105813 A JP 2019105813A JP 2019105813 A JP2019105813 A JP 2019105813A JP 2020202417 A JP2020202417 A JP 2020202417A
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- unit
- scaling
- inverse
- prediction
- 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
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 875
- 238000013139 quantization Methods 0.000 claims description 239
- 239000011159 matrix material Substances 0.000 claims description 116
- 230000009466 transformation Effects 0.000 claims description 58
- 238000009795 derivation Methods 0.000 claims description 57
- 238000000034 method Methods 0.000 abstract description 121
- 238000012545 processing Methods 0.000 description 47
- 230000015654 memory Effects 0.000 description 44
- 230000005540 biological transmission Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 15
- 238000003702 image correction Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 229920000069 polyphenylene sulfide Polymers 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- VZSRBBMJRBPUNF-UHFFFAOYSA-N 2-(2,3-dihydro-1H-inden-2-ylamino)-N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]pyrimidine-5-carboxamide Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C(=O)NCCC(N1CC2=C(CC1)NN=N2)=O VZSRBBMJRBPUNF-UHFFFAOYSA-N 0.000 description 1
- AFCARXCZXQIEQB-UHFFFAOYSA-N N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(CCNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 AFCARXCZXQIEQB-UHFFFAOYSA-N 0.000 description 1
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 208000034188 Stiff person spectrum disease Diseases 0.000 description 1
- 229920010524 Syndiotactic polystyrene Polymers 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 208000012112 ischiocoxopodopatellar syndrome Diseases 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002490 spark plasma sintering Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Coding)方式等が挙げられる。
以下、図面を参照しながら本発明の実施形態について説明する。
本明細書で用いる演算子を以下に記載する。
本実施形態に係る動画像符号化装置11及び動画像復号装置31の詳細な説明に先立って、動画像符号化装置11によって生成され、動画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために動画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図4の符号化ビデオシーケンスに示すように、ビデオパラメータセット(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。
符号化ピクチャでは、処理対象のピクチャPICTを復号するために動画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図4の符号化ピクチャに示すように、スライス0〜スライスNS-1を含む(NSはピクチャPICTに含まれるスライスの総数)。
符号化スライスでは、処理対象のスライスSを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスは、図4の符号化スライスに示すように、スライスヘッダ、及び、スライスデータを含んでいる。
符号化スライスデータでは、処理対象のスライスデータを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスデータは、図4の符号化スライスヘッダに示すように、CTUを含んでいる。CTUは、スライスを構成する固定サイズ(例えば64x64)のブロックであり、最大符号化単位(LCU:Largest Coding Unit)と呼ぶこともある。
図4の符号化ツリーユニットには、処理対象のCTUを復号するために動画像復号装置31が参照するデータの集合が規定されている。CTUは、再帰的な4分木分割(QT(Quad Tree)分割)、2分木分割(BT(Binary Tree)分割)あるいは3分木分割(TT(Ternary Tree)分割)により符号化処理の基本的な単位である符号化ユニットCUに分割される。BT分割とTT分割を合わせてマルチツリー分割(MT(Multi Tree)分割)と呼ぶ。再帰的な4分木分割により得られる木構造のノードのことを符号化ノード(Coding Node)と称する。4分木、2分木、及び3分木の中間ノードは、符号化ノードであり、CTU自身も最上位の符号化ノードとして規定される。
図4の符号化ユニットに示すように、処理対象の符号化ユニットを復号するために動画像復号装置31が参照するデータの集合が規定されている。具体的には、CUは、CUヘッダCUH、予測パラメータ、変換パラメータ、量子化変換係数等から構成される。CUヘッダでは予測モード等が規定される。
予測画像は、ブロックに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測とインター予測の予測パラメータがある。
intra_luma_mpm_flagは、対象ブロックのIntraPredModeYとMPM(Most Probable Mode)とが一致するか否かを示すフラグである。MPMは、MPM候補リストmpmCandList[]に含まれる予測モードである。MPM候補リストは、隣接ブロックのイントラ予測モード及び所定のイントラ予測モードから、対象ブロックに適用される確率が高いと推定される候補を格納したリストである。intra_luma_mpm_flagが1の場合、MPM候補リストとインデックスintra_luma_mpm_idxを用いて、対象ブロックのIntraPredModeYを導出する。
(REM)
intra_luma_mpm_flagが0の場合、イントラ予測モード全体からMPM候補リストに含まれるイントラ予測モードを除いた残りのモードRemIntraPredModeからイントラ予測モードを選択する。RemIntraPredModeとして選択可能なイントラ予測モードは、「非MPM」又は「REM」と呼ばれる。RemIntraPredModeはintra_luma_mpm_remainderを用いて導出される。
本実施形態に係る動画像復号装置31(図7)の構成について説明する。
図8、動画像復号装置31の概略的動作を説明するフローチャートである。
て、逆量子化・逆変換処理を実行する。
量子化マトリックスは、変換係数の位置ごとに異なる量子化・逆量子化を行う方法、及び、量子化に用いるマトリックスを意味する。量子化・逆量子化はスケーリングとも呼ばれ、量子化マトリックスは、スケーリングリスト、スケーリングファクタとも呼ばれる。量子化マトリックスを用いることで、高周波数成分をより小さく(0になりやすく)して、主観画質の低下を抑えながら符号化レートを削減することができる。また、高周波数成分と低周波数成分の比率や、水平成分、垂直成分、斜め成分の比率を調整して画質を調整することができる。
nextCoef = (nextCoef + scaling_list_delta_coef + 256) % 256
ScalingList[sizeId][matrixId][i] = nextCoef
また、スケーリングリスト復号部は、scaling_list_pred_mode_flagが1の場合、以下のようにrefMatrixIdで参照される既存のスケーリングリストを参照して、予測してもよい。
ScalingList[sizeId][matrixId][i] = ScalingList[sizeId][refMatrixId][i]
ここで、i = 0..Min(63, (1 << (sizeId << 1)) - 1)
スケーリングリスト復号部は、導出したScalingList[sizeId][matrixId][i]を用いて、さらに、sizeId、matrixId、及び変換係数の配列d[x][y]中の位置(x,y)ごとの、ScalingFactor[sizeId][matrixId][x][y]を導出してもよい。例えば4x4の場合、以下で導出する。
x = DiagScanOrder[2][2][i][0]
y = DiagScanOrder[2][2][i][1]
ここで、i = 0..15, matrixId = 0..5である。
x = DiagScanOrder[3][3][i][0]
y = DiagScanOrder[3][3][i][1]
ここで、i = 0..63, matrixId = 0..5である。
sizeId = max( sizeIdW, sizeIdH )
ratioW = ( 1 << sizeId ) / ( 1 << sizeIdW )
ratioH = ( 1 << sizeId ) / ( 1 << sizeIdH )
ここで、sizeIdW = 0..6, sizeIdH = 0..6, matrixId = 0..5, x = 0..(1<<sizeIdW)-1, y = 0..(1<<sizeIdH)-1である。なお、(sizeIdW, sizeIdH) = (0, 0)は使用しない。
イントラ予測パラメータ復号部304は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測
パラメータ、例えば、イントラ予測モードIntraPredModeを復号する。イントラ予測パラメータ復号部304は、復号したイントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。イントラ予測パラメータ復号部304は、輝度と色差で異なるイントラ予測モードを導出してもよい。
と呼ぶ)であり、予測画像を生成するために参照する領域である。
predModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと参照ピクチャメモリ306から読み出した参照画素を用いてイントラ予測を行う。
次に、図11を用いてイントラ予測画像生成部310の構成の詳細を説明する。イントラ予測画像生成部310は、予測対象ブロック設定部3101、未フィルタ参照画像設定部3102(第1の参照画像設定部)、フィルタ済参照画像設定部3103(第2の参照画像設定部)、イントラ予測部3104、及び、予測画像補正部3105(予測画像補正部、フィルタ切替部、重み係数変更部)を備える。
予測対象ブロック設定部3101は、対象CUを予測対象ブロックに設定し、予測対象ブロックに関する情報(予測対象ブロック情報)を出力する。予測対象ブロック情報には、予測対象ブロックのサイズ、位置、輝度か色差かを示すインデックスが少なくとも含まれる。
未フィルタ参照画像設定部3102は、予測対象ブロックのサイズと位置に基づいて、予測対象ブロックの隣接周辺領域を参照領域Rとして設定する。続いて、参照領域R内の各画素値(未フィルタ参照画像、境界画素)に、参照ピクチャメモリ306上で対応する位置の各復号画素値をセットする。図10の参照領域の例1に示す予測対象ブロック上辺に隣接する復号画素のラインr[x][-1]、及び、予測対象ブロック左辺に隣接する復号画素の列r[-1][y]が未フィルタ参照画像である。
フィルタ済参照画像設定部3103は、イントラ予測モードに応じて、未フィルタ参照画像に参照画素フィルタ(第1のフィルタ)を適用して、参照領域R上の各位置(x,y)のフィルタ済参照画像s[x][y]を導出する。具体的には、位置(x,y)とその周辺の未フィルタ参照画像にローパスフィルタを適用し、フィルタ済参照画像(図10の参照領域の例2)を導出する。なお、必ずしも全イントラ予測モードにローパスフィルタを適用する必要はなく、一部のイントラ予測モードに対してローパスフィルタを適用してもよい。なお、フィルタ済参照画像設定部3103において参照領域R上の未フィルタ参照画像に適用するフィルタを「参照画素フィルタ(第1のフィルタ)」と呼称するのに対し、後述の予測画像補正部3105において仮予測画像を補正するフィルタを「バウンダリフィルタ(第2のフィルタ)」と呼称する。
イントラ予測部3104は、イントラ予測モードと、未フィルタ参照画像、フィルタ済参照画素値に基づいて予測対象ブロックの仮予測画像(仮予測画素値、補正前予測画像)を生成し、予測画像補正部3105に出力する。イントラ予測部3104は、内部にPlanar予測部31041、DC予測部31042、Angular予測部31043、及びLM予測部31044を備えている。イントラ予測部3104は、イントラ予測モードに応じて特定の予測部を選択して、未フィルタ参照画像、フィルタ済参照画像を入力する。イントラ予測モードと対応する予測部との関係は次の通りである。
・Planar予測 ・・・Planar予測部31041
・DC予測 ・・・DC予測部31042
・Angular予測 ・・・Angular予測部31043
・LM予測 ・・・LM予測部31044
(Planar予測)
Planar予測部31041は、予測対象画素位置と参照画素位置との距離に応じて、複数のフィルタ済参照画像を線形加算して仮予測画像を生成し、予測画像補正部3105に出力する。
DC予測部31042は、フィルタ済参照画像s[x][y]の平均値に相当するDC予測値を導出し、DC予測値を画素値とする仮予測画像q[x][y]を出力する。
Angular予測部31043は、イントラ予測モードの示す予測方向(参照方向)のフィルタ済参照画像s[x][y]を用いて仮予測画像q[x][y]を生成し、予測画像補正部3105に出力する。
LM予測部31044は、輝度の画素値に基づいて色差の画素値を予測する。具体的には、復号した輝度画像をもとに、線形モデルを用いて、色差画像(Cb、Cr)の予測画像を生成する方式である。LM予測の1つであるCCLM(Cross-Component Linear Model prediction)予測は、1つのブロックに対し、輝度から色差を予測するための線形モデルを使用する予測方式である。
予測画像補正部3105は、イントラ予測モードに応じて、イントラ予測部3104から出力された仮予測画像を修正する。具体的には、予測画像補正部3105は、仮予測画像の各画素に対し、参照領域Rと対象予測画素との距離に応じて、未フィルタ参照画像と仮予測画像を重み付け加算(加重平均)することで、仮予測画像を修正した予測画像(補正済予測画像)Predを導出する。なお、一部のイントラ予測モードでは、予測画像補正部3105で仮予測画
像を補正せず、イントラ予測部3104の出力をそのまま予測画像としてもよい。
逆量子化・逆変換部311は、エントロピー復号部301から入力された量子化変換係数qd[ ][ ]を逆量子化して変換係数d[ ][ ]を求める。この量子化変換係数qd[ ][ ]は、符号化処理において、予測誤差に対してDCT(Discrete Cosine Transform、離散コサイン変換)、DST(Discrete Sine Transform、離散サイン変換)等の周波数変換を行い量子化して得られる係数である。逆量子化・逆変換部311は、求めた変換係数について逆DCT、逆DST等の逆周波数変換を行い、予測誤差を算出する。逆量子化・逆変換部311は予測誤差を加算部312に出力する。
逆セカンダリ変換部(第2の変換部)31121は、逆量子化の後、逆コア変換の前に、変換係数d[ ][ ]に対して逆セカンダリ変換を適用する。
以下、図13を用いて逆セカンダリ変換部31121による逆セカンダリ変換の適用例1につい
て説明する。図13は、本実施形態における逆セカンダリ変換の対象となる領域の一例を説明するための図である。
セカンダリ変換は、動画像符号化装置11において、TUのコア変換(DCT2及びDST7等)後の一部又は全領域の変換係数に対して適用される。セカンダリ変換では、変換係数に残る相関を除去しエネルギーを一部の変換係数に集中させる。逆セカンダリ変換は、動画像復号装置31において、TUの一部又は全領域の変換係数に対して適用される。逆セカンダリ変換が適用された後、逆セカンダリ変換後の変換係数に対して、逆コア変換(DCT2及びDST7等)が適用される。また、TUを4x4のサブブロックに分割した場合において、左上の所定のサブブロックのみにセカンダリ変換及び逆セカンダリ変換が適用される。TUの幅W、高さHのうち、一方が4であるTUのサイズは、例えば、4×4、8×4、4×8、L×4及び4×L(Lは16以上の自然数)が挙げられる。
逆セカンダリ変換では、TUのサイズ(幅W, 高さH)に応じて、逆セカンダリ変換のサイズ(4x4又は8x8)、出力の変換係数の数(nStOutSize)、適用する変換係数(入力の変換係数)の数nonZeroSize及び逆セカンダリ変換を適用するサブブロックの数(numStX, numStY)を導出する。4x4、8x8の逆セカンダリ変換のサイズをnStSize=4、8で示す。また、4x4、8x8の逆セカンダリ変換のサイズは、各々RST4x4、RST8x8と呼んでもよい。
上記以外の場合、log2StSize = 2、nStOutSize=16
nStSize = 1<<log2StSize
W及びHが両方とも4の場合、又は8x8の場合、nonZeroSize = 8
上記以外の場合、nonZeroSize = 16
numStX = (nTbH == 4 && nTbW > 8) ? 2 : 1
numStY = (nTbW == 4 && nTbH > 8) ? 2 : 1
(S2:1次元信号に並び替え)
逆セカンダリ変換では、TUの一部の変換係数d[][]を一度、1次元配列u[]に並び替えて処理する。具体的には、逆セカンダリ変換では、図13の点線の矩形ブロックである領域RUによって示される対象TUの2次元の変換係数d[][]から、x = 0.. nonZeroSize-1の変換係数を参照して、u[]を導出する。xC, yCはTU上の位置であり、スキャン順を示す配列DiagS
canOrderとサブブロック中の変換係数の位置xから導出する。
yC = (ySbIdx<<log2StSize) + DiagScanOrder[log2StSize][log2StSize][x][1]
u[x] = d[ xC ][ yC ]
なお、1次元配列にコピーされる範囲を領域RUと呼ぶ。
逆セカンダリ変換では、長さがnonZeroSizeのu[](ベクトルF')に対して、第1種の変換基底(行列)T1を用いた変換を行い、出力として長さがnStOutSizeの一次元配列の係数v'[](ベクトルV')を導出する。
ここで、変換サイズが4x4の場合(RST4x4)の変換基底を第1種の変換基底T1と呼ぶ。変換サイズが8x8の場合(RST8x8)の変換基底を第2種の変換基底T2と呼ぶ。T1は16×16(16行16列)行列であって、変換は16x16行列F'と、16x1(16行1列)ベクトルF'との積として16×1(16行1列)ベクトルV'、すなわち、長さ16の係数v'[]を導出する。T2は、48×16(48行16列)行列であって、変換は48x16行列F'と、16x1ベクトルF'との積として48×1(48行1列、長さ48)ベクトルV'、すなわち、長さ48の係数v'[]を導出する。
v[i] = Clip3( CoeffMin, CoeffMax,ΣsecTransMatrix[j][i]*u[j])
ここで、Σはj=0..nonZeroSize-1までの和である。また、iは0..nStSize-1に対して処理を行う。CoeffMin、CoeffMaxは変換係数の値の範囲を示す。
逆セカンダリ変換では、変換された一次元配列の係数v'[]を再度TU内の所定の位置(例えば図13の領域R1)に配置する。
変換では、上から下に8係数ずつ配置し、これを左から右に4回繰り返す。次に、上から下に4係数ずつ配置し、これを左から右に4回繰り返す。
(y < 4) ? v[x+(y<<log2StSize)] : ((x < 4) ? v[32 + x + ((y - 4) << 2)] :
d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y])
それ以外の場合、逆セカンダリ変換では、以下の式を適用する。
d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y] =
(y < 4) ? v[x+(y<<log2StSize)] : ((x < 4) ? v[32 + (y - 4) + (x << 2)] : d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y])
上述の処理では、RST4×4(16×16行列)によって表される第1種の変換基底T1を保持するためのテーブルを複数個(例えばセカンダリ変換のセットの数とセカンダリインデックスstIdxの数の積、例えば8個)利用してもよい。同様に、上述の処理では、RST8×8(48×16行列)によって表される第2種の変換基底T2を保持するためのテーブルを複数個(例えば8個)利用してもよい。この場合、セカンダリ変換及び逆セカンダリ変換に必要なメモリ量は、約8Kbyte(16×16×8+48×16×8=8192byte)と巨大となっており、好適にセカンダリ変換及び逆セカンダリ変換を適用することができない。
以下では、逆セカンダリ変換の対象となる変換係数の個数(上記説明のnStOutSize)がNUMSTC(NUMSTCは48未満)である例について説明する。逆セカンダリ変換部31121は、TUが8×8以上である場合に、TUに含まれる変換係数のうち、最低周波数成分を含むNUMSTC個の変換係数に対して逆セカンダリ変換を適用する。具体的には、逆セカンダリ変換部31121は、図13の逆量子化後の変換残差の例に示す、逆量子化後の変換残差の左上側の領域RUに含まれる最低周波数成分を含むNUMSTC個の変換係数に対して逆セカンダリ変換を適用する。NUMSTCは、43個以内であればよいが、例えば、36であってもよいし、32であってもよい。
数の位置及び個数以外は、上述の例と同様にセカンダリ変換及び逆セカンダリ変換を適用する。
図13の変換係数の選択例1を参照して、逆セカンダリ変換部31121による逆セカンダリ変換の適用例1について詳細に説明する。
図13の変換係数の選択例2及び3を参照して、逆セカンダリ変換部31121による逆セカンダリ変換の適用例2について適用例1との相違点のみ説明する。
PredModeIntra <= 34 or INTRA_LT_CCLM, INTRA_T_CCLM, or INTRA_L_CCLMの場合、以下を適用する。
d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y] = v[x+(y<<log2StSize)]
それ以外の場合、以下を適用する。
d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y] =
(y < 4) ? v[x+(y<<log2StSize)] : ((x < 4) ? v[32 + (y - 4) + (x << 2)] : d[(xSbIdx<<log2StSize)+x][(ySbIdx<<log2StSize)+y])
また、図13の変換係数の選択例3に示すように、逆セカンダリ変換部31121は、NUMSTC=32とし、処理S4において、長さがnStOutSize=NUMSTCの一次元配列の係数v'[]を領域R4に配置してもよい。
換部及び逆セカンダリ変換部31121は、RST8×8として32×16行列によって表される第2種の変換基底T2を適用する。
以下、図14を用いて逆セカンダリ変換部31121による逆セカンダリ変換の適用例2について説明する。図14は、本実施形態における逆セカンダリ変換部31121による逆セカンダリ変換の一例を説明するための図である。
逆セカンダリ変換部31121は、逆セカンダリ変換後の各係数の1次元配列のベクトル(1次元ベクトル)V'を2次元配列のベクトル(2次元配列)d[]に並べ替える(変換する)処理において、イントラ予測をする際に所定の方向の画素を参照するか否かに応じて、並べ替える(変換する)方法を切り替える。また、また、上述の所定の方向にはCCLM予測が参照する画素の方向が含まれる。
d[x][y] = v'[x+(y<<log2(RW))]
else // if (IntraPredMode>34 || IntraPredMode==INTRA_T_CCLM)
d[x][y] = v'[y+(x<<log2(RH))]
ここで、RW及びRHは領域R2、R3及びR4における幅及び高さ(例えばnStSize)である。INTRA_LT_CCLM、INTRA_L_CCLM及びINTRA_T_CCLMはCCLM予測モードを表す。CCLM予測モードは、各々、対象ブロックの左及び上の画素を参照して予測パラメータ(スケーリング係数及びオフセット)を導出するモード、対象ブロックの左の画素を参照して予測パラメータを導出するモード、並びに、対象ブロックの上の画素を参照して予測パラメータを導出するモードである。
に並べ替える処理において、イントラ予測において所定の方向の画素を参照するか否かに応じて、並べ替える(変換する)方法を切り替える。また、上述の所定の方向にはCCLM予測が参照する画素の方向が含まれる。これにより、1次元ベクトルV'を、2次元配列d[][]に並び替えて上述の領域RU内等に配置する際に、当該1次元ベクトルV'をより好適に配置することができる。その結果、より好適に逆セカンダリ変換を適用することができる。
スケーリング部31122は、逆セカンダリ変換部31121による変換後の係数(変換係数)に対して係数単位の重みを用いてスケーリングする。
通常のスケーリングは、逆量子化と共に(同時に)、量子化マトリックスを用いて変換係数をスケーリングする。しかし、量子化マトリックスは、コア変換係数に対応するため、セカンダリ変換の係数をスケーリングするのは適切ではない。
本実施形態におけるスケーリング部31122は、逆量子化後の係数を逆セカンダリ変換部31121によって変換後の係数(変換係数)をスケーリングする。これにより、量子化マトリックスの各値が、逆セカンダリ変換後の係数、すなわち、コア変換係数に対応することになるため、適切にスケーリングすることができる。結果として、逆セカンダリ変換を好適に適用することができる。
逆セカンダリ変換を行う動画像復号装置においては、逆セカンダリ変換部31121の前に適用するスケーリング部と、逆セカンダリ変換部31121の後に適用するスケーリング部の2つのスケーリング部を備えてもよい。逆セカンダリ変換部31121によって変換後の係数に対してスケーリングを行う係数スケーリング部31122は、以下の構成では、第2スケーリング部31112として説明される。
図20は、本実施形態の逆量子化・逆変換部311の構成を示すブロック図である。逆量子化・逆変換部311は、第1スケーリング部31111、逆セカンダリ変換部31121、第2スケーリング部31112(スケーリング部31122)、逆コア変換部31123から構成される。
S111:セカンダリ変換が有効であるか否かを判定する。
2スケーリング部31112は、後述の量子化マトリックススケールファクタ導出を含む
S130:逆コア変換を行う。
第1スケーリング部31111は、色コンポーネントcIdxに応じて、量子化パラメータqPを設定する。
qP = QP_Cb (cIdx == 1)
qP = QP_Cr (cIdx == 2)
S102:第1シフト値導出
S102A:TUサイズ依存シフト値導出
第1スケーリング部31111は、セカンダリ変換がオンの場合(stIdx != 0)には、TUサイズに依存したシフト値を導出する。
bdOffset = (1 << bdShift) >> 1
なお、bdShiftは、変換に関するシフト値であり、TUサイズと形状に応じて変換前後でのエネルギーの変化を整合させるための値である。ここでrectNormは、TU形状に応じた補正項である。第1スケーリング部31111は、以下の式で導出する。
transform_skip_flag[xTbY][yTbY] == 0)
rectNorm = rectNonTsFlag ? 181 : 1
つまり、TUの形状が、非正方形((Log2(nTbW) + Log2(nTbH)) & 1)、かつ、変換スキップを用いない場合(transform_skip_flag[ xTbY ][ yTbY ] == 0)に、rectNonTsFlagを1、それ以外の場合に0を設定する。そして、上記非正方形フラグrectNonTsFlagが1の場合、rectNormを181、それ以外の場合に1を設定する。
第1スケーリング部31111は、セカンダリ変換がオフの場合(stIdx == 0)には、逆コア変換用のシフト値を導出する。
bdOffset = 0
S102をまとめると、第1スケーリング部31111は、セカンダリ変換が有効でないか否か(stIdx==0)に応じて、シフト値bdShiftとbdOffsetを以下の式で導出する。
stIdx != 0の場合、
bdShift = bitDepth + ((rectNonTsFlag ? 8 : 0) + (Log2(nTbW) + Log2(nTbH)) / 2)
- 5 + dep_quant_enabled_flag
bdOffset = (1 << bdShift) >> 1
第1スケーリング部31111は、セカンダリ変換が有効ではない場合(stIdx == 0)、変換に関するシフト演算を第2スケーリング部31112で行うため、ここでは、スケーリングファクタlsの乗算後にかける、変換に関するシフト値bdShiftを0とする。つまり、第2スケーリング部で行うスケーリングファクタ乗算後(量子化マトリックス処理後)に、変換に関するシフト処理を行う。セカンダリ変換が有効な場合(stIdx != 0)には、逆セカンダリ変換処理の前に、変換に関するスケーリング処理を完了させる必要があるのでここでシフト処理を行うための値を設定する。
第1スケーリング部31111は、第1の中間スケーリングファクタmを導出する。
セカンダリ変換が有効な場合(stIdx != 0)、固定値mLFNST(例えば16)を設定する。
mLFNSTは、セカンダリ変換のスケーリングに用いられる定数であり、2,4,8,16,32,64などでもよい。
第1スケーリング部31111は、第1の中間スケーリングファクタと、量子化パラメータqPに応じたlevelScaleから、以下の式で第1のスケーリングファクタlsを導出する。dep_quant_enabled_flagが1の場合には以下の式で導出する。
dep_quant_enabled_flag==0の場合には、以下の式で導出してもよい。
ここでlevelScale[] = { 40, 45, 51, 57, 64, 72 }である。
第1スケーリング部31111は、TU内の復号された変換係数TransCoeffLevelと、スケーリングファクタlsと形状補正項rectNormの積をシフト値bsShiftだけ右シフトすることにより、第1のスケーリング(第1の逆量子化)を行い、dnc[][]を導出する。
最後に、第1スケーリング部31111は、逆量子化された変換係数をクリップしd[x][y]を導出してもよい。
導出された変換係数は、第2スケーリング部31112、もしくは、逆セカンダリ変換部31121に出力される。
セカンダリ変換が有効であるか否かを判定し(S111)、stIdx!=0の場合には、逆セカンダリ変換を行う(S112)
第2スケーリング部31112は、第1スケーリング部31111もしくは逆セカンダリ変換部31121から入力された変換係数に対して、量子化マトリックスScalingFactor2[][]に応じて以下のスケーリングを行う。以下、ScalingFactor2[][]とは、ScalingFactor2[sizeIdW][sizeIdH][matridId][][]の略である。
S122C:セカンダリ変換シフト値導出
第2スケーリング部31112は、セカンダリ変換がオンの場合(stIdx != 0)には、セカンダリ変換用のシフト値を導出する。
S122A:TUサイズ依存シフト値導出
第2スケーリング部31112は、セカンダリ変換がオフの場合(stIdx == 0)には、TUサイズに依存したシフト値を導出する。
bdOffset = (1 << bdShift) >> 1
この式は、式(A−1A)と等しい。
stIdx == 0の場合、
bdShift = bitDepth + ((rectNonTsFlag ? 8 : 0) + (Log2(nTbW) + Log2(nTbH)) / 2)
- 5 + dep_quant_enabled_flag
stIdx != 0の場合、
bdShift = Log2(mLFNST)
これらを用いてbdOffsetを導出する。
なお、bdShiftは、変換に関するシフト処理(TUサイズに依存するシフト処理)、もしくは、セカンダリ変換用のシフト処理(mLFNST)である。
第2スケーリング部31112は、量子化マトリックスScalingFactor2[][]に応じた第2の中間スケーリングファクタm[][]を導出する。以下でscaling_list_enabled_flagは量子化マトリックスを使うか否かを示すフラグである。
scaling_list_enabled_flag==0、もしくは、transform_skip_flag==1かつcIdx==0の場合、下記を第2スケーリングファクタに設定する。
S123B:量子化マトリックススケールファクタ導出
それ以外の場合には、量子化マトリックスScalingFactor2[][]を第2スケーリングファクタに設定する。
sizeIdW=Log2(nTbW)
sizeIdH=Log2(nTbH)
ここで、x=0..nTbW-1,y=0..nTbH-1であり、matrixIdはMax(sizeIdW, sizeIdH)と予測モードpredModeから導出される変数である。
第2スケーリング部31112は、入力された変換係数d[][]と第2スケーリングファクタm[][]との積にオフセットbdOffsetを加算し、第2シフト値bsShiftだけ右シフトすることにより、第2のスケーリング(第2の逆量子化)を行い、dnc[][]を導出する。
最後に、第2スケーリング部31112は、逆量子化された変換係数をクリップし、d[x][y]を導出してもよい。
導出された変換係数は、逆コア変換部31123に出力される。
図23は、本実施形態の別の構成の逆量子化・逆変換部311の構成を示すブロック図である。逆量子化・逆変換部311は、第1スケーリング部31111、逆セカンダリ変換部31121、第2スケーリング部31112、逆コア変換部31123から構成される。
S211:セカンダリ変換が有効であるか否かを判定する。
S230:逆コア変換を行う。
第1スケーリング部31111は、色コンポーネントcIdxに応じて、量子化パラメータqPを設定する。
qP = QP_Cb (cIdx == 1)
qP = QP_Cr (cIdx == 2)
S202:第1シフト値導出
S202A:TUサイズ依存シフト値導出
第1スケーリング部31111は、TUサイズ(nTbW, nTbH)を用いて、ビットシフトbdShiftと
bdOffsetを以下の式で導出する。
- 5 + dep_quant_enabled_flag
bdOffset = (1 << bdShift) >> 1
ここでrectNormは以下で導出する。
rectNorm = rectNonTsFlag ? 181 : 1
S203:第1スケーリングファクタ設定
第1スケーリング部31111は、第1の中間スケーリングファクタm[][]を導出する。
セカンダリ変換が有効かつスケーリングリストを用いる場合(stIdx!=0 && scaling_list_enabled_flag==1)には、第1の中間スケーリングファクタm[x][y]を固定値mLFNST (例えば16)に設定する。
S203A:デフォルトスケールファクタ導出
それ以外で、scaling_list_enabled_flag==0(スケーリングリストを用いない)、もしくは、transform_skip_flag==1かつcIdx==0の場合、m[x][y]を16に設定する。
S203B:量子化マトリックススケールファクタ導出
それ以外の場合、中間スケーリングファクタを量子化マトリックスScalingFactor2[][]に設定する。
S203D:量子化パラメータスケーリングファクタ導出
第1スケーリング部31111は、第1の中間スケーリングファクタと、量子化パラメータqPに応じたlevelScaleから、以下の式で第1のスケーリングファクタls[][]を導出する。
dep_quant_enabled_flagが1の場合には以下の式で導出する。
dep_quant_enabled_flag==0の場合には、以下の式で導出してもよい。
ここでlevelScale[] = { 40, 45, 51, 57, 64, 72 }である。
第1スケーリング部31111は、TU内の復号された変換係数TransCoeffLevelと、スケーリングファクタls[][]と形状補正項rectNormの積をシフト値bsShiftだけ右シフトすることにより、第1のスケーリング(第1の逆量子化)を行い、dnc[][]を導出する。
最後に、第1スケーリング部31111は、逆量子化された変換係数をクリップしd[x][y]を導出してもよい。
導出された変換係数d[][]は、逆セカンダリ変換部31121(stIdx!=0の場合)もしくは逆コア変換部31123(stIdx==0の場合)に出力される。stIdx==0の場合には、スケーリングリスト(量子化マトリックス)を用いた逆量子化処理を第1スケーリング部で行い、逆コア変換部31123に、スケーリング後の変換係数を出力する。stIdx!=0の場合は、量子化パラメータに関わる固定値mLFNSTによるスケーリングを第1スケーリング部で行い、スケーリングリストを用いた逆量子化を第2スケーリング部で行う。
S222C:セカンダリ変換シフト値導出
第2スケーリング部31112はビットシフトbdShiftとbdOffsetを以下の式で導出する。
bdOffset = (1 << bdShift) >> 1
なお、bdShiftは、後述のスケーリングファクタm[][]を乗算した後に変換係数を適当な大きさに変換するための右シフトに利用される。第1スケーリング部でmLFSNT倍した値を元に戻す処理である。
S222C:量子化マトリックススケールファクタ導出
第2スケーリング部31112は、量子化マトリックスScalingFactor2[][]に応じた第2の中間スケーリングファクタm[][]を導出する。
sizeIdW=Log2(nTbW)
sizeIdH=Log2(nTbH)
ここで、x=0..nTbW-1,y=0..nTbH-1であり、matrixIdはMax(sizeIdW, sizeIdH)と予測モードpredModeから導出される変数である。
第2スケーリング部31112は、入力された変換係数d[][]と第2スケーリングファクタls[][]を、第2シフト値bsShiftだけ右シフトすることにより、第2のスケーリング(第2の逆量子化)を行い、dnc[][]を導出する。
最後に、第2スケーリング部31112は、逆量子化された変換係数をクリップしd[x][y]を導出してもよい。
導出された変換係数は、逆コア変換部31121に出力される。
図27は、本実施形態の別の構成の逆量子化・逆変換部311の構成を示すブロック図である。逆量子化・逆変換部311は、第1スケーリング部31111、第3スケーリング部31113、逆セカンダリ変換部31121、第2スケーリング部31112、逆コア変換部31123から構成される。
S300B:セカンダリ変換が有効でない(stIdx==0)場合、第3スケーリング部31113は、変換係数に第3のスケーリングを行う。第3スケーリング部31113は、デフォルトスケールファクタ導出と、量子化マトリックススケールファクタ導出と、量子化パラメータスケールファクタ導出処理を含む。
S330:逆コア変換を行う。
の第1あるいは第3のスケーリング処理だけでスケーリング処理が完了し、stIdx!=0かつ量子化マトリックスが有効の場合のみ、逆セカンダリ変換後の第2のスケーリング処理を行う。
第1スケーリング部31111は、色コンポーネントcIdxに応じて、量子化パラメータqPを設定する。
qP = QP_Cb (cIdx == 1)
qP = QP_Cr (cIdx == 2)
S302:第1シフト値導出
S302A:TUサイズ依存シフト値導出
第1スケーリング部31111は、TUサイズ(nTbW, nTbH)を用いて、ビットシフトbdShiftとbdOffsetを以下の式で導出する。
- 5 + dep_quant_enabled_flag
bdOffset = (1 << bdShift) >> 1
ここでrectNormは以下で導出する。
rectNorm = rectNonTsFlag ? 181 : 1
S303:第1スケーリングファクタ設定
第1スケーリング部31111は、第1の中間スケーリングファクタm[][]を導出する。
セカンダリ変換が有効かつスケーリングリストを用いる場合(stIdx!=0 && scaling_list_enabled_flag==1)には、第1の中間スケーリングファクタm[x][y]を固定値mLFNST (例えば16)に設定する。
S303D:量子化パラメータスケーリングファクタ導出
第1スケーリング部31111は、第1の中間スケーリングファクタと、量子化パラメータqPに応じたlevelScaleから、以下の式で第1のスケーリングファクタls[][]を導出する。
dep_quant_enabled_flagが1の場合には以下の式で導出する。
dep_quant_enabled_flag==0の場合には、以下の式で導出してもよい。
ここでlevelScale[] = { 40, 45, 51, 57, 64, 72 }である。
第1スケーリング部31111は、TU内の復号された変換係数TransCoeffLevelと、スケーリングファクタls[][]と形状補正項rectNormの積をシフト値bsShiftだけ右シフトすることにより、スケーリング(逆量子化)を行い、dnc[][]を導出する。
最後に、第1スケーリング部31111は、逆量子化された変換係数をクリップしd[x][y]を導出してもよい。
導出された変換係数d[][]は、逆セカンダリ変換部31121に出力される。逆セカンダリ変換部31121は変換係数に第2の変換(逆セカンダリ変換)を行い、変換係数d[][]を第2スケーリング部31112に出力する。第2スケーリング部31112は入力された変換係数d[][]に第2のスケーリングを行い逆コア変換部31123に伝達する。第2のスケーリングS320の処理は、図26の第2スケーリングS220と同じであり、説明を省略する。
S302:第1シフト値導出
S302A:TUサイズ依存シフト値導出
S303:第1スケーリングファクタ設定
第3スケーリング部31113は、第3の中間スケーリングファクタm[][]を導出する。
スケーリングリストを用いない場合(scaling_list_enabled_flag==0)、もしくは、transform_skip_flag==1かつcIdx==0の場合、m[x][y]を16に設定する。
S303B:量子化マトリックススケールファクタ導出
それ以外の場合、m[x][y]を量子化マトリックスScalingFactor2[][]に設定する。
S303D:量子化パラメータスケーリングファクタ導出
S304:第1スケーリング処理
導出された変換係数d[][]は、逆コア変換部31123に出力される。
逆コア変換部31123は、逆セカンダリ変換部31121による変換後の係数(変換係数)に対して逆コア変換を適用する。逆コア変換部31123は、逆セカンダリ変換部31121によって変換された変換係数が、スケーリング部31122によるスケーリング後の係数(変換係数)に対して、逆コア変換を適用してもよい。逆コア変換部31123は、垂直方向、水平方向の2回の1次元変換を行う手段であり、通例は変換部と呼ばれる。なお、逆コア変換部31123は、垂直方向、水平方向の一方又は両方をスキップし、変換係数の大きさ変換(スケーリング)のみをする場合を備えていてもよい。
ここで、transMatrix[ ][ ](=transMatrixV [ ][ ])は、trTypeVerを用いて導出したnTbS × nTbSの行列で表された変換基底である。nTbSはTUの高さnTbHである。trType==0のDCT2の4 × 4変換(nTbS=4)の場合には、例えばtransMatrix ={{29, 55, 74, 84}{74, 74, 0, -74}{84, -29, -74, 55}{55, -84, 74, -29}}を用いる。Σの記号は、 j = 0.. nTbS - 1までの添え字jについて、行列transMatrix[ y ][ j ]と変換係数d[ x ][ j ]の積を加算する処理を意味する。つまり、e[ x ][ y ]は、d[ x ][ y ]の各列(column)であるd[ x ][ j ](j = 0.. nTbS - 1)からなるベクトルx[ j ] (j = 0.. nTbS - 1)と行列の要素transMatrix[ y ][ j ] の積から得られる列を並べて得られる。
上式の64、7は変換基底のビット深度から決まる数値で、上式では変換基底を7bitと仮定している。またcoeffMin、coeffMaxはクリッピングの最小値と最大値である。
y ]に変換する。
上記記号Σは、 j = 0.. nTbS - 1までの添え字jについて、行列transMatrix[ x ][j]とg[j][ y ]の積を加算する処理を意味する。つまり、r[ x ][ y ]は、g[ x ][ y ]の各行(row)であるg[ j ][ y ](j = 0.. nTbS - 1)と行列transMatrixの積から得られる行を並べて得られる。
上述の例では、セカンダリ変換部は、TUが8×8以上である場合に、TUに含まれる変換係数のうち最低周波数成分を含むNUMSTC個の変換係数に対してのみセカンダリ変換を適用し、ベクトルFを導出する。そして、逆セカンダリ変換部31121は、ベクトルFに量子化及び逆量子化を施したベクトルF'を逆セカンダリ変換した後、最低周波数成分を含む領域に配置する。また、セカンダリ変換部及び逆セカンダリ変換部31121は、TUが8×8未満である場合に適用される第1種の変換基底T1、及び、TUが8×8以上である場合に適用される第2種の変換基底T2の何れかを用いてセカンダリ変換及び逆セカンダリ変換を行っている。また、セカンダリ変換部及び逆セカンダリ変換部31121は、第1種の変換基底T1を、第2種の変換基底T2から導出している。
以下、図15を用いて逆セカンダリ変換部31121による逆セカンダリ変換の適用例4について説明する。図15は、変形例における逆セカンダリ変換の対象となる領域の一例を説明するための図である。
逆セカンダリ変換では、TUが8×8より大きい場合に、逆量子化後の変換残差の左上の8×8領域RUの変換係数に対し、RST8×8として、64×16行列によって表される第2種の変換基底T2を適用してもよい。この場合、セカンダリ変換では、図13に示す逆量子化後の変換残差から領域RUを除く領域に含まれる変換係数をゼロアウトする。ここでは、逆量子化後の変換残差における左上の8×8領域RUに含まれる変換係数を保持している。しかしながら、変換係数の分布を考慮すると、左上の8×8領域RUに含まれる変換係数のみを保持して、それ以外の領域をゼロアウトするのは好ましくない。
これに対し、本実施形態では、逆セカンダリ変換部31121は、図15の変換係数の選択例4に示すように、最低周波数成分を含む8×8領域RUから、高周波数成分を含む一部の領域R5に含まれる変換係数を、逆セカンダリ変換の対象から外してもよい。また、逆セカンダリ変換部31121は、最低周波数成分を含む8×8領域RUを水平方向に拡張した領域R6を、逆セカンダリ変換の対象に含めてもよい。換言すれば、逆セカンダリ変換部31121は、逆量子化後の1次元ベクトルF'に逆セカンダリ変換を施した1次元ベクトルX'を、最低周波数成分を含む8×8領域RUに配置する場合に、高周波数成分に属する一部の領域R5に配置しなくてもよい。また、逆セカンダリ変換部31121は、最低周波数成分を含む8×8領域RUを水平方向に拡張した領域R6に1次元ベクトルX'を格納してもよい。
てもよい。換言すれば、逆セカンダリ変換部31121は、逆量子化後の1次元ベクトルF'に逆セカンダリ変換を施した1次元ベクトルV'を、図15の最低周波数成分を含む8×8領域RUに配置する場合に、高周波数成分に属する一部の領域R7に配置しなくてもよい。また、逆セカンダリ変換部31121は、最低周波数成分を含む8×8領域RUを垂直方向に拡張した領域R8に1次元ベクトルV'を格納してもよい。
次に、本実施形態に係る動画像符号化装置11の構成について説明する。図16は、本実施形態に係る動画像符号化装置11の構成を示すブロック図である。動画像符号化装置11は、予測画像生成部101、減算部102、変換・量子化部103、逆量子化・逆変換部105、加算部106、ループフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、パラメータ符号化部111、エントロピー符号化部104を含んで構成される。
図30は、図20で説明した本実施形態の逆量子化・逆変換部311に対応する変換・量子化部103の概略処理を示すフローチャートである。
図31は、図23で説明した本実施形態の逆量子化・逆変換部311に対応する変換・量子化部103の概略処理を示すフローチャートである。
図32は、図27で説明した本実施形態の逆量子化・逆変換部311に対応する変換・量子化部103の概略処理を示すフローチャートである。
ここで、trans(T)はTの転置行列である。セカンダリ変換部は、以下の式によって、一次元係数u[](ベクトルF)を導出してもよい。
ここで、Tinvは、第1種の変換基底T1及び第2種の変換基底T2から構成される変換基底Tの逆行列である。なお、セカンダリ変換部は、変換基底Tに対し、直交行列を用いることにより、変換基底Tのtrans(T)をTinvとしてもよい。
yC = (ySbIdx<<log2StSize) + DiagScanOrder[log2StSize][log2StSize][x][1]
d[ xC ][yC ] = u[x]
また、セカンダリ変換部は、TUが8×8以上である場合に、コア変換係数のうち、最低周波数成分を含むNUMSTC個以内の係数に対してのみセカンダリ変換を適用する。NUMSTCは、36個以内であればよい。例えば、36であってもよいし、32であってもよい。また、セカンダリ変換部はTUが8×8未満である場合に適用される第1種の変換基底T1、及び、TUが8×8以上である場合に適用される第2種の変換基底T2の何れかを用いてセカンダリ変換を行う。また、セカンダリ変換部は、第1種の変換基底T1を、第2種の変換基底T2から導出する。これらの何れによっても、セカンダリ変換に必要なテーブルのメモリを大幅に削減することができる。その結果、好適にセカンダリ変換を適用することができる。
イントラ予測パラメータ符号化部113は、符号化パラメータ決定部110から入力されたIn
traPredModeから、符号化するための形式(例えばintra_luma_mpm_idx、intra_luma_mpm_remainder等)を導出する。イントラ予測パラメータ符号化部113は、イントラ予測パラメータ復号部304がイントラ予測パラメータを導出する構成と、一部同一の構成を含む。
最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして出力する。符号化パラメータ決定部110は決定した符号化パラメータを予測パラメータメモリ108に記憶する。
上述の例では、セカンダリ変換部は、TUが8×8以上である場合に、コア変換係数のうち、最低周波数成分を含むNUMSTC個以内の係数に対してのみセカンダリ変換を適用している。また、セカンダリ変換部は、TUが8×8未満である場合に適用される第1種の変換基底T1、及び、TUが8×8以上である場合に適用される第2種の変換基底T2の何れかを用いてセカンダリ変換を行っている。また、セカンダリ変換部は、第1種の変換基底T1を、第2種の変換基底T2から導出するように構成されている。
上述した動画像符号化装置11及び動画像復号装置31は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CG及びGUIを含む)であってもよい。
また、上述した動画像復号装置31及び動画像符号化装置11の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random
Access Memory)、上記プログラム及び各種データを格納するメモリ等の記憶装置(記録媒体)等を備えている。そして、本発明の実施形態の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(又はCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
301 エントロピー復号部
302 パラメータ復号部
3020 ヘッダ復号部
308 予測画像生成部
311 逆量子化・逆変換部
312 加算部
11 動画像符号化装置
101 予測画像生成部
102 減算部
103 変換・量子化部
104 エントロピー符号化部
105 逆量子化・逆変換部
107 ループフィルタ
110 符号化パラメータ決定部
111 パラメータ符号化部
1110 ヘッダ符号化部
1111 CT情報符号化部
1112 CU符号化部(予測モード符号化部)
1114 TU符号化部
3111 逆量子化部
3112 逆変換部
31121 逆セカンダリ変換部
31122 スケーリング部
31123 逆コア変換部
31111 第1スケーリング部
31113 第3スケーリング部
31112 第2スケーリング部
Claims (6)
- 変換ユニット毎に変換係数を逆変換する画像復号装置であって、
復号した変換係数に対してスケーリングする第1のスケーリング部と、
前記変換係数に対して逆セカンダリ変換を適用する第2の変換部と、
前記第2の変換部による変換後の変換係数に対してスケーリングする第2のスケーリング部と、
前記第1のスケーリング部もしくは第2のスケーリング部によるスケーリング後の変換係数に対して逆コア変換を適用する第1の変換部と
を備えていることを特徴とする画像復号装置。 - 上述の第1のスケーリング部は、変換ユニットのサイズを用いるシフト値、もしくは、変ユニットのサイズを用いない所定の値のシフト値を導出し、
量子化パラメータを用いるスケールファクタを導出し、
上記シフト値と上記スケールファクタを用いて変換係数に対して第1のスケーリングを行い、
上記第2のスケーリング部は、量子化マトリックスが有効な場合には、量子化マトリックスを用いたスケールファクタを導出し、上記スケールファクタを用いて、変換係数に対して第2のスケーリングを行うことを特徴とする請求項1に記載の画像復号装置。 - 上述の第1のスケーリング部は、セカンダリ変換が有効な場合に、変換ユニットのサイズを用いるシフト値、それ以外の場合に、変換ユニットのサイズを用いない所定の値のシフト値を導出し、量子化パラメータを用いるスケールファクタを導出し、
上記シフト値と上記スケールファクタを用いて変換係数に対して第1のスケーリングを行い、
上記第2のスケーリング部は、セカンダリ変換が有効な場合に、変換ユニットのサイズを用いない所定の値のシフト値、それ以外の場合に、変換ユニットのサイズを用いるシフト値を導出し、
量子化マトリックスが有効な場合には、量子化マトリックスを用いたスケールファクタ、それ以外の場合に、所定の値のスケールファクタを導出し、
上記スケールファクタを用いて、変換係数に対して第2のスケーリングを行うことを特徴とする請求項2に記載の画像復号装置。 - 上述の第1のスケーリング部は、変換ユニットのサイズを用いるシフト値を導出し、
量子化パラメータを用いるスケールファクタを導出し、
セカンダリ変換が有効ではなく、かつ、量子化マトリックスが有効な場合に、量子化マトリックスを用いたスケールファクタを導出し、
上記シフト値と上記スケールファクタを用いて変換係数に対して第1のスケーリングを行い、
上記第2のスケーリング部は、セカンダリ変換が有効、かつ、量子化マトリックスが有効な場合には、量子化マトリックスを用いたスケールファクタを導出し、上記スケールファクタを用いて、変換係数に対して第2のスケーリングを行うことを特徴とする請求項1に記載の画像復号装置。 - 上述の第1のスケーリング部は、変換ユニットのサイズを用いるシフト値を導出し
セカンダリ変換が有効、かつ、量子化マトリックスが有効である場合に、所定の値のスケールファクタを導出し、量子化パラメータを用いるスケールファクタを導出し、
セカンダリ変換が有効ではなく、かつ、量子化マトリックスが有効な場合に、量子化マトリックスを用いたスケールファクタを導出し、
上記シフト値と上記スケールファクタを用いて変換係数に対して第1のスケーリングを
行い、
上記第2のスケーリング部は、セカンダリ変換が有効、かつ、量子化マトリックスが有効な場合には、量子化マトリックスを用いたスケールファクタを導出し、上記スケールファクタを用いて、変換係数に対して第2のスケーリングを行うことを特徴とする請求項1に記載の画像復号装置。 - 変換ユニット毎に予測誤差の変換後の各係数を変換して変換係数を導出する画像符号化装置であって、
前記予測誤差に対してコア変換を適用する第1の変換部と、
前記第1の変換部による変換後の係数に対して、スケーリングする第2のスケーリング部と、
前記スケーリング部によるスケーリング後の変換係数に対してセカンダリ変換を適用する第2の変換部と、
前記第2の変換部による変換後の係数に対して、スケーリングする第1のスケーリング部と、を備えていることを特徴とする画像符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019105813A JP2020202417A (ja) | 2019-06-06 | 2019-06-06 | 画像復号装置及び画像符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019105813A JP2020202417A (ja) | 2019-06-06 | 2019-06-06 | 画像復号装置及び画像符号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020202417A true JP2020202417A (ja) | 2020-12-17 |
Family
ID=73744093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019105813A Pending JP2020202417A (ja) | 2019-06-06 | 2019-06-06 | 画像復号装置及び画像符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020202417A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022133320A1 (en) * | 2020-12-18 | 2022-06-23 | Beijing Dajia Internet Information Technology Co., Ltd. | Network based image filtering for video coding |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018037737A1 (ja) * | 2016-08-24 | 2018-03-01 | ソニー株式会社 | 画像処理装置、画像処理方法、及びプログラム |
-
2019
- 2019-06-06 JP JP2019105813A patent/JP2020202417A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018037737A1 (ja) * | 2016-08-24 | 2018-03-01 | ソニー株式会社 | 画像処理装置、画像処理方法、及びプログラム |
Non-Patent Citations (2)
Title |
---|
BENJAMIN BROSS ET AL., VERSATILE VIDEO CODING (DRAFT 5), JPN6023022121, 29 May 2019 (2019-05-29), pages 245 - 246, ISSN: 0005076015 * |
RECOMMENDATION ITU-T H.265 (04/2013), JPN6023022120, April 2013 (2013-04-01), pages 142 - 143, ISSN: 0005076016 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022133320A1 (en) * | 2020-12-18 | 2022-06-23 | Beijing Dajia Internet Information Technology Co., Ltd. | Network based image filtering for video coding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7402016B2 (ja) | 画像復号装置及び画像符号化装置 | |
JP7469904B2 (ja) | 画像復号装置、画像符号化装置、画像復号方法及び画像符号化方法 | |
WO2020241858A1 (ja) | 画像復号装置 | |
WO2020116376A1 (ja) | 動画像復号装置および動画像符号化装置 | |
JPWO2020241858A5 (ja) | ||
CN112532976A (zh) | 运动图像解码装置以及运动图像编码装置 | |
WO2020184366A1 (ja) | 画像復号装置 | |
WO2020067440A1 (ja) | 動画像符号化装置および動画像復号装置 | |
JP2021150703A (ja) | 画像復号装置及び画像符号化装置 | |
WO2020004349A1 (ja) | 動画像符号化装置および動画像復号装置 | |
JP2020141285A (ja) | 画像復号装置 | |
JP2020202417A (ja) | 画像復号装置及び画像符号化装置 | |
WO2021246284A1 (ja) | 動画像復号装置及び動画像符号化装置 | |
JP2021034887A (ja) | 画像復号装置及び画像符号化装置 | |
JP7397586B2 (ja) | 画像復号装置及び画像符号化装置 | |
JP2021158546A (ja) | 画像復号装置及び画像符号化装置 | |
JP2021034848A (ja) | 画像復号装置 | |
JP2021153213A (ja) | 動画像符号化装置および動画像復号装置 | |
JP2020195012A (ja) | 画像復号装置及び画像符号化装置 | |
JP7425568B2 (ja) | 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法 | |
JP7444570B2 (ja) | 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法 | |
JP2021016058A (ja) | 画像復号装置及び画像符号化装置 | |
JP2021048556A (ja) | 画像復号装置及び画像符号化装置 | |
JP2021061470A (ja) | 画像復号装置及び画像符号化装置 | |
JP2020205483A (ja) | 画像復号装置および画像符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220519 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20221207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230606 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20231128 |