IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グァンドン オッポ モバイル テレコミュニケーションズ コーポレーション リミテッドの特許一覧

特表2025-521793候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム
<>
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図1A
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図1B
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図1C
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図2
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図3
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図4
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図5
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図6
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図7
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図8A
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図8B
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図9
  • 特表-候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-07-10
(54)【発明の名称】候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム
(51)【国際特許分類】
   H04N 19/105 20140101AFI20250703BHJP
   H04N 19/593 20140101ALI20250703BHJP
   H04N 19/70 20140101ALI20250703BHJP
   H04N 19/176 20140101ALI20250703BHJP
【FI】
H04N19/105
H04N19/593
H04N19/70
H04N19/176
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024577125
(86)(22)【出願日】2022-09-15
(85)【翻訳文提出日】2024-12-27
(86)【国際出願番号】 CN2022119139
(87)【国際公開番号】W WO2024007450
(87)【国際公開日】2024-01-11
(31)【優先権主張番号】PCT/CN2022/103946
(32)【優先日】2022-07-05
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】516227559
【氏名又は名称】オッポ広東移動通信有限公司
【氏名又は名称原語表記】GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
【住所又は居所原語表記】No. 18 Haibin Road,Wusha, Chang’an,Dongguan, Guangdong 523860 China
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【弁理士】
【氏名又は名称】吉田 昌司
(74)【代理人】
【識別番号】100137523
【弁理士】
【氏名又は名称】出口 智也
(74)【代理人】
【識別番号】100120385
【弁理士】
【氏名又は名称】鈴木 健之
(72)【発明者】
【氏名】シュイ、ルーハン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159RC12
5C159TA33
5C159TB08
5C159TC08
5C159TC18
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
マルチ参照ラインイントラ予測モードの候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステムが提供される。N個の拡張参照ラインとM個のイントラ予測モードのN×M個の組み合わせの各々に基づいてテンプレート領域を予測し、TMRL_IPモードの候補リストに、テンプレート領域の再構成値と予測値との間の誤差の昇順でK個の組み合わせを記入する。エンコーディング側は、現在のブロックのために候補リスト内の組み合わせを選択したとき、TMRL_IPモードフラグとTMRL_IPモードインデックスをエンコードし、デコーディング側は、TMRL_IPモードフラグとTMRL_IPモードインデックスをデコードすることで、現在のブロックのために選択された拡張参照ラインとイントラ予測モードを確定する。本願の実施形態では、拡張参照ラインとイントラ予測モードの組み合わせをエンコード及びデコードすることにより、コーディング効率とコーディング性能を向上させることができる。
【特許請求の範囲】
【請求項1】
マルチ参照ラインイントラ予測(MRL_IP)モードの候補リストの構築方法であって、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個の組み合わせを取得することであって、N≧1、M≧1、N×M≧2が満たされる、取得することと、
前記N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、前記テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL_IP)モードの候補リストに、前記誤差の昇順で前記誤差に対応するK個の組み合わせを記入することであって、1≦K≦N×Mが満たされる、記入することと、
を含む、
ことを特徴とするマルチ参照ラインイントラ予測モードの候補リストの構築方法。
【請求項2】
前記現在のブロックのテンプレート領域は、現在のブロックに最も近い1つの参照ラインに設定され、又は、前記現在のブロックのテンプレート領域は、現在のブロックに最も近い複数の参照ラインに設定され、
前記N個の拡張参照ラインは、前記テンプレート領域の外側に位置する拡張参照ラインである、
ことを特徴とする請求項1に記載の構築方法。
【請求項3】
前記誤差は、差分絶対値和(SAD)又は差分変換絶対値和(SATD)で表される、
ことを特徴とする請求項1に記載の構築方法。
【請求項4】
前記現在のブロックのN個の拡張参照ラインは、事前定義のNmax個の拡張参照ラインのうち、現在のブロックのテンプレート領域の外側に位置し、且つコーディングツリーユニット(CTU)の境界を超えない拡張参照ラインであり、
maxはTMRL_IPモードで使用できる拡張参照ラインの最大個数である、
ことを特徴とする請求項1に記載の構築方法。
【請求項5】
前記事前定義のNmax個の拡張参照ラインは、
インデックスが{1,3,5,7,12}である5個の拡張参照ラインであり、又は、
インデックスが{2,3,5,7,12}である5個の拡張参照ラインであり、又は、
インデックスが1から始まり、現在のブロックに最も近いNmax個の拡張参照ラインであり、又は、
インデックスが1から始まり且つインデックスが奇数であり、現在のブロックに最も近いNmax個の拡張参照ラインであり、又は、
インデックスが2から始まり且つインデックスが偶数であり、現在のブロックに最も近いNmax個の拡張参照ラインである、
ことを特徴とする請求項4に記載の構築方法。
【請求項6】
前記M個のイントラ予測モードは、以下のプロセスによって選択され、即ち、
第1ステップにおいて、現在のブロックの周囲にある複数の近隣位置での予測ブロックのために使用されるイントラ予測モードを確定し、そのうちの選択できるイントラ予測モードを順番に選択し、重複するモードを削除し、
第1ステップで選択されたイントラ予測モードの数がMになると、終了し、第1ステップで選択されたイントラ予測モードは数がM未満であり、且つ角度モードを含む場合、第2ステップを実行し、
第2ステップにおいて、選択されたイントラ予測モードの総数がMになるまで、選択された1番目の角度モードから順番に角度モードの拡張操作を行って拡張後の角度モードを取得し、選択された全ての角度モードと異なる拡張後の角度モードを選択する、
ことを特徴とする請求項1に記載の構築方法。
【請求項7】
前記第1ステップにおいて、CTUの上部境界に位置する現在のブロックとCTUの上部境界に位置しない現在のブロックの各々に対して、前記現在のブロックの周囲にある複数の近隣位置での予測ブロックは、現在のブロックの左側の予測ブロック、上方の予測ブロック、左上の予測ブロック、左下の予測ブロック、及び右上の予測ブロックという予測ブロックの一部又は全てを含み、M≧5が満たされる、
ことを特徴とする請求項6に記載の構築方法。
【請求項8】
現在のブロックの周囲にある複数の近隣位置での予測ブロックのために使用されるイントラ予測モードに基づいて選択されたイントラ予測モードの数がM未満である場合、前記第1ステップは、さらに、以下の方式、即ち、
現在のブロックの周囲の再構成値に基づいて、デコーダー側イントラモード導出(DIMD)の勾配ヒストグラムを用いて2個のイントラ予測モードを導出し、導出された前記2個のイントラ予測モードから、選択されたイントラ予測モードのいずれとも異なるイントラ予測モードを選択することと、
選択されたイントラ予測モードにDCモードが含まれていない場合、DCモードを選択すること、
という方式の少なくとも1つにより、組み合わせに参加するイントラ予測モードを引き続いて選択することを含む、
ことを特徴とする請求項6又は7に記載の構築方法。
【請求項9】
前記第2ステップにおいて、前記第1ステップで選択された全ての角度モードに対して、選択された1番目の角度モードから、設定された順序で順番に以下の処理を行い、即ち、
角度モードの拡張操作を行って拡張後の角度モードを取得し、前記拡張後の角度モードが選択された角度モードのいずれとも異なる場合、前記拡張後の角度モードを選択し、選択されたイントラ予測モードの総数がM個になると、終了することという処理を行い、
前記第1ステップで選択された全ての角度モードの数は1以上且つ5以下である、
ことを特徴とする請求項6に記載の構築方法。
【請求項10】
前記M個のイントラ予測モードを選択するプロセスは、さらに、
前記第1ステップにおいて角度モードが選択されなかった場合、又は前記第2ステップにより選択されたイントラ予測モードの総数が依然としてM未満である場合、第3ステップを実行し、前記第3ステップにおいて、事前定義のイントラ予測モード集合のうちの選択できるイントラ予測モードを確定し、選択されたイントラ予測モードの総数がMになるまで、確定された選択できるイントラ予測モードから、選択されたイントラ予測モードのいずれとも異なるイントラ予測モードを順番に選択することを含む、
ことを特徴とする請求項6に記載の構築方法。
【請求項11】
前記選択できるイントラ予測モードには、角度モードのみが含まれ、又は角度モードとDCモードのみが含まれ、又は角度モード、DCモード及びPlanarモードが含まれる、
ことを特徴とする請求項6又は10に記載の構築方法。
【請求項12】
前記角度モードの拡張操作は、
角度モードに対して1を加算する操作及び1を減算する操作と、
角度モードに対して2を加算する操作及び2を減算する操作と、
角度モードに対して3を加算する操作及び3を減算する操作と、
角度モードに対して4を加算する操作及び4を減算する操作、
という操作のうちのいずれか1つ以上を含む、
ことを特徴とする請求項6に記載の構築方法。
【請求項13】
前記M個のイントラ予測モードとして、最確モード(MPM)のうち、Planarモード以外のイントラ予測モードの一部又は全部を使用し、又は、
前記M個のイントラ予測モードとして、MPMと第2MPMのうち、Planarモード以外のイントラ予測モードの一部又は全部を使用し、又は、
前記M個のイントラ予測モードとして、MPMのうち、Planarモード及びDCモード以外のイントラ予測モードの一部又は全部を使用し、又は、
前記M個のイントラ予測モードとして、MPMと第2MPMのうち、Planarモード及びDCモード以外のイントラ予測モードの一部又は全部を使用し、又は、
前記M個のイントラ予測モードとして、MPMのうち、Planarモード、DCモード、及びDIMDモード以外のイントラ予測モードの一部又は全部を使用し、又は、
前記M個のイントラ予測モードとして、MPMと第2MPMのうち、Planarモード、DCモード、及びDIMDモード以外のイントラ予測モードの一部又は全部を使用する、
ことを特徴とする請求項1に記載の構築方法。
【請求項14】
前記M個のイントラ予測モードは、以下の方式によって選択され、即ち、
M’個のイントラ予測モードを選択することと、
現在のブロックのテンプレートの外側に位置する参照ラインと、前記M’個のイントラ予測モードとに基づいて、それぞれ現在のブロックのテンプレートを予測し、また、前記テンプレートの再構成値と予測によって得られた予測値との間の誤差を算出してM’個の誤差を算出することと、
組み合わせに参加する前記M個のイントラ予測モードとして、M’個のイントラ予測モードから、最小誤差に対応するM個のイントラ予測モードを選択することであって、M<M’が満たされる、選択することと、
という方式によって選択される、
ことを特徴とする請求項1に記載の構築方法。
【請求項15】
N≦Nmax、2≦Nmax≦12、2≦M≦18、K≦Kmax、6≦Kmax≦36、NmaxはTMRL_IPモードで使用できる拡張参照ラインの最大個数であり、KmaxはTMRL_IPモードで使用できる候補組み合わせの最大個数である、
ことを特徴とする請求項1に記載の構築方法。
【請求項16】
N=5、M=10、K=20が満たされ、又は、
N=5、M=6、K=12が満たされ、又は、
N=5、M=8、K=16が満たされ、又は、
N=5、M=12、K=24が満たされる、
ことを特徴とする請求項1に記載の構築方法。
【請求項17】
前記N、M及びKは少なくとも2組の値を有し、第1組の値はN、M、Kであり、第2組の値はN、M、Kであり、N≦N、M≦M、K≦K、及びN×M<N×Mが満たされ、
前記第1組の値は、第1サイズを有する現在のブロックのために前記候補リストを構築するときに使用され、前記第2組の値は、第2サイズを有する現在のブロックのために前記候補リストを構築するときに使用され、前記第1サイズは前記第2サイズよりも小さい、
ことを特徴とする請求項1に記載の構築方法。
【請求項18】
前記した、前記N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測することは、現在のブロックが画像の左境界に位置する場合、前記N×M個の組み合わせの各々に基づいて現在のブロックの上方テンプレート領域を予測し、現在のブロックの左側テンプレート領域を予測しないことを含む、
ことを特徴とする請求項1に記載の構築方法。
【請求項19】
前記した、前記N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測することは、前記N×M個の組み合わせの各々に基づいて、以下の方式で予測することを含み、即ち、
前記組み合わせにおける拡張参照ラインの再構成値と、前記組み合わせにおけるイントラ予測モードとに基づいて、前記テンプレート領域の初期予測値を算出することであって、前記拡張参照ラインの再構成値は、前記拡張参照ラインのオリジナル再構成値又はフィルタリングされた後の再構成値である、算出することと、
前記テンプレート領域の初期予測値に対して4タップフィルタリング又は6タップフィルタリングを行い、フィルタリング結果を、前記組み合わせに基づいて予測して得られた前記テンプレート領域の予測値とすること、
という方式で予測することを含む、
ことを特徴とする請求項1に記載の構築方法。
【請求項20】
前記した、前記N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、前記テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することは、
K個の組み合わせの各々に基づいて現在のブロックのテンプレート領域全体を予測して、対応するK個の誤差からなる誤差集合を取得し、前記誤差集合における最大誤差をDmaxとして記録することと、
残りの組み合わせの各々について、まず、前記組み合わせに基づいて現在のブロックの一方側のテンプレート領域を予測し、現在のブロックの前記一方側のテンプレート領域の再構成値と予測値との間の誤差Dを算出し、D≧Dmaxであれば、前記組み合わせに基づく予測を完了し、D<Dmaxであれば、また、前記組み合わせに基づいて現在のブロックのもう一側のテンプレート領域を予測し、現在のブロックのテンプレート領域全体の再構成値と予測値との間の誤差Dを算出し、D<Dmaxであれば、前記誤差集合にDを加え、前記誤差集合からDmaxを削除し、前記誤差集合内の最大誤差Dmaxを更新し、D≧Dmaxであれば、前記組み合わせに基づく予測を完了することと、
前記N×M個の組み合わせに基づく予測を完了した後、前記誤差集合におけるK個の誤差に対応するK個の組み合わせを、最小誤差に対応するK個の組み合わせとすることと、
を含む、
ことを特徴とする請求項1に記載の構築方法。
【請求項21】
前記した、現在のブロックのTMRL_IPモードの候補リストに、前記誤差の昇順で前記誤差に対応するK個の組み合わせを記入することは、
前記候補リストの1番目の位置から、前記誤差の昇順で前記誤差に対応するK個の組み合わせを前記候補リストに記入すること、又は
前記候補リストのi番目の位置から、前記誤差の昇順で前記誤差に対応するK個の組み合わせを前記候補リストに記入することであって、前記候補リストのi番目の位置の前に、インデックスが0である参照ラインと、1つ又は複数のイントラ予測モードとの組み合わせが記入されており、i≧2が満たされる、記入することと、
を含む、
ことを特徴とする請求項1に記載の構築方法。
【請求項22】
現在のブロックのマルチ参照ラインイントラ予測(MRL_IP)モードフラグをデコードして、現在のブロックに対してMRL_IPモードを使用するかどうかを確定することと、
現在のブロックに対してMRL_IPモードを使用すると確定した場合、引き続いて現在のブロックのMRL_IPモードインデックスをデコードし、現在のブロックのMRL_IPモードの候補リストを構築することであって、前記候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入されている、構築することと、
前記候補リストとMRL_IPモードインデックスに基づいて、現在のブロックのために選択される拡張参照ラインとイントラ予測モードの組み合わせを確定し、選択された組み合わせに基づいて現在の画像を予測することと、
を含むビデオデコーディング方法であって、
前記MRL_IPモードインデックスは、前記選択された拡張参照ラインとイントラ予測モードの組み合わせの、前記候補リストにある位置を示すために使用される、
ことを特徴とするビデオデコーディング方法。
【請求項23】
前記MRL_IPモードの候補リストは、請求項1から21のいずれか一項に記載の方法に基づいて構築されたテンプレートベースのマルチ参照ラインイントラ予測(TMRL_IP)モードの候補リストであり、Kは設定値であり、又は、KはTMRL_IPモードインデックスに基づいて確定され、TMRL_IPモードインデックスは、前記選択された拡張参照ラインとイントラ予測モードの組み合わせが、前記候補リストにおけるL番目の位置にあることを示す場合、K=Lであり、Lは正の整数である、
ことを特徴とする請求項18に記載のビデオデコーディング方法。
【請求項24】
前記した、現在のブロックのMRL_IPモードフラグをデコードすることの前、前記ビデオデコーディング方法は、現在のブロックに対してMRL_IPモードを使用できる条件が全て成立した場合、現在のブロックのMRL_IPモードフラグをデコードすることをさらに含み、
前記MRL_IPモードを使用できる条件は、以下のいずれか1つ以上を含み、即ち、
現在のブロックが輝度フレームにおけるブロックであること、
現在のブロックに対してMRLを使用できること、
現在のブロックがコーディングツリーユニット(CTU)の上部境界に位置しないこと、
現在のブロックに対してテンプレートベースのイントラモード導出(TIMD)を使用しないこと、
という条件のいずれか1つ以上を含む、
ことを特徴とする請求項22又は23に記載のビデオデコーディング方法。
【請求項25】
前記方法は、現在のブロックに対してMRLを使用でき、現在のブロックがCTUの上部境界に位置しておらず、且つ現在のブロックに対してTIMDを使用すると確定した場合、現在のブロックのMRLインデックスをデコードすることをさらに含み、
前記MRLインデックスは、現在のブロックのために選択された参照ラインのMRLインデックスリストにある位置を示すために使用される、
ことを特徴とする請求項22に記載のビデオデコーディング方法。
【請求項26】
前記MRL_IPモードフラグに基づいて、現在のブロックに対してMRL_IPモードを使用すると確定した場合、前記方法は、MPMモード、イントラサブパーティション分割(ISP)モード、マルチ変換選択(MTS)モード、低周波数非分離型変換(LFNST)モード、及びTIMDモードのうちのいずれか1つ以上のモードのシンタックスエレメントのデコーディングをスキップすることを、さらに含む、
ことを特徴とする請求項22に記載のビデオデコーディング方法。
【請求項27】
現在のブロックのマルチ参照ラインイントラ予測(MRL_IP)モードの候補リストを構築することであって、前記候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入されている、構築することと、
レート歪み最適化を通じて、現在のブロックのために、イントラ予測に用いられる、参照ラインとイントラ予測モードの組み合わせを選択することと、
現在のブロックのMRL_IPモードのエンコーディング条件が満たされた場合、現在のブロックのMRL_IPモードフラグをエンコードすることで現在のブロックに対してMRL_IPモードを使用することを示し、現在のブロックのMRL_IPモードインデックスをエンコードすることで前記候補リストにおける選択された前記組み合わせの位置を示すことと、
を含むビデオエンコーディング方法であり、
前記エンコーディング条件は、少なくとも、選択された前記組み合わせが前記候補リストにあることを含む、
ことを特徴とするビデオエンコーディング方法。
【請求項28】
前記MRL_IPモードの候補リストは、請求項1から21のいずれか一項に記載の方法に基づいて構築されたテンプレートベースのマルチ参照ラインイントラ予測(TMRL_IP)モードの候補リストであり、Kは設定値である、
ことを特徴とする請求項27に記載のビデオエンコーディング方法。
【請求項29】
前記エンコーディング条件は、さらに、現在のブロックに対してテンプレートベースのイントラモード導出(TIMD)を使用しないことを含み、
前記方法は、さらに、
現在のブロックに対してTIMDを使用する場合、現在のブロックのMRL_IPモードフラグとMRL_IPモードインデックスのエンコーディングをスキップすることと、
現在のブロックに対してTIMDを使用しないが、選択された前記組み合わせが前記候補リストにない場合、現在のブロックのMRL_IPモードフラグをエンコードすることで現在のブロックに対してMRL_IPモードを使用しないことを示し、現在のブロックのMRL_IPモードインデックスのエンコーディングをスキップすることと、
を含む、
ことを特徴とする請求項27に記載のビデオエンコーディング方法。
【請求項30】
前記した、現在のブロックのMRL_IPモードの候補リストを構築することは、設定された、現在のブロックに対してMRL_IPモードを使用できる条件が全て成立した場合にのみ、前記候補リストを構築することを含み、
前記MRL_IPモードを使用できる条件は、以下のいずれか1つ以上を含み、即ち、
現在のブロックが輝度フレームにおけるブロックであること、
現在のブロックがコーディングツリーユニット(CTU)の上部境界に位置しないこと、
現在のブロックに対してMRLを使用できること、
現在のブロックのサイズが、MRL_IPモードが使用できる現在のブロックの最大サイズより大きくないこと、
現在のブロックのアスペクト比が、現在のブロックのアスペクト比に対するMRL_IPモードを使用することの要求を満たすこと、
という条件のいずれか1つ以上を含む、
ことを特徴とする請求項27に記載のビデオエンコーディング方法。
【請求項31】
前記MRL_IPモードインデックスに対してゴロム・ライス(Golomb-Rice)コーディング法を用いてエンコードする、
ことを特徴とする請求項27に記載のビデオエンコーディング方法。
【請求項32】
現在のブロックのMRL_IPモードのエンコーディング条件が満たされた場合、前記方法は、MPMモード、イントラサブパーティション分割(ISP)モード、マルチ変換選択(MTS)モード、低周波数非分離型変換(LFNST)モード、及びTIMDモードのうちのいずれか1つ以上のモードのシンタックスエレメントのエンコーディングをスキップすることを、さらに含む、
ことを特徴とする請求項27に記載のビデオエンコーディング方法。
【請求項33】
ビットストリームであって、
前記ビットストリームは、イントラ予測に用いられるブロックレベルのシンタックスエレメントを含み、前記シンタックスエレメントは、現在のブロックのためのマルチ参照ラインイントラ予測(MRL_IP)モードフラグ及びMRL_IPモードインデックスを含み、前記MRL_IPモードフラグは、現在のブロックに対してMRL_IPモードを使用するか否かを示すために使用され、前記MRL_IPモードインデックスは、現在のブロックのために選択された拡張参照ラインとイントラ予測モードの組み合わせの、MRL_IPモードの候補リストにおける位置を示すために使用される、
ことを特徴とするビットストリーム。
【請求項34】
ビットストリームであって、
前記ビットストリームは、請求項27から32のいずれか1項に記載のビデオエンコーディング方法により生成される、
ことを特徴とする請求項33に記載のビットストリーム。
【請求項35】
マルチ参照ラインイントラ予測(MRL_IP)モードの候補リストの構築装置であって、
プロセッサと、コンピュータプログラムを記憶したメモリとを備え、
前記プロセッサが前記コンピュータプログラムを実行すると、請求項1から21のいずれか1項に記載のMRL_IPモードの候補リストの構築方法を実現することができる、
ことを特徴とするマルチ参照ラインイントラ予測モードの候補リストの構築装置。
【請求項36】
ビデオデコーディング装置であって、
プロセッサと、コンピュータプログラムを記憶したメモリとを備え、
前記プロセッサが前記コンピュータプログラムを実行すると、請求項22~26のいずれか一項に記載のビデオデコーディング方法を実現することができる、
ことを特徴とするビデオデコーディング装置。
【請求項37】
ビデオエンコーディング装置であって、
プロセッサと、コンピュータプログラムを記憶したメモリとを備え、
前記プロセッサが前記コンピュータプログラムを実行すると、請求項27~32のいずれか一項に記載のビデオエンコーディング方法を実現することができる、
ことを特徴とするビデオエンコーディング装置。
【請求項38】
請求項37に記載のビデオエンコーディング装置と請求項36に記載のビデオデコーディング装置を含む、
ことを特徴とするビデオコーディングシステム。
【請求項39】
非一時的なコンピュータ可読記憶媒体であって、
前記コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、前記コンピュータプログラムは、プロセッサによって実行されると、請求項1から21のいずれか一項に記載のマルチ参照ラインイントラ予測(MRL_IP)モードの候補リストの構築方法を実現することができ、又は請求項22から26のいずれか一項に記載のビデオデコーディング方法を実現することができ、又は請求項27から32のいずれか一項に記載のビデオエンコーディング方法を実現することができる、
ことを特徴とする非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の参照
本願は、発明の名称が「候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム」とされ、2022年7月5日に出願されたPCT国際出願第PCT/CN2022/103946号の優先権を主張し、そのPCT国際出願の全ての内容が引用として本願に組み込まれる。
【0002】
本願の実施形態は、ビデオ技術に関するが、これに限定されておらず、より具体的には、マルチ参照ラインイントラ予測モードの候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステムに関する。
【背景技術】
【0003】
デジタルビデオ圧縮技術は、主に、巨大なデジタル映像ビデオデータを圧縮してそれの伝送や記憶などを容易にするために使用される。現在、H.266/多用途ビデオコーディング(Versatile Video Coding、VVC)などの一般的なビデオコーディング規格では、ブロックベースの混合コーディングフレームワークが使用されている。ビデオにおける各画像(フレーム)は、同一サイズ(例えば、128×128、64×64など)の正方形の最大コーディングユニット(Largest Coding Unit、LCU)に分割される。各最大コーディングユニットは、ルールに基づいて、矩形のコーディングユニット(Coding Unit、CU)に分割されることも可能である。コーディングユニットは、予測ユニット(Prediction Unit、PU)、変換ユニット(Transform Unit、TU)などにさらに分割される可能性もある。混合コーディングフレームワークは、予測(prediction)、変換(transform)、量子化(quantization)、エントロピーコーディング(Entropy Coding)、ループフィルタ(In Loop Filter)などのモジュールを含む。予測モジュールは、ビデオの内部の冗長性を削減または除去するためのイントラ予測(Intra Prediction)及びインター予測(Inter Prediction)を含む。イントラブロックに対して、ブロックの周囲のサンプルを参照として予測し、インターブロックに対して、空間上の隣接するブロックの情報や別の画像にある参照情報を参照する。予測信号と比較していうと、残差情報は、ブロックに基づく変換、量子化、エントロピーコーディングにより、ビットストリームに形成される。これらの技術は規格に記載されており、ビデオ圧縮に関連する様々な分野で実施されている。
【0004】
インターネットビデオの激増と、ビデオの解像度に対する要求の高まりに伴い、既存のデジタルビデオ圧縮規格によって多くのビデオデータを節約することができるにもかかわらず、デジタルビデオ伝送の帯域幅とトラフィックの負担を低減するために、より優れたデジタルビデオ圧縮技術を求める必要性が依然として存在する。
【発明の概要】
【0005】
以下の内容は、本明細書で詳細に説明しようとする主題の概要である。この概要は、特許請求の範囲の保護範囲を限定することを意図するものではない。
【0006】
本願の一実施形態は、マルチ参照ラインイントラ予測(MRL_IP)モードの候補リストの構築方法を提供する。MRL_IPモードの候補リストの構築方法は、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個の組み合わせを取得することであって、N≧1、M≧1、N×M≧2が満たされる、取得することと、
N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL_IP)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入することであって、1≦K≦N×Mが満たされる、記入することと、を含む。
【0007】
本願の一実施形態は、ビデオデコーディング方法をさらに提供する。
ビデオデコーディング方法は、
現在のブロックのマルチ参照ラインイントラ予測(MRL_IP)モードフラグをデコードして、現在のブロックに対してMRL_IPモードを使用するかどうかを確定することと、
現在のブロックに対してMRL_IPモードを使用すると確定した場合、引き続いて現在のブロックのMRL_IPモードインデックスをデコードし、現在のブロックのMRL_IPモードの候補リストを構築することであって、候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入されている、構築することと、
候補リストとMRL_IPモードインデックスに基づいて、現在のブロックのために選択される拡張参照ラインとイントラ予測モードの組み合わせを確定し、選択された組み合わせに基づいて現在の画像を予測することと、を含む。
TMRL_IPモードインデックスは、選択された拡張参照ラインとイントラ予測モードの組み合わせの、候補リストにある位置を示すために使用される。
【0008】
本願の一実施形態は、ビデオエンコーディング方法をさらに提供する。
ビデオエンコーディング方法は、
現在のブロックのマルチ参照ラインイントラ予測(MRL_IP)モードの候補リストを構築することであって、候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入されている、構築することと、
レート歪み最適化を通じて、現在のブロックのために、イントラ予測に用いられる、参照ラインとイントラ予測モードの組み合わせを選択することと、
現在のブロックのMRL_IPモードのエンコーディング条件が満たされた場合、現在のブロックのMRL_IPモードフラグをエンコードすることで現在のブロックに対してMRL_IPモードを使用することを示し、現在のブロックのMRL_IPモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示すことと、を含む。
エンコーディング条件は、少なくとも、選択された組み合わせが候補リストにあることを含む。
【0009】
本願の一実施形態は、ビットストリームをさらに提供する。ビットストリームは、イントラ予測に用いられるブロックレベルのシンタックスエレメントを含み、シンタックスエレメントは、現在のブロックのためのマルチ参照ラインイントラ予測(MRL_IP)モードフラグ及びMRL_IPモードインデックスを含み、MRL_IPモードフラグは、現在のブロックに対してMRL_IPモードを使用するか否かを示すために使用され、MRL_IPモードインデックスは、現在のブロックのために選択された拡張参照ラインとイントラ予測モードの組み合わせの、MRL_IPモードの候補リストにおける位置を示すために使用される。
【0010】
本願の一実施形態は、マルチ参照ラインイントラ予測モードの候補リストの構築装置をさらに提供する。MRL_IPモードの候補リストの構築装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のMRL_IPモードの候補リストの構築方法を実現することができる。
【0011】
本願の一実施形態は、ビデオデコーディング装置をさらに提供する。ビデオデコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができる。
【0012】
本願の一実施形態は、ビデオエンコーディング装置をさらに提供する。ビデオエンコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0013】
本願の一実施形態は、ビデオコーディングシステムをさらに提供する。ビデオコーディングシステムは、本願のいずれか1つの実施形態に記載のビデオエンコーディング装置と、本願のいずれか1つの実施形態に記載のビデオデコーディング装置を含む。
【0014】
本願の一実施形態は、非一時的なコンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、コンピュータプログラムは、プロセッサによって実行されると、本願のいずれか1つの実施形態に記載のマルチ参照ラインイントラ予測(MRL_IP)モードの候補リストの構築方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0015】
図面及び詳細な説明を読み通して理解した後、他の方面を理解することができる。
【図面の簡単な説明】
【0016】
図面は、本願の実施形態を理解するために提供され、明細書の一部を構成し、本願の実施形態とともに本願の技術案を説明するために用いられ、本願の技術案の限定を構成するものではない。
図1A】本願の一実施形態に係るコーディングシステムを示す概略図である。
図1B】本願の一実施形態に係るエンコーディング側のフレームワークを示す図である。
図1C】本願の一実施形態に係るデコーディング側のフレームワークを示す図である。
図2】本願の一実施形態に係るイントラ予測モードを示す概略図である。
図3】本願の一実施形態に係る現在のブロックの隣接するイントラ予測ブロックを示す概略図である。
図4】本願の一実施形態に係る現在のブロックのテンプレート及びテンプレート参照領域を示す概略図である。
図5】本願の一実施形態に係る現在のブロックの周囲にある複数の参照ラインを示す概略図である。
図6】本願の一実施形態に係るビデオエンコーディング方法を示すフローチャートである。
図7】本願の一実施形態に係るMRL_IPモードの候補リストの構築方法を示すフローチャートである。
図8A】本願の一実施形態に係る現在のブロックの周囲にあるテンプレート領域及び拡張参照ラインを示す概略図である。
図8B】本願の別の実施形態に係る現在のブロックの周囲にあるテンプレート領域及び拡張参照ラインを示す概略図である。
図9】本願の一実施形態に係るビデオデコーディング方法を示すフローチャートである。
図10】本願の一実施形態に係るMRL_IPモードの候補リストの構築装置を示す概略図である。
【発明を実施するための形態】
【0017】
本願では、複数の実施形態を説明するが、その説明は例示的なものであり、限定的なものではない。また、本願に記載される実施形態に含まれる範囲内で、より多くの実施例及び実施形態が得られることは、本分野の当業者にとって明らかである。
【0018】
本願の説明において、「例示的な」又は「例えば」などの用語は、「例として、例証、説明」を意味する。本願において、「例示的に」又は「例えば」で説明されるいかなる実施形態は他の実施形態より優れていると解釈されるべきではない。本明細書における用語「及び/又は」は関連対象の関連関係を説明するものであり、3種類の関係が存在することを示す。例えば、A及び/又はBの場合、Aのみが存在すること、AとBが同時に存在すること、Bのみが存在することという3つの状況を示す。「複数」は2つ以上のことをいう。また、本願の実施形態の技術案を明確に説明するために、「第1」、「第2」などの用語で、機能や役割がほぼ同じである同一又は類似のものを区別する。当業者は以下のことを理解できる。「第1」、「第2」などの用語は、数や実行順序を限定するものではなく、且つ「第1」、「第2」などの用語は、必ず異なること、を限定するものではない。
【0019】
代表的な例示的実施形態の説明において、本明細書では、方法及び/又はプロセスを、特定のステップのシーケンスとして提示している可能性がある。しかしながら、当該方法又はプロセスは本明細書に記載されるステップの特定のシーケンスに依存せず、当該方法又はプロセスは、記載される特定のシーケンスのステップに限定されるべきではない。当業者に理解されるように、他のステップの順序も可能である。従って、明細書に記載されるステップの特定の順序は、特許請求の範囲の限定として解釈されるべきではない。さらに、方法及び/又はプロセスに対応する請求項に対しては、記載される順序でステップを実行することに限定されるべきではない。当業者であれば、これらの順序が変化してもよく、変化しても依然として本願の実施形態の精神及び範囲内に属することを容易に理解できる。
【0020】
本願の実施形態に係る局所照明補償(Local Illumination Compensation、LIC)方法、ビデオコーディング方法は、様々なビデオコーディング規格に適用されることができる。例として、H.264/アドバンスドビデオコーディング(Advanced Video Coding、AVC)、H.265/高効率ビデオコーディング(high efficiency video coding、HEVC)、H.266/多用途ビデオコーディング(Versatile Video Coding、VVC)、オーディオビデオコーディング規格(audio video Coding standard、AVS)、動画像専門家グループ(moving picture experts group、MPEG)、AOM(Alliance for Open Media)、JVET(joint video Experts team)によって作成された規格、及びこれらの規格の拡張、又はカスタマイズされた他の任意の規格などが挙げられる。
【0021】
図1Aは、本願の実施形態に使用され得るビデオコーディングシステムを示すブロック図である。図に示されるように、当該システムは、エンコーディング側装置1とデコーディング側装置2とに分けられる。エンコーディング側装置1は、ビットストリームを生成する。デコーディング側装置2は、ビットストリームをデコードすることができる。デコーディング側装置2は、リンク3を介してエンコーディング側装置1からビットストリームを受信することができる。リンク3は、ビットストリームをエンコーディング側装置1からデコーディング側装置2へ移動させることができる1つ又は複数の媒体又は装置を含む。一例では、リンク3は、エンコーディング側装置1がビットストリームをデコーディング側装置2に直接に送信することを可能にする1つ又は複数の通信媒体を含む。エンコーディング側装置1は、通信規格(例えば、無線通信プロトコル)に従ってビットストリームを変調し、変調されたビットストリームをデコーディング側装置2に送信することができる。上記1つ又は複数の通信媒体は、無線通信媒体及び/又は有線通信媒体を含むことができ、パケットベースのネットワークの一部を形成することができる。別の例では、ビットストリームは、出力インターフェース15から記憶装置に出力されることもできる。デコーディング側装置2はストリーミング(streaming)又はダウンロードを介して、当該記憶装置から記憶されたデータを読み出すことができる。
【0022】
図1Aに示されるように、エンコーディング側装置1は、データソース11、ビデオエンコーディング装置13、及び出力インターフェース15を含む。データソース11は、ビデオキャプチャ装置(例えば、カメラ)、以前にキャプチャされたデータを含むアーカイブ(archive)、コンテンツプロバイダからデータを受信するためのフィードインターフェース、データを生成するためのコンピュータグラフィックスシステム、又はこれらのソースの組み合わせを含む。ビデオエンコーディング装置13は、データソース11からのデータをエンコードして出力インターフェース15に出力することができる。出力インターフェース15は、調整器、モデム、及び送信器のうちの少なくとも1つを含むことができる。デコーディング側装置2は、入力インターフェース21、ビデオデコーディング装置23、及び表示装置25を含む。入力インターフェース21は、受信機及びモデムのうちの少なくとも1つを含む。入力インターフェース21は、リンク3を介して、又は記憶装置からビットストリームを受信することができる。ビデオデコーディング装置23は受信したビットストリームをデコードする。表示装置25は、デコードされたデータを表示するために用いられる。表示装置25は、デコーディング側装置2の他のコンポーネントと一体化されてもよく、別個に設けられてもよい。デコーディング側は、表示装置25を含まなくてもよい。他の例では、デコーディング側は、デコードされたデータが適用可能な他の装置又は機器を含んでもよい。
【0023】
図1Aに示すビデオコーディングシステムに基づいて、様々なビデオコーディング方法を用いてビデオ圧縮と解凍を実現することができる。
【0024】
図1Bは、本願の実施形態に使用され得る例示的なビデオエンコーディング装置のブロック図である。図に示すように、当該ビデオエンコーディング装置1000は、予測ユニット1100と、分割ユニット1101と、残差生成ユニット1102(図において分割ユニット1101に次ぐ+付きの円で示す)と、変換処理ユニット1104と、量子化ユニット1106と、逆量子化ユニット1108と、逆変換処理ユニット1110と、再構成ユニット1112(図において逆変換処理ユニット1110に次ぐ+付きの円で示す)と、フィルタユニット1113と、デコードされた画像のバッファ1114と、エントロピーエンコーディングユニット1115とを含む。予測ユニット1100は、インター予測ユニット1121と、イントラ予測ユニット1126とを含む。デコードされた画像のバッファ1114は、デコード済みの画像のバッファ、デコーディング画像のバッファ、デコードされた画像のためのバッファなどと呼ばれてもよい。ビデオエンコーダー20はまた、この例と比べてより多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例えば、いくつかの場合では、変換処理ユニット1104、逆変換処理ユニット1110などを含まなくてもよい。
【0025】
分割ユニット1101は、予測ユニット1100と協働して、受信したビデオデータをスライス(Slice)、コーディングツリーユニット(Coding Tree Unit、CTU)、又は他の比較的大きなユニットに分割する。分割ユニット1101によって受信されるビデオデータは、Iフレーム、PフレームやBフレームなどのビデオフレームを含むビデオシーケンスであってもよい。
【0026】
予測ユニット1100は、CTUをコーディングユニット(Coding Unit、CU)に分割し、CUに対してイントラ予測コーディング又はインター予測コーディングを行うことができる。CUに対してイントラ予測とインター予測を行う場合、CUを1つ又は複数の予測ユニット(PU)に分割することができる。
【0027】
インター予測ユニット1121は、PUに対してインター予測を行って、PUの予測データを生成することができる。当該予測データは、PUの予測ブロック、PUの動き情報、及び様々なシンタックスエレメントを含む。インター予測ユニット1121は、動き推定(Motion Estimation、ME)ユニット及び動き補償(Motion Compensation、MC)ユニットを含むことができる。動き推定ユニットは、動きベクトルを生成するために動き推定に用いられることができ、動き補償ユニットは、動きベクトルに基づいて予測ブロックを取得し又は生成するために用いられることができる。
【0028】
イントラ予測ユニット1126は、PUに対してイントラ予測を行って、PUの予測データを生成することができる。当該PUの予測データは、PUの予測ブロック及び様々なシンタックスエレメントを含むことができる。
【0029】
残差生成ユニット1102は、CUのオリジナルブロックから、CUを分割することで得られたPUの予測ブロックを減算して、CUの残差ブロックを生成することができる。
【0030】
変換処理ユニット1104は、CUを1つ又は複数の変換ユニット(Transform Unit、TU)に分割することができる。予測ユニットの分割と変換ユニットの分割は異なってもよい。TUに関連する残差ブロックは、CUの残差ブロックを分割することによって得られるサブブロックである。TUに関連する残差ブロックに1つ又は複数の変換を適用することによって、TUに関連する係数ブロックが生成される。
【0031】
量子化ユニット1106は、選択された量子化パラメータ(Quantization Parameter、QP)に基づいて、係数ブロック内の係数を量子化することができる。係数ブロックへの量子化の度合いは、QPを調整することによって調整されることができる。
【0032】
逆量子化ユニット1108及び逆変換処理ユニット1110は、係数ブロックに逆量子化及び逆変換をそれぞれ適用して、TUに関連する再構成残差ブロックを得ることができる。
【0033】
再構成ユニット1112は、再構成残差ブロックと予測ユニット1100によって生成された予測ブロックとを加算することによって、再構成画像を生成することができる。
【0034】
フィルタユニット1113は、再構成画像に対してインループフィルタリングを行って、フィルタリングされた再構成画像を参照画像としてデコードされた画像のバッファ1114に記憶する。イントラ予測ユニット1126は、デコードされた画像のバッファ1114からPUに隣接するブロックの参照画像を抽出して、イントラ予測を行うことができる。インター予測ユニット1121は、デコードされた画像のバッファ1114にキャッシュされた前の画像の参照画像を利用して、現在画像のPUに対してインター予測を行うことができる。
【0035】
エントロピーエンコーディングユニット1115は、受信したデータ(例えば、シンタックスエレメント、量子化された係数ブロック、動き情報など)に対してエントロピーエンコーディング操作を行う。
【0036】
図1Cは、本願の実施形態に使用され得る例示的なビデオデコーディング装置のブロック図である。図に示すように、ビデオデコーディング装置101は、エントロピーデコーディングユニット150と、予測ユニット152と、逆量子化ユニット154と、逆変換処理ユニット156と、再構成ユニット158(図において逆変換処理ユニット155に次ぐ+付きの円で示す)と、フィルタユニット159と、デコードされた画像のバッファ160とを含む。他の実施形態では、ビデオデコーダー30は、より多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例えば、いくつかの場合では、逆変換処理ユニット155などを含まなくてもよい。
【0037】
エントロピーデコーディングユニット150は、受信したビットストリームに対してエントロピーデコーディングを行って、シンタックスエレメント、量子化された係数ブロック及びPUの動き情報などの情報を抽出することができる。予測ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、及びフィルタユニット159はいずれも、ビットストリームから抽出されたシンタックスエレメントに基づいて、対応する操作を実行することができる。
【0038】
逆量子化ユニット154は、量子化されたTUに関連する係数ブロックを逆量子化することができる。
【0039】
逆変換処理ユニット156は、TUの再構成残差ブロックを生成するために、逆量子化された係数ブロックに1つ又は複数の逆変換を適用することができる。
【0040】
予測ユニット152は、インター予測ユニット162と、イントラ予測ユニット164とを含む。イントラ予測コーディングがPUに用いられる場合、イントラ予測ユニット164は、ビットストリームからデコードされたシンタックスエレメントに基づいて、PUのイントラ予測モードを確定し、確定されたイントラ予測モードと、デコードされた画像のバッファ160から取得されたPUに隣接する再構成された参照情報とに基づいて、イントラ予測を実行して、PUの予測ブロックを生成することができる。インター予測コーディングがPUに用いられる場合、インター予測ユニット162は、PUの動き情報及び対応するシンタックスエレメントに基づいてPUの1つ又は複数の参照ブロックを確定し、デコードされた画像のバッファ160から取得された参照ブロックに基づいてPUの予測ブロックを生成することができる。
【0041】
再構成ユニット158は、TUに関連する再構成残差ブロックと、予測ユニット152によって生成されたPUの予測ブロックとに基づいて、再構成画像を得ることができる。
【0042】
フィルタユニット159は、再構成画像に対してインループフィルタリングを実行することができる。プフィルタリングされた再構成画像が、デコードされた画像のバッファ160に記憶される。デコードされた画像のバッファ160は、後続の動き補償、イントラ予測、インター予測などに用いられる参照画像を提供することができ、また、プフィルタリングされた再構成画像をデコードされたビデオデータとして出力し、表示装置で表示することもできる。
【0043】
上記ビデオエンコーディング装置及びビデオデコーディング装置に基づいて、以下の基本的なコーディングの流れが実行されることができる。エンコーディング側では、1つの画像をブロックに分割し、現在のブロックに対して、イントラ予測もしくはインター予測を行うことにより又は他のアルゴリズムで、現在のブロックの予測ブロックを生成し、現在のブロックのオリジナルブロックから予測ブロックを減算して残差ブロックを取得し、残差ブロックを変換・量子化して量子化係数を取得し、量子化係数をエントロピーコーディングしてビットストリームを生成する。デコーディング側では、現在のブロックに対してイントラ予測又はインター予測を行うことにより現在のブロックの予測ブロックを生成し、一方、ビットストリームを解析して得られた量子化係数を逆量子化・逆変換して残差ブロックを取得し、予測ブロックと残差ブロックとを加算して再構成ブロックを取得する。再構成ブロックは再構成画像を形成する。画像又はブロックに基づいて再構成画像をインループフィルタリングしてデコードされた画像を取得する。エンコーディング側でも、デコードされた画像を取得するために、デコーディング側と類似の処理を行う。エンコーディング側で取得した、デコードされた画像は通常、再構成画像とも呼ばれる。デコードされた画像は後続の画像に対するインター予測のための参照画像とされることができる。エンコーディング側で確定されたブロック分割情報、予測、変換、量子化、エントロピーコーディング、インループフィルタリングなどのモード情報とパラメータ情報などは、必要に応じてビットストリームに書き込まれる。デコーディング側は、ビットストリームをデコードし又は既存情報を分析して、エンコーディング側と同じブロック分割情報、予測、変換、量子化、エントロピーコーディング、インループフィルタリングなどのモード情報とパラメータ情報を確定する。それによって、エンコーディング側で取得されたデコードされた画像とデコーディング側で取得されたデコードされた画像とが同じであることが確保される。
【0044】
上記はプロックに基づいた混合コーディングフレームワークの例であるが、本願の実施形態はそれに限定されない。技術の発展に伴って、当該フレームワーク内の1つ又は複数のモジュール、及び当該プロセス内の1つ又は複数のステップを置き換えたり最適化したりすることができる。
【0045】
本明細書では、現在のブロック(current block)は、現在の画像における現在のコーディングユニット(CU)、現在の予測ユニット(PU)などのようなブロックレベルのコーディングユニットであることができる。
【0046】
エンコーディング側では、イントラ予測において、通常、様々な角度モードと非角度モードを通じて現在のブロックを予測して予測ブロックを得る。予測ブロックとオリジナルブロックから算出されたレート歪み情報に基づいて、現在のブロックのために最適なイントラ予測モードを選択し、このイントラ予測モードをエンコードしてビットストリームを通じてデコーディング側に伝送する。デコーディング側では、デコードすることで現在のブロックのために選択されたイントラ予測モードを取得し、このイントラ予測モードに従って現在のブロックのイントラ予測を行う。歴代のデジタルビデオコーディング規格の発展を経て、非角度モードは相対的に安定しており、平均値モード(即ちDCモード)と平面モード(即ちPlanarモード)がある。角度モードは、デジタルビデオコーディング規格の進化に伴い増加している。国際デジタルビデオコーディング規格のHシリーズを例に、H.264/AVC規格には8種類の伝統的な角度予測モードと1種類の伝統的な非角度予測モードしかない。H.265/HEVCには33種類の伝統的な角度予測モードと2種類の伝統的な非角度予測モードに拡張した。H.266/VVCでは、伝統的なイントラ予測モードは、図2に示すように、Planarモード、DCモード、及び65種類の角度モードを含む。このうち、DCモードは、大きな平坦な領域に適しており、その予測値は左側及び/又は上方の参照サンプルの平均値を計算することによって得られる。Planarモードは、画素が徐々に変化する場合に適しており、すなわち、画素の値がゆっくりと変化する領域に適している。
【0047】
現在のブロックのイントラ予測モードを直接にエンコードすると、67種類のモードをエンコードするために7bitが必要となり、データ量が大きい。統計的特性から、現在のブロックに近いほど、このサンプル領域に対して選択されるイントラ予測モードと現在のブロックに対して選択されるイントラ予測モードが同じである傾向が高くなる。この特性に基づいて、HEVC、VVC、及び強化された圧縮モデル(Enhanced Compression Model、ECM)では、最確モード(Most probable Mode、MPM)技術が採用されている。ECMは、VTM-10.0参照ソフトウェアに基づいて、さまざまな新しいツールを統合して、コーディング性能をさらに引き出すことができる参照ソフトウェアである。
【0048】
MPMに対して、まずMPMリストを作成し、MPMリストには、現在のブロックのために選択される可能性が最も高い6種類のイントラ予測モードが記入される。現在のブロックのために選択されたイントラ予測モードがMPMリストにある場合、そのインデックス(3bitのみが必要)のみをエンコードする必要がある。現在のブロックのために選択されたイントラ予測モードがMPMリストになく、61個の非MPM(non-MPM)モード内にある場合、エントロピーエンコーディング段階でトランケートされたバイナリコード(Truncated Binary Code、TBC)を用いてこのイントラ予測モードをエンコードする。
【0049】
VVCでは、マルチ参照ライン(Multiple Reference Line、MRL)及びイントラサブパーティション分割(Intra Sub-Partitions、ISP)の適用の有無にかかわらず、MPMリストは6種類の予測モードを有する。ECMにおけるMPMは、MPMと第2MPM(Secondary MPM)に分けられ、MPMリストの長さは6であり、Secondary MPMリストの長さは16である。MPMリストに含まれる6つのモードのうち、Planarモードは常にMPMリストにおける1番目の位置に記入され、残りの5個の位置は、5つの位置が全て充填されるまで次の3つのステップによって充填される。余分なモードは自動的にSecondary MPMに記入される。
【0050】
第1ステップにおいて、現在のブロックの周囲にある近隣の5つの位置での予測ブロックに対して使用されるイントラ予測モードを順番に充填する。図3に示すように、5つの位置は、現在のブロックの左上(AL)、上(A)、右上(AR)、左(L)、及び左下(BL)の位置を順番に含む。
【0051】
第2ステップにおいて、現在のブロックの周囲にある再構成されたサンプルと勾配ヒストグラムに基づいて導出されたモードを充填する。
【0052】
第3ステップにおいて、第1ステップで選択された角度モードの角度に近い角度モードを充填する。
【0053】
Secondary MPMリストは、MPMにおけるイントラ予測モードのほかのいくつかの主な角度モードで構成することができる。
【0054】
MPMフラグ(mpm_flag)は、MRLモードの後にエンコードとデコードされるため、ECMにおけるMPMのエンコーディングとデコーディングは、MRLフラグに依存する。現在のブロックに対してMRLモードを使用しない場合、MPMフラグをデコードして現在のブロックに対してMPMを使用するか否かを判断する必要がある。現在のブロックに対してMRLモードを使用する場合、MPMフラグをデコードする必要はなく、現在のブロックに対してMPMを使用するのはデフォルトである。
【0055】
次の表にMPMに関連するシンタックスエレメントの例を示す。
【0056】
【表a】
【0057】
テンプレートベースのイントラモード導出(Template-based intra mode derivation、TIMD)は、輝度フレームに対するイントラ予測モードである。TIMDモードは、MPMリスト内の候補のイントラ予測モードとテンプレート(Template)領域(略してテンプレートという)に基づいて生成される。ECMでは、図4に示すように、現在のブロック(例えば、現在のCU)11の左側隣接領域と上方隣接領域が現在のブロックのテンプレート領域12を構成する。その中の左側隣接領域を左側テンプレート領域(略して左テンプレートという)と呼び、上方隣接領域を上方テンプレート領域又は上側テンプレート領域(略して上テンプレートという)と呼ぶ。
【0058】
図示のように、テンプレート領域12の外側(左側と上側を意味する)にテンプレート参照(Reference of the Template)領域13が設けられており、各領域の例示的なサイズと位置が示されている。一例として、左テンプレートの幅L1と上テンプレートの高さL2はいずれも4である。テンプレート参照領域13は、テンプレート領域の上方の隣接する一行であってもよく、又は左側の隣接する一列であってもよい。
【0059】
TIMDでは、現在のブロックと現在のブロックのテンプレート領域の分布特性が同じであると仮定し、テンプレート参照領域の再構成値を参照ラインの再構成値とし、MPMとSecondary MPMにおける全てのイントラ予測モードをトラバースしてテンプレート領域を予測し、予測結果を得る。そして、テンプレート領域の再構成値と各モードの予測結果との誤差を算出し、差分変換絶対値和(Sum of absolute transformed differences、SATD)で表し、SATDが最小となるイントラ予測モード、すなわち最適なイントラ予測モードを選択し、このイントラ予測モードを現在のブロックのTIMDモードとする。デコーディング側では、同様の導出方式によりTIMDモードを導出することができる。シーケンスに対してTIMDを使用できれば、各現在のブロックは、TIMDを使用するか否かを示すフラグを必要とする。現在のブロックのために選択されたイントラ予測モードがTIMDモードである場合、現在のブロックに対してTIMDモードを使用して予測し、ISP、MPMなどのイントラ予測に関連する残りのシンタックスエレメントのデコーディングはスキップすることができ、これによりモードのコーディングビットを大幅に削減することができる。
【0060】
【0061】
重み付けの方法と重みは以下の式で示される。
【数1】
【数2】
【0062】
【0063】
HEVCでは、イントラ予測は、現在のブロックの最も近い上方の一行と左側の一列を参照として予測を行い、この一行と一列の再構成値とオリジナルサンプル値との誤差が大きい場合、現在のブロックの予測品質も大きな影響を受ける。この問題を解決するために、VVCはMRLイントラ予測技術を採用し、最も近い1ラインの参照サンプル即ちインデックスが0の参照ライン(Reference line0)を使用するだけでなく、イントラ予測のために、インデックスが1の参照ライン(Reference line1)及びインデックスが2の参照ライン(Reference line2)を拡張された参照ラインとして使用することもできる。コーディングの複雑さを軽減するため、MPMにおける非planarモードのみに対してMRLが使用される。エンコーディング側では、各角度モードを用いて予測する際、この3つの参照ラインを全て試し、レート歪み最適化により、現在のブロックのためにレート歪みコスト(RD Cost)が最も小さい1つの参照ラインを選択し、選択された参照ラインのインデックスをエンコードしてデコーディング側に送る。デコーディング側はデコードして参照ラインのインデックスを取得し、参照ラインのインデックスに従って現在のブロックのために選択された参照ラインを確定し、それを現在のブロックの予測に使用する。
【0064】
図5に示す例では、現在のブロックの4つの参照ラインが図示されており、現在のブロックに隣接する参照ライン0(reference line0)221、すなわち、インデックスが0の参照ライン、現在のブロックから1ラインを隔てる参照ライン1(reference line1)222、すなわち、インデックスが1の参照ライン、現在のブロックから2ラインを隔てる参照ライン2(reference line2)223、すなわち、インデックスが2の参照ライン、及び、現在のブロックから3ラインを隔てる参照ライン3(reference line3)224、すなわち、インデックスが3の参照ラインを含む。現在のブロックはもっと多い参照ラインを有してもよく、すなわち、インデックスが4以上の参照ラインを有してもよい。予測するとき、一部の参照ラインの再構成値のみを使用することも可能である。本明細書では、参照ラインのインデックスは図5に示す方式に従って番号付けされる。
【0065】
本明細書では、参照ラインを「ライン」と呼び、実際的に、1つの参照ラインには一行と一列が含まれ、一般に、予測するときに使用される参照ラインの再構成値には一行と一列の再構成値も含まれ、これは業界の通常の記述方法と同じである。
【0066】
一例として、現在のブロックのテンプレート領域がインデックスが0の参照ラインに設定されている場合、インデックスが0の参照ラインはテンプレート領域が位置する参照ラインと呼ばれ、インデックスが1から3の参照ラインはテンプレート領域の外側に位置する参照ラインと呼ばれる。現在のブロックのテンプレート領域がインデックスが0と1の参照ラインに設定されている場合、インデックスが0と1の参照ラインはテンプレート領域が位置する参照ラインであり、インデックスが2と3の参照ラインはテンプレート領域の外側に位置する参照ラインである。本明細書では、現在のブロックの参照ラインは、インデックスが0の参照ラインと、インデックスが0より大きい参照ラインを含み、インデックスが0より大きい参照ラインはいずれも拡張参照ラインと呼ばれる。テンプレート領域が位置する参照ラインが、インデックスが0である参照ラインである場合、拡張参照ラインは全てテンプレート領域の外側の参照ラインである。テンプレート領域が位置する参照ラインが複数ある場合、テンプレート領域が位置する参照ラインは拡張参照ラインを含む。
【0067】
ECMでは、マルチ参照ラインに関連するデコーディング方法を以下の表1と表2に示す。表1は現在のブロックに対してTIMDを使用しない場合に使用され、表2は現在のブロックに対してTIMDを使用する場合に使用される。
【0068】
【表1】
【0069】
MRLインデックスに対して、コンテキストモデルベースのトランケートされた単項コード(truncated unary)を使用してエンコードすることができ、エンコードした後、コンテキストモデルベースの複数のビン(bin)を取得する。ビンは、二進法フラグ、二進法シンボル、二進法ビットなどとも呼ばれる。
【0070】
ECMでは、MRLモードにおいてより多くの参照ラインを使用することができ、現在のブロックに対して選択された参照ラインをエンコードするために、複数の候補参照ラインのインデックスをリストに記入する。本明細書では、このリストをマルチ参照ラインインデックスリスト(MRLインデックスリストと略す)と呼ぶが、マルチ参照ラインリスト、候補参照ラインリスト、参照ラインインデックスリストなどと呼ぶこともできる。現在のブロックに対してTIMDを使用しない場合、MRLインデックスリストの長さは6であり、すなわち、合わせて6つの位置があり、6個の参照ラインのインデックスを記入することができる。これら6個の参照ラインのインデックスとその順番は固定されており、順に0、1、3、5、7、12であり、MULTI_REF_LINE_IDX[6] = { 0, 1, 3, 5, 7, 12 }という式で表すことができる。このマルチ参照ラインインデックスリストにおいて、1番目の位置に記入されたインデックスは0であり、現在のブロックに最も近い参照ラインのインデックスであり、2番目から6番目の位置までに記入されたインデックスは、それぞれ1、3、5、7、12であり、現在のブロックとの距離が近いものから遠いものの順に並べられた5つの拡張参照ラインのインデックスである。
【0071】
現在のブロックのために選択された参照ラインがMRLインデックスリストにある場合、マルチ参照ラインインデックス(multiRefIdx)により、現在のブロックのために選択された参照ラインのMRLインデックスリストにおける位置を示し、マルチ参照ラインインデックスをエンコードすることで選択された参照ラインを表すことができる。MRLインデックスリストが{ 0, 1, 3, 5, 7, 12 }であることを例にすると、1番目の位置から6番目の位置までのインデックスはそれぞれ0から5である。現在のブロックのために選択された参照ラインがインデックス0を有する参照ラインであると仮定すると、インデックス0を有する参照ラインがMRLインデックスリストの1番目の位置にあるので、マルチ参照ラインインデックスは0である。現在のブロックのために選択された参照ラインがインデックス7を有する参照ラインであると仮定すると、インデックス7を有する参照ラインがMRLインデックスリストの5番目の位置にあるので、マルチ参照ラインインデックスは4であり、他の状況は同様である。
【0072】
マルチ参照ラインインデックスは、例えばコンテキストモデルベースのトランケートされた単項コードなどの方式を用いてエンコードすることができる。マルチ参照ラインインデックスの値が小さいほど、コード長が小さくなり、デコーディングが速くなる。
【0073】
MRLモードはTIMDモードと同時に使用することもできる。TIMDモードを使用する場合、MRLインデックスリストの長さは3であり、3つの参照ラインのインデックスは記入されることができ、且つインデックスの順序は固定されたものであり、MULTI_REF_LINE_IDX[3] = { 0, 1, 3 }という式で表すことができる。これに応じて、マルチ参照ラインのコーディング方式を表2に示す。
【0074】
【表2】
【0075】
理解しやすいように、上記内容でMRLと同時にTIMDを使用する場合と使用しない場合を2つの表に分けて例示したが、2つの表を1つにまとめることもできる。
【0076】
MPMのように、現在のブロックの周囲にあるブロックを用いて最確モードのリストを導出する技術は、規格によって異なる名称を持つ場合がある。例えば、AV2(AVM)では、適応イントラモードコーディング(Adaptive Intra Mode Coding、AIMC)と呼ばれる。AVS3では、スクリーンコンテンツコーディングの場合、周波数情報ベースのイントラモードコーディング(Frequency-based Intra Mode Coding、FIMC)と呼ばれる。ノンスクリーンコンテンツコーディングの場合、MPMのような技術は常に使われている。MRLのようにマルチ参照ラインを用いてイントラ予測を行う技術は、AV2(AVM)では、イントラ予測のためのマルチ参照ライン選択(Multiple reference line selection for intra prediction、MRLS)と呼ばれる。ただし、これは名称の違いに過ぎず、本実施形態におけるMPM、MRL等の用語の使用は、他の規格におけるこれら実質的に同一の技術を同様にカバーするものとする。
【0077】
ECMでは、選択されたモードがTIMDではない場合、MRL技術の使用はMPMにおける非planarモードの使用とバインディングされる。最も多い場合は5つの拡張参照ラインとMPMにおける5つのイントラ予測モードが組み合わせられ、合計25種類の組み合わせがある。これらの25の組み合わせに対して、最も多い場合は3個の等確率のビン(MPMのシンタックスエレメント)と、コンテキストモデルベースの6個のビン(1個はMPMのシンタックスエレメントであり、5個はMRLのシンタックスエレメントである)を使用する必要があり、合計9個のビンが必要し、コーディングのコストが高い。
【0078】
現在のブロックの上方からCTUの上部境界までの距離が13行未満である場合、インデックスが12の参照ラインを使用できず、このとき、MPM内の5つのイントラ予測モードとMRL内の4つの使用できる拡張参照ラインの組み合わせは合わせて20種類ある。現在のブロックの上方からCTUの上部境界までの距離が8行未満である場合、インデックスが7の参照ラインを使用できず、このとき、MPM内の5つのイントラ予測モードとMRL内の3つの使用できる拡張参照ラインの組み合わせは合わせて15種類ある。現在のコーディングブロックの上方からCTUの上部境界までの距離が6行未満である場合、インデックスが5の参照ラインを使用できず、このとき、MPM内の5つのイントラ予測モードとMRL内の4つの使用できる拡張参照ラインの組み合わせは合わせて10種類ある。
【0079】
つまり、コーディングのためのビンは、MRL内の拡張参照ラインとMPM内のイントラ予測モードの25種類の組み合わせをサポートするが、現在のブロックの上方の参照ラインの数が不十分である場合には使用できない組み合わせがあり、これらの組み合わせをサポートするためには、余分なビンが必要であり、MPMとMRLで使用される9つのビンは十分に活用されておらず、コーディング性能を改善する必要がある。
【0080】
現在のブロックに対してイントラ予測を行うとき、拡張参照ラインとイントラ予測モードを組み合わせることが必要であるが、コーディングする際に、上記の方法はいずれも、MRLインデックスリストとMPMリストを別々に構築し、現在のブロックのために選択された参照ラインとイントラ予測モードに基づいて、現在のブロックのマルチ参照ラインインデックスとMPMインデックスを別々に確定し、マルチ参照ラインインデックスとMPMインデックスを別々にエンコードとデコードすることにより、デコーディング側で現在のブロックのために選択された参照ラインとイントラ予測モードを確定することができる。
【0081】
上記の方法とは異なり、本願の実施形態は、マルチ参照ラインイントラ予測モードを提供し、これはMRL_IP(Multiple reference line&intra prediction)モードと略記され、拡張参照ラインとイントラ予測モードとの組み合わせをエンコード及びデコードする方法である。
【0082】
本願の実施形態のビデオエンコーディング方法は、図6に示され、ステップ110~ステップ130を含む。
【0083】
ステップ110:現在のブロックのマルチ参照ラインイントラ予測(MRL_IP)モードの候補リストを構築することであって、候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入されている。
【0084】
ステップ120:レート歪み最適化を通じて、現在のブロックのために、イントラ予測に用いられる、参照ラインとイントラ予測モードの組み合わせを選択する。
【0085】
参照ラインには、インデックスが0の参照ラインと拡張参照ラインが含まれる。現在のブロックのために選択される参照ラインとイントラ予測モードの1つの組み合わせは、インデックスが0の参照ラインと1つのイントラ予測モードの組み合わせ、又は1つの拡張参照ラインと1つのイントラ予測モードの組み合わせである可能性がある。
【0086】
ステップ130:現在のブロックのMRL_IPモードのエンコーディング条件が満たされた場合、現在のブロックのMRL_IPモードフラグをエンコードすることで現在のブロックに対してMRL_IPモードを使用することを示し、現在のブロックのMRL_IPモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示す。
【0087】
ここで、エンコーディング条件は、少なくとも、選択された組み合わせが候補リストにあることを含む。
【0088】
本明細書では、候補リストに記入されるのは、現在のブロックの拡張参照ラインとイントラ予測モードの候補組み合わせである。これは、候補リスト内の組み合わせが、現在のブロックのレート歪み最適化に参加する必要があり、すなわち、レート歪みコストを通じて現在のブロックの予測モードを選択するモード選択プロセスに参加する必要があることを意味する。これにより、候補リスト内の全ての組み合わせが選択される可能性がある。
【0089】
本明細書では、個数を示すパラメータN、M、Kはいずれも正の整数であり、別途記述する必要はない。
【0090】
本願の実施形態によって構築されるMRL_IPモードの候補リストに記入されるのは、現在のブロックの拡張参照ラインとイントラ予測モードの候補組み合わせであり、もはや単一の候補拡張参照ラインのリスト又は候補イントラ予測モードのリストでもない。現在のブロックのために選択された参照ライン及びイントラ予測モードの組み合わせがその候補リストにあり(このとき、現在のブロックのために拡張参照ラインが選択される)、即ち選択された組み合わせがこの候補リストにある1つの組み合わせであるなどのエンコーディング条件が満たされたとき、現在のブロックのMRL_IPモードフラグをエンコードすることで現在のブロックに対してMRL_IPモードを使用することを示し、現在のブロックのMRL_IPモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示す。デコーディング側は、MRL_IPモードフラグ及びMRL_IPモードインデックスに基づいて、現在のブロックのために選択された拡張参照ライン及びイントラ予測モードを確定することができる。本実施形態の組み合わせのエンコーディング及びデコーディング方法により、コーディングコストを低減し、コーディング性能を向上させることができる。
【0091】
本願の例示的な実施形態では、MRL_IPモードの候補リストは、本願の実施形態の方法に従って構築されたテンプレートベースのマルチ参照ラインイントラ予測モードの候補リストであり、「テンプレートベースのマルチ参照ラインイントラ予測モード」は、本明細書では、TMRL_IPモードと呼ばれ、略してTMRLモードと呼ばれる。TMRL_IPモードは、組み合わせに対してテンプレートに基づいて予測と順序付けを行うMRL_IPモードである。MRL_IPモードは、現在のブロックのコーディング及びデコーディングを行うために、現在のブロックの拡張参照ライン及びイントラ予測モードの候補組み合わせを候補リストに記入するモードであり、TMRL_IPモードに限定されない。
【0092】
TMRL_IPモードでは、現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて得られたN×M個の組み合わせの各々に従って、現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。誤差の昇順で、対応するK個の組み合わせを現在のブロックのTMRL_IPモードの候補リストに記入し、1≦K≦N×Mが満たされ、Kは設定値である。一例では、ECMにおける拡張参照ラインとイントラ予測モードとの25種類の組み合わせの各々に基づいてテンプレート領域を予測し、誤差の昇順で25個の組み合わせをソートし、誤差が最小であり、すなわち、選択される可能性が最も高い12個の組み合わせをTMRL_IPモードの候補リストに記入し、これにより、TMRL_IPモードインデックスをエンコードするためのコーディングビット数を減少することができる。拡張参照ライン{1,3,5,7,12}の一部(例えば、インデックスが7と12である拡張参照ライン)がCTU境界の外側にある場合でも、15種類の組み合わせの順序に基づいて、選択される可能性の最も高い12個の組み合わせを候補リストに記入することができ、MRL_IPモードインデックスのコーディングビットは依然として完全かつ有効に利用されることができる。誤差の昇順でソートすることにより、予測のために選択される可能性がより高い参照ラインと予測モードが候補リストに残され、選択される可能性がより高い組み合わせはリストにおける前の位置に配列されるため、コーディングのコストが低くなる。
【0093】
TMRL_IPモードの候補リストの作成については、以下に詳述する。
【0094】
本願の別の例示的な実施形態では、現在のブロックのマルチ参照ラインイントラ予測(MRL_IP)モードの候補リストは、テンプレートに基づいてソートされるのではなく、他の方法で作成され、例えば、大量のサンプルデータの統計結果に基づいて、選択される確率が最も高い参照ラインとイントラ予測モードの組み合わせを、MRL_IPモードの候補リストに記入する。MRL_IPモードの候補リストに、拡張参照ラインとイントラ予測モードの組み合わせのみを記入することができるが、必須ではない。また、候補リストには、インデックスが0の参照ラインと他のイントラ予測モードとの組み合わせを記入することもでき、選択された組み合わせが、候補リストにおける、インデックスが0の参照ラインとイントラ予測モードとの組み合わせである場合にも、MRL_IPモードインデックスをエンコードすることによって、選択された組み合わせを示すことができる。
【0095】
本願の例示的な実施形態において、エンコーディング条件は、さらに、現在のブロックに対してテンプレートベースのイントラモード導出(TIMD)を使用しないことを含む。
ビデオエンコーディング方法は、さらに、現在のブロックに対してTIMDを使用する場合、現在のブロックのMRL_IPモードフラグとMRL_IPモードインデックスのエンコーディングをスキップすることと、現在のブロックに対してTIMDを使用しないが、選択された組み合わせが候補リストにない場合、現在のブロックのMRL_IPモードフラグをエンコードすることで現在のブロックに対してMRL_IPモードを使用しないことを示し、現在のブロックのMRL_IPモードインデックスのエンコーディングをスキップすることと、を含む。
【0096】
この実施形態は、MRL_IPモードの前にTIMDモードをエンコード及びデコードすることに基づくものである。現在のブロックに対してTIMDモードを使用する場合、MRL_IPモードを使用する必要はないので、MRL_IPモードフラグとMRL_IPモードインデックスのエンコーディングはスキップされる。現在のブロックに対してTIMDモードを使用しない場合、現在のブロックのために選択された組み合わせがMRL_IPモードの候補リストにある状況と、選択された組み合わせがMRL_IPモードの候補リストにない状況という2つのケースがある。選択された組み合わせが候補リストにない場合、MRL_IPモードフラグをエンコードすることで、現在のブロックに対してMRL_IPモードを使用しないことを示す必要があり、また、MRL_IPモードインデックスのエンコーディングをスキップする。選択された組み合わせが候補リストにある場合、MRL_IPモードフラグとMRL_IPモードインデックスの両方をエンコードする必要がある。
【0097】
現在のブロックに対してTIMDを使用しない場合、本実施形態によって提供されるMRL_IPモードフラグ及びMRL_IPモードインデックスは、元のマルチ参照ラインインデックスmultiRefIdxを代替することができる。現在のブロックに対してTIMDを使用する場合、依然として、選択された参照ラインを示すためにマルチ参照ラインインデックスを使用することができ、そのマルチ参照ラインインデックスをエンコードすることができる。
【0098】
本願の例示的な実施形態において、現在のブロックのMRL_IPモードの候補リストを構築することは、設定された、現在のブロックに対してMRL_IPモードを使用できる条件が全て成立した場合にのみ、候補リストを構築することを含む。MRL_IPモードを使用できる条件は、以下のいずれか1つ以上を含む。
条件1:現在のブロックが輝度フレームにおけるブロックであり、すなわち、MRL_IPモードは輝度フレーム(すなわち輝度画像)のみに使用されるが、本願はこれに限定されない。
条件2:現在のブロックがコーディングツリーユニット(CTU)の上部境界に位置しない。CTUの上部境界に位置する場合、現在のブロックの上方には使用できる参照ラインがないため、本実施形態では、CTUの上部境界に位置しないことをMRL_IPモードを使用できる条件とする。
条件3:現在のブロックに対してMRLを使用でき、すなわち、MRL_IPモードを使用できるのは、MRLモードを使用できる場合のみである。
条件4:現在のブロックのサイズが、MRL_IPモードが使用できる現在のブロックの最大サイズより大きくない。この最大サイズはプリセットされたものであってもよい。一般に、より大きなブロックはより平坦であり、角度ディテールが比較的に少ない。このような大きなブロックに対して、MRL_IPモードの使用を制限することができる。
ステップ5:現在のブロックのアスペクト比が、現在のブロックのアスペクト比に対するMRL_IPモードを使用することの要求を満たす。例えば、現在のブロックのアスペクト比がプリセット値より大きくない場合にのみ、MRL_IPモードの使用が許可される。
【0099】
本願の例示的な実施形態では、MRL_IPモードインデックスに対してゴロム・ライス(Golomb-Rice)コーディング法を用いてエンコードする。ゴロム・ライスコーディングを使用することにより、エンコーディング及びデコーディングのために、候補組み合わせを、異なる符号語長を有するカテゴリにより合理的にグループ化することができ、コーディング効率を向上させる。
【0100】
【数3】
【0101】
プレフィックスに対して、コンテキストモデルベースのトランケートされた単項コードを用いて各ビンをエンコード及びデコードし、プレフィックスの値と出力ビットを次の表に示す。
【0102】
【表b】
【0103】
サフィックスに対して、等確率のトランケートされたバイナリ(truncated binary)コードを用いて各ビンをエンコード及びデコードし、サフィックスの値と出力ビットを次の表に示す。
【0104】
【表c】
【0105】
Kの値が異なる場合、Kの値の大きさの違いに応じて、prefixとsuffixの計算方式を、例えば、異なる除数を設定することで調整することができる。なお、上記の例では、prefixに対してコンテキストモデルベースのトランケートされた単項コードを使用し、suffixに対して等確率のトランケートされたバイナリコードを使用しているが、他の例として、prefixに対して等確率のトランケートされた単項コードを使用し、suffixに対してコンテキストモデルベースのトランケートされたバイナリコードを使用すること等も可能であり、本願は特に限定しない。
【0106】
本願の例示的な実施形態において、現在のブロックのMRL_IPモードのエンコーディング条件が満たされた場合、ビデオエンコーディング方法は、MPMモード、イントラサブパーティション分割(ISP)モード、マルチ変換選択(MTS)モード、低周波数非分離型変換(LFNST)モード、及びTIMDモードのうちのいずれか1つ以上のモードのシンタックスエレメントのエンコーディングをスキップすることを、さらに含む。
【0107】
例えば、TIMDモードの前にMRL_IPモードをエンコード及びデコードする場合、MRL_IPモードのエンコーディング条件には、現在のブロックに対してTIMDを使用しないことが含まれなくなる。現在のブロックに対してMRL_IPモードを使用する場合、現在のブロックに対してTIMDを使用できなくなり、TIMDモードのシンタックスエレメントのエンコーディングをスキップすることができる。
【0108】
例えば、現在のブロックに対してMRL_IPモードを使用する場合、MRL_IPモードフラグとMRL_IPモードインデックスは、現在のブロックのために選択された参照ラインとイントラ予測モードを同時に示すことができ、MPM関連のシンタックスエレメントをエンコード及びデコードする必要はない。
【0109】
例えば、特定の変換モードにおいて、MRL_IPモードと、マルチ変換選択(Multiple Transform Selection、MTS)モード及び/又は低周波数非分離型変換(Low Frequency Non―separable Transform、LFNST)モードとが同時に使用されないように制限することができる。
【0110】
本願の一実施形態は、図7に示すように、TMRL_IPモードの候補リストの構築方法を提供する。この方法はステップ210~ステップ230を含む。
【0111】
ステップ210:現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個の組み合わせを取得し、N≧1、M≧1、N×M≧2が満たされる。
【0112】
ステップ220:N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。
【0113】
本ステップにおける誤差は、差分絶対値和(Sum of Absolute Difference、SAD)、又は差分変換絶対値和(Sum of Absolute Transformed Difference、SATD)などで表すことができるが、これらに限らず、差分二乗和(Sum of Squared Difference、SSD)、平均絶対差(Mean Absolute Difference、MAD)、平均二乗誤差(Mean Squared Error、MSE)などで表すこともできる。
【0114】
ステップ230:現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL_IP)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入し、1≦K≦N×Mが満たされる。
【0115】
本実施形態では、現在のブロックのためにTMRL_IPモードの候補リストを構築する際に、N個の拡張参照ラインとM個のイントラ予測モードに基づいてN×M個の組み合わせを取得し、N×M個の組み合わせの各々に従って現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測値との誤差を計算し、誤差の昇順で、対応するK個の組み合わせを候補リストに記入する。本実施形態で作成された候補リストにより、拡張参照ラインとイントラ予測モードの組み合わせのエンコーディングを実現し、エンコーディング効率を向上させることができる。また、異なる組み合わせを用いるテンプレート領域への予測と誤差の順序付けにより、現在のブロックと現在のブロックのテンプレート領域との分布特性の類似性に基づいて、N×M個の組み合わせから選択される確率の高いK個の組み合わせを選択することができ、且つ選択される確率の高い組み合わせを候補リスト内の前の位置に配列することで、エンコードする際に選択された組み合わせのTMRL_IPモードインデックスが小さくなり、実際のエンコーディングコストを低減することができる。
【0116】
本願の例示的な実施形態では、現在のブロックのテンプレート領域は、現在のブロックに最も近い1つの参照ラインに設定され、又は、現在のブロックのテンプレート領域は、現在のブロックに最も近い複数の参照ラインに設定され、N個の拡張参照ラインは、テンプレート領域の外側に位置する拡張参照ラインである。図8Aでは、現在のブロックのテンプレート領域は、インデックスが0の参照ライン30に設定されている。TMRL_IPモードの候補リストを構築する際、インデックスが{1,3,5,7,12}の事前定義の拡張参照ラインから、使用できるN個の拡張参照ラインを選択する。現在のブロックの上方とCTU境界との間に13個を超える参照ラインがある場合、組み合わせを作るために、インデックスが{1,3,5,7,12}の5個の拡張参照ラインを選択する。現在のブロックの上方とCTU境界の間に6つ又は7つの参照ラインがある場合、組み合わせを作るために、インデックスが{1,3,5}の3つの拡張参照ラインを選択する。
【0117】
図8Aには、組み合わせに参加する5つの拡張参照ラインが示されており、インデックスが1の参照ライン31、インデックスが3の参照ライン33、インデックスが5の参照ライン35、インデックスが7の参照ライン37、及びインデックスが12の参照ライン39を含む。図8Aとは異なり、図8Bに示す例では、現在のブロックのテンプレート領域40がインデックスが0及び1の2つの参照ラインに設定されており、組み合わせに参加する拡張参照ラインは5つの拡張参照ラインであり、それぞれ、インデックスが2の参照ライン42、インデックスが3の参照ライン43、インデックスが5の参照ライン45、インデックスが7の参照ライン47、及びインデックスが12の参照ライン49である。つまり、この例では、インデックスが{2,3,5,7,12}の事前定義の拡張参照ラインから、使用できるN個の拡張参照ラインを選択している。テンプレート領域と拡張参照ラインの選択には他にも多くのオプションがあり、例えば、インデックスが0,1,2の3つの参照ラインに現在のブロックのテンプレート領域を設定し、又はインデックスが0~3の4つの参照ラインに現在のブロックのテンプレート領域を設定するなどの例がある。テンプレート領域が比較的広いとき、予測は比較的精確である。
【0118】
本願の例示的な実施形態では、現在のブロックのN個の拡張参照ラインは、事前定義のNmax個の拡張参照ラインのうち、現在のブロックのテンプレート領域の外側に位置し、且つコーディングツリーユニット(CTU)の境界を超えない拡張参照ラインである。NmaxはTMRL_IPモードで使用できる拡張参照ラインの最大個数である。本実施形態では、組み合わせに使用されるN個の拡張参照ラインを、現在のブロックのテンプレート領域の外側且つCTU境界を超えない領域に制限する。しかし、ハードウェアがサポートできれば、CTU境界を超える拡張参照ラインが組み合わせに使用される可能性がある。
【0119】
本願の例示的な実施形態では、Nmax=5であり、事前定義の5つの拡張参照ラインは、{1,3,5,7,12}又は{2,3,5,7,12}のインデックスが付けられた参照ラインである。本願の別の例示的な実施形態では、事前定義のNmax個の拡張参照ラインは、インデックスが1から始まり、現在のブロックに最も近いNmax個の拡張参照ラインであり、又は、インデックスが1から始まり且つインデックスが奇数であり、現在のブロックに最も近いNmax個の拡張参照ラインであり、又は、インデックスが2から始まり且つインデックスが偶数であり、現在のブロックに最も近いNmax個の拡張参照ラインである。奇数又は偶数の参照ラインを選択すると、演算が簡単になる。
【0120】
本願の例示的な実施形態において、M個のイントラ予測モードは、角度モードのみから選択でき、又は角度モード及びDCモードのみから選択でき、又は角度モード、DCモード及びplanarモードから選択できる。
【0121】
本願の例示的な実施形態において、M個のイントラ予測モードは、以下のプロセスによって選択される。
第1ステップ:現在のブロックの周囲にある複数の近隣位置での予測ブロックのために使用されるイントラ予測モードを確定し、そのうちの選択できるイントラ予測モードを順番に選択し、重複するモードを削除する。
第1ステップで選択されたイントラ予測モードの数がMになると、終了し、第1ステップで選択されたイントラ予測モードは数がM未満であり、且つ角度モードを含む場合、第2ステップを実行する。
第2ステップ:選択されたイントラ予測モードの総数がMになるまで、選択された1番目の角度モードから順番に角度モードの拡張操作を行って拡張後の角度モードを取得し、選択された全ての角度モードと異なる拡張後の角度モードを選択する。
【0122】
本実施形態の一例では、第1ステップにおいて、CTUの上部境界に位置する現在のブロックとCTUの上部境界に位置しない現在のブロックの各々に対して、現在のブロックの周囲にある複数の近隣位置での予測ブロックは、現在のブロックの左側の予測ブロック、上方の予測ブロック、左上の予測ブロック、左下の予測ブロック、及び右上の予測ブロックという予測ブロックの一部又は全てを含む。図3に示すように、現在のブロックの左側の予測ブロック、上方の予測ブロック、左上の予測ブロック、左下の予測ブロック、及び右上の予測ブロックは、図においてそれぞれL、A、AL、BL、ARで示された予測ブロックである。M≧5が満たされる。
【0123】
本例によれば、CTUの上部境界に位置する現在のブロックに対しても、その上方、左上、右上などの近隣位置での予測ブロックに使用されるイントラ予測モードの中から、組み合わせに参加するM個のイントラ予測モードを選択することが可能となり、すなわち、これらの位置での予測ブロックに対するアクセス制限が解除される。その結果、CTUの上部境界に位置する現在のブロックに対して候補リストを構築する際に、組み合わせに参加するより多様なイントラ予測モードがある。これにより、構築される候補リストにおける組み合わせの多様性を増加させ、コーディング性能を向上させることができる。
【0124】
本実施形態の一例では、現在のブロックの周囲にある複数の近隣位置は、現在のブロックの周囲にある5つの近隣位置を含み、5つの近隣位置は、図3に示すように、それぞれ左上、上、右上、左、左下である。
【0125】
本実施形態の一例では、現在のブロックの周囲にある複数の近隣位置での予測ブロックのために使用されるイントラ予測モードに基づいて選択されたイントラ予測モードの数がM未満である場合、第1ステップは、さらに、以下の方式、即ち、
現在のブロックの周囲の再構成値に基づいて、デコーダー側イントラモード導出(DIMD)の勾配ヒストグラムを用いて2個のイントラ予測モードを導出し、導出された2個のイントラ予測モードから、選択されたイントラ予測モードのいずれとも異なるイントラ予測モードを選択することと、
選択されたイントラ予測モードにDCモードが含まれていない場合、DCモードを選択すること、
という方式の少なくとも1つにより、組み合わせに参加するイントラ予測モードを引き続いて選択することを含む。
【0126】
本例では、DIMDから導出されるイントラ予測モード及び/又はDCモードから、組み合わせに参加するイントラ予測モードを選択することができる。この方式により、組み合わせに参加するイントラ予測モードの多様性を高め、ひいては構築された候補リストにおける組み合わせの多様性を高めることができるので、コーディング性能を向上させることができる。
【0127】
本実施の形態の一例では、第2ステップにおいて、第1ステップで選択された全ての角度モードに対して、選択された1番目の角度モードから、設定された順序で順番に以下の処理を行い、即ち、角度モードの拡張操作を行って拡張後の角度モードを取得し、拡張後の角度モードが選択された角度モードのいずれとも異なる場合、拡張後の角度モードを選択し、選択されたイントラ予測モードの総数がM個になると、終了するという処理を行う。第1ステップで選択された全ての角度モードの数は1以上且つ5以下である。すなわち、第1ステップで選択されたイントラ予測モードが全て角度モードである場合、数を減らすことなく、全ての角度モードに対して1つずつ拡張操作を行うことも可能である。これにより、拡張後の角度モードの可能性を高めることができ、コーディング性能を向上させることができる。
【0128】
本実施形態の一例では、M個のイントラ予測モードを選択するプロセスは、第1ステップにおいて角度モードが選択されなかった場合、又は第2ステップにより選択されたイントラ予測モードの総数が依然としてM未満である場合、第3ステップを実行し、第3ステップにおいて、事前定義のイントラ予測モード集合のうちの選択できるイントラ予測モードを確定し、選択されたイントラ予測モードの総数がMになるまで、確定された選択できるイントラ予測モードから、選択されたイントラ予測モードのいずれとも異なるイントラ予測モードを順番に選択すること、をさらに含む。
【0129】
本実施形態の一例では、M個のイントラ予測モードを選択する過程において、角度モードのみを選択できる。本実施形態の別の例では、M個のイントラ予測モードを選択する過程において、角度モードとDCモードのみを選択できる。本実施形態のさらに別の例では、M個のイントラ予測モードを選択する過程において、角度モード、DCモード、及びPlanarモードを選択できる。Planarモードは、拡張参照ラインとの結合効果が制限されるので、組み合わせから除外されてもよい。DCモードの場合も類似する。ただし、演算複雑度の増加をサポートできれば、PlanarモードとDCモードも候補リストに加えられて組み合わせに参加することができる。
【0130】
本実施形態の一例では、角度モードの拡張操作は、角度モードに対して1を加算する操作及び1を減算する操作と、角度モードに対して2を加算する操作及び2を減算する操作と、角度モードに対して3を加算する操作及び3を減算する操作と、角度モードに対して4を加算する操作及び4を減算する操作、という操作のうちのいずれか1つ以上を含む。
【0131】
本願の例示的な実施形態において、M個のイントラ予測モードとして、最確モード(MPM)のうち、Planarモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMと第2MPMのうち、Planarモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMのうち、Planarモード及びDCモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMと第2MPMのうち、Planarモード及びDCモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMのうち、Planarモード、DCモード、及びDIMDモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMと第2MPMのうち、Planarモード、DCモード、及びDIMDモード以外のイントラ予測モードの一部又は全部を使用する。
【0132】
本実施形態では、MPMのうち、Planarモード以外の全てのイントラ予測モードを事前定義のイントラ予測モードとして使用し、又は、MPM及び第2MPMのうち、Planarモード以外の全てのイントラ予測モードを事前定義のイントラ予測モードとして使用する。現在のブロックの参照ラインが事前定義の全ての拡張参照ラインを含む場合、事前定義の全てのイントラ予測モードを使用する。現在のブロックの参照ラインが事前定義の一部の拡張参照ラインを含む場合、事前定義の一部のイントラ予測モードを使用する。
【0133】
本願の例示的な実施形態では、M個のイントラ予測モードは、以下の方式によって選択される。M’個のイントラ予測モードを選択する。現在のブロックのテンプレートの外側に位置する参照ラインと、M’個のイントラ予測モードとに基づいて、それぞれ現在のブロックのテンプレートを予測し、また、テンプレートの再構成値と予測によって得られた予測値との間の誤差を算出してM’個の誤差を算出する。組み合わせに参加するM個のイントラ予測モードとして、M’個のイントラ予測モードから、最小誤差に対応するM個のイントラ予測モードを選択し、M<M’が満たされる。
【0134】
本実施形態における現在のブロックのテンプレートは、M’個のイントラ予測モードからM個のイントラ予測モードを選択するために使用され、前述の現在のブロックのテンプレート領域は、N×M個の組み合わせからK個の組み合わせを選択するために使用され、両方は異なっていてもよいが、同じ領域を占めていてもよい。
【0135】
本実施形態においてM’個のイントラ予測モードを選択する際、本願の上記実施形態における、M個のイントラ予測モードを選択する様々な方法を用いることができ、例えば、MPM及び第2MPMのリストから直接選択する方法、又は、前述の実施形態の方法における第1ステップを通じて選択する方法、又は、第1ステップ及び第2ステップを通じて選択する方法、又は、第1ステップ、第2ステップ及び第3ステップを通じて選択するなどの方法を用いることができる。
【0136】
本願の例示的な実施形態では、N≦Nmax、2≦Nmax≦12、2≦M≦18、K≦Kmax、6≦Kmax≦36、NmaxはTMRL_IPモードで使用できる拡張参照ラインの最大個数であり、KmaxはTMRL_IPモードで使用できる候補組み合わせの最大個数である。ここで、N、M、及びKという関連パラメータの値の範囲が示されているが、これは単に例示的なものであり、これらの値の範囲は本願の限定とみなされるべきではなく、本願の他の実施形態では、本実施形態のこれらの値の範囲外の値を取り得る。
【0137】
この実施形態の一例では、N=5、M=10、K=20が満たされる。別の例では、N=5、M=6、K=12が満たされる。さらに別の例では、N=5、M=8、K=16が満たされる。さらに別の例では、N=5、M=12、K=24が満たされる。
【0138】
本願の例示的な実施形態では、N、M及びKは少なくとも2組の値を有し、第1組の値はN、M、Kであり、第2組の値はN、M、Kであり、N≦N、M≦M、K≦K、及びN×M<N×Mが満たされる。第1組の値は、第1サイズを有する現在のブロックのために候補リストを構築するときに使用され、第2組の値は、第2サイズを有する現在のブロックのために候補リストを構築するときに使用され、第1サイズは第2サイズよりも小さい。ここの第1サイズ及び第2サイズは、それぞれ様々なサイズを表すことができ、例えば、第1サイズは、4×4、4×8、8×8などを含むことができ、第2サイズは、16×8、16×16、8×16などを含むことができる。
【0139】
本実施形態では、異なるサイズの現在のブロックに対して、異なるN、M、Kを使用する。現在のブロックのサイズが比較的小さい場合、より小さい値を使用してTMRL_IPモードの候補リストを構築する。現在のブロックのサイズが比較的大きい場合、より大きな値を使用してTMRL_IPモードの候補リストを構築する。これにより、演算の複雑さと性能のより良いバランスを達成することができる。
【0140】
本願の例示的な実施形態において、N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測することは、現在のブロックが画像(picture)の左境界に位置する場合、N×M個の組み合わせの各々に基づいて現在のブロックの上方テンプレート領域を予測し、現在のブロックの左側テンプレート領域を予測しないことを含む。本実施形態によれば、性能に影響を与えることなく、演算を簡略化し、演算に要する時間を短縮することができる。
【0141】
本願の例示的な実施形態において、N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測することは、N×M個の組み合わせの各々に基づいて、以下の方式で予測することを含む。組み合わせにおける拡張参照ラインの再構成値と、この組み合わせにおけるイントラ予測モードとに基づいて、テンプレート領域の初期予測値を算出し、拡張参照ラインの再構成値は、拡張参照ラインのオリジナル再構成値又はフィルタリングされた後の再構成値である。テンプレート領域の初期予測値に対して4タップフィルタリング又は6タップフィルタリングを行い、フィルタリング結果を、この組み合わせに基づいて予測して得られたテンプレート領域の予測値とする。
【0142】
本実施形態では、現在のブロックのテンプレート領域を予測する際に、拡張参照ラインの再構成値をフィルタリングせず、オリジナル再構成値を演算に用いることができ、また、演算の複雑さを軽減して演算を高速化するために、タップの比較的短いフィルタ(例えば、4タップフィルタ)を用いることができる。
【0143】
本願の例示的な実施形態において、N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することは、以下の内容を含む。K個の組み合わせの各々に基づいて現在のブロックのテンプレート領域全体を予測して、対応するK個の誤差からなる誤差集合を取得し、誤差集合における最大誤差をDmaxとして記録する。残りの組み合わせの各々について、まず、この組み合わせに基づいて現在のブロックの一方側のテンプレート領域を予測し、現在のブロックのこの一方側のテンプレート領域の再構成値と予測値との間の誤差Dを算出し、D≧Dmaxであれば、この組み合わせに基づく予測を完了し、D<Dmaxであれば、また、この組み合わせに基づいて現在のブロックのもう一側のテンプレート領域を予測し、現在のブロックのテンプレート領域全体の再構成値と予測値との間の誤差Dを算出し、D<Dmaxであれば、誤差集合にDを加え、誤差集合からDmaxを削除し、誤差集合内の最大誤差Dmaxを更新し、D≧Dmaxであれば、この組み合わせに基づく予測を完了する。N×M個の組み合わせに基づく予測を完了した後、誤差集合におけるK個の誤差に対応するK個の組み合わせを、最小誤差に対応するK個の組み合わせとする。
【0144】
一例では、誤差集合内の誤差を昇順で配列することができ、誤差集合にDを加える際に、誤差集合内の誤差が依然として昇順で配列されることができる位置にDを挿入する。しかし、他の例では、N×M個の組み合わせに基づく予測を完了した後、誤差集合中のK個の誤差を順序付けることもできる。
【0145】
本実施形態では、全ての組み合わせに基づいてテンプレート領域全体の予測と誤差計算を行うことなく、組み合わせの順序付けを完成することができ、演算の複雑さの低減と高速化を図ることができる。
【0146】
本願の例示的な実施形態において、現在のブロックのTMRL_IPモードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入することは、候補リストの1番目の位置から、誤差の昇順で誤差に対応するK個の組み合わせを候補リストに記入することを含む。本実施形態のTMRL_IPモードの候補リストには、拡張参照ラインとイントラ予測モードの組み合わせのみが記入される。インデックスが0の参照ラインとイントラ予測モードの組み合わせは、MPMなどの他の従来のモードによって示される。
【0147】
本願の別の例示的な実施形態では、候補リストのi番目の位置から、誤差の昇順で誤差に対応するK個の組み合わせを候補リストに記入し、候補リストのi番目の位置の前に、インデックスが0である参照ラインと、1つ又は複数のイントラ予測モードとの組み合わせが記入されており、i≧2が満たされる。本実施形態ではTMRL_IPモードの候補リストには、拡張参照ラインとイントラ予測モードの組み合わせだけでなく、インデックスが0の参照ラインとイントラ予測モードの組み合わせも記入される。この場合、現在のブロックのために選択された組み合わせが、インデックスが0の参照ラインとイントラ予測モードとの組み合わせであるとき、TMRL_IPモードインデックスによってこのことを示すこともできる。このときのTMRL_IPモードフラグは依然として使用されることができる。
【0148】
本願の一実施形態は、図9に示すようなビデオデコーディング方法を提供する。この方法はステップ310~ステップ330を含む。
【0149】
ステップ310:現在のブロックのマルチ参照ラインイントラ予測(MRL_IP)モードフラグをデコードして、現在のブロックに対してMRL_IPモードを使用するかどうかを確定する。
【0150】
ステップ320:現在のブロックに対してMRL_IPモードを使用すると確定した場合、引き続いて現在のブロックのMRL_IPモードインデックスをデコードし、現在のブロックのMRL_IPモードの候補リストを構築し、候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入されている。
【0151】
ステップ330:候補リストとMRL_IPモードインデックスに基づいて、現在のブロックのために選択される拡張参照ラインとイントラ予測モードの組み合わせを確定し、選択された組み合わせに基づいて現在の画像を予測する。
【0152】
ここで、TMRL_IPモードインデックスは、選択された拡張参照ラインとイントラ予測モードの組み合わせの、候補リストにある位置を示すために使用される。
【0153】
本実施形態では、MRL_IPモードフラグをデコードして、現在のブロックに対してMRL_IPモードを使用すると確定した後、拡張参照ラインとイントラ予測モードの組み合わせをMRL_IPモードの候補リストに記入し、デコードして得られたMRL_IPモードインデックスと候補リストにより、現在のブロックのために選択された組み合わせを確定し、予測を行う。つまり、MRL_IPモードインデックスにより、2つのインデックスを使用することなく、現在のブロックのために選択された拡張参照ラインとイントラ予測モードを同時に示すことができる。コーディングコストを削減することができる。
【0154】
本願の例示的な実施形態では、MRL_IPモードの候補リストは、本願の実施形態の方法に従って構築されたTMRL_IPモードの候補リストである。しかし、本願の他の実施形態において構築されるMRL_IPモードは、TMRL_IPモードに限定されず、例えば、大量のサンプルデータの統計結果に基づいて、選択される確率が最も高い参照ラインとイントラ予測モードの組み合わせを、MRL_IPモードの候補リストに記入する。MRL_IPモードの候補リストに、拡張参照ラインとイントラ予測モードの組み合わせのみを記入することができるが、インデックスが0の参照ラインと他のイントラ予測モードとの組み合わせを記入することもできる。
【0155】
本実施形態において、TMRL_IPモードの候補リストを構築する際、Kは設定値であってもよいが、本実施形態におけるKは、TMRL_IPモードインデックスに基づいて確定され、TMRL_IPモードインデックスは、選択された拡張参照ラインとイントラ予測モードの組み合わせが、候補リストにおけるL番目の位置にあることを示す場合、K=Lであり、Lは正の整数である。例えば、TMRL_IPモードインデックスが5であることは、インデックスが0から番号を付けられると仮定すると、選択された組み合わせが候補リストの6番目の位置にあることを示し、K=6となる。エンコーディング側は、デコーディング側と異なり、選択された組み合わせの、候補リストにおける位置に基づいてTMRL_IPモードインデックスを確定する必要があり、設定されたKの値を用いる必要がある。これに対して、デコーディング側では、得られたTMRL_IPモードインデックスをデコードした後、構築される候補リストには、TMRL_IPモードインデックスが示す位置での組み合わせのみが含まれればよい。現在のブロックのTMRL_IPモードの候補リストに記入する組み合わせの数を減らすことで、候補リストを構築する演算を簡略化し、計算リソースを節約することができる。
【0156】
本願の例示的な実施形態では、現在のブロックのMRL_IPモードフラグをデコードすることの前、ビデオデコーディング方法は、現在のブロックに対してMRL_IPモードを使用できる条件が全て成立した場合、現在のブロックのMRL_IPモードフラグをデコードすることをさらに含む。MRL_IPモードを使用できる条件は、以下のいずれか1つ以上を含み、即ち:
現在のブロックが輝度フレームにおけるブロックであること、
現在のブロックに対してMRLを使用できること、
現在のブロックがコーディングツリーユニット(CTU)の上部境界に位置しないこと、
現在のブロックに対してテンプレートベースのイントラモード導出(TIMD)を使用しないこと、
という条件のいずれか1つ以上を含む。
【0157】
本実施形態では、上記条件の1つが成立する場合には、MRL_IPモードの使用を許可せず、MRL_IPモードフラグ及びMRL_IPモードインデックスのデコーディングをスキップすることができる。しかし、他の実施形態ではそうになるとは限らない。例えば、TIMDの前にMRL_IPモードをエンコード及びデコードする場合、現在のブロックに対するTIMDの使用は、MRL_IPモードを使用できない条件とされない。別の例としては、将来、ハードウェアがCTU境界外の参照ラインの取得をサポートできるようになった場合、現在のブロックがCTUの上部境界に位置することは、MRL_IPモードを使用できない条件ではなくなることなどが挙げられる。
【0158】
本願の例示的な実施形態では、ビデオデコーディング方法は、現在のブロックに対してMRLを使用でき、現在のブロックがCTUの上部境界に位置しておらず、且つ現在のブロックに対してTIMDを使用すると確定した場合、現在のブロックのMRLインデックスをデコードすることをさらに含む。MRLインデックスは、現在のブロックのために選択された参照ラインのMRLインデックスリストにある位置を示すために使用される。本実施形態では、現在のブロックに対してTIMDを使用する場合にMRL_IPモードを使用することができないが、依然としてMRLを使用することができ、したがって、依然として、現在のブロックのマルチ参照ラインインデックスをデコードすることで、現在のブロックのために選択された参照ラインを確定することができ、現在のブロックのために選択されたTIMDモードと組み合わせて、現在のブロックを予測することができる。
【0159】
本願の例示的な実施形態では、MRL_IPモードフラグに基づいて、現在のブロックに対してMRL_IPモードを使用すると確定した場合、ビデオデコーディング方法は、MPMモード、ISPモード、MTSモード、LFNSTモード、及びTIMDモードのうちのいずれか1つ以上のモードのシンタックスエレメントのデコーディングをスキップすることを、さらに含む。エンコーディング側に対応して、エンコードする際、現在のブロックに対してMRL_IPモードフラグを使用する場合、上記のモードの1つ以上がスキップされたとき、デコーディング側は、デコードによって、現在のブロックに対してMRL_IPモードフラグを使用すると確定した場合、これらのモードのデコーディングもスキップする。
【0160】
本願の一実施形態は、ビデオデコーディング方法をさらに提供し、具体的には、イントラ予測のデコーディング処理に関する。エンコーディング側におけるイントラ予測のエンコーディング処理についても説明する。
【0161】
本実施形態では、エンコーディング側でTMRL_IPモードの候補リストを構築し、モード選択により現在のブロックのために候補リスト内の組み合わせが選択された場合に、TMRL_IPモードのシンタックスエレメントをエンコード及びデコードし、拡張参照ラインとイントラ予測モード(DCモード、Planarモード、複数の角度モードを含む従来のイントラ予測モード)の組み合わせをエンコード及びデコードすることにより、コーディング効率を向上させることができる。
【0162】
本実施形態では、事前定義のN個の拡張参照ラインとM個のイントラ予測モードに基づき、インデックスが0の参照ライン、すなわちreference line0の位置にテンプレートを構築する。(x,-1),(-1,y)は、それぞれ、現在のブロックの左上隅の(0,0)位置に対する座標であり、本実施形態における現在のブロックの1行1列のテンプレート領域は、図8Aに示すテンプレート領域30を参照することができる。この図では、インデックスが{1,3,5,7,12}の事前定義の5個の拡張参照ラインも提供されている。
【0163】
TMRL_IPモードの候補リストを構築する際に、N×M個の組み合わせに基づくテンプレートの予測値と再構成値の間のSADを計算し、SADの昇順に従って対応する組み合わせをソートし、N×M個の組み合わせのうちSADが比較的小さいK個の組み合わせを、SADの昇順でTMRL_IPモードの候補リストに記入し、N×M≧2が満たされる。
【0164】
TMRL_IPモードの候補リストの構築は、エンコーダーとデコーダーの両方が実行する必要がある操作である。エンコーディング側では、現在のブロックのために選択された組み合わせが候補リストにあるなどのエンコーディング条件が満たされている場合、TMRL_IPモードフラグをエンコードすることでTMRL_IPモードを使用することを示す。また、TMRL_IPモードインデックスは、選択された組み合わせの、候補リストにある位置に基づいて確定される。例えば、1番目の位置にあれば、TMRL_IPモードインデックスが0であり、2番目の位置にあれば、TMRL_IPモードインデックスが1であるというように確定される。TMRL_IPモードインデックスは、ゴロム・ライス(Golomb-Rice)コーディング法を用いてエンコードされてもよいが、これに限定されない。
【0165】
以下、N=5、M=6、K=12の例をもって説明する。事前定義の5つの拡張参照ラインのインデックスが{1,3,5,7,12}であり、6つのイントラ予測モードが一歩一歩選択される。
【0166】
本実施形態のビデオデコーディング方法は、ステップ1~ステップ3の内容を含む。
【0167】
ステップ1:TMRL_IPモードに関連するシンタックスエレメントをデコードする。
【0168】
デコーダーによって解析されるイントラ予測モードの関連シンタックスエレメントは、TIMD、MRLなどのモードの関連シンタックスエレメントを含む。本実施形態で提供されるTMRL_IPモードは、MRLモードの発展型と考えることができ、TMRL_IPモードのシンタックスエレメントは、MRLモードのシンタックスエレメントの一部と考えることもできる。もちろん、両方は異なる2種のモードと考えることもできる。
【0169】
現在のブロックに対してTIMDモードを使用する場合、MRLモードのシンタックスエレメントに対するデコーディング方式に変更はない。現在のブロックに対してTIMDモードを使用しない場合、TMRL_IPモードのシンタックスエレメントをデコードする必要がある。次の表に示すように、現在のブロックのために関連シンタックスをデコードする。
【0170】
【表d】

【0171】
表中の「cu_tmrl_flag」即ちTMRL_IPモードフラグであり、「cu_tmrl_flag」が1に等しいのは、現在のブロックに対してTMRL_IPモードを使用することを示し、すなわち、現在の輝度サンプルのイントラ予測モードのタイプがテンプレートベースのマルチ参照ラインイントラ予測モードであることを定義する。「cu_tmrl_flag」が0に等しいのは、現在のブロックに対してTMRL_IPモードを使用しないことを示し、すなわち、現在の輝度サンプルのイントラ予測モードのタイプがテンプレートベースのマルチ参照ラインイントラ予測モードではないことを定義する。
【0172】
表中の「tmrl_idx」すなわちTMRL_IPモードインデックスは、現在のブロックのために選択された拡張参照ラインとイントラ予測モードの組み合わせのTMRL_IPモードの候補リストにおける位置であり、TMRL_IPモードの順序付けられた候補リストにおける、選択された組み合わせのインデックス(組み合わせの位置を示すインデックス)を定義するとも言える。「tmrl_idx」は、ゴロム・ライスコーディング法を用いてエンコード及びデコードすることができ、ここでは説明を繰り返さない。
【0173】
上の表から分かるように、cu_tmrl_flagをデコードする前に、現在のブロックに対してMRLを使用できること(すなわち、sps_mrl_enabled_flagが1であることが成立するか否か)、現在のブロックがCTUの上部境界に位置しないこと(すなわち、( y0 % CtbSizeY ) > 0が成立するか否か)、現在のブロックに対してTIMDを使用しないこと、という条件が成立するか否かをまず判断する。これらの条件が成立している場合、cu_tmrl_flagをデコードする。他の2つの条件が成立するが、現在のブロックに対してTIMDを使用する場合、現在のブロックのマルチ参照ラインインデックスintra_luma_ref_idxをデコードする。
【0174】
表中のISPモードフラグ(intra_subpartitions_mode_flag)は、TMRL_IPモード関連のシンタックスエレメントの後にデコードされる。現在のブロックに対してTMRL_IPモードを使用しない(!cu_tmrl_flagが成立する)場合、intra_subpartitions_mode_flagをデコードする。
【0175】
ステップ2:TMRL_IPモードの候補リストを構築し、TMRL_IPモードインデックス及び候補リストに基づいて、現在のブロックのために選択された拡張参照ライン及びイントラ予測モードを確定する。
【0176】
解析段階の終了後、現在のブロックを予測する前、現在のブロックに対してTMRL_IPモードを使用する場合、TMRL_IPモードの候補リストを構築する必要があり、TMRL_IPモードインデックスと候補リストに基づいて、現在のブロックのために選択された拡張参照ラインとイントラ予測モードを確定する。
【0177】
TMRL_IPモードの候補リストを構築するには、まず、候補の拡張参照ラインを確定し、候補のイントラ予測モードを確定する必要がある。
【0178】
■候補の拡張参照ラインを確定する
【0179】
候補の拡張参照ラインは、事前定義の拡張参照ラインから選択される。画像内の現在のブロックの位置に基づいて、事前定義の拡張参照ラインのうちの使用できる拡張参照ラインを確定する。原則として、現在のブロックに対して使用可能な上方参照ラインは、CTUの上部境界を超えないようにする。一例では、インデックスが{1,3,5,7,12}である拡張参照ラインのうち、CTUの境界を超えない全ての拡張参照ラインを候補の拡張参照ラインに加える。また、コーディング性能を向上させ、又は複雑さを低減させるために、より多い又はより少ない拡張参照ラインを使用することもできる。
【0180】
■候補のイントラ予測モードを確定する
【0181】
本実施形態では、TMRL_IPモードとMPMをバインディングする代わりに(他の実施形態でバインディングしてもよく)、イントラ予測モードの候補リストを構築し、この候補リストから組み合わせに使用されるイントラ予測モードを選択する。候補リストは、以下の方法で導出される。
【0182】
まず、従来の67種類の予測モードから、PlanarモードとDCモードを除去し、又はPlanarモードのみを除去してDCモードを残す。除去されたモードは、候補リストに加えられなく、即ちTMRL_IPモードのうち、組み合わせに参加するイントラ予測モードとされない。
【0183】
本実施形態では、構築しようとする候補予測モードリストの長さは6である。候補予測モードリストを構築する際に、まず、現在のブロックの周囲の5つの近隣位置にある予測ブロックに使用されるイントラ予測モードに基づいて、重複しないイントラ予測モードを順番に選択して、候補予測モードリストに加える。一例として、以下の順序で、現在のブロックの周囲にある近隣位置での予測ブロック(略してブロックと呼ぶ)にアクセスし、それらのイントラ予測モードを取得して選択を行う。
【0184】
左側のブロックにアクセスし、そのブロックがイントラコーディングブロックであるかどうかを判断し、もしそうであり且つそのブロックのイントラ予測モードがPlanarモードではない場合、そのブロックのイントラ予測モードを選択して候補リストに加える。
【0185】
上方のブロックにアクセスし、そのブロックがイントラコーディングブロックであるかどうかを判断し、もしそうであり、また、そのブロックのイントラ予測モードがPlanarモードではなく、且つ候補リスト内の既存のイントラ予測モードと重複しない(すなわち、既存の全てのイントラ予測モードと異なる)場合、そのブロックのイントラ予測モードを選択して候補リストに加える。
【0186】
左側のブロックにアクセスし、そのブロックがインターコーディングブロックであるかどうかを判断し、もしそうであり、また、そのブロックのイントラ予測モードがplanarモードではなく、且つ候補リスト内の既存のイントラ予測モードと重複しない場合、そのブロックのイントラ予測モードを選択して候補リストに加える。
【0187】
上方のブロックにアクセスし、そのブロックがインターコーディングブロックであるかどうかを判断し、もしそうであり、また、そのブロックのイントラ予測モードがplanarモードではなく、且つ候補リスト内の既存のイントラ予測モードと重複しない場合、そのブロックのイントラ予測モードを選択して候補リストに加える。
【0188】
左上のブロックにアクセスし、そのブロックがイントラコーディングブロックであるかどうかを判断し、もしそうであり、また、そのブロックのイントラ予測モードがplanarモードではなく、且つ候補リスト内の既存のイントラ予測モードと重複しない場合、そのブロックのイントラ予測モードを選択して候補リストに加える。
【0189】
左下のブロックにアクセスし、そのブロックがイントラコーディングブロックであるかどうかを判断し、もしそうであり、また、そのブロックのイントラ予測モードがplanarモードではなく、且つ候補リスト内の既存のイントラ予測モードと重複しない場合、そのブロックのイントラ予測モードを選択して候補リストに加える。
【0190】
右上のブロックにアクセスし、そのブロックがイントラコーディングブロックかどうかを判断し、もしそうであり、また、そのブロックのイントラ予測モードがplanarモードではなく、且つ候補リスト内の既存のイントラ予測モードと重複しない場合、そのブロックのイントラ予測モードを選択して候補リストに加える。
【0191】
左上のブロックにアクセスし、そのブロックがインターコーディングブロックであるかどうかを判断し、もしそうであり、また、そのブロックのイントラ予測モードがplanarモードではなく、且つ候補リスト内の既存のイントラ予測モードと重複しない場合、そのブロックのイントラ予測モードを選択して候補リストに加える。
【0192】
左下のブロックにアクセスし、そのブロックがインターコーディングブロックであるかどうかを判断し、もしそうであり、また、そのブロックのイントラ予測モードがplanarモードではなく、且つ候補リスト内の既存のイントラ予測モードと重複しない場合、そのブロックのイントラ予測モードを選択して候補リストに加える。
【0193】
右上のブロックにアクセスし、そのブロックがインターコーディングブロックであるかどうかを判断し、もしそうであり、また、そのブロックのイントラ予測モードがplanarモードではなく、且つ候補リスト内の既存のイントラ予測モードと重複しない場合、そのブロックのイントラ予測モードを選択して候補リストに加える。
【0194】
本願の実施形態(他の実施形態を含む)における現在のブロックは、インターコーディング画像のブロックであってもよく、イントラコーディング画像のブロックであってもよい。現在のブロックがインターコーディング画像のブロックであり、且つ解析された後、イントラコーディングブロック(イントラ予測モードを用いて予測されるブロック)である場合、このイントラコーディングブロックの近隣位置での予測ブロックは、インターコーディングブロックである可能性があり、このインターコーディングブロックのイントラ予測モードは、このインターコーディングブロックの参照ブロックから伝達されてもよい。
【0195】
本実施形態では、CTUの上部境界にある現在のブロックに対しても、上記順序で、現在のブロックの近隣にある5つの位置での予測ブロックにアクセスし、それらのイントラ予測モードを取得して選択を行い、左上、上、右上の予測ブロックへのアクセスをスキップしない。
【0196】
現在のブロックの5つの近隣位置での予測ブロックに使用されるイントラ予測モードに基づいて、重複しないイントラ予測モードを順番に選択して候補予測モードリストに記入した後、角度モードに対する拡張操作を直接行ってもよく、以下の選択操作の1種又は2種をまず行ってもよい。
第1種:現在のブロックの周囲の再構成値に基づいて、DIMDの勾配ヒストグラムを用いて2つのイントラ予測モードを導出し、導出された2つのイントラ予測モードから、リスト内の既存のモードと重複しないモードを選択して候補リストに記入する。
第2種:候補リスト内の既に選択されたイントラ予測モードの中にDCモードがない場合、DCモードを選択して候補リストに記入する。
【0197】
次に、リストに記入されたモードに対して角度モードの拡張操作を行う。具体的には、順番に、選択された全ての角度モードに対して、1を加算する操作及び1を減算する操作を行い、重複しない拡張後の角度モードを選択して順番に候補予測モードリストに加え、候補リストに記入されたモード数が6に達すると、充填することを停止してもよい。
【0198】
1を加算する操作及び1を減算する操作の具体的な内容を下表に示す。
【0199】
【表e】
【0200】
上記「角度モード-1」とは、記入された角度モードのインデックスから1を減算した角度モードを指し、例えば、記入された角度モードがモード3である場合、「角度モード-1」は角度モード2となる。上記「角度モード+1」とは、記入された角度モードのインデックスに1を加算した角度モードを指し、例えば、記入された角度モードがモード3である場合、「角度モード+1」は角度モード4となる。
【0201】
そして、「角度モード-1」が角度モード2よりも小さい場合、例えば、「角度モード-1」即ち「角度モード1」を得る(角度モードのインデックスが2から番号付けされ、「角度モード1」は存在しない)場合、「角度モード-1」と反対方向の角度モードを選択し、合計65種類の角度モードがあると仮定して、このとき、「角度モード-1」と反対方向の角度モードは即ち角度モード66である。そして、「角度モード+1」が角度モード66よりも大きい場合、類似的に、「角度モード+1」と反対方向の角度モードを選択する。例えば、記入された角度モードが角度モード66であり、「角度モード+1」は存在せず、このとき選択された「角度モード+1」と反対方向の角度モードは即ち角度モード2である。
【0202】
上記の角度モードの拡張は、角度モードに対して1を加算する操作及び1を減算する操作を行うことである。他の実施形態では、1を加算する操作及び1を減算する操作を、1を加算する操作及び1を減算する操作からXを加算する操作及びXを減算する操作まで拡張することも可能である。X=3と仮定すると、候補予測モードリストが埋まるようになるまで、角度モードに対して、1を加算する操作及び1を減算する操作、2を加算する操作及び2を減算する操作、3を加算する操作及び3を減算する操作を行うことが可能である。具体的に、下表に示す。表中のdelta=1,2,...X-1である。
【0203】
【表f】
【0204】
本願の別の実施形態では、角度モードに対する拡張操作は、1を加算する操作及び1を減算する操作と、2を加算する操作及び2を減算する操作と、3を加算する操作及び3を減算する操作と、4を加算する操作及び4を減算する操作とを含む。第1のステップで選択された角度モードが合計4個あると仮定すると、例示的な設定順序は、次の通りであってもよく、即ち:選択された1番目の角度モード(略して1番目の角度モードと呼ぶ)に対して1を加算する操作及び1を減算する操作を実行し、選択された2番目の角度モード(略して2番目の角度モードと呼ぶ)に対して1を加算する操作及び1を減算する操作を実行し、選択された3番目の角度モード(略して3番目の角度モードと呼ぶ)に対して1を加算する操作及び1を減算する操作を実行し、選択された4番目の角度モード(4番目の角度モードと呼ぶ)に対して1を加算する操作及び1を減算する操作を実行し、1番目の角度モードに対して2を加算する操作及び2を減算する操作を実行し、2番目の角度モードに対して2を加算する操作及び2を減算する操作を実行し、3番目の角度モードに対して2を加算する操作及び2を減算する操作を実行し、4番目の角度モードに対して2を加算する操作及び2を減算する操作を実行し、その後、引き続き1番目の角度モードから4番目の角度モードに対して3を加算する操作及び3を減算する操作を行い、さらに1番目の角度モードから4番目の角度モードに対して4を加算する操作及び4を減算する操作を行う。本実施形態の角度拡張では、1つの角度モードの拡張操作が完了した毎に、得られた2つの拡張後の角度モードと選択された角度モードを比較し、選択された角度モードのいずれとも異なる角度モードを選択し、選択されたイントラ予測モードの総数を更新する。総数がM個になると、イントラ予測モードの候補リストの構築を終了し、すなわち、M個のイントラ予測モードを選択する処理を終了する。
【0205】
リストに記入されたモードに対して角度モードの拡張操作を行った後、候補予測モードリストがまだ埋まるようになっていない場合、候補予測モードリストが埋まるようになるまで、事前定義のモード集合の中の重複しないモードを用いてリストを充填する。モード集合には、以下のような、統計的法則に従って選択されたいくつかの角度モードが含まれる。
【0206】
mpm_default[] = { DC_IDX, VER_IDX, HOR_IDX, VER_IDX - 4, VER_IDX + 4, 14, 22, 42, 58, 10, 26, 38, 62, 6, 30, 34, 66, 2, 48, 52, 16 };
【0207】
ここで、DC_IDXはDCモードを表し、VER_IDXは垂直モードを表し、HOR_IDXは水平モードを表し、残りの数字はその数字に対応する角度モードを表す。
【0208】
本実施形態では、候補予測モードリストの長さを6としているが、性能の観点からより多くの角度モードを試すために、長さを6より大きい値に設定することも可能であり、例えば、8、10、12、14などに設定してもよく、また、複雑さを軽減するためにより少ないモードを試して、長さを6より小さい値に設定してもよい。
【0209】
本実施形態では、候補イントラ予測モードを確定する際、PlanarモードとDCモードを除外し、又はPlanarモードのみを除外しているが、複雑性を考慮しない場合には、この2つのモードを除外しなくてもよく、すなわち、Planarモード、DCモード、及び全ての角度モードが候補イントラ予測モードとして拡張参照ラインとの組み合わせに参加してもよい。
【0210】
MPMリストと第2MPMリスト内の前のN個のイントラ予測モードを直接用いる場合と比較して、本実施形態では、上述したステップによって構築されたイントラ予測モードの候補リストにより、CTUの上部境界における、上方予測ブロックに対するアクセス制限をキャンセルし、CTUの上部境界に位置する現在のブロックのために構築される候補リストの多様性を高める。さらに、DIMDモードとDCモードを増やすことにより、候補リストにおけるイントラ予測モードの多様性をさらに高めることができる。
【0211】
■TMRL_IPモードの候補リストを構築する
【0212】
候補の拡張参照ラインとイントラ予測モードを確定した後、拡張参照ラインリストと候補予測モードリストにある全ての組み合わせを1つずつ試すことができ、これらの組み合わせの各々に基づいて、図8Aを参照して、reference line0が位置するラインのテンプレート(Template、次の図に示される)領域を予測し、テンプレート領域の再構成値と各組み合わせに基づく予測から得られた予測値との間の誤差を計算し、誤差の最も小さいK個の組み合わせを、誤差の昇順でTMRL_IPモードの候補リストに記入する。
【0213】
本実施形態の予測処理では、現在のブロックがCTUの第1行を占める場合にのみ、TMRL_IPモードの使用を制限する。現在のブロックが画像の左境界に位置する場合、依然としてTMRL_IPモードを使用することができる。この場合、左側のreference line0は既に画像境界の外側にあるため、左側テンプレートは予測に使用されず、すなわち、上方テンプレート領域のみを予測する。
【0214】
テンプレート領域に対する予測処理は、他の通常のイントラ角度予測処理と全く同じであることができる。すなわち、まず参照ラインの再構成値をフィルタリングし、その結果をテンプレート領域の初期予測値として使用し、フィルタリングされた参照ラインの再構成値と組み合わせにおけるイントラ予測モードに基づいてテンプレート領域を予測した後、初期予測結果に対して4タップ又は6タップフィルタリングを行い、その結果を予測によって得られた予測値として使用する。なお、演算の複雑さを考慮して、参照ラインの再構成値をフィルタリングするステップを省略してもよく、タップの比較的短いフィルタを用いてもよい。本実施形態では、予測によってテンプレート領域の予測値を取得する際に、参照ラインの画素の再構成値をフィルタリングしなく、初期予測結果に対して非整数の角度で1/32精度を有する4タップ補間フィルタリングを行い、4タップフィルタは以下の通りである。
【0215】
【表g】
【0216】
現在の角度におけるラインとラインのサンプルの間の位置偏差に基づいて適切なフィルタを選択する。偏差iFactは以下のように導出される:
【0217】
伝統的な角度と広角度の対応関係に基づいてpredModeIntraを取得し、predModeIntraに基づいて表に調べてintraPredAngleを取得する。表は次の通りである。
【0218】
【表h】
【0219】
intraPredAngleと選択された参照ラインのインデックスrefIdxによってiFactを確定する。
【0220】
iFact = ( ( x + 1 + refIdx ) * intraPredAngle ) & 31
【0221】
最後に、現在の組み合わせにおける角度及び参照ライン、並びにフィルタに基づいて、テンプレート領域を予測する。予測から得られたテンプレート領域の予測値とテンプレート領域の再構成値との間のSADを計算し、SADの昇順でソートし、最小のSADを有するK個の組み合わせを選択してTMRL_IPモードの候補リストに記入する。
【0222】
ソート処理では、高速なアルゴリズムを使用することができ、上記の処理では、5つの参照ラインと6種類の予測モードとの合計30種類の組み合わせを試す必要があるが、その中のSADが最小であるK個の組み合わせのみを選択すればよく、本実施形態では、最初のK個の組み合わせに基づいた予測を完成して対応するSADを取得した後、K+1番目の組み合わせから、誤差(コストと呼んでもよい)が最小となるK個の組み合わせを維持して更新すればよい。K+1番目の組み合わせから、上方テンプレート領域のみを予測し且つ対応するSADを計算し、上テンプレートに基づいて計算されたSADが、誤差が最小のK個の組み合わせの中の誤差が最大の1つの組み合わせよりも既に大きい場合、左側テンプレート領域の予測と誤差計算をスキップすることができ、具体的に、前の実施形態を参照することができる。
【0223】
本実施形態におけるKの値は、エンコーディング側と同じであり、すなわち、K=12である。しかしながら、本願の別の実施形態では、Kは、TMRL_IPモードインデックスに従って確定され、TMRL_IPモードインデックスが、選択された拡張参照ラインとイントラ予測モードの組み合わせが候補リストにおけるL番目の位置にあることを示す(すなわち、選択されたのは候補リストにおけるL番目の組み合わせである)場合に、K=Lにする。L’でTMRL_IPモードインデックスの値を表し、0≦L’<Kが満たされると、L=L’+1となる。Lが12(エンコーディング側で設定されたKの値)より小さい場合、N×M個の組み合わせの中からコストの最も低い12個の組み合わせを選択する代わりに、コストの最も低いL個の組み合わせを選択すればよい。デコーディング側がTMRL_IPモードインデックスに基づいてKの値を確定することにより、デコーダーの順番付けの複雑さを軽減することができる。
【0224】
ステップ3:構築されたTMRL_IPモードの候補リストとデコーディングによって得られたTMRL_IPモードインデックスに基づいて、現在のブロックのために選択される拡張参照ラインとイントラ予測モードの組み合わせを確定し、選択された組み合わせに基づいて現在のブロックに対してイントラ予測が実行される。
【0225】
TMRL_IPモードを使用する場合、参照ラインのインデックスrefIdxと変数predModeIntraは、ントラ予測に使用されるモードを定義し、いずれもTMRL_IPモードインデックス「tmrl_idx」とTMRL_IPモードの候補リストに基づいて確定される。
【0226】
ECM-4.0参照ソフトウェアにおいて、本実施形態で説明した方法を用いて、N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=6(PlanarモードとDCモードを含まない事前定義された6つの予測モード)、K=12(全ての組み合わせにおける、SADが小さい前の12個の組み合わせのみを選択する)の設定で、AI配置での測定結果は以下の通りである。
【0227】
【表i】
【0228】
N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=8(事前定義された8つの予測モード)、K=16の設定で、AI配置での測定結果は以下の通りである。
【0229】
【表j】
【0230】
N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=12(事前定義された12個の予測モード)、K=24の設定で、AI配置での測定結果は以下の通りである。
【0231】
【表k】
【0232】
N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=8(Planarモードを含まないが、DCモードを含む事前定義された8つの予測モード)、K=16の設定で、AI配置での測定結果は以下の通りである。
【0233】
【表l】
【0234】
表中のパラメーターの意味は以下の通りである。
【0235】
EncT:Encoding Time即ちエンコーディング時間である。10X%は、参照ラインソート技術が統合された場合、統合前に比べて、エンコーディング時間が10X%であることを表し、エンコーディング時間がX%増加したことを意味する。
【0236】
DecT:Decoding Time即ちデコーディング時間である。10X%は、参照ラインソート技術が統合された場合、統合前に比べて、デコーディング時間が10X%であることを表し、デコーディング時間がX%増加したことを意味する。
【0237】
ClassA1とClassA2は解像度3840×2160のテストビデオシーケンスであり、ClassBは解像度1920×1080のテストシーケンスであり、ClassCは解像度832×480のテストシーケンスであり、ClassDは解像度416×240のテストシーケンスであり、ClassEは解像度1280×720のテストシーケンスであり、ClassFは異なる解像度を持ついくつかのスクリーンコンテンツ(Screen content)のシーケンスである。
【0238】
【0239】
All intraは、全てがイントラフレームであるテスト配置を示す。
【0240】
N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=10(事前定義された10個の予測モード)、K=20の設定で、且つ候補リストを構築する際にMPMリストと第2MPMリストにおける前のM個の予測モードを直接に用いて組み合わせを作り、All intraとRandom accessの配置でのテスト結果を次の表Aに示す。
【0241】
【表A】
【0242】
一方、N=5、M=10、K=20という同じ設定で、本実施形態の方法を用いて候補リストを構築し(CTUの上部境界にある現在のブロックのためのイントラ予測モードを選択するために、上方、右上、左上の位置にある近隣予測ブロックにアクセスすることを許可し、角度拡張の前に、DIMDに基づいて導出されたモードとDCモードに対して選択を行い、選択された全ての角度モードに対して拡張操作を実行する、などの処理を含む)、AI配置でのテスト結果を次の表Bに示す。
【0243】
【表B】
【0244】
比較して分かるように、overallという行において、MPMリストと第2MPMリストにおける前のM個の予測モードを直接に用いて組み合わせを作る方式により、参照ソフトウェアと比較して、all intra配置でY/U/VのBD-ratesの0.08%/0.01%/0.04%を節約することができ、random access配置でY/U/VのBD-ratesの0.03%/0.08%/0.13%を節約することができる。これに対して、本実施形態の方法を用いて候補リストを構築することにより、参照ソフトウェアと比較して、all intra配置でY/U/VのBD-ratesの0.11%/0.10%/0.07%を節約することができ、random access配置でY/U/VのBD-ratesの0.05%/-0.05%/0.06%を節約することができる。全体的な効果は向上している。
【0245】
これから分かるように、本実施形態のTMRL_IPモードを用いてイントラ予測コーディングを行うことにより、コーディング性能を大幅に向上させることができる。
【0246】
この実施形態では、拡張参照ラインと予測モデルの両方に対して、1行1列のテンプレート領域が使用され、SADの昇順でソート及び選択が行われている。拡張参照ラインについては、全ての拡張参照ライン(reference line1を含む)をソートすれば、1行1列のテンプレートしか使用できない。しかし、予測モードの選択については、より適切な予測モードを選択するために、TIMDモードの場合のようにより多くの参照ラインを使用することができ、これにより、より正確な結果を得ることができる。他の実施形態では、TMRL_IPモードに基づいて候補予測モードリストを確定する方法を変えることもできる。
【0247】
例えば、長さが6である候補予測モードリストを構築する必要があるとき、本実施形態と同様の構築方法及び充填方法に従って、まず長さが6より大きいリストを構築し、その後、現在のブロックに最も近い4行4列をテンプレートとし、5番目の参照ラインと候補予測モードリスト内のイントラ予測モードを用いてテンプレートを予測し、予測に得られた予測値とテンプレートの再構成値との誤差(SAD又はSATD)を算出し、誤差の昇順でソートし、誤差が小さい6個のイントラ予測モードを選択して、それらを構築しようとする長さが6のTMRL_IPモードの候補リスト内のイントラ予測モードとすることができる。また、TMRL_IPモードの候補リストの長さが6であるのは一例にすぎず、状況に応じて数値を調整することができる。
【0248】
本実施形態は65種類の角度モードを例示したが、他の実施形態では、より良い性能を得るために角度を129種類以上に拡張することが可能であり、より多くの角度に拡張する場合、イントラ予測のためのフィルタ数を適宜増やす必要もあり、例えば、129種類の角度の場合1/64精度のフィルタリングを使用する。
【0249】
本願の一実施形態は、ビットストリームをさらに提供する。ビットストリームは、イントラ予測に用いられるブロックレベルのシンタックスエレメントを含み、シンタックスエレメントは、現在のブロックのためのマルチ参照ラインイントラ予測(MRL_IP)モードフラグ及びMRL_IPモードインデックスを含み、MRL_IPモードフラグは、現在のブロックに対してMRL_IPモードを使用するか否かを示すために使用され、MRL_IPモードインデックスは、現在のブロックのために選択された拡張参照ラインとイントラ予測モードの組み合わせの、MRL_IPモードの候補リストにおける位置を示すために使用される。本実施形態のビットストリームは、本願の任意1つの実施形態のビデオエンコーディング方法によって生成されることができる。
【0250】
また、本願の一実施形態は、マルチ参照ラインイントラ予測モードの候補リストの構築装置をさらに提供する。図10に示すように、MRL_IPモードの候補リストの構築装置は、プロセッサ71と、コンピュータプログラムを記憶したメモリ73とを備える。プロセッサ71がコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のMRL_IPモードの候補リストの構築方法を実現することができる。
【0251】
本願の一実施形態は、ビデオデコーディング装置をさらに提供する。図10に示すように、ビデオデコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができる。
【0252】
本願の一実施形態は、ビデオエンコーディング装置をさらに提供する。図10に示すように、ビデオエンコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0253】
本願の上記実施形態のプロセッサは、中央処理装置(CPU)、ネットワークプロセッサ(Network Processor、NP)、マイクロプロセッサなどを含む汎用プロセッサであることができ、又は他の通常のプロセッサなどであることができる。プロセッサは、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラム可能なゲートアレイ(field programmable gate array、FPGA)、ディスクリートロジック又は他のプログラム可能なロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントであることもでき、又は他の等価に集積された又はディスクリート論理回路であることもでき、上記コンポーネントの組み合わせであることもできる。即ち、上記実施形態のプロセッサは、本発明の実施形態に開示された様々な方法、ステップ及び論理ブロック図における任意の処理コンポネント又はコンポネントの組み合わせであることができる。本願の実施形態が部分的にソフトウェアで実施される場合、ソフトウェアに用いられる命令が適切な不揮発性コンピュータ可読記憶媒体に記憶されることができ、1つ又は複数のプロセッサにより、ハードウェアで命令を実行することで本願の実施形態の方法を実施することができる。本明細書で使用する「プロセッサ」という用語は、上述した構造、又は本明細書で説明する技術を実施するのに適した任意の他の構造を指すことができる。
【0254】
本願の一実施形態は、ビデオコーディングシステムをさらに提供する。ビデオコーディングシステムは、本願のいずれか1つの実施形態に記載のビデオエンコーディング装置と、本願のいずれか1つの実施形態に記載のビデオデコーディング装置を含む。
【0255】
本願の一実施形態は、非一時的なコンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、コンピュータプログラムは、プロセッサによって実行されると、本願のいずれか1つの実施形態に記載のマルチ参照ラインイントラ予測(MRL_IP)モードの候補リストの構築方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0256】
上記1つ又は複数の例示的な実施形態において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せによって実現されることができる。ソフトウェアによって実現される場合、機能は1つもしくは複数の命令又はコードとしてコンピュータ可読媒体に記憶され、又は、コンピュータ可読媒体を介して伝送されることができ、ハードウェアベースの処理ユニットによって実行される。コンピュータ可読媒体は、データ記憶媒体などの有形媒体であるコンピュータ可読媒体を含み、又は、コンピュータプログラムが例えば通信プロトコルに従ってあるところから別のところへ伝送されることを容易にする任意の通信媒体を含むことができる。このように、コンピュータ可読媒体は通常、非一時的な有形のコンピュータ可読記憶媒体、又は信号もしくはキャリアなどの通信媒体であることができる。データ記憶媒体は、本願に記載の技術を実施するための命令、コード、及び/又はデータ構造を検索するために、1つもしくは複数のコンピュータ又は1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であってもよい。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
【0257】
限定的ではない例として、このようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ(random access memory、RAM)、読み取り専用メモリ(read only memory、ROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(electrically erasable programmable ROM、EEPROM)、コンパクトディスク読み取り専用メモリ(compact disk ROM、CD-ROM)又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、フラッシュメモリ、又は、命令もしくはデータ構造の形態で所望のプログラムコードを記憶し且つコンピュータによってアクセス可能な他の任意の媒体を含むことができる。また、いかなる接続をコンピュータ可読記憶媒体と呼ぶことができ、例として、同軸ケーブル、光ファイバーケーブル、ツイストペアケーブル(twisted-pair cabling)、デジタル加入者線(digital subscriber line、DSL)、又は、赤外線、ラジオ、マイクロ波などの無線技術を利用して、ウェブサイト、サーバ又は他のリモートソースから命令を伝送する場合、同軸ケーブル、光ファイバーケーブル、ツイストペアケーブル、DSL、又は、赤外線、ラジオ、マイクロ波などの無線技術は媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、キャリア、信号、又は他の一時的な(一過性の)媒体を含まず、非一時的な有形記憶媒体である。本明細書で使用されている磁気ディスク及び光ディスクは、コンパクトディスク(CD)、レーザーディスク、光ディスク、デジタル多用途ディスク(digital versatile disc、DVD)、フロッピーディスク、又はブルーレイディスクなどを含み、磁気ディスクは通常、磁気的にデータを再生し、光ディスクはレーザーを使用して光学的にデータを再生する。上記の組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0258】
いくつかの態様において、本明細書で説明する機能は、エンコーディング及びデコーディングに用いられるように構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供されることができ、集積エンコーダー・デコーダーに組み込まれることもできる。また、本明細書で説明する技術は、1つもしくは複数の回路又は論理素子に完全に実現されることができる。
【0259】
本願の実施形態の技術案は、無線携帯電話、集積回路(IC)、又は1セットのIC(例えば、チップセット)を含む様々な装置又は機器に実施され得る。本願の実施形態では、様々なコンポーネント、モジュール、又はユニットを用いて、説明した技術を実行するように構成されたデバイスの機能を強調する。必ずしも異なるハードウェアユニットによって実現されるとは限らない。上述したように、様々なユニットは、コーディングのハードウェアユニットにおいて組み合わせられてもよく、相互運用可能なハードウェアユニット(上述した1つ又は複数のプロセッサを含む)の集合体と適切なソフトウェア及び/又はファームウェアとの組み合わせで提供されてもよい。
図1A
図1B
図1C
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
【国際調査報告】