(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-27
(45)【発行日】2024-06-04
(54)【発明の名称】イントラインター予測モードを改善するための方法及び装置、並びにコンピュータプログラム
(51)【国際特許分類】
H04N 19/593 20140101AFI20240528BHJP
H04N 19/105 20140101ALI20240528BHJP
H04N 19/159 20140101ALI20240528BHJP
H04N 19/176 20140101ALI20240528BHJP
【FI】
H04N19/593
H04N19/105
H04N19/159
H04N19/176
【外国語出願】
(21)【出願番号】P 2023118388
(22)【出願日】2023-07-20
(62)【分割の表示】P 2022133959の分割
【原出願日】2019-11-12
【審査請求日】2023-08-18
(32)【優先日】2018-11-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-01-03
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-11-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2017/165509(WO,A1)
【文献】米国特許第9609343(US,B1)
【文献】米国特許出願公開第2018/0176587(US,A1)
【文献】Geert Van der Auwera, et al.,CE3: Simplified PDPC (Test 2.4.1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0063-v2,11th Meeting: Ljubljana, SI,2018年07月,pp.1-6
【文献】Luong Pham Van, et al.,CE10-related: Inter-intra prediction combination,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0096-v3,13th Meeting: Marrakech, MA,2019年01月,pp.1-3
【文献】Liang Zhao, et al.,CE10-related: Simplified multi-hypothesis intra-inter mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0492,13th Meeting: Marrakech, MA,2019年01月,pp.1-3
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
符号化装置の少なくとも1つのプロセッサが実行する、ビデオ符号化のための方法であって、
位置依存イントラ予測組み合わせ(PDPC)のために、イントラモードが、イントラ予測のために、異なるイントラ予測モードのそれぞれに対応する、PDPCの異なる初期重み係数を使用するかどうかに基づいて、イントラ予測とインター予測とを組み合わせるイントラインターモードにおける出力のためにイントラ予測サンプルを生成するために使用される重み付けのセットであって現在のブロックにおけるX座標及びY座標それぞれの重み付けを含む重み付けのセットを選択するステップと、
前記重み付けのセットに基づいて、前記PDPCを適用して、インター予測サンプル、及びインター符号化された符号化ユニット(CU)の再構成されたサンプルの少なくとも1つを修正するステップと、
を含む方法。
【請求項2】
前記PDPCを適用することは、前記インター符号化されたCUの輝度成分のみを修正することを含む請求項1に記載の方法。
【請求項3】
フラグは、前記符号化ユニット(CU)に含まれる符号化ブロック(CB)がマージモードによって符号化されていると決定したことに応答してシグナリングされるインターPDPCフラグ(interPDPCFlag)である、請求項1又は2に記載の方法。
【請求項4】
デブロッキング、サンプル適応オフセット(SAO)及び適応ループフィルタ(ALF)を含むループ内デブロッキングフィルタのいずれかを適用する前に、PDPCを、複数の再構成されたサンプルに適用するステップをさらに含む請求項1に記載の方法。
【請求項5】
デフォルトのイントラ予測モードを、前記符号化ユニット(CU)に含まれる現在の符号化ブロック(CB)に割り当てるステップと、
少なくともイントラモード符号化及び最確モード(MPM)の導出のために、前記デフォルトのイントラ予測モードを前記現在のCBの次の1つ以上のCBに適用するステップと、
をさらに含む請求項1~4のうちの何れか1項に記載の方法。
【請求項6】
前記PDPCを適用するために使用されるPDPCフィルタの重み係数を、前記インター予測サンプル、及び前記インター符号化されたCUの再構成されたサンプルの少なくとも1つに適用するステップをさらに含み、
前記PDPCフィルタの重み係数における各PDPCフィルタは、複数のブロックサイズのうち対応するブロックサイズについて定められている請求項1に記載の方法。
【請求項7】
PDPCを適用するかどうかを指示する前記インターPDPCフラグ(interPDPCFlag)の少なくとも1つをシグナリングするステップと、
前記interPDPCFlagが真に等しく設定されるかどうかを決定するステップと、
前記interPDPCFlagが第1の値に等しく設定されると決定したことに応答して、第2のフラグをシグナリングするステップであって、前記第2のフラグが、インター予測後に、インター予測サンプル及びインター符号化されたCUの再構成されたサンプルの少なくとも1つに少なくとも1つのPDPCフィルタを適用することを指示するステップと、
前記interPDPCFlagが第2の値に等しく設定されると決定したことに応答して、インター予測サンプル及びインター符号化されたCUの再構成されたサンプルの少なくとも1つからPDPCを除外するステップと、
をさらに含む請求項3に記載の方法。
【請求項8】
前記重み付けが互いに等しいかどうかをシグナリングするステップと、
前記シグナリングで前記重み付けが等しくないことを指示していると決定したことに応答して、復号化の対象となる現在のブロックに隣接する隣接ブロックがイントラ符号化、又はインター符号化、又はイントラインター符号化されているもののいずれかであるかどうかに応じて、前記重み付けのセットを決定するステップと、
をさらに含む請求項1~7のうちの何れか1項に記載の方法。
【請求項9】
前記イントラインターモードにはイントラ予測のみを行う場合が存在せず、
前記イントラインターモードは、インター予測の上にPDPCを直接適用することを含む請求項1に記載の方法。
【請求項10】
インター予測の上にPDPCを直接適用することは、次のことを含み、
【数1】
ここで、InterPredは入力インター予測を指示し、w_intraは、復号化の対象となる現在のブロックに隣接する隣接ブロックがイントラ符号化、又はインター符号化、又はイントラインター符号化されているものの少なくとも1つであるかどうかに応じて、事前定義された値のセットから選択され、
Nは8、16、32、64、128及び256のいずれかを指示する請求項9に記載の方法。
【請求項11】
コンピュータプログラムコードを記憶するように構成されている少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスして、前記コンピュータプログラムコードの指示に従って動作するように構成されている少なくとも1つのプロセッサと、を含む装置であって、
前記コンピュータプログラムコードは、請求項1~10のうちの何れか1項に記載の方法を前記少なくとも1つのプロセッサに実行させる装置。
【請求項12】
請求項1~10の何れか1項に記載の方法を前記少なくとも1つのプロセッサに実行させるコンピュータプログラム。
【請求項13】
少なくとも1つのプロセッサが実行する、ビデオ復号化のための方法であって、
位置依存イントラ予測組み合わせ(PDPC)のために、イントラモードが、イントラ予測のために、異なるイントラ予測モードのそれぞれに対応する、PDPCの異なる初期重み係数を使用するかどうかに基づいて、イントラ予測とインター予測とを組み合わせるイントラインターモードにおける出力のためにイントラ予測サンプルを生成するために使用される重み付けのセットであって現在のブロックにおけるX座標及びY座標それぞれの重み付けを含む重み付けのセットを選択するステップと、
前記重み付けのセットに基づいて、前記PDPCを適用して、インター予測サンプル、及びインター符号化された符号化ユニット(CU)の再構成されたサンプルの少なくとも1つを修正するステップと、
を含み、前記方法は、
デフォルトのイントラ予測モードを、前記符号化ユニット(CU)に含まれる現在の符号化ブロック(CB)に割り当てるステップと、
少なくともイントラモード符号化及び最確モード(MPM)の導出のために、前記デフォルトのイントラ予測モードを前記現在のCBの次の1つ以上のCBに適用するステップと、
をさらに含む方法。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2018年11月14日にて提出された米国仮出願第62/767、228号、2019年1月3日にて提出された米国仮出願第第62/788、056号、及び2019年11月4日にて提出された米国出願第16/673、097号の優先権を主張し、上記の出願のそれぞれは、その全内容が参照により本明細書に組み込まれる。
【技術分野】
【0002】
本開示は、イントラインター予測モード及び適応イントラインター予測モードに使用される改善スキームを含む一連の高度なビデオコーディング技術に関する。
【背景技術】
【0003】
ITU-T VCEG(Q6/16)及びISO/IEC MPEG(JTC l/SC 29/WG 11)は、2013年(バージョン1)、2014年(バージョン2)、2015(バージョン3)、2016(バージョン4)においてH.265/HEVC(高効率ビデオ符号化)規格を開示した。2015年に、こられ2つの規格化団体は、HEVCを超えた次世代のビデオ符号化規格を開発する可能性を探索するために、JVET(共同ビデオ探索チーム(Joint Video Exploration Team、JVET))を共同で形成した。2017年10月、これら2つの規格化団体は、HEVCを超える機能を有するビデオ圧縮に関する共同提案募集(Call for Proposal、CfP)を発表した。2018年2月15日までに、標準ダイナミックレンジ(standard dynamic range、SDR)に関する合計22個のCfP応答、ハイダイナミックレンジ(high dynamic range、HDR)に関する合計12個のCfP応答、及び360個のビデオカテゴリに関する12個のCfP応答がそれぞれ提案された。2018年4月、受信したすべてのCfP応答は、122 MPEG/10thJVET会議で評価された。この会議の結果、JVETは、HEVCを超えた次世代のビデオ符号化の規格化プロセスを正式に開始した。新しい規格は多用途ビデオ符号化(Versatile Video Coding、VVC)と名付けられ、JVETは共同ビデオ専門家チームと改名された。
【0004】
VVCドラフト2からの次の文は、PDPCについて説明し、ここで、nScaleは、重み係数の減少率を指定するために用いられ、式8-77、8-78、8-82及び8-83における「32」は初期重み係数を指定する。
【0005】
位置依存イントラ予測組み合わせプロセスへの入力は、次の通りであってもよい。
-イントラ予測モードpredModelntra、
-変換ブロックの幅を指定する変数nTbW、
-変換ブロックの高さを指定する変数nTbH、
-参照サンプルの幅を指定する変数refW、
-参照サンプルの高さを指定する変数refH、
-予測サンプルpredSamples[x][y]、ここで、x=0・・・nTbW-1且つy=0・・・nTbH-1である、
-隣接サンプルp[x][y]、ここで、x=-1、y=-1・・・refH-1及びx=0・・・refW-1、y=-1である、
-現在ブロックの色成分を指定する変数cIdx。
【0006】
当該プロセスの出力は、修正された予測サンプルpredSamples[x][y]であり、ここで、x=0・・・nTbW-1、y=0・・・nTbH-1である。
【0007】
cIdxの値に応じて、関数clip1Cmpは次のように設定される。
-cIdxが0に等しい場合、clip1CmpがClip1Yに等しく設定される。
-それ以外の場合、clip1CmpがClip1Cに等しく設定される。
【0008】
変数nScaleが((Log2(nTbW)+Log2(nTbH)-2)≫2)に設定される。
【0009】
参照サンプルアレイmainRef[x]及びsideRef[y]は次のように導出され、ここで、x=0・・・refW且つy=0・・・refHである。
【数1】
【0010】
変数refL[x][y]、refT[x][y]、wT[y]、wL[y]及びwTL[x][y]は次のように導出され、ここで、x=0・・・nTbW-1、y=0・・・nTbH-1である。
-predModeIntraがINTRA_PLANAR、INTRA_DC、INTRA_ANGULAR18又はINTRA_ANGULAR50に等しい場合、以下が適用される。
【数2】
【0011】
それ以外の場合、predModeIntraがINTRA_ANGULAR2又はINTRA_ANGULAR66に等しい場合、以下が適用される。
【数3】
【0012】
それ以外の場合、predModeIntraがINTRA_ANGULAR10以下である場合、次の順序付けられた手順が適用される。
-intraPredModeに応じて、例えば条項8.2.4.2.7に規定されているinvAngleを使用して以下のように変数dXPos[y]、dXFrac[y]、dXInt[y]及びdX[y]を導出する。
【数4】
【0013】
変数refL[x][y]、refT[x][y]、wT[y]、wL[y]及びwTL[x][y]を以下のように導出する。
【数5】
【0014】
それ以外の場合、predModeIntraがINTRA_ANGULAR58以上である場合、次の順序付けられた手順が適用される。
-intraPredModeに応じて、例えば条項8.2.4.2.7に規定されるinvAngleを使用して、以下のように、変数dYPos[x]、dYFrac[x]、dYInt[x]及びdY[x]を導出する。
【数6】
-変数refL[x][y]、refT[x][y]、wT[y]、wL[y]及びwTL[x][y]を以下のように導出する。
【数7】
-それ以外の場合、refL[x][y]、refT[x][y]、wT[y]、wL[y]及びwTL[x][y]が全て0に等しく設定される。
【0015】
フィルタリングされたサンプルfiltSamples[x][y]の値を以下のように導出し、ここで、x=0・・・nTbW-1、y=0・・・nTbH-1である。
【0016】
イントラ符号化ブロックのクロマ成分の場合、符号器は、平面(モードインデックス0)、DC(モードインデックス1)、水平(モードインデックス18)、垂直(モードインデックス50)、対角線(モードインデックス66)を含む5つのモードから最適なクロマ予測モードを選択し、及び、イントラ予測モードの直接コピーを選択して関連する輝度成分に使用する(即ち、DMモード)。クロマのイントラ予測モード番号とイントラ予測方向との間のマッピングを表1に示す。
表1-クロマのイントラ予測モードとイントラ予測方向との間のマッピング
【表1】
【0017】
重複モードを回避するために、DM以外の4つのモードは、関連する輝度コンポーネントのイントラ予測モードに従って割り当てられる。クロマ成分のイントラ予測モード番号が4の場合、輝度成分のイントラ予測方向をクロマ成分のイントラ予測サンプル生成に使用する。クロマ成分のイントラ予測モード番号が4ではなく且つ輝度成分のイントラ予測モード番号と同じである場合、イントラ予測方向66をクロマ成分のイントラ予測サンプル生成に使用する。
【0018】
インターピクチャ予測用のマージモードを使用して、動きデータが信号で明確に示されるのではなく、推定されることをブロックに対して指示する。まず、候補動きパラメータのマージ候補リストを構築し、次に、使用しようとする候補を識別するインデックスを信号で表す。
【0019】
マージ候補リストは、非サブCUマージ候補リストとサブCUマージ候補リストを含む。非サブCUマージ候補は、空間的に隣接する動きベクトル、併置された時間的動きベクトル、及び履歴に基づく動きベクトルに基づいて構築される。サブCUマージ候補リストは、アフィンマージ候補とATMVPマージ候補を含む。サブCUマージ候補は、現在のCUの複数のMVを導出するために使用され、現在のCUにおけるサンプルの異なる部分は、異なる動きベクトルを持つことができる。
【0020】
スキップモードを使用して、動きデータが信号で明確に示されるのではなく、推定されることと、予測残差がゼロであり、つまり、変換係数が送信されないこととをブロックに対して指示する。インターピクチャ予測スライスの各CUの開始時に、skip_flagを信号で示し、当該slip_flagは次のことを意味する。
・マージモードを使用して動きデータを導出する
・ビットストリームに残差データが存在しない
【0021】
マルチ仮説イントラインター予測は、1つのイントラ予測と1つのマージインデックス予測とを組み合わせたもの、つまり、イントラインター予測モードである。マージCUにおいて、マージモードについて、フラグが真の場合にイントラ候補リストからイントラモードを選択するために、1つのフラグを信号で送信する(シグナリングする)。輝度成分について、イントラ候補リストは、DCモード、平面モード、水平モード、及び垂直モードを含む4つの予測モードから導出され、イントラ候補リストのサイズは、ブロックの形状に応じて、3又は4であってもよい。CUの幅がCUの高さの2倍よりも大きい場合、イントラモードリストから水平モードを除去し、CUの高さがCUの幅の2倍よりも大きい場合、イントラモードリストから垂直モードを除去する。加重平均を使用して、イントラモードインデックスによって選択された1つのイントラ予測モードとマージインデックスによって選択された1つのマージインデックス付き予測とを組み合わせる。クロマ成分について、DMは常に追加のシグナリングなしで適用される。
【0022】
以下、予測を組み合わせるための重み付けについて説明する。DCモード又は平面モードが選択されているか、又は、符号化ブロック(Coding Block、CB)の幅又は高さが4よりも小さい場合に、等しい重み付けを適用する。CBの幅及びの高さが4以上であるCBについて、水平/垂直モードが選択されている場合に、まず、1つのCBを垂直/水平に4つの等面積領域に分割する。(w_intrai、w_interi)として示される各重み付けセットは、対応する領域に適用され、なお、iは1~4であり且つ(w_intra1、w_inter1)=(6、2)、(w_intra2、w_inter2)=(5、3)、(w_intra3、w_inter3)=(3、5)且つ(w_intra4、w_inter4)=(2、6)である。(w_intra1、w_inter1)は、参照サンプルに最も近い領域用であり、(w_intra4、w_inter4)は参照サンプルから最も遠い領域用である。そして、2つの重み付け予測を合計し3ビットを右シフトすることで、組み合わせ予測を計算することができる。また、次の隣接CBがイントラ符号化される場合、それらのイントラモード符号化について、予測器のイントラ仮定に使用されるイントラ予測モードを保存する。
【0023】
現在、輝度成分について、イントラインター予測モードの場合、最大4つのイントラ予測モードが採用されているため、複雑さが増してしまう。
【0024】
現在、イントラインターモードの場合、1つのバッファを使用してインター予測値を記憶し、1つの追加バッファを追加してイントラ予測値を記憶し、復号化器メモリのコストが増加してしまう。
【0025】
現在のイントラインターモードの場合、イントラ予測及びインター予測の両方を実行する必要があり、また、イントラ予測処理に乗算が含まれるため、復号器がさらに複雑になってしまう。
【0026】
現在のイントラインターモードの場合、異なるブロックサイズについて、重み付けは、固定値であり、最適ではない可能性があり、改善される可能性がある。
【0027】
マルチ仮説で適用される重み付け(w_intra、w_inter)は、ブロック内のサンプルの相対位置に応じて選択される。ただし、この選択は信頼性や柔軟性が低い場合がある。
【0028】
マルチ仮説で適用される重み付け(w_intra、w_inter)は、隣接ブロックがイントラ符号化されているかそれともインター符号化されているかと相関関係があり得る。上又は左の隣接ブロックがイントラ符号化されているかそれともインター符号化されているかを考慮することにより、重み付けをより効率的に選択することができる。
【発明の概要】
【発明が解決しようとする課題】
【0029】
したがって、そのような問題に対する技術的な解決策が望まれている。
【課題を解決するための手段】
【0030】
方法及び装置を含み、当該装置は、コンピュータプログラムコードを記憶するように構成されているメモリと、コンピュータプログラムコードにアクセスしてコンピュータプログラムコードの指示に従って動作するように構成されている1つ以上のハードウェアプロセッサとを含む。コンピュータプログラムは、プロセッサに、イントラインターモードで重み付けのセットを選択させるように構成されている選択コードと、プロセッサに、位置依存イントラ予測組み合わせ(PDPC)を適用させて、インター予測サンプル、及びインター符号化された符号化ユニット(CU)の再構成されたサンプルの少なくとも1つを修正させるように構成されている適用コードとを含む。
【0031】
例示的な実施形態によれば、適用コードは、さらに、プロセッサにPDPCを適用させて、インター符号化されたCUの輝度成分のみを修正させるように構成されている。
【0032】
例示的な実施形態によれば、シグナリングコードは、さらに、プロセッサに、符号化ブロック(CB)がマージモードによって符号化されていると決定したことに応答して、インター位置依存イントラ予測組み合わせフラグinterPDPCFlagを信号で送信させるように構成されている。
【0033】
例示的な実施形態によれば、適用コードは、さらに、プロセッサに、デブロッキング、サンプル適応オフセット(SAO)及び適応ループフィルタ(ALF)を含むループ内デブロッキングフィルタのいずれかを適用する前に、PDPCを、複数の再構成されたサンプルに適用させるように構成されている。
【0034】
例示的な実施形態によれば、プログラムコードは、プロセッサに、デフォルトのイントラ予測モードを現在の符号化ブロック(CB)に割り当てることを行わせるように構成されている割り当てコードをさらに含み、適用コードは、さらに、プロセッサに、少なくともイントラモード符号化及び最確モード(MPM)の導出のために、デフォルトのイントラ予測モードを現在のCBの次のCBに適用させるように構成されている。
【0035】
例示的な実施形態によれば、適用コードは、さらに、プロセッサに、PDPCフィルタのセットを、前記インター予測サンプル以外のインター予測サンプル、及びインター符号化されたCUの再構成されたサンプル以外のインター符号化されたCUの再構成されたサンプルの少なくとも1つに適用させるように構成されており、PDPCフィルタのセット内の各PDPCフィルタは、複数のブロックサイズのうち対応するブロックサイズについて制限される。
【0036】
例示的な実施形態によれば、シグナリングコードは、さらに、プロセッサに、PDPCの少なくとも1つを適用するかどうかを指示するinterPDPCFlagを信号で送信させ、interPDPCFlagが真に等しく設定されるかどうかを決定させ、interPDPCFlagが第1の値に等しく設定されると決定したことに応答して、第2のフラグを信号で送信させ、第2のフラグが、インター予測の後にインター予測サンプル及びインター符号化されたCUの再構成されたサンプルの少なくとも1つに少なくとも1つのPDPCフィルタを適用することを指示し、interPDPCFlagが第2の値に等しく設定されると決定したことに応答して、インター予測サンプル及びインター符号化されたCUの再構成されたサンプルの少なくとも1つからPDPCを除外させるように構成されている。
【0037】
例示的な実施形態によれば、プログラムコードは、プロセッサに、前記重み付けのセットにおける重み付けが互いに等しいかどうかを選択させるように構成されているシグナリングコードと、プロセッサに、重み付けが等しくないと決定したことに応答して、隣接ブロックがイントラ符号化、インター符号化、又はイントラインター符号化によって符号化されているもののいずれかであるかどうかに応じて、PDPCフィルタリングにおいてインター予測に対して重み付けを行うように構成されている重み付けコードとをさらに含む。
【0038】
例示的な実施形態によれば、イントラインターモードにはイントラ予測が存在せず、イントラインターモードはインター予測の上にPDPCを直接適用することを含み、インター予測の上にPDPCを直接適用することは、次のことを含み、
【数8】
InterPredは入力インター予測を指示し、w_intraは、隣接ブロックがイントラ符号化、インター符号化、又はイントラインター符号化によって符号化されているもののいずれかであるかどうかに応じて、事前定義された値のセットから選択され、Nは8、16、32、64、128及び256のいずれかを指示する。
【図面の簡単な説明】
【0039】
開示されたテーマの他の特徴、性質及び様々な利点は以下の詳しい説明及び添付の図面からより明確になる。図面において、
【
図10】実施形態による簡略化されたフローチャートである。
【
図11】実施形態による簡略化されたフローチャートである。
【
図12】実施形態による簡略化されたフローチャートである。
【
図13】実施形態による簡略化されたフローチャートである。
【発明を実施するための形態】
【0040】
以下で説明する提案された特徴は、個別に使用することも、任意の順序で組み合わせて使用ことができる。また、実施形態は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装され得る。一例では、1つ以上のプロセッサは、非一時的なコンピュータ可読媒体に記憶されているプログラムを実行する。本開示では、最確モード(most probable mode、MPM)は、プライマリMPM、セカンダリMPM、又はプライマリ及びセカンダリMPMの両方を指すことができる。
【0041】
図1は、本開示の実施形態による通信システム100の簡略化されたブロック図を示す。通信システム100は、ネットワーク105を介して互いに接続された少なくとも2つの端末102、103を含むことができる。データの一方向伝送について、第1端末103は、ローカル位置でビデオデータを符号化することで、ネットワーク105を介して別の端末102に伝送することができる。第2端末102は、ネットワーク105から、別の端末の符号化されたビデオデータを受信し、当該符号化されたデータを復号化し、復元されたビデオデータを表示することができる。一方向のデータ伝送はメディアサービスアプリケーションなどでは一般的であり得る。
【0042】
図1は、例えば、ビデオ会議中に発生する可能性がある符号化されたビデオの双方向伝送をサポートするために提供される第2対の端末101、104を示す。データの双方向伝送の場合、各端末101、104は、ローカル位置でキャプチャされたビデオデータを符号化することで、ネットワーク105を介して他方の端末に伝送することができる。各端末101、104は、また、他方の端末によって伝送された符号化されたビデオデータを受信し、符号化されたデータを復号化し、復元されたビデオデータをローカル表示デバイスに表示してもよい。
【0043】
図1において、端末101、102、103及び104は、サーバ、パーソナルコンピュータ、スマートフォンとして図示されてもよいが。本開示の原理はそれに限定されていない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤー及び/又は専用のビデオ会議機器であってもよい。ネットワーク105は端末101、102、103及び104の間で、符号化されたビデオデータを伝送するための、例えば、有線及び/又は無線通信ネットワークを含む任意の数のネットワークを示す。通信ネットワーク105は、回路交換及び/又はパケット交換チャネルにおいてデータを交換することができる。当該ネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含むことができる。この検討の目的のために、ネットワーク105のアーキテクチャとトポロジーは、以下に本明細書で説明されない限り、本開示の操作にとって重要ではないかもしれない。
【0044】
本開示のテーマの適用例として、
図2は、ストリーミング環境におけるビデオ符号器と復号器の配置形態を示す。開示されたテーマは、等価的に、例えば、ビデオ会議、デジタルTV、圧縮ビデオなどのCD、DVD、メモリースティックなどを含むデジタルメデイアへの記憶を含む、ビデオをサポートする他のアプリケーションに適用されてもよい。
【0045】
ストリーミングシステムは、キャプチャサブシステム203を含むことができ、当該キャプチャサブシステムは、例えば、デジタル撮影装置などの、例えば非圧縮のビデオサンプルストリーム213を作成するビデオソース201を含んでもよい。符号化されたビデオビットストリームと比較して多いデータ量を強調するために太線として描かれるサンプルストリーム213は、撮影装置201に連結された符号器202によって処理されることができる。符号器202は、以下でより詳細に説明する開示されたテーマの各態様を実現又は実施するために、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。サンプルストリームと比較して少ないデータ量を強調するために細い線として描かれる符号化されたビデオビットストリーム204は、将来の使用のために、ストリームサーバ205に記憶され得る。1つ以上のストリーミングクライアント212、207は、ストリーミングサーバ205にアクセスして、符号化されたビデオビットストリーム204のコピー208、206を検索することができる。クライアント212は、符号化されたビデオビットストリームの着信コピー208を復号化して、ディスプレイ209又は他のレンダリングデバイス(図示せず)でレンダリングできる発信ビデオサンプルストリーム210を作成するビデオ復号器210を含むことができる。一部のストリーミングシステムでは、ビデオビットストリーム204、206、208を、特定のビデオ符号化/圧縮規格に従って符号化できる。これらの規格の例には、以上で言及され本明細書でさらに説明される。
【0046】
図3は、本開示の実施形態によるビデオ復号器300の機能ブロック図であり得る。
【0047】
受信機302は、復号器300によって復号化される1つ以上のコーデックビデオシーケンスを受信することができる。同一又は別の実施形態では、一度に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は他の符号化されたビデオシーケンスから独立している。チャネル301から符号化されたビデオシーケンスを受信することができ、当該チャネルは、当該符号化されたビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクであってもよい。受信機302は、符号化されたビデオデータ及び他のデータ、例えば、それぞれの使用エンティティ(図示せず)に転送され得る符号化されたオーディオデータ及び/又は補助データストリームを受信してもよい。受信機302は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタを防止するために、バッファメモリ303は、受信機302とエントロピー復号器/パーサ304(以降、「パーサ」と呼ばれる)との間に結合され得る。受信機302が十分な帯域幅と制御可能性を有する記憶/転送デバイス、又は等時性リアルタイムネットワークからデータを受信する場合に、バッファメモリ303を必要としない場合があり、又は、バッファメモリ303が小さくなってもよい。インターネットのようなパケットネットワークをなるべく利用するために、バッファメモリ303が必要となる場合があり、バッファメモリ303は、比較的大きくすることができ、適応的なサイズを有利に有することができる。
【0048】
ビデオ復号器300は、エントロピー符号化されたビデオシーケンスに基づきシンボル313を再構成するために、パーサ304を含み得る。これらのシンボルのカテゴリは、復号器300の動作を管理するための情報と、ディスプレイ312などの、復号器の構成部分ではないが復号器に結合され得るレンダリングデバイスを制御するための潜在的な情報とを含む。レンダリングデバイスのための制御情報は、補助拡張情報(SEI(Supplemental Enhancement Information、SEI)メッセージ)又はビデオユーザビリティ情報(Video Usability Information、VUI)パラメータセットフラグメント(図示せず)の形であってよい。パーサ304は、受信された符号化されたビデオシーケンスを解析/エントロピー復号化することができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術又は規格に準拠することができ、可変長符号化、ハフマン符号化(Huffman coding)、文脈依存の有無にかかわらず算術符号化などを含む、当業者に周知の原理に従うことができる。パーサ304は、グループに対応する少なくとも1つのパラメーターに基づいて、符号化されたビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループのサブグループパラメータセットを抽出することができる。サブグループは、ピクチャのグループ(Groups of Picture、GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(Coding Unit、CU)、ブロック、変換ユニット(Transform Unit、TU)、予測ユニット(Prediction Unit、PU)などを含んでもよい。エントロピー復号器/パーサは、また、符号化されたビデオシーケンス情報から、例えば、変換係数、量子化器パラメーターQP値、動きベクトルなどを抽出してもよい。
【0049】
パーサ304は、バッファメモリ303から受信されたビデオシーケンスに対してエントロピー復号化/解析動作を実行することで、シンボル313を作成することができる。パーサ304は、符号化されたデータを受信して、特定のシンボル313を選択的に復号化してもよい。また、パーサ304は、特定のシンボル313が動き補償予測ユニット306、スケーラ/逆変換ユニット305、イントラ予測ユニット307又はループフィルタ311に提供されたかどうかを判定してもよい。
【0050】
シンボル313の再構築は、符号化されたビデオピクチャ又は部分的に符号化されたビデオピクチャのタイプ(例えば、インターピクチャとイントラピクチャ、インターブロックとイントラブロック)及び他の要因によって、複数の異なるユニットに関与してもよい。関与するユニット、及び関与形態は、パーサ304が符号化されたビデオシーケンスから解析したサブグループ制御情報によって制御されてもよい。簡略化のために、パーサ304と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは説明されない。
【0051】
既に言及された機能ブロックに加えて、復号器200は概念的には、以下に説明する複数の機能ユニットに細分されることができる。商業的な制約の下で実行する実際の実現形態では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示されたテーマを説明するために、概念的には、以下の機能ユニットに細分されることは適切である。
【0052】
第1のユニットはスケーラ/逆変換ユニット305である。スケーラ/逆変換ユニット305は、パーサ304から、使用する変換方法、ブロックサイズ、量子化係数、量子化スケーリングマトリックスなどを含む、シンボル313としての量子化変換係数及び制御情報を受信できる。スケーラ/逆変換ユニット305は、アグリゲータ310に入力され得るサンプル値を含むブロックを出力することができる。
【0053】
いくつかの場合に、スケーラ/逆変換ユニット305の出力サンプルは、イントラ符号化ブロック、即ち、以前に再構築されたピクチャからの予測情報を使用しないが、現在のピクチャの以前に再構築された部分からの予測情報を使用するブロックに属してもよい。そのような予測情報は、イントラ予測ユニット307によって提供されることができる。いくつかの場合に、イントラ予測ユニット307は、現在の(部分的に再構成された)ピクチャ309から抽出された、周囲が既に再構築された情報を使用して、再構築しているブロックと同じサイズ及び形状のブロックを生成する。いくつかの場合に、アグリゲータ310は、各サンプルに基づいて、イントラ予測ユニット307によって生成される予測情報を、スケーラ/逆変換ユニット305から提供される出力サンプル情報に追加する。
【0054】
他の場合には、スケーラ/逆変換ユニット305の出力サンプルは、インター符号化され、潜在的に動き補償されたブロックに属してもよい。このような場合に、動き補償予測ユニット306は、参照ピクチャメモリ308にアクセスして、予測のためのサンプルを抽出してもよい。当該ブロックに属するシンボル313に基づき、抽出されたサンプルに対して動き補償を行った後に、これらのサンプルは、アグリゲータ310によってスケーラ/逆変換ユニットの出力(この場合に、残差サンプル又は残差信号と呼ばれる)に追加されることで、出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルを抽出するための参照ピクチャメモリ内のアドレスは動きベクトルによって制御されてもよく、動きベクトルはシンボル313の形で動き補償ユニットによって使用されることができ、シンボル313は、例えば、X、Y、及び参照ピクチャ成分を有してもよい。動き補償は、サブサンプルの正確な動きベクトルが使用されている際に参照ピクチャメモリから抽出されたサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
【0055】
アグリゲータ310の出力サンプルは、ループフィルタユニット311において様々なループフィルタリング技術によって処理されてもよい。ビデオ圧縮技術は、ループ内フィルタ技術を含んでもよく、ループ内フィルタ技術は、符号化されたビデオビットストリームに含まれ且つパーサ304からのシンボル313としてループフィルタユニット311に使用可能なパラメータによって制御され、しかしながら、ビデオ圧縮技術は、符号化されたピクチャ又は符号化されたビデオシーケンスの(復号化順序での)前の部分を復号化する期間に得られたメタ情報に応答してもよいし、以前に再構築されループフィルタ処理されたサンプル値に応答してもよい。
【0056】
ループフィルタユニット311の出力はサンプルストリームであってもよく、当該サンプルストリームは、将来のピクチャ間予測で使用されるために、レンダリングデバイス312に出力され、参照ピクチャメモリ557に記憶されてもよい。
【0057】
完全に再構成されると、一部の符号化されたピクチャは、将来の予測のために参照ピクチャとして使用されることができる。符号化されたピクチャは完全に再構成され、且つ符号化されたピクチャが(例えば、パーサ304によって)参照ピクチャとして識別されると、現在の参照ピクチャ309は参照ピクチャバッファ308の一部になることができ、そして、次の符号化されたピクチャの再構築を開始する前に、新しい現在のピクチャメモリを再割り当てることができる。
【0058】
ビデオ復号器300は、例えば ITU-T H.265勧告書の規格に記録されている所定のビデオ圧縮技術に従って、復号化動作を実行してもよい。符号化されたビデオシーケンスが、ビデオ圧縮技術ドキュメント又は規格で指定され、具体的にその中の文書ファイルで指定されるようなビデオ圧縮技術又は規格の構文に準拠する意味で、符号化されたビデオシーケンスは、使用されているビデオ圧縮技術又は規格によって指定される構文に準拠することができる。コンプライアンスについて、符号化されたビデオシーケンスの複雑さはビデオ圧縮技術又は規格のレベルで限定されている範囲内にあることも要求する。いくつかの場合に、レベルは、最大ピクチャのサイズ、最大フレームレート、最大再構成されたサンプルレート(例えば1秒あたりのメガのサンプルを単位として測定する)、最大参照ピクチャサイズなどを制限する。いくつかの場合に、レベルによって設定される制限は、仮想参照復号器(Hypothetical Reference Decoder、HRD)の仕様及び符号化されたビデオシーケンスにおいて信号で示されるHRDバッファ管理のメタデータによってさらに制限されてもよい。
【0059】
実施形態において、受信機302は、符号化されたビデオビデオとともに、追加の(冗長な)データを受信してもよい。追加のデータは1つ以上の符号化されたビデオシーケンス一部として含まれてもよい。追加のデータは、ビデオ復号器300がデータを正確に復号化する、及び/又は、元のビデオデータをより正確に再構築するために使用されてもよい。追加のデータは、例えば、時間、空間、又は信号対雑音比(signal noise ratio、SNR)拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形であってもよい。
【0060】
図4は、本開示の実施形態によるビデオ符号器400の機能ブロック図であり得る。
【0061】
符号器400は、ビデオソース401(符号器の一部ではない)からビデオサンプルを受信してもよく、当該ビデオソースは。符号器400によって符号化されるビデオ画像を採集してもよい。
【0062】
ビデオソース401は、符号器400によって符号化されするデジタルビデオサンプルストリームの形であるソースビデオシーケンスを提供してもよく、当該デジタルビデオサンプルストリームは、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット・・・)、任意の色空間(例えば、BT.601 Y CrCB、RGB・・・)及び任意の適切なサンプリング構成(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)を有してもよい。メディアサービスシステムでは、ビデオソース401は、以前に準備されたビデオを記憶するストレージデバイスであってもよい。ビデオ会議システムでは、ビデオソース401は、ローカルイメージ情報をビデオシーケンスとしてキャプチャする撮影装置であってもよい。ビデオデータは、順番に見る際に動きが与えられる複数の個別のピクチャとして提供されてもよい。これらのピクチャ自体は空間画素アレイとして構成されてもよく、なお、各画素は、使用されるサンプリング構成、色空間などによって、1つ以上のサンプルを含んでもよい。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明では、サンプルを中心に説明する。
【0063】
実施形態によれば、符号器400は、リアルタイムで、又はアプリケーションによって要求される他の任意の時間制約の下で、ソースビデオシーケンスのピクチャを符号化し、それを符号化されたビデオシーケンス410に圧縮してもよい。適切な符号化速度を実行することはコントローラ402の機能の1つである。コントローラは、以下に説明する他の機能ユニットを制御し、これらのユニットに機能的に結合される。簡略化のために、結合は描かれていない。コントローラによって設定されるパラメータは、レート制御関連パラメー(タピクチャスキップ、量子化器、レート歪み最適化技術のλ値・・・)、ピクチャサイズ、ピクチャグループGOPレイアウト、最大動きベクトル検索範囲などを含んでもよい。当業者は、コントローラ402の他の機能を容易に認識することができ、これらの機能は特定のシステム設計に対して最適化されたビデオ符号器400に属する可能性があるためである。
【0064】
いくつかのビデオ符号器は、当業者が「符号化ループ」として容易に認識する形態で動作する。非常に簡略化した説明として、符号化ループは、符号器402(以降、「ソース符号器」と呼ばれる)の(符号化される入力ピクチャ及び1つ以上の参照ピクチャに基づいてシンボルを構築することを担当する)符号化部分と、符号器400に埋め込まれる(ローカル)復号器406を含んでもよく、当該復号器406はシンボルを再構築して(リモート)復号器によっても作成されるサンプルデータを作成する(なぜならば、シンボルと符号化されたビデオビットストリームとの間の圧縮が開示されたテーマで考慮されるビデオ圧縮技術では無損失であるからだ)。再構築されたサンプルストリームを参照ピクチャメモリ405に入力する。シンボルストリームの復号化によって、復号器の位置(ローカル又はリモート)に関係がないビットが正確である結果が得られるため、参照ピクチャバッファのコンテンツもローカル符号器とリモート符号器との間でビットが正確である。つまり、符号器の予測部分が「見る」参照ピクチャサンプルと、復号器が復号化中に予測を使用する際に「見る」サンプル値とは全く同じである。参照ピクチャの同期性(及び、例えば、チャネル誤差のため、同期性を維持できない場合に生じるドリフト)という基本的な原理は、当業者に周知のものである。
【0065】
「ローカル」復号器406の動作は、以上で
図3に基づいて詳細に説明された「リモート」復号器300の動作と同じであってもよい。しかしながら、また、
図4を簡単に参照し、シンボルが利用可能であり、且つ、エントロピー符号器408及びパーサ304が無損失でシンボルを、符号化されたビデオシーケンスに符号化/復号化できる場合に、チャネル301、受信機302、バッファメモリ303及びパーサ304を含む復号器300のエントロピー復号化部分はローカル復号器406で完全に実現されない場合がある。
【0066】
この場合、復号器に存在する解析/エントロピー復号化に加えて、任意の復号器技術も、必然的に基本的に同じ機能形式で対応する符号器に存在することが分かる。符号器技術と完全に説明された復号器技術とは相互に逆であるため、符号器技術の説明を簡略化できる。より詳しい説明は、特定の領域のみで必要であり、以下で提供される。
【0067】
ソース符号器402の動作の一部として、ソース符号器403は動き補償予測符号化を実行してもよく、動き補償予測符号化は、ビデオシーケンスからの「参照フレーム」として指定された1つ以上の以前に符号化されたフレームを参照することで入力フレームを予測的に符号化する。このようにして、符号化エンジン407は入力フレームの画素ブロックと、入力フレームの予測参照として選択され得る参照フレームの画素ブロックとの間の差異を符号化してもよい。
【0068】
ローカルビデオ復号器406は、ソース符号器403によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化されたビデオデータを復号化してもよい。符号化エンジン407の動作は、有利には、非可逆処理であり得る。符号化されたビデオデータがビデオ復号器(
図4、図示せず)で復号化され得る場合、再構築されたビデオシーケンスは、通常、多少の誤差を有するソースビデオシーケンスのコピーであり得る。ローカルビデオ復号器406は、参照フレームに対してビデオ復号器によって実行され得る復号化処理を複製し、再構成された参照フレームを参照ピクチャキャッシュ405に記憶してもよい。このようにして、符号器400は、再構成された参照フレームのコピーをローカルに記憶することができ、当該コピーは、リモートビデオ復号器によって得られる再構成された参照フレームと共通のコンテンツを有する(伝送誤差がない)。
【0069】
予測器404は、符号化エンジン407に対して予測検索を実行することができる。つまり、符号化される新しいフレームについて、予測器404は、参照ピクチャメモリ405において、新しいピクチャの適切な予測参照として使用し得るサンプルデータ(候補参照画素ブロックとして)、又は例えば参照ピクチャの動きベクトル、ブロック形状などの特定のメタデータを検索してもよい。予測器404は、適切な予測参照を見つけるために、サンプルブロックに基づいて、画素ブロックごとに動作することができる。いくつかの場合に、例えば、予測器404によって得られた検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ405に記憶された複数の参照ピクチャから抽出された予測参照を有してもよい。
【0070】
コントローラ402は、例えば、ビデオデータを符号化するためのパラメータとサブグループパラメータの設定を含む、ソース符号器403の符号化動作を管理することができる。
【0071】
エントロピー符号器408において、以上で言及された全ての機能ユニットの出力に対してエントロピー符号化を行ってもよい。エントロピー符号器は、(例えばハフマン符号化、可変長符号化、算術符号化など)の当業者に周知の技術に従って、シンボルに対して無損失圧縮を行うことにより、各機能ユニットによって生成されたシンボルを、符号化されたビデオシーケンスに変換する。
【0072】
送信機409は、通信チャネル411を介した伝送の準備をするように、エントロピー符号器408によって作成された1つ以上の符号化されたビデオシーケンスをバッファリングすることができ、通信チャネル411は、符号化されたビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクであってもよい。送信機409は、ソース符号器403からの符号化されたビデオデータを、伝送しようとする他のデータ、例えば、符号化されたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)とともにマージしてもよい。
【0073】
コントローラ402は、符号器400の動作を管理することができる。コントローラ405は、符号化中に、各符号化されたピクチャに、対応するピクチャに適用し得る符号化技術に影響を与える可能性がある特定の符号化されたピクチャタイプを割り当て得る。例えば、通常、ピクチャは、次のピクチャタイプのいずれかとして割り当てられ得る。
【0074】
イントラピクチャ(Iピクチャ)は、シーケンス内の任意の他のフレームを予測のソースとして使用せずに符号化及び復号化されるピクチャであってもよい。一部のビデオコーデックは、例えば、独立復号器リフレッシュピクチャ(Independent Decoder Refresh)を含む異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのそれらの変形及び対応する用途と特徴を知っている。
【0075】
予測ピクチャ(Pピクチャ)は、多くとも1つの動きベクトル及び参照インデックスを使用して各ブロックのサンプル値を予測し得るためのイントラ予測又はインター予測を使用して、符号化及び復号化を行うピクチャであってもよい。
【0076】
双方向予測性ピクチャ(Bピクチャ)は、多くとも2つの動きベクトルと参照インデックスを使用して各ブロックのサンプル値を予測するためのイントラ予測又はインター予測を使用して、符号化及び復号化を行うピクチャであってもよい。同様に、複数の予測ピクチャは、2つを超える参照画像及び関連メタデータを単一のブロックの再構成に使用できる。
【0077】
ソースピクチャは一般的に、空間的に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8又は16×16サンプルのブロック)に細分され、ブロックごとに符号化しされてもよい。ブロックは、該ブロックの対応するピクチャに適用される符号化割り当てによって決定される他の(既に符号化された)ブロックを参照して予測的に符号化されてもよい。例えば、Iピクチャのブロックは、非予測的に符号化されてもよいし、同一のピクチャの符号化されたブロックを参照して予測的に符号化されてもよい(空間的予測又はイントラ予測)。Pピクチャの画素ブロックは、1つの以前に符号化された参照ピクチャを参照して空間的予測又は時間的予測を介して非予測的に符号化されてもよい。Bピクチャのブロックは、1つ又は2つの以前に符号化された参照ピクチャを参照して、空間的予測又は時間的予測を介して非予測的に符号化されてもよい。
【0078】
ビデオ符号器400は、例えばITU-T H.265勧告書などの所定のビデオ符号化技術又は規格に基づき、符号化動作を実行することができる。ビデオ符号器400は、動作中に、入力ビデオシーケンスにおける時間的及び空間的冗長性による予測符号化操作を含む様々な圧縮動作を実行することができる。従って、符号化されたビデオデータは、使用されているビデオ符号化技術又は規格によって指定された構文に準拠し得る。
【0079】
実施形態において、送信機409は、符号化されたビデオとともに、追加のデータを伝送してもよい。ソース符号器403は、このようなデータを、符号化されたビデオシーケンスの一部として含んでもよい。追加のデータは、時間的/空間的/SNR拡張層、例えば冗長なピクチャ、スライスのような他の形の冗長データ、補助拡張情報(Supplementary Enhancement Information、SEI)メッセージ、視覚的ユーザビリティ情報(Visual Usability Information、VUI)パラメータセットフラグメントなどを含んでもよい。
【0080】
図5は、HEVC及びJEMで使用されるイントラ予測モードを示す。自然なビデオで示される任意のエッジ方向を採集するために、指向性イントラモードの数がHEVCで使用される33から65に拡張される。HEVCの上にあるJEMにおける追加指向性モードは
図5において点線の矢印として示され、且つ平面モード及びDCモードは同じままである。これらのより高密度の指向性イントラ予測モードはすべてのブロックサイズ、及び輝度とクロマイントラ予測との両方に適用される。
図5に示すように、奇数のイントラ予測モードインデックスに関連付けられた、点線の矢印でマークされる、指向性イントラ予測モードは、奇数のイントラ予測モードと呼ばれる。偶数のイントラ予測モードインデックスに関連付けられた、実線の矢印でマークされる指向性イントラ予測モードは、偶数のイントラ予測モードと呼ばれます。本願では、
図5の実線又は点線の矢印で示されている指向性イントラ予測モードは、角度モードとも呼ばれる。
【0081】
JEMでは、合計67個のイントラ予測モードは輝度イントラ予測に使用される。イントラモードで符号化するために、隣接ブロックのイントラモードに基づいてサイズが6であるMPMリストを構築する。イントラモードがMPMリストにない場合、イントラモードが選択されたモードに属しているかどうかを指示するためにフラグを信号で送信する。JEM-3.0には、16個の選択モードがあり、4つずつの角度モードとして均一に選択される。JVET-D0114及びJVET-G0060において、均一に選択されたモードを置き換えるために、16個のセカンダリMPMが導出される。
【0082】
図6は、イントラ指向性モードに対して採用されるN個の参照層を示す。ブロックユニット611、セグメントA601、セグメントB602、セグメントC603、セグメントD604、セグメントE605、セグメントF606、第1の参照層610、第2の参照層209、 第3の参照層608及び第4の参照層607が存在する。
【0083】
HEVCとJEMの両方、及び、例えばH.264/AVCのなどの他の標準では、現在のブロックを予測するために使用される参照サンプルは、最も近い参照ライン(行又は列)に制限される。複数の参照ラインのイントラ予測の方法では、イントラ指向性モードについて、候補参照ライン(行又は列)の数が1つ(つまり、最も近い)からNに増加し、ここで、Nは1以上の整数である。
図2は、4×4予測ユニット(prediction unit、PU)を例として採用して複数ラインのイントラ指向性予測方法の概念を示している。イントラ指向性モードは、N個の参照層の1つを任意に選択して予測子を生成することができる。言い換えると、予測子p(x、y)は、参照サンプルS1、S2、...、SNの1つから生成される。イントラ指向性モードに対して選択された参照層を示すために、フラグを信号で送信する。Nが1に設定される場合、イントラ指向性モード方法は、JEM2.0の従来の方法と同じになる。
図6において、参照ライン610、609、608、及び607は、左上の参照サンプルとともに、6つのセグメント601、602、603、604、605、及び606を含む。本願では、参照層は参照ラインとも呼ばれる。現在のブロックユニット内の左上の画素の座標は(0、0)であり、第1の参照ラインの左上の画素は(-1、-1)である。
【0084】
JEMにおいて、輝度コンポーネントの場合、イントラ予測サンプルの生成に使用される隣接サンプルは、生成処理の前にフィルタリングされる。フィルタリングは、指定されたイントラ予測モードと変換ブロックサイズによって制御される。イントラ予測モードがDCの場合、又は変換ブロックサイズが4×4に等しい場合、隣接サンプルはフィルタリングされない。指定されたイントラ予測モードと垂直モード(又は水平モード)の間の距離が事前定義されたしきい値よりも大きい場合、フィルタリング処理を開始する。隣接サンプルのフィルタリングには、[1、2、1]フィルタとバイリニアフィルタが使用される。
【0085】
位置依存イントラ予測組み合わせ(position dependent intra prediction combination、PDPC)方法は、イントラ予測方法であり、フィルタリングされた境界参照サンプルHEVC式イントラ予測と、フィルタリングされない境界参照サンプルを使用した組み合わせを呼び出す。(x、y)にある各予測サンプルpred[x][y]を以下のように計算する。
【数9】
ここで、R
x、-1、R
-1、yは、それぞれ、現在のサンプル(x、y)の上部と左側にあるフィルタリングされていない参照サンプルを示す。R
-1、-1は現在のブロックの左上隅にあるフィルタリングされていない参照サンプルを示す。重み付けは次のように計算される。
wT=32≫((y≪1)≫シフト) (式2-2)
wL=32≫((x≪1)≫シフト) (式2-3)
wTL=-(wL≫4)-(wT≫4)(式2-4)
シフト=(log2(幅)+log2(高さ)+2)≫2(式2-5)
【0086】
図7は、DCモードPDPCが1つの4×4ブロック内の(0、0)位置及び(1、0)位置に対して重み付け(wL、wT、wTL)を行う
図700を示す。PDPCをDCイントラモード、平面イントラモード、水平イントラモード及び垂直イントラモードに適用する場合、例えばHEVC DCモード境界フィルタ又は水平/垂直モードエッジフィルタなどの追加の境界フィルタを必要としない。
図7は、右上の対角モードに適用されるPDPCの参照サンプルR
x、-1、R
-1、y及びR
-1、-1の定義を示す。予測サンプルpred(x’、y’)は予測ブロック内の(x’、y’)にある。参照サンプルR
x、-1の座標xはx=x’+y’+1で与えられ、参照サンプルR
-1、yの座標yは同様にy=x’+y’+1で与えられる。
【0087】
図8は、ローカル照明補償(Local Illumination Compensation、LIC)
図800を示し、スケーリング係数a及びオフセットbを使用した、照明変化の線形モデルに基づいている。そして、インターモード符号化のコーディングユニット(coding unit、CU)ごとに適応的に有効又は無効になる。
【0088】
LICがCUに適用される場合に、最小二乗誤差法を使用して、現在のCUの隣接サンプルとそれに対応する参照サンプルを使用してパラメータaとbを導出する。より具体的に、
図8に示されるように、CUのサブサンプリングされた(2:1サブサンプリングされた)隣接サンプル及び参照ピクチャ内の(現在のCU又はサブCUの動き情報によって識別される)対応するサンプルが使用される。ICパラメータが導出され、予測方向ごとにそれぞれに適用される。
【0089】
CUがマージモードで符号化される場合、マージモードでの動き情報のコピーと同様に、隣接ブロックからLICフラグをコピーし、それ以外の場合、LICが適用されるかどうかを示すために、LICフラグをCUに信号で送信する。
【0090】
図9Aは、HEVCで使用されるイントラ予測モード900を示す。HEVCにおいて、合計35個のイントラ予測モードがあり、そのうち、モード10は水平モード、モード26は垂直モード、モード2、モード18、モード34は対角モードである。イントラ予測モードは、3つの最確モード(MPM)と残りの32個のモードによって信号で示される。
【0091】
図9Bは、VVCの実施形態の実施形態において、合計87個のイントラ予測モードがあり、ここで、モード18が水平モード、モード50が垂直モード、モード2、モード34及びモード66が対角モードである。モード-1~-10及びモード67~76は、広角イントラ予測(Wide-Angle Intra Prediction、WAIP)モードと呼ばれる。
【0092】
PDPC式に従って、イントラ予測モード(DC、平面、角度)及び参照サンプルの線形組み合わせを使用して位置(x、y)にある予測サンプルpred(x、y)を予測する。
pred(x、y)=(wL×R-1、y+wT×Rx、-1-wTL×R-1、-1+(64-wL-wT+wTL)×pred(x、y)+32)≫6
ここで、Rx、-1、R-1、yは、それぞれ現在のサンプル(x、y)の上方及び左側にある参照サンプルを示し、R-1、-1は、現在のブロックの左上隅にある参照サンプルを示す。
【0093】
DCモードの場合、幅及び高ささの寸法を有するブロックについて、重み付けを以下のように計算する。
wT=32≫((y≪1)≫nScale),wL=32≫((x≪1)≫ nScale),wTL=(wL≫4)+(wT≫4)
ここで、nScale=(log2(幅)-2+log2(高さ)-2+2)≫2であり、wTは、同じ水平座標を持つ上記の参照ラインにある参照サンプルの重み係数を示し、wLは、同じ垂直座標を持つ左側の参照ラインにある参照サンプルの重み係数を示し、wTLは、現在のブロックの左上の参照サンプルの重み係数を示し、nScaleは、重み係数が軸に沿って減少する(wLが左から右に減少するか、wTが上から下に減少する)速度、つまり、重み係数の減少率を指定し、現在の設計において、当該重み係数の減少率はx(左から右へ)とy軸(上から下へ)に沿って同じである。また、32は隣接サンプルの初期重み係数を示し、初期重み係数は現在のCBの左上のサンプルに割り当てられた上(左又は左上)の重み付けでもあり、PDPC処理の隣接サンプルの重み係数はこの初期重み係数以下である必要がある。
【0094】
平面モードの場合は、wTL=0、水平モードの場合は、wTL=wT、垂直モードの場合は、wTL=wLである。PDPCの重み付けは、加算とシフトのみで計算できる。式(1)を使用して1つのステップでpred(x、y)の値を計算できる。
【0095】
図10は、例示的な実施形態によるフローチャート1000を示し、ここで、S1において、PDPCを、インター符号化されたCUの再構築されたサンプル又はインター予測サンプルに適用することが考えられる。PDPCをインター符号化されたCUの再構成されたサンプル又はインター予測サンプルに適用する場合に、PDPC処理において、インター符号化されたCUの再構成されたサンプル又は予測サンプルをさらに修正する。
【0096】
S2において、PDPCを適用するかどうかを指示するために、例えばinterPDPCFlagのフラグを信号で送信する。実施形態によれば、PDPCをインター符号化されたCUの再構成されたサンプル又はインター予測サンプルに適用するかどうかを指示するために、CUレベルで、interPDPCFlagを信号で送信することができ、他の実施形態によれば、PDPCをインター符号化されたCUの再構成されたサンプル又はインター予測サンプルに適用するかどうかを指示するために、TUレベルで、interPDPCFlagを信号で送信することができる。また、現在のCUがイントラ符号化されたCUでもスキップCUでもないと決定された場合にのみ、interPDPCFlagを信号で送信する。
【0097】
実施形態によれば、S2において、マージモードによって符号化された符号化ブロックについてのみinterPDPCFlagを信号で送信してもよく、また、マージインデックスの前又は後に当該フラグを信号で送信してもよく、これにより、実施形態によれば、PDPCをスキップCUに適用しないようにし、及び/又はPDPClをスキップCU又はサブブロックマージCUのいずれにも適用しないようにする。
【0098】
S3において、インター符号化されたCUの再構成又はインター予測後に、interPDPCFlagが真に等しく設定されるかどうかを考慮し、真に等しく設定される場合、S4において、PDPCをインター符号化されたCUの再構成されたサンプル又はインター予測サンプルに適用して、インター符号化されたCUの再構成されたサンプル又は最終予測値を生成する。
【0099】
実施形態によれば、S4において、PDPCを再構成されたサンプルに適用する場合に、PDPCは、ループ内デブロッキングフィルタ(例えばデブロッキング、サンプル適応オフセット(Sample Adaptive Offset、SAO)及び適応ループフィルタ(Adaptive Loop Filter、ALF)など)のいずれかを適用する前に、再構成されたサンプルに適用される。
【0100】
実施形態によれば、S3において、interPDPCflagが真に等しく設定される場合に、S4において、デブロッキング及びSAOを現在のCUの上境界及び左境界に適用せず、他の実施形態によれば、S3において、interPDPCflagが真に等しく設定される場合に、PDPC以外の任意の他のフィルタを現在のCUの上境界及び左境界に適用しない。
【0101】
さもなければ、S5において、インター符号化されたCUの再構成又はインター予測後に、PDPCをインター符号化されたCUの再構成されたサンプル又はインター予測サンプルに適用せず、代わりに、通常のインター予測処理が使用され得る。
【0102】
実施形態によれば、PDPCは、インター符号化されたCUの輝度成分にのみ適用されることが決定され、適用され得る。
【0103】
実施形態によれば、S6において、PDPCを現在のCBのインター符号化されたCUの再構成されたサンプル又はインター予測サンプルに適用する場合に、S7において、デフォルトのイントラ予測モードを現在のCBに割り当てるかどうかを決定することができ、それにより、次のCBは、当該デフォルトのイントラ予測モードをイントラモード符号化及び最確モード(Most Probable Mode、MPM)の導出に使用することができる。例えば、デフォルトのイントラ予測モードは平面モード又はDCモードのいずれかであってもよい。
【0104】
S8において、S5での通常のイントラ及びS4でのPDPCにPDPCの異なる初期重み係数を使用するかどうかを決定することができ、使用する場合、S9において、S4でのPDPCに対して、重み係数を16、8、4、2又は1に設定する。実施形態によれば、PDPCを現在のCBのインター符号化されたCUの再構成されたサンプル又はインター予測サンプルに適用する場合に、イントラ予測モードを利用不可としてマークし、次の隣接ブロックについて、現在のCBはイントラ符号化ブロックと見なされず、次の隣接ブロックについて、現在のCBはイントラモード符号化又はMPMの導出に使用できない。
【0105】
実施形態によれば、PDPCをS5でのインター符号化されたCUの再構成されたサンプル又はインター予測サンプルに適用する場合に、S10において、重み係数減少率及び/又は初期の重み係数を考慮し、S11において、重み係数減少率及び/又は初期重み係数が、イントラ予測の元のPDPCで使用される値ではなく、異なる値に設定される。
【0106】
実施形態によれば、S11において、重み係数減少率が、現在の符号化ユニットのブロックサイズに依存せず、固定値Nに等しく設定されてもよく、Nは0以上の任意の整数であってもよい。例えば、Nが、0、1、2、3又は4に等しく設定されてもよい。
【0107】
実施形態によれば、S11において、ブロックサイズ(幅*高さ)がThres_1以下である場合に、重み係数減少率を固定値N1に等しく設定してもよい。さもなければ、重み係数減少率を他の固定値N2に等しく設定してもよい。N1及びN2は、0以上の任意の整数であってもよい。例えば、N1を1に等しく設定し、N2を2に等しく設定する。Thres_1は任意の正の整数、例えば32、64、128、256、512又は1024であってもよい。
【0108】
実施形態によれば、S11において、重み係数減少率を((Log2(nTbW)+Log2(nTbH)+S)≫2)に等しく設定してもよく、Sは任意の整数、例えば-3、-2、-1、0、1、2又は3であってもよい。
【0109】
実施形態によれば、S11において、PDPCをインター予測サンプルに適用する場合に、重み係数減少率は、x軸(左から右へ)及びy軸(上から下へ)に対して異なる値を有し得る。例えば、x軸に沿う重み係数の減少率は、Log2(nTbH)+S1)≫1などの現在のCBの幅に関連し、y軸に沿う重み係数の減少率はLog2(nTbW)+S2)≫1などの現在のCBの高さに関連する場合がある。S1及びS2は、任意の整数、-3、-2、-1、0、1、2、又は3であってもよい。
【0110】
また、
図10による実施形態において、SPS(Sequence Parameter Set、シーケンスパラメータセット)、PPS(Picture Parameter Set、ピクチャパラメータセット)、スライスヘッダー、CTUヘッダーを含むがこれに限定されない高レベルの構文要素で、インター予測ブロック又はインター再構成ブロックの上にPDPCを適用することを許可するかどうかを信号で通知してもよく、また、輝度インター予測ブロック又はインター再構成ブロックの上にPDPCを適用することを許可するかどうかを指示するために、1つのフラグを信号で送信してもよく、クロマインター予測ブロック又はインター再構成ブロックの上にPDPCを適用することを許可するかどうかを指示するために、別のフラグを信号で送信してもよい。
【0111】
図11は、例示的な実施形態によるフローチャート1100を示し、当該例示的な実施形態は、
図10の実施形態による、又は
図10の実施形態とは別であり、ただし、S1、S2、S3及びS4は同様であり、S3において、フラグが真に等しく設定されると決定した場合、S12において、第2のフラグ又はインデックスを信号で送信することができる。フローチャート1100は複数のPDPCフィルタのセットをインター予測サンプル(又はインター符号化されたCUの再構成されたサンプル)に適用することに関する。各ブロックサイズごとに複数のPDPCフィルタのセットを制限することができ、PDPCをインター予測サンプル又はインター符号化されたCUの再構成されたサンプルに適用する場合に、PDPC処理の予測サンプルをインター予測サンプル又はインター符号化されたCUの再構成されたサンプルに修正し得る。PDPCを適用できる符号化ブロックに対してPDPCフィルタの選択を信号で通知してもよい。
【0112】
S12において、実施形態によれば、S2において、PDPCを適用するかどうかを指示するように、1つのフラグ、即ち、interPDPCFlagを信号で送信してもよい。S3において、interPDPCFlagが真に等しく設定される場合、第2のフラグ又はインデックスを信号で送信し、インター予測後にPDPCフィルタの利用を指示してもよい。指定されたフィルタタイプをインター予測サンプル又はインター符号化されたCUの再構成されたサンプルに適用して、最終インター予測値又はインター符号化されたCUの再構成されたサンプルを生成してもよい。
【0113】
S13において、実施形態によれば、N個の異なるPDPCフィルタタイプが存在してもよく、単項切り捨て符号化又は固定長符号化によってこれらのN個の異なるPDPCフィルタタイプを信号で通知してもよく、Nは、任意の正の整数、例えば2、3又は4であってもよい。
【0114】
S13において、実施形態によれば、PDPCフィルタタイプの数は、ブロックの幅、ブロックの高さ、ブロックの幅対高さ比、ブロックの面積サイズ、現在のブロックが一方向予測(uni-predicted)であるかそれとも一方向予測であるか、現在のブロックがMERGEモード又はAMVPモードのどちらを使用して符号化するかのことを含むがこれらに限定されない符号化情報に依存し得る。
【0115】
S13において、実施形態によれば、重み係数の減少率又はスケーリング係数、及び/又は上方及び/又は左側の初期重み係数、及び/又は現在ブロックの左上のサンプルに割り当てられた左上の重み付けによって、異なるPDPCフィルタタイプを指定してもよい。例えば、重み係数減少率を((Log2(nTbW)+Log2(nTbH)-2+S)>>2)に設定してもよく、ここで、Sは任意の整数であり、Sは、異なるPDPCフィルタタイプについて異なる設定を有する。実施形態において、各PDPCフィルタタイプに対して、重み係数の減少率をNに設定してもよく、Nは任意の整数であってもよく、Nは異なるPDPCフィルタタイプについて異なる設定を有し得る。実施形態において、重み係数の減少率の導出は、N個の異なるPDPCフィルタタイプが存在する場合に説明された方法を使用してもよく、そして、重み係数の初期値は32、16、8、4、2、1又は0であってもよい。他の実施形態において、重み係数の初期値のみは、異なるPDPCフィルタタイプによって異なることができ、重み係数の初期値の例示的な値は32、16、8、4、2、1又は0を含み得るが、これらに限定されない。
【0116】
また、S13は、S6及びS7と同様に、PDPCをインター予測サンプル又はインター符号化されたCUの再構成されたサンプルに適用する場合に、デフォルトのイントラ予測モードを現在のCBに割り当てることで、次のCBは、当該デフォルトのイントラ予測モードをMPMの導出に使用することができ、デフォルトのイントラ予測モードは平面モード又はDCモードであってもよい。
【0117】
図12は、イントラインターモード又はインターイントラモードと呼ばれる、又はマージ及びイントラ予測モードの組み合わせとも呼ばれるマルチ仮説イントラインター予測に関連するフローチャート1200を示す。同じ重み付けをイントラ予測及びインター予測に適用する重み付けは、等しい重み付けと呼ばれ、例えば、(w_intra、w_inter)=(1、1)又は(w_intra、w_inter)=(4、4)は等しい重み付けであり、なお、w_intraはイントラ予測に適用される重み付けであり、w_interはインター予測に適用される重み付けである。
【0118】
S14において、イントラインターモードに適用される重み付け、即ち、w_intra及びw_interについて、重み付けのセットを決定し、イントラインターモードによって符号化されるブロックに対して重み付けの選択を信号で通知する処理を開始する。S14において、隣接ブロックのパラメータをチェックすることができ、S15において、等しい重み付けを使用するかどうかを示すために、第1のフラグを信号で送信することができる。実施形態によれば、当該第1のフラグをエントロピー符号化するためのコンテキストは、隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存する。実施形態によれば、当該第1のフラグをエントロピー符号化するためのコンテキストは、上方の隣接ブロック及び左側の隣接ブロックの1つがイントラ符号化されるかどうかに依存する。実施形態によれば、当該第1のフラグをエントロピー符号化するためのコンテキストは、上方の隣接ブロック及び左側の隣接ブロックの1つがイントラ符号化されるかそれともイントラインター符号化されるかに依存する。実施形態によれば、当該第1のフラグをエントロピー符号化するためのコンテキストは、上方の隣接ブロック及び左側の隣接ブロックの1つがインター符号化されるかどうかに依存する。
【0119】
例えば、S16において、ある条件が満たされているかどうかを決定することができる。等しい重み付けが適用されないことを示す値を利用して第1のフラグを信号で送信する場合、重み付けは、隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに応じて選択される。
【0120】
例示的な実施形態によれば、以下に説明される例示的な条件のうちの任意の条件が満たされる場合、S17において、1つの重み付け、例えば例示的な候補重み付け(w_intra、w_inter)=(3、1)を適用し、以下に説明される例示的な条件のうちの任意の条件が満たされていない場合、S18において、1つの重み付け、例えば例示的な候補重み付け(w_intra、w_inter)=(1、3)を適用する。
【0121】
S16での条件は、当該第1のフラグをエントロピー符号化するためのコンテキストが「上方の隣接ブロック及び左側の隣接ブロックの両方がイントラ符号化されるかどうか」に依存するかどうか、当該第1のフラグをエントロピー符号化するためのコンテキストが「上方の隣接ブロック及び左側の隣接ブロックの両方がイントラ符号化又はイントラインター符号化されるかどうか」に依存するかどうか、及び当該第1のフラグをエントロピー符号化するためのコンテキストが「上方の隣接ブロック及び左側の隣接ブロックの両方がインター符号化されるかどうか」に依存するかどうかのいずれかに応じて考慮されることができる。しかしながら、例示的な実施形態によれば、当該第1のフラグをエントロピー符号化するためのコンテキストが、上方の隣接ブロック及び左側の隣接ブロックの両方がインター符号化されるかどうかに依存する場合、上記の他の実施形態と対照して、重み付けを(w_intra、w_inter)=(1、3)に設定してもよい。
【0122】
S19において、候補重み付けのセットのどれを使用して重み付けを行うかを示すために、第2のフラグを信号で送信することができる。実施形態によれば、第2のフラグエントロピー符号化するためのコンテキストは、隣接ブロックがイントラ符号化されるか、インター符号化されるか、又は、イントラインター符号化されるかに依存する。例えば、上方の隣接ブロック及び左側の隣接ブロックの両方がイントラ符号化される場合、コンテキスト値を第1の値に設定でき、さもなければ、上方の隣接ブロック及び左側の隣接ブロックのいずれかがイントラ符号化される場合、コンテキスト値を第2の値に設定でき、さもなければ、上方及び左側の隣接ブロックのいずれもイントラ符号化されていない場合、コンテキスト値を第3の値に設定できる。他の実施形態によれば、上方の隣接ブロック及び左側の隣接ブロックの両方がイントラ符号化又はイントラインター符号化される場合、コンテキスト値を第1の値に設定でき、さもなければ、上方の隣接ブロック及び左側の隣接ブロックの1つがイントラ符号化又はイントラインター符号化される場合、コンテキスト値を第2の値に設定でき、さもなければ、上方の隣接ブロック及び左側の隣接ブロックのいずれもイントラ符号化されていない場合、コンテキスト値を第3の値に設定できる。実施形態によれば、候補重み付けのセットは、(w_intra、w_inter)=(1、3)及び(w_intra、w_inter)=(3、1)を含み得る。
【0123】
図13は、フローチャート1300を示し、S20において、イントラインターモードでイントラ予測を使用せず、インター予測の上にPDPCを直接適用し、しかしながら、PDPCフィルタリングにおいてインター予測に適用される重み付けは隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存する。
【0124】
実施形態によれば、S21において、以下のように、インター予測の上にPDPCを直接適用する。
【数10】
【0125】
なお、InterPredは入力インター予測であり、w_intraは、事前定義された値のセットから選択され、当該選択は、隣接ブロックがイントラ符号化されるか、インター符号化されるか、イントラインター符号化されるかに依存し、Nの値の例は8、16、32、64、128、256を含む。隣接ブロックが当該条件を満す場合、S22において重み付け1を適用し、隣接ブロックが当該条件を満さない場合、S23において重み付け2を適用する。
【0126】
実施形態によれば、S21において、以下のように、インター予測の上にPDPCを直接適用する。
【数11】
ここで、InterPredは入力インター予測であり、w_intraは事前定義された値のセットから選択され、当該選択は、隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存する。Nの値の例は、8、16、32、64、128、256を含む。隣接ブロックが当該条件を満たす場合、S22において重み付け1を適用でき、隣接ブロックが当該条件を満たさない場合、S23において重み付け2を適用できる。
【0127】
実施形態によれば、S21において、以下のように、インター予測の上にPDPCを直接適用する。
【数12】
ここで、InterPredは入力インター予測であり、w_intraは事前定義された値のセットから選択され、当該選択は、隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存する。例えば、w_intra=3且つw_inter=1の場合、上記の式は次のように書き直すことができる。
【数13】
Nの値の例は、8、16、32、64、128、256を含む。
【0128】
実施形態によれば、S21において、PDPCにおいて上の参照サンプル(wT)に適用される重み付けは、上方の隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存し、そして、PDPCにおいて左の参照サンプル(wL)に適用される重み付けは、左側の隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存する。
【0129】
実施形態によれば、S21において、以下のように、インター予測の上にPDPCを直接適用する。
【数14】
ここで、InterPredは入力インター予測であり、w_intraLは事前定義された値のセットから選択され、当該選択は、左側の隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存し、w_intraTは事前定義された値のセットから選択され、当該選択は、上方の隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存し、w_intraTLは事前定義された値のセットから選択され、当該選択は、左上の隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存する。Nの値の例は、8、16、32、64、128、256を含む。隣接ブロックが当該条件を満たす場合、S22において重み付け1を適用でき、隣接ブロックが当該条件を満たさない場合、S23において重み付け2を適用できる。
【0130】
実施形態によれば、S21において、以下のように、インター予測の上にPDPCを直接適用する。
【数15】
ここで、InterPredは入力インター予測であり、w_intraLは事前定義された値のセットから選択され、当該選択は、左側の隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存し、w_intraTは事前定義された値のセットから選択され、当該選択は、上方の隣接ブロックがイントラ符号化されるか、インター符号化されるか、又はイントラインター符号化されるかに依存する。Nの値の例は、8、16、32、64、128、256を含む。隣接ブロックが当該条件を満たす場合、S22において重み付け1を適用でき、隣接ブロックが当該条件を満たさない場合、S23において重み付け2を適用できる。
【0131】
従って、本明細書で説明された例示的な実施形態によれば、これらの技術的解決策によって上記の技術的問題を有利に改善することができる。
【0132】
上記の技術はコンピュータ可読命令によってコンピュータソフトウェアとして実現され、物理的に1つ以上のコンピュータ可読媒体に記憶されてもよい。例えば、
図14は開示されたテーマのいくつかの実施例を実現するのに適したコンピュータシステム1400を示す。
【0133】
コンピュータソフトウェアは、任意の適切なマシンコード又はコンピュータ言語によって符号化することができ、マシンコード又はコンピュータ言語に対して、アセンブル、コンパイル、リンクなどのメカニズムを実行することで、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるか、又は解釈、マイクロコードなどによって実行される命令を含むコードを作成することができる。
【0134】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む、様々なタイプのコンピュータ又はそれらのコンポーネントで実行されることができる。
【0135】
図14に示すコンピュータシステム1400のためのコンポーネントは、本質的に例示であり、本開示の各実施形態を実現するためのコンピュータソフトウェアの使用範囲又は機能に制限を加えることを意図するものではない。コンポーネントの配置も、コンピュータシステム1400の例示的な実施形態に示めされるコンポーネントのいずれか、又はそれらの組み合わせに関連する任意の依存性又は要件を有するものとして解釈されるべきではない。
【0136】
コンピュータシステム1400はいくつかのヒューマンマシンインタフェース入力機器を含んでもよい。このようなヒューマンマシンインタフェース入力機器は、例えば触覚入力(例えば:キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば:声、手をたたく音)、視覚入力(例えば:姿勢)、嗅覚入力(図示せず)などの、1つ以上の人類ユーザーによる入力に応答することができる。ヒューマンマシンインタフェース機器は例えば、オーディオ(例えば、音声、音楽、環境音)、画像(例えば、スキャンした画像、静的画像撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、ステレオビデオが含まれる3次元ビデオ)などの、人類の意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されることもできる。
【0137】
ヒューマンマシンインタフェース入力機器は、キーボード1402、マウス1404、タッチパッド1403、タッチパネル1410、ジョイスティック1405、マイク1406、スキャナ1408、撮影装置1407のうちの1つ以上を含んでもよい(それぞれが1つのみ図示される)。
【0138】
コンピュータシステム1400はさらにヒューマンマシンインタフェース出力機器を含んでもよい。このようなヒューマンマシンインタフェース出力機器は、例えば触覚出力、音、光及び匂い/味を介して1つ以上の人類ユーザーの感覚を刺激することができる。このようなヒューマンマシンインタフェース出力機器は触覚出力機器(例えば、タッチパネル1410、又はジョイスティック1405による触覚フィードバック機器であり、ただし、入力機器として用いられない触覚フィードバック機器も存在する)、オーディオ出力機器(例えば、スピーカー1409、ヘッドフォン(図示せず))、視覚出力機器(例えば、スクリーン1410、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)があり、スクリーン1410は、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、各スクリーンはタッチパネル入力能力、触覚フィードバック能力を有してもよく、有してなくてもよく、そのうちのいくつかは、立体画像出力のような手段で、2次元の視覚出力又は3次元以上の出力を出力できる可能性がある)、及びプリンター(図示せず)を含む。グラフィックアダプタ1429は、様々な入力デバイスへのインタフェースのために提供され得る。
【0139】
コンピュータシステム1400はさらに人類がアクセスし得る記憶機器及びその関連する媒体を有してもよく、例えば、CD/DVDなどの媒体1411を有するCD/DVD ROM/RW1412を含む光学媒体、サムドライブ1413、取り外し可能なハードドライブ又はソリッドステートドライブ1414、伝統の磁気媒体(例えば、磁気テープとフロッピーディスク(図示せず))、専用ROM/ASIC/PLDに基づく機器(例えばドングル(図示せず))などを含む。
【0140】
当業者は、現在開示されたテーマを結合して使用される用語「コンピュータ可読媒体」には伝送媒体、搬送波又は他の瞬間信号が含まれないことを理解するべきである。
【0141】
コンピュータシステム1400はさらに1つ以上の通信ネットワーク1415へのインタフェースを含んでもよい。ネットワーク1415は、例えば無線、有線、光学であってもよい。ネットワーク1415はさらに、ローカル、広域、都市用、車両及び工業用、リアルタイム、遅延耐性ネットワークなどであってもよい。ネットワーク1415の例はイーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、有線テレビ、衛星テレビ及び地上波テレビを含むテレビ有線又は無線広域デジタルネットワーク、CANBusを含む車両及び工業ネットワークなどを含む。あるネットワーク1415は一般的に、ある汎用データポート又は周辺バス(1425)(例えば、コンピュータシステム1400のUSBポート)に接続される外部ネットワークインタフェースアダプタ1427を必要とし、他のネットワークは一般的に、以下で説明されたシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース、又はスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)に接続されることで、コンピュータシステム1400のコアに集積される。これらのネットワークのうちのいずれかを介して、コンピュータシステム1400は他のエンティティと通信できる。このような通信は一方向受信のみ(例えば、放送テレビ)、一方向送信のみ(例えば、あるCANbus機器へのCANbus)、又は双方向(例えば、ローカルエリア又は広域デジタルネットワークを介して他のコンピュータシステムに達する)であってもよい。上記のようなこれらのネットワーク1415及びネットワークインタフェース1427のうちのネットワーク及びネットワークインタフェースのそれぞれに、特定のプロトコル及びプロトコルスタックを利用することができる。
【0142】
以上に言及されたヒューマンマシンインタフェース機器、人類がアクセスし得る記憶機器及びネットワークインタフェース1427は、コンピュータシステム1400のコア1416に接続され得る。
【0143】
コア1412は1つ以上の中央処理ユニット(Central ProcessingUnit、CPU)1421、グラフィック処理ユニット(Graphics Processing Unit、GPU)1422、フィールドプログラム可能なゲートアレイ(Field Programmable Gate Area、FPGA)1424という形式の専門プログラム可能な処理ユニット、あるタスクのためのハードウェアアクセラレータ1426などを含む。これらの機器は、読み取り専用メモリ(ROM)1419、ランダムアクセスメモリ1418、内部のユーザーがアクセスできないハードディスクドライブ、SSDなどのような内部大容量記憶装置1420とともに、システムバス1428を介して接続される。あるコンピュータシステムにおいて、1つ以上の物理プラグという形式で、システムバス1426にアクセスすることで、追加されたCPU、GPUなどによる拡張を可能にすることができる。周囲機器は直接的又は周辺バス1401を介してコアのシステムバス1428に接続される。周辺バスのアーキテクチャはPCI、USBなどを含む。
【0144】
CPU1421、GPU1422、FPGA1424及びアクセラレータ1426はいくつかの命令を実行することができ、これらの命令を組み合わせると、以上に言及されたコンピュータコードを構成する。当該コンピュータコードはROM1419又はRAM1418に記憶される。一時的なデータはRAM1418に記憶され、永久データは、例えば内部大容量記憶装置1420に記憶されてもよい。キャッシュメモリによってメモリ機器のうちのいずれかへの快速記憶及び検索を実現でき、当該キャッシュメモリは1つ以上のCPU1421、GPU1422、大容量記憶装置1420、ROM1419、RAM1418などに密接に関連することができる。
【0145】
コンピュータ可読媒体は、コンピュータが実現する各種操作を実行するためのコンピュータコードをその上に有してもよい。媒体とコンピュータコードとは、本開示の目的のために、専門に設計及び構築された媒体とコンピュータコードであってもよいし、又はコンピュータソフトウェアの当業者にとって公知且つ利用可能なタイプであってもよい。
【0146】
限定ではなく例示として、アーキテクチャを有するコンピュータシステム1400、特にコア1416は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形コンピュータ可読媒体に実装されるソフトウェアを実行することで、機能を提供できる。このようなコンピュータ可読媒体は、以上に紹介された、ユーザがアクセスし得る大容量記憶装置に関する媒体、及びコア内部大容量記憶装置1420又はROM1419のような非一時的な性質を持つコア1416のある記憶装置であってもよい。本開示の各実施形態を実現するためのソフトウェアはこのような機器に記憶され、コア1416によって実行され得る。特定のニーズに応じて、コンピュータ可読媒体には1つ以上の記憶機器又はチップが含まれてもよい。ソフトウェアはコア1416、特にそのうちのプロセッサ(CPU、GPU、FPGAなどが含まれた)に、本明細書に記載の特定プロセス又は特定プロセスの特定部分を実行させ、RAM1418に記憶されるデータ構成を限定すること、及びソフトウェアによって限定されたプロセスに基づきこのようなデータ構成を修正することが含まれる。また或いは代わりとして、コンピュータシステムは、ハードワイヤード又は他の方式で回路(例えば、アクセラレータ1426)に実装されることで機能を提供し、当該回路は、ソフトウェアの代わりとして、又はソフトウェアとともに動作することで、本明細書では説明されている特定プロセス又は特定プロセスの特定部分を実行できる。適切な場合、ソフトウェアに対する言及にはロジックが含まれ、逆に、ロジックに対する言及にはソフトウェアが含まれてもよい。適切な場合、コンピュータ可読媒体に対する言及には、実行のためのソフトウェアが記憶される回路(例えば、集積回路(integrated circuit、IC))、実行のためのロジックを実施する回路、又はそれらの両方が含まれてもよい。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを含む。
【0147】
本開示は若干の例示的な実施例を説明したが、本開示の範囲内にある変更、置き換え及び様々な代替の均等物が存在する。従って、本明細書では明らかに示されていないか又は説明されていないが、本開示の原理を実施するので本開示の内容の精神及び範囲内に属する多くのシステム及び方法は、当業者にとって想到し得ることが理解されたい。
【0148】
(付記1)
少なくとも1つのプロセッサが実行する、ビデオ復号化のための方法であって、
イントラインターモードで重み付けのセットを選択するステップと、
位置依存イントラ予測組み合わせ(PDPC)を適用して、インター予測サンプル、及びインター符号化された符号化ユニット(CU)の再構成されたサンプルの少なくとも1つを修正するステップと、
を含む方法。
(付記2)
PDPCの適用は、前記インター符号化されたCUの輝度成分のみを修正することを含む付記1に記載の方法。
(付記3)
符号化ブロック(CB)がマージモードによって符号化されていると決定したことに応答して、インターPDPCフラグ(interPDPCFlag)をシグナリングするステップをさらに含む付記1又は2に記載の方法。
(付記4)
デブロッキング、サンプル適応オフセット(SAO)及び適応ループフィルタ(ALF)を含むループ内デブロッキングフィルタのいずれかを適用する前に、PDPCを、複数の再構成されたサンプルに適用するステップをさらに含む付記1に記載の方法。
(付記5)
デフォルトのイントラ予測モードを現在の符号化ブロック(CB)に割り当てるステップと、
少なくともイントラモード符号化及び最確モード(MPM)の導出のために、前記デフォルトのイントラ予測モードを前記現在のCBの次のCBに適用するステップと、
をさらに含む付記1~4のうちの何れか1項に記載の方法。
(付記6)
PDPCフィルタのセットを、前記インター予測サンプル以外のインター予測サンプル、及び前記インター符号化されたCUの再構成されたサンプル以外のインター符号化されたCUの再構成されたサンプルの少なくとも1つに適用するステップをさらに含み、
前記PDPCフィルタのセットにおける各PDPCフィルタは、複数のブロックサイズのうち対応するブロックサイズについて定められている付記1に記載の方法。
(付記7)
PDPCを適用するかどうかを指示する前記インターPDPCフラグ(interPDPCFlag)の少なくとも1つをシグナリングするステップと、
前記interPDPCFlagが真に等しく設定されるかどうかを決定するステップと、
前記interPDPCFlagが第1の値に等しく設定されると決定したことに応答して、第2のフラグをシグナリングするステップであって、前記第2のフラグが、インター予測後に、インター予測サンプル及びインター符号化されたCUの再構成されたサンプルの少なくとも1つに少なくとも1つのPDPCフィルタを適用することを指示するステップと、
前記interPDPCFlagが第2の値に等しく設定されると決定したことに応答して、インター予測サンプル及びインター符号化されたCUの再構成されたサンプルの少なくとも1つからPDPCを除外するステップと、
をさらに含む付記6に記載の方法。
(付記8)
前記重み付けが互いに等しいかどうかをシグナリングするステップと、
前記シグナリングで前記重み付けが等しくないことを指示していると決定したことに応答して、隣接ブロックがイントラ符号化、又はインター符号化、又はイントラインター符号化されているもののいずれかであるかどうかに応じて、PDPCフィルタリングにおいてインター予測に対して重み付けを行うステップと、
をさらに含む付記1~7のうちの何れか1項に記載の方法。
(付記9)
前記イントラインターモードにはイントラ予測が存在せず、
前記イントラインターモードは、インター予測の上にPDPCを直接適用することを含む付記1に記載の方法。
(付記10)
インター予測の上にPDPCを直接適用することは、次のことを含み、
【数16】
ここで、InterPredは入力インター予測を指示し、w_intraは、前記隣接ブロックがイントラ符号化、又はインター符号化、又はイントラインター符号化されているものの少なくとも1つであるかどうかに応じて、事前定義された値のセットから選択され、
Nは8、16、32、64、128及び256のいずれかを指示する付記9に記載の方法。
(付記11)
コンピュータプログラムコードを記憶するように構成されている少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスして、前記コンピュータプログラムコードの指示に従って動作するように構成されている少なくとも1つのハードウェアプロセッサと、を含む装置であって、
前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、イントラインターモードで重み付けのセットを選択させるように構成されている選択コードと、
前記少なくとも1つのプロセッサに、位置依存イントラ予測組み合わせ(PDPC)を適用して、インター予測サンプル及びインター符号化された符号化ユニット(CU)の再構成されたサンプルの少なくとも1つを修正させるように構成されている適用コードと、
を含む装置。
(付記12)
前記適用コードはさらに、PDPCを適用するために、前記少なくとも1つのプロセッサに、前記インター符号化されたCUの輝度成分のみを修正させるように構成されている付記11に記載の装置。
(付記13)
シグナリングコードはさらに、前記少なくとも1つのプロセッサに、符号化ブロック(CB)がマージモードによって符号化されていると決定したことに応答して、インターPDCPフラグ(interPDPCFlag)をシグナリングさせるように構成されている付記11又は12に記載の装置。
(付記14)
前記適用コードはさらに、前記少なくとも1つのプロセッサに、デブロッキング、サンプル適応オフセット(SAO)及び適応ループフィルタ(ALF)を含むループ内デブロッキングフィルタのいずれかを適用する前に、PDPCを、複数の再構成されたサンプルに適用させるように構成されている付記11に記載の装置。
(付記15)
前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに、デフォルトのイントラ予測モードを現在の符号化ブロック(CB)に割り当ることを行わせるように構成されている割り当てコードをさらに含み、
前記適用コードはさらに、前記少なくとも1つのプロセッサに、少なくともイントラモード符号化及び最確モード(MPM)の導出のために、前記デフォルトのイントラ予測モードを前記現在のCBの次のCBに適用させるように構成されている付記11~14のうちの何れか1項に記載の装置。
(付記16)
前記適用コードは、さらに、前記少なくとも1つのプロセッサに、PDPCフィルタのセットを、前記インター予測サンプル以外のインター予測サンプル、及び前記インター符号化されたCUの再構成されたサンプル以外のインター符号化されたCUの再構成されたサンプルの少なくとも1つに適用させるように構成されており、
前記PDPCフィルタのセットにおける各PDPCフィルタは、複数のブロックサイズのうち対応するブロックサイズについて定められている付記11に記載の装置。
(付記17)
前記シグナリングコードはさらに、前記少なくとも1つのプロセッサに、
PDPCを適用するかどうかを指示するinterPDPCFlagの少なくとも1つをシグナリングし、
前記interPDPCFlagが真に等しく設定されるかどうかを決定し、
前記interPDPCFlagが第1の値に等しく設定されると決定したことに応答して、第2のフラグをシグナリングし、前記第2のフラグは、インター予測後に、インター予測サンプル及びインター符号化されたCUの再構成されたサンプルの少なくとも1つに少なくとも1つのPDPCフィルタを適用することを指示し、
前記interPDPCFlagが第2の値に等しく設定されると決定したことに応答して、インター予測サンプル及びインター符号化されたCUの再構成されたサンプルの少なくとも1つからPDPCを除外する、
という操作を実行させるように構成されている付記16に記載の装置。
(付記18)
前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、前記重み付けが互いに等しいかどうかをシグナリングさせるように構成されているシグナリングコードと、
前記少なくとも1つのプロセッサに、前記重み付けが等しくないと決定したことに応答して、隣接ブロックがイントラ符号化、インター符号化、又はイントラインター符号化されているもののいずれかであるかどうかに応じて、PDPCフィルタリングにおいてインター予測に対して重み付けを行わせるように構成されている重み付けコードと、
をさらに含む付記11~17のうちの何れか1項に記載の装置。
(付記19)
前記イントラインターモードにはイントラ予測が存在せず、
前記イントラインターモードは、インター予測の上にPDPCを直接適用することを含み、
インター予測の上にPDPCを直接適用することは、次のことを含み、
【数17】
ここで、InterPredは入力インター予測を指示し、w_intraは、前記隣接ブロックがイントラ符号化、インター符号化、イントラインター符号化されているものの少なくとも1つであるかどうかに応じて、事前定義された値のセットから選択され、
Nは8、16、32、64、128及び256のいずれかを指示する付記11に記載の装置。
(付記20)
付記1~10のいずれか1項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【先行技術文献】
【特許文献】
【0149】