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

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

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

特表2025-521765イントラ予測融合方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-07-10
(54)【発明の名称】イントラ予測融合方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム
(51)【国際特許分類】
   H04N 19/593 20140101AFI20250703BHJP
   H04N 19/11 20140101ALI20250703BHJP
   H04N 19/157 20140101ALI20250703BHJP
   H04N 19/154 20140101ALI20250703BHJP
   H04N 19/176 20140101ALI20250703BHJP
【FI】
H04N19/593
H04N19/11
H04N19/157
H04N19/154
H04N19/176
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024577022
(86)(22)【出願日】2022-07-18
(85)【翻訳文提出日】2025-02-12
(86)【国際出願番号】 CN2022106337
(87)【国際公開番号】W WO2024007366
(87)【国際公開日】2024-01-11
(31)【優先権主張番号】202210806435.X
(32)【優先日】2022-07-08
(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
【弁理士】
【氏名又は名称】出口 智也
(72)【発明者】
【氏名】シュイ、ルーハン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MC11
5C159ME01
5C159PP04
5C159TA31
5C159TB08
5C159TC08
5C159TC24
5C159UA02
5C159UA05
(57)【要約】
イントラ予測融合方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステムが提供される。この方法は、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定することと、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することと、を含む。IPFの使用を制約することにより、予測する際に多すぎるモードを融合することを回避し、コーディング性能を向上させることができる。本願では、このイントラ予測融合方法を使用するビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステムがさらに提供される。
【特許請求の範囲】
【請求項1】
イントラ予測融合(intra prediction fusion、IPF)方法であって、
現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定することと、
前記制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することと、
を含む、
ことを特徴とするイントラ予測融合方法。
【請求項2】
前記制約条件は、モード数制約条件を含み、前記モード数制約条件は、IPFの使用により、現在のブロックを予測するにはN個以上のイントラ予測モードを融合する必要があり、Nは3以上の整数であるということである、
ことを特徴とする請求項1に記載の方法。
【請求項3】
Nが3であるとき、前記した、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、前記制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、
現在のブロックに対してテンプレートベースのイントラモード導出(Template-based intra mode derivation、TIMD)融合モードが選択され、且つIPFの使用条件を満たす2つの角度モードがTIMD融合に用いられる場合、前記モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際に前記2つの角度モードのうちの1つのみに対してIPFを実行することを許可することと、
現在のブロックに対してTIMD融合モードが選択され、且つTIMD融合に用いられる2つのイントラ予測モードのうちの1つのみが、IPFの使用条件を満たす角度モードである場合、前記モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際に前記角度モードに対してIPFを実行することを許可することと、
を含む、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記制約条件は、モード数制約条件を含み、前記モード数制約条件は、IPFの使用により、現在のブロックを予測するにはM個以上の角度モードを融合する必要があり、Mは2以上である整数であるということである、
ことを特徴とする請求項1に記載の方法。
【請求項5】
Mが3であるとき、前記した、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、前記制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、
現在のブロックに対してTIMD融合モードが選択され、且つIPFの使用条件を満たす2つの角度モードがTIMD融合に用いられる場合、前記モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際に前記2つの角度モードのうちの1つのみに対してIPFを実行することを許可することと、
現在のブロックに対してTIMD融合モードが選択され、且つTIMD融合に用いられる2つのイントラ予測モードのうちの1つのみが、IPFの使用条件を満たす角度モードである場合、前記モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際に前記角度モードに対してIPFを実行することを許可することと、
を含む、
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記した、前記2つの角度モードのうちの1つのみに対してIPFを実行することを許可することは、前記2つの角度モードのうちのコストが最も小さいまたはコストが2番目に小さい角度モードのみに対してIPFを実行することを許可することを含む、
ことを特徴とする請求項3または5に記載の方法。
【請求項7】
Mが3であるとき、前記した、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、前記制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、
現在のブロックに対してデコーダー側イントラモード導出(Decoder-side Intra Mode Derivation、DIMD)融合モードが選択され、且つIPFの使用条件を満たす2つの角度モードがDIMD融合に用いられる場合、前記モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際に前記2つの角度モードのうちの1つのみに対してIPFを実行することを許可することと、
現在のブロックに対してDIMD融合モードが選択され、且つDIMD融合に用いられる2つの角度モードのうちの1つのみが、IPFの使用条件を満たす角度モードである場合、前記モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用条件を満たす前記角度モードに対してIPFを実行することを許可することと、
を含む、
ことを特徴とする請求項4に記載の方法。
【請求項8】
Mが2であるとき、前記した、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、前記制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、
現在のブロックに対してTIMD融合モードが選択され、且つ2つの角度モードがTIMD融合に用いられる場合、前記モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用を許可しないことと、
現在のブロックに対してTIMD融合モードが選択されたとともに、TIMD融合に用いられる2つのイントラ予測モードのうちの1つのみが、角度モードであり且つ前記角度モードがIPFの使用条件を満たす場合、前記モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用条件を満たす前記角度モードに対してIPFを実行することを許可することと、
を含む、
ことを特徴とする請求項4に記載の方法。
【請求項9】
前記IPFの使用条件を満たす角度モードは、整数傾きの角度モードではない、
ことを特徴とする請求項3、5、7または8に記載の方法。
【請求項10】
前記した、現在のブロックに対してイントラ予測を実行する際に1つの角度モードに対してIPFを実行することを許可することは、2つ以上の予測結果の加重和を現在のブロックの最終的な予測結果とすることを含み、
前記2つ以上の予測結果が、現在のブロックに対して選択された第1参照ラインと前記角度モードに基づいて現在のブロックを予測することによって得られた予測結果と、前記第1参照ラインと異なる第2参照ラインと前記角度モードに基づいて現在のブロックを予測することによって得られた予測結果とを含む、
ことを特徴とする請求項3、5、7または8に記載の方法。
【請求項11】
前記制約条件は、以下のいずれか1つ以上を含み、即ち、
制約条件1:現在のブロックに対してTIMD融合モードが選択されること、
制約条件2:現在のブロックに対してDIMD融合モードが選択されること、
制約条件3:現在のブロックに対してマルチ参照ライン(multiple reference line、MRL)が使用されること、
制約条件4:現在のブロックに対して選択された参照ラインのインデックスがK以上であり、Kが3以上の整数であること、
制約条件5:現在のブロックの幅が設定値以下であること、
制約条件5:現在のブロックの高さが設定値以下であること、
制約条件7:現在のブロックの幅と高さの積が設定値以下であること、
制約条件8:現在のブロックに対してイントラサブパーティション分割(intra sub-partitions、ISP)モードが使用されること、
制約条件9:現在のブロックに対して選択された角度モードの角度が、-45°、0°、45°、90°、135°のいずれか1つであり、または、現在のブロックに対して選択された角度モードが、整数傾きの角度モードであること、
制約条件10:現在のブロックが属する現在のフレームが、インターフレームであること、
制約条件11:現在のブロックが属する現在の画像が、輝度画像ではないこと、
という条件のいずれか1つ以上を含み、
前記制約条件1~制約条件11のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を許可しない、
ことを特徴とする請求項1に記載の方法。
【請求項12】
前記制約条件は、制約条件4を含み、Kが3、または5、または7、または12である、
ことを特徴とする請求項11に記載の方法。
【請求項13】
前記方法は、前記制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することをさらに含み、
前記した、現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、前記現在のブロックに対して選択されたイントラ予測モードが、1つのみであり且つ角度モードである場合、第1予測結果と第2予測結果の加重和を現在のブロックの最終的な予測結果とすることを含み、
前記第1予測結果は、現在のブロックに対して選択された第1参照ラインと現在のブロックに対して選択された第1角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2予測結果は、第2参照ラインと前記第1角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2参照ラインは、前記第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである、
ことを特徴とする請求項1に記載の方法。
【請求項14】
前記方法は、前記制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することをさらに含み、
前記した、現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、前記現在のブロックに対して選択されたイントラ予測モードが融合モードである場合、3つ以上の予測結果の加重和を現在のブロックの最終的な予測結果とすることを含み、
前記3つ以上の予測結果は、現在のブロックに対して選択された第1参照ラインと前記融合モードにおけるイントラ予測モードの各々に基づいて、現在のブロックを予測することによって得られた複数の予測結果と、前記融合モードにおけるIPFが許可される1つまたは複数の角度モードと第2参照ラインに基づいて、現在のブロックを予測することによって得られた1つまたは複数の予測結果とを含み、
前記第2参照ラインは、前記第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである、
ことを特徴とする請求項1に記載の方法。
【請求項15】
前記第1参照ラインのインデックスがK以上である場合、前記第2参照ラインは、前記第1参照ラインに隣接し、且つ前記第1参照ラインより現在のブロックに近く、Kは1以上の整数である、
ことを特徴とする請求項13または14に記載の方法。
【請求項16】
前記第1予測結果と前記第2予測結果の加重和を算出する際、前記第1予測結果に与えられる重みは、前記第2予測結果に与えられる重みより大きい、
ことを特徴とする請求項13または14に記載の方法。
【請求項17】
【請求項18】
前記した、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してイントラ予測融合(IPF)を使用する制約条件が成立するか否かを確定し、前記制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、
現在のブロックに対してテンプレートベースのマルチ参照ラインイントラ予測(template-based multiple reference line & intra_ intra prediction、TMRL)モードの候補リストにおける1つの拡張参照ラインと1つの角度モードが選択され、且つ前記制約条件のすべてが成立しない場合、前記拡張参照ラインと前記角度モードに基づいて現在のブロックを予測した第1予測結果と、他の参照ラインと前記角度モードに基づいて現在のブロックを予測した第2予測結果とを計算し、前記第1予測結果と前記第2予測結果の加重和を現在のブロックの最終的な予測結果とすることを含み、
前記他の参照ラインは、インデックスが0である参照ラインまたは前記拡張参照ラインの隣接ラインである、
ことを特徴とする請求項13に記載の方法。
【請求項19】
ビデオデコーディング方法であって、
ビットストリームをデコードして、現在のブロックに対して選択された参照ラインとイントラ予測モードを確定することと、
請求項1~18のいずれか1項に記載のイントラ予測融合方法に基づいて現在のブロックを予測して現在のブロックの予測値を得ることと、
現在のブロックの予測値に基づいて現在のブロックの再構成値を確定することと、
を含む、
ことを特徴とするビデオデコーディング方法。
【請求項20】
ビデオエンコーディング方法であって、
モード選択で現在のブロックに対して選択された参照ラインとイントラ予測モードを確定することと、
請求項1~18のいずれか1項に記載のイントラ予測融合方法に基づいて現在のブロックを予測して現在のブロックの予測値を得ることと、
現在のブロックのオリジナル値と予測値に基づいて、現在のブロックの残差を確定することと、
を含む、
ことを特徴とするビデオエンコーディング方法。
【請求項21】
ビデオデコーディング方法であって、
デコーディングにより、現在のブロックに対してテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードが使用されると確定する場合、引き続き現在のブロックのTMRLモードインデックスとTMRL融合フラグをデコードすることと、
現在のブロックに対してTMRLモードの候補リストを構築し、前記候補リストとTMRLモードインデックスに基づいて、現在のブロックに対して選択された拡張参照ラインとイントラ予測モードを確定することと、
前記TMRL融合フラグがイントラ予測融合(IPF)が使用されることを示す場合、第1予測結果と第2予測結果の加重和を、現在のブロックの最終的な予測結果とすることと、を含み、
前記第1予測結果は、前記拡張参照ラインと前記イントラ予測モードとに基づいて現在のブロックを予測することによって得られ、前記第2予測結果は、他の参照ラインと前記イントラ予測モードに基づいて現在のブロックを予測することによって得られ、このイントラ予測モードは角度モードである、
ことを特徴とするビデオデコーディング方法。
【請求項22】
前記他の参照ラインは、前記拡張参照ラインに隣接し且つ前記拡張参照ラインの内側にある参照ラインであり、または、前記拡張参照ラインに隣接し且つ前記拡張参照ラインの外側にある参照ラインであり、または、インデックスが0である参照ラインである、
ことを特徴とする請求項21に記載の方法。
【請求項23】
前記方法は、前記TMRL融合フラグが、IPFが使用されないことを示す場合、前記拡張参照ラインと前記イントラ予測モードに基づいて現在のブロックを予測して、現在のブロックの最終的な予測結果を得ることをさらに含む、
ことを特徴とする請求項21に記載の方法。
【請求項24】
前記した、引き続き現在のブロックのTMRLモードインデックスとTMRL融合フラグをデコードすることは、現在のブロックのTMRLモードインデックスをデコードした後、現在のブロックのサイズが設定条件を満たすか否かを確定し、前記設定条件が満たされた場合、現在のブロックのTMRL融合フラグをデコードし、前記設定条件が満たされない場合、現在のブロックのTMRL融合フラグのデコーディングをスキップすることを含み、
前記設定条件が、以下のいずれか1つ以上を含み、即ち、
現在のブロックの幅が設定値より大きいこと、
現在のブロックの高さが設定値より大きいこと、
現在のブロックの幅と高さの積が設定値より大きいこと、
現在のブロックが属する現在のフレームは、インターフレームではないこと、
という条件のいずれか1つ以上を含む、
ことを特徴とする請求項21に記載の方法。
【請求項25】
前記した、現在のブロックに対してTMRLモードの候補リストを構築することは、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個の組み合わせを取得することであって、N≧1、M≧1、N×M≧2が満たされた、取得することと、
前記N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、前記テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、前記誤差の昇順で前記誤差に対応するK個の組み合わせを記入することであって、1≦K≦N×Mが満たされた、記入することと、を含み、
前記M個のイントラ予測モードは、角度が-45°、0°、45°、90°、135°である角度モード以外の角度モードから選択される、
ことを特徴とする請求項21に記載の方法。
【請求項26】
【請求項27】
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストを構築することであって、前記候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入される、構築することと、
レート歪み最適化を通じて、現在のブロックのために、参照ラインとイントラ予測モードの1つの組み合わせを選択することと、
現在のブロックのTMRLモードのエンコーディング条件が満たされた場合、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用することを示し、現在のブロックのTMRLモードインデックスをエンコードすることで前記候補リストにおける選択された前記組み合わせの位置を示すことと、
現在のブロックのTMRL融合フラグをエンコードして現在のブロックに対してイントラ予測融合(IPF)が使用されるか否かを示すことと、
を含むビデオエンコーディング方法であり、
前記エンコーディング条件は、少なくとも、選択された前記組み合わせが前記候補リストにあることを含む、
ことを特徴とするビデオエンコーディング方法。
【請求項28】
前記した、現在のブロックのTMRL融合フラグをエンコードして現在のブロックに対してイントラ予測融合(IPF)が使用されるか否かを示すことは、
前記現在のブロックに対して、前記候補リストにおける、角度モードを含む組み合わせが選択された場合、設定された制約条件のうちの少なくとも1つが成立するとき、現在のブロックのTMRL融合フラグをエンコードしてIPFが使用されないことを示し、前記設定された制約条件のすべてが成立しないとき、現在のブロックのTMRL融合フラグをエンコードしてIPFが使用されることを示すこと、を含み、
前記設定された制約条件が、以下のいずれか1つ以上をさらに含み、即ち、
現在のブロックに対してTIMD融合モードが選択されること、
現在のブロックに対してDIMDモードが選択されること、
現在のブロックに対して選択された参照ラインのインデックスがK以上であり、Kが3以上の整数であること、
現在のブロックの幅が設定値以下であること、
現在のブロックの高さが設定値以下であること、
現在のブロックの幅と高さの積が設定値以下であること、
現在のブロックに対してイントラサブパーティション分割(ISP)モードが使用されること、
現在のブロックに対して選択された角度モードの角度が、-45°、0°、45°、90°、135°のいずれか1つであり、または、現在のブロックに対して選択された角度モードが、整数傾きの角度モードであること、
現在のブロックが属する現在のフレームがインターフレームであること、
現在のブロックが属する現在の画像が色差画像であること、
という条件のいずれか1つ以上をさらに含む、
ことを特徴とする請求項27に記載の方法。
【請求項29】
現在のブロックのTMRLモードの候補リストを構築する際にして、組み合わせに参加するイントラ予測モードは、角度が-45°、0°、45°、90°、135°である角度モードを含まない、
ことを特徴とする請求項27に記載の方法。
【請求項30】
マルチ参照ライン(MRL)イントラ予測モードの候補リストの構築方法であって、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインと角度モードのN×M個のオリジナルの組み合わせを取得することと、
前記N×M個のオリジナルの組み合わせのうちの、予め確定された角度モードを含むオリジナルの組み合わせに基づいて、対応する融合組み合わせを取得することと、
前記N×M個のオリジナルの組み合わせと取得された融合組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、前記テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、前記誤差の昇順で前記誤差に対応するK個の組み合わせを記入することであって、K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされた、記入することと、
を含む、
ことを特徴とするマルチ参照ラインイントラ予測モードの候補リストの構築方法。
【請求項31】
前記した、前記N×M個のオリジナルの組み合わせのうちの、予め確定された角度モードを含むオリジナルの組み合わせに基づいて、対応する融合組み合わせを取得することは、
予め確定された角度モードを含むオリジナルの組み合わせの各々に基づいて、1つの融合組み合わせを取得することを含み、
前記融合組み合わせに基づいて、現在のブロックに対して予測を実行する際、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とし、前記第1予測結果は、前記オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2予測結果は、第2参照ラインと前記オリジナルの組み合わせにおける角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2参照ラインは、前記第1参照ラインの隣接ラインまたはインデックスが0である参照ラインであり、
前記予め確定された角度モードはすべての角度モードを含み、または、整数傾きの角度モード以外の角度モードを含む、
ことを特徴とする請求項30に記載の方法。
【請求項32】
【請求項33】
マルチ参照ライン(MRL)イントラ予測モードの候補リストの構築方法であって、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個のオリジナルの組み合わせを取得することと、
前記N×M個のオリジナルの組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、前記テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
誤差が最も小さいK個のオリジナルの組み合わせにおける、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、融合が必要であるか否かを確定し、融合が必要である場合、前記オリジナルの組み合わせに対応する融合組み合わせを現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに記入し、融合が必要ではない場合、前記オリジナルの組み合わせを前記候補リストに記入することであって、K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされた、記入することと、
を含む、
ことを特徴とするマルチ参照ラインイントラ予測モードの候補リストの構築方法。
【請求項34】
前記した、誤差が最も小さいK個のオリジナルの組み合わせにおける、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、融合が必要であるか否かを確定し、融合が必要である場合、前記オリジナルの組み合わせに対応する融合組み合わせを現在のブロックのTMRLモードの候補リストに記入することは、
前記オリジナルの組み合わせに対応する融合組み合わせに基づいて現在のブロックのテンプレート領域を予測し、前記テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算し、前記オリジナルの組み合わせに対応する誤差が前記融合組み合わせに対応する誤差より大きい場合、融合が必要であると確定し、前記オリジナルの組み合わせに対応する誤差が前記融合組み合わせに対応する誤差以下である場合、融合が必要でないと確定すること、を含み、
前記融合組み合わせに基づいて、現在のブロックに対して予測を実行する場合、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とし、前記第1予測結果は、前記オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2予測結果は、前記オリジナルの組み合わせにおける角度モードと第2参照ラインに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2参照ラインは、前記第1参照ラインの隣接ラインまたはインデックスが0である参照ラインであり、
前記予め確定された角度モードはすべての角度モードを含み、または、整数傾きの角度モード以外の角度モードを含む、
ことを特徴とする請求項33に記載の方法。
【請求項35】
【請求項36】
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個のオリジナルの組み合わせを取得することと、
前記N×M個のオリジナルの組み合わせに対して融合処理を実行することであって、前記融合処理は、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、設定条件が満たされた場合、前記オリジナルの組み合わせを対応する融合組み合わせに置き換えることを含む、実行することと、
融合処理を実行したN×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、前記テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、前記誤差の昇順で前記誤差に対応するK個の組み合わせを記入することと、
を含むマルチ参照ライン(MRL)イントラ予測モードの候補リストの構築方法であり、
K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされ、
前記オリジナルの組み合わせに対応する融合組み合わせに基づいて、現在のブロックに対して予測を実行する場合、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とし、前記第1予測結果は、前記オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2予測結果は、前記オリジナルの組み合わせにおける角度モードと第2参照ラインに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2参照ラインは、前記第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである、
ことを特徴とするマルチ参照ラインイントラ予測モードの候補リストの構築方法。
【請求項37】
前記設定条件は、
現在のブロックのサイズがN×Mより大きく、NとMは設定された正の整数であること、
現在のブロックに対して選択されたイントラ予測モードが、整数傾きの角度モードではないこと、
前記予め確定された角度モードはすべての角度モードを含み、または、整数傾きの角度モード以外の角度モードを含むこと、
という条件のいずれか1つ以上を含む、
ことを特徴とする請求項36に記載の方法。
【請求項38】
【請求項39】
ビットストリームであって、
前記ビットストリームは請求項20、27~29のいずれか1項に記載のビデオエンコーディング方法によって生成される、
ことを特徴とするビットストリーム。
【請求項40】
イントラ予測融合装置であって、
プロセッサと、コンピュータプログラムを記憶したメモリとを含み、
前記プロセッサが前記コンピュータプログラムを実行すると、請求項1~18のいずれか1項に記載のイントラ予測融合方法を実現することができる、
ことを特徴とするイントラ予測融合装置。
【請求項41】
マルチ参照ライン(MRL)イントラ予測モードの候補リストの構築装置であって、
プロセッサと、コンピュータプログラムを記憶したメモリとを含み、
前記プロセッサが前記コンピュータプログラムを実行すると、請求項30~38のいずれか1項に記載のMRLイントラ予測モードの候補リストの構築方法を実現することができる、
ことを特徴とするマルチ参照ラインイントラ予測モードの候補リストの構築装置。
【請求項42】
ビデオデコーディング装置であって、
プロセッサと、コンピュータプログラムを記憶したメモリとを含み、
前記プロセッサが前記コンピュータプログラムを実行すると、請求項19、21~26のいずれか1項に記載のビデオデコーディング方法を実現することができる、
ことを特徴とするビデオデコーディング装置。
【請求項43】
ビデオエンコーディング装置であって、
プロセッサと、コンピュータプログラムを記憶したメモリとを含み、
前記プロセッサが前記コンピュータプログラムを実行すると、請求項20、27~29のいずれか1項に記載のビデオエンコーディング方法を実現することができる、
ことを特徴とするビデオエンコーディング装置。
【請求項44】
ビデオコーディングシステムであって、
請求項36に記載のビデオエンコーディング装置と請求項35に記載のビデオデコーディング装置を含む、
ことを特徴とするビデオコーディングシステム。
【請求項45】
非一時的なコンピュータ可読記憶媒体であって、
前記コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、前記コンピュータプログラムは、プロセッサによって実行されると、請求項1~18のいずれか1項に記載のイントラ予測融合方法を実現することができ、又は請求項19、21~26のいずれか1項に記載のビデオデコーディング方法を実現することができ、又は請求項20、27~29のいずれか1項に記載のビデオエンコーディング方法を実現することができ、又は、請求項30~38のいずれか1項に記載のマルチ参照ライン(MRL)イントラ予測モードの候補リストの構築方法を実現することができる、
ことを特徴とする非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の参照
本願は、発明の名称が「候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム」とされ、2022年7月8日に出願された中国特許出願第202210806435.X号の優先権を主張し、その全ての内容が引用として本願に組み込まれる。
【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】
本願の一実施形態は、イントラ予測融合方法を提供する。イントラ予測融合方法は、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定することと、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することと、を含む。
【0007】
本願の一実施形態は、ビデオデコーディング方法をさらに提供する。ビデオデコーディング方法は、ビットストリームをデコードして、現在のブロックに対して選択された参照ラインとイントラ予測モードを確定することと、本願のいずれか1つの実施形態に記載のイントラ予測融合方法に基づいて現在のブロックを予測して現在のブロックの予測値を得ることと、現在のブロックの予測値に基づいて現在のブロックの再構成値を確定することと、を含む。
【0008】
本願の一実施形態は、ビデオエンコーディング方法をさらに提供する。ビデオエンコーディング方法は、モード選択で現在のブロックに対して選択された参照ラインとイントラ予測モードを確定することと、本願のいずれか1つの実施形態に記載のイントラ予測融合方法に基づいて現在のブロックを予測して現在のブロックの予測値を得ることと、現在のブロックのオリジナル値と予測値に基づいて、現在のブロックの残差を確定することと、を含む。
【0009】
本願の一実施形態は、ビデオエンコーディング方法をさらに提供する。ビデオエンコーディング方法は、
デコーディングにより、現在のブロックに対してテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードが使用されると確定する場合、引き続き現在のブロックのTMRLモードインデックスとTMRL融合フラグをデコードすることと、
現在のブロックに対してTMRLモードの候補リストを構築し、候補リストとTMRLモードインデックスに基づいて、現在のブロックに対して選択された拡張参照ラインとイントラ予測モードを確定することと、
TMRL融合フラグがイントラ予測融合(IPF)が使用されることを示す場合、第1予測結果と第2予測結果の加重和を、現在のブロックの最終的な予測結果とすることと、を含み、
第1予測結果は、拡張参照ラインとイントラ予測モードとに基づいて現在のブロックを予測することによって得られ、第2予測結果は、他の参照ラインとイントラ予測モードに基づいて現在のブロックを予測することによって得られ、このイントラ予測モードは角度モードである。
【0010】
本願の一実施形態は、ビデオエンコーディング方法をさらに提供する。ビデオエンコーディング方法は、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストを構築することであって、候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入される、構築することと、
レート歪み最適化を通じて、現在のブロックのために、参照ラインとイントラ予測モードの1つの組み合わせを選択することと、
現在のブロックのTMRLモードのエンコーディング条件が満たされた場合、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用することを示し、現在のブロックのTMRLモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示すことと、
現在のブロックのTMRL融合フラグをエンコードして現在のブロックに対してイントラ予測融合(IPF)が使用されるか否かを示すことと、を含む。
エンコーディング条件は、少なくとも、選択された組み合わせが候補リストにあることを含む。
【0011】
本願の一実施形態は、マルチ参照ライン(MRL)イントラ予測モードの候補リストの構築方法をさらに提供する。MRLイントラ予測モードの候補リストの構築方法は、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインと角度モードのN×M個のオリジナルの組み合わせを取得することと、
N×M個のオリジナルの組み合わせのうちの、予め確定された角度モードを含むオリジナルの組み合わせに基づいて、対応する融合組み合わせを取得することと、
N×M個のオリジナルの組み合わせと取得された融合組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入することであって、K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされた、記入することと、を含む。
【0012】
本願の一実施形態は、マルチ参照ライン(MRL)イントラ予測モードの候補リストの構築方法をさらに提供する。MRLイントラ予測モードの候補リストの構築方法は、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個のオリジナルの組み合わせを取得することと、
N×M個のオリジナルの組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
誤差が最も小さいK個のオリジナルの組み合わせにおける、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、融合が必要であるか否かを確定し、融合が必要である場合、オリジナルの組み合わせに対応する融合組み合わせを現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに記入し、融合が必要ではない場合、オリジナルの組み合わせを候補リストに記入することであって、K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされた、記入することと、を含む。
【0013】
本願の一実施形態は、マルチ参照ライン(MRL)イントラ予測モードの候補リストの構築方法をさらに提供する。MRLイントラ予測モードの候補リストの構築方法は、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個のオリジナルの組み合わせを取得することと、
N×M個のオリジナルの組み合わせに対して融合処理を実行することであって、融合処理は、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、設定条件が満たされた場合、オリジナルの組み合わせを対応する融合組み合わせに置き換えることを含む、実行することと、
融合処理を実行したN×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入することと、を含む。
K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされ、
オリジナルの組み合わせに対応する融合組み合わせに基づいて、現在のブロックに対して予測を実行する場合、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とし、第1予測結果は、オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2予測結果は、オリジナルの組み合わせにおける角度モードと第2参照ラインに基づいて現在のブロックを予測することによって得られた予測結果であり、第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである。
【0014】
本願の一実施形態は、ビットストリームをさらに提供する。ビットストリームは、本願のいずれか1つの実施形態に記載のビデオエンコーディング方法によって生成される。
【0015】
本願の一実施形態は、イントラ予測融合装置をさらに提供する。イントラ予測融合装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを含む。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のイントラ予測融合方法を実現することができる。
【0016】
本願の一実施形態は、マルチ参照ラインイントラ予測モードの候補リストの構築装置をさらに提供する。マルチ参照ラインイントラ予測モードの候補リストの構築装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のマルチ参照ラインイントラ予測モードの候補リストの構築方法を実現することができる。
【0017】
本願の一実施形態は、ビデオデコーディング装置をさらに提供する。ビデオデコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができる。
【0018】
本願の一実施形態は、ビデオエンコーディング装置をさらに提供する。ビデオエンコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0019】
本願の一実施形態は、ビデオコーディングシステムをさらに提供する。ビデオコーディングシステムは、本願のいずれか1つの実施形態に記載のビデオエンコーディング装置と、本願のいずれか1つの実施形態に記載のビデオデコーディング装置を含む。
【0020】
本願の一実施形態は、非一時的なコンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、コンピュータプログラムは、プロセッサによって実行されると、本願のいずれか1つの実施形態に記載のイントラ予測融合方法を実現することができ、又は本願のいずれか1つの実施形態に記載のマルチ参照ラインイントラ予測モードの候補リストの構築方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0021】
図面及び詳細な説明を読み通して理解した後、他の方面を理解することができる。
【図面の簡単な説明】
【0022】
図面は、本願の実施形態を理解するために提供され、明細書の一部を構成し、本願の実施形態とともに本願の技術案を説明するために用いられ、本願の技術案の限定を構成するものではない。
図1A】本願の一実施形態に係るコーディングシステムを示す概略図である。
図1B】本願の一実施形態に係るエンコーディング側のフレームワークを示す図である。
図1C】本願の一実施形態に係るデコーディング側のフレームワークを示す図である。
図2】本願の一実施形態に係るイントラ予測モードを示す概略図である。
図3】本願の一実施形態に係る現在のブロックの隣接するイントラ予測ブロックを示す概略図である。
図4】本願の一実施形態に係る現在のブロックのテンプレート及びテンプレート参照領域を示す概略図である。
図5】本願の一実施形態に係る現在のブロックの周囲にある複数の参照ラインを示す概略図である。
図6】本願の一実施形態に係るビデオエンコーディング方法を示すフローチャートである。
図7】本願の一実施形態に係るTMRLモードの候補リストの構築方法を示すフローチャートである。
図8A】本願の一実施形態に係る現在のブロックの周囲にあるテンプレート領域及び拡張参照ラインを示す概略図である。
図8B】本願の別の実施形態に係る現在のブロックの周囲にあるテンプレート領域及び拡張参照ラインを示す概略図である。
図9】本願の一実施形態に係るビデオデコーディング方法を示すフローチャートである。
図10】本願の一実施形態に係るイントラ予測融合方法を示すフローチャートである。
図11】本願の別の実施形態に係るビデオエンコーディング方法を示すフローチャートである。
図12】本願の別の実施形態に係るビデオデコーディング方法を示すフローチャートである。
図13】本願の別の実施形態に係るビデオデコーディング方法を示すフローチャートである。
図14】本願の一実施形態に係るTMRLモードの候補リストの構築方法を示すフローチャートである。
図15】本願の別の実施形態に係るTMRLモードの候補リストの構築方法を示すフローチャートである。
図16】本願のさらに別の実施形態に係るTMRLモードの候補リストの構築方法を示すフローチャートである。
図17】本願の一実施形態に係るTMRLモードの候補リストの構築装置を示す概略図である。
図18】本願の別の実施形態に係るビデオエンコーディング方法を示すフローチャートである。
【発明を実施するための形態】
【0023】
本願では、複数の実施形態を説明するが、その説明は例示的なものであり、限定的なものではない。また、本願に記載される実施形態に含まれる範囲内で、より多くの実施例及び実施形態が得られることは、本分野の当業者にとって明らかである。
【0024】
本願の説明において、「例示的な」又は「例えば」などの用語は、「例として、例証、説明」を意味する。本願において、「例示的に」又は「例えば」で説明されるいかなる実施形態は他の実施形態より優れていると解釈されるべきではない。本明細書における用語「及び/又は」は関連対象の関連関係を説明するものであり、3種類の関係が存在することを示す。例えば、A及び/又はBの場合、Aのみが存在すること、AとBが同時に存在すること、Bのみが存在することという3つの状況を示す。「複数」は2つ以上のことをいう。また、本願の実施形態の技術案を明確に説明するために、「第1」、「第2」などの用語で、機能や役割がほぼ同じである同一又は類似のものを区別する。当業者は以下のことを理解できる。「第1」、「第2」などの用語は、数や実行順序を限定するものではなく、且つ「第1」、「第2」などの用語は、必ず異なること、を限定するものではない。
【0025】
代表的な例示的実施形態の説明において、本明細書では、方法及び/又はプロセスを、特定のステップのシーケンスとして提示している可能性がある。しかしながら、当該方法又はプロセスは本明細書に記載されるステップの特定のシーケンスに依存せず、当該方法又はプロセスは、記載される特定のシーケンスのステップに限定されるべきではない。当業者に理解されるように、他のステップの順序も可能である。従って、明細書に記載されるステップの特定の順序は、特許請求の範囲の限定として解釈されるべきではない。さらに、方法及び/又はプロセスに対応する請求項に対しては、記載される順序でステップを実行することに限定されるべきではない。当業者であれば、これらの順序が変化してもよく、変化しても依然として本願の実施形態の精神及び範囲内に属することを容易に理解できる。
【0026】
本願の実施形態に係る局所照明補償(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)によって作成された規格、及びこれらの規格の拡張、又はカスタマイズされた他の任意の規格などが挙げられる。
【0027】
図1Aは、本願の実施形態に使用され得るビデオコーディングシステムを示すブロック図である。図に示されるように、当該システムは、エンコーディング側装置1とデコーディング側装置2とに分けられる。エンコーディング側装置1は、ビットストリームを生成する。デコーディング側装置2は、ビットストリームをデコードすることができる。デコーディング側装置2は、リンク3を介してエンコーディング側装置1からビットストリームを受信することができる。リンク3は、ビットストリームをエンコーディング側装置1からデコーディング側装置2へ移動させることができる1つ又は複数の媒体又は装置を含む。一例では、リンク3は、エンコーディング側装置1がビットストリームをデコーディング側装置2に直接に送信することを可能にする1つ又は複数の通信媒体を含む。エンコーディング側装置1は、通信規格(例えば、無線通信プロトコル)に従ってビットストリームを変調し、変調されたビットストリームをデコーディング側装置2に送信することができる。上記1つ又は複数の通信媒体は、無線通信媒体及び/又は有線通信媒体を含むことができ、パケットネットワークの一部を形成することができる。別の例では、ビットストリームは、出力インターフェース15から記憶装置に出力されることもできる。デコーディング側装置2はストリーミング(streaming)又はダウンロードを介して、当該記憶装置から記憶されたデータを読み出すことができる。
【0028】
図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を含まなくてもよい。他の例では、デコーディング側は、デコードされたデータが適用可能な他の装置又は機器を含んでもよい。
【0029】
図1Aに示すビデオコーディングシステムに基づいて、様々なビデオコーディング方法を用いてビデオ圧縮と解凍を実現することができる。
【0030】
図1Bは、本願の実施形態に使用され得る例示的なビデオエンコーディング装置のブロック図である。図に示すように、当該ビデオエンコーディング装置1000は、予測ユニット1100と、分割ユニット1101と、残差生成ユニット1102(図において分割ユニット1101に次ぐ+付きの円で示す)と、変換処理ユニット1104と、量子化ユニット1106と、逆量子化ユニット1108と、逆変換処理ユニット1110と、再構成ユニット1112(図において逆変換処理ユニット1110に次ぐ+付きの円で示す)と、フィルタユニット1113と、デコードされた画像のバッファ1114と、エントロピーエンコーディングユニット1115とを含む。予測ユニット1100は、インター予測ユニット1121と、イントラ予測ユニット1126とを含む。デコードされた画像のバッファ1114は、デコード済みの画像のバッファ、デコーディング画像のバッファ、デコードされた画像のためのバッファなどと呼ばれてもよい。ビデオエンコーダー20はまた、この例と比べてより多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例えば、いくつかの場合では、変換処理ユニット1104、逆変換処理ユニット1110などを含まなくてもよい。
【0031】
分割ユニット1101は、予測ユニット1100と協働して、受信したビデオデータをスライス(Slice)、コーディングツリーユニット(Coding Tree Unit、CTU)、又は他の比較的大きなユニットに分割する。分割ユニット1101によって受信されるビデオデータは、Iフレーム、PフレームやBフレームなどのビデオフレームを含むビデオシーケンスであってもよい。
【0032】
予測ユニット1100は、CTUをコーディングユニット(Coding Unit、CU)に分割し、CUに対してイントラ予測コーディング又はインター予測コーディングを行うことができる。CUに対してイントラ予測とインター予測を行う場合、CUを1つ又は複数の予測ユニット(PU)に分割することができる。
【0033】
インター予測ユニット1121は、PUに対してインター予測を行って、PUの予測データを生成することができる。当該予測データは、PUの予測ブロック、PUの動き情報、及び様々なシンタックスエレメントを含む。インター予測ユニット1121は、動き推定(Motion Estimation、ME)ユニット及び動き補償(Motion Compensation、MC)ユニットを含むことができる。動き推定ユニットは、動きベクトルを生成するために動き推定に用いられることができ、動き補償ユニットは、動きベクトルに基づいて予測ブロックを取得し又は生成するために用いられることができる。
【0034】
イントラ予測ユニット1126は、PUに対してイントラ予測を行って、PUの予測データを生成することができる。当該PUの予測データは、PUの予測ブロック及び様々なシンタックスエレメントを含むことができる。
【0035】
残差生成ユニット1102は、CUのオリジナルブロックから、CUを分割することで得られたPUの予測ブロックを減算して、CUの残差ブロックを生成することができる。
【0036】
変換処理ユニット1104は、CUを1つ又は複数の変換ユニット(Transform Unit、TU)に分割することができる。予測ユニットの分割と変換ユニットの分割は異なってもよい。TUに関連する残差ブロックは、CUの残差ブロックを分割することによって得られるサブブロックである。TUに関連する残差ブロックに1つ又は複数の変換を適用することによって、TUに関連する係数ブロックが生成される。
【0037】
量子化ユニット1106は、選択された量子化パラメータ(Quantization Parameter、QP)に基づいて、係数ブロック内の係数を量子化することができる。係数ブロックへの量子化の度合いは、QPを調整することによって調整されることができる。
【0038】
逆量子化ユニット1108及び逆変換処理ユニット1110は、係数ブロックに逆量子化及び逆変換をそれぞれ適用して、TUに関連する再構成残差ブロックを得ることができる。
【0039】
再構成ユニット1112は、再構成残差ブロックと予測ユニット1100によって生成された予測ブロックとを加算することによって、再構成画像を生成することができる。
【0040】
フィルタユニット1113は、再構成画像に対してインループフィルタリングを行って、フィルタリングされた再構成画像を参照画像としてデコードされた画像のバッファ1114に記憶する。イントラ予測ユニット1126は、デコードされた画像のバッファ1114からPUに隣接するブロックの参照画像を抽出して、イントラ予測を行うことができる。インター予測ユニット1121は、デコードされた画像のバッファ1114にキャッシュされた1フレーム前の参照画像を利用して、現在画像のPUに対してインター予測を行うことができる。
【0041】
エントロピーエンコーディングユニット1115は、受信したデータ(例えば、シンタックスエレメント、量子化された係数ブロック、動き情報など)に対してエントロピーエンコーディング操作を行う。
【0042】
図1Cは、本願の実施形態に使用され得る例示的なビデオデコーディング装置のブロック図である。図に示すように、ビデオデコーディング装置101は、エントロピーデコーディングユニット150と、予測ユニット152と、逆量子化ユニット154と、逆変換処理ユニット156と、再構成ユニット158(図において逆変換処理ユニット155に次ぐ+付きの円で示す)と、フィルタユニット159と、デコードされた画像のバッファ160とを含む。他の実施形態では、ビデオデコーダー30は、より多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例えば、いくつかの場合では、逆変換処理ユニット155などを含まなくてもよい。
【0043】
エントロピーデコーディングユニット150は、受信したビットストリームに対してエントロピーデコーディングを行って、シンタックスエレメント、量子化された係数ブロック及びPUの動き情報などの情報を抽出することができる。予測ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、及びフィルタユニット159はいずれも、ビットストリームから抽出されたシンタックスエレメントに基づいて、対応する操作を実行することができる。
【0044】
逆量子化ユニット154は、量子化されたTUに関連する係数ブロックを逆量子化することができる。
【0045】
逆変換処理ユニット156は、TUの再構成残差ブロックを生成するために、逆量子化された係数ブロックに1つ又は複数の逆変換を適用することができる。
【0046】
予測ユニット152は、インター予測ユニット162と、イントラ予測ユニット164とを含む。イントラ予測コーディングがPUに用いられる場合、イントラ予測ユニット164は、ビットストリームからデコードされたシンタックスエレメントに基づいて、PUのイントラ予測モードを確定し、確定されたイントラ予測モードと、デコードされた画像のバッファ160から取得されたPUに隣接する再構成された参照情報とに基づいて、イントラ予測を実行して、PUの予測ブロックを生成することができる。インター予測コーディングがPUに用いられる場合、インター予測ユニット162は、PUの動き情報及び対応するシンタックスエレメントに基づいてPUの1つ又は複数の参照ブロックを確定し、デコードされた画像のバッファ160から取得された参照ブロックに基づいてPUの予測ブロックを生成することができる。
【0047】
再構成ユニット158は、TUに関連する再構成残差ブロックと、予測ユニット152によって生成されたPUの予測ブロックとに基づいて、再構成画像を得ることができる。
【0048】
フィルタユニット159は、再構成画像に対してインループフィルタリングを実行することができる。プフィルタリングされた再構成画像が、デコードされた画像のバッファ160に記憶される。デコードされた画像のバッファ160は、後続の動き補償、イントラ予測、インター予測などに用いられる参照画像を提供することができ、また、プフィルタリングされた再構成画像をデコードされたビデオデータとして出力し、表示装置で表示することもできる。
【0049】
上記ビデオエンコーディング装置及びビデオデコーディング装置に基づいて、以下の基本的なコーディングの流れが実行されることができる。エンコーディング側では、1つの画像をブロックに分割し、現在のブロックに対して、イントラ予測もしくはインター予測を行うことにより又は他のアルゴリズムで、現在のブロックの予測ブロックを生成し、現在のブロックのオリジナルブロックから予測ブロックを減算して残差ブロックを取得し、残差ブロックを変換・量子化して量子化係数を取得し、量子化係数をエントロピーコーディングしてビットストリームを生成する。デコーディング側では、現在のブロックに対してイントラ予測又はインター予測を行うことにより現在のブロックの予測ブロックを生成し、一方、ビットストリームをデコードして得られた量子化係数を逆量子化・逆変換して残差ブロックを取得し、予測ブロックと残差ブロックとを加算して再構成ブロックを取得する。再構成ブロックは再構成画像を形成する。画像又はブロックに基づいて再構成画像をインループフィルタリングしてデコードされた画像を取得する。エンコーディング側でも、デコードされた画像を取得するために、デコーディング側と類似の処理を行う。エンコーディング側で取得した、デコードされた画像は通常、再構成画像とも呼ばれる。デコードされた画像は後続の画像に対するインター予測のための参照画像とされることができる。エンコーディング側で確定されたブロック分割情報、予測、変換、量子化、エントロピーコーディング、インループフィルタリングなどのモード情報とパラメータ情報などは、必要に応じてビットストリームに書き込まれる。デコーディング側は、ビットストリームをデコードし又は既存情報を分析して、エンコーディング側と同じブロック分割情報、予測、変換、量子化、エントロピーコーディング、インループフィルタリングなどのモード情報とパラメータ情報を確定する。それによって、エンコーディング側で取得されたデコードされた画像とデコーディング側で取得されたデコードされた画像とが同じであることが確保される。
【0050】
上記はプロックに基づいた混合コーディングフレームワークの例であるが、本願の実施形態はそれに限定されない。技術の発展に伴って、当該フレームワーク内の1つ又は複数のモジュール、及び当該プロセス内の1つ又は複数のステップを置き換えたり最適化したりすることができる。
【0051】
本明細書では、現在のブロック(current block)は、現在の画像における現在のコーディングユニット(current CU)、現在の予測ユニット(current PU)などのようなブロックレベルのコーディングユニットであることができる。
【0052】
エンコーディング側では、イントラ予測において、通常、様々な角度モードと非角度モードを通じて現在のブロックを予測して予測ブロックを得る。予測ブロックとオリジナルブロックから算出されたレート歪み情報に基づいて、現在のブロックのために最適なイントラ予測モードを選択し、このイントラ予測モードをエンコードしてビットストリームを通じてデコーディング側に伝送する。デコーディング側では、デコードすることで現在のブロックのために選択されたイントラ予測モードを取得し、このイントラ予測モードに従って現在のブロックのイントラ予測を行う。本明細書では、現在のブロックのために選択された参照ラインとイントラ予測モードは、現在のブロックに対して選択された参照ラインとイントラ予測モードとも記載される。
【0053】
VVCとECMにおいて、複数種類の従来のイントラ予測モードは、現在のブロックの周辺にある再構成された情報を用いて現在のブロックを予測する。平面モード(すなわち、Planarモード、モードインデックスが0)、平均値モード(すなわち、DCモード、モードインデックスが1)、及び65個の角度予測モード(モードインデックスが2~66)を含む。図2は、モードインデックスが2~66の角度モードの角度方向を示す。本文では、角度予測モードを角度モードとも略称する。
【0054】
VVCには長方形の予測ブロックが導入されているため、長方形のブロックについては、インデックスが2~66の角度モードのうち、いくつかの角度モードの角度方向が、より広い角度方向に置き換えられることができる。図示するように、インデックスが-14~-1、67~80の角度モードは、広角度置換によって得られる角度モードである。これらの角度モードの選択は、フラグで表わす必要はなく、現在のブロックの形状と現在のブロックのために選択された予測モードのインデックス(2~66)との対応関係によって得られる。
【0055】
VVC規格において、広角度の置き換え方は、以下の通りである。
【0056】
変数whRatioは、Abs( Log2( blockWidth ) - Log2( blockHeight ) )である。
非正方形の予測ブロックについて、角度予測モードpredModeIntra (2~66)に対して、以下の条件が満たされるか否かに基づいて広角度置換をする。predModeIntraはインデックスで示される。
次の3つの条件がいずれも満たされた場合、predModeIntraは( predModeIntra + 65 )に等しい。
現在のブロックの幅は高さより大きい。
角度モードインデックスは2以上である。
角度モードインデックスは、( whRatio > 1 ) ? ( 8 + 2 * whRatio ) : 8未満である。
そうでなければ、次の3つの条件がいずれも満たされた場合、predModeIntraは(( predModeIntra - 67 )に等しい。
現在のブロックの高さは幅よりも大きい。
角度モードインデックスは66以下である。
角度モードインデックスは、( whRatio > 1 ) ? ( 60 - 2 * whRatio ) : 60より大きい。
広角度モードのマッチングが完了すると、角度予測モードpredModeIntra (-14~80)毎に1つの角度値intraPredAngleが存在する。
【0057】
【表1】
【0058】
角度モードの角度値は、後続の角度予測に用いられる。
【0059】
【0060】
本明細書でいうイントラ予測モードとは、他の限定が無い場合には、P1anarモード、DCモード及び角度モードを含む従来のイントラ予測モードのことをいう。
【0061】
現在のブロックのイントラ予測モードを直接にエンコードすると、67種類のモードをエンコードするために7bitが必要となり、データ量が大きい。統計的特性から、現在のブロックに近いほど、このサンプル領域に対して選択されるイントラ予測モードと現在のブロックに対して選択されるイントラ予測モードが同じである傾向が高くなる。この特性に基づいて、HEVC、VVC、及び強化された圧縮モデル(Enhanced Compression Model、ECM)では、最確モード(Most probable Mode、MPM)技術が採用されている。ECMは、VTM-10.0参照ソフトウェアに基づいて、さまざまな新しいツールを統合して、コーディング性能をさらに引き出すことができる参照ソフトウェアである。
【0062】
MPMに対して、まずMPMリストを作成し、MPMリストには、現在のブロックのために選択される可能性が最も高い6種類のイントラ予測モードが記入される。現在のブロックのために選択されたイントラ予測モードがMPMリストにある場合、そのインデックス(3bitのみが必要)のみをエンコードする必要がある。現在のブロックのために選択されたイントラ予測モードがMPMリストになく、61個の非MPM(non-MPM)モード内にある場合、エントロピーエンコーディング段階でトランケートされたバイナリコード(Truncated Binary Code、TBC)を用いてこのイントラ予測モードをエンコードする。
【0063】
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に記入される。
【0064】
第1ステップにおいて、現在のブロックの周囲にある近隣の5つの位置での予測ブロックに対して使用されるイントラ予測モードを順番に充填する。図3に示すように、5つの位置は、現在のブロックの左上(AL)、上(A)、右上(AR)、左(L)、及び左下(BL)の位置を順番に含む。
【0065】
第2ステップにおいて、現在のブロックの周囲にある再構成されたサンプルに基づいて勾配ヒストグラムを用いて導出されたモードを充填する。
【0066】
第3ステップにおいて、第1ステップで選択された角度モードの角度に近い角度モードを充填する。
【0067】
Secondary MPMリストは、MPMにおけるイントラ予測モードのほかのいくつかの主な角度モードで構成することができる。
【0068】
MPMフラグ(mpm_flag)は、MRLモードの後にエンコードとデコードされるため、ECMにおけるMPMのエンコーディングとデコーディングは、MRLフラグに依存する。現在のブロックに対してMRLモードを使用しない場合、MPMフラグをデコードして現在のブロックに対してMPMを使用するか否かを判断する必要がある。現在のブロックに対してMRLモードを使用する場合、MPMフラグをデコードする必要はなく、現在のブロックに対してMPMを使用するのはデフォルトである。
【0069】
テンプレートベースのイントラモード導出(Template based intra mode derivation、TIMD)及びデコーダー側イントラモード導出(Decoder-side intra mode derivation、DIMD)は、VVC規格にはないが、ECM参照ソフトウェアに採用された2つのイントラ予測技術である。この2つの技術により、デコーダー側で現在のブロックの周囲の再構成されたサンプル値に基づいて、現在のブロックのイントラ予測モードを導出することができ、その結果、イントラ予測モードのインデックスのエンコーディングを省略してbitを省く役割を果たす。
【0070】
TIMDは、輝度フレームに対するイントラ予測モードである。TIMDモードは、MPMリスト内の候補のイントラ予測モードとテンプレート(Template)領域(略してテンプレートという)に基づいて生成される。ECMでは、図4に示すように、現在のブロック(例えば、現在のCU)11の左側隣接領域と上方隣接領域が現在のブロックのテンプレート領域12を構成する。その中の左側隣接領域を左側テンプレート領域(略して左テンプレートという)と呼び、上方隣接領域を上方テンプレート領域又は上側テンプレート領域(略して上テンプレートという)と呼ぶ。
【0071】
図示のように、テンプレート領域12の外側(左側と上側を意味する)にテンプレート参照(Reference of the Template)領域13が設けられており、各領域の例示的なサイズと位置が示されている。一例として、左テンプレートの幅L1と上テンプレートの高さL2はいずれも4である。テンプレート参照領域13は、テンプレート領域の上方の隣接する一行であってもよく、又は左側の隣接する一列であってもよい。
【0072】
TIMDでは、現在のブロックと現在のブロックのテンプレート領域の分布特性が同じであると仮定し、テンプレート参照領域の再構成値を参照ラインの再構成値とし、MPMとSecondary MPMにおける全てのイントラ予測モードをトラバースしてテンプレート領域を予測し、予測結果を得る。そして、テンプレート領域の再構成値と各モードの予測結果との誤差を算出し、差分変換絶対値和(Sum of absolute transformed differences、SATD)で表し、SATDが最小となるイントラ予測モード、すなわち最適なイントラ予測モードを選択し、このイントラ予測モードを現在のブロックのTIMDモードとする。デコーディング側では、同様の導出方式によりTIMDモードを導出することができる。シーケンスに対してTIMDを使用できれば、各現在のブロックは、TIMDを使用するか否かを示すフラグを必要とする。現在のブロックのために選択されたイントラ予測モードがTIMDモードである場合、現在のブロックに対してTIMDモードを使用して予測し、ISP、MPMなどのイントラ予測に関連する残りのシンタックスエレメントのデコーディングはスキップすることができ、これによりモードのコーディングビットを大幅に削減することができる。
【0073】
【0074】
重み付けの方法と重みは以下の式で示される。
【数1】
【数2】
【0075】
【0076】
DIMDでは、現在のブロックの周囲の再構成されたサンプル値をテンプレートとして、ソーベル(sobel)演算子によってテンプレート上の各3×3領域を走査して水平方向と垂直方向の勾配を計算し、水平方向と垂直方向の勾配DxとDyを求め、DxとDyに基づいて各位置の振幅値Amp = abs(Dx)+abs(Dy)および角度値angular = arctan(Dy/Dx)を求める。テンプレート上の各位置の角度値は従来の角度モードに対応し、同じ角度モードの振幅値を累算して振幅値と角度モードのヒストグラムを取得する。振幅値が最も高い角度モードと次に高い角度モードという2種の角度モードが存在する場合、振幅値が最も高い角度モード及び振幅値が次に高い角度モード並びにplanarモードの予測値に重み付けを行うことで、現在のブロックに対してDIMDを使用している場合の最終的な予測結果を得ることができる。このときの予測モードでは、planarモードと振幅値が最も高い角度モードと振幅値が次に高い角度モードという3つのイントラ予測モードが融合されている。本明細書ではDIMD融合モードと呼ぶ。振幅の最も高い角度モードと次に高い角度モードが存在しない場合、DIMDを用いた予測はplanarモード予測と同等である。
【0077】
HEVCでは、イントラ予測は、現在のブロックの最も近い上方の一行と左側の一列を参照として予測を行い、この一行と一列の再構成値とオリジナルサンプル値との誤差が大きい場合、現在のブロックの予測品質も大きな影響を受ける。この問題を解決するために、VVCはマルチ参照ライン(Multiple reference line、MRL)イントラ予測技術を採用し、インデックスが0の参照ライン(Reference line0)を使用するだけでなく、イントラ予測のために、インデックスが1の参照ライン(Reference line1)及びインデックスが2の参照ライン(Reference line2)を拡張された参照ラインとして使用することもできる。コーディングの複雑さを軽減するため、MPMにおける非planarモードのみに対してMRLが使用される。エンコーディング側では、各角度モードを用いて予測する際、この3つの参照ラインを全て試し、レート歪み最適化により、現在のブロックのためにレート歪みコスト(RD Cost)が最も小さい1つの参照ラインを選択し、選択された参照ラインのインデックスをエンコードしてデコーディング側に送る。デコーディング側はデコードして参照ラインのインデックスを取得し、参照ラインのインデックスに従って現在のブロックのために選択された参照ラインを確定し、それを現在のブロックの予測に使用する。
【0078】
図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に示す方式に従って番号付けされる。
【0079】
本明細書では、参照ラインを「ライン」と呼び、実際的に、1つの参照ラインには一行と一列が含まれ、一般に、予測するときに使用される参照ラインの再構成値には一行と一列の再構成値も含まれ、これは業界の通常の記述方法と同じである。
【0080】
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 }という式で表すことができる。このMRLインデックスリストにおいて、1番目の位置に記入されたインデックスは0であり、現在のブロックに最も近い参照ラインのインデックスであり、2番目から6番目の位置までに記入されたインデックスは、それぞれ1、3、5、7、12であり、現在のブロックとの距離が近いものから遠いものの順に並べられた5つの拡張参照ラインのインデックスである。
【0081】
現在のブロックのために選択された参照ラインがMRLインデックスリストにある場合、マルチ参照ラインインデックス(multiRefIdx)により、現在のブロックのために選択された参照ラインのMRLインデックスリストにおける位置を示し、MRLインデックスをエンコードすることで選択された参照ラインを表すことができる。MRLインデックスリストが{ 0, 1, 3, 5, 7, 12 }であることを例にすると、1番目の位置から6番目の位置に対応するMRLインデックスはそれぞれ0から5である。現在のブロックのために選択された参照ラインがインデックス0を有する参照ラインであると仮定すると、MRLインデックスが0である。現在のブロックのために選択された参照ラインがインデックス7を有する参照ラインであると仮定すると、MRLインデックスが4であり、他の状況は同様である。MRLインデックスに対して、コンテキストモデルベースのトランケートされた単項コードを使用してエンコードすることができ、エンコードした後、コンテキストモデルベースの複数のビン(bin)を取得する。ビンは、二進法フラグ、二進法シンボル、二進法ビットなどとも呼ばれる。MRLインデックスの値が小さいほど、コード長が小さく、デコーディングが速い。
【0082】
【0083】
なお、同じ技術は異なる規格において異なる名称があるかもしれない。例えば、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等の用語の使用は、他の規格におけるこれら実質的に同一の技術を同様にカバーするものとする。
【0084】
一実施形態は、テンプレートベースのマルチ参照ラインイントラ予測(Multiple reference line & intra_ intra prediction)モードを提供し、これはTMRLモードと略記され、TMRLモードとは、拡張参照ラインとイントラ予測モードとの組み合わせに基づいて候補リストを構築して、拡張参照ラインとイントラ予測モードとの組み合わせをエンコード及びデコードする予測モードである。
【0085】
本実施形態のビデオエンコーディング方法は、エンコーダーに応用され、図6に示されるように、ステップ110~ステップ130を含む。
ステップ110:現在のブロックのTMRLモードの候補リストを構築することであって、候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入される。
ステップ120:レート歪み最適化を通じて、現在のブロックのために、イントラ予測に用いられる、参照ラインとイントラ予測モードの1つの組み合わせを選択する。
本明細書では、参照ラインには、インデックスが0の参照ラインと拡張参照ラインが含まれる。現在のブロックのために選択される参照ラインとイントラ予測モードの組み合わせは、インデックスが0の参照ラインと1つのイントラ予測モードの組み合わせ、又は1つの拡張参照ラインと1つのイントラ予測モードの組み合わせである可能性がある。
ステップ130:現在のブロックのTMRLモードのエンコーディング条件が満たされた場合、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用することを示し、現在のブロックのTMRLモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示す。
ここで、エンコーディング条件は、少なくとも、選択された組み合わせが候補リストにあることを含む。
【0086】
本明細書では、現在のブロックの拡張参照ラインとイントラ予測モードの候補組み合わせが記入された候補リストをTMRLモードの候補リストと呼ぶこともできる。
【0087】
本明細書では、候補リストに記入されるのは、現在のブロックの拡張参照ラインとイントラ予測モードの候補組み合わせである。これは、候補リスト内の組み合わせが、現在のブロックのレート歪み最適化に参加する必要があり、すなわち、レート歪みコストを通じて現在のブロックの予測モードを選択するモード選択プロセスに参加する必要があることを意味する。これにより、候補リスト内の全ての組み合わせが選択される可能性がある。
【0088】
本明細書では、個数を示すパラメータN、M、Kはいずれも正の整数であり、別途記述する必要はない。
【0089】
本実施形態によって構築されるTMRLモードの候補リストに記入されるのは、現在のブロックの拡張参照ラインとイントラ予測モードの候補組み合わせであり、もはや単一の候補拡張参照ラインのリスト又は候補イントラ予測モードのリストでもない。現在のブロックのために選択された参照ライン及びイントラ予測モードの組み合わせがその候補リストにあり(このとき、現在のブロックのために拡張参照ラインが選択される)、即ち選択された組み合わせがこの候補リストにある1つの組み合わせであるなどのエンコーディング条件が満たされたとき、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用することを示し、現在のブロックのTMRLモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示す。デコーディング側は、TMRLモードフラグ及びTMRLモードインデックスに基づいて、現在のブロックのために選択された拡張参照ライン及びイントラ予測モードを確定することができる。本実施形態の組み合わせのエンコーディング及びデコーディング方法により、コーディングコストを低減し、コーディング性能を向上させることができる。
【0090】
TMRLモードでは、現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて得られたN×M個の組み合わせの各々に従って、現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。誤差の昇順で、対応するK個の組み合わせを現在のブロックのTMRLモードの候補リストに記入し、1≦K≦N×Mが満たされる。
【0091】
一例では、ECMにおける拡張参照ラインとイントラ予測モードとの25種類の組み合わせの各々に基づいてテンプレート領域を予測し、誤差の昇順で25個の組み合わせをソートし、誤差が最小であり、すなわち、選択される可能性が最も高い12個の組み合わせをTMRLモードの候補リストに記入し、これにより、TMRLモードインデックスをエンコードするためのコーディングビット数を減少することができる。拡張参照ライン{1,3,5,7,12}の一部(例えば、インデックスが7と12である拡張参照ライン)がCTU境界の外側にある場合でも、15種類の組み合わせの順序に基づいて、選択される可能性の最も高い12個の組み合わせを候補リストに記入することもでき、TMRLモードインデックスのコーディングビットは依然として完全かつ有効に利用されることができる。誤差の昇順でソートすることにより、予測のために選択される可能性がより高い参照ラインと予測モードが候補リストに残され、選択される可能性がより高い組み合わせはリストにおける前の位置に配列されるため、コーディングのコストが低くなる。TMRLモードの候補リストの作成については、以下に詳述する。
【0092】
本実施形態の一例において、エンコーディング条件は、さらに、現在のブロックに対してTIMDを使用しないことを含む。ビデオエンコーディング方法は、現在のブロックに対してTIMDを使用する場合、現在のブロックのTMRLモードフラグとTMRLモードインデックスのエンコーディングをスキップすることと、現在のブロックに対してTIMDを使用しないが、選択された組み合わせが候補リストにない場合、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用しないことを示し、現在のブロックのTMRLモードインデックスのエンコーディングをスキップすることと、をさらに、含む。
【0093】
この実施形態は、TMRLモードの前にTIMDモードに基づいてエンコード及びデコードする場合である。現在のブロックに対してTIMDモードを使用する場合、TMRLモードを使用する必要はないので、TMRLモードフラグとTMRLモードインデックスのエンコーディングはスキップされる。現在のブロックに対してTIMDモードを使用しない場合、現在のブロックのために選択された組み合わせがTMRLモードの候補リストにある状況と、選択された組み合わせがTMRLモードの候補リストにない状況という2つのケースがある。選択された組み合わせが候補リストにない場合、TMRLモードフラグをエンコードすることで、現在のブロックに対してTMRLモードを使用しないことを示す必要があり、また、TMRLモードインデックスのエンコーディングをスキップする。選択された組み合わせが候補リストにある場合、TMRLモードフラグとTMRLモードインデックスの両方をエンコードする必要がある。
【0094】
現在のブロックに対してTIMDを使用しない場合、本実施形態によって提供されるTMRLモードフラグ及びTMRLモードインデックスは、元のマルチ参照ラインインデックスmultiRefIdxを代替することができる。現在のブロックに対してTIMDを使用する場合、依然として、選択された参照ラインを示すためにマルチ参照ラインインデックスを使用することができ、そのマルチ参照ラインインデックスをエンコードすることができる。
【0095】
本実施形態の一例において、現在のブロックのTMRLモードの候補リストを構築することは、現在のブロックに対してTMRLモードを使用できる設定された条件が全て成立した場合にのみ、候補リストを構築することを含む。TMRLモードを使用できる条件は、以下のいずれか1つ以上を含む。
条件1:現在のブロックが輝度フレームにおけるブロックであり、すなわち、TMRLモードは輝度フレーム(すなわち輝度画像)のみに使用される。
条件2:現在のブロックがコーディングツリーユニット(CTU)の上部境界に位置しない。CTUの上部境界に位置する場合、現在のブロックの上方には使用できる参照ラインがないため、本実施形態では、CTUの上部境界に位置しないことをTMRLモードを使用できる条件とする。
条件3:現在のブロックに対してMRLを使用でき、すなわち、MRLモードを使用できる場合にのみ、TMRLモードを使用できる。
条件4:現在のブロックのサイズが、TMRLモードが使用できる現在のブロックの最大サイズより大きくない。この最大サイズはプリセットされたものであってもよい。一般に、より大きなブロックはより平坦であり、角度ディテールが比較的に少ない。このような大きなブロックに対して、TMRLモードの使用を制限することができる。
条件5:現在のブロックのアスペクト比が、現在のブロックのアスペクト比に対するTMRLモードを使用する要求を満たす。例えば、現在のブロックのアスペクト比がプリセット値より大きくない場合にのみ、TMRLモードの使用が許可される。
【0096】
本実施形態の一例では、TMRLモードインデックスに対してゴロム・ライス(Golomb-Rice)コーディング法を用いてエンコードする。ゴロム・ライスコーディングを使用することにより、エンコーディング及びデコーディングのために、候補組み合わせを、異なる符号語長を有するカテゴリに、より合理的にグループ化することができ、コーディング効率を向上させる。
【0097】
本実施形態の一例において、現在のブロックのTMRLモードのエンコーディング条件が満たされた場合、ビデオエンコーディング方法は、MPMモード、イントラサブパーティション分割(ISP)モード、マルチ変換選択(MTS)モード、低周波数非分離型変換(LFNST)モード、及びTIMDモードのうちのいずれか1つ以上のモードのシンタックスエレメントのエンコーディングをスキップすることを、さらに含む。
【0098】
例えば、TIMDモードの前にTMRLモードに基づいてエンコード及びデコードする場合、TMRLモードのエンコーディング条件には、現在のブロックに対してTIMDを使用しないことが含まれなくなる。現在のブロックに対してTMRLモードを使用する場合、現在のブロックに対してTIMDを使用できなくなり、TIMDモードのシンタックスエレメントのエンコーディングをスキップすることができる。
【0099】
例えば、現在のブロックに対してTMRLモードを使用する場合、TMRLモードフラグとTMRLモードインデックスは、現在のブロックのために選択された参照ラインとイントラ予測モードを同時に示すことができ、MPM関連のシンタックスエレメントをエンコード及びデコードする必要はない。
【0100】
例えば、特定の変換モードにおいて、TMRLモードと、マルチ変換選択(Multiple Transform Selection、MTS)モード及び/又は低周波数非分離型変換(Low Frequency Non―separable Transform、LFNST)モードとが同時に使用されないように制限することができる。
【0101】
一実施形態はTMRLモードの候補リストの構築方法を提供する。この方法はエンコーダーに応用されてもよく、デコーダーに応用されてもよい。図7に示すように、この方法は次の内容を含む。
ステップ210:現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個の組み合わせを取得し、N≧1、M≧1、N×M≧2が満たされる。
ステップ220:N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。
本ステップにおける誤差は、差分絶対値和(Sum of Absolute Difference、SAD)、又は差分変換絶対値和(Sum of Absolute Transformed Difference、SATD)などで表すことができるが、これらに限らず、差分二乗和(Sum of Squared Difference、SSD)、平均絶対差(Mean Absolute Difference、MAD)、平均二乗誤差(Mean Squared Error、MSE)などで表すこともできる。
ステップ230:現在のブロックのTMRLモードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入し、1≦K≦N×Mが満たされる。
【0102】
本実施形態で作成された候補リストにより、拡張参照ラインとイントラ予測モードの組み合わせのエンコーディングを実現し、エンコーディング効率を向上させることができる。また、異なる組み合わせを用いるテンプレート領域への予測と誤差の順序付けにより、現在のブロックと現在のブロックのテンプレート領域との分布特性の類似性に基づいて、N×M個の組み合わせから、選択される確率の比較的高いK個の組み合わせを選択することができ、且つ選択される確率の高い組み合わせを候補リスト内の前の位置に配列することで、エンコードする際に選択された組み合わせのTMRLモードインデックスが小さくなり、実際のエンコーディングコストを低減することができる。
【0103】
本実施形態の一例では、現在のブロックのテンプレート領域は、現在のブロックに最も近い1つの参照ラインに設定され、又は、現在のブロックのテンプレート領域は、現在のブロックに最も近い複数の参照ラインに設定され、組み合わせに参加するN個の拡張参照ラインは、テンプレート領域の外側に位置する拡張参照ラインである。図8Aでは、現在のブロックのテンプレート領域は、インデックスが0の参照ライン30に設定されている。TMRLモードの候補リストを構築する際、インデックスが{1,3,5,7,12}の事前定義の拡張参照ラインから、使用できるN個の拡張参照ラインを選択する。現在のブロックの上方とCTU境界との間に13個以上の参照ラインがある場合、組み合わせを作るために、インデックスが{1,3,5,7,12}の5個の拡張参照ラインを選択する。現在のブロックの上方とCTU境界の間に6つ又は7つの参照ラインがある場合、組み合わせを作るために、インデックスが{1,3,5}の3つの拡張参照ラインを選択する。
【0104】
この例では、現在のブロックのテンプレート領域がインデックスが0の参照ラインに設定されている場合、インデックスが0の参照ラインはテンプレート領域が位置する参照ラインと呼ばれ、インデックスが1から3の参照ラインはテンプレート領域の外側に位置する参照ラインと呼ばれる。現在のブロックのテンプレート領域がインデックスが0と1の参照ラインに設定されている場合、テンプレート領域が位置する参照ラインは拡張参照ラインを含み、インデックスが0と1の参照ラインはテンプレート領域が位置する参照ラインであり、インデックスが2と3の参照ラインはテンプレート領域の外側(上方と左側)に位置する参照ラインである。
【0105】
図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つの参照ラインに現在のブロックのテンプレート領域を設定するなどの例がある。テンプレート領域が比較的広いとき、予測は比較的精確である。
【0106】
本実施形態の一例では、現在のブロックのN個の拡張参照ラインは、事前定義のNmax個の拡張参照ラインのうち、現在のブロックのテンプレート領域の外側に位置し、且つコーディングツリーユニット(CTU)の境界を超えない拡張参照ラインである。NmaxはTMRLモードで使用できる拡張参照ラインの最大個数である。本実施形態では、組み合わせに使用されるN個の拡張参照ラインを、現在のブロックのテンプレート領域の外側且つCTU境界を超えない領域に制限する。しかし、ハードウェアがサポートできれば、組み合わせに参加するために、CTU境界を超える拡張参照ラインを選ぶこともできる。
【0107】
本実施形態の一例では、Nmax=5であり、事前定義の5つの拡張参照ラインは、{1,3,5,7,12}又は{2,3,5,7,12}のインデックスが付けられた参照ラインである。別の一例では、事前定義のNmax個の拡張参照ラインは、インデックスが1から始まり、現在のブロックに最も近いNmax個の拡張参照ラインであり、又は、インデックスが1から始まり且つインデックスが奇数であり、現在のブロックに最も近いNmax個の拡張参照ラインであり、又は、インデックスが2から始まり且つインデックスが偶数であり、現在のブロックに最も近いNmax個の拡張参照ラインである。奇数又は偶数の参照ラインを選択すると、演算が簡単になる。
【0108】
本実施形態の一例では、M個のイントラ予測モードは、角度モードのみから選択でき、又は角度モード及びDCモードのみから選択でき、又は角度モード、DCモード及びplanarモードから選択できる。
【0109】
一例では、M個のイントラ予測モードは、以下の方法によって選択される。M≧5が満たされる。
第1ステップ:現在のブロックの周囲にある5個の近隣位置での予測ブロックのために使用されるイントラ予測モードを確定し、そのうちの選択できるイントラ予測モードを順番に選択し、重複するモードを削除する。
5個の近隣位置は、図3に示すように、それぞれ左上、上、右上、左、左下である。
第1ステップで選択されたイントラ予測モードの数がMになると、終了し、第1ステップで選択されたイントラ予測モードは数がM未満であり、且つ角度モードを含む場合、第2ステップを実行する。
第2ステップ:選択されたイントラ予測モードの総数がMになるまで、選択された1番目の角度モードから順番に角度モードの拡張操作を行って拡張後の角度モードを取得し、選択された全ての角度モードと異なる拡張後の角度モードを選択する。
【0110】
本実施形態では、第1ステップにおいて角度モードが選択されなかった場合、又は第2ステップにより選択されたイントラ予測モードの総数が依然としてM未満である場合、第3ステップを実行し、第3ステップにおいて、事前定義のイントラ予測モード集合のうちの選択できるイントラ予測モードを確定し、選択されたイントラ予測モードの総数がMになるまで、確定された選択できるイントラ予測モードから、選択されたイントラ予測モードのいずれとも異なるイントラ予測モードを順番に選択すること、をさらに含む。
【0111】
一例では、M個のイントラ予測モードを選択する過程において、角度モードのみを選択できる。別の例では、M個のイントラ予測モードを選択する過程において、角度モードとDCモードのみを選択できる。さらに別の例では、M個のイントラ予測モードを選択する過程において、角度モード、DCモード、及びPlanarモードを選択できる。Planarモードは、拡張参照ラインとの結合効果が限定的であるので、組み合わせから除外されてもよい。DCモードの場合も類似する。ただし、演算複雑度の増加をサポートできれば、PlanarモードとDCモードも候補リストに加えられて組み合わせに参加することができる。
【0112】
一例では、角度モードの拡張操作は、角度モードに対して1を加算する操作及び1を減算する操作と、角度モードに対して2を加算する操作及び2を減算する操作と、角度モードに対して3を加算する操作及び3を減算する操作、という操作のうちのいずれか1つ以上を含む。
【0113】
本実施形態の一例において、M個のイントラ予測モードとして、最確モード(MPM)のうち、Planarモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMと第2MPMのうち、Planarモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMのうち、Planarモード及びDCモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMと第2MPMのうち、Planarモード及びDCモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMのうち、Planarモード、DCモード、及びDIMDモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMと第2MPMのうち、Planarモード、DCモード、及びDIMDモード以外のイントラ予測モードの一部又は全部を使用する。
【0114】
本例では、MPMのうち、Planarモード以外の全てのイントラ予測モードを事前定義のイントラ予測モードとして使用し、又は、MPM及び第2MPMのうち、Planarモード以外の全てのイントラ予測モードを事前定義のイントラ予測モードとして使用する。現在のブロックの参照ラインが事前定義の全ての拡張参照ラインを含む場合、事前定義の全てのイントラ予測モードを使用する。現在のブロックの参照ラインが事前定義の一部の拡張参照ラインを含む場合、事前定義の一部のイントラ予測モードを使用する。
【0115】
本実施形態の一例では、M個のイントラ予測モードは、以下の方式によって選択される。M’個のイントラ予測モードを選択する。現在のブロックのテンプレートの外側に位置する参照ラインと、M’個のイントラ予測モードとに基づいて、それぞれ現在のブロックのテンプレートを予測し、また、テンプレートの再構成値と予測によって得られた予測値との間の誤差を算出してM’個の誤差を算出する。組み合わせに参加するM個のイントラ予測モードとして、M’個のイントラ予測モードから、最小誤差に対応するM個のイントラ予測モードを選択し、M<M’が満たされる。
【0116】
本例における現在のブロックのテンプレートは、M’個のイントラ予測モードからM個のイントラ予測モードを選択するために使用され、前述の現在のブロックのテンプレート領域は、N×M個の組み合わせからK個の組み合わせを選択するために使用され、両方は異なっていてもよいが、同じ領域を占めていてもよい。
【0117】
本例においてM’個のイントラ予測モードを選択する際、上記実施形態における、M個のイントラ予測モードを選択する様々な方法を用いることができ、例えば、MPM及び第2MPMのリストから直接選択する方法、又は、前述の実施形態の方法における第1ステップを通じて選択する方法、又は、第1ステップ及び第2ステップを通じて選択する方法、又は、第1ステップ、第2ステップ及び第3ステップを通じて選択するなどの方法を用いることができる。
【0118】
本実施形態の一例では、N≦Nmax、2≦Nmax≦12、2≦M≦18、K≦Kmax、6≦Kmax≦36、NmaxはTMRLモードで使用できる拡張参照ラインの最大個数であり、KmaxはTMRLモードで使用できる候補組み合わせの最大個数である。ここで、N、M、及びKという関連パラメータの値の範囲が示されているが、これは単に例示的なものである。
【0119】
本実施形態の一例では、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などを含むことができる。本例では、異なるサイズの現在のブロックに対して、異なるN、M、Kを使用する。現在のブロックのサイズが比較的小さい場合、より小さい値を使用してTMRLモードの候補リストを構築する。現在のブロックのサイズが比較的大きい場合、より大きな値を使用してTMRLモードの候補リストを構築する。これにより、演算の複雑さと性能のより良いバランスを達成することができる。
【0120】
本実施形態の一例において、N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測することは、現在のブロックが画像(picture)の左境界に位置する場合、N×M個の組み合わせの各々に基づいて現在のブロックの上方テンプレート領域を予測し、現在のブロックの左側テンプレート領域を予測しないことを含む。本実施形態によれば、性能に影響を与えることなく、演算を簡略化し、演算に要する時間を短縮することができる。
【0121】
本実施形態の一例において、N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測することは、N×M個の組み合わせの各々に基づいて、次の方式で予測することを含む。組み合わせにおける拡張参照ラインの再構成値と、この組み合わせにおけるイントラ予測モードとに基づいて、テンプレート領域の初期予測値を算出し、拡張参照ラインの再構成値は、拡張参照ラインのオリジナル再構成値又はフィルタリングされた後の再構成値である。テンプレート領域の初期予測値に対して4タップフィルタリング又は6タップフィルタリングを行い、フィルタリング結果を、この組み合わせに基づいて予測して得られたテンプレート領域の予測値とする。
【0122】
本実施形態では、現在のブロックのテンプレート領域を予測する際に、拡張参照ラインの再構成値をフィルタリングせず、オリジナル再構成値を演算に用いることができ、また、演算の複雑さを軽減して演算を高速化するために、タップの比較的短いフィルタ(例えば、4タップフィルタ)を用いることができる。
【0123】
本実施形態の一例において、N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することは、次の内容を含む。K個の組み合わせの各々に基づいて現在のブロックのテンプレート領域全体を予測して、対応するK個の誤差からなる誤差集合を取得し、誤差集合における最大誤差をDmaxとして記録する。残りの組み合わせの各々について、まず、この組み合わせに基づいて現在のブロックの一方側のテンプレート領域を予測し、現在のブロックのこの一方側のテンプレート領域の再構成値と予測値との間の誤差Dを算出し、D≧Dmaxであれば、この組み合わせに基づく予測を完了し、D<Dmaxであれば、また、この組み合わせに基づいて現在のブロックのもう一側のテンプレート領域を予測し、現在のブロックのテンプレート領域全体の再構成値と予測値との間の誤差Dを算出し、D<Dmaxであれば、誤差集合にDを加え、誤差集合からDmaxを削除し、誤差集合内の最大誤差Dmaxを更新し、D≧Dmaxであれば、この組み合わせに基づく予測を完了する。N×M個の組み合わせに基づく予測を完了した後、誤差集合におけるK個の誤差に対応するK個の組み合わせを、最小誤差に対応するK個の組み合わせとする。
【0124】
一例では、誤差集合内の誤差を昇順で配列することができ、誤差集合にDを加える際に、誤差集合内の誤差が依然として昇順で配列されることができる位置にDを挿入する。しかし、他の例では、N×M個の組み合わせに基づく予測を完了した後、誤差集合中のK個の誤差を順序付けることもできる。
【0125】
本例では、全ての組み合わせに基づいてテンプレート領域全体の予測と誤差計算を行うことなく、組み合わせの順序付けを完成することができ、演算の複雑さの低減と高速化を図ることができる。
【0126】
本実施形態の一例において、現在のブロックのTMRLモードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入することは、候補リストの1番目の位置から、誤差の昇順で誤差に対応するK個の組み合わせを候補リストに記入することを含む。本例のTMRLモードの候補リストには、拡張参照ラインとイントラ予測モードの組み合わせのみが記入される。インデックスが0の参照ラインとイントラ予測モードの組み合わせは、MPMなどの他の従来のモードによって示される。
【0127】
本実施形態の一例では、候補リストのi番目の位置から、誤差の昇順で誤差に対応するK個の組み合わせを候補リストに記入し、候補リストのi番目の位置の前に、インデックスが0である参照ラインと、1つ又は複数のイントラ予測モードとの組み合わせが記入されており、i≧2が満たされる。本例ではTMRLモードの候補リストには、拡張参照ラインとイントラ予測モードの組み合わせだけでなく、インデックスが0の参照ラインとイントラ予測モードの組み合わせも記入される。この場合、現在のブロックのために選択された組み合わせが、インデックスが0の参照ラインとイントラ予測モードとの組み合わせであるとき、TMRLモードインデックスによって示すこともできる。このときのTMRLモードフラグは依然として使用されることができる。
【0128】
本願の一実施形態は、TMRLモードに関するビデオデコーディング方法を提供する。この方法は、デコーダーに応用され、図9に示すようにステップ310~ステップ330を含む。
ステップ310:現在のブロックのマルチ参照ラインイントラ予測(TMRL)モードフラグをデコードして、現在のブロックに対してTMRLモードを使用するかどうかを確定する。
ステップ320:現在のブロックに対してTMRLモードを使用すると確定した場合、引き続いて現在のブロックのTMRLモードインデックスをデコードし、現在のブロックのTMRLモードの候補リストを構築し、候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入される。
ステップ330:候補リストとTMRLモードインデックスに基づいて、現在のブロックのために選択される拡張参照ラインとイントラ予測モードの組み合わせを確定し、選択された組み合わせに基づいて現在の画像を予測する。
ここで、TMRLモードインデックスは、選択された拡張参照ラインとイントラ予測モードの組み合わせの、候補リストにある位置を示すために使用される。
【0129】
本実施形態では、TMRLモードフラグをデコードして、現在のブロックに対してTMRLモードを使用すると確定した後、拡張参照ラインとイントラ予測モードの組み合わせをTMRLモードの候補リストに記入し、デコードして得られたTMRLモードインデックスと候補リストにより、現在のブロックのために選択された組み合わせを確定し、予測を行う。つまり、TMRLモードインデックスにより、2つのインデックスを使用することなく、現在のブロックのために選択された拡張参照ラインとイントラ予測モードを同時に示すことができる。コーディングコストを削減することができる。
【0130】
本実施形態の一例では、現在のブロックのTMRLモードフラグをデコードすることの前、ビデオデコーディング方法は、現在のブロックに対してTMRLモードを使用できる条件が全て成立したとき、現在のブロックのTMRLモードフラグをデコードすることをさらに含む。TMRLモードを使用できる条件は、以下のいずれか1つ以上を含み、即ち、
現在のブロックが輝度フレームにおけるブロックであること、
現在のブロックに対してMRLを使用できること、
現在のブロックがコーディングツリーユニット(CTU)の上部境界に位置しないこと、
現在のブロックに対してテンプレートベースのイントラモード導出(TIMD)を使用しないこと、
という条件のいずれか1つ以上を含む。
【0131】
本例では、上記条件の1つが成立する場合には、TMRLモードの使用を許可せず、TMRLモードフラグ及びTMRLモードインデックスのデコーディングをスキップすることができる。しかし、他の実施形態ではこうなるとは限らない。例えば、TIMDの前にTMRLモードに基づいてエンコード及びデコードする場合、現在のブロックに対するTIMDの使用は、TMRLモードを使用できない条件とされない。別の例としては、将来、ハードウェアがCTU境界外の参照ラインの取得をサポートできるようになった場合、現在のブロックがCTUの上部境界に位置することは、TMRLモードを使用できない条件ではなくなることなどが挙げられる。
【0132】
本実施形態の一例では、ビデオデコーディング方法は、現在のブロックに対してMRLを使用でき、現在のブロックがCTUの上部境界に位置しておらず、且つ現在のブロックに対してTIMDを使用すると確定した場合、現在のブロックのMRLインデックスをデコードすることをさらに含む。MRLインデックスは、現在のブロックのために選択された参照ラインのMRLインデックスリストにある位置を示すために使用される。本例では、現在のブロックに対してTIMDを使用する場合にTMRLモードの使用を許可しないが、依然としてMRLを使用することができ、したがって、依然として、現在のブロックのマルチ参照ラインインデックスをデコードすることで、現在のブロックのために選択された参照ラインを確定することができ、現在のブロックのために選択されたTIMDモードと組み合わせて、現在のブロックを予測することができる。
【0133】
本実施形態の一例では、TMRLモードフラグに基づいて、現在のブロックに対してTMRLモードを使用すると確定した場合、ビデオデコーディング方法は、MPMモード、ISPモード、MTSモード、LFNSTモード、及びTIMDモードのうちのいずれか1つ以上のモードのシンタックスエレメントのデコーディングをスキップすることを、さらに含む。エンコーディング側に対応して、エンコードする際、現在のブロックに対してTMRLモードフラグを使用する場合、上記のモードの1つ以上がスキップされたとき、デコーディング側は、デコードによって、現在のブロックに対してTMRLモードフラグを使用すると確定した場合、これらのモードのデコーディングもスキップする。
【0134】
一実施形態は、ビデオデコーディング方法をさらに提供し、主としてイントラ予測のデコーディング処理に関する。エンコーディング側についても説明する。本実施形態では、エンコーディング側でTMRLモードの候補リストを構築し、モード選択により現在のブロックのために候補リスト内の組み合わせが選択された場合に、TMRLモードのシンタックスエレメントをエンコード及びデコードし、拡張参照ラインとイントラ予測モードの組み合わせをエンコード及びデコードする。
【0135】
本実施形態では、事前定義のN個の拡張参照ラインとM個のイントラ予測モードに基づき、インデックスが0の参照ライン、すなわちreference line0の位置にテンプレートを構築する。図8Aに示されるテンプレート領域30を参照することができる。(x,-1),(-1,y)は、それぞれ、現在のブロックの左上隅の(0,0)位置に対する座標である。この図では、インデックスが{1,3,5,7,12}の事前定義の5個の拡張参照ラインも提供されている。
【0136】
TMRLモードの候補リストを構築する際に、N×M個の組み合わせに基づくテンプレートの予測値と再構成値の間のSADを計算し、SADの昇順に従って対応する組み合わせをソートし、N×M個の組み合わせのうちSADが比較的小さいK個の組み合わせを、SADの昇順でTMRLモードの候補リストに記入し、N×M≧2が満たされる。
【0137】
TMRLモードの候補リストの構築は、エンコーダーとデコーダーの両方が実行する必要がある操作である。エンコーディング側では、現在のブロックのために選択された組み合わせが候補リストにあるなどのエンコーディング条件が満たされている場合、TMRLモードフラグをエンコードすることでTMRLモードを使用することを示す。また、TMRLモードインデックスは、選択された組み合わせの、候補リストにある位置に基づいて確定される。例えば、1番目の位置にあれば、TMRLモードインデックスが0であり、2番目の位置にあれば、TMRLモードインデックスが1であるというように確定される。TMRLモードインデックスは、ゴロム・ライス(Golomb-Rice)コーディング法を用いてエンコードされてもよいが、これに限定されない。
【0138】
以下、N=5、M=6、K=12の例をもって説明する。事前定義の5つの拡張参照ラインのインデックスが{1,3,5,7,12}であり、6つのイントラ予測モードが一歩一歩選択される。
【0139】
本実施形態のビデオデコーディング方法は、ステップ1~ステップ3の内容を含む。
【0140】
ステップ1:TMRLモードに関連するシンタックスエレメントをデコードする。
デコーダーによって解析されるイントラ予測モードの関連シンタックスエレメントは、TIMD、MRLなどのモードの関連シンタックスエレメントを含む。本実施形態で提供されるTMRLモードは、MRLモードの発展型と考えることができ、TMRLモードのシンタックスエレメントは、MRLモードのシンタックスエレメントの一部と考えることもできる。もちろん、両方は異なる2種のモードと考えることもできる。
【0141】
現在のブロックに対してTIMDモードを使用する場合、MRLモードのシンタックスエレメントに対するデコーディング方式に変更はない。現在のブロックに対してTIMDモードを使用しない場合、TMRLモードのシンタックスエレメントをデコードする必要がある。次の表に示すように、現在のブロックのために関連シンタックスをデコードする。
【0142】
【表2】
【0143】
表中の「cu_tmrl_flag」即ちTMRLモードフラグであり、「cu_tmrl_flag」が1に等しいのは、現在のブロックに対してTMRLモードを使用することを示し、すなわち、現在の輝度サンプルのイントラ予測モードのタイプがテンプレートベースのマルチ参照ラインイントラ予測モードであることを定義する。「cu_tmrl_flag」が0に等しいのは、現在のブロックに対してTMRLモードを使用しないことを示し、すなわち、現在の輝度サンプルのイントラ予測モードのタイプがテンプレートベースのマルチ参照ラインイントラ予測モードではないことを定義する。
【0144】
表中の「tmrl_idx」すなわちTMRLモードインデックスは、現在のブロックのために選択された拡張参照ラインとイントラ予測モードの組み合わせの、TMRLモードの候補リストにおける位置を示し、TMRLモードの順序付けられた候補リストにおける、選択された組み合わせのインデックス(組み合わせの位置を示すインデックス)を定義するとも言える。「tmrl_idx」は、ゴロム・ライスコーディング法を用いてエンコード及びデコードすることができ、ここでは説明を繰り返さない。
【0145】
上の表から分かるように、cu_tmrl_flagをデコードする前に、現在のブロックに対してMRLを使用できること(すなわち、sps_mrl_enabled_flagが1であることが成立するか否か)、現在のブロックがCTUの上部境界に位置しないこと(すなわち、( y0 % CtbSizeY ) > 0が成立するか否か)、現在のブロックに対してTIMDを使用しないこと、という条件が成立するか否かをまず判断する。これらの条件が成立している場合、cu_tmrl_flagをデコードする。他の2つの条件が成立するが、現在のブロックに対してTIMDを使用する場合、現在のブロックのマルチ参照ラインインデックスintra_luma_ref_idxをデコードする。
【0146】
表中のISPモードフラグ(intra_subpartitions_mode_flag)は、TMRLモード関連のシンタックスエレメントの後にデコードされる。現在のブロックに対してTMRLモードを使用しない(!cu_tmrl_flagが成立する)場合、intra_subpartitions_mode_flagをデコードする。同様に、現在のブロックに対してTMRLモードを使用しない(!cu_tmrl_flagが成立する)場合、MPM関連のシンタックスエレメントをデコードする。
【0147】
ステップ2:TMRLモードの候補リストを構築し、TMRLモードインデックス及び候補リストに基づいて、現在のブロックのために選択された拡張参照ライン及びイントラ予測モードを確定する。
解析段階の終了後、現在のブロックを予測する前、現在のブロックに対してTMRLモードを使用する場合、TMRLモードの候補リストを構築する必要があり、TMRLモードインデックスと候補リストに基づいて、現在のブロックのために選択された拡張参照ラインとイントラ予測モードを確定する。
【0148】
TMRLモードの候補リストを構築するには、まず、候補の拡張参照ラインを確定し、候補のイントラ予測モードを確定する必要がある。
【0149】
【0150】
候補の拡張参照ラインは、事前定義の拡張参照ラインから選択される。画像内の現在のブロックの位置に基づいて、事前定義の拡張参照ラインのうちの使用できる拡張参照ラインを確定する。原則として、現在のブロックに対して使用可能な上方参照ラインは、CTUの上部境界を超えないようにする。一例では、インデックスが{1,3,5,7,12}である拡張参照ラインのうち、CTUの境界を超えない全ての拡張参照ラインを候補の拡張参照ラインに加える。また、コーディング性能を向上させ、又は複雑さを低減させるために、より多い又はより少ない拡張参照ラインを使用することもできる。
【0151】
【0152】
本実施形態では、TMRLモードとMPMをバインディングする代わりに(他の実施形態でバインディングしてもよく)、イントラ予測モードの候補リストを構築し、この候補リストから組み合わせに使用されるイントラ予測モードを選択する。候補リストは、以下の方法で導出される。
【0153】
まず、従来の67種類の予測モードから、PlanarモードとDCモードを除去し、又はPlanarモードのみを除去してDCモードを残す。除去されたモードは、候補リストに加えられなく、即ちTMRLモードのうち、組み合わせに参加するイントラ予測モードとされない。
【0154】
本実施形態では、構築しようとする候補予測モードリストの長さは6である。まず、現在のブロックの周囲の5つの近隣位置にある予測ブロックに使用されるイントラ予測モードから、重複しないイントラ予測モードを順番に選択して、候補予測モードリストに加える。次に、リストに記入されたモードに対して角度モードの拡張操作を行う。具体的には、角度モードに対して、1を加算する操作及び1を減算する操作を行うことができ、重複しない拡張後の角度モードを選択して順番に候補予測モードリストに加え、候補リストに記入されたモード数が6に達すると、充填することを停止する。
【0155】
1を加算する操作及び1を減算する操作の具体的な内容を下表に示す。
【0156】
【表3】
【0157】
上記「角度モード-1」とは、記入された角度モードのインデックスから1を減算した角度モードを指し、例えば、記入された角度モードがモード3である場合、「角度モード-1」は角度モード2となる。上記「角度モード+1」とは、記入された角度モードのインデックスに1を加算した角度モードを指し、例えば、記入された角度モードがモード3である場合、「角度モード+1」は角度モード4となる。
【0158】
そして、「角度モード-1」が角度モード2よりも小さい場合、例えば、「角度モード-1」から「角度モード1」を得る(角度モードのインデックスが2から番号付けされ、「角度モード1」は存在しない)場合、「角度モード-1」と反対方向の角度モードを選択し、合計65種類の角度モードがあると仮定して、このとき、「角度モード-1」と反対方向の角度モードは即ち角度モード66である。そして、「角度モード+1」が角度モード66よりも大きい場合、類似的に、「角度モード+1」と反対方向の角度モードを選択する。例えば、記入された角度モードが角度モード66であり、「角度モード+1」は存在せず、このとき選択される「角度モード+1」と反対方向の角度モードは即ち角度モード2である。
【0159】
上記の角度モードの拡張は、角度モードに対して1を加算する操作及び1を減算する操作を行うことである。他の実施形態では、1を加算する操作及び1を減算する操作を、1を加算する操作及び1を減算する操作からXを加算する操作及びXを減算する操作まで拡張することも可能である。X=3と仮定すると、候補予測モードリストが埋まるようになるまで、角度モードに対して、1を加算する操作及び1を減算する操作、2を加算する操作及び2を減算する操作、3を加算する操作及び3を減算する操作を行うことが可能である。
【0160】
リストに記入されたモードに対して角度モードの拡張操作を行った後、候補予測モードリストがまだ埋まるようになっていない場合、候補予測モードリストが埋まるようになるまで、事前定義のモード集合の中の重複しないモードを用いてリストを充填する。モード集合には、以下のような、統計的法則に従って選択されたいくつかの角度モードが含まれる。
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 };
ここで、DC_IDXはDCモードを表し、VER_IDXは垂直モードを表し、HOR_IDXは水平モードを表し、残りの数字はその数字に対応する角度モードを表す。
【0161】
本実施形態では、候補予測モードリストの長さを6としているが、性能の観点からより多くの角度モードを試すために、長さを6より大きい値に設定することも可能であり、また、複雑さを軽減するためにより少ないモードを試して、長さを6より小さい値に設定してもよい。
【0162】
本実施形態では、候補イントラ予測モードを確定する際、PlanarモードとDCモードを除外し、又はPlanarモードのみを除外しているが、複雑性を考慮しない場合には、この2つのモードを除外しなくてもよく、すなわち、Planarモード、DCモード、及び全ての角度モードが候補イントラ予測モードとして拡張参照ラインとの組み合わせに参加してもよい。
【0163】
【0164】
候補の拡張参照ラインとイントラ予測モードを確定した後、拡張参照ラインリストと候補予測モードリストにある全ての組み合わせを1つずつ試すことができ、これらの組み合わせの各々に基づいて、図8Aを参照して、reference line0が位置するラインのテンプレート(Template、次の図に示される)領域を予測し、テンプレート領域の再構成値と各組み合わせに基づく予測から得られた予測値との間の誤差を計算し、誤差の最も小さいK個の組み合わせを、誤差の昇順でTMRLモードの候補リストに記入する。
【0165】
本実施形態の予測処理では、現在のブロックがCTUの第1行を占める場合にのみ、TMRLモードの使用を制限する。現在のブロックが画像の左境界に位置する場合、依然としてTMRLモードを使用することができる。この場合、左側のreference line0は既に画像境界の外側にあるため、左側テンプレートは予測に使用されず、すなわち、上方テンプレート領域のみを予測する。
【0166】
テンプレート領域上の予測処理は、他の通常のイントラ角度予測処理と全く同じであることができる。すなわち、まず参照ラインの再構成値をフィルタリングし、その結果をテンプレート領域の初期予測値として使用し、フィルタリングされた参照ラインの再構成値と組み合わせにおけるイントラ予測モードに基づいてテンプレート領域を予測した後、初期予測結果に対して4タップ又は6タップフィルタリングを行い、その結果を予測によって得られた予測値として使用する。なお、演算の複雑さを考慮して、参照ラインの再構成値をフィルタリングするステップを省略してもよく、タップの比較的短いフィルタを用いてもよい。本実施形態では、予測によってテンプレート領域の予測値を取得する際に、参照ラインの画素の再構成値をフィルタリングしなく、初期予測結果に対して非整数の角度で1/32精度を有する4タップ補間フィルタリングを行う。
【0167】
最後に、現在の組み合わせにおける角度及び参照ライン、並びにフィルタに基づいて、テンプレート領域を予測する。予測から得られたテンプレート領域の予測値とテンプレート領域の再構成値との間のSADを計算し、SADの昇順でソートし、最小のSADを有する12個の組み合わせを選択してTMRLモードの候補リストに記入する。
【0168】
ソート処理では、高速なアルゴリズムを使用することができ、上記の処理では、5つの参照ラインと6種類の予測モードとの合計30種類の組み合わせを試す必要があるが、その中のSADが最小である12個の組み合わせのみを選択すればよく、本実施形態では、前の12個の組み合わせに基づいた予測を完成して対応するSADを取得した後、13番目の組み合わせから、誤差(コストと呼んでもよい)が最小となる12個の組み合わせを維持して更新すればよい。13番目の組み合わせから、上方テンプレート領域のみを予測し且つ対応するSADを計算し、上テンプレートに基づいて計算されたSADが、誤差が最小の12個の組み合わせの中の誤差が最大の1つの組み合わせよりも既に大きい場合、左側テンプレート領域の予測と誤差計算をスキップすることができ、具体的に、前の実施形態を参照することができる。
【0169】
ステップ3:構築されたTMRLモードの候補リストとデコーディングによって得られたTMRLモードインデックスに基づいて、現在のブロックのために選択される拡張参照ラインとイントラ予測モードの組み合わせを確定し、選択された組み合わせに基づいて現在のブロックに対してイントラ予測が実行される。
【0170】
【0171】
ECM-4.0参照ソフトウェアにおいて、本実施形態で説明した方法を用いて、N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=6(PlanarモードとDCモードを含まない事前定義された6つの予測モード)、K=12(全ての組み合わせにおける、SADが小さい前の12個の組み合わせのみを選択する)の設定で、AI配置での測定結果は以下の通りである。
【0172】
【表4】
【0173】
N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=8(事前定義された8つの予測モード)、K=16の設定で、AI配置での測定結果は以下の通りである。
【0174】
【表5】
【0175】
N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=12(事前定義された12個の予測モード)、K=24の設定で、AI配置での測定結果は以下の通りである。
【0176】
【表6】
【0177】
N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=8(Planarモードを含まないが、DCモードを含む事前定義された8つの予測モード)、K=16の設定で、AI配置での測定結果は以下の通りである。
【0178】
【表7】
【0179】
表中のパラメーターの意味は以下の通りである。
【0180】
EncT:Encoding Time即ちエンコーディング時間である。10X%は、参照ラインソート技術が統合された場合、統合前に比べて、エンコーディング時間が10X%であることを表し、エンコーディング時間がX%増加したことを意味する。
【0181】
DecT:Decoding Time即ちデコーディング時間である。10X%は、参照ラインソート技術が統合された場合、統合前に比べて、デコーディング時間が10X%であることを表し、デコーディング時間がX%増加したことを意味する。
【0182】
ClassA1とClassA2は解像度3840×2160のテストビデオシーケンスであり、ClassBは解像度1920×1080のテストシーケンスであり、ClassCは解像度832×480のテストシーケンスであり、ClassDは解像度416×240のテストシーケンスであり、ClassEは解像度1280×720のテストシーケンスであり、ClassFは異なる解像度を持ついくつかのスクリーンコンテンツ(Screen content)のシーケンスである。
【0183】
【0184】
All intraは、全てがイントラフレームであるテスト配置を示す。
【0185】
これから分かるように、本実施形態のTMRLモードを用いてイントラ予測コーディングを行うことにより、コーディング性能を大幅に向上させることができる。
【0186】
この実施形態では、拡張参照ラインと予測モードの両方に対して、1行1列のテンプレート領域が使用され、SADの昇順でソート及び選択が行われている。拡張参照ラインについては、全ての拡張参照ライン(reference line1を含む)をソートすれば、1行1列のテンプレートしか使用できない。しかし、予測モードの選択については、より適切な予測モードを選択するために、TIMDモードの場合のようにより多くの参照ラインを使用することができ、これにより、より正確な結果を得ることができる。他の実施形態では、TMRLモードに基づいて候補予測モードリストを確定する方法を変えることもできる。
【0187】
例えば、長さが6である候補予測モードリストを構築する必要があるとき、本実施形態と同様の構築方法及び充填方法に従って、まず長さが6より大きいリストを構築し、その後、現在のブロックに最も近い4行4列をテンプレートとし、5番目の参照ラインと候補予測モードリスト内のイントラ予測モードを用いてテンプレートを予測し、予測に得られた予測値とテンプレートの再構成値との誤差(SAD又はSATD)を算出し、誤差の昇順でソートし、誤差が小さい6個のイントラ予測モードを選択して、それらを構築しようとする長さが6のTMRLモードの候補リスト内のイントラ予測モードとすることができる。また、TMRLモードの候補リストの長さが6であるのは一例にすぎず、状況に応じて数値を調整することができる。
【0188】
本実施形態は65種類の角度モードを例示したが、他の実施形態では、より良い性能を得るために角度を129種類以上に拡張することが可能であり、より多くの角度に拡張する場合、イントラ予測のためのフィルタ数を適宜増やす必要もあり、例えば、129種類の角度の場合1/64精度のフィルタリングを使用する。
【0189】
一実施形態では、さらにイントラ予測融合(intra prediction fusion、IPF)技術を提供する。IPFにおいては、ある角度モードでは2つの隣接する参照ラインを使用して得られた予測結果に対して重み付けを行って、現在のブロックの最終的な予測結果を得ることを許可する。重み付けを行う方式は次の式の通りである。
【数3】
【0190】
【0191】
現在のブロックに対してIPFを使用する場合、上記融合した後の予測結果を現在のブロックの最終的な予測結果とする。
【0192】
本実施形態では、IPFが使用されるか(すなわちアクティブにされるか)を示すフラグは設定されていないが、デフォルトでは、以下の条件が満たされたときに、即ち、
現在のブロックのために選択された角度モードは整数傾きの角度モードではないこと、
現在のブロックの幅と高さの積は16より大きいこと、
現在のブロックに対してISPモードが選択されていないこと、
という条件が満たされたときに、現在のブロックのために選択された角度モードに対してIPFがアクティブにされる。
【0193】
言い換えれば、以下の制約条件のうちの少なくとも1つが成立した場合、即ち、
現在のブロックのために選択された角度モードは整数傾きの角度モードであること、
現在のブロックの幅と高さの積は16以下であること、
現在のブロックに対してISPモードが選択されたこと、
という制約条件のうちの少なくとも1つが成立した場合、IPFの使用は許可されない。
【0194】
ここで、角度モードの角度値(intraPredAngle)を32で割った余りが0である場合、この角度モードは整数傾き(integer slope)の角度モードであり、intraPredAngleと角度モードの対応は上記の表1に示される。
【0195】
現在のモードがIPFの使用条件を満たす場合、現在のブロックのために選択されたイントラ予測モードは、DIMDを使用して選択されたDIMD融合モード(planarモードと2つの角度モードに基づいて融合する)である可能性があり、TIMDを使用して選択されたTIMD融合モードである可能性もある。ハードウェアの実現から言えば、融合は少ないほど良く、DIMD融合モードを選択したときには、すでに3つのイントラ予測結果が現在のブロックに対する融合に用いられ、さらにIPFを使用すれば、多すぎる融合は予測段階の複雑さを増加させる。
【0196】
本願の一実施形態は、エンコーダーにもデコーダーにも適用可能なイントラ予測融合方法を提供し、図10に示すように、この方法は次の内容を含む。
ステップ410において、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定する。
ステップ430において、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約する。
本ステップでは、現在のブロックに対してイントラ予測を行う際にIPFの使用を制約することは、IPFの使用を許可しないことであってもよく、選択されたイントラ予測モードにIPFの使用条件を満たす複数の角度モードが含まれる場合には、その中の一部の角度モードのみに対してIPFを許可することであってもよい。一例では、IPFの使用条件を満たす角度モードは、整数傾きの角度モードではない角度モードを指し、または角度が-45°、0°、45°、90°、135°以外の角度モードを指す。
【0197】
本文では、ある制約条件が成立した場合にIPFの使用を許可しないことは、現在のブロックを予測する際にIPFを使用しない十分条件である。一方、ある制約条件が成立しない場合にIPFの使用を許可することは、現在のブロックを予測する際にIPFを使用する必要条件であり、他の制約条件が成立すれば、IPFの使用を許可しない可能性が依然としてある。
【0198】
本願の例示的な実施形態において、制約条件は、次のモード数制約条件を含み、モード数制約条件は、IPFの使用により、現在のブロックを予測するにはN個以上のイントラ予測モードを融合する必要があり、Nは3以上の整数であるということである。
【0199】
本実施形態の一例では、Nが3であるとき、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、次の内容を含む。
現在のブロックに対してTIMD融合モードが選択され、且つIPFの使用条件を満たす2つの角度モードがTIMD融合に用いられる場合、モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際に2つの角度モードのうちの1つのみに対してIPFを実行することを許可する。
現在のブロックに対してTIMD融合モードが選択され、且つTIMD融合に用いられる2つのイントラ予測モードのうちの1つのみが、IPFの使用条件を満たす角度モードである場合、モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にこの角度モードに対してIPFを実行することを許可する。
【0200】
本願の例示的な実施形態において、制約条件は、次のモード数制約条件を含み、モード数制約条件は、IPFの使用により、現在のブロックを予測するにはM個以上の角度モードを融合する必要があり、Mは2以上である整数であるということである。
【0201】
本実施形態の一例では、Mが3であるとき、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、次の内容を含む。
現在のブロックに対してTIMD融合モードが選択され、且つIPFの使用条件を満たす2つの角度モードがTIMD融合に用いられる場合、モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際に2つの角度モードのうちの1つのみに対してIPFを実行することを許可する。例えば、2つの角度モードのうちのコストが最も小さいまたはコストが2番目に小さい角度モードのみに対してIPFを実行することを許可する。
現在のブロックに対してTIMD融合モードが選択され、且つTIMD融合に用いられる2つのイントラ予測モードのうちの1つのみが、IPFの使用条件を満たす角度モードである場合、モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にこの角度モードに対してIPFを実行することを許可する。
【0202】
本実施形態の一例では、Mが3であるとき、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、次の内容を含む。
現在のブロックに対してDIMD融合モードが選択され、且つIPFの使用条件を満たす2つの角度モードがDIMD融合に用いられる場合、モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際に2つの角度モードのうちの1つのみに対してIPFを実行することを許可する。例えば、2つの角度モードのうち振幅値が最も高いまたは次に高い角度モードのみに対してIPFを許可する。
現在のブロックに対してDIMD融合モードが選択され、且つDIMD融合に用いられる2つの角度モードのうちの1つのみが、IPFの使用条件を満たす角度モードである場合、モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用条件を満たす角度モードに対してIPFを実行することを許可する。
【0203】
本実施形態の一例では、Mが2であるとき、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、次の内容を含む。
現在のブロックに対してTIMD融合モードが選択され、且つ2つの角度モードがTIMD融合に用いられる場合、モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用を許可しない。
現在のブロックに対してTIMD融合モードが選択されたとともに、TIMD融合に用いられる2つのイントラ予測モードのうちの1つのみが、角度モードであり且つこの角度モードがIPFの使用条件を満たす場合、モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用条件を満たす角度モードに対してIPFを実行することを許可する。
【0204】
上記実施形態では、現在のブロックに対してイントラ予測を実行する際に1つの角度モードに対してIPFを実行することを許可することは、2つ以上の予測結果の加重和を現在のブロックの最終的な予測結果とすることを含む。2つ以上の予測結果が、現在のブロックに対して選択された第1参照ラインとこの角度モードに基づいて現在のブロックを予測することによって得られた予測結果と、第1参照ラインと異なる第2参照ラインとこの角度モードに基づいて現在のブロックを予測することによって得られた予測結果とを含む。例えば、第2参照ラインは、第1参照ラインに隣接する参照ラインであってもよく、インデックスが0の参照ラインであってもよい。
【0205】
本願の例示的な実施形態において、制約条件は、以下のいずれか1つ以上を含み、即ち、
制約条件1:現在のブロックに対してTIMD融合モードが選択されること、
制約条件2:現在のブロックに対してDIMD融合モードが選択されること、
制約条件3:現在のブロックに対してMRLが使用されること、
制約条件4:現在のブロックに対して選択された参照ラインのインデックスがK以上であり、Kが3以上の整数であること、
制約条件5:現在のブロックの幅が設定値以下であること、
制約条件5:現在のブロックの高さが設定値以下であること、
制約条件7:現在のブロックの幅と高さの積が設定値以下であること、
制約条件8:現在のブロックに対してISPモードが使用されること、
制約条件9:現在のブロックに対して選択された角度モードの角度が、-45°、0°、45°、90°、135°のいずれか1つであり、または、現在のブロックに対して選択された角度モードが、整数傾きの角度モードであること、
制約条件10:現在のブロックが属する現在のフレームが、インターフレームであること、
制約条件11:現在のブロックが属する現在の画像が色差(chroma)画像であり、即ち輝度(luma)画像のみに対してIPFを使用し、色差画像に対してIPFを使用しないこと、
という条件のいずれか1つ以上を含み、
制約条件1~制約条件11のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を許可しない。
【0206】
本実施形態の一例では、制約条件は、制約条件4を含み、Kが3、または5、または7、または12である。
【0207】
本願の上記実施形態では、IPFの使用を制約し、例えば、本実施形態では、融合に用いられるイントラ予測モードの数を制約することができ、融合に用いられる角度モードの数を制約することができ、IPFと、TIMD、DIMDなどの、複数のモードが融合される可能性のある予測モードとの同時使用を制約することができるなど、これらにより、予測時に多すぎる融合を行って予測段階の複雑さが不適切に増加することを回避することができる。
【0208】
本実施形態では、現在のブロックのサイズを制限することができ、現在のブロックのサイズが設定値より大きい場合にIPFを使用する。これは、現在のブロックがあるサイズより小さい場合に、通常、より多くのテクスチャがあり、融合予測を使用すると性能の向上が限定的であるためである。本実施形態では、現在のブロックのために選択された参照ラインのインデックスがK以上の場合にIPFの使用を許可せず、すなわち、現在のブロックのために選択された拡張参照ラインが現在のブロックから比較的遠い場合にIPFの使用を許可せず、この場合にIPFの使用による性能の向上が限定的である。
【0209】
本実施形態ではIPFとMRLの同時使用を制約することで、計算の複雑さを減らすことができる。本実施形態では、現在のフレームがBフレーム、Pフレームなどのインターフレームである場合にIPFの使用を許可しないことにより、インターフレームコーディングのコストを低減することができる。
【0210】
本願の例示的な一実施形態例において、上記方法は、制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することをさらに含む。
現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、現在のブロックに対して選択されたイントラ予測モードが、1つのみであり且つ角度モードである場合、第1予測結果と第2予測結果の加重和を現在のブロックの最終的な予測結果とすることを含む。第1予測結果は、現在のブロックに対して選択された第1参照ラインと現在のブロックに対して選択された第1角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2予測結果は、第2参照ラインと第1角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである。
【0211】
制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用する。これは、制約条件のすべてが成立しない場合にのみ、現在のブロックに対してイントラ予測を実行する際にIPFの使用が許可されるという意味ではない。例えば、モード数制約条件が成立した場合でも、IPFの使用条件を満たす一部の角度モードに基づいてIPFを実行することができる。
【0212】
本実施形態の一例では、第1予測結果と第2予測結果の加重和は、数4または数5に従って算出され、
【数4】
【数5】
【0213】
以上の計算方法は演算中に小数が現れることを避けることができ、計算方法の効率を高めることができる。
【0214】
本願の例示的な一実施形態において、上記方法は、制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することをさらに含む。現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、現在のブロックに対して選択されたイントラ予測モードが融合モードである場合、3つ以上の予測結果の加重和を現在のブロックの最終的な予測結果とすることを含む。3つ以上の予測結果は、現在のブロックに対して選択された第1参照ラインと融合モードにおけるイントラ予測モードの各々に基づいて、現在のブロックを予測することによって得られた複数の予測結果と、融合モードにおけるIPFが許可される1つまたは複数の角度モードと第2参照ラインに基づいて、現在のブロックを予測することによって得られた1つまたは複数の予測結果とを含む。第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである。
【0215】
本願の上記実施形態では、第1予測結果と第2予測結果の加重和を算出する際に、第1予測結果に与えられる重みは、第2予測結果に与えられる重みより大きい。例えば、第1参照ラインはインデックスが1の参照ラインであり、第2参照ラインはインデックスが0の参照ラインである場合、第1予測結果の重みを3/4に設定し、第2予測結果の重みを1/4に設定する。
【0216】
本願の上述の実施形態では、第1参照ラインのインデックスがK以上である場合、第2参照ラインは、第1参照ラインに隣接し、且つ第1参照ラインより現在のブロックに近く、Kは1以上の整数である。
【0217】
例えば、第2参照ラインは、以下の方式のうちの少なくとも1つに基づいて決定することができる。
第1参照ラインのインデックスが1である場合、第2参照ラインのインデックスが0であると確定する。
第1参照ラインのインデックスが3である場合、第2参照ラインのインデックスが2であると確定する。
第1参照ラインのインデックスが5である場合、第2参照ラインのインデックスが4であると確定する。
第1参照ラインのインデックスが7である場合、第2参照ラインのインデックスが6であると確定する。
第1参照ラインのインデックスが12である場合、第2参照ラインのインデックスは11であると確定する。
【0218】
第1参照ラインのインデックスがK以上の場合、第2参照ラインを、第1参照ラインに隣接し且つ第1参照ラインよりも現在のブロックに近い参照ラインに設定することで、第2参照ラインに基づく現在のブロックの予測の正確さを向上させ、ひいては融合後の予測結果の正確さを向上させることができる。
【0219】
本願の例示的な実施形態では、IPFはTMRLモードと同時に使用することができる。すなわち、現在のブロックに対してテンプレートベースのマルチ参照ラインイントラ予測(template-based multiple reference line & intra_ intra prediction、TMRL)モードの候補リストにおける1つの拡張参照ラインと1つの角度モードが選択され、且つ制約条件のすべてが成立しない場合、この拡張参照ラインとこの角度モードに基づいて現在のブロックを予測した第1予測結果と、他の参照ラインとこの角度モードに基づいて現在のブロックを予測した第2予測結果とを計算し、第1予測結果と第2予測結果の加重和を現在のブロックの最終的な予測結果とする。上記他の参照ラインは、インデックスが0である参照ラインまたはこの拡張参照ラインの隣接ラインである。
【0220】
本願の一実施形態は、エンコーダーに適用されるビデオエンコーディング方法をさらに提供し、図11に示すように、この方法は次の内容を含む。
ステップ510において、モード選択で現在のブロックに対して選択された参照ラインとイントラ予測モードを確定する。
ステップ520において、本願のいずれかの実施形態に記載のイントラ予測融合方法に基づいて現在のブロックを予測して現在のブロックの予測値を得る。
本ステップでは、現在のブロックに対してイントラ予測を実行する際にIPFを使用する場合、現在のブロックの最終的な予測結果に基づいて現在のブロックの予測値を得る。
ステップ530において、現在のブロックのオリジナル値と予測値に基づいて、現在のブロックの残差を確定する。
【0221】
本実施形態のビデオエンコーディング方法では、本願のいずれかの実施形態のイントラ予測融合方法を用いて現在のブロックを予測することで、このイントラ予測融合方法の様々な効果を得ることができる。
【0222】
本願の一実施形態は、デコーダーに適用されるビデオデコーディング方法をさらに提供し、図12に示すように、この方法は次の内容を含む。
ステップ610において、ビットストリームをデコードして、現在のブロックに対して選択された参照ラインとイントラ予測モードを確定する。
ステップ620において、本願のいずれかの実施形態に記載のイントラ予測融合方法に基づいて現在のブロックを予測して現在のブロックの予測値を得る。
本ステップでは、現在のブロックに対してイントラ予測を実行する際にIPFを使用する場合、現在のブロックの最終的な予測結果に基づいて現在のブロックの予測値を得る。
ステップ630において、現在のブロックの予測値に基づいて現在のブロックの再構成値を確定する。
【0223】
本実施形態のビデオエンコーディング方法では、本願のいずれかの実施形態のイントラ予測融合方法を用いて現在のブロックを予測することで、このイントラ予測融合方法の様々な効果を得ることができる。
【0224】
上記実施形態で用いた、テンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードのイントラ予測方法は、拡張参照ラインとイントラ予測モードの組み合わせに基づいて候補リストを構築し、拡張参照ラインとイントラ予測モードの組み合わせをエンコード及びデコードする予測モードである。ただし、テンプレートに基づいているかどうか、または順番付けをするかどうかにかかわらず、1行の参照ラインを使用して予測する。通常、1行の参照ラインにはノイズが含まれており、予測の正確さに影響する。
【0225】
そのため、本願の一実施形態は、TMRLモードに基づいてIPFを使用する方法を提案する。TMRLモードに基づいてIPFを使用し、すなわち選択された角度モードに対してIPFを行い、つまり選択された参照ラインとその角度モードに基づいて現在のブロックを予測した結果と、別の参照ラインとその角度モードに基づいて現在のブロックを予測した結果とに重み付けを行って、現在のブロックの最終的な予測結果を得る。異なる参照ラインの予測結果を融合することで、予測の正確さを向上させる。
【0226】
TMRLモードに基づいてIPFを使用する場合、現在のブロックに対してIPFを使用するかどうかを示すフラグを設定する必要がなく、エンコーダーとデコーダーによって、約束された条件に基づいて判断することができる。
【0227】
本願の一実施形態では、IPFはTMRLモードと同時に使用することができる場合、現在のブロックに対してTMRLモードの候補リストにおける1つの拡張参照ラインと1つの角度モードが選択され、且つ制約条件のすべてが成立しない場合、この拡張参照ラインとこの角度モードに基づいて現在のブロックを予測した第1予測結果と、他の参照ラインとこの角度モードに基づいて現在のブロックを予測した第2予測結果とを計算し、第1予測結果と第2予測結果の加重和を現在のブロックの最終的な予測結果とする。この他の参照ラインは、インデックスが0である参照ラインまたはこの拡張参照ラインの隣接ラインである。
【0228】
本実施形態では、TMRLモードの候補リストを構築する際にもエンコード及びデコードする場合にも、前述の実施形態の方法を使用することができる。その違いは、本実施形態では、現在のブロックの予測値を生成する段階で、選択された角度モードと選択された参照ラインに基づいて生成された予測値と、選択された角度モードと別の参照ラインに基づいて生成された予測値に対して重み付けを行って現在のブロックの最終的な予測値を得るということである。
【0229】
本実施形態では、TMRLモードに基づくIPFを制約する。例えば、選択された参照ラインが現在のブロックに近いいくつかの参照ラインである場合にのみIPFを行う。具体的には、参照ラインがreference line 1であり、または参照ラインがreference line 1、3であり、または参照ラインがreference line 1、3、5であり、または参照ラインがreference line 1、3、5、7であり、または参照ラインがreference line 1、3、5、7、12である場合にのみ、融合は許可される。また、現在のブロックのためにある角度モードを使用している場合、IPFを使用しないように限定することもできる。例えば、角度モードの角度が水平角度、垂直角度、-45度、45度、135度である場合、IPFを使用することはできない。また、現在のブロックのサイズがあるサイズ以下の場合、通常、小さいブロックにはより多くのテクスチャがあるため、IPFすなわち融合予測の使用を許可しなくてもよい。
【0230】
TMRLモードに基づいてIPFを使用する場合、TMRLモードのシンタックスエレメントにおいて、IPFを使用するかどうかを表すフラグを追加することもできる。
【0231】
本願の一実施形態は、デコーダーに適用されるビデオデコーディング方法を提供し、図13に示すように、この方法はステップ710~ステップ730を含む。
ステップ710において、デコーディングにより、現在のブロックに対してテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードが使用されると確定する場合、引き続き現在のブロックのTMRLモードインデックスとTMRL融合フラグをデコードする。
ステップ720において、現在のブロックに対してTMRLモードの候補リストを構築し、候補リストとTMRLモードインデックスに基づいて、現在のブロックに対して選択された拡張参照ラインとイントラ予測モードを確定する。
本ステップは、前述の実施形態と同じ方法を用いて、候補リストを構築し、現在のブロックのために選択される拡張参照ラインおよびイントラ予測モードを決定することができる。
ステップ730において、TMRL融合フラグがイントラ予測融合(IPF)が使用されることを示す場合、第1予測結果と第2予測結果の加重和を、現在のブロックの最終的な予測結果とする。
このステップでは、第1予測結果と第2予測結果の加重和は、前述の公式一と公式二から計算することができる。
【0232】
第1予測結果は、拡張参照ラインとイントラ予測モードとに基づいて現在のブロックを予測することによって得られ、第2予測結果は、他の参照ラインとイントラ予測モードに基づいて現在のブロックを予測することによって得られ、このイントラ予測モードは角度モードである。2つの予測結果を重み付けする際に、前述の実施形態の公式を用いて計算することができる。
【0233】
本実施形態では、TMRL融合フラグが、IPFが使用されないことを示す場合、拡張参照ラインとイントラ予測モードに基づいて現在のブロックを予測して、現在のブロックの最終的な予測結果を得る。
【0234】
本実施形態では、TMRLモードに基づいて、TMRL融合フラグを設定することによってIPFを使用するかどうかを表し、エンコーディング側では前述の実施形態と同じまたは類似の制約条件が成立するかどうかを踏まえてTMRL融合フラグをエンコードすることができる。IPFを使用すると確定すれば、TMRL融合フラグを1に設定し、IPFを使用しないと確定すれば、TMRL融合フラグを0に設定する。一方、デコーディング側では、これらの制約条件と合わせて判断する必要はなく、このTMRL融合フラグに基づいて、TMRLモードを使用する際に選択された角度モードに対してIPFを行うかどうかを決定することができる。デコーディング側の処理を簡略化し、IPF使用条件の設定の柔軟性を高めることができる。TMRLモードに基づいてIPFを使用することにより、予測の正確性を高め、ビデオエンコーディングの性能を向上させることができる。
【0235】
本実施形態の一例では、上記他の参照ラインは、その拡張参照ラインに隣接し且つその拡張参照ラインの内側にある参照ラインであり、または、その拡張参照ラインに隣接し且つその拡張参照ラインの外側にある参照ラインであり、または、インデックスが0である参照ラインである。
【0236】
本実施形態の一例では、TMRL融合フラグをデコードする条件を増やすことができ、即ち、引き続き現在のブロックのTMRLモードインデックスとTMRL融合フラグをデコードすることは、現在のブロックのTMRLモードインデックスをデコードした後、現在のブロックのサイズが設定条件を満たすか否かを確定し、設定条件が満たされた場合、現在のブロックのTMRL融合フラグをデコードし、設定条件が満たされない場合、現在のブロックのTMRL融合フラグのデコーディングをスキップすることを含む。
【0237】
設定条件が、以下のいずれか1つ以上を含み、即ち、
現在のブロックの幅が設定値より大きいこと、
現在のブロックの高さが設定値より大きいこと、
現在のブロックの幅と高さの積が設定値より大きいこと、
現在のブロックが属する現在のフレームは、インターフレームではなく、即ちBフレームとPフレームにおいて、融合モードを使用するイントラブロックがあることを禁止すること、
という条件のいずれか1つ以上を含む。
【0238】
通常、小さいブロックはより多くのテクスチャを有し、IPFを使用する改善は限られているため、本実施形態では現在のブロックのサイズが設定値より大きいことを、TMRL融合フラグをデコードする条件としている。現在のブロックのサイズが設定値より大きくない場合、コーディング効率を高めるためにTMRL融合フラグをエンコード及びデコードしなくてもよい。
【0239】
本実施形態の一例では、現在のブロックに対してTMRLモードの候補リストを構築することは、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個の組み合わせを取得することであって、N≧1、M≧1、N×M≧2が満たされた、取得することと、
N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入することであって、1≦K≦N×Mが満たされた、記入することと、を含み、
M個のイントラ予測モードは、角度が-45°、0°、45°、90°、135°である角度モード以外の角度モードから選択される。
【0240】
本実施形態では、TMRLモードの候補リストを構築する際に、組み合わせに参加するM個のイントラ予測モードを、いくつかの特定の角度を除いた他の角度モードに制限することで、IPFと結びつけることに有利であり、予測の正確性を向上させることができる。
【0241】
本願の一実施形態は、ビデオデコーディング方法を提供する。CUレベルのシンタックスエレメントを解析する段階で、フラグtmrl_fusion_flag、すなわちTMRL融合フラグを追加的にデコードする必要がある。
【0242】
例えば、次の表に示される通りである。
【0243】
【表8】
【0244】
上の表にあるsps_mrl_enabled_flagはシーケンスレベルフラグであり、1である場合、現在のシーケンスに対してMRLを使用できることを表し、1である場合、MRLを使用しないことを表す。( y0 % CtbSizeY ) > 0は、現在のCUがCTUの一番目の行に位置しないことを示す。tmrl_fusion_flagが1である場合、後続のTMRLモードでは融合モードを使用することを示し、そうではない場合、融合モードを使用しない。
【0245】
別の実施形態では、tmrl_fusion_flagをデコードするか否かは、現在のコーディングブロック(Coding block、Cb)のサイズに基づいて確定することもできる。例えば、次の表に示されるように、コーディングブロックの幅cbWidth > Nであり、且つコーディングブロックの高さcbHeight > Mである場合、tmrl_fusion_flagをデコードする。
【0246】
【表9】
【0247】
さらに別の実施形態では、次の表に示されるように、コーディングブロックについては、cbWidth *cbHeight > Lが満たされるとき、tmrl_fusion_flagをデコードする。
【0248】
【表10】
【0249】
表にあるM、N、Lはサイズの設定値であり、いずれも正の整数であり、MはNに等しくてもよい。
【0250】
本実施形態では、テンプレートに基づいて、順番付けをして、TMRLモードの候補リストを構築する際に、使用できるN個の参照ラインとM個のイントラ予測モードに対してN×M個の組み合わせをトラバースし、テンプレート領域の予測値を生成し、テンプレート領域の予測値と再構成値の誤差を求め、誤差の大きさの昇順で上位のK個を選出し、{参照ライン,予測モード}組み合わせの候補リストを構成する。誤差値はSADなどであることができる。本実施形態では、一部のモードのみでIPFを使用することを制約することができる。候補リストを構築する際に、PLANAR、DC、角度が水平角度の角度モード、角度が垂直角度の角度モード、角度が-45度の角度モード、角度が45度の角度モード、角度が135度の角度モードというイントラ予測モードの1つ以上を除外することができる。
【0251】
予測段階での融合は、tmrl_fusion_flagの値に基づく必要がある。tmrl_fusion_flagが1の場合、選択されたイントラ予測モードと選択された参照ラインにより予測信号pを生成し、選択されたイントラ予測モードと参照ラインreference line 0により予測信号pを生成し、pとpを融合して最終的な予測信号を生成する。そうでなければ、pを直接最終的な予測信号とする。
【0252】
本願の実施形態は、エンコーダーに適用されるビデオエンコーディング方法をさらに提供し、図18に示すように、その方法は次の内容を含む。
ステップ1110において、現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストを構築する。候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入される。
ステップ1120において、レート歪み最適化を通じて、現在のブロックのために、参照ラインとイントラ予測モードの1つの組み合わせを選択する。
ステップ1130において、現在のブロックのTMRLモードのエンコーディング条件が満たされた場合、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用することを示し、現在のブロックのTMRLモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示す。
ステップ1140において、現在のブロックのTMRL融合フラグをエンコードして現在のブロックに対してイントラ予測融合(IPF)が使用されるか否かを示す。
エンコーディング条件は、少なくとも、選択された組み合わせが候補リストにあることを含む。
【0253】
本実施形態のビデオエンコーディング方法のうち融合に関連しない部分は、TMRLを用いるが、融合を行わないビデオエンコーディング方法の前述の実施形態と同じであってもよい。例えば、ステップ1130におけるエンコーディング条件の設定が同じであってもよい。
【0254】
本実施形態の一例では、現在のブロックのTMRL融合フラグをエンコードして現在のブロックに対してイントラ予測融合(IPF)が使用されるか否かを示すことは、現在のブロックに対して、候補リストにおける、角度モードを含む組み合わせが選択された場合、設定された制約条件のうちの少なくとも1つが成立するとき、現在のブロックのTMRL融合フラグをエンコードしてIPFが使用されないことを示し、設定された制約条件のすべてが成立しないとき、現在のブロックのTMRL融合フラグをエンコードしてIPFが使用されることを示すこと、を含む。
【0255】
設定された制約条件が、以下のいずれか1つ以上をさらに含み、即ち、
現在のブロックに対してTIMD融合モードが選択されること、
現在のブロックに対してDIMDモードが選択されること、
現在のブロックに対して選択された参照ラインのインデックスがK以上であり、Kが3以上の整数であること、
現在のブロックの幅が設定値以下であること、
現在のブロックの高さが設定値以下であること、
現在のブロックの幅と高さの積が設定値以下であること、
現在のブロックに対してイントラサブパーティション分割(ISP)モードが使用されること、
現在のブロックに対して選択された角度モードの角度が、-45°、0°、45°、90°、135°のいずれか1つであり、または、現在のブロックに対して選択された角度モードが、整数傾きの角度モードであること、
現在のブロックが属する現在のフレームがインターフレームであること、
現在のブロックが属する現在の画像が色差画像であること、
という条件のいずれか1つ以上をさらに含む。
【0256】
本実施形態の一例では、現在のブロックのTMRLモードの候補リストを構築する際にして、組み合わせに参加するイントラ予測モードは、角度が-45°、0°、45°、90°、135°である角度モードを含まない。
【0257】
エンコーディング側では、現在のブロックに対して、TMRLモードの候補リスト内の組み合わせが選択され、且つIPFが使用される場合、その組み合わせに基づいてIPFを使用して現在のブロックを予測し、その組み合わせに基づく結果と、その組み合わせの中の角度モードと別の参照ラインに基づく予測結果とを重み付けし、現在のブロックの予測値を得る。ひいては、現在のブロックの再構成値を確定することができる。
【0258】
TMRLに基づいてIPFを使用するために、TMRLの候補リストを構築する際に、拡張参照ラインと角度モードの組み合わせに基づいて得られる融合予測モードも候補リスト内の1つの組み合わせとすることができる。
【0259】
本願の一実施形態は、エンコーダーに適用することも、デコーダーに適用することもできる、マルチ参照ラインイントラ予測モードの候補リストの構築方法を提供する。図14に示すように、この方法は次の内容を含む。
ステップ810において、現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個のオリジナルの組み合わせを取得する。
ステップ820において、N×M個のオリジナルの組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。
ステップ830において、誤差が最も小さいK個のオリジナルの組み合わせにおける、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、融合が必要であるか否かを確定し、融合が必要である場合、オリジナルの組み合わせに対応する融合組み合わせを現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに記入し、融合が必要ではない場合、オリジナルの組み合わせを候補リストに記入する。K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされた。
【0260】
本実施形態では、誤差が最も小さいK個のオリジナルの組み合わせにおける、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、融合が必要であるか否かを確定し、融合が必要である場合、オリジナルの組み合わせに対応する融合組み合わせを現在のブロックのTMRLモードの候補リストに記入することは、
オリジナルの組み合わせに対応する融合組み合わせに基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算し、オリジナルの組み合わせに対応する誤差が融合組み合わせに対応する誤差より大きい場合、融合が必要であると確定し、オリジナルの組み合わせに対応する誤差が融合組み合わせに対応する誤差以下である場合、融合が必要でないと確定すること、を含む。
融合組み合わせに基づいて、現在のブロックに対して予測を実行する場合、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とし、第1予測結果は、オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2予測結果は、オリジナルの組み合わせにおける角度モードと第2参照ラインに基づいて現在のブロックを予測することによって得られた予測結果であり、第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインであり、
予め確定された角度モードはすべての角度モードを含み、または、整数傾きの角度モード以外の角度モードを含む。
【0261】
本実施形態の第1予測結果と第2予測結果の加重和は、上述の公式一または公式二に従って計算することができる。
【0262】
本実施形態では、融合を行わないモードをソートしてK個の組み合わせを選出して候補リストを構築する。次に、K個の組み合わせの各々にある参照ラインに対して融合する必要があるかどうかを逐一確定する。確定方法は、現在の選択された組み合わせにある参照ラインにより、融合モードと非融合モードで生成された予測信号と再構成信号の間の誤差の大きさに基づいて、融合モードを使用する場合の誤差がより小さければ、この組み合わせに対して融合を使用し、そうでなければ融合を使用しない、ということである。本実施形態では、(5×M+K)個の組み合わせに基づいてテンプレート領域に対して予測と誤差値計算を行うだけでよい。
【0263】
本願の他の実施形態は、エンコーダーに適用することも、デコーダーに適用することもできる、マルチ参照ラインイントラ予測モードの候補リストの構築方法を提供する。図15に示すように、この方法は次の内容を含む。
ステップ910において、現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個のオリジナルの組み合わせを取得する。
ステップ920において、N×M個のオリジナルの組み合わせに対して融合処理を実行する。融合処理は、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、設定条件が満たされた場合、オリジナルの組み合わせを対応する融合組み合わせに置き換えることを含む。
ステップ930において、融合処理を実行したN×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。
ステップ940において、現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入する。
K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされ、
オリジナルの組み合わせに対応する融合組み合わせに基づいて、現在のブロックに対して予測を実行する場合、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とし、第1予測結果は、オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2予測結果は、オリジナルの組み合わせにおける角度モードと第2参照ラインに基づいて現在のブロックを予測することによって得られた予測結果であり、第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである。
【0264】
本実施形態の一例において、設定条件は、次の条件のいずれか1つ以上を含む。
現在のブロックのサイズがN×Mより大きく、NとMは設定された正の整数であること。
現在のブロックに対して選択されたイントラ予測モードが、整数傾きの角度モードではないこと。
予め確定された角度モードはすべての角度モードを含み、または、整数傾きの角度モード以外の角度モードを含むこと。
【0265】
本実施形態の第1予測結果と第2予測結果の加重和は、上述の公式一または公式二に従って計算することができる。
【0266】
本実施形態では、テンプレート上の誤差コストの順番付けに基づいて、参照ラインのための融合モードと非融合モードを同時に順番付けする必要はない。次の条件の1つ以上が満たされた場合、隣接する参照ラインのための融合モードを使用して、テンプレートのための順番付けに参加させ、組み合わせ{参照ライン,予測モード}のリストを生成し、そうではない場合、融合モードを使用しない。条件は次の通りである。
現在のブロックのサイズがN×Mより大きいこと。
現在のイントラ予測モードがPLANAR、DC、水平角度、垂直角度、-45度、45度、135度の角度モードではないこと。
【0267】
予測段階では、現在のブロックに対してTMRLを使用する場合、デコードして得られたtmrl_idxと、テンプレートベースの順番付けを踏まえて生成された候補リストとに基づいて、選択された参照ラインと予測モードを確定し、同じ条件に基づいて、隣接する参照ラインを用いて、融合した予測結果を生成するかどうかを確定する。すなわち、以下の条件の1つ以上が満たされるときに、選択された角度モードに対してIPFを行う。
現在のブロックのサイズがN×Mより大きいこと。
現在のイントラ予測モードがPLANAR、DC、水平角度、垂直角度、-45度、45度、135度の角度モードではないこと。
【0268】
本願のさらに別の実施形態は、エンコーダーに適用されることも、デコーダーに適用されることもできる、マルチ参照ラインイントラ予測モードの候補リストの構築方法を提供し、図16に示すように、この方法は次の内容を含む。
ステップ1010において、現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインと角度モードのN×M個のオリジナルの組み合わせを取得する。
ステップ1020において、N×M個のオリジナルの組み合わせのうちの、予め確定された角度モードを含むオリジナルの組み合わせに基づいて、対応する融合組み合わせを取得する。
ステップ1030において、N×M個のオリジナルの組み合わせと取得された融合組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。
ステップ1040において、現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入する。K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされた。
【0269】
本実施形態は、N×M個のオリジナルの組み合わせのうちの、予め確定された角度モードを含むオリジナルの組み合わせに基づいて、対応する融合組み合わせを取得することは、予め確定された角度モードを含むオリジナルの組み合わせの各々に基づいて、1つの融合組み合わせを取得することを含む。融合組み合わせに基づいて、現在のブロックに対して予測を実行する際、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とする。第1予測結果は、オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2予測結果は、第2参照ラインとオリジナルの組み合わせにおける角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである。予め確定された角度モードはすべての角度モードを含み、または、整数傾きの角度モード以外の角度モードを含む。
【0270】
本実施形態では、組み合わせに参加するイントラ予測モードがすべて角度モードである場合、5×M×2個の組み合わせに基づいてテンプレート領域上の予測と誤差値計算を行う必要がある。
【0271】
本実施形態の第1予測結果と第2予測結果の加重和は、上述の公式一または公式二に従って計算することができる。
【0272】
本願の上記実施形態では、組み合わせに参加する参照ラインはインデックスが{1,3,5,7,12}の参照ラインであることを例示する。例えば、オリジナルの組み合わせは、インデックスが1である参照ラインと、ある角度モードとの組み合わせである場合、オリジナルの組み合わせに対応する融合組み合わせは、インデックスが1と2である2つの参照ラインとその角度モードとの組み合わせであることができる。この融合組み合わせに基づいて現在のブロックを予測する際に、インデックスが1である参照ラインとその角度モードとの予測結果、およびインデックスが2である参照ラインとその角度モードとの予測結果に重み付けを行って、現在のブロックの最終的な予測結果を得る。別の例では、第2参照ラインとして内側の隣接する参照ラインを選択し、そうなると、対応する融合組み合わせは、インデックスが0と1である2つの参照ラインとその角度モードの組み合わせであることができる。
【0273】
以上の実施形態に従ってTMRLモードの候補リストを構築する方法をビデオエンコーディング及びビデオデコーディングに適用する場合、現在のブロックに対して選択されたのは候補リスト内の融合組み合わせであれば、その融合組み合わせの予測方式に従って現在のブロックに対して融合予測を実行し、選択されたのは候補リスト内のオリジナルの組み合わせであれば、オリジナルの組み合わせの予測方式に従って現在のブロックを予測し、IPFを使用しない。
【0274】
本願の一実施形態は、本願のいずれかの実施形態に記載のビデオエンコーディング方法によって生成されるビットストリームをさらに提供する。
【0275】
また、本願の一実施形態は、マルチ参照ラインイントラ予測モードの候補リストの構築装置をさらに提供する。図17に示すように、マルチ参照ラインイントラ予測モードの候補リストの構築装置は、プロセッサ71と、コンピュータプログラムを記憶したメモリ73とを備える。プロセッサ71がコンピュータプログラムを実行すると、本明細書のいずれか1つの実施形態に記載のマルチ参照ラインイントラ予測モードの候補リストの構築方法を実現することができる。
【0276】
本願の一実施形態は、イントラ予測融合装置をさらに提供する。イントラ予測融合装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを含む。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のイントラ予測融合方法を実現することができる。
【0277】
本願の一実施形態は、ビデオデコーディング装置をさらに提供する。ビデオデコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができる。
【0278】
本願の一実施形態は、ビデオエンコーディング装置をさらに提供する。ビデオエンコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0279】
本願の一実施形態は、ビデオコーディングシステムをさらに提供する。ビデオコーディングシステムは、本願のいずれか1つの実施形態に記載のビデオエンコーディング装置と、本願のいずれか1つの実施形態に記載のビデオデコーディング装置を含む。
【0280】
本願の一実施形態は、非一時的なコンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、コンピュータプログラムは、プロセッサによって実行されると、本願のいずれか1つの実施形態に記載のイントラ予測融合方法を実現することができ、または、本願のいずれか1つの実施形態に記載のマルチ参照ラインイントラ予測モードの候補リストの構築方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0281】
本願の上記実施形態のプロセッサは、中央処理装置(CPU)、ネットワークプロセッサ(Network Processor、NP)、マイクロプロセッサなどを含む汎用プロセッサであることができ、又は他の通常のプロセッサなどであることができる。プロセッサは、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラム可能なゲートアレイ(field programmable gate array、FPGA)、ディスクリートロジック又は他のプログラム可能なロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントであることもでき、又は他の等価に集積された又はディスクリート論理回路であることもでき、上記コンポーネントの組み合わせであることもできる。即ち、上記実施形態のプロセッサは、本発明の実施形態に開示された様々な方法、ステップ及び論理ブロック図を実現する任意の処理コンポネント又はコンポネントの組み合わせであることができる。本願の実施形態が部分的にソフトウェアで実施される場合、ソフトウェアに用いられる命令が適切な不揮発性コンピュータ可読記憶媒体に記憶されることができ、1つ又は複数のプロセッサにより、ハードウェアで命令を実行することで本願の実施形態の方法を実施することができる。本明細書で使用する「プロセッサ」という用語は、上述した構造、又は本明細書で説明する技術を実施するのに適した任意の他の構造を指すことができる。
【0282】
上記1つ又は複数の例示的な実施形態において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されることができる。ソフトウェアによって実現される場合、機能は1つもしくは複数の命令又はコードとしてコンピュータ可読媒体に記憶され、又は、コンピュータ可読媒体を介して伝送されることができ、ハードウェアベースの処理ユニットによって実行される。コンピュータ可読媒体は、データ記憶媒体などの有形媒体であるコンピュータ可読媒体を含み、又は、コンピュータプログラムが例えば通信プロトコルに従ってあるところから別のところへ伝送されることを容易にする任意の通信媒体を含むことができる。このように、コンピュータ可読媒体は通常、非一時的な有形のコンピュータ可読記憶媒体、又は信号もしくはキャリアなどの通信媒体であることができる。データ記憶媒体は、本願に記載の技術を実施するための命令、コード、及び/又はデータ構造を検索するために、1つもしくは複数のコンピュータ又は1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であってもよい。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
【0283】
限定的ではない例として、このようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ(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)、フロッピーディスク、又はブルーレイディスクなどを含み、磁気ディスクは通常、磁気的にデータを再生し、光ディスクはレーザーを使用して光学的にデータを再生する。上記の組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0284】
いくつかの態様において、本明細書で説明する機能は、エンコーディング及びデコーディングに用いられるように構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供されることができ、または、集積エンコーダー・デコーダーに組み込まれることもできる。また、本明細書で説明する技術は、1つもしくは複数の回路又は論理素子に完全に実現されることができる。
【0285】
本願の実施形態の技術案は、無線携帯電話、集積回路(IC)、又は1セットのIC(例えば、チップセット)を含む様々な装置又は機器に実施され得る。本願の実施形態では、様々なコンポーネント、モジュール、又はユニットを用いて、説明した技術を実行するように構成されたデバイスの機能を強調する。必ずしも異なるハードウェアユニットによって実現されるとは限らない。上述したように、様々なユニットは、エンコーダーとデコーダーというハードウェアユニットにおいて組み合わせられてもよく、相互運用可能なハードウェアユニット(上述した1つ又は複数のプロセッサを含む)の集合体と適切なソフトウェア及び/又はファームウェアとの組み合わせで提供されてもよい。
図1A
図1B
図1C
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
【手続補正書】
【提出日】2025-06-18
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の参照
本願は、発明の名称が「候補リストの構築方法、ビデオエンコーディング方法及び装置、ビデオデコーディング方法及び装置、並びにビデオコーディングシステム」とされ、2022年7月8日に出願された中国特許出願第202210806435.X号の優先権を主張し、その全ての内容が引用として本願に組み込まれる。
【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】
本願の一実施形態は、イントラ予測融合方法を提供する。イントラ予測融合方法は、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定することと、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することと、を含む。
【0007】
本願の一実施形態は、ビデオデコーディング方法をさらに提供する。ビデオデコーディング方法は、ビットストリームをデコードして、現在のブロックに対して選択された参照ラインとイントラ予測モードを確定することと、本願のいずれか1つの実施形態に記載のイントラ予測融合方法に基づいて現在のブロックを予測して現在のブロックの予測値を得ることと、現在のブロックの予測値に基づいて現在のブロックの再構成値を確定することと、を含む。
【0008】
本願の一実施形態は、ビデオエンコーディング方法をさらに提供する。ビデオエンコーディング方法は、モード選択で現在のブロックに対して選択された参照ラインとイントラ予測モードを確定することと、本願のいずれか1つの実施形態に記載のイントラ予測融合方法に基づいて現在のブロックを予測して現在のブロックの予測値を得ることと、現在のブロックのオリジナル値と予測値に基づいて、現在のブロックの残差を確定することと、を含む。
【0009】
本願の一実施形態は、ビデオデコーディング方法をさらに提供する。ビデオデコーディング方法は、
デコーディングにより、現在のブロックに対してテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードが使用されると確定する場合、引き続き現在のブロックのTMRLモードインデックスとTMRL融合フラグをデコードすることと、
現在のブロックに対してTMRLモードの候補リストを構築し、候補リストとTMRLモードインデックスに基づいて、現在のブロックに対して選択された拡張参照ラインとイントラ予測モードを確定することと、
TMRL融合フラグがイントラ予測融合(IPF)が使用されることを示す場合、第1予測結果と第2予測結果の加重和を、現在のブロックの最終的な予測結果とすることと、を含み、
第1予測結果は、拡張参照ラインとイントラ予測モードとに基づいて現在のブロックを予測することによって得られ、第2予測結果は、他の参照ラインとイントラ予測モードに基づいて現在のブロックを予測することによって得られ、このイントラ予測モードは角度モードである。
【0010】
本願の一実施形態は、ビデオエンコーディング方法をさらに提供する。ビデオエンコーディング方法は、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストを構築することであって、候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入される、構築することと、
レート歪み最適化を通じて、現在のブロックのために、参照ラインとイントラ予測モードの1つの組み合わせを選択することと、
現在のブロックのTMRLモードのエンコーディング条件が満たされた場合、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用することを示し、現在のブロックのTMRLモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示すことと、
現在のブロックのTMRL融合フラグをエンコードして現在のブロックに対してイントラ予測融合(IPF)が使用されるか否かを示すことと、を含む。
エンコーディング条件は、少なくとも、選択された組み合わせが候補リストにあることを含む。
【0011】
本願の一実施形態は、マルチ参照ライン(MRL)イントラ予測モードの候補リストの構築方法をさらに提供する。MRLイントラ予測モードの候補リストの構築方法は、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインと角度モードのN×M個のオリジナルの組み合わせを取得することと、
N×M個のオリジナルの組み合わせのうちの、予め確定された角度モードを含むオリジナルの組み合わせに基づいて、対応する融合組み合わせを取得することと、
N×M個のオリジナルの組み合わせと取得された融合組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入することであって、K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされた、記入することと、を含む。
【0012】
本願の一実施形態は、マルチ参照ライン(MRL)イントラ予測モードの候補リストの構築方法をさらに提供する。MRLイントラ予測モードの候補リストの構築方法は、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個のオリジナルの組み合わせを取得することと、
N×M個のオリジナルの組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
誤差が最も小さいK個のオリジナルの組み合わせにおける、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、融合が必要であるか否かを確定し、融合が必要である場合、オリジナルの組み合わせに対応する融合組み合わせを現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに記入し、融合が必要ではない場合、オリジナルの組み合わせを候補リストに記入することであって、K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされた、記入することと、を含む。
【0013】
本願の一実施形態は、マルチ参照ライン(MRL)イントラ予測モードの候補リストの構築方法をさらに提供する。MRLイントラ予測モードの候補リストの構築方法は、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個のオリジナルの組み合わせを取得することと、
N×M個のオリジナルの組み合わせに対して融合処理を実行することであって、融合処理は、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、設定条件が満たされた場合、オリジナルの組み合わせを対応する融合組み合わせに置き換えることを含む、実行することと、
融合処理を実行したN×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入することと、を含む。
K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされ、
オリジナルの組み合わせに対応する融合組み合わせに基づいて、現在のブロックに対して予測を実行する場合、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とし、第1予測結果は、オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2予測結果は、オリジナルの組み合わせにおける角度モードと第2参照ラインに基づいて現在のブロックを予測することによって得られた予測結果であり、第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである。
【0014】
本願の一実施形態は、ビットストリームをさらに提供する。ビットストリームは、本願のいずれか1つの実施形態に記載のビデオエンコーディング方法によって生成される。
【0015】
本願の一実施形態は、イントラ予測融合装置をさらに提供する。イントラ予測融合装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを含む。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のイントラ予測融合方法を実現することができる。
【0016】
本願の一実施形態は、マルチ参照ラインイントラ予測モードの候補リストの構築装置をさらに提供する。マルチ参照ラインイントラ予測モードの候補リストの構築装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のマルチ参照ラインイントラ予測モードの候補リストの構築方法を実現することができる。
【0017】
本願の一実施形態は、ビデオデコーディング装置をさらに提供する。ビデオデコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができる。
【0018】
本願の一実施形態は、ビデオエンコーディング装置をさらに提供する。ビデオエンコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0019】
本願の一実施形態は、ビデオコーディングシステムをさらに提供する。ビデオコーディングシステムは、本願のいずれか1つの実施形態に記載のビデオエンコーディング装置と、本願のいずれか1つの実施形態に記載のビデオデコーディング装置を含む。
【0020】
本願の一実施形態は、非一時的なコンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、コンピュータプログラムは、プロセッサによって実行されると、本願のいずれか1つの実施形態に記載のイントラ予測融合方法を実現することができ、又は本願のいずれか1つの実施形態に記載のマルチ参照ラインイントラ予測モードの候補リストの構築方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0021】
図面及び詳細な説明を読み通して理解した後、他の方面を理解することができる。
【図面の簡単な説明】
【0022】
図面は、本願の実施形態を理解するために提供され、明細書の一部を構成し、本願の実施形態とともに本願の技術案を説明するために用いられ、本願の技術案の限定を構成するものではない。
図1A】本願の一実施形態に係るコーディングシステムを示す概略図である。
図1B】本願の一実施形態に係るエンコーディング側のフレームワークを示す図である。
図1C】本願の一実施形態に係るデコーディング側のフレームワークを示す図である。
図2】本願の一実施形態に係るイントラ予測モードを示す概略図である。
図3】本願の一実施形態に係る現在のブロックの隣接するイントラ予測ブロックを示す概略図である。
図4】本願の一実施形態に係る現在のブロックのテンプレート及びテンプレート参照領域を示す概略図である。
図5】本願の一実施形態に係る現在のブロックの周囲にある複数の参照ラインを示す概略図である。
図6】本願の一実施形態に係るビデオエンコーディング方法を示すフローチャートである。
図7】本願の一実施形態に係るTMRLモードの候補リストの構築方法を示すフローチャートである。
図8A】本願の一実施形態に係る現在のブロックの周囲にあるテンプレート領域及び拡張参照ラインを示す概略図である。
図8B】本願の別の実施形態に係る現在のブロックの周囲にあるテンプレート領域及び拡張参照ラインを示す概略図である。
図9】本願の一実施形態に係るビデオデコーディング方法を示すフローチャートである。
図10】本願の一実施形態に係るイントラ予測融合方法を示すフローチャートである。
図11】本願の別の実施形態に係るビデオエンコーディング方法を示すフローチャートである。
図12】本願の別の実施形態に係るビデオデコーディング方法を示すフローチャートである。
図13】本願の別の実施形態に係るビデオデコーディング方法を示すフローチャートである。
図14】本願の一実施形態に係るTMRLモードの候補リストの構築方法を示すフローチャートである。
図15】本願の別の実施形態に係るTMRLモードの候補リストの構築方法を示すフローチャートである。
図16】本願のさらに別の実施形態に係るTMRLモードの候補リストの構築方法を示すフローチャートである。
図17】本願の一実施形態に係るTMRLモードの候補リストの構築装置を示す概略図である。
図18】本願の別の実施形態に係るビデオエンコーディング方法を示すフローチャートである。
【発明を実施するための形態】
【0023】
本願では、複数の実施形態を説明するが、その説明は例示的なものであり、限定的なものではない。また、本願に記載される実施形態に含まれる範囲内で、より多くの実施例及び実施形態が得られることは、本分野の当業者にとって明らかである。
【0024】
本願の説明において、「例示的な」又は「例えば」などの用語は、「例として、例証、説明」を意味する。本願において、「例示的に」又は「例えば」で説明されるいかなる実施形態は他の実施形態より優れていると解釈されるべきではない。本明細書における用語「及び/又は」は関連対象の関連関係を説明するものであり、3種類の関係が存在することを示す。例えば、A及び/又はBの場合、Aのみが存在すること、AとBが同時に存在すること、Bのみが存在することという3つの状況を示す。「複数」は2つ以上のことをいう。また、本願の実施形態の技術案を明確に説明するために、「第1」、「第2」などの用語で、機能や役割がほぼ同じである同一又は類似のものを区別する。当業者は以下のことを理解できる。「第1」、「第2」などの用語は、数や実行順序を限定するものではなく、且つ「第1」、「第2」などの用語は、必ず異なること、を限定するものではない。
【0025】
代表的な例示的実施形態の説明において、本明細書では、方法及び/又はプロセスを、特定のステップのシーケンスとして提示している可能性がある。しかしながら、当該方法又はプロセスは本明細書に記載されるステップの特定のシーケンスに依存せず、当該方法又はプロセスは、記載される特定のシーケンスのステップに限定されるべきではない。当業者に理解されるように、他のステップの順序も可能である。従って、明細書に記載されるステップの特定の順序は、特許請求の範囲の限定として解釈されるべきではない。さらに、方法及び/又はプロセスに対応する請求項に対しては、記載される順序でステップを実行することに限定されるべきではない。当業者であれば、これらの順序が変化してもよく、変化しても依然として本願の実施形態の精神及び範囲内に属することを容易に理解できる。
【0026】
本願の実施形態に係るイントラ予測融合(Intra prediction fusion、IPF)方法、ビデオコーディング方法は、様々なビデオコーディング規格に適用されることができる。例として、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)によって作成された規格、及びこれらの規格の拡張、又はカスタマイズされた他の任意の規格などが挙げられる。
【0027】
図1Aは、本願の実施形態に使用され得るビデオコーディングシステムを示すブロック図である。図に示されるように、当該システムは、エンコーディング側装置1とデコーディング側装置2とに分けられる。エンコーディング側装置1は、ビットストリームを生成する。デコーディング側装置2は、ビットストリームをデコードすることができる。デコーディング側装置2は、リンク3を介してエンコーディング側装置1からビットストリームを受信することができる。リンク3は、ビットストリームをエンコーディング側装置1からデコーディング側装置2へ移動させることができる1つ又は複数の媒体又は装置を含む。一例では、リンク3は、エンコーディング側装置1がビットストリームをデコーディング側装置2に直接に送信することを可能にする1つ又は複数の通信媒体を含む。エンコーディング側装置1は、通信規格(例えば、無線通信プロトコル)に従ってビットストリームを変調し、変調されたビットストリームをデコーディング側装置2に送信することができる。上記1つ又は複数の通信媒体は、無線通信媒体及び/又は有線通信媒体を含むことができ、パケットネットワークの一部を形成することができる。別の例では、ビットストリームは、出力インターフェース15から記憶装置に出力されることもできる。デコーディング側装置2はストリーミング(streaming)又はダウンロードを介して、当該記憶装置から記憶されたデータを読み出すことができる。
【0028】
図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を含まなくてもよい。他の例では、デコーディング側は、デコードされたデータが適用可能な他の装置又は機器を含んでもよい。
【0029】
図1Aに示すビデオコーディングシステムに基づいて、様々なビデオコーディング方法を用いてビデオ圧縮と解凍を実現することができる。
【0030】
図1Bは、本願の実施形態に使用され得る例示的なビデオエンコーディング装置のブロック図である。図に示すように、当該ビデオエンコーディング装置1000は、予測ユニット1100と、分割ユニット1101と、残差生成ユニット1102(図において分割ユニット1101に次ぐ+付きの円で示す)と、変換処理ユニット1104と、量子化ユニット1106と、逆量子化ユニット1108と、逆変換処理ユニット1110と、再構成ユニット1112(図において逆変換処理ユニット1110に次ぐ+付きの円で示す)と、フィルタユニット1113と、デコードされた画像のバッファ1114と、エントロピーエンコーディングユニット1115とを含む。予測ユニット1100は、インター予測ユニット1121と、イントラ予測ユニット1126とを含む。デコードされた画像のバッファ1114は、デコード済みの画像のバッファ、デコーディング画像のバッファ、デコードされた画像のためのバッファなどと呼ばれてもよい。ビデオエンコーディング装置1000はまた、この例と比べてより多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例えば、いくつかの場合では、変換処理ユニット1104、逆変換処理ユニット1110などを含まなくてもよい。
【0031】
分割ユニット1101は、予測ユニット1100と協働して、受信したビデオデータをスライス(Slice)、コーディングツリーユニット(Coding Tree Unit、CTU)、又は他の比較的大きなユニットに分割する。分割ユニット1101によって受信されるビデオデータは、Iフレーム、PフレームやBフレームなどのビデオフレームを含むビデオシーケンスであってもよい。
【0032】
予測ユニット1100は、CTUをコーディングユニット(Coding Unit、CU)に分割し、CUに対してイントラ予測コーディング又はインター予測コーディングを行うことができる。CUに対してイントラ予測とインター予測を行う場合、CUを1つ又は複数の予測ユニット(PU)に分割することができる。
【0033】
インター予測ユニット1121は、PUに対してインター予測を行って、PUの予測データを生成することができる。当該予測データは、PUの予測ブロック、PUの動き情報、及び様々なシンタックスエレメントを含む。インター予測ユニット1121は、動き推定(Motion Estimation、ME)ユニット及び動き補償(Motion Compensation、MC)ユニットを含むことができる。動き推定ユニットは、動きベクトルを生成するために動き推定に用いられることができ、動き補償ユニットは、動きベクトルに基づいて予測ブロックを取得し又は生成するために用いられることができる。
【0034】
イントラ予測ユニット1126は、PUに対してイントラ予測を行って、PUの予測データを生成することができる。当該PUの予測データは、PUの予測ブロック及び様々なシンタックスエレメントを含むことができる。
【0035】
残差生成ユニット1102は、CUのオリジナルブロックから、CUを分割することで得られたPUの予測ブロックを減算して、CUの残差ブロックを生成することができる。
【0036】
変換処理ユニット1104は、CUを1つ又は複数の変換ユニット(Transform Unit、TU)に分割することができる。予測ユニットの分割と変換ユニットの分割は異なってもよい。TUに関連する残差ブロックは、CUの残差ブロックを分割することによって得られるサブブロックである。TUに関連する残差ブロックに1つ又は複数の変換を適用することによって、TUに関連する係数ブロックが生成される。
【0037】
量子化ユニット1106は、選択された量子化パラメータ(Quantization Parameter、QP)に基づいて、係数ブロック内の係数を量子化することができる。係数ブロックへの量子化の度合いは、QPを調整することによって調整されることができる。
【0038】
逆量子化ユニット1108及び逆変換処理ユニット1110は、係数ブロックに逆量子化及び逆変換をそれぞれ適用して、TUに関連する再構成残差ブロックを得ることができる。
【0039】
再構成ユニット1112は、再構成残差ブロックと予測ユニット1100によって生成された予測ブロックとを加算することによって、再構成画像を生成することができる。
【0040】
フィルタユニット1113は、再構成画像に対してインループフィルタリングを行って、フィルタリングされた再構成画像を参照画像としてデコードされた画像のバッファ1114に記憶する。イントラ予測ユニット1126は、デコードされた画像のバッファ1114からPUに隣接するブロックの参照画像を抽出して、イントラ予測を行うことができる。インター予測ユニット1121は、デコードされた画像のバッファ1114にキャッシュされた1フレーム前の参照画像を利用して、現在画像のPUに対してインター予測を行うことができる。
【0041】
エントロピーエンコーディングユニット1115は、受信したデータ(例えば、シンタックスエレメント、量子化された係数ブロック、動き情報など)に対してエントロピーエンコーディング操作を行う。
【0042】
図1Cは、本願の実施形態に使用され得る例示的なビデオデコーディング装置のブロック図である。図に示すように、ビデオデコーディング装置101は、エントロピーデコーディングユニット150と、予測ユニット152と、逆量子化ユニット154と、逆変換処理ユニット155と、再構成ユニット158(図において逆変換処理ユニット155に次ぐ+付きの円で示す)と、フィルタユニット159と、デコードされた画像のバッファ160とを含む。他の実施形態では、ビデオデコーディング装置101は、より多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例えば、いくつかの場合では、逆変換処理ユニット155などを含まなくてもよい。
【0043】
エントロピーデコーディングユニット150は、受信したビットストリームに対してエントロピーデコーディングを行って、シンタックスエレメント、量子化された係数ブロック及びPUの動き情報などの情報を抽出することができる。予測ユニット152、逆量子化ユニット154、逆変換処理ユニット155、再構成ユニット158、及びフィルタユニット159はいずれも、ビットストリームから抽出されたシンタックスエレメントに基づいて、対応する操作を実行することができる。
【0044】
逆量子化ユニット154は、量子化されたTUに関連する係数ブロックを逆量子化することができる。
【0045】
逆変換処理ユニット155は、TUの再構成残差ブロックを生成するために、逆量子化された係数ブロックに1つ又は複数の逆変換を適用することができる。
【0046】
予測ユニット152は、インター予測ユニット162と、イントラ予測ユニット164とを含む。イントラ予測コーディングがPUに用いられる場合、イントラ予測ユニット164は、ビットストリームからデコードされたシンタックスエレメントに基づいて、PUのイントラ予測モードを確定し、確定されたイントラ予測モードと、デコードされた画像のバッファ160から取得されたPUに隣接する再構成された参照情報とに基づいて、イントラ予測を実行して、PUの予測ブロックを生成することができる。インター予測コーディングがPUに用いられる場合、インター予測ユニット162は、PUの動き情報及び対応するシンタックスエレメントに基づいてPUの1つ又は複数の参照ブロックを確定し、デコードされた画像のバッファ160から取得された参照ブロックに基づいてPUの予測ブロックを生成することができる。
【0047】
再構成ユニット158は、TUに関連する再構成残差ブロックと、予測ユニット152によって生成されたPUの予測ブロックとに基づいて、再構成画像を得ることができる。
【0048】
フィルタユニット159は、再構成画像に対してインループフィルタリングを実行することができる。プフィルタリングされた再構成画像が、デコードされた画像のバッファ160に記憶される。デコードされた画像のバッファ160は、後続の動き補償、イントラ予測、インター予測などに用いられる参照画像を提供することができ、また、プフィルタリングされた再構成画像をデコードされたビデオデータとして出力し、表示装置で表示することもできる。
【0049】
上記ビデオエンコーディング装置及びビデオデコーディング装置に基づいて、以下の基本的なコーディングの流れが実行されることができる。エンコーディング側では、1つの画像をブロックに分割し、現在のブロックに対して、イントラ予測もしくはインター予測を行うことにより又は他のアルゴリズムで、現在のブロックの予測ブロックを生成し、現在のブロックのオリジナルブロックから予測ブロックを減算して残差ブロックを取得し、残差ブロックを変換・量子化して量子化係数を取得し、量子化係数をエントロピーコーディングしてビットストリームを生成する。デコーディング側では、現在のブロックに対してイントラ予測又はインター予測を行うことにより現在のブロックの予測ブロックを生成し、一方、ビットストリームをデコードして得られた量子化係数を逆量子化・逆変換して残差ブロックを取得し、予測ブロックと残差ブロックとを加算して再構成ブロックを取得する。再構成ブロックは再構成画像を形成する。画像又はブロックに基づいて再構成画像をインループフィルタリングしてデコードされた画像を取得する。エンコーディング側でも、デコードされた画像を取得するために、デコーディング側と類似の処理を行う。エンコーディング側で取得した、デコードされた画像は通常、再構成画像とも呼ばれる。デコードされた画像は後続の画像に対するインター予測のための参照画像とされることができる。エンコーディング側で確定されたブロック分割情報、予測、変換、量子化、エントロピーコーディング、インループフィルタリングなどのモード情報とパラメータ情報などは、必要に応じてビットストリームに書き込まれる。デコーディング側は、ビットストリームをデコードし又は既存情報を分析して、エンコーディング側と同じブロック分割情報、予測、変換、量子化、エントロピーコーディング、インループフィルタリングなどのモード情報とパラメータ情報を確定する。それによって、エンコーディング側で取得されたデコードされた画像とデコーディング側で取得されたデコードされた画像とが同じであることが確保される。
【0050】
上記はプロックに基づいた混合コーディングフレームワークの例であるが、本願の実施形態はそれに限定されない。技術の発展に伴って、当該フレームワーク内の1つ又は複数のモジュール、及び当該プロセス内の1つ又は複数のステップを置き換えたり最適化したりすることができる。
【0051】
本明細書では、現在のブロック(current block)は、現在の画像における現在のコーディングユニット(current CU)、現在の予測ユニット(current PU)などのようなブロックレベルのコーディングユニットであることができる。
【0052】
エンコーディング側では、イントラ予測において、通常、様々な角度モードと非角度モードを通じて現在のブロックを予測して予測ブロックを得る。予測ブロックとオリジナルブロックから算出されたレート歪み情報に基づいて、現在のブロックのために最適なイントラ予測モードを選択し、このイントラ予測モードをエンコードしてビットストリームを通じてデコーディング側に伝送する。デコーディング側では、デコードすることで現在のブロックのために選択されたイントラ予測モードを取得し、このイントラ予測モードに従って現在のブロックのイントラ予測を行う。本明細書では、現在のブロックのために選択された参照ラインとイントラ予測モードは、現在のブロックに対して選択された参照ラインとイントラ予測モードとも記載される。
【0053】
VVCとECMにおいて、複数種類の従来のイントラ予測モードは、現在のブロックの周辺にある再構成された情報を用いて現在のブロックを予測する。平面モード(すなわち、Planarモード、モードインデックスが0)、平均値モード(すなわち、DCモード、モードインデックスが1)、及び65個の角度予測モード(モードインデックスが2~66)を含む。図2は、モードインデックスが2~66の角度モードの角度方向を示す。本文では、角度予測モードを角度モードとも略称する。
【0054】
VVCには長方形の予測ブロックが導入されているため、長方形のブロックについては、インデックスが2~66の角度モードのうち、いくつかの角度モードの角度方向が、より広い角度方向に置き換えられることができる。図示するように、インデックスが-14~-1、67~80の角度モードは、広角度置換によって得られる角度モードである。これらの角度モードの選択は、フラグで表わす必要はなく、現在のブロックの形状と現在のブロックのために選択された予測モードのインデックス(2~66)との対応関係によって得られる。
【0055】
VVC規格において、広角度の置き換え方は、以下の通りである。
【0056】
変数whRatioは、Abs( Log2( blockWidth ) - Log2( blockHeight ) )である。
非正方形の予測ブロックについて、角度予測モードpredModeIntra (2~66)に対して、以下の条件が満たされるか否かに基づいて広角度置換をする。predModeIntraはインデックスで示される。
次の3つの条件がいずれも満たされた場合、predModeIntraは( predModeIntra + 65 )に等しい。
現在のブロックの幅は高さより大きい。
角度モードインデックスは2以上である。
角度モードインデックスは、( whRatio > 1 ) ? ( 8 + 2 * whRatio ) : 8未満である。
そうでなければ、次の3つの条件がいずれも満たされた場合、predModeIntraは(( predModeIntra - 67 )に等しい。
現在のブロックの高さは幅よりも大きい。
角度モードインデックスは66以下である。
角度モードインデックスは、( whRatio > 1 ) ? ( 60 - 2 * whRatio ) : 60より大きい。
広角度モードのマッチングが完了すると、角度予測モードpredModeIntra (-14~80)毎に1つの角度値intraPredAngleが存在する。
【0057】
【0058】
角度モードの角度値は、後続の角度予測に用いられる。
【0059】
【0060】
本明細書でいうイントラ予測モードとは、他の限定が無い場合には、P1anarモード、DCモード及び角度モードを含む従来のイントラ予測モードのことをいう。
【0061】
現在のブロックのイントラ予測モードを直接にエンコードすると、67種類のモードをエンコードするために7bitが必要となり、データ量が大きい。統計的特性から、現在のブロックに近いほど、このサンプル領域に対して選択されるイントラ予測モードと現在のブロックに対して選択されるイントラ予測モードが同じである傾向が高くなる。この特性に基づいて、HEVC、VVC、及び強化された圧縮モデル(Enhanced Compression Model、ECM)では、最確モード(Most probable Mode、MPM)技術が採用されている。ECMは、VTM-10.0参照ソフトウェアに基づいて、さまざまな新しいツールを統合して、コーディング性能をさらに引き出すことができる参照ソフトウェアである。
【0062】
MPMに対して、まずMPMリストを作成し、MPMリストには、現在のブロックのために選択される可能性が最も高い6種類のイントラ予測モードが記入される。現在のブロックのために選択されたイントラ予測モードがMPMリストにある場合、そのインデックス(3bitのみが必要)のみをエンコードする必要がある。現在のブロックのために選択されたイントラ予測モードがMPMリストになく、61個の非MPM(non-MPM)モード内にある場合、エントロピーエンコーディング段階でトランケートされたバイナリコード(Truncated Binary Code、TBC)を用いてこのイントラ予測モードをエンコードする。
【0063】
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に記入される。
【0064】
第1ステップにおいて、現在のブロックの周囲にある近隣の5つの位置での予測ブロックに対して使用されるイントラ予測モードを順番に充填する。図3に示すように、5つの位置は、現在のブロックの左上(AL)、上(A)、右上(AR)、左(L)、及び左下(BL)の位置を順番に含む。
【0065】
第2ステップにおいて、現在のブロックの周囲にある再構成されたサンプルに基づいて勾配ヒストグラムを用いて導出されたモードを充填する。
【0066】
第3ステップにおいて、第1ステップで選択された角度モードの角度に近い角度モードを充填する。
【0067】
Secondary MPMリストは、MPMにおけるイントラ予測モードのほかのいくつかの主な角度モードで構成することができる。
【0068】
MPMフラグ(mpm_flag)は、MRLモードの後にエンコードとデコードされるため、ECMにおけるMPMのエンコーディングとデコーディングは、MRLフラグに依存する。現在のブロックに対してMRLモードを使用しない場合、MPMフラグをデコードして現在のブロックに対してMPMを使用するか否かを判断する必要がある。現在のブロックに対してMRLモードを使用する場合、MPMフラグをデコードする必要はなく、現在のブロックに対してMPMを使用するのはデフォルトである。
【0069】
テンプレートベースのイントラモード導出(Template based intra mode derivation、TIMD)及びデコーダー側イントラモード導出(Decoder-side intra mode derivation、DIMD)は、VVC規格にはないが、ECM参照ソフトウェアに採用された2つのイントラ予測技術である。この2つの技術により、デコーダー側で現在のブロックの周囲の再構成されたサンプル値に基づいて、現在のブロックのイントラ予測モードを導出することができ、その結果、イントラ予測モードのインデックスのエンコーディングを省略してbitを省く役割を果たす。
【0070】
TIMDは、輝度フレームに対するイントラ予測モードである。TIMDモードは、MPMリスト内の候補のイントラ予測モードとテンプレート(Template)領域(略してテンプレートという)に基づいて生成される。ECMでは、図4に示すように、現在のブロック(例えば、現在のCU)11の左側隣接領域と上方隣接領域が現在のブロックのテンプレート領域12を構成する。その中の左側隣接領域を左側テンプレート領域(略して左テンプレートという)と呼び、上方隣接領域を上方テンプレート領域又は上側テンプレート領域(略して上テンプレートという)と呼ぶ。
【0071】
図示のように、テンプレート領域12の外側(左側と上側を意味する)にテンプレート参照(Reference of the Template)領域13が設けられており、各領域の例示的なサイズと位置が示されている。一例として、左テンプレートの幅L1と上テンプレートの高さL2はいずれも4である。テンプレート参照領域13は、テンプレート領域の上方の隣接する一行であってもよく、又は左側の隣接する一列であってもよい。
【0072】
TIMDでは、現在のブロックと現在のブロックのテンプレート領域の分布特性が同じであると仮定し、テンプレート参照領域の再構成値を参照ラインの再構成値とし、MPMとSecondary MPMにおける全てのイントラ予測モードをトラバースしてテンプレート領域を予測し、予測結果を得る。そして、テンプレート領域の再構成値と各モードの予測結果との誤差を算出し、差分変換絶対値和(Sum of absolute transformed differences、SATD)で表し、SATDが最小となるイントラ予測モード、すなわち最適なイントラ予測モードを選択し、このイントラ予測モードを現在のブロックのTIMDモードとする。デコーディング側では、同様の導出方式によりTIMDモードを導出することができる。シーケンスに対してTIMDを使用できれば、各現在のブロックは、TIMDを使用するか否かを示すフラグを必要とする。現在のブロックのために選択されたイントラ予測モードがTIMDモードである場合、現在のブロックに対してTIMDモードを使用して予測し、ISP、MPMなどのイントラ予測に関連する残りのシンタックスエレメントのデコーディングはスキップすることができ、これによりモードのコーディングビットを大幅に削減することができる。
【0073】
【0074】
重み付けの方法と重みは以下の式で示される。
【数1】
【数2】
【0075】
【0076】
DIMDでは、現在のブロックの周囲の再構成されたサンプル値をテンプレートとして、ソーベル(sobel)演算子によってテンプレート上の各3×3領域を走査して水平方向と垂直方向の勾配を計算し、水平方向と垂直方向の勾配DxとDyを求め、DxとDyに基づいて各位置の振幅値Amp = abs(Dx)+abs(Dy)および角度値angular = arctan(Dy/Dx)を求める。テンプレート上の各位置の角度値は従来の角度モードに対応し、同じ角度モードの振幅値を累算して振幅値と角度モードのヒストグラムを取得する。振幅値が最も高い角度モードと次に高い角度モードという2種の角度モードが存在する場合、振幅値が最も高い角度モード及び振幅値が次に高い角度モード並びにplanarモードの予測値に重み付けを行うことで、現在のブロックに対してDIMDを使用している場合の最終的な予測結果を得ることができる。このときの予測モードでは、planarモードと振幅値が最も高い角度モードと振幅値が次に高い角度モードという3つのイントラ予測モードが融合されている。本明細書ではDIMD融合モードと呼ぶ。振幅の最も高い角度モードと次に高い角度モードが存在しない場合、DIMDを用いた予測はplanarモード予測と同等である。
【0077】
HEVCでは、イントラ予測は、現在のブロックの最も近い上方の一行と左側の一列を参照として予測を行い、この一行と一列の再構成値とオリジナルサンプル値との誤差が大きい場合、現在のブロックの予測品質も大きな影響を受ける。この問題を解決するために、VVCはマルチ参照ライン(Multiple reference line、MRL)イントラ予測技術を採用し、インデックスが0の参照ライン(Reference line0)を使用するだけでなく、イントラ予測のために、インデックスが1の参照ライン(Reference line1)及びインデックスが2の参照ライン(Reference line2)を拡張された参照ラインとして使用することもできる。コーディングの複雑さを軽減するため、MPMにおける非planarモードのみに対してMRLが使用される。エンコーディング側では、各角度モードを用いて予測する際、この3つの参照ラインを全て試し、レート歪み最適化により、現在のブロックのためにレート歪みコスト(RD Cost)が最も小さい1つの参照ラインを選択し、選択された参照ラインのインデックスをエンコードしてデコーディング側に送る。デコーディング側はデコードして参照ラインのインデックスを取得し、参照ラインのインデックスに従って現在のブロックのために選択された参照ラインを確定し、それを現在のブロックの予測に使用する。
【0078】
図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に示す方式に従って番号付けされる。
【0079】
本明細書では、参照ラインを「ライン」と呼び、実際的に、1つの参照ラインには一行と一列が含まれ、一般に、予測するときに使用される参照ラインの再構成値には一行と一列の再構成値も含まれ、これは業界の通常の記述方法と同じである。
【0080】
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 }という式で表すことができる。このMRLインデックスリストにおいて、1番目の位置に記入されたインデックスは0であり、現在のブロックに最も近い参照ラインのインデックスであり、2番目から6番目の位置までに記入されたインデックスは、それぞれ1、3、5、7、12であり、現在のブロックとの距離が近いものから遠いものの順に並べられた5つの拡張参照ラインのインデックスである。
【0081】
現在のブロックのために選択された参照ラインがMRLインデックスリストにある場合、マルチ参照ラインインデックス(multiRefIdx)により、現在のブロックのために選択された参照ラインのMRLインデックスリストにおける位置を示し、MRLインデックスをエンコードすることで選択された参照ラインを表すことができる。MRLインデックスリストが{ 0, 1, 3, 5, 7, 12 }であることを例にすると、1番目の位置から6番目の位置に対応するMRLインデックスはそれぞれ0から5である。現在のブロックのために選択された参照ラインがインデックス0を有する参照ラインであると仮定すると、MRLインデックスが0である。現在のブロックのために選択された参照ラインがインデックス7を有する参照ラインであると仮定すると、MRLインデックスが4であり、他の状況は同様である。MRLインデックスに対して、コンテキストモデルベースのトランケートされた単項コードを使用してエンコードすることができ、エンコードした後、コンテキストモデルベースの複数のビン(bin)を取得する。ビンは、二進法フラグ、二進法シンボル、二進法ビットなどとも呼ばれる。MRLインデックスの値が小さいほど、コード長が小さく、デコーディングが速い。
【0082】
【0083】
なお、同じ技術は異なる規格において異なる名称があるかもしれない。例えば、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等の用語の使用は、他の規格におけるこれら実質的に同一の技術を同様にカバーするものとする。
【0084】
一実施形態は、テンプレートベースのマルチ参照ラインイントラ予測(Multiple reference line & intra_ intra prediction)モードを提供し、これはTMRLモードと略記され、TMRLモードとは、拡張参照ラインとイントラ予測モードとの組み合わせに基づいて候補リストを構築して、拡張参照ラインとイントラ予測モードとの組み合わせをエンコード及びデコードする予測モードである。
【0085】
本実施形態のビデオエンコーディング方法は、エンコーダーに応用され、図6に示されるように、ステップ110~ステップ130を含む。
ステップ110:現在のブロックのTMRLモードの候補リストを構築することであって、候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入される。
ステップ120:レート歪み最適化を通じて、現在のブロックのために、イントラ予測に用いられる、参照ラインとイントラ予測モードの1つの組み合わせを選択する。
本明細書では、参照ラインには、インデックスが0の参照ラインと拡張参照ラインが含まれる。現在のブロックのために選択される参照ラインとイントラ予測モードの組み合わせは、インデックスが0の参照ラインと1つのイントラ予測モードの組み合わせ、又は1つの拡張参照ラインと1つのイントラ予測モードの組み合わせである可能性がある。
ステップ130:現在のブロックのTMRLモードのエンコーディング条件が満たされた場合、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用することを示し、現在のブロックのTMRLモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示す。
ここで、エンコーディング条件は、少なくとも、選択された組み合わせが候補リストにあることを含む。
【0086】
本明細書では、現在のブロックの拡張参照ラインとイントラ予測モードの候補組み合わせが記入された候補リストをTMRLモードの候補リストと呼ぶこともできる。
【0087】
本明細書では、候補リストに記入されるのは、現在のブロックの拡張参照ラインとイントラ予測モードの候補組み合わせである。これは、候補リスト内の組み合わせが、現在のブロックのレート歪み最適化に参加する必要があり、すなわち、レート歪みコストを通じて現在のブロックの予測モードを選択するモード選択プロセスに参加する必要があることを意味する。これにより、候補リスト内の全ての組み合わせが選択される可能性がある。
【0088】
本明細書では、個数を示すパラメータN、M、Kはいずれも正の整数であり、別途記述する必要はない。
【0089】
本実施形態によって構築されるTMRLモードの候補リストに記入されるのは、現在のブロックの拡張参照ラインとイントラ予測モードの候補組み合わせであり、もはや単一の候補拡張参照ラインのリスト又は候補イントラ予測モードのリストでもない。現在のブロックのために選択された参照ライン及びイントラ予測モードの組み合わせがその候補リストにあり(このとき、現在のブロックのために拡張参照ラインが選択される)、即ち選択された組み合わせがこの候補リストにある1つの組み合わせであるなどのエンコーディング条件が満たされたとき、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用することを示し、現在のブロックのTMRLモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示す。デコーディング側は、TMRLモードフラグ及びTMRLモードインデックスに基づいて、現在のブロックのために選択された拡張参照ライン及びイントラ予測モードを確定することができる。本実施形態の組み合わせのエンコーディング及びデコーディング方法により、コーディングコストを低減し、コーディング性能を向上させることができる。
【0090】
TMRLモードでは、現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて得られたN×M個の組み合わせの各々に従って、現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。誤差の昇順で、対応するK個の組み合わせを現在のブロックのTMRLモードの候補リストに記入し、1≦K≦N×Mが満たされる。
【0091】
一例では、ECMにおける拡張参照ラインとイントラ予測モードとの25種類の組み合わせの各々に基づいてテンプレート領域を予測し、誤差の昇順で25個の組み合わせをソートし、誤差が最小であり、すなわち、選択される可能性が最も高い12個の組み合わせをTMRLモードの候補リストに記入し、これにより、TMRLモードインデックスをエンコードするためのコーディングビット数を減少することができる。拡張参照ライン{1,3,5,7,12}の一部(例えば、インデックスが7と12である拡張参照ライン)がCTU境界の外側にある場合でも、15種類の組み合わせの順序に基づいて、選択される可能性の最も高い12個の組み合わせを候補リストに記入することもでき、TMRLモードインデックスのコーディングビットは依然として完全かつ有効に利用されることができる。誤差の昇順でソートすることにより、予測のために選択される可能性がより高い参照ラインと予測モードが候補リストに残され、選択される可能性がより高い組み合わせはリストにおける前の位置に配列されるため、コーディングのコストが低くなる。TMRLモードの候補リストの作成については、以下に詳述する。
【0092】
本実施形態の一例において、エンコーディング条件は、さらに、現在のブロックに対してTIMDを使用しないことを含む。ビデオエンコーディング方法は、現在のブロックに対してTIMDを使用する場合、現在のブロックのTMRLモードフラグとTMRLモードインデックスのエンコーディングをスキップすることと、現在のブロックに対してTIMDを使用しないが、選択された組み合わせが候補リストにない場合、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用しないことを示し、現在のブロックのTMRLモードインデックスのエンコーディングをスキップすることと、をさらに、含む。
【0093】
この実施形態は、TMRLモードの前にTIMDモードに基づいてエンコード及びデコードする場合である。現在のブロックに対してTIMDモードを使用する場合、TMRLモードを使用する必要はないので、TMRLモードフラグとTMRLモードインデックスのエンコーディングはスキップされる。現在のブロックに対してTIMDモードを使用しない場合、現在のブロックのために選択された組み合わせがTMRLモードの候補リストにある状況と、選択された組み合わせがTMRLモードの候補リストにない状況という2つのケースがある。選択された組み合わせが候補リストにない場合、TMRLモードフラグをエンコードすることで、現在のブロックに対してTMRLモードを使用しないことを示す必要があり、また、TMRLモードインデックスのエンコーディングをスキップする。選択された組み合わせが候補リストにある場合、TMRLモードフラグとTMRLモードインデックスの両方をエンコードする必要がある。
【0094】
現在のブロックに対してTIMDを使用しない場合、本実施形態によって提供されるTMRLモードフラグ及びTMRLモードインデックスは、元のマルチ参照ラインインデックスmultiRefIdxを代替することができる。現在のブロックに対してTIMDを使用する場合、依然として、選択された参照ラインを示すためにマルチ参照ラインインデックスを使用することができ、そのマルチ参照ラインインデックスをエンコードすることができる。
【0095】
本実施形態の一例において、現在のブロックのTMRLモードの候補リストを構築することは、現在のブロックに対してTMRLモードを使用できる設定された条件が全て成立した場合にのみ、候補リストを構築することを含む。TMRLモードを使用できる条件は、以下のいずれか1つ以上を含む。
条件1:現在のブロックが輝度フレームにおけるブロックであり、すなわち、TMRLモードは輝度フレーム(すなわち輝度画像)のみに使用される。
条件2:現在のブロックがコーディングツリーユニット(CTU)の上部境界に位置しない。CTUの上部境界に位置する場合、現在のブロックの上方には使用できる参照ラインがないため、本実施形態では、CTUの上部境界に位置しないことをTMRLモードを使用できる条件とする。
条件3:現在のブロックに対してMRLを使用でき、すなわち、MRLモードを使用できる場合にのみ、TMRLモードを使用できる。
条件4:現在のブロックのサイズが、TMRLモードが使用できる現在のブロックの最大サイズより大きくない。この最大サイズはプリセットされたものであってもよい。一般に、より大きなブロックはより平坦であり、角度ディテールが比較的に少ない。このような大きなブロックに対して、TMRLモードの使用を制限することができる。
条件5:現在のブロックのアスペクト比が、現在のブロックのアスペクト比に対するTMRLモードを使用する要求を満たす。例えば、現在のブロックのアスペクト比がプリセット値より大きくない場合にのみ、TMRLモードの使用が許可される。
【0096】
本実施形態の一例では、TMRLモードインデックスに対してゴロム・ライス(Golomb-Rice)コーディング法を用いてエンコードする。ゴロム・ライスコーディングを使用することにより、エンコーディング及びデコーディングのために、候補組み合わせを、異なる符号語長を有するカテゴリに、より合理的にグループ化することができ、コーディング効率を向上させる。
【0097】
本実施形態の一例において、現在のブロックのTMRLモードのエンコーディング条件が満たされた場合、ビデオエンコーディング方法は、MPMモード、イントラサブパーティション分割(ISP)モード、マルチ変換選択(MTS)モード、低周波数非分離型変換(LFNST)モード、及びTIMDモードのうちのいずれか1つ以上のモードのシンタックスエレメントのエンコーディングをスキップすることを、さらに含む。
【0098】
例えば、TIMDモードの前にTMRLモードに基づいてエンコード及びデコードする場合、TMRLモードのエンコーディング条件には、現在のブロックに対してTIMDを使用しないことが含まれなくなる。現在のブロックに対してTMRLモードを使用する場合、現在のブロックに対してTIMDを使用できなくなり、TIMDモードのシンタックスエレメントのエンコーディングをスキップすることができる。
【0099】
例えば、現在のブロックに対してTMRLモードを使用する場合、TMRLモードフラグとTMRLモードインデックスは、現在のブロックのために選択された参照ラインとイントラ予測モードを同時に示すことができ、MPM関連のシンタックスエレメントをエンコード及びデコードする必要はない。
【0100】
例えば、特定の変換モードにおいて、TMRLモードと、マルチ変換選択(Multiple Transform Selection、MTS)モード及び/又は低周波数非分離型変換(Low Frequency Non―separable Transform、LFNST)モードとが同時に使用されないように制限することができる。
【0101】
一実施形態はTMRLモードの候補リストの構築方法を提供する。この方法はエンコーダーに応用されてもよく、デコーダーに応用されてもよい。図7に示すように、この方法は次の内容を含む。
ステップ210:現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個の組み合わせを取得し、N≧1、M≧1、N×M≧2が満たされる。
ステップ220:N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。
本ステップにおける誤差は、差分絶対値和(Sum of Absolute Difference、SAD)、又は差分変換絶対値和(Sum of Absolute Transformed Difference、SATD)などで表すことができるが、これらに限らず、差分二乗和(Sum of Squared Difference、SSD)、平均絶対差(Mean Absolute Difference、MAD)、平均二乗誤差(Mean Squared Error、MSE)などで表すこともできる。
ステップ230:現在のブロックのTMRLモードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入し、1≦K≦N×Mが満たされる。
【0102】
本実施形態で作成された候補リストにより、拡張参照ラインとイントラ予測モードの組み合わせのエンコーディングを実現し、エンコーディング効率を向上させることができる。また、異なる組み合わせを用いるテンプレート領域への予測と誤差の順序付けにより、現在のブロックと現在のブロックのテンプレート領域との分布特性の類似性に基づいて、N×M個の組み合わせから、選択される確率の比較的高いK個の組み合わせを選択することができ、且つ選択される確率の高い組み合わせを候補リスト内の前の位置に配列することで、エンコードする際に選択された組み合わせのTMRLモードインデックスが小さくなり、実際のエンコーディングコストを低減することができる。
【0103】
本実施形態の一例では、現在のブロックのテンプレート領域は、現在のブロックに最も近い1つの参照ラインに設定され、又は、現在のブロックのテンプレート領域は、現在のブロックに最も近い複数の参照ラインに設定され、組み合わせに参加するN個の拡張参照ラインは、テンプレート領域の外側に位置する拡張参照ラインである。図8Aでは、現在のブロックのテンプレート領域は、インデックスが0の参照ライン30に設定されている。TMRLモードの候補リストを構築する際、インデックスが{1,3,5,7,12}の事前定義の拡張参照ラインから、使用できるN個の拡張参照ラインを選択する。現在のブロックの上方とCTU境界との間に13個以上の参照ラインがある場合、組み合わせを作るために、インデックスが{1,3,5,7,12}の5個の拡張参照ラインを選択する。現在のブロックの上方とCTU境界の間に6つ又は7つの参照ラインがある場合、組み合わせを作るために、インデックスが{1,3,5}の3つの拡張参照ラインを選択する。
【0104】
この例では、現在のブロックのテンプレート領域がインデックスが0の参照ラインに設定されている場合、インデックスが0の参照ラインはテンプレート領域が位置する参照ラインと呼ばれ、インデックスが1から3の参照ラインはテンプレート領域の外側に位置する参照ラインと呼ばれる。現在のブロックのテンプレート領域がインデックスが0と1の参照ラインに設定されている場合、テンプレート領域が位置する参照ラインは拡張参照ラインを含み、インデックスが0と1の参照ラインはテンプレート領域が位置する参照ラインであり、インデックスが2と3の参照ラインはテンプレート領域の外側(上方と左側)に位置する参照ラインである。
【0105】
図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つの参照ラインに現在のブロックのテンプレート領域を設定するなどの例がある。テンプレート領域が比較的広いとき、予測は比較的精確である。
【0106】
本実施形態の一例では、現在のブロックのN個の拡張参照ラインは、事前定義のNmax個の拡張参照ラインのうち、現在のブロックのテンプレート領域の外側に位置し、且つコーディングツリーユニット(CTU)の境界を超えない拡張参照ラインである。NmaxはTMRLモードで使用できる拡張参照ラインの最大個数である。本実施形態では、組み合わせに使用されるN個の拡張参照ラインを、現在のブロックのテンプレート領域の外側且つCTU境界を超えない領域に制限する。しかし、ハードウェアがサポートできれば、組み合わせに参加するために、CTU境界を超える拡張参照ラインを選ぶこともできる。
【0107】
本実施形態の一例では、Nmax=5であり、事前定義の5つの拡張参照ラインは、{1,3,5,7,12}又は{2,3,5,7,12}のインデックスが付けられた参照ラインである。別の一例では、事前定義のNmax個の拡張参照ラインは、インデックスが1から始まり、現在のブロックに最も近いNmax個の拡張参照ラインであり、又は、インデックスが1から始まり且つインデックスが奇数であり、現在のブロックに最も近いNmax個の拡張参照ラインであり、又は、インデックスが2から始まり且つインデックスが偶数であり、現在のブロックに最も近いNmax個の拡張参照ラインである。奇数又は偶数の参照ラインを選択すると、演算が簡単になる。
【0108】
本実施形態の一例では、M個のイントラ予測モードは、角度モードのみから選択でき、又は角度モード及びDCモードのみから選択でき、又は角度モード、DCモード及びplanarモードから選択できる。
【0109】
一例では、M個のイントラ予測モードは、以下の方法によって選択される。M≧5が満たされる。
第1ステップ:現在のブロックの周囲にある5個の近隣位置での予測ブロックのために使用されるイントラ予測モードを確定し、そのうちの選択できるイントラ予測モードを順番に選択し、重複するモードを削除する。
5個の近隣位置は、図3に示すように、それぞれ左上、上、右上、左、左下である。
第1ステップで選択されたイントラ予測モードの数がMになると、終了し、第1ステップで選択されたイントラ予測モードは数がM未満であり、且つ角度モードを含む場合、第2ステップを実行する。
第2ステップ:選択されたイントラ予測モードの総数がMになるまで、選択された1番目の角度モードから順番に角度モードの拡張操作を行って拡張後の角度モードを取得し、選択された全ての角度モードと異なる拡張後の角度モードを選択する。
【0110】
本実施形態では、第1ステップにおいて角度モードが選択されなかった場合、又は第2ステップにより選択されたイントラ予測モードの総数が依然としてM未満である場合、第3ステップを実行し、第3ステップにおいて、事前定義のイントラ予測モード集合のうちの選択できるイントラ予測モードを確定し、選択されたイントラ予測モードの総数がMになるまで、確定された選択できるイントラ予測モードから、選択されたイントラ予測モードのいずれとも異なるイントラ予測モードを順番に選択すること、をさらに含む。
【0111】
一例では、M個のイントラ予測モードを選択する過程において、角度モードのみを選択できる。別の例では、M個のイントラ予測モードを選択する過程において、角度モードとDCモードのみを選択できる。さらに別の例では、M個のイントラ予測モードを選択する過程において、角度モード、DCモード、及びPlanarモードを選択できる。Planarモードは、拡張参照ラインとの結合効果が限定的であるので、組み合わせから除外されてもよい。DCモードの場合も類似する。ただし、演算複雑度の増加をサポートできれば、PlanarモードとDCモードも候補リストに加えられて組み合わせに参加することができる。
【0112】
一例では、角度モードの拡張操作は、角度モードに対して1を加算する操作及び1を減算する操作と、角度モードに対して2を加算する操作及び2を減算する操作と、角度モードに対して3を加算する操作及び3を減算する操作、という操作のうちのいずれか1つ以上を含む。
【0113】
本実施形態の一例において、M個のイントラ予測モードとして、最確モード(MPM)のうち、Planarモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMと第2MPMのうち、Planarモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMのうち、Planarモード及びDCモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMと第2MPMのうち、Planarモード及びDCモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMのうち、Planarモード、DCモード、及びDIMDモード以外のイントラ予測モードの一部又は全部を使用し、又は、MPMと第2MPMのうち、Planarモード、DCモード、及びDIMDモード以外のイントラ予測モードの一部又は全部を使用する。
【0114】
本例では、MPMのうち、Planarモード以外の全てのイントラ予測モードを事前定義のイントラ予測モードとして使用し、又は、MPM及び第2MPMのうち、Planarモード以外の全てのイントラ予測モードを事前定義のイントラ予測モードとして使用する。現在のブロックの参照ラインが事前定義の全ての拡張参照ラインを含む場合、事前定義の全てのイントラ予測モードを使用する。現在のブロックの参照ラインが事前定義の一部の拡張参照ラインを含む場合、事前定義の一部のイントラ予測モードを使用する。
【0115】
本実施形態の一例では、M個のイントラ予測モードは、以下の方式によって選択される。M’個のイントラ予測モードを選択する。現在のブロックのテンプレートの外側に位置する参照ラインと、M’個のイントラ予測モードとに基づいて、それぞれ現在のブロックのテンプレートを予測し、また、テンプレートの再構成値と予測によって得られた予測値との間の誤差を算出してM’個の誤差を算出する。組み合わせに参加するM個のイントラ予測モードとして、M’個のイントラ予測モードから、最小誤差に対応するM個のイントラ予測モードを選択し、M<M’が満たされる。
【0116】
本例における現在のブロックのテンプレートは、M’個のイントラ予測モードからM個のイントラ予測モードを選択するために使用され、前述の現在のブロックのテンプレート領域は、N×M個の組み合わせからK個の組み合わせを選択するために使用され、両方は異なっていてもよいが、同じ領域を占めていてもよい。
【0117】
本例においてM’個のイントラ予測モードを選択する際、上記実施形態における、M個のイントラ予測モードを選択する様々な方法を用いることができ、例えば、MPM及び第2MPMのリストから直接選択する方法、又は、前述の実施形態の方法における第1ステップを通じて選択する方法、又は、第1ステップ及び第2ステップを通じて選択する方法、又は、第1ステップ、第2ステップ及び第3ステップを通じて選択するなどの方法を用いることができる。
【0118】
本実施形態の一例では、N≦Nmax、2≦Nmax≦12、2≦M≦18、K≦Kmax、6≦Kmax≦36、NmaxはTMRLモードで使用できる拡張参照ラインの最大個数であり、KmaxはTMRLモードで使用できる候補組み合わせの最大個数である。ここで、N、M、及びKという関連パラメータの値の範囲が示されているが、これは単に例示的なものである。
【0119】
本実施形態の一例では、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などを含むことができる。本例では、異なるサイズの現在のブロックに対して、異なるN、M、Kを使用する。現在のブロックのサイズが比較的小さい場合、より小さい値を使用してTMRLモードの候補リストを構築する。現在のブロックのサイズが比較的大きい場合、より大きな値を使用してTMRLモードの候補リストを構築する。これにより、演算の複雑さと性能のより良いバランスを達成することができる。
【0120】
本実施形態の一例において、N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測することは、現在のブロックが画像(picture)の左境界に位置する場合、N×M個の組み合わせの各々に基づいて現在のブロックの上方テンプレート領域を予測し、現在のブロックの左側テンプレート領域を予測しないことを含む。本実施形態によれば、性能に影響を与えることなく、演算を簡略化し、演算に要する時間を短縮することができる。
【0121】
本実施形態の一例において、N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測することは、N×M個の組み合わせの各々に基づいて、次の方式で予測することを含む。組み合わせにおける拡張参照ラインの再構成値と、この組み合わせにおけるイントラ予測モードとに基づいて、テンプレート領域の初期予測値を算出し、拡張参照ラインの再構成値は、拡張参照ラインのオリジナル再構成値又はフィルタリングされた後の再構成値である。テンプレート領域の初期予測値に対して4タップフィルタリング又は6タップフィルタリングを行い、フィルタリング結果を、この組み合わせに基づいて予測して得られたテンプレート領域の予測値とする。
【0122】
本実施形態では、現在のブロックのテンプレート領域を予測する際に、拡張参照ラインの再構成値をフィルタリングせず、オリジナル再構成値を演算に用いることができ、また、演算の複雑さを軽減して演算を高速化するために、タップの比較的短いフィルタ(例えば、4タップフィルタ)を用いることができる。
【0123】
本実施形態の一例において、N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することは、次の内容を含む。K個の組み合わせの各々に基づいて現在のブロックのテンプレート領域全体を予測して、対応するK個の誤差からなる誤差集合を取得し、誤差集合における最大誤差をDmaxとして記録する。残りの組み合わせの各々について、まず、この組み合わせに基づいて現在のブロックの一方側のテンプレート領域を予測し、現在のブロックのこの一方側のテンプレート領域の再構成値と予測値との間の誤差Dを算出し、D≧Dmaxであれば、この組み合わせに基づく予測を完了し、D<Dmaxであれば、また、この組み合わせに基づいて現在のブロックのもう一側のテンプレート領域を予測し、現在のブロックのテンプレート領域全体の再構成値と予測値との間の誤差Dを算出し、D<Dmaxであれば、誤差集合にDを加え、誤差集合からDmaxを削除し、誤差集合内の最大誤差Dmaxを更新し、D≧Dmaxであれば、この組み合わせに基づく予測を完了する。N×M個の組み合わせに基づく予測を完了した後、誤差集合におけるK個の誤差に対応するK個の組み合わせを、最小誤差に対応するK個の組み合わせとする。
【0124】
一例では、誤差集合内の誤差を昇順で配列することができ、誤差集合にDを加える際に、誤差集合内の誤差が依然として昇順で配列されることができる位置にDを挿入する。しかし、他の例では、N×M個の組み合わせに基づく予測を完了した後、誤差集合中のK個の誤差を順序付けることもできる。
【0125】
本例では、全ての組み合わせに基づいてテンプレート領域全体の予測と誤差計算を行うことなく、組み合わせの順序付けを完成することができ、演算の複雑さの低減と高速化を図ることができる。
【0126】
本実施形態の一例において、現在のブロックのTMRLモードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入することは、候補リストの1番目の位置から、誤差の昇順で誤差に対応するK個の組み合わせを候補リストに記入することを含む。本例のTMRLモードの候補リストには、拡張参照ラインとイントラ予測モードの組み合わせのみが記入される。インデックスが0の参照ラインとイントラ予測モードの組み合わせは、MPMなどの他の従来のモードによって示される。
【0127】
本実施形態の一例では、候補リストのi番目の位置から、誤差の昇順で誤差に対応するK個の組み合わせを候補リストに記入し、候補リストのi番目の位置の前に、インデックスが0である参照ラインと、1つ又は複数のイントラ予測モードとの組み合わせが記入されており、i≧2が満たされる。本例ではTMRLモードの候補リストには、拡張参照ラインとイントラ予測モードの組み合わせだけでなく、インデックスが0の参照ラインとイントラ予測モードの組み合わせも記入される。この場合、現在のブロックのために選択された組み合わせが、インデックスが0の参照ラインとイントラ予測モードとの組み合わせであるとき、TMRLモードインデックスによって示すこともできる。このときのTMRLモードフラグは依然として使用されることができる。
【0128】
本願の一実施形態は、TMRLモードに関するビデオデコーディング方法を提供する。この方法は、デコーダーに応用され、図9に示すようにステップ310~ステップ330を含む。
ステップ310:現在のブロックのマルチ参照ラインイントラ予測(TMRL)モードフラグをデコードして、現在のブロックに対してTMRLモードを使用するかどうかを確定する。
ステップ320:現在のブロックに対してTMRLモードを使用すると確定した場合、引き続いて現在のブロックのTMRLモードインデックスをデコードし、現在のブロックのTMRLモードの候補リストを構築し、候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入される。
ステップ330:候補リストとTMRLモードインデックスに基づいて、現在のブロックのために選択される拡張参照ラインとイントラ予測モードの組み合わせを確定し、選択された組み合わせに基づいて現在の画像を予測する。
ここで、TMRLモードインデックスは、選択された拡張参照ラインとイントラ予測モードの組み合わせの、候補リストにある位置を示すために使用される。
【0129】
本実施形態では、TMRLモードフラグをデコードして、現在のブロックに対してTMRLモードを使用すると確定した後、拡張参照ラインとイントラ予測モードの組み合わせをTMRLモードの候補リストに記入し、デコードして得られたTMRLモードインデックスと候補リストにより、現在のブロックのために選択された組み合わせを確定し、予測を行う。つまり、TMRLモードインデックスにより、2つのインデックスを使用することなく、現在のブロックのために選択された拡張参照ラインとイントラ予測モードを同時に示すことができる。コーディングコストを削減することができる。
【0130】
本実施形態の一例では、現在のブロックのTMRLモードフラグをデコードすることの前、ビデオデコーディング方法は、現在のブロックに対してTMRLモードを使用できる条件が全て成立したとき、現在のブロックのTMRLモードフラグをデコードすることをさらに含む。TMRLモードを使用できる条件は、以下のいずれか1つ以上を含み、即ち、
現在のブロックが輝度フレームにおけるブロックであること、
現在のブロックに対してMRLを使用できること、
現在のブロックがコーディングツリーユニット(CTU)の上部境界に位置しないこと、
現在のブロックに対してテンプレートベースのイントラモード導出(TIMD)を使用しないこと、
という条件のいずれか1つ以上を含む。
【0131】
本例では、上記条件の1つが成立する場合には、TMRLモードの使用を許可せず、TMRLモードフラグ及びTMRLモードインデックスのデコーディングをスキップすることができる。しかし、他の実施形態ではこうなるとは限らない。例えば、TIMDの前にTMRLモードに基づいてエンコード及びデコードする場合、現在のブロックに対するTIMDの使用は、TMRLモードを使用できない条件とされない。別の例としては、将来、ハードウェアがCTU境界外の参照ラインの取得をサポートできるようになった場合、現在のブロックがCTUの上部境界に位置することは、TMRLモードを使用できない条件ではなくなることなどが挙げられる。
【0132】
本実施形態の一例では、ビデオデコーディング方法は、現在のブロックに対してMRLを使用でき、現在のブロックがCTUの上部境界に位置しておらず、且つ現在のブロックに対してTIMDを使用すると確定した場合、現在のブロックのMRLインデックスをデコードすることをさらに含む。MRLインデックスは、現在のブロックのために選択された参照ラインのMRLインデックスリストにある位置を示すために使用される。本例では、現在のブロックに対してTIMDを使用する場合にTMRLモードの使用を許可しないが、依然としてMRLを使用することができ、したがって、依然として、現在のブロックのマルチ参照ラインインデックスをデコードすることで、現在のブロックのために選択された参照ラインを確定することができ、現在のブロックのために選択されたTIMDモードと組み合わせて、現在のブロックを予測することができる。
【0133】
本実施形態の一例では、TMRLモードフラグに基づいて、現在のブロックに対してTMRLモードを使用すると確定した場合、ビデオデコーディング方法は、MPMモード、ISPモード、MTSモード、LFNSTモード、及びTIMDモードのうちのいずれか1つ以上のモードのシンタックスエレメントのデコーディングをスキップすることを、さらに含む。エンコーディング側に対応して、エンコードする際、現在のブロックに対してTMRLモードフラグを使用する場合、上記のモードの1つ以上がスキップされたとき、デコーディング側は、デコードによって、現在のブロックに対してTMRLモードフラグを使用すると確定した場合、これらのモードのデコーディングもスキップする。
【0134】
一実施形態は、ビデオデコーディング方法をさらに提供し、主としてイントラ予測のデコーディング処理に関する。エンコーディング側についても説明する。本実施形態では、エンコーディング側でTMRLモードの候補リストを構築し、モード選択により現在のブロックのために候補リスト内の組み合わせが選択された場合に、TMRLモードのシンタックスエレメントをエンコード及びデコードし、拡張参照ラインとイントラ予測モードの組み合わせをエンコード及びデコードする。
【0135】
本実施形態では、事前定義のN個の拡張参照ラインとM個のイントラ予測モードに基づき、インデックスが0の参照ライン、すなわちreference line0の位置にテンプレートを構築する。図8Aに示されるテンプレート領域30を参照することができる。(x,-1),(-1,y)は、それぞれ、現在のブロックの左上隅の(0,0)位置に対する座標である。この図では、インデックスが{1,3,5,7,12}の事前定義の5個の拡張参照ラインも提供されている。
【0136】
TMRLモードの候補リストを構築する際に、N×M個の組み合わせに基づくテンプレートの予測値と再構成値の間のSADを計算し、SADの昇順に従って対応する組み合わせをソートし、N×M個の組み合わせのうちSADが比較的小さいK個の組み合わせを、SADの昇順でTMRLモードの候補リストに記入し、N×M≧2が満たされる。
【0137】
TMRLモードの候補リストの構築は、エンコーダーとデコーダーの両方が実行する必要がある操作である。エンコーディング側では、現在のブロックのために選択された組み合わせが候補リストにあるなどのエンコーディング条件が満たされている場合、TMRLモードフラグをエンコードすることでTMRLモードを使用することを示す。また、TMRLモードインデックスは、選択された組み合わせの、候補リストにある位置に基づいて確定される。例えば、1番目の位置にあれば、TMRLモードインデックスが0であり、2番目の位置にあれば、TMRLモードインデックスが1であるというように確定される。TMRLモードインデックスは、ゴロム・ライス(Golomb-Rice)コーディング法を用いてエンコードされてもよいが、これに限定されない。
【0138】
以下、N=5、M=6、K=12の例をもって説明する。事前定義の5つの拡張参照ラインのインデックスが{1,3,5,7,12}であり、6つのイントラ予測モードが一歩一歩選択される。
【0139】
本実施形態のビデオデコーディング方法は、ステップ1~ステップ3の内容を含む。
【0140】
ステップ1:TMRLモードに関連するシンタックスエレメントをデコードする。
デコーダーによって解析されるイントラ予測モードの関連シンタックスエレメントは、TIMD、MRLなどのモードの関連シンタックスエレメントを含む。本実施形態で提供されるTMRLモードは、MRLモードの発展型と考えることができ、TMRLモードのシンタックスエレメントは、MRLモードのシンタックスエレメントの一部と考えることもできる。もちろん、両方は異なる2種のモードと考えることもできる。
【0141】
現在のブロックに対してTIMDモードを使用する場合、MRLモードのシンタックスエレメントに対するデコーディング方式に変更はない。現在のブロックに対してTIMDモードを使用しない場合、TMRLモードのシンタックスエレメントをデコードする必要がある。次の表に示すように、現在のブロックのために関連シンタックスをデコードする。
【0142】
【表2】

【0143】
表中の「cu_tmrl_flag」即ちTMRLモードフラグであり、「cu_tmrl_flag」が1に等しいのは、現在のブロックに対してTMRLモードを使用することを示し、すなわち、現在の輝度サンプルのイントラ予測モードのタイプがテンプレートベースのマルチ参照ラインイントラ予測モードであることを定義する。「cu_tmrl_flag」が0に等しいのは、現在のブロックに対してTMRLモードを使用しないことを示し、すなわち、現在の輝度サンプルのイントラ予測モードのタイプがテンプレートベースのマルチ参照ラインイントラ予測モードではないことを定義する。
【0144】
表中の「tmrl_idx」すなわちTMRLモードインデックスは、現在のブロックのために選択された拡張参照ラインとイントラ予測モードの組み合わせの、TMRLモードの候補リストにおける位置を示し、TMRLモードの順序付けられた候補リストにおける、選択された組み合わせのインデックス(組み合わせの位置を示すインデックス)を定義するとも言える。「tmrl_idx」は、ゴロム・ライスコーディング法を用いてエンコード及びデコードすることができ、ここでは説明を繰り返さない。
【0145】
上の表から分かるように、cu_tmrl_flagをデコードする前に、現在のブロックに対してMRLを使用できること(すなわち、sps_mrl_enabled_flagが1であることが成立するか否か)、現在のブロックがCTUの上部境界に位置しないこと(すなわち、( y0 % CtbSizeY ) > 0が成立するか否か)、現在のブロックに対してTIMDを使用しないこと、という条件が成立するか否かをまず判断する。これらの条件が成立している場合、cu_tmrl_flagをデコードする。他の2つの条件が成立するが、現在のブロックに対してTIMDを使用する場合、現在のブロックのマルチ参照ラインインデックスintra_luma_ref_idxをデコードする。
【0146】
表中のISPモードフラグ(intra_subpartitions_mode_flag)は、TMRLモード関連のシンタックスエレメントの後にデコードされる。現在のブロックに対してTMRLモードを使用しない(!cu_tmrl_flagが成立する)場合、intra_subpartitions_mode_flagをデコードする。同様に、現在のブロックに対してTMRLモードを使用しない(!cu_tmrl_flagが成立する)場合、MPM関連のシンタックスエレメントをデコードする。
【0147】
ステップ2:TMRLモードの候補リストを構築し、TMRLモードインデックス及び候補リストに基づいて、現在のブロックのために選択された拡張参照ライン及びイントラ予測モードを確定する。
解析段階の終了後、現在のブロックを予測する前、現在のブロックに対してTMRLモードを使用する場合、TMRLモードの候補リストを構築する必要があり、TMRLモードインデックスと候補リストに基づいて、現在のブロックのために選択された拡張参照ラインとイントラ予測モードを確定する。
【0148】
TMRLモードの候補リストを構築するには、まず、候補の拡張参照ラインを確定し、候補のイントラ予測モードを確定する必要がある。
【0149】
【0150】
候補の拡張参照ラインは、事前定義の拡張参照ラインから選択される。画像内の現在のブロックの位置に基づいて、事前定義の拡張参照ラインのうちの使用できる拡張参照ラインを確定する。原則として、現在のブロックに対して使用可能な上方参照ラインは、CTUの上部境界を超えないようにする。一例では、インデックスが{1,3,5,7,12}である拡張参照ラインのうち、CTUの境界を超えない全ての拡張参照ラインを候補の拡張参照ラインに加える。また、コーディング性能を向上させ、又は複雑さを低減させるために、より多い又はより少ない拡張参照ラインを使用することもできる。
【0151】
【0152】
本実施形態では、TMRLモードとMPMをバインディングする代わりに(他の実施形態でバインディングしてもよく)、イントラ予測モードの候補リストを構築し、この候補リストから組み合わせに使用されるイントラ予測モードを選択する。候補リストは、以下の方法で導出される。
【0153】
まず、従来の67種類の予測モードから、PlanarモードとDCモードを除去し、又はPlanarモードのみを除去してDCモードを残す。除去されたモードは、候補リストに加えられなく、即ちTMRLモードのうち、組み合わせに参加するイントラ予測モードとされない。
【0154】
本実施形態では、構築しようとする候補予測モードリストの長さは6である。まず、現在のブロックの周囲の5つの近隣位置にある予測ブロックに使用されるイントラ予測モードから、重複しないイントラ予測モードを順番に選択して、候補予測モードリストに加える。次に、リストに記入されたモードに対して角度モードの拡張操作を行う。具体的には、角度モードに対して、1を加算する操作及び1を減算する操作を行うことができ、重複しない拡張後の角度モードを選択して順番に候補予測モードリストに加え、候補リストに記入されたモード数が6に達すると、充填することを停止する。
【0155】
1を加算する操作及び1を減算する操作の具体的な内容を下表に示す。
【0156】
【表3】
【0157】
上記「角度モード-1」とは、記入された角度モードのインデックスから1を減算した角度モードを指し、例えば、記入された角度モードがモード3である場合、「角度モード-1」は角度モード2となる。上記「角度モード+1」とは、記入された角度モードのインデックスに1を加算した角度モードを指し、例えば、記入された角度モードがモード3である場合、「角度モード+1」は角度モード4となる。
【0158】
そして、「角度モード-1」が角度モード2よりも小さい場合、例えば、「角度モード-1」から「角度モード1」を得る(角度モードのインデックスが2から番号付けされ、「角度モード1」は存在しない)場合、「角度モード-1」と反対方向の角度モードを選択し、合計65種類の角度モードがあると仮定して、このとき、「角度モード-1」と反対方向の角度モードは即ち角度モード66である。そして、「角度モード+1」が角度モード66よりも大きい場合、類似的に、「角度モード+1」と反対方向の角度モードを選択する。例えば、記入された角度モードが角度モード66であり、「角度モード+1」は存在せず、このとき選択される「角度モード+1」と反対方向の角度モードは即ち角度モード2である。
【0159】
上記の角度モードの拡張は、角度モードに対して1を加算する操作及び1を減算する操作を行うことである。他の実施形態では、1を加算する操作及び1を減算する操作を、1を加算する操作及び1を減算する操作からXを加算する操作及びXを減算する操作まで拡張することも可能である。X=3と仮定すると、候補予測モードリストが埋まるようになるまで、角度モードに対して、1を加算する操作及び1を減算する操作、2を加算する操作及び2を減算する操作、3を加算する操作及び3を減算する操作を行うことが可能である。
【0160】
リストに記入されたモードに対して角度モードの拡張操作を行った後、候補予測モードリストがまだ埋まるようになっていない場合、候補予測モードリストが埋まるようになるまで、事前定義のモード集合の中の重複しないモードを用いてリストを充填する。モード集合には、以下のような、統計的法則に従って選択されたいくつかの角度モードが含まれる。
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 };
ここで、DC_IDXはDCモードを表し、VER_IDXは垂直モードを表し、HOR_IDXは水平モードを表し、残りの数字はその数字に対応する角度モードを表す。
【0161】
本実施形態では、候補予測モードリストの長さを6としているが、性能の観点からより多くの角度モードを試すために、長さを6より大きい値に設定することも可能であり、また、複雑さを軽減するためにより少ないモードを試して、長さを6より小さい値に設定してもよい。
【0162】
本実施形態では、候補イントラ予測モードを確定する際、PlanarモードとDCモードを除外し、又はPlanarモードのみを除外しているが、複雑性を考慮しない場合には、この2つのモードを除外しなくてもよく、すなわち、Planarモード、DCモード、及び全ての角度モードが候補イントラ予測モードとして拡張参照ラインとの組み合わせに参加してもよい。
【0163】
【0164】
候補の拡張参照ラインとイントラ予測モードを確定した後、拡張参照ラインリストと候補予測モードリストにある全ての組み合わせを1つずつ試すことができ、これらの組み合わせの各々に基づいて、図8Aを参照して、reference line0が位置するラインのテンプレート(Template、次の図に示される)領域を予測し、テンプレート領域の再構成値と各組み合わせに基づく予測から得られた予測値との間の誤差を計算し、誤差の最も小さいK個の組み合わせを、誤差の昇順でTMRLモードの候補リストに記入する。
【0165】
本実施形態の予測処理では、現在のブロックがCTUの第1行を占める場合にのみ、TMRLモードの使用を制限する。現在のブロックが画像の左境界に位置する場合、依然としてTMRLモードを使用することができる。この場合、左側のreference line0は既に画像境界の外側にあるため、左側テンプレートは予測に使用されず、すなわち、上方テンプレート領域のみを予測する。
【0166】
テンプレート領域上の予測処理は、他の通常のイントラ角度予測処理と全く同じであることができる。すなわち、まず参照ラインの再構成値をフィルタリングし、その結果をテンプレート領域の初期予測値として使用し、フィルタリングされた参照ラインの再構成値と組み合わせにおけるイントラ予測モードに基づいてテンプレート領域を予測した後、初期予測結果に対して4タップ又は6タップフィルタリングを行い、その結果を予測によって得られた予測値として使用する。なお、演算の複雑さを考慮して、参照ラインの再構成値をフィルタリングするステップを省略してもよく、タップの比較的短いフィルタを用いてもよい。本実施形態では、予測によってテンプレート領域の予測値を取得する際に、参照ラインの画素の再構成値をフィルタリングしなく、初期予測結果に対して非整数の角度で1/32精度を有する4タップ補間フィルタリングを行う。
【0167】
最後に、現在の組み合わせにおける角度及び参照ライン、並びにフィルタに基づいて、テンプレート領域を予測する。予測から得られたテンプレート領域の予測値とテンプレート領域の再構成値との間のSADを計算し、SADの昇順でソートし、最小のSADを有する12個の組み合わせを選択してTMRLモードの候補リストに記入する。
【0168】
ソート処理では、高速なアルゴリズムを使用することができ、上記の処理では、5つの参照ラインと6種類の予測モードとの合計30種類の組み合わせを試す必要があるが、その中のSADが最小である12個の組み合わせのみを選択すればよく、本実施形態では、前の12個の組み合わせに基づいた予測を完成して対応するSADを取得した後、13番目の組み合わせから、誤差(コストと呼んでもよい)が最小となる12個の組み合わせを維持して更新すればよい。13番目の組み合わせから、上方テンプレート領域のみを予測し且つ対応するSADを計算し、上テンプレートに基づいて計算されたSADが、誤差が最小の12個の組み合わせの中の誤差が最大の1つの組み合わせよりも既に大きい場合、左側テンプレート領域の予測と誤差計算をスキップすることができ、具体的に、前の実施形態を参照することができる。
【0169】
ステップ3:構築されたTMRLモードの候補リストとデコーディングによって得られたTMRLモードインデックスに基づいて、現在のブロックのために選択される拡張参照ラインとイントラ予測モードの組み合わせを確定し、選択された組み合わせに基づいて現在のブロックに対してイントラ予測が実行される。
【0170】
【0171】
ECM-4.0参照ソフトウェアにおいて、本実施形態で説明した方法を用いて、N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=6(PlanarモードとDCモードを含まない事前定義された6つの予測モード)、K=12(全ての組み合わせにおける、SADが小さい前の12個の組み合わせのみを選択する)の設定で、AI配置での測定結果は以下の通りである。
【0172】
【表4】
【0173】
N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=8(事前定義された8つの予測モード)、K=16の設定で、AI配置での測定結果は以下の通りである。
【0174】
【表5】
【0175】
N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=12(事前定義された12個の予測モード)、K=24の設定で、AI配置での測定結果は以下の通りである。
【0176】
【表6】
【0177】
N=5(5つの拡張参照ラインはそれぞれ1、3、5、7、12である)、M=8(Planarモードを含まないが、DCモードを含む事前定義された8つの予測モード)、K=16の設定で、AI配置での測定結果は以下の通りである。
【0178】
【表7】
【0179】
表中のパラメーターの意味は以下の通りである。
【0180】
EncT:Encoding Time即ちエンコーディング時間である。10X%は、参照ラインソート技術が統合された場合、統合前に比べて、エンコーディング時間が10X%であることを表し、エンコーディング時間がX%増加したことを意味する。
【0181】
DecT:Decoding Time即ちデコーディング時間である。10X%は、参照ラインソート技術が統合された場合、統合前に比べて、デコーディング時間が10X%であることを表し、デコーディング時間がX%増加したことを意味する。
【0182】
ClassA1とClassA2は解像度3840×2160のテストビデオシーケンスであり、ClassBは解像度1920×1080のテストシーケンスであり、ClassCは解像度832×480のテストシーケンスであり、ClassDは解像度416×240のテストシーケンスであり、ClassEは解像度1280×720のテストシーケンスであり、ClassFは異なる解像度を持ついくつかのスクリーンコンテンツ(Screen content)のシーケンスである。
【0183】
【0184】
All intraは、全てがイントラフレームであるテスト配置を示す。
【0185】
これから分かるように、本実施形態のTMRLモードを用いてイントラ予測コーディングを行うことにより、コーディング性能を大幅に向上させることができる。
【0186】
この実施形態では、拡張参照ラインと予測モードの両方に対して、1行1列のテンプレート領域が使用され、SADの昇順でソート及び選択が行われている。拡張参照ラインについては、全ての拡張参照ライン(reference line1を含む)をソートすれば、1行1列のテンプレートしか使用できない。しかし、予測モードの選択については、より適切な予測モードを選択するために、TIMDモードの場合のようにより多くの参照ラインを使用することができ、これにより、より正確な結果を得ることができる。他の実施形態では、TMRLモードに基づいて候補予測モードリストを確定する方法を変えることもできる。
【0187】
例えば、長さが6である候補予測モードリストを構築する必要があるとき、本実施形態と同様の構築方法及び充填方法に従って、まず長さが6より大きいリストを構築し、その後、現在のブロックに最も近い4行4列をテンプレートとし、5番目の参照ラインと候補予測モードリスト内のイントラ予測モードを用いてテンプレートを予測し、予測に得られた予測値とテンプレートの再構成値との誤差(SAD又はSATD)を算出し、誤差の昇順でソートし、誤差が小さい6個のイントラ予測モードを選択して、それらを構築しようとする長さが6のTMRLモードの候補リスト内のイントラ予測モードとすることができる。また、TMRLモードの候補リストの長さが6であるのは一例にすぎず、状況に応じて数値を調整することができる。
【0188】
本実施形態は65種類の角度モードを例示したが、他の実施形態では、より良い性能を得るために角度を129種類以上に拡張することが可能であり、より多くの角度に拡張する場合、イントラ予測のためのフィルタ数を適宜増やす必要もあり、例えば、129種類の角度の場合1/64精度のフィルタリングを使用する。
【0189】
一実施形態では、さらにイントラ予測融合(intra prediction fusion、IPF)技術を提供する。IPFにおいては、ある角度モードでは2つの隣接する参照ラインを使用して得られた予測結果に対して重み付けを行って、現在のブロックの最終的な予測結果を得ることを許可する。重み付けを行う方式は次の式の通りである。
【数3】
【0190】
【0191】
現在のブロックに対してIPFを使用する場合、上記融合した後の予測結果を現在のブロックの最終的な予測結果とする。
【0192】
本実施形態では、IPFが使用されるか(すなわちアクティブにされるか)を示すフラグは設定されていないが、デフォルトでは、以下の条件が満たされたときに、即ち、
現在のブロックのために選択された角度モードは整数傾きの角度モードではないこと、
現在のブロックの幅と高さの積は16より大きいこと、
現在のブロックに対してISPモードが選択されていないこと、
という条件が満たされたときに、現在のブロックのために選択された角度モードに対してIPFがアクティブにされる。
【0193】
言い換えれば、以下の制約条件のうちの少なくとも1つが成立した場合、即ち、
現在のブロックのために選択された角度モードは整数傾きの角度モードであること、
現在のブロックの幅と高さの積は16以下であること、
現在のブロックに対してISPモードが選択されたこと、
という制約条件のうちの少なくとも1つが成立した場合、IPFの使用は許可されない。
【0194】
ここで、角度モードの角度値(intraPredAngle)を32で割った余りが0である場合、この角度モードは整数傾き(integer slope)の角度モードであり、intraPredAngleと角度モードの対応は上記の表1に示される。
【0195】
現在のモードがIPFの使用条件を満たす場合、現在のブロックのために選択されたイントラ予測モードは、DIMDを使用して選択されたDIMD融合モード(planarモードと2つの角度モードに基づいて融合する)である可能性があり、TIMDを使用して選択されたTIMD融合モードである可能性もある。ハードウェアの実現から言えば、融合は少ないほど良く、DIMD融合モードを選択したときには、すでに3つのイントラ予測結果が現在のブロックに対する融合に用いられ、さらにIPFを使用すれば、多すぎる融合は予測段階の複雑さを増加させる。
【0196】
本願の一実施形態は、エンコーダーにもデコーダーにも適用可能なイントラ予測融合方法を提供し、図10に示すように、この方法は次の内容を含む。
ステップ410において、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定する。
ステップ420において、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約する。
本ステップでは、現在のブロックに対してイントラ予測を行う際にIPFの使用を制約することは、IPFの使用を許可しないことであってもよく、選択されたイントラ予測モードにIPFの使用条件を満たす複数の角度モードが含まれる場合には、その中の一部の角度モードのみに対してIPFを許可することであってもよい。一例では、IPFの使用条件を満たす角度モードは、整数傾きの角度モードではない角度モードを指し、または角度が-45°、0°、45°、90°、135°以外の角度モードを指す。
【0197】
本文では、ある制約条件が成立した場合にIPFの使用を許可しないことは、現在のブロックを予測する際にIPFを使用しない十分条件である。一方、ある制約条件が成立しない場合にIPFの使用を許可することは、現在のブロックを予測する際にIPFを使用する必要条件であり、他の制約条件が成立すれば、IPFの使用を許可しない可能性が依然としてある。
【0198】
本願の例示的な実施形態において、制約条件は、次のモード数制約条件を含み、モード数制約条件は、IPFの使用により、現在のブロックを予測するにはN個以上のイントラ予測モードを融合する必要があり、Nは3以上の整数であるということである。
【0199】
本実施形態の一例では、Nが3であるとき、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、次の内容を含む。
現在のブロックに対してTIMD融合モードが選択され、且つIPFの使用条件を満たす2つの角度モードがTIMD融合に用いられる場合、モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際に2つの角度モードのうちの1つのみに対してIPFを実行することを許可する。
現在のブロックに対してTIMD融合モードが選択され、且つTIMD融合に用いられる2つのイントラ予測モードのうちの1つのみが、IPFの使用条件を満たす角度モードである場合、モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にこの角度モードに対してIPFを実行することを許可する。
【0200】
本願の例示的な実施形態において、制約条件は、次のモード数制約条件を含み、モード数制約条件は、IPFの使用により、現在のブロックを予測するにはM個以上の角度モードを融合する必要があり、Mは2以上である整数であるということである。
【0201】
本実施形態の一例では、Mが3であるとき、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、次の内容を含む。
現在のブロックに対してTIMD融合モードが選択され、且つIPFの使用条件を満たす2つの角度モードがTIMD融合に用いられる場合、モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際に2つの角度モードのうちの1つのみに対してIPFを実行することを許可する。例えば、2つの角度モードのうちのコストが最も小さいまたはコストが2番目に小さい角度モードのみに対してIPFを実行することを許可する。
現在のブロックに対してTIMD融合モードが選択され、且つTIMD融合に用いられる2つのイントラ予測モードのうちの1つのみが、IPFの使用条件を満たす角度モードである場合、モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にこの角度モードに対してIPFを実行することを許可する。
【0202】
本実施形態の一例では、Mが3であるとき、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、次の内容を含む。
現在のブロックに対してDIMD融合モードが選択され、且つIPFの使用条件を満たす2つの角度モードがDIMD融合に用いられる場合、モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際に2つの角度モードのうちの1つのみに対してIPFを実行することを許可する。例えば、2つの角度モードのうち振幅値が最も高いまたは次に高い角度モードのみに対してIPFを許可する。
現在のブロックに対してDIMD融合モードが選択され、且つDIMD融合に用いられる2つの角度モードのうちの1つのみが、IPFの使用条件を満たす角度モードである場合、モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用条件を満たす角度モードに対してIPFを実行することを許可する。
【0203】
本実施形態の一例では、Mが2であるとき、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、次の内容を含む。
現在のブロックに対してTIMD融合モードが選択され、且つ2つの角度モードがTIMD融合に用いられる場合、モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用を許可しない。
現在のブロックに対してTIMD融合モードが選択されたとともに、TIMD融合に用いられる2つのイントラ予測モードのうちの1つのみが、角度モードであり且つこの角度モードがIPFの使用条件を満たす場合、モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用条件を満たす角度モードに対してIPFを実行することを許可する。
【0204】
上記実施形態では、現在のブロックに対してイントラ予測を実行する際に1つの角度モードに対してIPFを実行することを許可することは、2つ以上の予測結果の加重和を現在のブロックの最終的な予測結果とすることを含む。2つ以上の予測結果が、現在のブロックに対して選択された第1参照ラインとこの角度モードに基づいて現在のブロックを予測することによって得られた予測結果と、第1参照ラインと異なる第2参照ラインとこの角度モードに基づいて現在のブロックを予測することによって得られた予測結果とを含む。例えば、第2参照ラインは、第1参照ラインに隣接する参照ラインであってもよく、インデックスが0の参照ラインであってもよい。
【0205】
本願の例示的な実施形態において、制約条件は、以下のいずれか1つ以上を含み、即ち、
制約条件1:現在のブロックに対してTIMD融合モードが選択されること、
制約条件2:現在のブロックに対してDIMD融合モードが選択されること、
制約条件3:現在のブロックに対してMRLが使用されること、
制約条件4:現在のブロックに対して選択された参照ラインのインデックスがK以上であり、Kが3以上の整数であること、
制約条件5:現在のブロックの幅が設定値以下であること、
制約条件:現在のブロックの高さが設定値以下であること、
制約条件7:現在のブロックの幅と高さの積が設定値以下であること、
制約条件8:現在のブロックに対してISPモードが使用されること、
制約条件9:現在のブロックに対して選択された角度モードの角度が、-45°、0°、45°、90°、135°のいずれか1つであり、または、現在のブロックに対して選択された角度モードが、整数傾きの角度モードであること、
制約条件10:現在のブロックが属する現在のフレームが、インターフレームであること、
制約条件11:現在のブロックが属する現在の画像が色差(chroma)画像であり、即ち輝度(luma)画像のみに対してIPFを使用し、色差画像に対してIPFを使用しないこと、
という条件のいずれか1つ以上を含み、
制約条件1~制約条件11のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を許可しない。
【0206】
本実施形態の一例では、制約条件は、制約条件4を含み、Kが3、または5、または7、または12である。
【0207】
本願の上記実施形態では、IPFの使用を制約し、例えば、本実施形態では、融合に用いられるイントラ予測モードの数を制約することができ、融合に用いられる角度モードの数を制約することができ、IPFと、TIMD、DIMDなどの、複数のモードが融合される可能性のある予測モードとの同時使用を制約することができるなど、これらにより、予測時に多すぎる融合を行って予測段階の複雑さが不適切に増加することを回避することができる。
【0208】
本実施形態では、現在のブロックのサイズを制限することができ、現在のブロックのサイズが設定値より大きい場合にIPFを使用する。これは、現在のブロックがあるサイズより小さい場合に、通常、より多くのテクスチャがあり、融合予測を使用すると性能の向上が限定的であるためである。本実施形態では、現在のブロックのために選択された参照ラインのインデックスがK以上の場合にIPFの使用を許可せず、すなわち、現在のブロックのために選択された拡張参照ラインが現在のブロックから比較的遠い場合にIPFの使用を許可せず、この場合にIPFの使用による性能の向上が限定的である。
【0209】
本実施形態ではIPFとMRLの同時使用を制約することで、計算の複雑さを減らすことができる。本実施形態では、現在のフレームがBフレーム、Pフレームなどのインターフレームである場合にIPFの使用を許可しないことにより、インターフレームコーディングのコストを低減することができる。
【0210】
本願の例示的な一実施形態例において、上記方法は、制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することをさらに含む。
現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、現在のブロックに対して選択されたイントラ予測モードが、1つのみであり且つ角度モードである場合、第1予測結果と第2予測結果の加重和を現在のブロックの最終的な予測結果とすることを含む。第1予測結果は、現在のブロックに対して選択された第1参照ラインと現在のブロックに対して選択された第1角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2予測結果は、第2参照ラインと第1角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである。
【0211】
制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用する。これは、制約条件のすべてが成立しない場合にのみ、現在のブロックに対してイントラ予測を実行する際にIPFの使用が許可されるという意味ではない。例えば、モード数制約条件が成立した場合でも、IPFの使用条件を満たす一部の角度モードに基づいてIPFを実行することができる。
【0212】
本実施形態の一例では、第1予測結果と第2予測結果の加重和は、数4または数5に従って算出され、
【数4】
【数5】
【0213】
以上の計算方法は演算中に小数が現れることを避けることができ、計算方法の効率を高めることができる。
【0214】
本願の例示的な一実施形態において、上記方法は、制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することをさらに含む。現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、現在のブロックに対して選択されたイントラ予測モードが融合モードである場合、3つ以上の予測結果の加重和を現在のブロックの最終的な予測結果とすることを含む。3つ以上の予測結果は、現在のブロックに対して選択された第1参照ラインと融合モードにおけるイントラ予測モードの各々に基づいて、現在のブロックを予測することによって得られた複数の予測結果と、融合モードにおけるIPFが許可される1つまたは複数の角度モードと第2参照ラインに基づいて、現在のブロックを予測することによって得られた1つまたは複数の予測結果とを含む。第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである。
【0215】
本願の上記実施形態では、第1予測結果と第2予測結果の加重和を算出する際に、第1予測結果に与えられる重みは、第2予測結果に与えられる重みより大きい。例えば、第1参照ラインはインデックスが1の参照ラインであり、第2参照ラインはインデックスが0の参照ラインである場合、第1予測結果の重みを3/4に設定し、第2予測結果の重みを1/4に設定する。
【0216】
本願の上述の実施形態では、第1参照ラインのインデックスがK以上である場合、第2参照ラインは、第1参照ラインに隣接し、且つ第1参照ラインより現在のブロックに近く、Kは1以上の整数である。
【0217】
例えば、第2参照ラインは、以下の方式のうちの少なくとも1つに基づいて決定することができる。
第1参照ラインのインデックスが1である場合、第2参照ラインのインデックスが0であると確定する。
第1参照ラインのインデックスが3である場合、第2参照ラインのインデックスが2であると確定する。
第1参照ラインのインデックスが5である場合、第2参照ラインのインデックスが4であると確定する。
第1参照ラインのインデックスが7である場合、第2参照ラインのインデックスが6であると確定する。
第1参照ラインのインデックスが12である場合、第2参照ラインのインデックスは11であると確定する。
【0218】
第1参照ラインのインデックスがK以上の場合、第2参照ラインを、第1参照ラインに隣接し且つ第1参照ラインよりも現在のブロックに近い参照ラインに設定することで、第2参照ラインに基づく現在のブロックの予測の正確さを向上させ、ひいては融合後の予測結果の正確さを向上させることができる。
【0219】
本願の例示的な実施形態では、IPFはTMRLモードと同時に使用することができる。すなわち、現在のブロックに対してテンプレートベースのマルチ参照ラインイントラ予測(template-based multiple reference line & intra_ intra prediction、TMRL)モードの候補リストにおける1つの拡張参照ラインと1つの角度モードが選択され、且つ制約条件のすべてが成立しない場合、この拡張参照ラインとこの角度モードに基づいて現在のブロックを予測した第1予測結果と、他の参照ラインとこの角度モードに基づいて現在のブロックを予測した第2予測結果とを計算し、第1予測結果と第2予測結果の加重和を現在のブロックの最終的な予測結果とする。上記他の参照ラインは、インデックスが0である参照ラインまたはこの拡張参照ラインの隣接ラインである。
【0220】
本願の一実施形態は、エンコーダーに適用されるビデオエンコーディング方法をさらに提供し、図11に示すように、この方法は次の内容を含む。
ステップ510において、モード選択で現在のブロックに対して選択された参照ラインとイントラ予測モードを確定する。
ステップ520において、本願のいずれかの実施形態に記載のイントラ予測融合方法に基づいて現在のブロックを予測して現在のブロックの予測値を得る。
本ステップでは、現在のブロックに対してイントラ予測を実行する際にIPFを使用する場合、現在のブロックの最終的な予測結果に基づいて現在のブロックの予測値を得る。
ステップ530において、現在のブロックのオリジナル値と予測値に基づいて、現在のブロックの残差を確定する。
【0221】
本実施形態のビデオエンコーディング方法では、本願のいずれかの実施形態のイントラ予測融合方法を用いて現在のブロックを予測することで、このイントラ予測融合方法の様々な効果を得ることができる。
【0222】
本願の一実施形態は、デコーダーに適用されるビデオデコーディング方法をさらに提供し、図12に示すように、この方法は次の内容を含む。
ステップ610において、ビットストリームをデコードして、現在のブロックに対して選択された参照ラインとイントラ予測モードを確定する。
ステップ620において、本願のいずれかの実施形態に記載のイントラ予測融合方法に基づいて現在のブロックを予測して現在のブロックの予測値を得る。
本ステップでは、現在のブロックに対してイントラ予測を実行する際にIPFを使用する場合、現在のブロックの最終的な予測結果に基づいて現在のブロックの予測値を得る。
ステップ630において、現在のブロックの予測値に基づいて現在のブロックの再構成値を確定する。
【0223】
本実施形態のビデオデコーディング方法では、本願のいずれかの実施形態のイントラ予測融合方法を用いて現在のブロックを予測することで、このイントラ予測融合方法の様々な効果を得ることができる。
【0224】
上記実施形態で用いた、テンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードのイントラ予測方法は、拡張参照ラインとイントラ予測モードの組み合わせに基づいて候補リストを構築し、拡張参照ラインとイントラ予測モードの組み合わせをエンコード及びデコードする予測モードである。ただし、テンプレートに基づいているかどうか、または順番付けをするかどうかにかかわらず、1行の参照ラインを使用して予測する。通常、1行の参照ラインにはノイズが含まれており、予測の正確さに影響する。
【0225】
そのため、本願の一実施形態は、TMRLモードに基づいてIPFを使用する方法を提案する。TMRLモードに基づいてIPFを使用し、すなわち選択された角度モードに対してIPFを行い、つまり選択された参照ラインとその角度モードに基づいて現在のブロックを予測した結果と、別の参照ラインとその角度モードに基づいて現在のブロックを予測した結果とに重み付けを行って、現在のブロックの最終的な予測結果を得る。異なる参照ラインの予測結果を融合することで、予測の正確さを向上させる。
【0226】
TMRLモードに基づいてIPFを使用する場合、現在のブロックに対してIPFを使用するかどうかを示すフラグを設定する必要がなく、エンコーダーとデコーダーによって、約束された条件に基づいて判断することができる。
【0227】
本願の一実施形態では、IPFはTMRLモードと同時に使用することができる場合、現在のブロックに対してTMRLモードの候補リストにおける1つの拡張参照ラインと1つの角度モードが選択され、且つ制約条件のすべてが成立しない場合、この拡張参照ラインとこの角度モードに基づいて現在のブロックを予測した第1予測結果と、他の参照ラインとこの角度モードに基づいて現在のブロックを予測した第2予測結果とを計算し、第1予測結果と第2予測結果の加重和を現在のブロックの最終的な予測結果とする。この他の参照ラインは、インデックスが0である参照ラインまたはこの拡張参照ラインの隣接ラインである。
【0228】
本実施形態では、TMRLモードの候補リストを構築する際にもエンコード及びデコードする場合にも、前述の実施形態の方法を使用することができる。その違いは、本実施形態では、現在のブロックの予測値を生成する段階で、選択された角度モードと選択された参照ラインに基づいて生成された予測値と、選択された角度モードと別の参照ラインに基づいて生成された予測値に対して重み付けを行って現在のブロックの最終的な予測値を得るということである。
【0229】
本実施形態では、TMRLモードに基づくIPFを制約する。例えば、選択された参照ラインが現在のブロックに近いいくつかの参照ラインである場合にのみIPFを行う。具体的には、参照ラインがreference line 1であり、または参照ラインがreference line 1、3であり、または参照ラインがreference line 1、3、5であり、または参照ラインがreference line 1、3、5、7であり、または参照ラインがreference line 1、3、5、7、12である場合にのみ、融合は許可される。また、現在のブロックのためにある角度モードを使用している場合、IPFを使用しないように限定することもできる。例えば、角度モードの角度が水平角度、垂直角度、-45度、45度、135度である場合、IPFを使用することはできない。また、現在のブロックのサイズがあるサイズ以下の場合、通常、小さいブロックにはより多くのテクスチャがあるため、IPFすなわち融合予測の使用を許可しなくてもよい。
【0230】
TMRLモードに基づいてIPFを使用する場合、TMRLモードのシンタックスエレメントにおいて、IPFを使用するかどうかを表すフラグを追加することもできる。
【0231】
本願の一実施形態は、デコーダーに適用されるビデオデコーディング方法を提供し、図13に示すように、この方法はステップ710~ステップ730を含む。
ステップ710において、デコーディングにより、現在のブロックに対してテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードが使用されると確定する場合、引き続き現在のブロックのTMRLモードインデックスとTMRL融合フラグをデコードする。
ステップ720において、現在のブロックに対してTMRLモードの候補リストを構築し、候補リストとTMRLモードインデックスに基づいて、現在のブロックに対して選択された拡張参照ラインとイントラ予測モードを確定する。
本ステップは、前述の実施形態と同じ方法を用いて、候補リストを構築し、現在のブロックのために選択される拡張参照ラインおよびイントラ予測モードを決定することができる。
ステップ730において、TMRL融合フラグがイントラ予測融合(IPF)が使用されることを示す場合、第1予測結果と第2予測結果の加重和を、現在のブロックの最終的な予測結果とする。
このステップでは、第1予測結果と第2予測結果の加重和は、前述の公式一と公式二から計算することができる。
【0232】
第1予測結果は、拡張参照ラインとイントラ予測モードとに基づいて現在のブロックを予測することによって得られ、第2予測結果は、他の参照ラインとイントラ予測モードに基づいて現在のブロックを予測することによって得られ、このイントラ予測モードは角度モードである。2つの予測結果を重み付けする際に、前述の実施形態の公式を用いて計算することができる。
【0233】
本実施形態では、TMRL融合フラグが、IPFが使用されないことを示す場合、拡張参照ラインとイントラ予測モードに基づいて現在のブロックを予測して、現在のブロックの最終的な予測結果を得る。
【0234】
本実施形態では、TMRLモードに基づいて、TMRL融合フラグを設定することによってIPFを使用するかどうかを表し、エンコーディング側では前述の実施形態と同じまたは類似の制約条件が成立するかどうかを踏まえてTMRL融合フラグをエンコードすることができる。IPFを使用すると確定すれば、TMRL融合フラグを1に設定し、IPFを使用しないと確定すれば、TMRL融合フラグを0に設定する。一方、デコーディング側では、これらの制約条件と合わせて判断する必要はなく、このTMRL融合フラグに基づいて、TMRLモードを使用する際に選択された角度モードに対してIPFを行うかどうかを決定することができる。デコーディング側の処理を簡略化し、IPF使用条件の設定の柔軟性を高めることができる。TMRLモードに基づいてIPFを使用することにより、予測の正確性を高め、ビデオエンコーディングの性能を向上させることができる。
【0235】
本実施形態の一例では、上記他の参照ラインは、その拡張参照ラインに隣接し且つその拡張参照ラインの内側にある参照ラインであり、または、その拡張参照ラインに隣接し且つその拡張参照ラインの外側にある参照ラインであり、または、インデックスが0である参照ラインである。
【0236】
本実施形態の一例では、TMRL融合フラグをデコードする条件を増やすことができ、即ち、引き続き現在のブロックのTMRLモードインデックスとTMRL融合フラグをデコードすることは、現在のブロックのTMRLモードインデックスをデコードした後、現在のブロックのサイズが設定条件を満たすか否かを確定し、設定条件が満たされた場合、現在のブロックのTMRL融合フラグをデコードし、設定条件が満たされない場合、現在のブロックのTMRL融合フラグのデコーディングをスキップすることを含む。
【0237】
設定条件が、以下のいずれか1つ以上を含み、即ち、
現在のブロックの幅が設定値より大きいこと、
現在のブロックの高さが設定値より大きいこと、
現在のブロックの幅と高さの積が設定値より大きいこと、
現在のブロックが属する現在のフレームは、インターフレームではなく、即ちBフレームとPフレームにおいて、融合モードを使用するイントラブロックがあることを禁止すること、
という条件のいずれか1つ以上を含む。
【0238】
通常、小さいブロックはより多くのテクスチャを有し、IPFを使用する改善は限られているため、本実施形態では現在のブロックのサイズが設定値より大きいことを、TMRL融合フラグをデコードする条件としている。現在のブロックのサイズが設定値より大きくない場合、コーディング効率を高めるためにTMRL融合フラグをエンコード及びデコードしなくてもよい。
【0239】
本実施形態の一例では、現在のブロックに対してTMRLモードの候補リストを構築することは、
現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個の組み合わせを取得することであって、N≧1、M≧1、N×M≧2が満たされた、取得することと、
N×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算することと、
現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入することであって、1≦K≦N×Mが満たされた、記入することと、を含み、
M個のイントラ予測モードは、角度が-45°、0°、45°、90°、135°である角度モード以外の角度モードから選択される。
【0240】
本実施形態では、TMRLモードの候補リストを構築する際に、組み合わせに参加するM個のイントラ予測モードを、いくつかの特定の角度を除いた他の角度モードに制限することで、IPFと結びつけることに有利であり、予測の正確性を向上させることができる。
【0241】
本願の一実施形態は、ビデオデコーディング方法を提供する。CUレベルのシンタックスエレメントを解析する段階で、フラグtmrl_fusion_flag、すなわちTMRL融合フラグを追加的にデコードする必要がある。
【0242】
例えば、次の表に示される通りである。
【0243】
【表8】
【0244】
上の表にあるsps_mrl_enabled_flagはシーケンスレベルフラグであり、1である場合、現在のシーケンスに対してMRLを使用できることを表し、である場合、MRLを使用しないことを表す。( y0 % CtbSizeY ) > 0は、現在のCUがCTUの一番目の行に位置しないことを示す。tmrl_fusion_flagが1である場合、後続のTMRLモードでは融合モードを使用することを示し、そうではない場合、融合モードを使用しない。
【0245】
別の実施形態では、tmrl_fusion_flagをデコードするか否かは、現在のコーディングブロック(Coding block、Cb)のサイズに基づいて確定することもできる。例えば、次の表に示されるように、コーディングブロックの幅cbWidth > Nであり、且つコーディングブロックの高さcbHeight > Mである場合、tmrl_fusion_flagをデコードする。
【0246】
【表9】
【0247】
さらに別の実施形態では、次の表に示されるように、コーディングブロックについては、cbWidth *cbHeight > Lが満たされるとき、tmrl_fusion_flagをデコードする。
【0248】
【表10】
【0249】
表にあるM、N、Lはサイズの設定値であり、いずれも正の整数であり、MはNに等しくてもよい。
【0250】
本実施形態では、テンプレートに基づいて、順番付けをして、TMRLモードの候補リストを構築する際に、使用できるN個の参照ラインとM個のイントラ予測モードに対してN×M個の組み合わせをトラバースし、テンプレート領域の予測値を生成し、テンプレート領域の予測値と再構成値の誤差を求め、誤差の大きさの昇順で上位のK個を選出し、{参照ライン,予測モード}組み合わせの候補リストを構成する。誤差値はSADなどであることができる。本実施形態では、一部のモードのみでIPFを使用することを制約することができる。候補リストを構築する際に、PLANAR、DC、角度が水平角度の角度モード、角度が垂直角度の角度モード、角度が-45度の角度モード、角度が45度の角度モード、角度が135度の角度モードというイントラ予測モードの1つ以上を除外することができる。
【0251】
予測段階での融合は、tmrl_fusion_flagの値に基づく必要がある。tmrl_fusion_flagが1の場合、選択されたイントラ予測モードと選択された参照ラインにより予測信号pを生成し、選択されたイントラ予測モードと参照ラインreference line 0により予測信号pを生成し、pとpを融合して最終的な予測信号を生成する。そうでなければ、pを直接最終的な予測信号とする。
【0252】
本願の実施形態は、エンコーダーに適用されるビデオエンコーディング方法をさらに提供し、図18に示すように、その方法は次の内容を含む。
ステップ1110において、現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストを構築する。候補リストには、現在のブロックのための、拡張参照ラインとイントラ予測モードの候補組み合わせが記入される。
ステップ1120において、レート歪み最適化を通じて、現在のブロックのために、参照ラインとイントラ予測モードの1つの組み合わせを選択する。
ステップ1130において、現在のブロックのTMRLモードのエンコーディング条件が満たされた場合、現在のブロックのTMRLモードフラグをエンコードすることで現在のブロックに対してTMRLモードを使用することを示し、現在のブロックのTMRLモードインデックスをエンコードすることで候補リストにおける選択された組み合わせの位置を示す。
ステップ1140において、現在のブロックのTMRL融合フラグをエンコードして現在のブロックに対してイントラ予測融合(IPF)が使用されるか否かを示す。
エンコーディング条件は、少なくとも、選択された組み合わせが候補リストにあることを含む。
【0253】
本実施形態のビデオエンコーディング方法のうち融合に関連しない部分は、TMRLを用いるが、融合を行わないビデオエンコーディング方法の前述の実施形態と同じであってもよい。例えば、ステップ1130におけるエンコーディング条件の設定が同じであってもよい。
【0254】
本実施形態の一例では、現在のブロックのTMRL融合フラグをエンコードして現在のブロックに対してイントラ予測融合(IPF)が使用されるか否かを示すことは、現在のブロックに対して、候補リストにおける、角度モードを含む組み合わせが選択された場合、設定された制約条件のうちの少なくとも1つが成立するとき、現在のブロックのTMRL融合フラグをエンコードしてIPFが使用されないことを示し、設定された制約条件のすべてが成立しないとき、現在のブロックのTMRL融合フラグをエンコードしてIPFが使用されることを示すこと、を含む。
【0255】
設定された制約条件が、以下のいずれか1つ以上をさらに含み、即ち、
現在のブロックに対してTIMD融合モードが選択されること、
現在のブロックに対してDIMDモードが選択されること、
現在のブロックに対して選択された参照ラインのインデックスがK以上であり、Kが3以上の整数であること、
現在のブロックの幅が設定値以下であること、
現在のブロックの高さが設定値以下であること、
現在のブロックの幅と高さの積が設定値以下であること、
現在のブロックに対してイントラサブパーティション分割(ISP)モードが使用されること、
現在のブロックに対して選択された角度モードの角度が、-45°、0°、45°、90°、135°のいずれか1つであり、または、現在のブロックに対して選択された角度モードが、整数傾きの角度モードであること、
現在のブロックが属する現在のフレームがインターフレームであること、
現在のブロックが属する現在の画像が色差画像であること、
という条件のいずれか1つ以上をさらに含む。
【0256】
本実施形態の一例では、現在のブロックのTMRLモードの候補リストを構築する際にして、組み合わせに参加するイントラ予測モードは、角度が-45°、0°、45°、90°、135°である角度モードを含まない。
【0257】
エンコーディング側では、現在のブロックに対して、TMRLモードの候補リスト内の組み合わせが選択され、且つIPFが使用される場合、その組み合わせに基づいてIPFを使用して現在のブロックを予測し、その組み合わせに基づく結果と、その組み合わせの中の角度モードと別の参照ラインに基づく予測結果とを重み付けし、現在のブロックの予測値を得る。ひいては、現在のブロックの再構成値を確定することができる。
【0258】
TMRLに基づいてIPFを使用するために、TMRLの候補リストを構築する際に、拡張参照ラインと角度モードの組み合わせに基づいて得られる融合予測モードも候補リスト内の1つの組み合わせとすることができる。
【0259】
本願の一実施形態は、エンコーダーに適用することも、デコーダーに適用することもできる、マルチ参照ラインイントラ予測モードの候補リストの構築方法を提供する。図14に示すように、この方法は次の内容を含む。
ステップ810において、現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個のオリジナルの組み合わせを取得する。
ステップ820において、N×M個のオリジナルの組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。
ステップ830において、誤差が最も小さいK個のオリジナルの組み合わせにおける、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、融合が必要であるか否かを確定し、融合が必要である場合、オリジナルの組み合わせに対応する融合組み合わせを現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに記入し、融合が必要ではない場合、オリジナルの組み合わせを候補リストに記入する。K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされた。
【0260】
本実施形態では、誤差が最も小さいK個のオリジナルの組み合わせにおける、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、融合が必要であるか否かを確定し、融合が必要である場合、オリジナルの組み合わせに対応する融合組み合わせを現在のブロックのTMRLモードの候補リストに記入することは、
オリジナルの組み合わせに対応する融合組み合わせに基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算し、オリジナルの組み合わせに対応する誤差が融合組み合わせに対応する誤差より大きい場合、融合が必要であると確定し、オリジナルの組み合わせに対応する誤差が融合組み合わせに対応する誤差以下である場合、融合が必要でないと確定すること、を含む。
融合組み合わせに基づいて、現在のブロックに対して予測を実行する場合、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とし、第1予測結果は、オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2予測結果は、オリジナルの組み合わせにおける角度モードと第2参照ラインに基づいて現在のブロックを予測することによって得られた予測結果であり、第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインであり、
予め確定された角度モードはすべての角度モードを含み、または、整数傾きの角度モード以外の角度モードを含む。
【0261】
本実施形態の第1予測結果と第2予測結果の加重和は、上述の公式一または公式二に従って計算することができる。
【0262】
本実施形態では、融合を行わないモードをソートしてK個の組み合わせを選出して候補リストを構築する。次に、K個の組み合わせの各々にある参照ラインに対して融合する必要があるかどうかを逐一確定する。確定方法は、現在の選択された組み合わせにある参照ラインにより、融合モードと非融合モードで生成された予測信号と再構成信号の間の誤差の大きさに基づいて、融合モードを使用する場合の誤差がより小さければ、この組み合わせに対して融合を使用し、そうでなければ融合を使用しない、ということである。本実施形態では、(5×M+K)個の組み合わせに基づいてテンプレート領域に対して予測と誤差値計算を行うだけでよい。
【0263】
本願の他の実施形態は、エンコーダーに適用することも、デコーダーに適用することもできる、マルチ参照ラインイントラ予測モードの候補リストの構築方法を提供する。図15に示すように、この方法は次の内容を含む。
ステップ910において、現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインとイントラ予測モードのN×M個のオリジナルの組み合わせを取得する。
ステップ920において、N×M個のオリジナルの組み合わせに対して融合処理を実行する。融合処理は、予め確定された角度モードを含むオリジナルの組み合わせの各々に対して、設定条件が満たされた場合、オリジナルの組み合わせを対応する融合組み合わせに置き換えることを含む。
ステップ930において、融合処理を実行したN×M個の組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。
ステップ940において、現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入する。
K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされ、
オリジナルの組み合わせに対応する融合組み合わせに基づいて、現在のブロックに対して予測を実行する場合、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とし、第1予測結果は、オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2予測結果は、オリジナルの組み合わせにおける角度モードと第2参照ラインに基づいて現在のブロックを予測することによって得られた予測結果であり、第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである。
【0264】
本実施形態の一例において、設定条件は、次の条件のいずれか1つ以上を含む。
現在のブロックのサイズがN×Mより大きく、NとMは設定された正の整数であること。
現在のブロックに対して選択されたイントラ予測モードが、整数傾きの角度モードではないこと。
予め確定された角度モードはすべての角度モードを含み、または、整数傾きの角度モード以外の角度モードを含むこと。
【0265】
本実施形態の第1予測結果と第2予測結果の加重和は、上述の公式一または公式二に従って計算することができる。
【0266】
本実施形態では、テンプレート上の誤差コストの順番付けに基づいて、参照ラインのための融合モードと非融合モードを同時に順番付けする必要はない。次の条件の1つ以上が満たされた場合、隣接する参照ラインのための融合モードを使用して、テンプレートのための順番付けに参加させ、組み合わせ{参照ライン,予測モード}のリストを生成し、そうではない場合、融合モードを使用しない。条件は次の通りである。
現在のブロックのサイズがN×Mより大きいこと。
現在のイントラ予測モードがPLANAR、DC、水平角度、垂直角度、-45度、45度、135度の角度モードではないこと。
【0267】
予測段階では、現在のブロックに対してTMRLを使用する場合、デコードして得られたtmrl_idxと、テンプレートベースの順番付けを踏まえて生成された候補リストとに基づいて、選択された参照ラインと予測モードを確定し、同じ条件に基づいて、隣接する参照ラインを用いて、融合した予測結果を生成するかどうかを確定する。すなわち、以下の条件の1つ以上が満たされるときに、選択された角度モードに対してIPFを行う。
現在のブロックのサイズがN×Mより大きいこと。
現在のイントラ予測モードがPLANAR、DC、水平角度、垂直角度、-45度、45度、135度の角度モードではないこと。
【0268】
本願のさらに別の実施形態は、エンコーダーに適用されることも、デコーダーに適用されることもできる、マルチ参照ラインイントラ予測モードの候補リストの構築方法を提供し、図16に示すように、この方法は次の内容を含む。
ステップ1010において、現在のブロックのN個の拡張参照ラインとM個のイントラ予測モードに基づいて、拡張参照ラインと角度モードのN×M個のオリジナルの組み合わせを取得する。
ステップ1020において、N×M個のオリジナルの組み合わせのうちの、予め確定された角度モードを含むオリジナルの組み合わせに基づいて、対応する融合組み合わせを取得する。
ステップ1030において、N×M個のオリジナルの組み合わせと取得された融合組み合わせの各々に基づいて現在のブロックのテンプレート領域を予測し、テンプレート領域の再構成値と予測によって得られた予測値との間の誤差を計算する。
ステップ1040において、現在のブロックのテンプレートベースのマルチ参照ラインイントラ予測(TMRL)モードの候補リストに、誤差の昇順で誤差に対応するK個の組み合わせを記入する。K、N、Mが設定された正の整数であり、1≦K≦N×Mが満たされた。
【0269】
本実施形態は、N×M個のオリジナルの組み合わせのうちの、予め確定された角度モードを含むオリジナルの組み合わせに基づいて、対応する融合組み合わせを取得することは、予め確定された角度モードを含むオリジナルの組み合わせの各々に基づいて、1つの融合組み合わせを取得することを含む。融合組み合わせに基づいて、現在のブロックに対して予測を実行する際、第1予測結果と第2予測結果の加重和を現在のブロックの予測値とする。第1予測結果は、オリジナルの組み合わせにおける拡張参照ラインと角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2予測結果は、第2参照ラインとオリジナルの組み合わせにおける角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、第2参照ラインは、第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである。予め確定された角度モードはすべての角度モードを含み、または、整数傾きの角度モード以外の角度モードを含む。
【0270】
本実施形態では、組み合わせに参加するイントラ予測モードがすべて角度モードである場合、5×M×2個の組み合わせに基づいてテンプレート領域上の予測と誤差値計算を行う必要がある。
【0271】
本実施形態の第1予測結果と第2予測結果の加重和は、上述の公式一または公式二に従って計算することができる。
【0272】
本願の上記実施形態では、組み合わせに参加する参照ラインはインデックスが{1,3,5,7,12}の参照ラインであることを例示する。例えば、オリジナルの組み合わせは、インデックスが1である参照ラインと、ある角度モードとの組み合わせである場合、オリジナルの組み合わせに対応する融合組み合わせは、インデックスが1と2である2つの参照ラインとその角度モードとの組み合わせであることができる。この融合組み合わせに基づいて現在のブロックを予測する際に、インデックスが1である参照ラインとその角度モードとの予測結果、およびインデックスが2である参照ラインとその角度モードとの予測結果に重み付けを行って、現在のブロックの最終的な予測結果を得る。別の例では、第2参照ラインとして内側の隣接する参照ラインを選択し、そうなると、対応する融合組み合わせは、インデックスが0と1である2つの参照ラインとその角度モードの組み合わせであることができる。
【0273】
以上の実施形態に従ってTMRLモードの候補リストを構築する方法をビデオエンコーディング及びビデオデコーディングに適用する場合、現在のブロックに対して選択されたのは候補リスト内の融合組み合わせであれば、その融合組み合わせの予測方式に従って現在のブロックに対して融合予測を実行し、選択されたのは候補リスト内のオリジナルの組み合わせであれば、オリジナルの組み合わせの予測方式に従って現在のブロックを予測し、IPFを使用しない。
【0274】
本願の一実施形態は、本願のいずれかの実施形態に記載のビデオエンコーディング方法によって生成されるビットストリームをさらに提供する。
【0275】
また、本願の一実施形態は、マルチ参照ラインイントラ予測モードの候補リストの構築装置をさらに提供する。図17に示すように、マルチ参照ラインイントラ予測モードの候補リストの構築装置は、プロセッサ71と、コンピュータプログラムを記憶したメモリ73とを備える。プロセッサ71がコンピュータプログラムを実行すると、本明細書のいずれか1つの実施形態に記載のマルチ参照ラインイントラ予測モードの候補リストの構築方法を実現することができる。
【0276】
本願の一実施形態は、イントラ予測融合装置をさらに提供する。イントラ予測融合装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを含む。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のイントラ予測融合方法を実現することができる。
【0277】
本願の一実施形態は、ビデオデコーディング装置をさらに提供する。ビデオデコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができる。
【0278】
本願の一実施形態は、ビデオエンコーディング装置をさらに提供する。ビデオエンコーディング装置は、プロセッサと、コンピュータプログラムを記憶したメモリとを備える。プロセッサがコンピュータプログラムを実行すると、本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0279】
本願の一実施形態は、ビデオコーディングシステムをさらに提供する。ビデオコーディングシステムは、本願のいずれか1つの実施形態に記載のビデオエンコーディング装置と、本願のいずれか1つの実施形態に記載のビデオデコーディング装置を含む。
【0280】
本願の一実施形態は、非一時的なコンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、コンピュータプログラムは、プロセッサによって実行されると、本願のいずれか1つの実施形態に記載のイントラ予測融合方法を実現することができ、または、本願のいずれか1つの実施形態に記載のマルチ参照ラインイントラ予測モードの候補リストの構築方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオデコーディング方法を実現することができ、又は本願のいずれか1つの実施形態に記載のビデオエンコーディング方法を実現することができる。
【0281】
本願の上記実施形態のプロセッサは、中央処理装置(CPU)、ネットワークプロセッサ(Network Processor、NP)、マイクロプロセッサなどを含む汎用プロセッサであることができ、又は他の通常のプロセッサなどであることができる。プロセッサは、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラム可能なゲートアレイ(field programmable gate array、FPGA)、ディスクリートロジック又は他のプログラム可能なロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントであることもでき、又は他の等価に集積された又はディスクリート論理回路であることもでき、上記コンポーネントの組み合わせであることもできる。即ち、上記実施形態のプロセッサは、本発明の実施形態に開示された様々な方法、ステップ及び論理ブロック図を実現する任意の処理コンポネント又はコンポネントの組み合わせであることができる。本願の実施形態が部分的にソフトウェアで実施される場合、ソフトウェアに用いられる命令が適切な不揮発性コンピュータ可読記憶媒体に記憶されることができ、1つ又は複数のプロセッサにより、ハードウェアで命令を実行することで本願の実施形態の方法を実施することができる。本明細書で使用する「プロセッサ」という用語は、上述した構造、又は本明細書で説明する技術を実施するのに適した任意の他の構造を指すことができる。
【0282】
上記1つ又は複数の例示的な実施形態において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせによって実現されることができる。ソフトウェアによって実現される場合、機能は1つもしくは複数の命令又はコードとしてコンピュータ可読媒体に記憶され、又は、コンピュータ可読媒体を介して伝送されることができ、ハードウェアベースの処理ユニットによって実行される。コンピュータ可読媒体は、データ記憶媒体などの有形媒体であるコンピュータ可読媒体を含み、又は、コンピュータプログラムが例えば通信プロトコルに従ってあるところから別のところへ伝送されることを容易にする任意の通信媒体を含むことができる。このように、コンピュータ可読媒体は通常、非一時的な有形のコンピュータ可読記憶媒体、又は信号もしくはキャリアなどの通信媒体であることができる。データ記憶媒体は、本願に記載の技術を実施するための命令、コード、及び/又はデータ構造を検索するために、1つもしくは複数のコンピュータ又は1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であってもよい。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
【0283】
限定的ではない例として、このようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ(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)、フロッピーディスク、又はブルーレイディスクなどを含み、磁気ディスクは通常、磁気的にデータを再生し、光ディスクはレーザーを使用して光学的にデータを再生する。上記の組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0284】
いくつかの態様において、本明細書で説明する機能は、エンコーディング及びデコーディングに用いられるように構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供されることができ、または、集積エンコーダー・デコーダーに組み込まれることもできる。また、本明細書で説明する技術は、1つもしくは複数の回路又は論理素子に完全に実現されることができる。
【0285】
本願の実施形態の技術案は、無線携帯電話、集積回路(IC)、又は1セットのIC(例えば、チップセット)を含む様々な装置又は機器に実施され得る。本願の実施形態では、様々なコンポーネント、モジュール、又はユニットを用いて、説明した技術を実行するように構成されたデバイスの機能を強調する。必ずしも異なるハードウェアユニットによって実現されるとは限らない。上述したように、様々なユニットは、エンコーダーとデコーダーというハードウェアユニットにおいて組み合わせられてもよく、相互運用可能なハードウェアユニット(上述した1つ又は複数のプロセッサを含む)の集合体と適切なソフトウェア及び/又はファームウェアとの組み合わせで提供されてもよい。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
【請求項2】
前記制約条件は、モード数制約条件を含み、前記モード数制約条件は、IPFの使用により、現在のブロックを予測するにはM個以上の角度モードを融合する必要があり、Mは2以上である整数であるということである、
ことを特徴とする請求項1に記載のイントラ予測融合方法。
【請求項3】
Mが2であるとき、前記した、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してIPFを使用する制約条件が成立するか否かを確定し、前記制約条件のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を制約することは、
現在のブロックに対してTIMD融合モードが選択され、且つ2つの角度モードがTIMD融合に用いられる場合、前記モード数制約条件が成立すると確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用を許可しないことと、
現在のブロックに対してTIMD融合モードが選択されたとともに、TIMD融合に用いられる2つのイントラ予測モードのうちの1つのみが、角度モードであり且つ前記角度モードがIPFの使用条件を満たす場合、前記モード数制約条件が成立しないと確定し、現在のブロックに対してイントラ予測を実行する際にIPFの使用条件を満たす前記角度モードに対してIPFを実行することを許可することと、
を含む、
ことを特徴とする請求項に記載のイントラ予測融合方法。
【請求項4】
前記制約条件は、以下のいずれか1つ以上を含み、即ち、
制約条件1:現在のブロックに対してTIMD融合モードが選択されること、
制約条件2:現在のブロックに対してDIMD融合モードが選択されること、
制約条件3:現在のブロックに対してマルチ参照ライン(multiple reference line、MRL)が使用されること、
制約条件4:現在のブロックに対して選択された参照ラインのインデックスがK以上であり、Kが3以上の整数であること、
制約条件5:現在のブロックの幅が設定値以下であること、
制約条件:現在のブロックの高さが設定値以下であること、
制約条件7:現在のブロックの幅と高さの積が設定値以下であること、
制約条件8:現在のブロックに対してイントラサブパーティション分割(intra sub-partitions、ISP)モードが使用されること、
制約条件9:現在のブロックに対して選択された角度モードの角度が、-45°、0°、45°、90°、135°のいずれか1つであり、または、現在のブロックに対して選択された角度モードが、整数傾きの角度モードであること、
制約条件10:現在のブロックが属する現在のフレームが、インターフレームであること、
制約条件11:現在のブロックが属する現在の画像が、輝度画像ではないこと、
という条件のいずれか1つ以上を含み、
前記制約条件1~制約条件11のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を許可しない、
ことを特徴とする請求項1に記載のイントラ予測融合方法。
【請求項5】
前記制約条件は、制約条件4を含み、Kが3、または5、または7、または12である、
ことを特徴とする請求項に記載のイントラ予測融合方法。
【請求項6】
前記イントラ予測融合方法は、前記制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することをさらに含み、
前記した、現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、前記現在のブロックに対して選択されたイントラ予測モードが、1つのみであり且つ角度モードである場合、第1予測結果と第2予測結果の加重和を現在のブロックの最終的な予測結果とすることを含み、
前記第1予測結果は、現在のブロックに対して選択された第1参照ラインと現在のブロックに対して選択された第1角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2予測結果は、第2参照ラインと前記第1角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2参照ラインは、前記第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである、
ことを特徴とする請求項1に記載のイントラ予測融合方法。
【請求項7】
前記イントラ予測融合方法は、前記制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することをさらに含み、
前記した、現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、前記現在のブロックに対して選択されたイントラ予測モードが融合モードである場合、3つ以上の予測結果の加重和を現在のブロックの最終的な予測結果とすることを含み、
前記3つ以上の予測結果は、現在のブロックに対して選択された第1参照ラインと前記融合モードにおけるイントラ予測モードの各々に基づいて、現在のブロックを予測することによって得られた複数の予測結果と、前記融合モードにおけるIPFが許可される1つまたは複数の角度モードと第2参照ラインに基づいて、現在のブロックを予測することによって得られた1つまたは複数の予測結果とを含み、
前記第2参照ラインは、前記第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである、
ことを特徴とする請求項1に記載のイントラ予測融合方法。
【請求項8】
前記第1参照ラインのインデックスがK以上である場合、前記第2参照ラインは、前記第1参照ラインに隣接し、且つ前記第1参照ラインより現在のブロックに近く、Kは1以上の整数である、
ことを特徴とする請求項またはに記載のイントラ予測融合方法。
【請求項9】
前記第1予測結果と前記第2予測結果の加重和を算出する際、前記第1予測結果に与えられる重みは、前記第2予測結果に与えられる重みより大きい、
ことを特徴とする請求項またはに記載のイントラ予測融合方法。
【請求項10】
前記した、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してイントラ予測融合(IPF)を使用する制約条件が成立するか否かを確定し、前記制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、
現在のブロックに対してテンプレートベースのマルチ参照ラインイントラ予測(template-based multiple reference line & intra_ intra prediction、TMRL)モードの候補リストにおける1つの拡張参照ラインと1つの角度モードが選択され、且つ前記制約条件のすべてが成立しない場合、前記拡張参照ラインと前記角度モードに基づいて現在のブロックを予測した第1予測結果と、他の参照ラインと前記角度モードに基づいて現在のブロックを予測した第2予測結果とを計算し、前記第1予測結果と前記第2予測結果の加重和を現在のブロックの最終的な予測結果とすることを含み、
前記他の参照ラインは、インデックスが0である参照ラインまたは前記拡張参照ラインの隣接ラインである、
ことを特徴とする請求項に記載のイントラ予測融合方法。
【請求項11】
【請求項12】
前記制約条件は、以下のいずれか1つ以上を含み、即ち、
制約条件1:現在のブロックに対してTIMD融合モードが選択されること、
制約条件2:現在のブロックに対してDIMD融合モードが選択されること、
制約条件3:現在のブロックに対してマルチ参照ライン(multiple reference line、MRL)が使用されること、
制約条件4:現在のブロックに対して選択された参照ラインのインデックスがK以上であり、Kが3以上の整数であること、
制約条件5:現在のブロックの幅が設定値以下であること、
制約条件6:現在のブロックの高さが設定値以下であること、
制約条件7:現在のブロックの幅と高さの積が設定値以下であること、
制約条件8:現在のブロックに対してイントラサブパーティション分割(intra sub-partitions、ISP)モードが使用されること、
制約条件9:現在のブロックに対して選択された角度モードの角度が、-45°、0°、45°、90°、135°のいずれか1つであり、または、現在のブロックに対して選択された角度モードが、整数傾きの角度モードであること、
制約条件10:現在のブロックが属する現在のフレームが、インターフレームであること、
制約条件11:現在のブロックが属する現在の画像が、輝度画像ではないこと、
という条件のいずれか1つ以上を含み、
前記制約条件1~制約条件11のうちの少なくとも1つが成立する場合、現在のブロックに対してイントラ予測を実行する際にIPFの使用を許可しない、
ことを特徴とする請求項11に記載のイントラ予測融合方法。
【請求項13】
前記イントラ予測融合方法は、前記制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することをさらに含み、
前記した、現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、前記現在のブロックに対して選択されたイントラ予測モードが、1つのみであり且つ角度モードである場合、第1予測結果と第2予測結果の加重和を現在のブロックの最終的な予測結果とすることを含み、
前記第1予測結果は、現在のブロックに対して選択された第1参照ラインと現在のブロックに対して選択された第1角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2予測結果は、第2参照ラインと前記第1角度モードに基づいて現在のブロックを予測することによって得られた予測結果であり、前記第2参照ラインは、前記第1参照ラインの隣接ラインまたはインデックスが0である参照ラインである、
ことを特徴とする請求項11に記載のイントラ予測融合方法。
【請求項14】
前記した、現在のブロックに対して選択されたイントラ予測モードが角度モードを含む場合、現在のブロックに対してイントラ予測融合(IPF)を使用する制約条件が成立するか否かを確定し、前記制約条件のすべてが成立しない場合、現在のブロックに対してイントラ予測を実行する際にIPFを使用することは、
現在のブロックに対してテンプレートベースのマルチ参照ラインイントラ予測(template-based multiple reference line & intra_ intra prediction、TMRL)モードの候補リストにおける1つの拡張参照ラインと1つの角度モードが選択され、且つ前記制約条件のすべてが成立しない場合、前記拡張参照ラインと前記角度モードに基づいて現在のブロックを予測した第1予測結果と、他の参照ラインと前記角度モードに基づいて現在のブロックを予測した第2予測結果とを計算し、前記第1予測結果と前記第2予測結果の加重和を現在のブロックの最終的な予測結果とすることを含み、
前記他の参照ラインは、インデックスが0である参照ラインまたは前記拡張参照ラインの隣接ラインである、
ことを特徴とする請求項13に記載のイントラ予測融合方法。
【請求項15】
ビットストリームを記憶した非一時的なコンピュータ可読記憶媒体であって、
前記ビットストリームは請求項11~14のいずれか一項に記載のビデオエンコーディング方法により生成される、
ことを特徴とする非一時的なコンピュータ可読記憶媒体。
【国際調査報告】