JP7323014B2 - 映像復号方法 - Google Patents
映像復号方法 Download PDFInfo
- Publication number
- JP7323014B2 JP7323014B2 JP2022098633A JP2022098633A JP7323014B2 JP 7323014 B2 JP7323014 B2 JP 7323014B2 JP 2022098633 A JP2022098633 A JP 2022098633A JP 2022098633 A JP2022098633 A JP 2022098633A JP 7323014 B2 JP7323014 B2 JP 7323014B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- prediction mode
- prediction
- intra prediction
- unit
- 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.)
- Active
Links
Images
Description
本発明は、映像復号方法に関する。
映像データの圧縮符号化に関する国際標準として、H.265/HEVC(High Efficiency Video Coding)が知られている。以下では、H.265/HEVCを指して、HEVCと記載することがある。
HEVCでは、イントラ予測とインター予測の2つの予測方法が採用されており、イントラ予測モードとしては、プラナー予測、直流予測、及び角度予測の3種類が規定されている。
図1は、HEVCの角度予測において使用される角度を示している。イントラ予測では、ラスタスキャン順で先に符号化されたブロックの局所復号画素値が予測画素値として用いられるため、参照方向は、左下方向から時計回りに右上方向までのいずれかの方向になる。左水平方向を示す角度を0度とした場合、参照方向の角度範囲は、-45度から+135度までの範囲である。
-45度から+135度までの各角度に対して、2から34までの番号が順番に割り当てられており、これらの番号が角度予測の33通りのイントラ予測モードを表している。なお、0及び1は、プラナー予測及び直流予測に対してそれぞれ割り当てられている。これらの2つのイントラ予測モードは、方向性を持たない空間的なイントラ予測に対応する。イントラ予測符号化では、33通りの参照方向のうち、指定された参照方向に合致した外挿を行うことで、符号化対象ブロックの予測画素値が生成される。
図2は、イントラ予測モード“6”(-22.5度)の場合の外挿方法の例を示している。符号化対象ブロックの上側に隣接する上隣接ブロック、及び符号化対象ブロックの左側に隣接する左隣接ブロックは、符号化済みブロックである。上隣接ブロックは、符号化対象ブロックの水平方向の2辺のうち上側の辺に隣接し、左隣接ブロックは、符号化対象ブロックの垂直方向の2辺のうち左側の辺に隣接する。
隣接画素201(斜線の正方形)は、上隣接ブロック又は左隣接ブロック内の画素であり、画素202(白抜きの正方形)は、符号化対象ブロック内の画素である。各画素202を通る矢印付き線分203は、イントラ予測モード“6”における参照方向を示している。
各画素202を通る矢印付き線分203の終端に存在する隣接画素201の画素値が、その画素202の予測画素値として用いられる。画素202を複数の矢印付き線分203が通っている場合は、それぞれの矢印付き線分203の終端に存在する隣接画素201の画素値の重み付き加算が、予測画素値となる。
現在、映像データの圧縮符号化に関する次期国際標準として、VVC(Versatile Video Coding)の規格化作業が進められている(例えば、非特許文献1を参照)。HEVCにおけるブロックの形状は正方形のみであるが、VVCでは、符号化効率をさらに向上させるため、長方形のブロックも使用される。
図3は、VVCにおけるブロック分割の例を示している。図3(a)は、四分割を示している。この場合、水平方向のサイズ(幅)がW画素であり、垂直方向のサイズ(高さ)がH画素であるブロックが、同じ形状の4個のブロックに分割される。分割後の各ブロックの幅はW/2画素であり、高さはH/2画素である。以下では、W画素の幅を「幅W」と記載し、H画素の高さを「高さH」と記載することがある。
図3(b)は、横二分割及び縦二分割を示している。横二分割の場合、幅W及び高さHのブロックが、水平方向の分割線によって、同じ形状の2個のブロックに分割される。分割後の各ブロックの幅はW画素であり、高さはH/2画素である。一方、縦二分割の場合、幅W及び高さHのブロックが、垂直方向の分割線によって、同じ形状の2個のブロックに分割される。分割後の各ブロックの幅はW/2画素であり、高さはH画素である。
図3(c)は、横三分割及び縦三分割を示している。横三分割の場合、幅W及び高さHのブロックが、水平方向の2本の分割線によって、3個のブロックに分割される。分割後の各ブロックの幅はW画素であり、上下2個のブロックの高さはH/4画素であり、中央のブロックの高さはH/2画素である。縦三分割の場合、幅W及び高さHのブロックが、垂直方向の2本の分割線によって、3個のブロックに分割される。分割後の各ブロックの高さはH画素であり、左右2個のブロックの幅はW/4画素であり、中央のブロックの幅はW/2画素である。
図4は、画像のブロック分割の例を示している。図4に示すように、VVCでは、正方形のブロックだけでなく、長方形のブロックが使用可能になる。長方形のブロックの高さ及び幅の比率(縦横比)としては、1:2及び2:1だけでなく、それ以外の縦横比も使用可能である。
また、イントラ予測の処理において、より近い復号済み画素を利用して主観画質と符号化効率を改善する技術が知られている(例えば、特許文献1を参照)。
"Versatile Video Coding (Draft 2)", JVET-K1001, JVET of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, July 2018
VVCのイントラ予測モードを示すパラメータの符号化方法では、HEVCと同様に、3つの最確モード(Most Probable Mode,MPM)をエントリとして含む、MPMリストが用いられる。MPMは、符号化対象ブロックにおけるイントラ予測モードの候補値(予測値)として用いられる。
しかしながら、隣接ブロックの形状と符号化対象ブロックの形状とが異なる場合、現状のVVCにおけるMPMリストの生成方法では、必ずしも適切なMPMが設定されるとは限らない。
なお、かかる問題は、VVCを採用する映像符号化に限らず、長方形のブロックに対するイントラ予測を採用する他の映像符号化においても生ずるものである。
1つの側面において、本発明は、長方形のブロックに対するイントラ予測モードの候補値を用いた映像符号化において、適切な候補値を設定することを目的とする。
1つの案では、映像復号装置は、符号化映像を復号し、符号化映像に含まれる符号化画像内の復号対象ブロックの形状を判定する。映像復号装置は、予測モード情報の候補値を含む候補情報を用いて、復号対象ブロックの予測モード情報が示すイントラ予測モードにおける、復号対象ブロックのイントラ予測画素値を生成する。
復号対象ブロックに隣接する復号済みブロックの第1予測モード情報に対応する第1予測モードが、復号対象ブロックの形状において復号対象ブロックの予測に用いられない予測モードになる場合に、第1予測モード情報が変更される。この場合、候補情報は、第1予測モード情報を復号対象ブロックの予測に用いられる予め定められた予測モードを示す予測モード情報に変更した第2予測モード情報を用いて、生成される。
映像復号装置は、イントラ予測画素値と復号対象ブロックの予測残差情報とに基づいて、復号対象ブロックの画素値を生成する。
実施形態によれば、長方形のブロックに対するイントラ予測モードの候補値を用いた映像符号化において、適切な候補値を設定することができる。
以下、図面を参照しながら、実施形態を詳細に説明する。
非正方形である長方形のブロックに対するイントラ予測を行う場合、HEVCの角度予測(-45度~+135度)では不十分となる場合がある。そこで、VVCでは、長方形のブロックに対する角度予測の角度範囲を拡張することで、この問題に対応している。
図5は、VVCの角度予測において使用される角度を示している。VVCでは、HEVCの角度予測の精度を2倍にするため、使用される角度の間隔が1/2に削減されている。さらに、長方形のブロック向けの参照方向として、-73度~-45度及び+135度~+163度の範囲の角度が追加されている。
角度範囲501は、正方形及び長方形のブロック向けの-45度~+45度の角度予測(33通り)を表し、角度範囲502は、正方形及び長方形のブロック向けの+45度~+135度の角度予測(32通り)を表す。角度範囲503は、長方形のブロック向けに追加された-73度~-45度の角度予測(10通り)を表し、角度範囲504は、長方形のブロック向けに追加された+135度~+163度の角度予測(10通り)を表す。合計85通りの角度予測にプラナー予測及び直流予測を加えると、イントラ予測モードの総数は87通りとなる。
図6は、図5の角度範囲501及び角度範囲502の角度予測に割り当てられるイントラ予測モードを示している。-45度から+135度までの各角度に対して、2から66までの番号が順番に割り当てられており、これらの番号が65通りのイントラ予測モードを表している。0及び1は、HEVCの場合と同様に、プラナー予測及び直流予測に対してそれぞれ割り当てられる。
図7は、図5の角度範囲503及び角度範囲504の角度予測に割り当てられるイントラ予測モードを示している。+135度の直後から+163度までの各角度に対して、67から76までの番号が順番に割り当てられており、-73度から-45度の直前までの各角度に対して、-10から-1までの番号が順番に割り当てられている。67~76の角度予測は、幅が高さよりも大きい横長のブロックに対して使用され、-10~-1の角度予測は、高さが幅よりも大きい縦長のブロックに対して使用される。
イントラ予測モードの総数を増やすことで、イントラ予測における予測誤差を減らすことができるが、イントラ予測モードを示すパラメータのビット量が増加する。符号化性能の向上を図る場合、予測誤差の削減とパラメータのビット量の増加とのバランスを取ることが望ましい。
VVCのイントラ予測の場合、長方形のブロック向けにイントラ予測モードの総数が67個から87個に増加する。ただし、長方形のブロックに対して予測効率が低い角度予測の番号を、追加された角度予測に割り当てることで、ブロック毎に選択可能なイントラ予測モードの総数を67個のままにとどめている。
図8は、長方形のブロックに対する角度予測の例を示している。符号化対象ブロック801は、縦横比が1:2の横長のブロックであり、画素802は、符号化対象ブロック801内の右下隅に位置している。符号化対象ブロックの上側に隣接する上隣接ブロック及び符号化対象ブロックの左側に隣接する左隣接ブロックは、符号化済みブロックである。隣接画素803(斜線)は、上隣接ブロック又は左隣接ブロック内の画素であり、イントラ予測において参照される。
矢印810、矢印811、矢印820、及び矢印821は、それぞれ、-45度、-30度、+135度、及び+150度の参照方向を示している。このうち、矢印811及び矢印821は、符号化対象ブロック801の左下頂点と右上頂点を結ぶ対角線831に平行な参照方向を示している。画素802が予測対象画素である場合、それぞれの矢印が指している隣接画素803が参照画素として用いられ、その隣接画素803の画素値が、画素802の予測画素値として用いられる。
ここで、角度予測の予測効率は、予測対象画素と参照画素の距離に反比例する。すなわち、予測対象画素と参照画素の距離が近いほど、予測誤差が小さくなることが期待できるため、予測効率が向上する。その結果、予測対象画素の符号化効率が向上する。
図8のそれぞれの矢印の長さは、予測対象画素と参照画素の距離を表している。例えば、矢印810の長さは、その延長線上に存在する矢印820の長さよりも長い。仮に、符号化対象ブロック801が正方形であったと仮定すれば、両者の長さは同一になる。一方、矢印811の長さは、その延長線上に存在する矢印821の長さと同一である。
このことから、縦横比が1:2のブロックでは、-30度~-45度の範囲の角度予測は予測効率が低く、イントラ予測において選択される確率が低いことが分かる。例えば、符号化対象ブロック801の周囲に均一なテクスチャが存在し、そのエッジ方向が矢印810及び矢印820と平行である場合、矢印810の参照方向の代わりに、矢印820の参照方向を選択することで、予測効率の向上が期待される。
角度予測を拡張する際に、このような長方形のブロック特有の性質を利用して番号の再割り当てを行うことで、予測効率を低下させることなく、使用可能な角度予測の総数を維持することができる。
角度予測の番号の再割り当て方法について、図5~図7を用いて説明する。番号の再割り当てでは、図6に示した角度予測のうち、長方形のブロックに対して予測効率が低い角度予測の番号が、図7に示した角度予測に対して割り当てられる。
例えば、符号化対象ブロックが横長のブロックである場合、角度範囲504の10通りの角度を約180°反転させた角度を、角度予測に使用しないことにする。具体的には、角度範囲501の下から上へ向かって10通りの角度は使用されず、これらの角度の番号2~11が、角度範囲504の67~76の角度に対してそれぞれ割り当てられる。
一方、符号化対象ブロックが縦長のブロックである場合、角度範囲503の10通りの角度を約180°反転させた角度を、角度予測に使用しないことにする。具体的には、角度範囲502の右から左へ向かって10通りの角度は使用されず、これらの角度の番号57~66が、角度範囲503の-10~-1の角度に対してそれぞれ割り当てられる。
なお、12~56の角度予測については、符号化対象ブロックの形状によらず、再割り当てによって、元の番号と同じ番号が割り当てられる。
以下では、再割り当て後の番号0~66を第1イントラ予測モードと記載し、再割り当て前の番号-10~76を第2イントラ予測モードと記載することがある。第1イントラ予測モードは、予測モード情報の一例である。第2イントラ予測モードの番号は、図6及び図7に示した角度を表している。
第1イントラ予測モードを示すパラメータをMPMリストを用いて符号化する場合、符号化対象ブロックの第1イントラ予測モードと高い相関性を持つ、左隣接ブロック及び上隣接ブロックの第1イントラ予測モードが、MPMリストのエントリとして用いられる。さらに、符号化対象ブロックで選択される可能性が高いプラナー予測及び直流予測も、MPMリストのエントリとして用いられる。MPMリストの3つのエントリには、それぞれ異なる第1イントラ予測モードが設定される。そして、2ビットのシンタックス要素IntraLumaMPMIdxによって、3つのエントリのうちの1つが指定される。
MPMリストのいずれのエントリも、符号化対象ブロックの第1イントラ予測モードと合致しない場合は、シンタックス要素IntraLumaMPMRemainderによって、直接、符号化対象ブロックの第1イントラ予測モードが符号化される。
このとき、各ブロックで選択可能な第1イントラ予測モードの総数67から、MPMリストによってシグナリング可能な第1イントラ予測モードの総数3を減算すると、減算結果は64になる。したがって、IntraLumaMPMRemainderによって表現される第1イントラ予測モードの総数は、64個である。Log2(64)=6であるから、IntraLumaMPMRemainderの最小ビット数は6ビットになる。
VCC規格において、映像符号化装置が、第1イントラ予測モードを示すIntraDirから、IntraLumaMPMRemainderを導出する手順は、以下の通りである。
(P1)映像符号化装置は、IntraDirの値をIntraLumaMPMRemainderに設定する。
(P2)映像符号化装置は、MPMリストのエントリを昇順でソートし、mpm_sort[i] (i=0..2, mpm_sort[0]<mpm_sort[1]<mpm_sort[2])を生成する。
(P3)映像符号化装置は、mpm_sort[i]とIntraLumaMPMRemainderとを順番に比較し、mpm_sort[i]<=IntraLumaMPMRemainderであれば、IntraLumaMPMRemainderを1だけデクリメントする。
(P1)映像符号化装置は、IntraDirの値をIntraLumaMPMRemainderに設定する。
(P2)映像符号化装置は、MPMリストのエントリを昇順でソートし、mpm_sort[i] (i=0..2, mpm_sort[0]<mpm_sort[1]<mpm_sort[2])を生成する。
(P3)映像符号化装置は、mpm_sort[i]とIntraLumaMPMRemainderとを順番に比較し、mpm_sort[i]<=IntraLumaMPMRemainderであれば、IntraLumaMPMRemainderを1だけデクリメントする。
最終的に得られるIntraLumaMPMRemainderの値は、IntraDirの値よりも最大3だけ小さくなる。
一方、映像復号装置がIntraLumaMPMRemainderからIntraDirを導出する手順は、以下の通りである。
(P11)映像復号装置は、IntraLumaMPMRemainderの値をIntraDirに設定する。
(P12)映像復号装置は、手順(P2)と同様にして、mpm_sort[i]を生成する。
(P13)映像復号装置は、mpm_sort[i]とIntraDirとを順番に比較し、mpm_sort[i]<= IntraDirであれば、IntraDirを1だけインクリメントする。
(P11)映像復号装置は、IntraLumaMPMRemainderの値をIntraDirに設定する。
(P12)映像復号装置は、手順(P2)と同様にして、mpm_sort[i]を生成する。
(P13)映像復号装置は、mpm_sort[i]とIntraDirとを順番に比較し、mpm_sort[i]<= IntraDirであれば、IntraDirを1だけインクリメントする。
最終的に得られるIntraDirの値は、IntraLumaMPMRemainderの値よりも最大3だけ大きくなる。
次に、VVC規格におけるMPMリストの生成方法を説明する。左隣接ブロックのIntraDir及び上隣接ブロックのIntraDirを、それぞれ、candIntraPredModeA及びcandIntraPredModeBとし、MPMリストのi番目(i=0,1,2)のエントリの値をcandModeList[i]とする。このとき、candModeList[0]~candModeList[2]は、次のようにして決定される。
・(candIntraPredModeA == candIntraPredModeB)かつ(candIntraPredModeA < 2)の場合
candModeList[0] = 0
candModeList[1] = 1
candModeList[2] = 50
・(candIntraPredModeA == candIntraPredModeB)かつ(candIntraPredModeA >= 2)の場合
candModeList[0] = candIntraPredModeA
candModeList[1] = 2 + ((candIntraPredModeA + 61) % 64)
candModeList[2] = 2 + ((candIntraPredModeA - 1) % 64)
・(candIntraPredModeA != candIntraPredModeB)の場合
candModeList[0] = candIntraPredModeA
candModeList[1] = candIntraPredModeB
(candModeList[0] != 0)かつ(candModeList[1] != 0)の場合
candModeList[2] = 0
(candModeList[0] != 1)かつ(candModeList[1] != 1)の場合
candModeList[2] = 1
上記以外の場合
candModeList[2] = 50
ただし、“% 64”は、64を除数とする除算の剰余を表す。この生成方法によれば、candIntraPredModeA又はcandIntraPredModeBがMPMとして用いられることがある。
・(candIntraPredModeA == candIntraPredModeB)かつ(candIntraPredModeA < 2)の場合
candModeList[0] = 0
candModeList[1] = 1
candModeList[2] = 50
・(candIntraPredModeA == candIntraPredModeB)かつ(candIntraPredModeA >= 2)の場合
candModeList[0] = candIntraPredModeA
candModeList[1] = 2 + ((candIntraPredModeA + 61) % 64)
candModeList[2] = 2 + ((candIntraPredModeA - 1) % 64)
・(candIntraPredModeA != candIntraPredModeB)の場合
candModeList[0] = candIntraPredModeA
candModeList[1] = candIntraPredModeB
(candModeList[0] != 0)かつ(candModeList[1] != 0)の場合
candModeList[2] = 0
(candModeList[0] != 1)かつ(candModeList[1] != 1)の場合
candModeList[2] = 1
上記以外の場合
candModeList[2] = 50
ただし、“% 64”は、64を除数とする除算の剰余を表す。この生成方法によれば、candIntraPredModeA又はcandIntraPredModeBがMPMとして用いられることがある。
しかしながら、隣接ブロック(左隣接ブロック又は上隣接ブロック)の縦横比と符号化対象ブロックの縦横比とが異なる場合、隣接ブロックで使用可能な角度予測が符号化対象ブロックでは使用不可能であることがある。
例えば、隣接ブロックが縦長のブロックであり、符号化対象ブロックが正方形のブロックである場合を想定する。隣接ブロックの第2イントラ予測モードが“-8”である場合、対応する第1イントラ予測モードは“59”である。
しかし、ブロック間における参照方向の連続性の観点から、正方形である符号化対象ブロックの第1イントラ予測モードの候補値としては、図6に示した角度予測のうち、第2イントラ予測モード“-8”が示す角度に最も近い番号である“2”の方が適している。参照方向の角度が近いほど予測誤差が小さくなることが期待できるため、その参照方向が符号化対象ブロックにおいて選択される確率が高くなる。
したがって、隣接ブロックの縦横比と符号化対象ブロックの縦横比とが異なる場合には、ブロック間における参照方向の連続性を考慮して、MPMリストを生成することが望ましい。
図9は、実施形態の映像符号化装置の機能的構成例を示している。図9の映像符号化装置901は、生成部911、予測部912、第1符号化部913、及び第2符号化部914を含む。
生成部911は、映像に含まれる画像内の符号化対象ブロックの形状と、符号化対象ブロックに隣接する符号化済みブロックの形状との組み合わせに基づいて、第1予測モード情報を第2予測モード情報に変更する。第1予測モード情報は、符号化済みブロックの符号化に用いたイントラ予測モードを示す予測モード情報である。そして、生成部911は、第2予測モード情報を用いて、予測モード情報の候補値を含む候補情報を生成する。
予測部912は、所定のイントラ予測モードにおける、符号化対象ブロックのイントラ予測画素値を生成する。第1符号化部913は、イントラ予測画素値を用いて符号化対象ブロックを符号化し、第2符号化部914は、候補情報を用いて、所定のイントラ予測モードを示す予測モード情報を符号化する。
図10は、実施形態の映像復号装置の機能的構成例を示している。図10の映像復号装置1001は、復号部1011、生成部1012、予測部1013、及び復元部1014を含む。
復号部1011は、符号化映像を復号して、符号化映像に含まれる符号化画像内の復号対象ブロックの予測残差情報を抽出する。さらに、復号部1011は、復号対象ブロックのイントラ予測モードを示す予測モード情報と、復号対象ブロックに隣接する復号済みブロックのイントラ予測モードを示す第1予測モード情報とを抽出する。
生成部1012は、復号対象ブロックの形状と復号済みブロックの形状との組み合わせに基づいて、第1予測モード情報を第2予測モード情報に変更し、第2予測モード情報を用いて、予測モード情報の候補値を含む候補情報を生成する。
予測部1013は、候補情報を用いて、復号対象ブロックの予測モード情報が示すイントラ予測モードにおける、復号対象ブロックのイントラ予測画素値を生成する。復元部1014は、イントラ予測画素値と予測残差情報とを用いて、復号対象ブロックの画素値を生成する。
図9の映像符号化装置901及び図10の映像復号装置1001によれば、長方形のブロックに対するイントラ予測モードの候補値を用いた映像符号化において、適切な候補値を設定することができる。
図11は、図9の映像符号化装置901の具体例を示している。図11の映像符号化装置1101は、減算部1111、変換・量子化部1112、及びエントロピー符号化部1113、モード判定部1114、イントラ予測部1115、及びインター予測部1116を含む。映像符号化装置1101は、さらに、逆量子化・逆変換部1117、加算部1118、ポストフィルタ部1119、及びフレームメモリ1120を含む。減算部1111及び変換・量子化部1112は、図9の第1符号化部913に対応する。
映像符号化装置1101は、例えば、ハードウェア回路として実装することができる。この場合、映像符号化装置1101の各構成要素を個別の回路として実装してもよく、1つの集積回路として実装してもよい。
映像符号化装置1101は、入力される映像を符号化し、符号化映像を符号化ストリームとして出力する。映像符号化装置1101は、符号化ストリームを、通信ネットワークを介して、図10の映像復号装置1001へ送信することができる。
例えば、映像符号化装置1101は、ビデオカメラ、映像送信装置、テレビ電話システム、コンピュータ、又は携帯端末装置に組み込まれていてもよい。
入力される映像は、複数の時刻それぞれに対応する複数の画像を含む。各時刻の画像は、ピクチャ又はフレームと呼ばれることもある。各画像は、カラー画像であってもよく、モノクロ画像であってもよい。カラー画像の場合、画素値はRGB形式であってもよく、YUV形式であってもよい。
映像復号装置における復号処理と同一の局所復号処理を、映像符号化装置に実装することにより、映像符号化装置及び映像復号装置において、予測モードを示すパラメータ及び予測残差情報から、同一の予測画像を生成することができる。この場合、差分情報のみを符号化ストリームとして伝送すればよいため、高い圧縮効率の映像符号化が実現される。逆量子化・逆変換部1117、加算部1118、ポストフィルタ部1119、及びフレームメモリ1120は、映像符号化装置901における局所復号処理に用いられる。
各画像は所定サイズの単位ブロックに分割され、ラスタスキャン順で単位ブロック毎に符号化される。単位ブロックがそのまま符号化対象ブロックとして用いられることもあり、単位ブロックをさらに細かく分割したブロックが符号化対象ブロックとして用いられることもある。そして、符号化対象ブロックに対してイントラ予測又はインター予測が実施される。
イントラ予測の場合、上隣接ブロック又は左隣接ブロック内の隣接画素を用いて、各イントラ予測モードにおける符号化対象ブロックの予測画像が生成され、最も予測効率の高いイントラ予測モードが選択される。イントラ予測モードとしては、プラナー予測、直流予測、及び図5に示した角度予測が用いられ、最も予測効率の高いイントラ予測モードを示すパラメータ及び予測残差情報が、符号化ストリームとして伝送される。
インター予測の場合、過去に符号化済みの画像を参照画像として設定し、動きベクトル探索によって、符号化対象ブロックと参照画像内の参照ブロックとの間でブロックマッチング処理を行うことで、最も予測効率の高い参照ブロックが検出される。そして、参照画像の情報と、検出された参照ブロックの位置を示す動きベクトルの情報とが、インター予測モードを示すパラメータとして伝送され、その参照ブロックと符号化対象ブロックの差分が予測残差情報として伝送される。
イントラ予測部1115は、加算部1118から出力されるポストフィルタ適用前の復号画素値を用いて、符号化対象ブロックのイントラ予測画素値を計算し、モード判定部1114へ出力する。インター予測部1116は、フレームメモリ1120から出力される参照画像の画素値を用いて、符号化対象ブロックのインター予測画素値を計算し、モード判定部1114へ出力する。
1つの符号化対象ブロックに対しては1種類の符号化処理が適用されるため、モード判定部1114は、イントラ予測又はインター予測のいずれの方が予測効率が高いかを判定し、予測効率が高い方の予測結果を選択する。そして、モード判定部1114は、イントラ予測画素値又はインター予測画素値のうち、選択した予測結果の予測画素値を、減算部1111及び加算部1118へ出力する。
減算部1111は、符号化対象ブロックの画素値と、モード判定部1114から出力される予測画素値との差分を、予測残差として変換・量子化部1112へ出力する。変換・量子化部1112は、予測残差の直交変換及び量子化を行い、量子化係数を予測残差情報として、エントロピー符号化部1113及び逆量子化・逆変換部1117へ出力する。
エントロピー符号化部1113は、量子化係数と、選択されたイントラ予測モード又はインター予測モードを示すパラメータとを、エントロピー符号化(可変長符号化)によってバイナリ列に変換し、符号化映像を出力する。
逆量子化・逆変換部1117は、量子化係数の逆量子化及び逆直交変換を行って予測残差を復元し、復元した予測残差を加算部1118へ出力する。加算部1118は、モード判定部1114から出力される予測画素値と、逆量子化・逆変換部1117から出力される予測残差とを加算して、ポストフィルタ適用前の復号画素値を生成する。そして、加算部1118は、生成した復号画素値をポストフィルタ部1119及びイントラ予測部1115へ出力する。
ポストフィルタ部1119は、量子化誤差を削減するために、ポストフィルタ適用前の復号画素値に対してポストフィルタを適用し、ポストフィルタ適用後の復号画素値を生成する。そして、ポストフィルタ部1119は、生成した復号画素値をフレームメモリ1120へ出力する。
フレームメモリ1120は、ポストフィルタ適用後の復号画素値を局所復号画素値として記憶する。フレームメモリ1120が記憶する局所復号画素値は、参照画像の画素値として、インター予測部1116へ出力される。
図12は、図11のイントラ予測部1115の機能的構成例を示している。図12のイントラ予測部1115は、MPM生成部1211、予測モード計算部1212、符号化部1213、予測モード計算部1214、及びフィルタ部1215を含む。MPM生成部1211、符号化部1213、及びフィルタ部1215は、図9の生成部911、第2符号化部914、及び予測部912にそれぞれ対応する。
MPM生成部1211及び予測モード計算部1214には、不図示の符号化制御部から、符号化対象ブロック、左隣接ブロック、及び上隣接ブロックの形状を示す形状パラメータが入力される。形状パラメータとしては、各ブロックの幅W及び高さHが用いられる。
MPM生成部1211には、予測モード計算部1212から、符号化対象ブロック、左隣接ブロック、及び上隣接ブロックの第1イントラ予測モードが入力される。MPM生成部1211は、符号化対象ブロックの形状と各隣接ブロックの形状との組み合わせに基づいて、その隣接ブロックの第1イントラ予測モードを変更する。なお、インター予測モードが選択された隣接ブロックの第1イントラ予測モードは、直流予測とみなされる。
そして、MPM生成部1211は、左隣接ブロック及び上隣接ブロックの変更後の第1イントラ予測モードを用いて、MPMリストを生成し、生成したMPMリストと符号化対象ブロックの第1イントラ予測モードとを、符号化部1213へ出力する。MPMリストは、予測モード情報の候補値を含む候補情報の一例である。
予測モード計算部1214は、すべての第2イントラ予測モードの予測効率を計算する探索処理を行うことで、符号化対象ブロックに対して最も予測効率の高い第2イントラ予測モードを決定する。そして、予測モード計算部1214は、決定した第2イントラ予測モードを予測モード計算部1212及びフィルタ部1215へ出力する。
予測モード計算部1212は、予測モード計算部1214から出力される第2イントラ予測モードを第1イントラ予測モードに変換して、MPM生成部1211へ出力する。これにより、図6及び図7に示した各角度を示す第2イントラ予測モードの番号が、第1イントラ予測モードの番号に変換される。
フィルタ部1215は、ポストフィルタ適用前の復号画素値に対して、予測モード計算部1214から出力される第2イントラ予測モードに対応するフィルタを適用し、符号化対象ブロックのイントラ予測画素値を生成する。そして、フィルタ部1215は、生成したイントラ予測画素値をモード判定部1114へ出力する。第2イントラ予測モードに対応するフィルタは、VVC規格によって規定されている。
符号化部1213は、MPMリストを用いて、符号化対象ブロックの第1イントラ予測モードを符号化し、第1イントラ予測モードを示すイントラ予測パラメータを生成する。そして、符号化部1213は、生成したイントラ予測パラメータをモード判定部1114へ出力する。イントラ予測パラメータとしては、IntraLumaMPMFlag、IntraLumaMPMIdx、及びIntraLumaMPMRemainderが用いられる。
IntraLumaMPMFlagは、MPMリストを使用するか否かを示すフラグであり、IntraLumaMPMFlagが論理“1”のとき、MPMリストが使用され、IntraLumaMPMFlagが論理“0”のとき、MPMリストは使用されない。IntraLumaMPMIdxは、MPMリストのエントリを指定するパラメータであり、IntraLumaMPMRemainderは、MPMリストに登録されていない残りの第1イントラ予測モードを指定するパラメータである。
符号化対象ブロックの第1イントラ予測モードがMPMリストのいずれかのエントリに該当する場合、IntraLumaMPMFlagが論理“1”に設定され、そのエントリを指定するIntraLumaMPMIdxが生成される。一方、符号化対象ブロックの第1イントラ予測モードがMPMリストのいずれのエントリにも該当しない場合、IntraLumaMPMFlagが論理“0”に設定される。そして、上述した(P1)~(P3)の手順によって、第1イントラ予測モードがIntraLumaMPMRemainderに変換される。
次に、MPMリストの生成方法を説明する。まず、MPM生成部1211は、符号化対象ブロックの幅Wに対する高さHの比率H/Wと、各隣接ブロックの幅Wnに対する高さHnの比率Hn/Wnとの組み合わせに基づいて、その隣接ブロックの第1イントラ予測モードを変更する。この変更は、左隣接ブロック及び上隣接ブロック各々に対して独立に行われる。
ここで、隣接ブロックの第1イントラ予測モードが示す角度A1が、符号化対象ブロックの形状においてイントラ予測に使用されない角度である場合を想定する。この場合、符号化対象ブロックの形状においてイントラ予測に使用される角度のうち、角度A1に最も近い角度A2に対応する第1イントラ予測モードが、変更後の第1イントラ予測モードとして用いられる。
これにより、符号化対象ブロックにおいて使用可能な第1イントラ予測モードをエントリとして含む、MPMリストを生成することが可能になる。さらに、符号化対象ブロックにおいて使用可能な角度予測のうち、隣接ブロックで採用された角度予測に最も近い角度予測がエントリとして含まれるため、MPMリストに基づく第1イントラ予測モードの予測効率が向上する。
図13は、このような第1イントラ予測モードの変更方法の例を示している。図13のテーブルの各行はHn/Wnの所定値に対応し、各列はH/Wの所定値に対応する。したがって、テーブルの各セルは、Hn/WnとH/Wの所定の組み合わせに対応している。
第1行はHn/Wn≧4を表し、第2行はHn/Wn=2を表し、第3行はHn/Wn=1を表し、第4行はHn/Wn=1/2を表し、第5行はHn/Wn≦1/4を表す。第1列はH/W≧4を表し、第2列はH/W=2を表し、第3列はH/W=1を表し、第4列はH/W=1/2を表し、第5列はH/W≦1/4を表す。
各セルには、第1イントラ予測モードの変更方法として、“Same”又は“ModeBefore→ModeAfter”の形式の変更指示が記載されている。“Same”は、第1イントラ予測モードを変更しない指示を表し、“ModeBefore→ModeAfter”の形式の変更指示は、ModeBeforeの番号が示す第1イントラ予測モードを、ModeAfterの番号が示す第1イントラ予測モードに変更する指示を表す。
例えば、Hn/Wn=W/Hである場合は、第1イントラ予測モードは変更されない。Hn/Wn≠W/Hである場合は、ModeBeforeの番号が示す第1イントラ予測モードのみが変更され、それ以外の第1イントラ予測モードは変更されない。
例えば、Hn/Wn≧4かつH/W=1の場合、第1イントラ予測モードが“57”~“66”のいずれかであれば、その第1イントラ予測モードが“2”に変更される。一方、第1イントラ予測モードが“0”~“56”のいずれかであれば、その第1イントラ予測モードは変更されない。
また、Hn/Wn=2かつH/W=1/2の場合、第1イントラ予測モードが“2”~“7”又は“61”~“66”のいずれかであれば、その第1イントラ予測モードが“8”に変更される。一方、第1イントラ予測モードが“0”、“1”、又は“8”~“60”のいずれかであれば、その第1イントラ予測モードは変更されない。
MPM生成部1211は、図13の変更方法によって変更された第1イントラ予測モードを、candIntraPredModeA及びcandIntraPredModeBとして用い、上述したVVC規格の生成方法に従ってcandModeList[0]~candModeList[2]を決定する。
図11の映像符号化装置1101によれば、符号化対象ブロックの形状と隣接ブロックの形状との組み合わせに基づいて、隣接ブロックの第1イントラ予測モードが変更される。これにより、隣接ブロックの縦横比と符号化対象ブロックの縦横比とが異なる場合であっても、ブロック間における参照方向の連続性を考慮して、適切なMPMリストを生成することができる。
適切なMPMリストを用いて、符号化対象ブロックの第1イントラ予測モードを符号化することで、MPMリストが使用される確率が高くなり、イントラ予測パラメータの圧縮効率が向上する。したがって、映像を効率良く符号化することが可能になる。
図14は、図11の映像符号化装置1101が行う映像符号化処理の例を示すフローチャートである。この映像符号化処理では、ブロックの一例であるCU(Coding Unit)毎に符号化処理が行われる。
まず、イントラ予測部1115は、各ブロックサイズのブロック(CU)に対するイントラ予測を行う(ステップ1401)。そして、イントラ予測部1115は、イントラ予測モード判定を行って、最も予測効率の高いイントラ予測モードを選択する(ステップ1402)。
一方、インター予測部1116は、各ブロックサイズのブロックに対するインター予測を行う(ステップ1403)。インター予測は、CUをさらに分割したPU(Prediction Unit)毎に行われる。そして、インター予測部1116は、インター予測モード判定を行って、最も予測効率の高いインター予測モードを選択する(ステップ1404)。
次に、モード判定部1114は、モード判定を行って、ブロック(CU)単位でイントラ予測モード又はインター予測モードのいずれを適用するかを決定する(ステップ1405)。そして、減算部1111及び変換・量子化部1112は、モード判定部1114が決定した予測モードに従って符号化対象ブロックを符号化し、量子化係数を生成する(ステップ1406)。
次に、映像符号化装置1101は、画像の符号化が終了したか否かを判定する(ステップ1407)。未処理のブロックが残っている場合(ステップ1407,NO)、映像符号化装置1101は、次のブロックについてステップ1401以降の処理を繰り返す。
一方、画像の符号化が終了した場合(ステップ1407,YES)、エントロピー符号化部1113は、量子化係数と決定された予測モードを示すパラメータに対する可変長符号化を行う(ステップ1408)。
次に、映像符号化装置1101は、映像の符号化が終了したか否かを判定する(ステップ1409)。未処理の画像が残っている場合(ステップ1409,NO)、映像符号化装置1101は、次の画像についてステップ1401以降の処理を繰り返す。そして、映像の符号化が終了した場合(ステップ1409,YES)、映像符号化装置1101は、処理を終了する。
図15は、図14のステップ1401におけるイントラ予測処理の例を示すフローチャートである。まず、MPM生成部1211は、左隣接ブロック及び上隣接ブロックの第1イントラ予測モードを変更し、変更後の第1イントラ予測モードを用いて、MPMリストを生成する(ステップ1501)。
次に、予測モード計算部1214は、符号化対象ブロックの第2イントラ予測モードを決定し(ステップ1502)、予測モード計算部1212は、決定された第2イントラ予測モードを第1イントラ予測モードに変換する(ステップ1503)。
次に、符号化部1213は、MPMリストを使用するか否かを示すIntraLumaMPMFlagを生成し(ステップ1504)、生成したIntraLumaMPMFlagの値をチェックする(ステップ1505)。
IntraLumaMPMFlagが論理“1”である場合(ステップ1505,YES)、符号化部1213は、符号化対象ブロックの第1イントラ予測モードに該当する、MPMリストのエントリを示すIntraLumaMPMIdxを生成する(ステップ1506)。一方、IntraLumaMPMFlagが論理“0”である場合(ステップ1505,NO)、符号化部1213は、符号化対象ブロックの第1イントラ予測モードに該当するIntraLumaMPMRemainderを生成する(ステップ1507)。
フィルタ部1215は、決定された第2イントラ予測モードにおける符号化対象ブロックのイントラ予測画素値を生成する(ステップ1508)。
次に、図16~図18を参照しながら、図15のステップ1501において符号化対象ブロックに複数のブロックが隣接している場合に、MPMリストの生成に用いる隣接ブロックを決定する方法を説明する。
図16は、第1の隣接ブロック決定方法の例を示している。符号化対象ブロック1601の左側に隣接する複数の左隣接ブロックのうち、最も上に位置する左隣接ブロック1602が、MPMリストの生成に用いる左隣接ブロックとして選択される。また、符号化対象ブロック1601の上側に隣接する複数の上隣接ブロックのうち、最も左に位置する上隣接ブロック1603が、MPMリストの生成に用いる上隣接ブロックとして選択される。
図17は、第2の隣接ブロック決定方法の例を示している。符号化対象ブロック1701が横長の長方形である場合、符号化対象ブロック1701の左側に隣接する複数の左隣接ブロックのうち、最も上に位置する左隣接ブロック1702が、MPMリストの生成に用いる左隣接ブロックとして選択される。また、符号化対象ブロック1701の上側に隣接する複数の上隣接ブロックのうち、最も右に位置する上隣接ブロック1703が、MPMリストの生成に用いる上隣接ブロックとして選択される。
一方、符号化対象ブロック1711が縦長の長方形である場合、符号化対象ブロック1711の左側に隣接する複数の左隣接ブロックのうち、最も下に位置する左隣接ブロック1712が、MPMリストの生成に用いる左隣接ブロックとして選択される。また、符号化対象ブロック1711の上側に隣接する複数の上隣接ブロックのうち、最も左に位置する上隣接ブロック1713が、MPMリストの生成に用いる上隣接ブロックとして選択される。
図18は、第3の隣接ブロック決定方法の例を示している。第3の隣接ブロック決定方法では、符号化対象ブロックの左側に隣接する複数の左隣接ブロックのうち、最も高い頻度の第1イントラ予測モードを有する左隣接ブロックが、MPMリストの生成に用いる左隣接ブロックとして選択される。また、符号化対象ブロックの上側に隣接する複数の上隣接ブロックのうち、最も高い頻度の第1イントラ予測モードを有する上隣接ブロックが、MPMリストの生成に用いる上隣接ブロックとして選択される。
複数の隣接ブロックのうち最も高い頻度の第1イントラ予測モードを有する隣接ブロックを用いて、MPMリストを生成することで、MPMリストに基づく第1イントラ予測モードの予測効率が向上する。
例えば、横長の符号化対象ブロック1801の上側に隣接する上隣接ブロック1811~上隣接ブロック1814の第1イントラ予測モードM1が、次のように決定されている場合を想定する。
上隣接ブロック1811 M1=I1
上隣接ブロック1812 M1=I2
上隣接ブロック1813 M1=I2
上隣接ブロック1814 M1=I3
I1~I3は、それぞれ異なる番号である。この場合、I1の頻度は1回であり、I2の頻度は2回であり、I3の頻度は1回である。したがって、最も高い頻度のI2を有する上隣接ブロック1812及び上隣接ブロック1813が選択され、これらのブロックの第1イントラ予測モードが、上隣接ブロックの第1イントラ予測モードとして採用される。
上隣接ブロック1811~上隣接ブロック1814がそれぞれ異なる第1イントラ予測モードを有する場合は、第1の隣接ブロック決定方法又は第2の隣接ブロック決定方法に従って、上隣接ブロックが選択される。なお、いずれかの上隣接ブロックがインター予測モードで符号化されている場合、その上隣接ブロックは、頻度のカウント対象から除外される。
符号化対象ブロック1801の左側に隣接する左隣接ブロック1821及び左隣接ブロック1822についても、上隣接ブロック1811~上隣接ブロック1814の場合と同様にして、MPMリストの生成に用いる左隣接ブロックが選択される。
また、縦長の符号化対象ブロック1831の上側に隣接する上隣接ブロック1841及び上隣接ブロック1842についても、同様の隣接ブロック決定方法が適用される。符号化対象ブロック1831の左側に隣接する左隣接ブロック1851~左隣接ブロック1853についても、同様の隣接ブロック決定方法が適用される。
例えば、左隣接ブロック1851~左隣接ブロック1853の第1イントラ予測モードM1が、次のように決定されている場合を想定する。
左隣接ブロック1851 M1=I4
左隣接ブロック1852 M1=I5
左隣接ブロック1853 M1=I6
I4~I6は、それぞれ異なる番号である。この場合、I4~I6の頻度はいずれも1回である。
しかし、符号化対象ブロック1831と接している左隣接ブロック1852の辺の長さは、符号化対象ブロック1831と接している左隣接ブロック1851又は左隣接ブロック1853の辺の長さの2倍である。そこで、符号化対象ブロック1831と接している辺の長さが最長である左隣接ブロック1852を、MPMリストの生成に用いる左隣接ブロックとして選択してもよい。
図19は、図10の映像復号装置1001の具体例を示している。図19の映像復号装置1901は、エントロピー復号部1911、逆量子化・逆変換部1912、イントラ予測部1913、インター予測部1914、加算部1915、ポストフィルタ部1916、及びフレームメモリ1917を含む。エントロピー復号部1911は、図10の復号部1011に対応し、逆量子化・逆変換部1912及び加算部1915は、復元部1014に対応する。
映像復号装置1901は、例えば、ハードウェア回路として実装することができる。この場合、映像復号装置1901の各構成要素を個別の回路として実装してもよく、1つの集積回路として実装してもよい。
映像復号装置1901は、入力される符号化映像の符号化ストリームを復号し、復号映像を出力する。映像復号装置1901は、図11の映像符号化装置1101から、通信ネットワークを介して、符号化ストリームを受信することができる。
例えば、映像復号装置1901は、ビデオカメラ、映像受信装置、テレビ電話システム、コンピュータ、又は携帯端末装置に組み込まれていてもよい。
エントロピー復号部1911は、符号化映像をエントロピー復号(可変長復号)によって復号し、復号対象画像内の各ブロックの量子化係数を予測残差情報として抽出するとともに、各ブロックの予測モードを示すパラメータを抽出する。さらに、エントロピー復号部1911は、各ブロックの形状を示す形状パラメータも抽出する。予測モードを示すパラメータには、イントラ予測モードを示すイントラ予測パラメータ、又はインター予測モードを示すインター予測パラメータが含まれる。
そして、エントロピー復号部1911は、量子化係数を逆量子化・逆変換部1912へ出力し、形状パラメータ及びイントラ予測パラメータをイントラ予測部1913へ出力し、インター予測パラメータをインター予測部1914へ出力する。
逆量子化・逆変換部1912は、量子化係数の逆量子化及び逆直交変換を行って予測残差を復元し、復元した予測残差を加算部1915へ出力する。
イントラ予測部1913は、エントロピー復号部1911から出力される形状パラメータ及びイントラ予測パラメータを用いて、加算部1915から出力されるポストフィルタ適用前の復号画素値から、復号対象ブロックのイントラ予測画素値を計算する。そして、イントラ予測部1913は、計算したイントラ予測画素値を加算部1915へ出力する。
インター予測部1914は、エントロピー復号部1911から出力されるインター予測パラメータと、フレームメモリ1917から出力される参照画像の画素値とを用いて、動き補償処理を行い、復号対象ブロックのインター予測画素値を計算する。そして、インター予測部1914は、計算したインター予測画素値を加算部1915へ出力する。
加算部1915は、イントラ予測部1913又はインター予測部1914から出力される予測画素値と、逆量子化・逆変換部1912から出力される予測残差とを加算して、ポストフィルタ適用前の復号画素値を生成する。そして、加算部1915は、生成した復号画素値をポストフィルタ部1916及びイントラ予測部1913へ出力する。
ポストフィルタ部1916は、量子化誤差を削減するために、ポストフィルタ適用前の復号画素値に対してポストフィルタを適用し、ポストフィルタ適用後の復号画素値を生成する。そして、ポストフィルタ部1916は、生成した復号画素値をフレームメモリ1917へ出力する。
フレームメモリ1917は、ポストフィルタ適用後の復号画素値を記憶し、その復号画素値を含む復号映像を出力する。フレームメモリ1917が記憶する復号画素値は、参照画像の画素値として、インター予測部1914へ出力される。
図20は、図19のイントラ予測部1913の機能的構成例を示している。図20のイントラ予測部1913は、MPM生成部2011、記憶部2012、予測モード計算部2013、予測モード計算部2014、及びフィルタ部2015を含む。MPM生成部2011及びフィルタ部2015は、図10の生成部1012及び予測部1013にそれぞれ対応する。
MPM生成部2011及び予測モード計算部2014には、エントロピー復号部1911から形状パラメータが入力される。また、予測モード計算部2013には、エントロピー復号部1911からイントラ予測パラメータが入力される。入力されたイントラ予測パラメータは、IntraLumaMPMFlagと、IntraLumaMPMIdx又はIntraLumaMPMRemainderとを含む。
記憶部2012は、各ブロックの幅、高さ、及び第1イントラ予測モードを記憶する。インター予測モードが選択されたブロックの第1イントラ予測モードとしては、直流予測が記憶される。そして、記憶部2012は、左隣接ブロック及び上隣接ブロックそれぞれの幅Wn及び高さHnと、左隣接ブロック及び上隣接ブロックそれぞれの第1イントラ予測モードとを、MPM生成部2011へ出力する。
MPM生成部2011は、復号対象ブロックの形状と各隣接ブロックの形状との組み合わせに基づいて、図11の映像符号化装置1101と同様の変更方法により、その隣接ブロックの第1イントラ予測モードを変更する。このとき、MPM生成部2011は、復号対象ブロックの幅Wに対する高さHの比率H/Wと、各隣接ブロックの幅Wnに対する高さHnの比率Hn/Wnとの組み合わせに基づいて、その隣接ブロックの第1イントラ予測モードを変更する。この変更は、左隣接ブロック及び上隣接ブロック各々に対して独立に行われる。
ここで、隣接ブロックの第1イントラ予測モードが示す角度A1が、復号対象ブロックの形状においてイントラ予測に使用されない角度である場合を想定する。この場合、復号対象ブロックの形状においてイントラ予測に使用される角度のうち、角度A1に最も近い角度A2に対応する第1イントラ予測モードが、変更後の第1イントラ予測モードとして用いられる。例えば、MPM生成部2011は、図13に示した変更方法に従って、隣接ブロックの第1イントラ予測モードを変更することができる。
映像符号化装置1101と同様の変更方法によって第1イントラ予測モードを変更することで、符号化映像から、イントラ予測パラメータの符号化に用いられたMPMリストを復元することができる。
MPM生成部2011は、左隣接ブロック及び上隣接ブロックの変更後の第1イントラ予測モードを用いて、上述したVVC規格の生成方法によりMPMリストを生成し、生成したMPMリストを予測モード計算部2013へ出力する。
予測モード計算部2013は、MPMリストを用いて、入力されるイントラ予測パラメータから、復号対象ブロックの第1イントラ予測モードを求め、記憶部2012及び予測モード計算部2014へ出力する。IntraLumaMPMFlagが論理“1”である場合、IntraLumaMPMIdxによって指定されるMPMリストのエントリが、復号対象ブロックの第1イントラ予測モードとして出力される。
一方、IntraLumaMPMFlagが論理“0”である場合、上述した(P11)~(P13)の手順によって、IntraLumaMPMRemainderからIntraDirが求められ、そのIntraDirが復号対象ブロックの第1イントラ予測モードとして出力される。
予測モード計算部2014は、復号対象ブロックの幅W及び高さHに基づいて、復号対象ブロックの第1イントラ予測モードを第2イントラ予測モードに変換する。第1イントラ予測モードM1を第2イントラ予測モードM2へ変換する手順は、以下の通りである。
・W=Hの場合
M2=M1
・W>Hの場合
・2≦M1<mLの場合、M2=M1+65
W=2Hの場合、mL=8
W=2H以外(W>2H)の場合、mL=12
・2≦M1<mL以外の場合、M2=M1
・W<Hの場合
・mH<M1≦66の場合、M2=M1-67
H=2Wの場合、mH=60
H=2W以外(H>2W)の場合、mH=56
・mH<M1≦66以外の場合、M2=M1
・W=Hの場合
M2=M1
・W>Hの場合
・2≦M1<mLの場合、M2=M1+65
W=2Hの場合、mL=8
W=2H以外(W>2H)の場合、mL=12
・2≦M1<mL以外の場合、M2=M1
・W<Hの場合
・mH<M1≦66の場合、M2=M1-67
H=2Wの場合、mH=60
H=2W以外(H>2W)の場合、mH=56
・mH<M1≦66以外の場合、M2=M1
フィルタ部2015は、ポストフィルタ適用前の復号画素値に対して、予測モード計算部2014から出力される第2イントラ予測モードに対応するフィルタを適用し、復号対象ブロックのイントラ予測画素値を生成する。そして、フィルタ部2015は、生成したイントラ予測画素値を加算部1915へ出力する。
図19の映像復号装置1901によれば、図11の映像符号化装置1101が出力する符号化映像を復号して、元の映像を復元することができる。
図21は、図19の映像復号装置1901が行う映像復号処理の例を示すフローチャートである。この映像復号処理では、ブロックの一例であるCU毎に復号処理が行われる。
まず、エントロピー復号部1911は、符号化映像に対する可変長復号を行って、復号対象ブロック(復号対象CU)の量子化係数、形状パラメータ、及び予測モードを示すパラメータを抽出する(ステップ2101)。そして、エントロピー復号部1911は、予測モードを示すパラメータがイントラ予測パラメータ又はインター予測パラメータのいずれであるかをチェックする(ステップ2102)。
予測モードを示すパラメータがイントラ予測パラメータである場合(ステップ2102,YES)、イントラ予測部1913は、復号対象ブロックに対するイントラ予測を行って、復号対象ブロックのイントラ予測画素値を計算する(ステップ2103)。
一方、予測モードを示すパラメータがインター予測パラメータである場合(ステップ2102,NO)、インター予測部1914は、復号対象ブロックに対する動き補償処理を行って、復号対象ブロックのインター予測画素値を計算する(ステップ2104)。
次に、逆量子化・逆変換部1912は、復号対象ブロックの量子化係数を復号して、予測残差を復元する(ステップ2105)。そして、加算部1915及びポストフィルタ部1916は、復元された予測残差と、イントラ予測部1913又はインター予測部1914から出力される予測画素値とを用いて、復号対象ブロックの復号画素値を生成する。
次に、映像復号装置1901は、符号化映像の復号が終了したか否かを判定する(ステップ2106)。未処理のバイナリ列が残っている場合(ステップ2106,NO)、映像復号装置1901は、次のバイナリ列についてステップ2101以降の処理を繰り返す。そして、符号化映像の復号が終了した場合(ステップ2106,YES)、映像復号装置1901は、処理を終了する。
図22は、図21のステップ2103におけるイントラ予測処理の例を示すフローチャートである。まず、MPM生成部2011は、左隣接ブロック及び上隣接ブロックの第1イントラ予測モードを変更し、変更後の第1イントラ予測モードを用いて、MPMリストを生成する(ステップ2201)。
次に、予測モード計算部2013は、IntraLumaMPMFlagの値をチェックする(ステップ2202)。IntraLumaMPMFlagが論理“1”である場合、予測モード計算部2013は、IntraLumaMPMIdxの値を取得する(ステップ2203)。そして、予測モード計算部2013は、IntraLumaMPMIdxによって指定されるMPMリストのエントリを、復号対象ブロックの第1イントラ予測モードとして取得する(ステップ2204)。
一方、IntraLumaMPMFlagが論理“0”である場合、予測モード計算部2013は、IntraLumaMPMRemainderの値を取得し(ステップ2205)、取得した値を第1イントラ予測モードに変換する(ステップ2206)。
次に、予測モード計算部2014は、復号対象ブロックの第1イントラ予測モードを第2イントラ予測モードに変換する(ステップ2207)。そして、フィルタ部2015は、予測モード計算部2014から出力される第2イントラ予測モードに基づいて、復号対象ブロックのイントラ予測画素値を生成する(ステップ2208)。
図22のステップ2201において復号対象ブロックに複数のブロックが隣接している場合は、図16~図18に示した隣接ブロック決定方法と同様にして、MPMリストの生成に用いる隣接ブロックが決定される。この場合、図16~図18における符号化対象ブロックを復号対象ブロックに置き換えて、第1の隣接ブロック決定方法~第3の隣接ブロック決定方法を適用すればよい。
図9及び図11の映像符号化装置の構成は一例に過ぎず、映像符号化装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。図12のイントラ予測部1115の構成は一例に過ぎず、映像符号化装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。映像符号化装置は、VVC以外の符号化方式を採用してもよい。
図10及び図19の映像復号装置の構成は一例に過ぎず、映像復号装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。図20のイントラ予測部1913の構成は一例に過ぎず、映像復号装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。映像復号装置は、VVC以外の復号方式を採用してもよい。
図14、図15、図21、及び図22に示したフローチャートは一例に過ぎず、映像符号化装置又は映像復号装置の構成又は条件に応じて、一部の処理を省略又は変更してもよい。
図2、図8、及び図16~図18に示した符号化対象ブロックと、図16~図18に示した左隣接ブロック及び上隣接ブロックは一例に過ぎず、これらのブロックの形状は、入力される映像に応じて変化する。図16~図18に示した隣接ブロック決定方法は一例に過ぎず、別の隣接ブロック決定方法によって、MPMリストの生成に用いる隣接ブロックを決定してもよい。
図13に示した第1イントラ予測モードの変更方法は一例に過ぎず、別の変更方法によって、隣接ブロックの第1イントラ予測モードを変更してもよい。
図9及び図11の映像符号化装置と図10及び図19の映像復号装置は、ハードウェア回路として実装することもでき、情報処理装置(コンピュータ)を用いて実装することもできる。
図23は、映像符号化装置901、映像復号装置1001、映像符号化装置1101、及び映像復号装置1901として用いられる情報処理装置の構成例を示している。図23の情報処理装置は、CPU(Central Processing Unit)2301、メモリ2302、入力装置2303、出力装置2304、補助記憶装置2305、媒体駆動装置2306、及びネットワーク接続装置2307を含む。これらの構成要素はバス2308により互いに接続されている。
メモリ2302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを記憶する。メモリ2302は、図11のフレームメモリ1120、図19のフレームメモリ1917、又は図20の記憶部2012として用いることができる。
CPU2301(プロセッサ)は、例えば、メモリ2302を利用してプログラムを実行することにより、図9の生成部911、予測部912、第1符号化部913、及び第2符号化部914として動作する。
CPU2301は、メモリ2302を利用してプログラムを実行することにより、図10の復号部1011、生成部1012、予測部1013、及び復元部1014としても動作する。
CPU2301は、メモリ2302を利用してプログラムを実行することにより、図11の減算部1111、変換・量子化部1112、エントロピー符号化部1113、及びモード判定部1114としても動作する。CPU2301は、メモリ2302を利用してプログラムを実行することにより、イントラ予測部1115、インター予測部1116、逆量子化・逆変換部1117、加算部1118、及びポストフィルタ部1119としても動作する。
CPU2301は、メモリ2302を利用してプログラムを実行することにより、図12のMPM生成部1211、予測モード計算部1212、符号化部1213、予測モード計算部1214、及びフィルタ部1215としても動作する。
CPU2301は、メモリ2302を利用してプログラムを実行することにより、図19のエントロピー復号部1911、逆量子化・逆変換部1912、イントラ予測部1913、及びインター予測部1914としても動作する。CPU2301は、メモリ2302を利用してプログラムを実行することにより、加算部1915及びポストフィルタ部1916としても動作する。
CPU2301は、メモリ2302を利用してプログラムを実行することにより、図20のMPM生成部2011、予測モード計算部2013、予測モード計算部2014、及びフィルタ部2015としても動作する。
入力装置2303は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置2304は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。処理結果は、復号映像であってもよい。
補助記憶装置2305は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置2305は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置2305にプログラム及びデータを格納しておき、それらをメモリ2302にロードして使用することができる。
媒体駆動装置2306は、可搬型記録媒体2309を駆動し、その記録内容にアクセスする。可搬型記録媒体2309は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体2309は、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、又はUSB(Universal Serial Bus)メモリであってもよい。ユーザ又はオペレータは、この可搬型記録媒体2309にプログラム及びデータを格納しておき、それらをメモリ2302にロードして使用することができる。
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体には、メモリ2302、補助記憶装置2305、及び可搬型記録媒体2309のような、物理的な(非一時的な)記録媒体が含まれる。
ネットワーク接続装置2307は、LAN(Local Area Network)、WAN(Wide Area Network)等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。ネットワーク接続装置2307は、符号化映像を映像復号装置へ送信したり、符号化映像を映像符号化装置から受信したりすることができる。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置2307を介して受信し、それらをメモリ2302にロードして使用することができる。
なお、情報処理装置が図23のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要である場合は、入力装置2303及び出力装置2304を省略してもよい。また、情報処理装置が可搬型記録媒体2309にアクセスしない場合は、媒体駆動装置2306を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
Claims (2)
- 映像復号装置によって実行される映像復号方法であって、
前記映像復号装置が、
符号化映像を復号し、
前記符号化映像に含まれる符号化画像内の復号対象ブロックの形状を判定し、
前記復号対象ブロックに隣接する復号済みブロックの第1予測モード情報に対応する第1予測モードが、前記復号対象ブロックの形状において前記復号対象ブロックの予測に用いられない予測モードになる場合に、前記第1予測モード情報を前記復号対象ブロックの予測に用いられる予め定められた予測モードを示す予測モード情報に変更した第2予測モード情報を用いて生成された、前記予測モード情報の候補値を含む候補情報を用いて、前記復号対象ブロックの予測モード情報が示すイントラ予測モードにおける、前記復号対象ブロックのイントラ予測画素値を生成し、
前記イントラ予測画素値と前記復号対象ブロックの予測残差情報とに基づいて、前記復号対象ブロックの画素値を生成する、
ことを特徴とする映像復号方法。 - 前記映像復号装置は、前記復号対象ブロックの1つの辺に隣接する複数の復号済みブロックのうち、最も高い頻度の第1予測モード情報を有する復号済みブロックを用いて、前記候補情報を生成することを特徴とする請求項1記載の映像復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022098633A JP7323014B2 (ja) | 2018-09-19 | 2022-06-20 | 映像復号方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/034681 WO2020059051A1 (ja) | 2018-09-19 | 2018-09-19 | 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム |
JP2020547522A JP7180679B2 (ja) | 2018-09-19 | 2018-09-19 | 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム |
JP2022098633A JP7323014B2 (ja) | 2018-09-19 | 2022-06-20 | 映像復号方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020547522A Division JP7180679B2 (ja) | 2018-09-19 | 2018-09-19 | 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022120186A JP2022120186A (ja) | 2022-08-17 |
JP7323014B2 true JP7323014B2 (ja) | 2023-08-08 |
Family
ID=87884866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022098633A Active JP7323014B2 (ja) | 2018-09-19 | 2022-06-20 | 映像復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7323014B2 (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013150164A (ja) | 2012-01-19 | 2013-08-01 | Sony Corp | 符号化装置および符号化方法、並びに、復号装置および復号方法 |
JP2014042309A (ja) | 2010-09-30 | 2014-03-06 | Panasonic Corp | 画像符号化方法および画像符号化装置 |
JP2016201829A (ja) | 2010-07-15 | 2016-12-01 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
WO2018016823A1 (ko) | 2016-07-18 | 2018-01-25 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
WO2018037896A1 (ja) | 2016-08-26 | 2018-03-01 | シャープ株式会社 | 画像復号装置、画像符号化装置、画像復号方法、および画像符号化方法 |
WO2018127624A1 (en) | 2017-01-03 | 2018-07-12 | Nokia Technologies Oy | Video and image coding with wide-angle intra prediction |
JP2018523376A (ja) | 2015-06-18 | 2018-08-16 | クアルコム,インコーポレイテッド | イントラ予測およびイントラモードコーディング |
-
2022
- 2022-06-20 JP JP2022098633A patent/JP7323014B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016201829A (ja) | 2010-07-15 | 2016-12-01 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
JP2014042309A (ja) | 2010-09-30 | 2014-03-06 | Panasonic Corp | 画像符号化方法および画像符号化装置 |
JP2013150164A (ja) | 2012-01-19 | 2013-08-01 | Sony Corp | 符号化装置および符号化方法、並びに、復号装置および復号方法 |
JP2018523376A (ja) | 2015-06-18 | 2018-08-16 | クアルコム,インコーポレイテッド | イントラ予測およびイントラモードコーディング |
WO2018016823A1 (ko) | 2016-07-18 | 2018-01-25 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
WO2018037896A1 (ja) | 2016-08-26 | 2018-03-01 | シャープ株式会社 | 画像復号装置、画像符号化装置、画像復号方法、および画像符号化方法 |
WO2018127624A1 (en) | 2017-01-03 | 2018-07-12 | Nokia Technologies Oy | Video and image coding with wide-angle intra prediction |
Also Published As
Publication number | Publication date |
---|---|
JP2022120186A (ja) | 2022-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2603542C2 (ru) | Способ и устройство для кодирования видео и способ и устройство для декодирования видео | |
US11284087B2 (en) | Image encoding device, image decoding device, and image processing method | |
WO2014054267A1 (ja) | 画像符号化装置及び画像符号化方法 | |
US20160373767A1 (en) | Encoding and Decoding Methods and Apparatuses | |
JP2007166617A (ja) | 映像のイントラ予測符号化、復号化方法及び装置 | |
JP6212890B2 (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム | |
US20210203926A1 (en) | Video coding apparatus, video coding method, video decoding apparatus, and video decoding method | |
JP7323014B2 (ja) | 映像復号方法 | |
US11218705B2 (en) | Information processing device and video encoding method | |
JP6956471B2 (ja) | 符号化装置、復号装置及びプログラム | |
JP2019036772A (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム | |
JP2020182249A (ja) | 画像符号化装置及び画像復号装置 | |
JP2020182248A (ja) | 画像復号方法及び画像符号化方法 | |
JP6917718B2 (ja) | 予測装置、符号化装置、復号装置、及びプログラム | |
JP2020182247A (ja) | 画像符号化方法及び画像復号方法 | |
JP2022017254A (ja) | 符号化装置、復号装置及びプログラム | |
JP2016092489A (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220620 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230710 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7323014 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |