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

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

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

特表2025-521742マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム
<>
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図1A
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図1B
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図1C
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図2
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図3
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図4
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図5
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図6
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図7
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図8
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図9
  • 特表-マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-07-10
(54)【発明の名称】マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステム
(51)【国際特許分類】
   H04N 19/105 20140101AFI20250703BHJP
   H04N 19/136 20140101ALI20250703BHJP
【FI】
H04N19/105
H04N19/136
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024576937
(86)(22)【出願日】2022-07-05
(85)【翻訳文提出日】2024-12-26
(86)【国際出願番号】 CN2022103944
(87)【国際公開番号】W WO2024007157
(87)【国際公開日】2024-01-11
(81)【指定国・地域】
(71)【出願人】
【識別番号】516227559
【氏名又は名称】オッポ広東移動通信有限公司
【氏名又は名称原語表記】GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
【住所又は居所原語表記】No. 18 Haibin Road,Wusha, Chang’an,Dongguan, Guangdong 523860 China
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【弁理士】
【氏名又は名称】吉田 昌司
(74)【代理人】
【識別番号】100137523
【弁理士】
【氏名又は名称】出口 智也
(74)【代理人】
【識別番号】100220630
【弁理士】
【氏名又は名称】河崎 亮
(72)【発明者】
【氏名】シュイ、ルーハン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159TA33
5C159TB08
5C159TC02
5C159TC42
(57)【要約】
マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステムであって、現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、前記テンプレート領域をそれぞれ予測し、前記テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算し、前記誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得て、符号化・復号化する際、現在ブロックのMRLインデックスリストをソートすることができ、ソートされたMRLインデックスリストに応じて、現在ブロックのマルチ参照行インデックスを復号化または符号化する。本開示の実施例は、符号化オーバーヘッドを節約し、符号化性能を向上させることができる。
【特許請求の範囲】
【請求項1】
現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、前記テンプレート領域をそれぞれ予測し、前記テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算するステップと、
前記誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのマルチ参照行MRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
を含む、
マルチ参照行インデックスリストソート方法。
【請求項2】
現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、テンプレート領域をそれぞれ予測するステップは、前記少なくとも一部の参照行のうちの各参照行に対して、当該参照行の再構成値と現在ブロックによって選択されたイントラ予測モードを使用し、前記テンプレット領域を予測するステップを含む、
請求項1に記載の方法。
【請求項3】
前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込むステップとは、前記誤差に対応する参照行のインデックスを、前記MRLインデックスリストのK番目の位置から位置ごとに埋め込み、最大でK番目の位置まで埋め込むことであり、2≦K≦K≦Mであり、Mは前記MRLインデックスリストの長さである、
請求項1に記載の方法。
【請求項4】
前記方法は、前記現在ブロックに基づいてソートされたMRLインデックスリストにおいて、ソートに参加しない1番目の位置からK―1番目の位置まで、現在ブロックのテンプレート領域が位置する参照行のインデックスを埋め込むステップであって、1番目の位置に埋め込んだ参照行のインデックスは0であるステップをさらに含む、
請求項3に記載の方法。
【請求項5】
前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込むステップとは、前記誤差に対応する参照行のインデックスを、前記MRLインデックスリストの1番目の位置から位置ごとに埋め込み、最大でK番目の位置まで埋め込むことであり、1≦K≦Mであり、Mは前記MRLインデックスリストの長さである、
請求項1に記載の方法。
【請求項6】
前記方法は、K<Mの場合、前記MRLインデックスリストのK+1番目の位置からM番目の位置まで、現在ブロックからの距離の近い方から遠い方への順に従って、位置ごとにM―K個の参照行のインデックスを埋め込むステップであって、前記M―K個の参照行は、前記テンプレート領域外側に位置し、システムによって指定され、且つインデックスが前記MRLインデックスリストに埋め込んだインデックスと異なるステップをさらに含む、
請求項3又は5に記載の方法。
【請求項7】
前記現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行は、
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうちの奇数行、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうちの偶数行、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうち、隣接する行の間の誤差の比較によって選出されたN個の参照行、N≦N’、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうち、指定されたN個の参照行、
を含み、
N’≦Nmaxであり、Nmaxはソートの参加を許可する参照行の最大数である、
請求項1に記載の方法。
【請求項8】
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行は、現在ブロックが位置する符号化ツリーユニットCTUの上方境界を超えない参照行であり、
現在ブロックがテンプレートに基づくイントラモードを使用してTIMDを導出する場合に設定されたNmaxと、現在ブロックがTIMDを使用しない場合に設定されたNmaxは、いずれも3以上である、
請求項7に記載の方法。
【請求項9】
隣接する行の間の誤差の比較によってN個の参照行を選出するステップは、
前記テンプレート領域外側の現在ブロックに最も近い1つの参照行を選出された1番目の参照行とし、新たに選出された当該参照行とその隣接する参照行とを1つずつ比較し、当該参照行に最も近く、且つ2つの参照行の間の誤差が設定閾値より大きい1つの隣接する参照行を新たに選出された1つの参照行とし、N’個の参照行を比較して選択したまで、このように循環し、前記誤差とは、2つの参照行の再構成値間の誤差を指し、または2つの参照行の再構成値を参照とし、前記テンプレート領域をそれぞれ予測して得られた予測値間の誤差を指す、方式を用いる、
請求項7に記載の方法。
【請求項10】
前記誤差は、絶対誤差とSADで表され、または誤差変換絶対値とSATDで表される、
請求項1又は9のいずれかに記載の方法。
【請求項11】
前記現在ブロックのテンプレート領域は、現在ブロックに最も近い参照行に設置され、または
前記現在ブロックのテンプレート領域は、現在ブロックに最も近い複数の参照行に設置される、
請求項1に記載の方法。
【請求項12】
コードストリームにおける現在ブロックのイントラ予測関連構文要素を復号化し、現在ブロックがマルチ参照行MRLの使用を許可する場合、現在ブロックのマルチ参照行インデックスを復号化し続けるステップであって、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスのMRLインデックスリストにおける位置を指示するために用いられるステップと、
復号化結果に応じて、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、請求項1から11のいずれかに記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
前記マルチ参照行インデックスと現在ブロックに基づいてソートされたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップと、
を含む、
ビデオ復号化方法。
【請求項13】
前記方法は、復号化結果に応じて、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、前記マルチ参照行インデックスと設定されたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップをさらに含む、
請求項12に記載の方法。
【請求項14】
現在ブロックのMRLインデックスリストのソートを許可する十分条件は、現在ブロックのMRLインデックスリストのソートを許可することを表すフラグを真にすることを含む、
請求項12に記載の方法。
【請求項15】
現在ブロックが、マルチ参照行MRLを使用しない条件と、
マルチ参照行インデックスが、MRLインデックスリストにおけるソートに参加しない位置を指示する条件と、
現在のフレームが、非輝度フレームである条件と、
現在ブロックが、符号化ツリーユニットCTUの上方境界に位置する条件と、
現在ブロックによって選択されたイントラ予測モードが、指定モードである条件であって、前記指定モードは、平面モード、1つのモードが平面モードであるTIMD融合モード、平均モード、水平角度モード、垂直角度モード、広角度モードのうちの任意の1つまたは複数を含む条件と、
現在ブロックのサイズが、設定条件を満たさない条件と、
現在ブロックの縦横比が、設定条件を満たさない条件と、
現在ブロックがTIMDを使用する場合と現在ブロックがTIMDを使用しない場合のうちの1つである条件と、
のうちの任意の1つまたは複数の条件を、現在ブロックのMRLインデックスリストのソートを許可しない十分条件とする、
請求項13に記載の方法。
【請求項16】
現在ブロックがMRLを使用する場合、前記方法は、
現在ブロックのMRLと同時に使用できる一部の変換モードの構文要素を復号化し、MRLと同時に使用できない一部の変換モードの構文要素をスキップするステップ、及び/または
現在ブロックによって選択されたイントラ予測モードを復号化する過程において、第2最も可能なモードMPMに関連する構文要素の復号化を許可するステップ、
をさらに含む、
請求項12に記載の方法。
【請求項17】
コードストリームにおける現在ブロックのイントラ予測関連構文要素を復号化するステップは、現在ブロックによって選択されたイントラ予測モードを復号化することにより、現在ブロックのMRLインデックスリストをソートするために用いられるステップを含み、
現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップは、現在ブロックによって選択された参照行と現在ブロックによって選択されたイントラ予測モードに応じて、現在ブロックに対してイントラ予測を行うステップを含む、
請求項12に記載の方法。
【請求項18】
現在ブロックのマルチ参照行インデックスを復号化するステップは、現在ブロックがTIMDを使用する場合と、現在ブロックがTIMDを使用しない場合に、異なるMRLインデックスリストに応じて、現在ブロックのマルチ参照行インデックスを復号化するステップを含む、
請求項17に記載の方法。
【請求項19】
現在ブロックがTIMDを使用しないと決定した場合、前記設定されたMRLインデックスリストは{0,1,3,5,7,12}であり、
現在ブロックがTIMDを使用すると決定した場合、前記設定されたMRLインデックスリストは{0,1,3}または{0,1,2}である、
請求項13に記載の方法。
【請求項20】
現在ブロックに対してイントラ予測を行い、現在ブロックによって選択された参照行を決定するステップと、
現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、請求項1から11のいずれかに記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
現在ブロックによって選択された参照行のインデックスの、現在ブロックに基づいてソートされたMRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップと、
を含む、
ビデオ符号化方法。
【請求項21】
前記方法は、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、現在ブロックによって選択された参照行のインデックスの、設定されたMRLインデックスにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップをさらに含む、
請求項20に記載の方法。
【請求項22】
前記方法は、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、現在ブロックのMRLインデックスリストのソートを許可することを表すフラグを真にするステップをさらに含む、
請求項20に記載の方法。
【請求項23】
現在ブロックが、マルチ参照行MRLを使用しない条件と、
現在ブロックによって選択された参照行が、現在ブロックのテンプレート領域に位置する条件と、
現在のフレームが、非輝度フレームである条件と、
現在ブロックが、符号化ツリーユニットCTUの上方境界に位置する条件と、
現在ブロックによって選択されたイントラ予測モードが、指定モードである条件であって、前記指定モードは、平面モード、1つのモードが平面モードであるTIMD融合モード、平均モード、水平角度モード、垂直角度モード、広角度モードのうちの任意の1つまたは複数を含む条件と、
現在ブロックのサイズが、設定条件を満たさない条件と、
現在ブロックの縦横比が、設定条件を満たさない条件と、
現在ブロックがTIMDを使用する場合と現在ブロックがTIMDを使用しない場合のうちの1つである条件と、
現在ブロックのMRLインデックスリストのソートを許可しない条件がいずれも成立しない場合、現在ブロックのMRLインデックスリストのソートを許可すると決定する条件と、
のうちの任意の1つまたは複数の条件を、現在ブロックのMRLインデックスリストのソートを許可しない十分条件とする、
請求項21に記載の方法。
【請求項24】
前記方法は、
現在ブロックのマルチ参照行インデックスを決定して符号化するステップは、
現在ブロックがTIMDを使用する場合、現在ブロックによって選択された参照行のインデックスの、第1MRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップと、
現在ブロックがTIMDを使用しない場合、現在ブロックによって選択された参照行のインデックスの、第2MRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップであって、前記第2MRLインデックスリストの長さは、前記第1MRLインデックスリストの長さ以上であるステップと、を含むステップ、
をさらに含む、
請求項20に記載の方法。
【請求項25】
現在ブロックがMRLを使用する場合、前記方法は、現在ブロックのMRLと同時に使用できる一部の変換モードの構文要素を符号化し、MRLと同時に使用できない一部の変換モードの符号化をスキップするステップをさらに含む、
請求項20に記載の方法。
【請求項26】
現在ブロックがMRLを使用し、且つ現在ブロックによって選択されたモードが非TIMDモードである場合、前記方法は、前記マルチ参照行インデックスを符号化した後、現在ブロックによって選択されたイントラ予測モードを符号化し続け、且つ現在ブロックによって選択されたイントラ予測モードを符号化する過程において、第2MPMに関連する構文要素の符号化を許可するステップをさらに含む、
請求項20に記載の方法。
【請求項27】
請求項1から11のいずれかに記載の方法に従って、現在ブロックのMRLインデックスリストをソートする前に、前記方法は、現在ブロックによって選択されたイントラ予測モードを決定するステップをさらに含む、
請求項20に記載の方法。
【請求項28】
コードストリームであって、
前記コードストリームには、現在ブロックのマルチ参照行インデックスが含まれ、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスの、MRLインデックスリストにおける位置を指示するために用いられ、前記MRLインデックスリストは、現在ブロックに基づいてソートされたMRLインデックスリスト、または設定されたMRLインデックスリストである、
コードストリーム。
【請求項29】
前記コードストリームは、請求項20から27のいずれかに記載のビデオ符号化方法によって生成される、
請求項28に記載のコードストリーム。
【請求項30】
マルチ参照行インデックスリストソート装置であって、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、請求項1から11のいずれかに記載のマルチ参照行インデックスリストソート方法を実現する、
マルチ参照行インデックスリストソート装置。
【請求項31】
ビデオ復号化装置であって、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、請求項12から19のいずれかに記載のビデオ復号化方法を実現する、
ビデオ復号化装置。
【請求項32】
ビデオ符号化装置であって、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、請求項20から27のいずれかに記載のビデオ符号化方法を実現する、
ビデオ符号化装置。
【請求項33】
請求項32に記載のビデオ符号化装置と、請求項31に記載のビデオ復号化装置とを備える、
ビデオ符号化・復号化システム。
【請求項34】
コンピュータ可読記憶媒体であって、コンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサによって実行されると、請求項1から11のいずれかに記載のマルチ参照行インデックスリストソート方法を実現するか、または、請求項12から19のいずれかに記載のビデオ復号化方法を実現するか、または、請求項20から27のいずれかに記載のビデオ符号化方法を実現する、
非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施例は、ビデオ技術に関するが、これに限定されなく、より具体的には、マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステムに関する。
【背景技術】
【0002】
デジタルビデオ圧縮技術は、主に膨大なデジタル映像ビデオデータを圧縮することにより、伝送及び記憶などを容易にする。現在の一般的なビデオ符号化・復号化規格、例えば、H.266/Versatile Video Coding(多機能ビデオ符号化、VVC)は、いずれもブロックに基づくハイブリッド符号化フレームワークを使用している。ビデオにおける各フレームは、同じサイズ(例えば、128x128、64x64など)の正方形の最大符号化ユニット(LCU:largest coding unit)に分割される。各最大符号化ユニットは、規則に応じて矩形の符号化ユニット(CU:coding unit)に分割されてもよい。符号化ユニットは、さらに予測ユニット(PU:prediction unit)、変換ユニット(TU:transform unit)などに分割されてもよい。ハイブリッド符号化フレームワークは、予測(prediction)、変換(transform)、量子化(quantization)、エントロピー符号化(entropy coding)、ループフィルタ(in loop filter)などのモジュールを含む。予測モジュールは、ビデオ内の冗長性を低減または取り出すためのイントラ予測(intra prediction)及びインター予測(inter prediction)を含む。イントラブロックは、ブロック周囲の画素を参照として予測し、インターブロックは、空間上の隣接ブロックの情報及び他のフレーム内の参照情報を参照する。予測信号に対して、残差情報は、ブロックを単位とする変換、量子化、及びエントロピー符号化によって、コードストリームになる。これらの技術は規格に記載されており、ビデオ圧縮に関連するさまざまな分野で実施されている。
【0003】
インターネットビデオの急増と人々のビデオの鮮明度に対する要求の高まりに伴い、既存のデジタルビデオ圧縮規格は多くのビデオデータを節約できるが、デジタルビデオ伝送の帯域幅と流量圧力を低減するために、依然としてより優れたデジタルビデオ圧縮技術を追求する必要がある。
【発明の概要】
【課題を解決するための手段】
【0004】
以下は、本明細書で詳しく説明されている主題の概要である。当該概要は、特許請求の範囲を限定することを意図するものではない。
【0005】
本開示の一実施例では、マルチ参照行インデックスリストソート方法が提供され、前記方法は、
【0006】
現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、前記テンプレート領域をそれぞれ予測し、前記テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算するステップと、
【0007】
前記誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、を含む。
【0008】
本開示の一実施例では、ビデオ復号化方法がさらに提供され、前記方法は、
【0009】
コードストリームにおける現在ブロックのイントラ予測関連構文要素を復号化し、現在ブロックがマルチ参照行MRLの使用を許可する場合、現在ブロックのマルチ参照行インデックスを復号化し続けるステップであって、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスのMRLインデックスリストにおける位置を指示するために用いられるステップと、
【0010】
復号化結果に応じて、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、本開示のいずれかの実施例に記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
【0011】
前記マルチ参照行インデックスと現在ブロックに基づいてソートされたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップと、を含む。
【0012】
本開示の一実施例では、ビデオ符号化方法がさらに提供され、前記方法は、
【0013】
現在ブロックに対してイントラ予測を行い、現在ブロックによって選択された参照行を決定するステップと、
【0014】
現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、本開示のいずれかの実施例に記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
【0015】
現在ブロックによって選択された参照行のインデックスの、現在ブロックに基づいてソートされたMRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップと、を含む。
【0016】
本開示の一実施例では、コードストリームが提供され、前記コードストリームには、現在ブロックのマルチ参照行インデックスが含まれ、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスの、MRLインデックスリストにおける位置を指示するために用いられ、前記MRLインデックスリストは、現在ブロックに基づいてソートされたMRLインデックスリスト、または設定されたMRLインデックスリストである。
【0017】
本開示の一実施例では、マルチ参照行インデックスリストソート装置がさらに提供され、前記装置は、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のマルチ参照行インデックスリストソート方法を実現することができる。
【0018】
本開示の一実施例では、ビデオ復号化装置がさらに提供され、前記装置は、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のビデオ復号化方法を実現することができる。
【0019】
本開示の一実施例では、ビデオ符号化装置がさらに提供され、前記装置は、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のビデオ符号化方法を実現することができる。
【0020】
本開示の一実施例では、ビデオ符号化・復号化システムがさらに提供され、前記ビデオ符号化・復号化システムは、本開示のいずれかの実施例に記載のビデオ符号化装置と、本開示のいずれかの実施例に記載のビデオ復号化装置とを備える。
【0021】
本開示の一実施例では、非一時的コンピュータ可読記憶媒体がさらに提供され、前記コンピュータ可読記憶媒体には、コンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサによって実行されると、本開示のいずれかの実施例に記載のマルチ参照行インデックスリストソート方法を実現し、または本開示のいずれかの実施例に記載のビデオ復号化方法を実現し、または本開示のいずれかの実施例に記載のビデオ符号化方法を実現する。
【0022】
図面及び詳細な説明を読んで理解した後、他の態様を理解することができる。
【図面の簡単な説明】
【0023】
図面は、本開示の実施例の理解を提供するために用いられ、明細書の一部を構成し、本開示の実施例とともに本開示の技術方案を説明するために用いられ、本開示の技術方案の限定を構成するものではない。
図1A】本開示の一実施例に係る符号化・復号化システムの概略図である。
図1B】本開示の一実施例に係る符号化側のブロック図である。
図1C】本開示の一実施例に係る復号化側のブロック図である。
図2】本開示の一実施例に係るイントラ予測モードの概略図である。
図3】本開示の一実施例に係る現在ブロックの隣接するイントラ予測ブロックの概略図である。
図4】本開示の一実施例に係る現在ブロックのテンプレート領域及びテンプレート参照領域の概略図である。
図5】本開示の一実施例に係る現在ブロックの周囲の複数の参照行の概略図である。
図6】本開示の一実施例に係るマルチ参照行インデックスリストソート方法のフローチャートである。
図7】本開示の一実施例に係るビデオ復号化方法のフローチャートである。
図8】本開示の一実施例に係るビデオ符号化方法のフローチャートである。
図9】本開示の一実施例に係るマルチ参照行インデックスリストソート装置の概略図である。
図10】本開示の一実施例に係る現在ブロックの周囲のテンプレート及び複数の参照行の概略図である。
【発明を実施するための形態】
【0024】
本開示は複数の実施例を説明するが、当該説明は例示的なものであり、限定的なものではなく、当業者にとって明らかなように、本開示に記載の実施例によって含まれる範囲内に、より多くの実施例及び実現方案が存在し得る。
【0025】
本開示の説明において、「例示的に」または「例えば」などの用語は、例、例証、または説明を表すために用いられる。本開示において「例示的」または「例えば」として説明されるいずれかの実施例は、他の実施例よりも好ましいまたは有利であると解釈されるべきではない。本明細書における「及び/または」は、関連対象の関連関係の説明であり、3つの関係を表すことができる。例えば、A及び/またはBは、Aが単独で存在、AとBが同時に存在、及びBが単独で存在という3種類の状況を表すことができる。「複数」とは、2つまたは2つより大きいことを指す。また、本開示の実施例の技術方案の説明を明確且つ容易にするために、「第1」及び「第2」などの用語を用いて、機能及び役割が実質的に同一である同一項または同様項を区別する。当業者であれば、「第1」及び「第2」などの用語が、数及び実行順序を限定せず、且つ「第1」及び「第2」などの用語が必ずしも異なるものであるとは限定しないことは、理解される。
【0026】
代表的な例示的な実施例を説明する際、明細書は、方法及び/またはプロセスを特定のステップシーケンスとして提供した可能性がある。しかしながら、当該方法またはプロセスが本明細書に記載のステップの特定順序に依存しない程度では、当該方法またはプロセスは、記載の特定順序のステップに限定されるべきではない。当業者が理解可能な他のステップ順序も可能である。そのため、明細書に記載されたステップの特定順序は、特許請求の範囲を限定するものとして解釈されるべきではない。さらに、当該方法及び/またはプロセスのための請求項は、記載された順序でそれらを実行するステップに限定されるべきではなく、当業者であれば、これらの順序が変更可能であり、且つ依然として本開示の実施例の主旨及び範囲内に保持できることは、容易に理解される。
【0027】
本開示の実施例によって提供される局所照明補償方法及びビデオ符号化・復号化方法は、各種のビデオ符号化・復号化規格に応用してもよく、例えば、H.264/Advanced Video Coding(高度なビデオコーディング、AVC)、H.265/High Efficiency Video Coding(高効率ビデオ符号化、HEVC)、H.266/Versatile Video Coding(多機能ビデオ符号化、VVC)、AVS(Audio Video coding Standard、オーディオビデオ符号化規格)、及びMPEG(Moving Picture Experts Group、ムービング・ピクチャー・エキスパート・グループ)、AOM(オープンメディアアライアンス、Alliance for Open Media)、JVET(ジョイントビデオエキスパートチーム、Joint Video Experts Team)によって作成した他の規格及びこれらの規格の拡張、またはいずれかのカスタマイズされた他の規格などである。
【0028】
図1Aは、本開示の実施例に係るビデオ符号化・復号化システムのブロック図である。図に示すように、当該システムは、符号化側装置1と復号化側装置2とに分割される。符号化側装置1は、コードストリームを生成する。復号化側装置2は、コードストリームを復号化してもよい。復号化側装置2は、リンク3を介して符号化側装置1からコードストリームを受信してもよい。リンク3は、コードストリームを符号化側装置1から復号化側装置2に移動することを可能にする1つまたは複数のメディアまたは装置を含む。1つの例では、リンク3は、符号化側装置1がコードストリームを復号化側装置2に直接送信することを可能にする1つまたは複数の通信媒体を含む。符号化側装置1は、通信規格(例えば、無線通信プロトコル)に応じて、コードストリームを変調し、変調されたコードストリームを復号化側装置2に送信する。前記1つまたは複数の通信媒体は、無線及び/または有線通信媒体を含んでもよく、パケットネットワークの一部を形成してもよい。別の例では、コードストリームを出力インターフェース15から1つの記憶装置に出力してもよく、復号化側装置2は、コードストリーム伝送またはダウンロードを介して、当該記憶装置から記憶されたデータを読み出してもよい。
【0029】
図に示すように、符号化側装置1は、データソース11、ビデオ符号化装置13、及び出力インターフェース15を備える。データソース11は、ビデオキャプチャ装置(例えば、ビデオカメラ)、以前にキャプチャされたデータを含むアーカイブ、コンテンツプロバイダからデータを受信するためのフィードインターフェース、データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含む。ビデオ符号化装置13は、データソース11からのデータを符号化してから出力インターフェース15に出力する。出力インターフェース15は、レギュレータ、モデム、及びエミッタのうちの少なくとも1つを含んでもよい。復号化側装置2は、入力インターフェース21、ビデオ復号化装置23、及び表示装置25を備える。入力インターフェース21は、受信機及びモデムのうちの少なくとも1つを含む。入力インターフェース21は、リンク3を介して、または記憶装置からコードストリームを受信してもよい。ビデオ復号化装置23は、受信したコードストリームを復号化する。表示装置25は、復号化されたデータを表示するために用いられる。表示装置25は、復号化側装置2の他の装置と統合されてもよく、または単独に設置されてもよい。表示装置25は、復号化側にとって選択的なものである。他の例では、復号化側は、復号化されたデータを応用する他の装置または設備を含んでもよい。
【0030】
図1Aに示すビデオ符号化・復号化システムに基づいて、各種のビデオ符号化・復号化方法を用いてビデオ圧縮及び圧縮の解除を実現してもよい。
【0031】
図1Bは、本開示の実施例に係る例示的なビデオ符号化装置のブロック図である。図に示すように、当該ビデオ符号化装置1000は、予測ユニット1100、分割ユニット1101、残差生成ユニット1102(図中では、分割ユニット1101の後のプラス記号付きの丸で表す)、変換処理ユニット1104、量子化ユニット1106、逆量子化ユニット1108、逆変換処理ユニット1110、再構成ユニット1112(図中では、逆変換処理ユニット1110の後のプラス記号付きの丸で表す)、フィルタユニット1113、復号化画像バッファ1114、及びエントロピー符号化ユニット1115を備える。ここで、予測ユニット1100は、インター予測ユニット1121及びイントラ予測ユニット1126を含み、復号化画像バッファ1114は、復号化済みの画像バッファ、復号化ピクチャバッファ、復号化済みのピクチャバッファなどと呼ばれてもよい。ビデオエンコーダ20は、当該例よりもより多く、より少なく、または異なる機能アセンブリを含んでもよく、例えば、場合によっては、変換処理ユニット1104、逆変換処理ユニット1110などを含まなくてもよい。
【0032】
分割ユニット1101は、予測ユニット1100と協働して、受信したビデオデータをスライス(Slice)、符号化ツリーユニット(CTU:Coding Tree Unit)、または他の比較的に大きいユニットに分割する。分割ユニット1101によって受信されたビデオデータは、Iフレーム、Pフレーム、またはBフレームなどのビデオフレームを含むビデオシーケンスであってもよい。
【0033】
予測ユニット1100は、CTUを符号化ユニット(CU:Coding Unit)に分割し、CUに対してイントラ予測符号化またはインター予測符号化を実行してもよい。CUに対してイントラ予測及びインター予測を行う場合、CUを1つまたは複数の予測ユニット(PU:prediction unit)に分割してもよい。
【0034】
インター予測ユニット1121は、PUに対してインター予測を実行し、PUの予測データを生成してもよい。前記予測データは、PUの予測ブロック、PUの運動情報、及び各種の構文要素を含む。インター予測ユニット1121は、運動推定(ME:motion estimation)ユニット及び運動補償(MC:motion compensation)ユニットを含んでもよい。運動推定ユニットは、運動推定に使用されることにより、運動ベクトルを生成してもよく、運動補償ユニットは、運動ベクトルに応じて予測ブロックを取得または生成するために用いられてもよい。
【0035】
イントラ予測ユニット1126は、PUに対してイントラ予測を実行し、PUの予測データを生成してもよい。PUの予測データは、PUの予測ブロック及び各種の構文要素を含んでもよい。
【0036】
残差生成ユニット1102は、CUの元のブロックに基づいてCUが分割されたPUの予測ブロックを減算して、CUの残差ブロックを生成してもよい。
【0037】
変換処理ユニット1104は、CUを1つまたは複数の変換ユニット(TU:Transform Unit)に分割してもよく、予測ユニットと変換ユニットの分割は異なってもよい。TU関連の残差ブロックは、CUの残差ブロックが分割されたサブブロックである。1つまたは複数の変換をTU関連の残差ブロックに応用することによって、TU関連の係数ブロックを生成する。
【0038】
量子化ユニット1106は、選択された量子化パラメータに基づいて、係数ブロックにおける係数を量子化し、量子化パラメータ(QP:Quantizer Parameter)を調整することによって、係数ブロックの量子化の程度を調整してもよい。
【0039】
逆量子化ユニット1108及び逆変換ユニット1110は、それぞれ逆量子化及び逆変換を係数ブロックに応用し、TU関連の再構成残差ブロックを得てもよい。
【0040】
再構成ユニット1112は、前記再構成残差ブロックと予測ユニット1100によって生成された予測ブロックとを加算し、再構成画像を生成してもよい。
【0041】
フィルタユニット1113は、再構成画像に対してループフィルタを実行し、フィルタされた再構成画像を参照画像として復号化画像バッファ1114に記憶する。イントラ予測ユニット1126は、復号化画像バッファ1114からPU近傍のブロックの参照画像を抽出することにより、イントラ予測を実行してもよい。インター予測ユニット1121は、復号化画像バッファ1114にキャッシュされた前のフレームの参照画像を用いて、現在フレーム画像のPUに対してインター予測を実行してもよい。
【0042】
エントロピー符号化ユニット1115は、受信したデータ(例えば、構文要素、量子化された係数ブロック、運動情報など)に対して、エントロピー符号化操作を実行してもよい。
【0043】
図1Cは、本開示の実施例に係る例示的なビデオ復号化装置のブロック図である。図に示すように、ビデオ復号化装置101は、エントロピー復号化ユニット150、予測ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158(図中では、逆変換処理ユニット155の後のプラス記号付きの丸で表す)、フィルタユニット159、及び復号化画像バッファ160を備える。他の実施例では、ビデオデコーダ30は、より多く、より少なく、または異なる機能アセンブリを含んでもよく、例えば、場合によっては、逆変換処理ユニット155などを含まなくてもよい。
【0044】
エントロピー復号化ユニット150は、受信したコードストリームに対してエントロピー復号化を実行し、構文要素、量子化された係数ブロック、及びPUの運動情報などを抽出してもよい。予測ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、及びフィルタユニット159は、いずれもコードストリームから抽出された構文要素に基づいて、対応する操作を実行してもよい。
【0045】
逆量子化ユニット154は、量子化されたTU関連の係数ブロックを逆量子化してもよい。
【0046】
逆変換処理ユニット156は、1つまたは複数の逆変換を逆量子化された係数ブロックに応用することにより、TUの再構成残差ブロックの生成を容易してもよい。
【0047】
予測ユニット152は、インター予測ユニット162とイントラ予測ユニット164とを含む。PUがイントラ予測符号化を使用する場合、イントラ予測ユニット164は、コードストリームから復号化された構文要素に基づいて、PUのイントラ予測モードを決定し、決定されたイントラ予測モード及び復号化画像バッファ160から取得されたPU近傍の再構成済みの参照情報に応じて、イントラ予測を実行し、PUの予測ブロックを生成してもよい。PUがインター予測符号化を使用する場合、インター予測ユニット162は、PUの運動情報及び対応する構文要素に基づいて、PUの1つまたは複数の参照ブロックを決定し、復号化画像バッファ160から取得された前記参照ブロックに基づいて、PUの予測ブロックを生成してもよい。
【0048】
再構成ユニット158は、TU関連の再構成残差ブロック及び予測ユニット152によって生成されたPUの予測ブロックに基づいて、再構成画像を得てもよい。
【0049】
フィルタユニット159は、再構成画像に対してループフィルタを実行してもよく、ループフィルタされた再構成画像は、復号化画像バッファ160に記憶される。復号化画像バッファ160は、参照画像を提供することにより、後続の運動補償、イントラ予測、インター予測などのために使用してもよく、フィルタされた再構成画像を復号化済みのビデオデータとして出力し、表示装置に表示してもよい。
【0050】
上記ビデオ符号化装置及びビデオ復号化装置に基づいて、以下の基本的な符号化・復号化プロセスを実行してもよい。符号化側では、1フレームの画像をブロックに分割し、現在ブロックに対してイントラ予測またはインター予測または他のアルゴリズムを行い、現在ブロックの予測ブロックを生成し、現在ブロックの元のブロックを用いて、予測ブロックを減算して残差ブロックを得て、残差ブロックを変換及び量子化して量子化係数を得て、量子化係数をエントロピー符号化してコードストリームを生成する。復号化側では、現在ブロックに対してイントラ予測またはインター予測を行い、現在ブロックの予測ブロックを生成する一方、コードストリームを復号化して得られた量子化係数を逆量子化及び逆変換し、残差ブロックを得て、予測ブロックと残差ブロックとを加算して再構成ブロックを得て、再構成ブロックが再構成画像を構成し、画像またはブロックに基づいて、再構成画像に対してループフィルタを行い、復号化画像を得る。符号化側も同様に復号化側と同様の操作により、復号化画像を得る。符号化側が取得した復号化画像は、通常、再構成画像とも呼ばれる。復号化画像は、後続のフレームに対してインター予測を行うための参照フレームとしてもよい。符号化側によって決定されたブロック分割情報、予測、変換、量子化、エントロピー符号化、ループフィルタなどのモード情報、及びパラメータ情報は、必要に応じてコードストリームに書き込んでもよい。復号化側は、コードストリームを復号化するか、又は既存の情報に応じて分析することにより、符号化側と同じブロック分割情報、予測、変換、量子化、エントロピー符号化、ループフィルタなどのモード情報、及びパラメータ情報を決定し、それにより、符号化側が取得した復号化画像と復号化側が取得した復号化画像とが同じであることを保証する。
【0051】
以上は、ブロックに基づくハイブリッド符号化フレームワークを例にしたが、本開示の実施例はこれに限定されなく、技術の発展に伴い、当該フレームワークにおける1つまたは複数のモジュール、及び当該プロセスのうちの1つまたは複数のステップは、置換または最適化されてもよい。
【0052】
本明細書では、現在ブロック(current block)は、現在の画像における現在の符号化ユニット(CU)、現在の予測ユニット(PU)などのブロックレベルの符号化ユニットであってもよい。
【0053】
符号化側がイントラ予測を行う場合、通常、各種の角度モードと非角度モードの助けを借りて、現在ブロックを予測して予測ブロックを得て、予測ブロックと元のブロックから計算されたレート歪み情報に応じて、現在ブロックの最適な予測モードをフィルタリングし、当該予測モードを符号化した後、コードストリームを介して復号化側に伝送する。復号化側は、復号化することによって当該予測モードを得て、当該予測モードに従って、現在ブロックに対してイントラ予測を行う。歴代のデジタルビデオ符号化・復号化規格の発展を経て、非角度モードは相対的安定しており、平均値モード(すなわちDCモード)と平面モード(すなわちPlanarモード)があり、角度モードはデジタルビデオ符号化・復号化規格の進化に伴って増加し続け、国際デジタルビデオ符号化規格Hシリーズを例にして、H.264/AVC規格は8種類の従来の角度予測モードと1種類の従来の非角度予測モードしかなく、H.265/HEVCは33種類の従来の角度予測モードと2種類の従来の非角度予測モードに拡張されている。H.266/VVCでは、図2に示すように、従来のイントラ予測モードPlanarモード、DCモード、及び65種類の角度モード。ここで、DCモードは、大面積平坦領域に適用され、その予測値は、左側及び/または上方の参照画素の平均値を計算することによって取得される。Planar平面モードは、画素漸次変化の場合に適用され、すなわち、画素値がゆっくり変化する領域に適用される。
【0054】
予測ブロックのモードを直接符号化する場合、67種類のモードで、符号化には7bitが必要であり、データ量は多い。統計的特性に応じて、現在ブロックに近い画素領域ほど、現在ブロックと同じイントラ予測モードを選択しやすくなり、この特性に応じて、HEVC、VVC、及び拡張圧縮モデル(ECM:Enhanced Compression Model)では、いずれも最も可能なモード(MPM:Most Probable Mode)技術が用いられている。ECMは、VTM―10.0参照ソフトウェアに基づいて、各種の新しいツールを統合し、それにより、符号化・復号化性能をさらに掘り出す参照ソフトウェアである。
【0055】
MPM技術は、まずMPMリストを構築し、MPMリストには、現在ブロックによって最も選択される可能性のあるイントラ予測モードが充填される。現在ブロックによって選択された予測モードがMPMリストにある場合、そのインデックス番号(3bitのみ必要)を符号化するだけでよく、現在ブロックによって選択された予測モードがMPMになく、61個の非MPM(non‐MPM)モードにある場合、エントロピー符号化段階で切り捨てバイナリコード(Truncated Binary Code、TBC)を用いて、当該予測モードを符号化する。
【0056】
VVC内では、マルチ参照行(MRL:Multiple reference line)とイントラサブパーティション(ISP:Intra Sub―Partitions)が応用されているか否かに関わらず、MPM listにはいずれも6種類の予測モードがある。一方、ECMにおけるMPMは、MPMとSecondary MPM(第2MPM)に分けられ、MPMとSecondary MPMは、それぞれ長さが6であるリストと、長さが16であるリストである。MPMリストの6つのモードのうち、Planarモードは、常にMPMの第1位にあり、残りの5つの位置は、5つのMPM位置が充填満了されるまで、次の3つのステップで順次行い、余分なモードは、自動的にSecondary MPMに入る。第1ステップ、図3に示すように、現在ブロックの周囲に隣接する5つの予測ブロックが使用する予測モードは、現在ブロックの左上(AL)、上(A)、右上(AR)、左(L)及び左下(BL)の位置にある予測ブロックが使用する予測モードを含む。第2ステップ、現在ブロックの周囲の再構成画素は、勾配ヒストグラムに基づいて導出されたモードを使用する。第3ステップ、第1ステップが選択した角度モードの角度に近い角度モード。Secondary MPリストは、MPMにおけるモード以外の幾つかの主要な角度モードから構成される。
【0057】
MPM識別子ビットの符号化・復号化順序はMRLモードの後にあるため、ECMにおけるMPMの符号化・復号化はMRL識別子ビットに依存する必要がある。以下の表は1つの例である。
【0058】
テンプレートに基づくイントラモード導出(TIMD:Template based intra mode derivation)は、輝度フレームに対するイントラ予測モードであり、TIMDモードは、MPMリストにおける候補モードとテンプレートによって生成する。ECMでは、図4に示すように、現在ブロック(Current CUとして図示)11の左側隣接領域及び上方隣接領域は、現在ブロックのテンプレート(Template)領域12を構成し、テンプレート領域12の外側(すなわち、左側及び上側)には、テンプレート参照(reference of the template)領域13が設けられ、各領域の例示的な寸法及び位置は、図に示す通りである。テンプレート参照領域13は、テンプレート領域の上方に隣接する1行であってもよく、または左側に隣接する1列であってもよい。
【0059】
TIMDは、現在ブロックと現在ブロックのテンプレート領域の分布特性が一致していると仮定し、テンプレート参照領域の再構成値を参照行とし、MPM及びSecondary MPMにおける全てのモードをトラバースし、テンプレート領域を予測し、予測結果を得る。次に、テンプレート領域上の再構成値と各モードの予測結果との間の誤差変換絶対値の和(SATD:Sum of absolute transformed differences)を計算し、SATDが最小、すなわち最適であるモードを選出し、当該モードを現在ブロックのTIMDモードとする。復号化側は、同じ導出方式によってTIMDモードを導出してもよい。シーケンスがTIMDの使用を許可する場合、各現在ブロックは、TIMDを使用するか否かを表すには1つのフラグビットが必要である。現在ブロックに対して選択されたイントラ予測モードがTIMDモードである場合、現在ブロックはTIMDモードを使用して予測し、且つ残りの輝度フレーム、及びISPとMPMのようなイントラ予測に関連する構文要素の復号化過程は、いずれもスキップすることにより、モードの符号化ビットを大幅に低減してもよい。
【0060】
テンプレート領域上の再構成値と各モード予測結果との間のSATDを求めた後、以下の方式に応じて、最終的に使用するTIMDモードを決定してもよい。
【0061】
mode1とmode2はMPMにおけるイントラ予測のための2種類の角度モードであり、mode1はSATDが最小の角度モードであり、そのSATDはcost1であり、mode2はSATDが次に小さい角度モードであり、そのSATDはcost2であると仮定し、
【0062】
cost1×2≦cost2の場合、mode1を現在ブロックのTIMDモードとし、
【0063】
cost1×2>cost2の場合、mode1とmode2の予測結果に対して重み付けを行う予測モードを、現在ブロックのTMIDモードとし、TIMD融合(fusion)モードとも呼ばれる。
【0064】
重み付け方法と重みは、以下の式(1)、式(2)に示す通りである。
【0065】
【0066】
【0067】
【0068】
HEVCでは、イントラ予測は、現在ブロックに最も近い上側の行と左側の列を参照として予測し、この行と列の再構成値が元の画素値と大きな誤差を有する場合、現在ブロックの予測品質にも大きな影響を与える。この問題を解決するために、VVCではMRLイントラ予測技術を採用しており、最も近い行の参照画素、すなわち参照行0(Reference line0)を使用する以外、VVCはさらに、拡張された参照行として参照行1(Reference line1)と参照行2(Reference line2)を使用し、イントラ予測を行ってもよい。符号化の複雑さを低減するために、MRLはMPMにおける非planarモード上にのみ使用する。符号化側が各角度モードを予測する際、この3つの参照行の全てを試した後、レート歪みコスト(RD Cost)が最小の1つの参照行を選択し、選択された参照行のインデックスは、選択されたイントラ予測モードのインデックスと同様に、符号化して復号化側に送信する。復号化側は、復号化して参照行のインデックスを得て、そして、参照行のインデックスに応じて、対応する参照行を選択して予測する。
【0069】
図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である参照行と、を含む。予測する際、参照行の一部の再構成値のみを使用してもよい。1つの例では、参照行0における領域を現在ブロックのテンプレート領域とする場合、参照行0はテンプレート領域が位置する参照行と呼ばれてもよく、参照行1から参照行3はテンプレート領域外側に位置する参照行と呼ばれてもよい。
【0070】
本明細書では、参照行のインデックスは、いずれも図5に示す方式で番号付けされており、インデックスが0である参照行を除き、他の参照行は拡張参照行である。
【0071】
本明細書では、参照行は「行」と呼ばれているが、説明の便宜上のためであり、1つの参照行は実際には1行と1列を含み、予測に使用される参照行の再構成値も1行と1列の再構成値を含み、これは本分野で一般に説明されている方法と同じである。
【0072】
ECMでは、マルチ参照行インデックスの関連の復号化方式は、以下の表1及び表2に示す通りである。ここで、表1は現在ブロックがTIMDを使用しない場合に用いられ、表2は現在ブロックがTIMDを使用する場合に用いられる。
【0073】
【表1】
【0074】
ECMでは、MRLツールは、より多くの参照行を使用してもよい。現在ブロックによって選択された参照行(すなわち、現在ブロックによって選択された参照行)を符号化するために、複数の候補の参照行のインデックスを1つのリストに埋め込む。本明細書では、当該リストをマルチ参照行インデックスリストと呼ばれ、略してMRLインデックスリストと記載するが、マルチ参照行リスト、候補参照行リスト、参照行インデックスリストなどとも呼ばれてもよい。現在ブロックがTIMDを使用しない場合、マルチ参照行インデックスリストの長さは6であり、すなわち、合計6つの位置に6つの参照行のインデックスを埋め込んでもよい。この6つの参照行のインデックスとその順序は一定であり、MULTI_REF_LINE_IDX[6]={0,1,3,5,7,12}と表される。当該マルチ参照行インデックスリストでは、1番目の位置に埋め込まれたインデックスは0であり、現在ブロックに最も近い参照行のインデックスであり、2番目の位置から6番目の位置に埋め込むれたインデックスはそれぞれ1、3、5、7、12であり、現在ブロックからの距離の近い方から遠い方への5つの拡張された参照行のインデックスである。
【0075】
現在ブロックによって選択された参照行を符号化する際、マルチ参照行インデックスリストの存在のため、当該参照行のインデックスを直接符号化するのではなく、当該参照行のインデックスのマルチ参照行インデックスリストにおける位置のインデックスを符号化し、マルチ参照行インデックス(multiRefIdx)と呼ばれ、マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスのマルチ参照行インデックスリストにおける位置を指示するために用いられる。MRLインデックスリスト{0,1,3,5,7,12}を例にして、そのうちの1番目の位置から6番目の位置までのインデックスは、それぞれ0から5であり、現在ブロックによって選択された参照行のインデックスが7であり、インデックス7がマルチ参照行インデックスリストにおける5番目の位置にある場合、マルチ参照行インデックスは4である。
【0076】
マルチ参照行インデックス(multiRefIdx)は、コンテキストモデルに基づく単項切り捨てコードなどの方式を用いて符号化してもよいが、これに限定されない。マルチ参照行インデックスの値が小さいほど、コードの長さが少なくなり、復号化が速くなる。
【0077】
MRLモードは、TIMDモードと同時に使用されてもよい。TIMDを使用する場合、MRLインデックスリストの長さは3であり、3つの参照行のインデックスを埋め込み、且つインデックス間の順序は一定であり、MULTI_REF_LINE_IDX[3]={0,1,3}と表される。ただし、0はテンプレート領域の参照行のインデックスであり、1、3は拡張された参照行のインデックスである。
【0078】
マルチ参照行インデックスの符号化・復号化方式は、表2に示す通りである。
【0079】
【表2】
【0080】
理解を容易にするために、上記では、MRLがTIMDを使用する場合とMRLが使用しない場合は2つの表に分けて例示され、上記2つの表は1つの表に統合されてもよい。
【0081】
異なる規格では、現在ブロックの周囲のブロックを用いて、1つの最も可能な予測モードのリスト(MPM)を導出する技術は、異なる名称を持つことがある。例えば、AV2(AVM)では適応型イントラモード符号化(AIMC:Adaptive Intra Mode Coding)と呼ばれ、AVS3では、画面コンテンツ符号化の場合、周波数情報に基づくイントラ符号化(FIMC:Frequency―based Intra Mode Coding)と呼ばれる。非画面コンテンツ符号化の場合、MPMのようなこの技術は常に有効になる。一方、マルチ参照行を用いてイントラ予測を行うためのマルチ参照行技術(MRL)は、AV2(AVM)ではイントラ予測のためのマルチ参照前選択(MRLS:Multiple reference line selection for intra prediction)と呼ばれる。これは単に名称の違いであり、本実施例がMPMとMRLを使用する場合、同様に他の規格におけるこれらの実質的に同じ技術をカバーする。
【0082】
VVCと比較して、ECMはMRLの参照行候補の数を拡張するが、イントラのフレーム符号化では0.09%の符号化性能の向上をもたらすにすぎない。研究により、これはMRL候補インデックス行の数の増加によるものであり、MRLモードを符号化するにはより多くの識別位置が必要となり、それによってもたらした追加の負担も増加する。また、上記表1及び表2に示すMRL復号化方式から分かるように、マルチ参照行インデックスリストは、指定された一定順序のインデックスから構成され、選択された参照行のインデックスの当該表における位置が先頭に近づくほど、マルチ参照行インデックスを符号化するコストが小さくなる。
【0083】
本開示の一実施例では、マルチ参照行インデックスリストソート方法が提供され、当該方法は、符号化側に用いてもよく、復号化側に用いてもよい。図6に示すように、前記方法は、以下のステップを含む。
【0084】
ステップ110、現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、前記テンプレート領域をそれぞれ予測し、前記テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算する。
【0085】
上記誤差は、絶対誤差とSADで表されてもよく、または誤差変換絶対値とSATDで表されてもよいが、これらに限定されず、差の二乗和(SSD)、平均絶対差(MAD)、平均二乗誤差(MSE)などで表されてもよい。
【0086】
ステップ120、前記誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得る。
【0087】
以前の実施例では、MRLインデックスリストは符号化・復号化システムによって設定されるものであり、MRLインデックスリストに埋め込んだ参照行のインデックス及び順序は一定である。本開示の実施例は、テンプレートに基づく方式を用いて、現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、テンプレート領域をそれぞれ予測し、テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算し、誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得る。そのため、本開示の実施例に従って構築されたのは、1つのブロックレベルのMRLインデックスリストであり、ここで、参照行のインデックス及び順序が、現在ブロックのテンプレート領域の分布特徴に基づいて決定されたものであるため、現在ブロックによって選択された参照行は、MRLインデックスリストに現れる可能性が高く、現在のMRLインデックスリストの先頭に近づく位置に現れる可能性が高く、すなわち、符号化する必要があるマルチ参照行インデックスの値は、比較的小さな値である可能性が高いため、コードの長さが少なく、帯域幅の占用が少なく、復号化速度が速くなり、それにより、符号化性能が向上する。
【0088】
本開示の例示的な実施例では、現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、テンプレート領域をそれぞれ予測するステップは、前記少なくとも一部の参照行のうちの各参照行に対して、当該参照行の再構成値と現在ブロックによって選択されたイントラ予測モードを使用し、前記テンプレット領域を予測するステップを含む。本実施例の方法が符号化側で使用される場合、イントラ予測モードで選択が完了し、現在ブロックに対して1つのイントラ予測モード(ここでは、平均モード、平面モード、角度モードなどの従来のイントラ予測モードを指す)を選択した後、現在ブロックによって選択されたイントラ予測モードに基づいて、ソシートに参加する各参照行と結びつけて、テンプレート領域を予測してもよい。本実施例の方法が復号化側で使用される場合、現在ブロックのイントラ予測に関連する構文要素を複号化し、現在ブロックによって選択されたイントラ予測モードを決定した後、上記予測を行い、現在ブロックに基づいてソケットされたMRLインデックスリストを得た後、複号化して得られたマルチ参照行インデックスに応じて、現在ブロックによって選択された参照行を決定してもよい。
【0089】
本開示の例示的な実施例では、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込むステップとは、前記誤差に対応する参照行のインデックスを、前記MRLインデックスリストのK番目の位置から位置ごとに埋め込み、最大でK番目の位置まで埋め込むことである。ここで、2≦K≦K≦Mであり、Mは前記MRLインデックスリストの長さである。実際にMRLインデックスリストに埋め込むインデックスは、M以下であってもよい。
【0090】
現在ブロックのMRLインデックスリストに、例えば、図5に示す参照行21(そのインデックスが0である)など、テンプレート領域が位置する参照行を埋め込んでもよいし、例えば、図5に示す参照行22、23、及び24(これら3つの参照行のインデックスがそれぞれ1、2、3である)など、テンプレート領域外側の参照行に埋め込んでもよい。現在ブロックのMRLインデックスリストをソートする際、テンプレート領域が位置する参照行を使用して予測にすることはないため、テンプレート領域が位置する参照行のインデックスはソートに参加せず、これらの参照行が選択される可能性も大きく、本実施例では、それをMRLインデックスリストの先頭に近い1つまたは複数の位置に直接埋め込み、ソートに参加する参照行のインデックスを、K番目の位置から位置ごとに埋め込み、例えばKは2、3であってもよいが、これに限定されない。
【0091】
本開示の例示的な実施例では、前記方法は、前記現在ブロックに基づいてソートされたMRLインデックスリストにおいて、ソートに参加しない1番目の位置からK―1番目の位置まで、現在ブロックのテンプレート領域が位置する参照行のインデックスを埋め込むステップをさらに含み、ここで、1番目の位置に埋め込んだ参照行のインデックスは0である。本実施例では、テンプレート領域が、現在ブロックに最も近い行と列に限定される場合、現在ブロックに最も近い参照行のインデックス0を埋め込むだけでよい。しかし、他の実施例では、テンプレート領域は拡張されてもよく、例えば、現在ブロックの上方の2行目と左側の2列目に拡張され、またはより大きな領域に拡張され、すなわち、現在ブロックに最も近い複数の参照行に設置される。この場合、より多くの参照行のインデックスをMRLインデックスリストに埋め込んでもよいが、テンプレート領域と重なる全ての参照行のインデックスをMRLインデックスリストに埋め込むわけではなく、その一部を選択してMRLインデックスリストに埋め込んでもよい。
【0092】
本開示の例示的な実施例では、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込むステップとは、前記誤差に対応する参照行のインデックスを、前記MRLインデックスリストの1番目の位置から位置ごとに埋め込み、最大でK番目の位置まで埋め込むことである。ここで、1≦K≦Mであり、Mは前記MRLインデックスリストの長さである。前述の実施例に対して、本実施例は、MRLインデックスリストに現在ブロックのテンプレート領域が位置する参照行のインデックスを埋め込む必要はない相違点がある。例えば、テンプレート領域が位置する参照行が1行しかないと仮定し、現在ブロックによって選択された参照行のインデックスが0である場合、すなわち拡張された参照行を使用しない場合、当該選択された参照行のインデックスは、マルチ参照行インデックスを使用して表される必要がなく、MRL使用フラグ(flag)を偽にすることにより表されればよい。そのため、MRLインデックスリストは、インデックス0を埋め込まなくてもよいが、ソートに参加する参照行のインデックスは、誤差の小さい方から大きい方への順に従って、MRLインデックスリストの1番目の位置から埋め込まれてもよい。
【0093】
本開示の例示的な実施例では、K<Mの場合、前記MRLインデックスリストのK+1番目の位置からM番目の位置まで、現在ブロックからの距離の近い方から遠い方への順に従って、位置ごとにM―K個の参照行のインデックスを埋め込み、前記M―K個の参照行は、前記テンプレート領域外側に位置し、システムによって指定され、且つインデックスは前記MRLインデックスリストに埋め込んだインデックスとは異なる。
【0094】
本実施例は、MRLインデックスリストの後方に近い1つまたは複数の位置に、誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを埋め込むのではなく、テンプレート領域外側の指定された参照行を埋め込む。例えば、MRLインデックスリストの長さMは6であり、誤差に応じてソートされた参照行のインデックスは、そのうちの2番目の位置と3番目の位置だけに埋め込まれる。1つの例では、設定されたMRLインデックスリストは{0,1,3,5,7,12}であり、1、3、5、7、12は指定された参照行のインデックスである。本実施例では、インデックスが1~12である参照行に応じて予測を行い、誤差が最も小さい2行はインデックスが5と7の参照行であると仮定し、この2つの参照行が元々指定された参照行であるため、現在ブロックに基づいてソートされたMRLインデックスリストは{0,5,7,1,3,12}となり、すなわち、設定されたMRLインデックスリストにおいて指定された参照行のインデックス1、3、12を、ソートされたMRLインデックスリストの後方に近い位置に埋め込む。誤差が最も小さい2行が、インデックスが4と6の参照行である場合、この2行が指定された参照行ではないので、ソートされたMRLインデックスのリストは{0,4,6,1,3,5}であり、すなわち、指定された参照行のインデックスは、参照行の現在ブロックからの距離の近い方から遠い方への順に従って位置ごとに埋め込まれるものである。
【0095】
本開示の例示的な実施例では、前記現在ブロックのテンプレート領域は、現在ブロックに最も近い1つの参照行に設置され、すなわち、インデックスが0である参照行に設置される。または、前記現在ブロックのテンプレート領域は、現在ブロックに最も近い複数の参照行に設置され、例えば、インデックスが0、1である2つの参照行に設置され、またはインデックスが0、1、2である3つの参照行に設置され、またはインデックスが0、1、2、3である4つの参照行に設置されるなどである。
【0096】
本開示の例示的な実施例では、前記現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行は、
【0097】
1)前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行、または
【0098】
2)前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうちの奇数行、または
【0099】
3)前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうちの偶数行、または
【0100】
4)前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうち、隣接する行の間の誤差の比較によって選出されたN個の参照行、N≦N’、または
【0101】
5)前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうち、指定されたN個の参照行、を含み、
【0102】
ここで、N’≦Nmaxであり、Nmaxはソートの参加を許可する参照行の最大数である。
【0103】
ソートする際、まず、ソートを参加する参照行の数と、具体的にどちらの参照行を選択するかを決定する必要がある。本実施例は、複数の選択方式を提供する。
【0104】
本実施例では、現在ブロックがTIMDを使用する場合に設定されたNmaxと、現在ブロックがTIMDを使用しない場合に設定されたNmaxとがいずれも12であると仮定し、テンプレート領域が現在ブロックに最も近い参照行、すなわち、インデックスが0である参照行にあり、且つ現在ブロックの参照行が、それが位置するCTUの上方境界を超えることが許可されない場合、上記第1方式は、テンプレート領域外側の現在ブロックに最も近いN’個の参照行をソートに参加することを選択し、テンプレート領域外側からCTUの上方境界までの参照行の数が12個の行以上である場合、N’=12であり、すなわち、テンプレート領域外側の現在ブロックに最も近い12個の参照行を選出してソートに参加することである。12個の参照行がない場合、N’はテンプレート領域外側からCTUの上方境界までの参照行の数に等しい。第2方式と第3方式は、それぞれ第1方式によって決定された参照行から、奇数行と偶数行を選出することにより、演算を簡略化することである。
【0105】
本実施例の1つの例では、本実施例の第4方式、すなわち、テンプレート領域外側の現在ブロックに最も近いN’個の参照行から、隣接する行の間の誤差の比較によってN個の参照行を選出する方式は、以下の方式を用いて実現してもよい。前記テンプレート領域外側の現在ブロックに最も近い1つの参照行を選出された1番目の参照行とし、新たに選出された当該参照行とその隣接する参照行とを1つずつ比較し、当該参照行に最も近く、且つ2つの参照行の間の誤差が設定閾値より大きい1つの隣接する参照行を新たに選出された1つの参照行とし、N’個の参照行を比較して選択したまで、このように循環する。ここで、前記誤差とは、2つの参照行(比較に参加する2つの参照行)の再構成値間の誤差を指し、または2つの参照行の再構成値を参照とし、テンプレート領域をそれぞれ予測して得られた予測値間の誤差を指す。
【0106】
以下では、1つの例を用いて比較の過程を説明する。説明の便宜上、テンプレート領域外側の参照行を、現在ブロックからの距離の近い方から遠い方への順に番号付けし、現在ブロックに最も近い参照行はテンプレート領域外側の1番目の参照行と呼ばれ、1番目の参照行と略称され、現在ブロックの次に近い参照行はテンプレート領域外側の2番目の参照行と呼ばれ、2番目の参照行と略称され、このように類推する。さらに、テンプレート領域からCTU上方境界までの参照行の数が、12より大きいと仮定する。
【0107】
当該比較過程は、以下の通りである。テンプレート領域外側の1番目の参照行を選出した後、1番目の参照行とその隣接する行、すなわち、2番目の参照行との誤差を比較し、誤差が設定閾値より小さい場合、1番目の参照行と3番目の参照行との誤差を比較し続け、誤差が設定閾値より大きい場合、当該3番目の参照行を新たに選出された1行とし、その後そして、当該3番目の参照行とその隣接する行(すなわち、4番目の参照行)との誤差を比較し、誤差が設定閾値より大きい場合、当該4番目の参照行を新たに選択された1行とし、そして、当該4番目の参照行とその隣接する行(すなわち、5番目の参照行)との誤差を比較し、12番目の参照行の比較が完了するまで類推し、当該12番目の参照行と最近選出された参照行との間の誤差が設定閾値より大きい場合、12番目の参照行を選出してソートに参加し、そうでない場合、12番目の参照行を選択しない。
【0108】
以上の4つの方式を用いた場合、本開示の実施例のMRLインデックスリストソート方法は、ソート自体に限定されず、ソートに参加する参照行を選択することにより、インデックスがMRLインデックスリストに埋め込まれた参照行を選択してもよいことが分かる。これは、最適な参照行を見つけ、ビデオ符号化の効率を向上させるのに有利である。
【0109】
しかし、本開示は、指定された参照行を使用してソートしてもよい。上記第5方式では、ソートに参加する参照行は、テンプレート領域外側の現在ブロックに最も近いN’個の参照行から指定されたN個の参照行であり、例えば、指定されたインデックスが1、3、5、7、12である参照行である。この場合、設定されたMRLインデックスリストにおける参照行をソートすることに相当し、新たな参照行は導入されない。
【0110】
本実施例の1つの例では、前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行は、現在ブロックが位置する符号化ツリーユニットCTUの上方境界を超えない参照行である。
【0111】
本実施例の1つの例では、現在ブロックがテンプレートに基づくイントラモードを使用してTIMDを導出する場合に設定されたNmaxと、現在ブロックがTIMDを使用しない場合に設定されたNmaxは、いずれも3以上である。1つの例では、現在ブロックがTIMDを使用する場合に設定されたNmaxは12であり、現在ブロックがTIMDを使用しない場合にはNmaxも12に設定されてもよい。Nmaxの具体的な値について、本開示は限定されないが、例えば、5、6、7、8、9、10、11、12、13、14、15、及び18、24、36などの15より大きい値であってもよい。
【0112】
本開示の実施例では、ビデオ復号化方法がさらに提供され、図7に示すように、前記方法、以下のステップを含む。
【0113】
ステップ210、コードストリームにおける現在ブロックのイントラ予測関連構文要素を復号化し、現在ブロックがマルチ参照行MRLの使用を許可する場合、現在ブロックのマルチ参照行インデックスを復号化し続ける。
【0114】
前述したように、マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスのMRLインデックスリストにおける位置を指示するために用いられる。
【0115】
ステップ220、復号化結果に応じて現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、本開示のいずれかの実施例に記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得る。
【0116】
ステップ230、前記マルチ参照行インデックスと現在ブロックに基づいてソートされたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行う。
【0117】
本実施例は、復号化過程において、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、まず、本開示の上記実施例の方法に応じて、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得て、そして、復号化して得られたマルチ参照行インデックスと現在ブロックに基づいてソートされたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、さらに、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行う。本実施例は、現在ブロックに基づいてソートされたMRLインデックスリストを使用して、マルチ参照行インデックスを復号化することにより、現在ブロックによって選択された参照行がMRLインデックスリストの先頭に近づく位置に位置する可能性が高く、それにより、符号化オーバーヘッドを節約し、符号化性能を向上させることができる。
【0118】
本開示の例示的な実施例では、コードストリームにおける現在ブロックのイントラ予測に関連する構文要素を復号化する際、現在ブロックによって選択されたイントラ予測モードを復号化することにより、現在ブロックのMRLインデックスリストをソートするために用いられる。現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行う際、現在ブロックによって選択された参照行と現在ブロックによって選択されたイントラ予測モードに応じて、現在ブロックに対してイントラ予測を行う。
【0119】
本開示の例示的な実施例では、前記方法は、復号化結果に応じて、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、前記マルチ参照行インデックスと設定されたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップをさらに含む。本実施例は、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、設定されたMRLインデックスリストを使用して、マルチ参照行インデックスが指す参照行を決定する。
【0120】
本実施例の1つの例では、現在ブロックがTIMDを使用しないと決定した場合、前記設定されたMRLインデックスリストは{0,1,3,5,7,12}であり、現在ブロックがTIMDを使用すると決定した場合、前記設定されたMRLインデックスリストは{0,1,3}または{0,1,2}である。
【0121】
現在ブロックのMRLインデックスリストのソートを許可するか否かについて、マルチ参照行インデックスの復号化に応じて決定されてもよいし、1つのフラグを用いて直接表されてもよい。
【0122】
本開示の例示的な実施例では、前記方法は、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、現在ブロックのMRLインデックスリストのソートを許可することを表すフラグを真にするステップをさらに含む。
【0123】
本開示の別の例示的な実施例では、以下の条件のうちの任意の1つまたは複数の条件を、現在ブロックのMRLインデックスリストのソートを許可しない十分条件とする。
【0124】
現在ブロックが、マルチ参照行MRLを使用しないこと、
【0125】
マルチ参照行インデックスが、MRLインデックスリストにおけるソートに参加しない位置、例えば、1番目の位置を指示すること、
【0126】
現在のフレームが、非輝度フレームであること、
【0127】
現在ブロックが、符号化ツリーユニットCTUの上方境界に位置すること、
【0128】
現在ブロックによって選択されたイントラ予測モードが、指定モードであることであって、前記指定モードは、平面モード、1つのモードが平面モードであるTIMD融合モード、平均モード、水平角度モード、垂直角度モード、広角度モードのうちの任意の1つまたは複数を含むこと、
【0129】
現在ブロックのサイズが、設定条件を満たさないこと、
【0130】
現在ブロックの縦横比が、設定条件を満たさないこと。
【0131】
現在ブロックのMRLインデックスリストのソートを許可しない条件(上記例示した条件に限定されない)がいずれも成立しない場合、現在ブロックのMRLインデックスリストのソートを許可すると決定する。
【0132】
1つの例では、現在ブロックがTIMDを使用する場合と現在ブロックがTIMDを使用しない場合のうちの1つを、現在ブロックのMRLインデックスリストのソートを許可しない十分条件としてもよい。すなわち、MRLインデックスリストのソートは、現在ブロックがTIMDを使用する場合、または現在ブロックがTIMDを使用しない場合にのみ、許可される。
【0133】
本開示の例示的な実施例では、現在ブロックがMRLを使用する場合、前記方法は、現在ブロックのMRLと同時に使用できる一部の変換モードの構文要素を復号化し、MRLと同時に使用できない一部の変換モードの構文要素をスキップするステップをさらに含む。
【0134】
本実施例は、現在ブロックがMRLを使用する場合に幾つかの変換モードをスキップしてもよい。MRLモードは、全てのイントラ予測モードにおいて比較的後方に近い位置にあり、例えば、現在のモードがDIMD、BDPCM、MIP、TIMDではないと決定してからMRLであるか否かを判断する必要がある。VVCでは、残差信号は一次変換と二次変換を使用することにより、変換後の残差を符号化しやすくしてもよい。ここで、一次変換はDCT2変換及びDST7を含む。一方、二次変換は、一次変換にDCT2を用いた上で、一次変換後の残差をさらに変換するものである。ECMでは、一次変換のモードもさらに拡張されている。異なるモードが選択された場合、表されるには追加のビットが必要であることで、符号語のオーバーヘッドが生じ、同時に、符号化端がこれらの変換モードをトラバースする際、符号化時間も増加することを考慮すると、イントラ予測がマルチ参照行モードを選択した場合、その一次変換がDCT2モードのみを使用し、且つ二次変換を使用することを制限してもよいし、または、一次変換のみを使用することを制限してもよいし、または、DCT2変換のみを使用することを制限してもよい。このようにして、対応する変換モードのインデックスを符号化する際、MRLモードが選択されているか否かに応じて、変換モードの符号化をスキップすることができる。
【0135】
本開示の例示的な実施例では、現在ブロックがMRLを使用する場合、前記方法は、現在ブロックによって選択されたイントラ予測モードを復号化する過程において、第2MPMに関連する構文要素の復号化を許可するステップをさらに含む。本実施例は、MRLと第2MPMモードを同時に使用することを許可する。
【0136】
本開示の例示的な実施例では、現在ブロックのマルチ参照行インデックスを復号化するステップは、現在ブロックがTIMDを使用する場合と、現在ブロックがTIMDを使用しない場合に、異なるMRLインデックスリストに応じて、現在ブロックのマルチ参照行インデックスを復号化するステップを含む。
【0137】
本開示の一実施例では、ビデオ符号化方法がさらに提供され、図8に示すように、前記方法は、以下のステップを含む。
【0138】
ステップ310、現在ブロックに対してイントラ予測を行い、現在ブロックによって選択された参照行を決定する。
【0139】
ステップ320、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、請求項1から請求項11のいずれかに記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得る。
【0140】
ステップ330、現在ブロックによって選択された参照行のインデックスの、現在ブロックに基づいてソートされたMRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化する。
【0141】
本実施例は、符号化過程において、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、まず、本開示の上記実施例の方法に応じて、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスを得て、そして、現在ブロックによって選択された参照行のインデックスの、現在ブロックに基づいてソートされたMRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化する。本実施例は、現在ブロックに基づいてソートされたMRLインデックスリストを使用して、マルチ参照行インデックスを符号化することにより、現在ブロックによって選択された参照行がMRLインデックスリストの先頭に近づく位置に位置する可能性が高く、それにより、マルチ参照行インデックスの符号化オーバーヘッドを節約し、符号化性能を向上させることができる。
【0142】
本開示の例示的な実施例では、現在ブロックのMRLインデックスリストをソートする前に、前記方法は、現在ブロックによって選択されたイントラ予測モードを決定するステップをさらに含む。
【0143】
本開示の例示的な実施例では、前記方法は、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、現在ブロックによって選択された参照行のインデックスの、設定されたMRLインデックスにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップをさらに含む。本実施例では、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、選択された参照行の設定されたMRLインデックスリストにおける位置を用いて、現在ブロックのマルチ参照行インデックスを決定する。
【0144】
本開示の例示的な実施例では、前記方法は、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、現在ブロックのMRLインデックスリストのソートを許可することを表すフラグを真にするステップをさらに含む。本実施例は、現在ブロックのMRLインデックスリストのソートを許可するか否かについて、直接1つのフラグを用いて表される。
【0145】
本開示の例示的な実施例では、以下の条件のうちの任意の1つまたは複数の条件を、現在ブロックのMRLインデックスリストのソートを許可しない十分条件とする。
【0146】
現在ブロックが、MRLを使用しないこと、
【0147】
現在ブロックによって選択された参照行が、現在ブロックのテンプレート領域に位置すること、
【0148】
現在のフレームが、非輝度フレームであること、
【0149】
現在ブロックが、符号化ツリーユニットCTUの上方境界に位置すること、
【0150】
現在ブロックによって選択されたイントラ予測モードは、指定モードであり、前記指定モードは、平面モード、1つのモードが平面モードであるTIMD融合モード、平均モード、水平角度モード、垂直角度モード、広角度モードのうちの任意の1つまたは複数を含むこと、
【0151】
現在ブロックのサイズが、設定条件を満たさないこと、
【0152】
現在ブロックの縦横比が、設定条件を満たさないこと、
【0153】
現在ブロックがTIMDを使用する場合と現在ブロックがTIMDを使用しない場合のうちの1つであること、
【0154】
現在ブロックのMRLインデックスリストのソートを許可しない条件(上記例示した条件に限定されない)がいずれも成立しない場合、現在ブロックのMRLインデックスリストのソートを許可すると決定すること、
【0155】
本開示の例示的な実施例では、現在ブロックがTIMDを使用する場合及び現在ブロックがTIMDを使用しない場合、異なるMRLインデックスリストが用いられる。
【0156】
現在ブロックのマルチ参照行インデックスを決定して符号化するステップは、以下のステップを含む。
【0157】
現在ブロックがTIMDを使用する場合、現在ブロックによって選択された参照行のインデックスの、第1MRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化する。
【0158】
現在ブロックがTIMDを使用しない場合、現在ブロックによって選択された参照行のインデックスの、第2MRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化する。
【0159】
ここで、前記第2MRLインデックスリストの長さは、前記第1MRLインデックスリストの長さ以上である。
【0160】
本開示の例示的な実施例では、現在ブロックがMRLを使用する場合、前記方法は、現在ブロックのMRLと同時に使用できる一部の変換モードの構文要素を符号化し、MRLと同時に使用できない一部の変換モードの符号化をスキップするステップをさらに含む。
【0161】
本開示の例示的な実施例では、現在ブロックがMRLを使用し、且つ現在ブロックによって選択されたモードが非TIMDモードである場合、前記方法は、前記マルチ参照行インデックスを符号化した後、現在ブロックによって選択されたイントラ予測モードを符号化し続け、且つ現在ブロックによって選択されたイントラ予測モードを符号化する過程において、第2MPMに関連する構文要素の符号化を許可するステップをさらに含む。
【0162】
本開示の一実施例では、コードストリームがさらに提供される。ここで、前記コードストリームには、現在ブロックのマルチ参照行インデックスが含まれ、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスの、MRLインデックスリストにおける位置を指示するために用いられ、前記MRLインデックスリストは、現在ブロックに基づいてソートされたMRLインデックスリスト、または設定されたMRLインデックスリストである。本実施例のコードストリームは、本開示のいずれかの実施例に記載のビデオ符号化方法によって生成されてもよい。
【0163】
本開示の一実施例では、マルチ参照行インデックスリストソート装置がさらに提供される。図9に示すように、前記装置は、プロセッサ71と、コンピュータプログラムが記憶されたメモリ73とを備え、前記プロセッサ71は、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のマルチ参照行インデックスリストソート方法を実現することができる。
【0164】
本開示の一実施例では、ビデオ復号化装置がさらに提供される。図9に示すように、前記装置は、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のビデオ復号化方法を実現することができる。
【0165】
本開示の一実施例では、ビデオ符号化装置がさらに提供される。図9に示すように、前記装置は、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のビデオ符号化方法を実現することができる。
【0166】
本開示の上記実施例のプロセッサは、中央処理装置(Central Processing Unit、略称CPU)、ネットワークプロセッサ(Network Processor、略称NP)、マイクロプロセッサなどを含む汎用プロセッサであってもよく、他の通常のプロセッサなどであってもよい。前記プロセッサは、さらにデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理デバイス、ディスクリートハードウェアアセンブリであってもよく、上記デバイスの組み合わせであってもよい。すなわち、上記実施例のプロセッサは、本発明の実施例に開示された各方法、ステップ、及び論理ブロック図を実現する任意の処理デバイスまたはデバイスの組み合わせであってもよい。部分的にソフトウェアで本開示の実施例を実装する場合、ソフトウェアに用いられるソフトウェアの命令を、適切な不揮発性コンピュータ可読記憶媒体に記憶されてもよく、且つ1つまたは複数のプロセッサを用いてハードウェアで前記命令を実行して本開示の実施例の方法を実装することができる。
【0167】
本開示の一実施例では、ビデオ符号化・復号化システムがさらに提供され、前記システムは、本開示のいずれかの実施例に記載のビデオ符号化装置と、本開示のいずれかの実施例に記載のビデオ復号化装置とを備える。
【0168】
本開示の一実施例では、非揮発性コンピュータ可読記憶媒体がさらに提供され、前記コンピュータ可読記憶媒体には、コンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサによって実行されると、本開示のいずれかの実施例に記載のマルチ参照行インデックスリストソート方法を実現し、または本開示のいずれかの実施例に記載のビデオ復号化方法を実現し、または本開示のいずれかの実施例に記載のビデオ符号化方法を実現する。
【0169】
本開示の一実施例では、ビデオ復号化方法がさらに提供され、復号化過程において、現在ブロックのマルチ参照行インデックスリストをソートする。本実施例では、テンプレート領域に基づくソートは、エンコーダとデコーダの両方が行う必要がある操作であり、MRLインデックスリストに用いられ、選択された参照行のMRLインデックスリストにおける位置をマルチ参照行インデックスによって表し、現在ブロックに基づいてソートされたMRLインデックスリストと組み合わせ、現在ブロックによって選択された参照行を共通に決定し、決定された当該参照行と選択されたイントラ予測モード(従来の予測モード)を用いて予測する。
【0170】
本実施例では、1つの具体例を用いて、如何にしてテンプレート領域における予測値(pred)と再構成値(reco)との絶対誤差和(SAD:the sum of absolute difference)を用いて、MRLインデックスリストをソートするかについて、説明する。(x,-1)、(-1,y)はそれぞれ現在ブロックの左上隅(0,0)位置に対する座標であり、この実施例では、現在ブロックの1行1列のテンプレート領域について、図10に示す断面線付き領域を参照する。当該図には、現在ブロックのテンプレート領域外側の6つ参照行が示されている。
【0171】
本実施例の方法は、以下のステップを含む。
【0172】
第1ステップ
【0173】
デコーダはイントラ予測モードを解析し、デコーダはMRL関連構文要素を解析し、現在ブロックがMRLを使用され又は使用されないことを確認し、また、現在ブロックのマルチ参照行インデックスを復号化する。
【0174】
本実施例に関連する構文表は、以下の表に示す通りである。
【0175】
表では、intra_luma_mrl_tab_idxは、現在ブロックがTIMDを使用しない場合(すなわち、!intra_timd_flag)のマルチ参照行インデックスを定義し、現在ブロックによって選択された参照行のインデックスの、ソートされたMRLインデックスリストにおける位置を指示し、その値の範囲は0から5である。intra_timd_luma_ ref_idxは、現在ブロックがTIMDを使用する場合のマルチ参照行インデックスを定義し、現在ブロックによって選択された参照行のインデックスの、設定されたMRLインデックスリストにおける位置を指示し、その値の範囲は0から2である。この2つの場合のマルチ参照行インデックスは、いずれもコンテキストモデルに基づく切り捨て単項コード符号化・復号化を用いられてもよい。
【0176】
本例は、現在ブロックがTIMDを使用する場合に、設定されたMRLインデックスリストをソートしないものである。しかし、他の例では、現在ブロックがTIMDを使用する場合、現在ブロックのMRLインデックスリストをソートしてもよい。現在ブロックがTIMDを使用する場合に、MRLインデックスリストをソートする際、インデックスが設定されたMRLインデックスリストに埋め込まれた参照行ソートのみをソートしてもよいし、より多くの参照行を導入し、例えば、現在ブロックがTIMDを使用しない場合と同じ参照行をソートに参加させてもよい。この場合、intra_timd_luma_ref_idxの代わりに、1つのintra_luma_mrl_tab_idxに似た構文要素を使用してもよい。
【0177】
本明細書の表におけるtimdは、文字におけるTIMDと同じ概念であり、他の概念は同様である。
【0178】
第2ステップ
【0179】
復号化段階が完了した後、現在ブロックを予測する前に、現在ブロックのマルチ参照行インデックスが0でない場合、すなわち、選択された参照行のインデックスが0でない場合、設定されたMRLインデックスリストを使用するのではなく、現在ブロックのMRLインデックスリストをソートする必要がある。ソートは、拡張された参照行(本実施例では、インデックスが0でない参照行)に対してのみ行われる。
【0180】
ソートの過程は、以下の通りである。
【0181】
まず、現在ブロックが画像における位置において許可する拡張参照行の最大数を決定し、原則として、現在ブロックが使用できる上方参照行は、上方CTU境界を超えてはならない。ECMでは、CTUは最大256x256であってもよい。現在ブロックの左上隅の画像における位置の縦座標yが256の余りを取る場合、得られた余りは、上方のCTU境界内における参照行の数となる。同時に、MRLが非TIMDモードで最大13個の参照行(reference line 0~12)を使用できるように設定すると、ソートに参加できる参照行はreference line 1~Nとなり、すなわち、インデックスが1~Nである参照行である。ここで、N=min(12,(x%256)-1))である。他の実施例では、ハードウェアがサポートしていれば、使用される参照行もCTU境界を超えてもよい。
【0182】
reference line 1~NのN個の参照行は、reference line 0が位置する行のテンプレート領域外側にあり、そのうちの各参照行に対して、選択されたイントラ予測モードを用いてテンプレート領域を予測する。reference line 0のテンプレート領域は再構成が完了しているため、この場合、再構成値と予測によって得られた予測値に応じて、SADを求めてもよい。N個のSAD値を昇順に従ってソートし、対応して計算されたSADの最も小さいM個の参照行のインデックスを、MRLインデックスリストに埋め込む。
【0183】
具体的には、MRLインデックスリストは、現在ブロックがTIMDを使用しない場合に、長さが6であり、TIMDを使用する場合に、長さが3であり、この2つのリストが設定された充填値は、それぞれ{0,1,3,5,7,12}と{0,1,3}であり、それぞれインデックスが0,1,3,5,7,12である参照行とインデックスが0,1,3である参照行を表す。本実施例のソートは、reference line 1~Nをソートするため、MRLインデックスリストにおける1番目の位置に埋め込むインデックス0は常に変化せず、ソート後の拡張された参照行を後方の位置に埋め込むだけであり、現在ブロックがTIMDを使用しない場合は、最大5つのインデックスを埋め込むことができ、現在ブロックがTIMDを使用する場合は、最大2つのインデックスを埋め込むことができる。
【0184】
ソートする過程において、隣接する2行のソート対象参照行が類似した再構成値を有する可能性があり、この場合、これらの2行を使用して予測された結果は類似しており、この場合、そのうちの1行をスキップすることによって、冗長性を除去してもよい、という場合を考慮すべきである。ここでは、2つのスキップ方法を有してもよい。
【0185】
方法1.隣接する2つの参照行の対応する位置における再構成値間のSAD値を計算し、SAD値が1つの予め設定された閾値より小さい場合、これらの2つの参照行の類似度が大きすぎてそのうちの1つの参照行をスキップすべきであると考えられる。隣接する当該参照行がスキップされた場合、選択された当該参照行は、次の最も近い参照行と閾値比較を継続する。
【0186】
方法2.それぞれ2つの参照行を用いてテンプレート領域を予測し、テンプレート領域における予測結果間のSAD値を計算し、SAD値が1つの予め設定された閾値より小さい場合、これらの2行の類似度が大きすぎてそのうちの1行をスキップすべきであると考えられる。
【0187】
上記スキップ方法は、これらの2行のうちの任意の1行をスキップしてもよいが、通常、現在ブロックにより近い参照行の方を参照行とするのが好ましいと考慮し、本実施例は、より遠い参照行の方をスキップする。
【0188】
ECMでは、MRL、TIMD、及びMPM技術は同時に使用してもよい。TIMDの場合、決定されたイントラ予測モードがTIMD融合モードとなることがあるが、MRLとPlanarモードの共通作用は通常、追加のパフォーマンス向上をもたらすことはないため、MRLが選択された際、イントラ予測モードが、Planarでありまたは1つのモードがPlanarであるTIMD融合(fusion)モードである場合、ソートしなくてもよい。Planarモードを除き、幾つかの特定の角度またはモードでもソートしなくてもよく、例えば、DCモードでソートせず、広角度でソートせず、水平及び垂直角度モードでソートせず、などである。広角度モードは、長方形の予測ブロックをソートしないのと相当してもよい。
【0189】
ソートしない場合は、これらのリストにおける参照行に対してSADに基づく再ソートをせず、設定された初期参照行リスト、例えば、{1,3,5,7,12}を直接使用する。
【0190】
本実施例は、幾つかの変換モードをスキップしてもよい。現在のMRLは、全てのイントラモードにおける比較的後方の位置に符号化され、ECMでは、MRLであるか否かを判断する前に、現在のモードがDIMD、BDPCM、MIP、TIMDではないと決定する必要がある。後続の変換モード符号化にはさらに多くの識別子ビットを用いて一次変換と二次変換を識別する必要があることを考慮すると、この点での符号化オーバーヘッドを低減するために、MRLが一部の変換モードのみと組み合わせて使用するように制限してもよく、例えば、DCT2の一次変換のみと共に使用してもよく、またはDCT2の一次変換及び二次変換のみと共に使用してもよい。例えば、一次変換制限の下で、MRLがDCT2のみと共同に使用できると制限された場合、変換モードの構文要素を復号化するために、MRLが選択されたか否かをチェックすべきであり、選択された場合は、一次変換モードを復号化しない。
【0191】
対応する構文は、以下の通りである。
【0192】
上の表に「intra_luma_ref_tab_idx != 0 &&」と記載されている欄では、幾つかの条件を定義することにより、mts_idx(一次変換によって選択された変換モードインデックス)を復号化するか否かを判断し、そのうち、マルチ参照行インデックスが0でないことを含む。
【0193】
別の例では、一次変換の下で、MRLが二次変換と共に使用しないと制限された場合、変換モードの構文要素を復号化するために、MRLが選択されたか否かをチェックすべきであり、選択された場合は、二次変換モードを復号化しない。対応する構文は、以下の通りである。
【0194】
上の表に「intra_luma_ref_tab_idx != 0 &&」と記載されている欄では、幾つかの条件を定義することにより、lfnst_idx(二次変換によって選択された変換モードインデックス)を復号化するか否かを判断し、そのうち、マルチ参照行インデックスが0でないことを含む。
【0195】
第3ステップ
【0196】
再ソートされたマルチ参照行インデックスリストと復号化して得られたリストインデックスに応じて、参照行を決定し、現在ブロックを予測する。
【0197】
本実施例は、イントラ予測がマルチ参照行インデックスリストを使用してソートする際、テンプレート領域の予測値と再構成値との間の誤差を使用して、昇順に従ってソートすることによって、現在ブロックに基づいてソートされたマルチ参照行インデックスリストを得て、それにより、予測ために選択された参照行がマルチ参照行インデックスリストのより先頭の位置に配置される可能性がより高くなり、符号化オーバーヘッドを節約することができる。本実施例は、ソートする過程において、閾値設置によって、重複する可能性のあるソート対象の参照行をスキップし、冗長性を低減し、ソート効率を向上させることができる。本実施例では、テンプレート領域が位置する参照行及び当該参照行より小さい参照行はソートに加入できず、候補リストにおける元の位置を維持することができる。
【0198】
本実施例に基づいて、ソート可能な参照行を追加してもよい。本実施例では、ソートに参加するために、最大12個の拡張された参照行を使用している。実際には、複雑さを考慮していない場合、この制限を取り消すことによって、ソートするための参照行は12行を超える参照行以外の参照行であってもよく、それによって、より良い符号化・復号化性能を得ることができる。
【0199】
さらに、テンプレート領域のサイズを大きくしてもよく、テンプレート領域は、現在ブロックに最も近い参照行に限定されるものではなく、拡張し続けてもよい。例えば、上方テンプレート領域の右側、左側テンプレート領域の下方、及び左上隅の交差する灰色部分の拡張に拡張する。上方テンプレート領域の上方、左側テンプレート領域の左側に拡張し続けてもよく、これにより、より多くの参照行の領域が使用され、例えば、さらに用いられたreference line 1の領域がテンプレート領域とする場合、reference line 1自体は、ソートに参加できない。
【0200】
ECM-4.0参照ソフトウェアでは、本実施例に記載の方法を使用して、現在ブロックがTIMDを使用しない場合のMRLインデックスリストを再ソートすることは、参照ソフトウェア上で、以下のような性能向上をさらにもたらすことができる。
【0201】
本実施例の上記方法を使用して、現在ブロックがTIMDを使用する場合及びTIMDを使用しない場合の両方のMRLインデックスリストをソートすることは、参照ソフトウェア上で、以下のような性能向上をさらにもたらすことができる。
【0202】
以上のテストは、現在ブロックがTIMDを使用する場合に、reference line 1~12も使用されてソートに参加し、そのうちのSADが最も小さい2つの参照行line_a、line_bのみを保留し、ソートされたMRLインデックスリスト:{0,line_a,line_b}に埋め込む。
【0203】
表におけるパラメータは、以下の通りである。
【0204】
EncT:Encoding Time、符号化時間であり、10X%は、参照行ソート技術が統合された後、統合されていない前のものと比較して、符号化時間が10X%であることを意味し、これはX%の符号化時間が増加することを意味する。
【0205】
DecT:Decoding Time、復号化時間であり、10X%は、参照行ソート技術が統合された後、統合されていない前のものと比較して、復号化時間が10X%であることを意味し、これはX%の復号化時間が増加することを意味する。
【0206】
ClassA1とClassA2は、解像度が3840x2160のテストビデオシーケンスであり、ClassBは1920x1080解像度のテストシーケンスであり、ClassCは832x480であり、ClassDは416x240であり、ClassEは1280x720であり、ClassFは幾つかの異なる解像度のスクリーンコンテンツシーケンス(Screen content)である。
【0207】
All intraは、全イントラフレーム構成のテスト構成を表す。
【0208】
上記の1つまたは複数の例示的な実施例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのいずれかの組み合わせで実行してもよい。ソフトウェアで実現される場合、機能は1つまたは複数の命令またはコードとして、コンピュータ可読媒体に記憶されてもよく、または、コンピュータ可読媒体を介して伝送され、且つハードウェアに基づく処理ユニットによって実行されてもよい。コンピュータ可読媒体は、例えばデータ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含んでもよく、または、コンピュータプログラム、例えば通信プロトコルに応じて、ある場所から別の場所への伝送を容易にする任意の媒体などの通信媒体を含んでもよい。このように、コンピュータ可読媒体は、通常、非一時的な有形コンピュータ可読記憶媒体、または、信号またはキャリアなどの通信媒体に対応してもよい。データ記憶媒体が、1つまたは複数のコンピュータ、または1つまたは複数のプロセッサにより記憶及び呼び出しされることにより、本開示に記載の技術的命令、コード、及び/またはデータ構造を実現するための任意の使用可能な媒体であってもよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
【0209】
例えば、このようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、フラッシュメモリまたは所望のプログラムコードを命令またはデータ構造の形式で記憶でき、且つコンピュータによってアクセス可能な任意の他の媒体を含んでもよいが、それに限定されるものではない。また、任意の接続をコンピュータ可読媒体と呼んでもよく、例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、及びマイクロ波などの無線技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースから命令を伝送する場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、マイクロ波などの無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体が、接続、キャリア、信号、または他の揮発性(volatile)的媒体を含まず、非揮発性有形記憶媒体に対するものであることは、理解すべきである。本明細書で使用されたように、磁気ディスク及び光ディスクは、コンパクトディスク(CD)、レーザディスク、光学ディスク、デジタル多機能ディスク(DVD)、フロッピーディスクまたはブルーレイディスクなどを含み、ここで、磁気ディスクは通常磁気的にデータを再生し、光ディスクはレーザを用いて光学的にデータを再生する。上述の組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0210】
例えば、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはその他の同等の集積またはディスクリート論理回路などの1つまたは複数のプロセッサによって、命令を実行してもよい。そのため、本明細書で使用される「プロセッサ」という用語は、上記構造、または本明細書に記載の技術を実装するのに適したいずれかの他の構造のうちのいずれかを指してもよい。また、幾つかの態様では、本明細書に記載の機能は、符号化及び復号化のために構成された専用ハードウェア及び/またはソフトウェアモジュール内に提供されてもよく、またはパッケージ型コーデックに組み込まれてもよい。さらに、前記技術は、1つまたは複数の回路または論理素子に完全に実装されてもよい。
【0211】
本開示の実施例の技術方案は、無線携帯電話、集積回路(IC)、または1セットのIC(例えば、チップセット)を含む多種の装置またはデバイスに実現されてもよい。本開示の実施例では、各種のアセンブリ、モジュール、またはユニットが記載されたが、構成によって記載の技術を実行する装置の機能方面を強調するが、必ずしも異なるハードウェアユニットによって実現される必要はない。むしろ、上記のように、各種のユニットは、コーデックハードウェアユニットに組み合わされてもよく、または相互操作ハードウェアユニット(上記の1つまたは複数のプロセッサを含む)の集合と適切なソフトウェア及び/またはファームウェアとの結びつけによって提供されてもよい。
図1A
図1B
図1C
図2
図3
図4
図5
図6
図7
図8
図9
図10
【手続補正書】
【提出日】2025-06-20
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施例は、ビデオ技術に関するが、これに限定されなく、より具体的には、マルチ参照行インデックスリストソート方法、ビデオ符号化・復号化方法、装置及びシステムに関する。
【背景技術】
【0002】
デジタルビデオ圧縮技術は、主に膨大なデジタル映像ビデオデータを圧縮することにより、伝送及び記憶などを容易にする。現在の一般的なビデオ符号化・復号化規格、例えば、H.266/Versatile Video Coding(多機能ビデオ符号化、VVC)は、いずれもブロックに基づくハイブリッド符号化フレームワークを使用している。ビデオにおける各フレームは、同じサイズ(例えば、128×128、64×64など)の正方形の最大符号化ユニット(LCU:largest coding unit)に分割される。各最大符号化ユニットは、規則に応じて矩形の符号化ユニット(CU:coding unit)に分割されてもよい。符号化ユニットは、さらに予測ユニット(PU:prediction unit)、変換ユニット(TU:transform unit)などに分割されてもよい。ハイブリッド符号化フレームワークは、予測(prediction)、変換(transform)、量子化(quantization)、エントロピー符号化(entropy coding)、ループフィルタ(in loop filter)などのモジュールを含む。予測モジュールは、ビデオ内の冗長性を低減または取り出すためのイントラ予測(intra prediction)及びインター予測(inter prediction)を含む。イントラブロックは、ブロック周囲の画素を参照として予測し、インターブロックは、空間上の隣接ブロックの情報及び他のフレーム内の参照情報を参照する。予測信号に対して、残差情報は、ブロックを単位とする変換、量子化、及びエントロピー符号化によって、コードストリームになる。これらの技術は規格に記載されており、ビデオ圧縮に関連するさまざまな分野で実施されている。
【0003】
インターネットビデオの急増と人々のビデオの鮮明度に対する要求の高まりに伴い、既存のデジタルビデオ圧縮規格は多くのビデオデータを節約できるが、デジタルビデオ伝送の帯域幅と流量圧力を低減するために、依然としてより優れたデジタルビデオ圧縮技術を追求する必要がある。
【発明の概要】
【課題を解決するための手段】
【0004】
以下は、本明細書で詳しく説明されている主題の概要である。当該概要は、特許請求の範囲を限定することを意図するものではない。
【0005】
本開示の一実施例では、マルチ参照行インデックスリストソート方法が提供され、前記方法は、
【0006】
現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、前記テンプレート領域をそれぞれ予測し、前記テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算するステップと、
【0007】
前記誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、を含む。
【0008】
本開示の一実施例では、ビデオ復号化方法がさらに提供され、前記方法は、
【0009】
コードストリームにおける現在ブロックのイントラ予測関連構文要素を復号化し、現在ブロックがマルチ参照行MRLの使用を許可する場合、現在ブロックのマルチ参照行インデックスを復号化し続けるステップであって、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスのMRLインデックスリストにおける位置を指示するために用いられるステップと、
【0010】
復号化結果に応じて、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、本開示のいずれかの実施例に記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
【0011】
前記マルチ参照行インデックスと現在ブロックに基づいてソートされたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップと、を含む。
【0012】
本開示の一実施例では、ビデオ符号化方法がさらに提供され、前記方法は、
【0013】
現在ブロックに対してイントラ予測を行い、現在ブロックによって選択された参照行を決定するステップと、
【0014】
現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、本開示のいずれかの実施例に記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
【0015】
現在ブロックによって選択された参照行のインデックスの、現在ブロックに基づいてソートされたMRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップと、を含む。
【0016】
本開示の一実施例では、コードストリームが提供され、前記コードストリームには、現在ブロックのマルチ参照行インデックスが含まれ、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスの、MRLインデックスリストにおける位置を指示するために用いられ、前記MRLインデックスリストは、現在ブロックに基づいてソートされたMRLインデックスリスト、または設定されたMRLインデックスリストである。
【0017】
本開示の一実施例では、マルチ参照行インデックスリストソート装置がさらに提供され、前記装置は、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のマルチ参照行インデックスリストソート方法を実現することができる。
【0018】
本開示の一実施例では、ビデオ復号化装置がさらに提供され、前記装置は、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のビデオ復号化方法を実現することができる。
【0019】
本開示の一実施例では、ビデオ符号化装置がさらに提供され、前記装置は、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のビデオ符号化方法を実現することができる。
【0020】
本開示の一実施例では、ビデオ符号化・復号化システムがさらに提供され、前記ビデオ符号化・復号化システムは、本開示のいずれかの実施例に記載のビデオ符号化装置と、本開示のいずれかの実施例に記載のビデオ復号化装置とを備える。
【0021】
本開示の一実施例では、非一時的コンピュータ可読記憶媒体がさらに提供され、前記コンピュータ可読記憶媒体には、コンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサによって実行されると、本開示のいずれかの実施例に記載のマルチ参照行インデックスリストソート方法を実現し、または本開示のいずれかの実施例に記載のビデオ復号化方法を実現し、または本開示のいずれかの実施例に記載のビデオ符号化方法を実現する。
【0022】
図面及び詳細な説明を読んで理解した後、他の態様を理解することができる。
【図面の簡単な説明】
【0023】
図面は、本開示の実施例の理解を提供するために用いられ、明細書の一部を構成し、本開示の実施例とともに本開示の技術方案を説明するために用いられ、本開示の技術方案の限定を構成するものではない。
図1A】本開示の一実施例に係る符号化・復号化システムの概略図である。
図1B】本開示の一実施例に係る符号化側のブロック図である。
図1C】本開示の一実施例に係る復号化側のブロック図である。
図2】本開示の一実施例に係るイントラ予測モードの概略図である。
図3】本開示の一実施例に係る現在ブロックの隣接するイントラ予測ブロックの概略図である。
図4】本開示の一実施例に係る現在ブロックのテンプレート領域及びテンプレート参照領域の概略図である。
図5】本開示の一実施例に係る現在ブロックの周囲の複数の参照行の概略図である。
図6】本開示の一実施例に係るマルチ参照行インデックスリストソート方法のフローチャートである。
図7】本開示の一実施例に係るビデオ復号化方法のフローチャートである。
図8】本開示の一実施例に係るビデオ符号化方法のフローチャートである。
図9】本開示の一実施例に係るマルチ参照行インデックスリストソート装置の概略図である。
図10】本開示の一実施例に係る現在ブロックの周囲のテンプレート及び複数の参照行の概略図である。
【発明を実施するための形態】
【0024】
本開示は複数の実施例を説明するが、当該説明は例示的なものであり、限定的なものではなく、当業者にとって明らかなように、本開示に記載の実施例によって含まれる範囲内に、より多くの実施例及び実現方案が存在し得る。
【0025】
本開示の説明において、「例示的に」または「例えば」などの用語は、例、例証、または説明を表すために用いられる。本開示において「例示的」または「例えば」として説明されるいずれかの実施例は、他の実施例よりも好ましいまたは有利であると解釈されるべきではない。本明細書における「及び/または」は、関連対象の関連関係の説明であり、3つの関係を表すことができる。例えば、A及び/またはBは、Aが単独で存在、AとBが同時に存在、及びBが単独で存在という3種類の状況を表すことができる。「複数」とは、2つまたは2つより大きいことを指す。また、本開示の実施例の技術方案の説明を明確且つ容易にするために、「第1」及び「第2」などの用語を用いて、機能及び役割が実質的に同一である同一項または同様項を区別する。当業者であれば、「第1」及び「第2」などの用語が、数及び実行順序を限定せず、且つ「第1」及び「第2」などの用語が必ずしも異なるものであるとは限定しないことは、理解される。
【0026】
代表的な例示的な実施例を説明する際、明細書は、方法及び/またはプロセスを特定のステップシーケンスとして提供した可能性がある。しかしながら、当該方法またはプロセスが本明細書に記載のステップの特定順序に依存しない程度では、当該方法またはプロセスは、記載の特定順序のステップに限定されるべきではない。当業者が理解可能な他のステップ順序も可能である。そのため、明細書に記載されたステップの特定順序は、特許請求の範囲を限定するものとして解釈されるべきではない。さらに、当該方法及び/またはプロセスのための請求項は、記載された順序でそれらを実行するステップに限定されるべきではなく、当業者であれば、これらの順序が変更可能であり、且つ依然として本開示の実施例の主旨及び範囲内に保持できることは、容易に理解される。
【0027】
本開示の実施例によって提供されるマルチ参照行インデックスリストソート方法及びビデオ符号化・復号化方法は、各種のビデオ符号化・復号化規格に応用してもよく、例えば、H.264/Advanced Video Coding(高度なビデオコーディング、AVC)、H.265/High Efficiency Video Coding(高効率ビデオ符号化、HEVC)、H.266/Versatile Video Coding(多機能ビデオ符号化、VVC)、AVS(Audio Video coding Standard、オーディオビデオ符号化規格)、及びMPEG(Moving Picture Experts Group、ムービング・ピクチャー・エキスパート・グループ)、AOM(オープンメディアアライアンス、Alliance for Open Media)、JVET(ジョイントビデオエキスパートチーム、Joint Video Experts Team)によって作成した他の規格及びこれらの規格の拡張、またはいずれかのカスタマイズされた他の規格などである。
【0028】
図1Aは、本開示の実施例に係るビデオ符号化・復号化システムのブロック図である。図に示すように、当該システムは、符号化側装置1と復号化側装置2とに分割される。符号化側装置1は、コードストリームを生成する。復号化側装置2は、コードストリームを復号化してもよい。復号化側装置2は、リンク3を介して符号化側装置1からコードストリームを受信してもよい。リンク3は、コードストリームを符号化側装置1から復号化側装置2に移動することを可能にする1つまたは複数のメディアまたは装置を含む。1つの例では、リンク3は、符号化側装置1がコードストリームを復号化側装置2に直接送信することを可能にする1つまたは複数の通信媒体を含む。符号化側装置1は、通信規格(例えば、無線通信プロトコル)に応じて、コードストリームを変調し、変調されたコードストリームを復号化側装置2に送信する。前記1つまたは複数の通信媒体は、無線及び/または有線通信媒体を含んでもよく、パケットネットワークの一部を形成してもよい。別の例では、コードストリームを出力インターフェース15から1つの記憶装置に出力してもよく、復号化側装置2は、コードストリーム伝送またはダウンロードを介して、当該記憶装置から記憶されたデータを読み出してもよい。
【0029】
図に示すように、符号化側装置1は、データソース11、ビデオ符号化装置13、及び出力インターフェース15を備える。データソース11は、ビデオキャプチャ装置(例えば、ビデオカメラ)、以前にキャプチャされたデータを含むアーカイブ、コンテンツプロバイダからデータを受信するためのフィードインターフェース、データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含む。ビデオ符号化装置13は、データソース11からのデータを符号化してから出力インターフェース15に出力する。出力インターフェース15は、レギュレータ、モデム、及びエミッタのうちの少なくとも1つを含んでもよい。復号化側装置2は、入力インターフェース21、ビデオ復号化装置23、及び表示装置25を備える。入力インターフェース21は、受信機及びモデムのうちの少なくとも1つを含む。入力インターフェース21は、リンク3を介して、または記憶装置からコードストリームを受信してもよい。ビデオ復号化装置23は、受信したコードストリームを復号化する。表示装置25は、復号化されたデータを表示するために用いられる。表示装置25は、復号化側装置2の他の装置と統合されてもよく、または単独に設置されてもよい。表示装置25は、復号化側にとって選択的なものである。他の例では、復号化側は、復号化されたデータを応用する他の装置または設備を含んでもよい。
【0030】
図1Aに示すビデオ符号化・復号化システムに基づいて、各種のビデオ符号化・復号化方法を用いてビデオ圧縮及び圧縮の解除を実現してもよい。
【0031】
図1Bは、本開示の実施例に係る例示的なビデオ符号化装置のブロック図である。図に示すように、当該ビデオ符号化装置1000は、予測ユニット1100、分割ユニット1101、残差生成ユニット1102(図中では、分割ユニット1101の後のプラス記号付きの丸で表す)、変換処理ユニット1104、量子化ユニット1106、逆量子化ユニット1108、逆変換処理ユニット1110、再構成ユニット1112(図中では、逆変換処理ユニット1110の後のプラス記号付きの丸で表す)、フィルタユニット1113、復号化画像バッファ1114、及びエントロピー符号化ユニット1115を備える。ここで、予測ユニット1100は、インター予測ユニット1121及びイントラ予測ユニット1126を含み、復号化画像バッファ1114は、復号化済みの画像バッファ、復号化ピクチャバッファ、復号化済みのピクチャバッファなどと呼ばれてもよい。ビデオ符号化装置1000は、当該例よりもより多く、より少なく、または異なる機能アセンブリを含んでもよく、例えば、場合によっては、変換処理ユニット1104、逆変換処理ユニット1110などを含まなくてもよい。
【0032】
分割ユニット1101は、予測ユニット1100と協働して、受信したビデオデータをスライス(Slice)、符号化ツリーユニット(CTU:Coding Tree Unit)、または他の比較的に大きいユニットに分割する。分割ユニット1101によって受信されたビデオデータは、Iフレーム、Pフレーム、またはBフレームなどのビデオフレームを含むビデオシーケンスであってもよい。
【0033】
予測ユニット1100は、CTUを符号化ユニット(CU:Coding Unit)に分割し、CUに対してイントラ予測符号化またはインター予測符号化を実行してもよい。CUに対してイントラ予測及びインター予測を行う場合、CUを1つまたは複数の予測ユニット(PU:prediction unit)に分割してもよい。
【0034】
インター予測ユニット1121は、PUに対してインター予測を実行し、PUの予測データを生成してもよい。前記予測データは、PUの予測ブロック、PUの運動情報、及び各種の構文要素を含む。インター予測ユニット1121は、運動推定(ME:motion estimation)ユニット及び運動補償(MC:motion compensation)ユニットを含んでもよい。運動推定ユニットは、運動推定に使用されることにより、運動ベクトルを生成してもよく、運動補償ユニットは、運動ベクトルに応じて予測ブロックを取得または生成するために用いられてもよい。
【0035】
イントラ予測ユニット1126は、PUに対してイントラ予測を実行し、PUの予測データを生成してもよい。PUの予測データは、PUの予測ブロック及び各種の構文要素を含んでもよい。
【0036】
残差生成ユニット1102は、CUの元のブロックに基づいてCUが分割されたPUの予測ブロックを減算して、CUの残差ブロックを生成してもよい。
【0037】
変換処理ユニット1104は、CUを1つまたは複数の変換ユニット(TU:Transform Unit)に分割してもよく、予測ユニットと変換ユニットの分割は異なってもよい。TU関連の残差ブロックは、CUの残差ブロックが分割されたサブブロックである。1つまたは複数の変換をTU関連の残差ブロックに応用することによって、TU関連の係数ブロックを生成する。
【0038】
量子化ユニット1106は、選択された量子化パラメータに基づいて、係数ブロックにおける係数を量子化し、量子化パラメータ(QP:Quantizer Parameter)を調整することによって、係数ブロックの量子化の程度を調整してもよい。
【0039】
逆量子化ユニット1108及び逆変換ユニット1110は、それぞれ逆量子化及び逆変換を係数ブロックに応用し、TU関連の再構成残差ブロックを得てもよい。
【0040】
再構成ユニット1112は、前記再構成残差ブロックと予測ユニット1100によって生成された予測ブロックとを加算し、再構成画像を生成してもよい。
【0041】
フィルタユニット1113は、再構成画像に対してループフィルタを実行し、フィルタされた再構成画像を参照画像として復号化画像バッファ1114に記憶する。イントラ予測ユニット1126は、復号化画像バッファ1114からPU近傍のブロックの参照画像を抽出することにより、イントラ予測を実行してもよい。インター予測ユニット1121は、復号化画像バッファ1114にキャッシュされた前のフレームの参照画像を用いて、現在フレーム画像のPUに対してインター予測を実行してもよい。
【0042】
エントロピー符号化ユニット1115は、受信したデータ(例えば、構文要素、量子化された係数ブロック、運動情報など)に対して、エントロピー符号化操作を実行してもよい。
【0043】
図1Cは、本開示の実施例に係る例示的なビデオ復号化装置のブロック図である。図に示すように、ビデオ復号化装置101は、エントロピー復号化ユニット150、予測ユニット152、逆量子化ユニット154、逆変換処理ユニット155、再構成ユニット158(図中では、逆変換処理ユニット155の後のプラス記号付きの丸で表す)、フィルタユニット159、及び復号化画像バッファ160を備える。他の実施例では、ビデオ復号化装置101は、より多く、より少なく、または異なる機能アセンブリを含んでもよく、例えば、場合によっては、逆変換処理ユニット155などを含まなくてもよい。
【0044】
エントロピー復号化ユニット150は、受信したコードストリームに対してエントロピー復号化を実行し、構文要素、量子化された係数ブロック、及びPUの運動情報などを抽出してもよい。予測ユニット152、逆量子化ユニット154、逆変換処理ユニット155、再構成ユニット158、及びフィルタユニット159は、いずれもコードストリームから抽出された構文要素に基づいて、対応する操作を実行してもよい。
【0045】
逆量子化ユニット154は、量子化されたTU関連の係数ブロックを逆量子化してもよい。
【0046】
逆変換処理ユニット155は、1つまたは複数の逆変換を逆量子化された係数ブロックに応用することにより、TUの再構成残差ブロックの生成を容易してもよい。
【0047】
予測ユニット152は、インター予測ユニット162とイントラ予測ユニット164とを含む。PUがイントラ予測符号化を使用する場合、イントラ予測ユニット164は、コードストリームから復号化された構文要素に基づいて、PUのイントラ予測モードを決定し、決定されたイントラ予測モード及び復号化画像バッファ160から取得されたPU近傍の再構成済みの参照情報に応じて、イントラ予測を実行し、PUの予測ブロックを生成してもよい。PUがインター予測符号化を使用する場合、インター予測ユニット162は、PUの運動情報及び対応する構文要素に基づいて、PUの1つまたは複数の参照ブロックを決定し、復号化画像バッファ160から取得された前記参照ブロックに基づいて、PUの予測ブロックを生成してもよい。
【0048】
再構成ユニット158は、TU関連の再構成残差ブロック及び予測ユニット152によって生成されたPUの予測ブロックに基づいて、再構成画像を得てもよい。
【0049】
フィルタユニット159は、再構成画像に対してループフィルタを実行してもよく、ループフィルタされた再構成画像は、復号化画像バッファ160に記憶される。復号化画像バッファ160は、参照画像を提供することにより、後続の運動補償、イントラ予測、インター予測などのために使用してもよく、フィルタされた再構成画像を復号化済みのビデオデータとして出力し、表示装置に表示してもよい。
【0050】
上記ビデオ符号化装置及びビデオ復号化装置に基づいて、以下の基本的な符号化・復号化プロセスを実行してもよい。符号化側では、1フレームの画像をブロックに分割し、現在ブロックに対してイントラ予測またはインター予測または他のアルゴリズムを行い、現在ブロックの予測ブロックを生成し、現在ブロックの元のブロックを用いて、予測ブロックを減算して残差ブロックを得て、残差ブロックを変換及び量子化して量子化係数を得て、量子化係数をエントロピー符号化してコードストリームを生成する。復号化側では、現在ブロックに対してイントラ予測またはインター予測を行い、現在ブロックの予測ブロックを生成する一方、コードストリームを復号化して得られた量子化係数を逆量子化及び逆変換し、残差ブロックを得て、予測ブロックと残差ブロックとを加算して再構成ブロックを得て、再構成ブロックが再構成画像を構成し、画像またはブロックに基づいて、再構成画像に対してループフィルタを行い、復号化画像を得る。符号化側も同様に復号化側と同様の操作により、復号化画像を得る。符号化側が取得した復号化画像は、通常、再構成画像とも呼ばれる。復号化画像は、後続のフレームに対してインター予測を行うための参照フレームとしてもよい。符号化側によって決定されたブロック分割情報、予測、変換、量子化、エントロピー符号化、ループフィルタなどのモード情報、及びパラメータ情報は、必要に応じてコードストリームに書き込んでもよい。復号化側は、コードストリームを復号化するか、又は既存の情報に応じて分析することにより、符号化側と同じブロック分割情報、予測、変換、量子化、エントロピー符号化、ループフィルタなどのモード情報、及びパラメータ情報を決定し、それにより、符号化側が取得した復号化画像と復号化側が取得した復号化画像とが同じであることを保証する。
【0051】
以上は、ブロックに基づくハイブリッド符号化フレームワークを例にしたが、本開示の実施例はこれに限定されなく、技術の発展に伴い、当該フレームワークにおける1つまたは複数のモジュール、及び当該プロセスのうちの1つまたは複数のステップは、置換または最適化されてもよい。
【0052】
本明細書では、現在ブロック(current block)は、現在の画像における現在の符号化ユニット(CU)、現在の予測ユニット(PU)などのブロックレベルの符号化ユニットであってもよい。
【0053】
符号化側がイントラ予測を行う場合、通常、各種の角度モードと非角度モードの助けを借りて、現在ブロックを予測して予測ブロックを得て、予測ブロックと元のブロックから計算されたレート歪み情報に応じて、現在ブロックの最適な予測モードをフィルタリングし、当該予測モードを符号化した後、コードストリームを介して復号化側に伝送する。復号化側は、復号化することによって当該予測モードを得て、当該予測モードに従って、現在ブロックに対してイントラ予測を行う。歴代のデジタルビデオ符号化・復号化規格の発展を経て、非角度モードは相対的安定しており、平均値モード(すなわちDCモード)と平面モード(すなわちPlanarモード)があり、角度モードはデジタルビデオ符号化・復号化規格の進化に伴って増加し続け、国際デジタルビデオ符号化規格Hシリーズを例にして、H.264/AVC規格は8種類の従来の角度予測モードと1種類の従来の非角度予測モードしかなく、H.265/HEVCは33種類の従来の角度予測モードと2種類の従来の非角度予測モードに拡張されている。H.266/VVCでは、図2に示すように、従来のイントラ予測モードPlanarモード、DCモード、及び65種類の角度モード。ここで、DCモードは、大面積平坦領域に適用され、その予測値は、左側及び/または上方の参照画素の平均値を計算することによって取得される。Planar平面モードは、画素漸次変化の場合に適用され、すなわち、画素値がゆっくり変化する領域に適用される。
【0054】
予測ブロックのモードを直接符号化する場合、67種類のモードで、符号化には7bitが必要であり、データ量は多い。統計的特性に応じて、現在ブロックに近い画素領域ほど、現在ブロックと同じイントラ予測モードを選択しやすくなり、この特性に応じて、HEVC、VVC、及び拡張圧縮モデル(ECM:Enhanced Compression Model)では、いずれも最も可能なモード(MPM:Most Probable Mode)技術が用いられている。ECMは、VTM―10.0参照ソフトウェアに基づいて、各種の新しいツールを統合し、それにより、符号化・復号化性能をさらに掘り出す参照ソフトウェアである。
【0055】
MPM技術は、まずMPMリストを構築し、MPMリストには、現在ブロックによって最も選択される可能性のあるイントラ予測モードが充填される。現在ブロックによって選択された予測モードがMPMリストにある場合、そのインデックス番号(3bitのみ必要)を符号化するだけでよく、現在ブロックによって選択された予測モードがMPMになく、61個の非MPM(non‐MPM)モードにある場合、エントロピー符号化段階で切り捨てバイナリコード(Truncated Binary Code、TBC)を用いて、当該予測モードを符号化する。
【0056】
VVC内では、マルチ参照行(MRL:Multiple reference line)とイントラサブパーティション(ISP:Intra Sub―Partitions)が応用されているか否かに関わらず、MPM listにはいずれも6種類の予測モードがある。一方、ECMにおけるMPMは、MPMとSecondary MPM(第2MPM)に分けられ、MPMとSecondary MPMは、それぞれ長さが6であるリストと、長さが16であるリストである。MPMリストの6つのモードのうち、Planarモードは、常にMPMの第1位にあり、残りの5つの位置は、5つのMPM位置が充填満了されるまで、次の3つのステップで順次行い、余分なモードは、自動的にSecondary MPMに入る。第1ステップ、図3に示すように、現在ブロックの周囲に隣接する5つの予測ブロックが使用する予測モードは、現在ブロックの左上(AL)、上(A)、右上(AR)、左(L)及び左下(BL)の位置にある予測ブロックが使用する予測モードを含む。第2ステップ、現在ブロックの周囲の再構成画素は、勾配ヒストグラムに基づいて導出されたモードを使用する。第3ステップ、第1ステップが選択した角度モードの角度に近い角度モード。Secondary MPリストは、MPMにおけるモード以外の幾つかの主要な角度モードから構成される。
【0057】
MPM識別子ビットの符号化・復号化順序はMRLモードの後にあるため、ECMにおけるMPMの符号化・復号化はMRL識別子ビットに依存する必要がある。以下の表は1つの例である。

【0058】
テンプレートに基づくイントラモード導出(TIMD:Template based intra mode derivation)は、輝度フレームに対するイントラ予測モードであり、TIMDモードは、MPMリストにおける候補モードとテンプレートによって生成する。ECMでは、図4に示すように、現在ブロック(Current CUとして図示)11の左側隣接領域及び上方隣接領域は、現在ブロックのテンプレート(Template)領域12を構成し、テンプレート領域12の外側(すなわち、左側及び上側)には、テンプレート参照(reference of the template)領域13が設けられ、各領域の例示的な寸法及び位置は、図に示す通りである。テンプレート参照領域13は、テンプレート領域の上方に隣接する1行であってもよく、または左側に隣接する1列であってもよい。
【0059】
TIMDは、現在ブロックと現在ブロックのテンプレート領域の分布特性が一致していると仮定し、テンプレート参照領域の再構成値を参照行とし、MPM及びSecondary MPMにおける全てのモードをトラバースし、テンプレート領域を予測し、予測結果を得る。次に、テンプレート領域上の再構成値と各モードの予測結果との間の誤差変換絶対値の和(SATD:Sum of absolute transformed differences)を計算し、SATDが最小、すなわち最適であるモードを選出し、当該モードを現在ブロックのTIMDモードとする。復号化側は、同じ導出方式によってTIMDモードを導出してもよい。シーケンスがTIMDの使用を許可する場合、各現在ブロックは、TIMDを使用するか否かを表すには1つのフラグビットが必要である。現在ブロックに対して選択されたイントラ予測モードがTIMDモードである場合、現在ブロックはTIMDモードを使用して予測し、且つ残りの輝度フレーム、及びISPとMPMのようなイントラ予測に関連する構文要素の復号化過程は、いずれもスキップすることにより、モードの符号化ビットを大幅に低減してもよい。
【0060】
テンプレート領域上の再構成値と各モード予測結果との間のSATDを求めた後、以下の方式に応じて、最終的に使用するTIMDモードを決定してもよい。
【0061】
【0062】
cost1×2≦cost2の場合、mode1を現在ブロックのTIMDモードとし、
【0063】
cost1×2>cost2の場合、mode1とmode2の予測結果に対して重み付けを行う予測モードを、現在ブロックのTMIDモードとし、TIMD融合(fusion)モードとも呼ばれる。
【0064】
重み付け方法と重みは、以下の式(1)、式(2)に示す通りである。
【0065】
【0066】
【0067】
【0068】
HEVCでは、イントラ予測は、現在ブロックに最も近い上側の行と左側の列を参照として予測し、この行と列の再構成値が元の画素値と大きな誤差を有する場合、現在ブロックの予測品質にも大きな影響を与える。この問題を解決するために、VVCではMRLイントラ予測技術を採用しており、最も近い行の参照画素、すなわち参照行0(Reference line0)を使用する以外、VVCはさらに、拡張された参照行として参照行1(Reference line1)と参照行2(Reference line2)を使用し、イントラ予測を行ってもよい。符号化の複雑さを低減するために、MRLはMPMにおける非planarモード上にのみ使用する。符号化側が各角度モードを予測する際、この3つの参照行の全てを試した後、レート歪みコスト(RD Cost)が最小の1つの参照行を選択し、選択された参照行のインデックスは、選択されたイントラ予測モードのインデックスと同様に、符号化して復号化側に送信する。復号化側は、復号化して参照行のインデックスを得て、そして、参照行のインデックスに応じて、対応する参照行を選択して予測する。
【0069】
図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である参照行と、を含む。予測する際、参照行の一部の再構成値のみを使用してもよい。1つの例では、参照行0における領域を現在ブロックのテンプレート領域とする場合、参照行0はテンプレート領域が位置する参照行と呼ばれてもよく、参照行1から参照行3はテンプレート領域外側に位置する参照行と呼ばれてもよい。
【0070】
本明細書では、参照行のインデックスは、いずれも図5に示す方式で番号付けされており、インデックスが0である参照行を除き、他の参照行は拡張参照行である。
【0071】
本明細書では、参照行は「行」と呼ばれているが、説明の便宜上のためであり、1つの参照行は実際には1行と1列を含み、予測に使用される参照行の再構成値も1行と1列の再構成値を含み、これは本分野で一般に説明されている方法と同じである。
【0072】
ECMでは、マルチ参照行インデックスの関連の復号化方式は、以下の表1及び表2に示す通りである。ここで、表1は現在ブロックがTIMDを使用しない場合に用いられ、表2は現在ブロックがTIMDを使用する場合に用いられる。
【0073】
【表1】

【0074】
ECMでは、MRLツールは、より多くの参照行を使用してもよい。現在ブロックによって選択された参照行(すなわち、現在ブロックによって選択された参照行)を符号化するために、複数の候補の参照行のインデックスを1つのリストに埋め込む。本明細書では、当該リストをマルチ参照行インデックスリストと呼ばれ、略してMRLインデックスリストと記載するが、マルチ参照行リスト、候補参照行リスト、参照行インデックスリストなどとも呼ばれてもよい。現在ブロックがTIMDを使用しない場合、マルチ参照行インデックスリストの長さは6であり、すなわち、合計6つの位置に6つの参照行のインデックスを埋め込んでもよい。この6つの参照行のインデックスとその順序は一定であり、MULTI_REF_LINE_IDX[6]={0,1,3,5,7,12}と表される。当該マルチ参照行インデックスリストでは、1番目の位置に埋め込まれたインデックスは0であり、現在ブロックに最も近い参照行のインデックスであり、2番目の位置から6番目の位置に埋め込むれたインデックスはそれぞれ1、3、5、7、12であり、現在ブロックからの距離の近い方から遠い方への5つの拡張された参照行のインデックスである。
【0075】
現在ブロックによって選択された参照行を符号化する際、マルチ参照行インデックスリストの存在のため、当該参照行のインデックスを直接符号化するのではなく、当該参照行のインデックスのマルチ参照行インデックスリストにおける位置のインデックスを符号化し、マルチ参照行インデックス(multiRefIdx)と呼ばれ、マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスのマルチ参照行インデックスリストにおける位置を指示するために用いられる。MRLインデックスリスト{0,1,3,5,7,12}を例にして、そのうちの1番目の位置から6番目の位置までのインデックスは、それぞれ0から5であり、現在ブロックによって選択された参照行のインデックスが7であり、インデックス7がマルチ参照行インデックスリストにおける5番目の位置にある場合、マルチ参照行インデックスは4である。
【0076】
マルチ参照行インデックス(multiRefIdx)は、コンテキストモデルに基づく単項切り捨てコードなどの方式を用いて符号化してもよいが、これに限定されない。マルチ参照行インデックスの値が小さいほど、コードの長さが少なくなり、復号化が速くなる。
【0077】
MRLモードは、TIMDモードと同時に使用されてもよい。TIMDを使用する場合、MRLインデックスリストの長さは3であり、3つの参照行のインデックスを埋め込み、且つインデックス間の順序は一定であり、MULTI_REF_LINE_IDX[3]={0,1,3}と表される。ただし、0はテンプレート領域の参照行のインデックスであり、1、3は拡張された参照行のインデックスである。
【0078】
マルチ参照行インデックスの符号化・復号化方式は、表2に示す通りである。
【0079】
【表2】

【0080】
理解を容易にするために、上記では、MRLがTIMDを使用する場合とMRLが使用しない場合は2つの表に分けて例示され、上記2つの表は1つの表に統合されてもよい。
【0081】
異なる規格では、現在ブロックの周囲のブロックを用いて、1つの最も可能な予測モードのリスト(MPM)を導出する技術は、異なる名称を持つことがある。例えば、AV2(AVM)では適応型イントラモード符号化(AIMC:Adaptive Intra Mode Coding)と呼ばれ、AVS3では、画面コンテンツ符号化の場合、周波数情報に基づくイントラ符号化(FIMC:Frequency―based Intra Mode Coding)と呼ばれる。非画面コンテンツ符号化の場合、MPMのようなこの技術は常に有効になる。一方、マルチ参照行を用いてイントラ予測を行うためのマルチ参照行技術(MRL)は、AV2(AVM)ではイントラ予測のためのマルチ参照前選択(MRLS:Multiple reference line selection for intra prediction)と呼ばれる。これは単に名称の違いであり、本実施例がMPMとMRLを使用する場合、同様に他の規格におけるこれらの実質的に同じ技術をカバーする。
【0082】
VVCと比較して、ECMはMRLの参照行候補の数を拡張するが、イントラのフレーム符号化では0.09%の符号化性能の向上をもたらすにすぎない。研究により、これはMRL候補インデックス行の数の増加によるものであり、MRLモードを符号化するにはより多くの識別位置が必要となり、それによってもたらした追加の負担も増加する。また、上記表1及び表2に示すMRL復号化方式から分かるように、マルチ参照行インデックスリストは、指定された一定順序のインデックスから構成され、選択された参照行のインデックスの当該表における位置が先頭に近づくほど、マルチ参照行インデックスを符号化するコストが小さくなる。
【0083】
本開示の一実施例では、マルチ参照行インデックスリストソート方法が提供され、当該方法は、符号化側に用いてもよく、復号化側に用いてもよい。図6に示すように、前記方法は、以下のステップを含む。
【0084】
ステップ110、現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、前記テンプレート領域をそれぞれ予測し、前記テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算する。
【0085】
上記誤差は、絶対誤差とSADで表されてもよく、または誤差変換絶対値とSATDで表されてもよいが、これらに限定されず、差の二乗和(SSD)、平均絶対差(MAD)、平均二乗誤差(MSE)などで表されてもよい。
【0086】
ステップ120、前記誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得る。
【0087】
以前の実施例では、MRLインデックスリストは符号化・復号化システムによって設定されるものであり、MRLインデックスリストに埋め込んだ参照行のインデックス及び順序は一定である。本開示の実施例は、テンプレートに基づく方式を用いて、現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、テンプレート領域をそれぞれ予測し、テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算し、誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得る。そのため、本開示の実施例に従って構築されたのは、1つのブロックレベルのMRLインデックスリストであり、ここで、参照行のインデックス及び順序が、現在ブロックのテンプレート領域の分布特徴に基づいて決定されたものであるため、現在ブロックによって選択された参照行は、MRLインデックスリストに現れる可能性が高く、現在のMRLインデックスリストの先頭に近づく位置に現れる可能性が高く、すなわち、符号化する必要があるマルチ参照行インデックスの値は、比較的小さな値である可能性が高いため、コードの長さが少なく、帯域幅の占用が少なく、復号化速度が速くなり、それにより、符号化性能が向上する。
【0088】
本開示の例示的な実施例では、現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、テンプレート領域をそれぞれ予測するステップは、前記少なくとも一部の参照行のうちの各参照行に対して、当該参照行の再構成値と現在ブロックによって選択されたイントラ予測モードを使用し、前記テンプレット領域を予測するステップを含む。本実施例の方法が符号化側で使用される場合、イントラ予測モードで選択が完了し、現在ブロックに対して1つのイントラ予測モード(ここでは、平均モード、平面モード、角度モードなどの従来のイントラ予測モードを指す)を選択した後、現在ブロックによって選択されたイントラ予測モードに基づいて、ソシートに参加する各参照行と結びつけて、テンプレート領域を予測してもよい。本実施例の方法が復号化側で使用される場合、現在ブロックのイントラ予測に関連する構文要素を複号化し、現在ブロックによって選択されたイントラ予測モードを決定した後、上記予測を行い、現在ブロックに基づいてソケットされたMRLインデックスリストを得た後、複号化して得られたマルチ参照行インデックスに応じて、現在ブロックによって選択された参照行を決定してもよい。
【0089】
本開示の例示的な実施例では、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込むステップとは、前記誤差に対応する参照行のインデックスを、前記MRLインデックスリストのK番目の位置から位置ごとに埋め込み、最大でK番目の位置まで埋め込むことである。ここで、2≦K≦K≦Mであり、Mは前記MRLインデックスリストの長さである。実際にMRLインデックスリストに埋め込むインデックスは、M以下であってもよい。
【0090】
現在ブロックのMRLインデックスリストに、例えば、図5に示す参照行21(そのインデックスが0である)など、テンプレート領域が位置する参照行のインデックスを埋め込んでもよいし、例えば、図5に示す参照行22、23、及び24(これら3つの参照行のインデックスがそれぞれ1、2、3である)など、テンプレート領域外側の参照行のインデックスに埋め込んでもよい。現在ブロックのMRLインデックスリストをソートする際、テンプレート領域が位置する参照行を使用して予測にすることはないため、テンプレート領域が位置する参照行のインデックスはソートに参加せず、これらの参照行が選択される可能性も大きく、本実施例では、それをMRLインデックスリストの先頭に近い1つまたは複数の位置に直接埋め込み、ソートに参加する参照行のインデックスを、K番目の位置から位置ごとに埋め込み、例えばKは2、3であってもよいが、これに限定されない。
【0091】
本開示の例示的な実施例では、前記方法は、前記現在ブロックに基づいてソートされたMRLインデックスリストにおいて、ソートに参加しない1番目の位置からK―1番目の位置まで、現在ブロックのテンプレート領域が位置する参照行のインデックスを埋め込むステップをさらに含み、ここで、1番目の位置に埋め込んだ参照行のインデックスは0である。本実施例では、テンプレート領域が、現在ブロックに最も近い行と列に限定される場合、現在ブロックに最も近い参照行のインデックス0を埋め込むだけでよい。しかし、他の実施例では、テンプレート領域は拡張されてもよく、例えば、現在ブロックの上方の2行目と左側の2列目に拡張され、またはより大きな領域に拡張され、すなわち、現在ブロックに最も近い複数の参照行に設置される。この場合、より多くの参照行のインデックスをMRLインデックスリストに埋め込んでもよいが、テンプレート領域と重なる全ての参照行のインデックスをMRLインデックスリストに埋め込むわけではなく、その一部を選択してMRLインデックスリストに埋め込んでもよい。
【0092】
本開示の例示的な実施例では、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込むステップとは、前記誤差に対応する参照行のインデックスを、前記MRLインデックスリストの1番目の位置から位置ごとに埋め込み、最大でK番目の位置まで埋め込むことである。ここで、1≦K≦Mであり、Mは前記MRLインデックスリストの長さである。前述の実施例に対して、本実施例は、MRLインデックスリストに現在ブロックのテンプレート領域が位置する参照行のインデックスを埋め込む必要はない相違点がある。例えば、テンプレート領域が位置する参照行が1行しかないと仮定し、現在ブロックによって選択された参照行のインデックスが0である場合、すなわち拡張された参照行を使用しない場合、当該選択された参照行のインデックスは、マルチ参照行インデックスを使用して表される必要がなく、MRL使用フラグ(flag)を偽にすることにより表されればよい。そのため、MRLインデックスリストは、インデックス0を埋め込まなくてもよいが、ソートに参加する参照行のインデックスは、誤差の小さい方から大きい方への順に従って、MRLインデックスリストの1番目の位置から埋め込まれてもよい。
【0093】
本開示の例示的な実施例では、K<Mの場合、前記MRLインデックスリストのK+1番目の位置からM番目の位置まで、現在ブロックからの距離の近い方から遠い方への順に従って、位置ごとにM―K個の参照行のインデックスを埋め込み、前記M―K個の参照行は、前記テンプレート領域外側に位置し、システムによって指定され、且つインデックスは前記MRLインデックスリストに埋め込んだインデックスとは異なる。
【0094】
本実施例は、MRLインデックスリストの後方に近い1つまたは複数の位置に、誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを埋め込むのではなく、テンプレート領域外側の指定された参照行を埋め込む。例えば、MRLインデックスリストの長さMは6であり、誤差に応じてソートされた参照行のインデックスは、そのうちの2番目の位置と3番目の位置だけに埋め込まれる。1つの例では、設定されたMRLインデックスリストは{0,1,3,5,7,12}であり、1、3、5、7、12は指定された参照行のインデックスである。本実施例では、インデックスが1~12である参照行に応じて予測を行い、誤差が最も小さい2行はインデックスが5と7の参照行であると仮定し、この2つの参照行が元々指定された参照行であるため、現在ブロックに基づいてソートされたMRLインデックスリストは{0,5,7,1,3,12}となり、すなわち、設定されたMRLインデックスリストにおいて指定された参照行のインデックス1、3、12を、ソートされたMRLインデックスリストの後方に近い位置に埋め込む。誤差が最も小さい2行が、インデックスが4と6の参照行である場合、この2行が指定された参照行ではないので、ソートされたMRLインデックスのリストは{0,4,6,1,3,5}であり、すなわち、指定された参照行のインデックスは、参照行の現在ブロックからの距離の近い方から遠い方への順に従って位置ごとに埋め込まれるものである。
【0095】
本開示の例示的な実施例では、前記現在ブロックのテンプレート領域は、現在ブロックに最も近い1つの参照行に設置され、すなわち、インデックスが0である参照行に設置される。または、前記現在ブロックのテンプレート領域は、現在ブロックに最も近い複数の参照行に設置され、例えば、インデックスが0、1である2つの参照行に設置され、またはインデックスが0、1、2である3つの参照行に設置され、またはインデックスが0、1、2、3である4つの参照行に設置されるなどである。
【0096】
本開示の例示的な実施例では、前記現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行は、
【0097】
1)前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行、または
【0098】
2)前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうちの奇数行、または
【0099】
3)前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうちの偶数行、または
【0100】
4)前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうち、隣接する行の間の誤差の比較によって選出されたN個の参照行、N≦N’、または
【0101】
5)前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうち、指定されたN個の参照行、を含み、
【0102】
ここで、N’≦Nmaxであり、Nmaxはソートの参加を許可する参照行の最大数である。
【0103】
ソートする際、まず、ソートを参加する参照行の数と、具体的にどちらの参照行を選択するかを決定する必要がある。本実施例は、複数の選択方式を提供する。
【0104】
本実施例では、現在ブロックがTIMDを使用する場合に設定されたNmaxと、現在ブロックがTIMDを使用しない場合に設定されたNmaxとがいずれも12であると仮定し、テンプレート領域が現在ブロックに最も近い参照行、すなわち、インデックスが0である参照行にあり、且つ現在ブロックの参照行が、それが位置するCTUの上方境界を超えることが許可されない場合、上記第1方式は、テンプレート領域外側の現在ブロックに最も近いN’個の参照行をソートに参加することを選択し、テンプレート領域外側からCTUの上方境界までの参照行の数が12個の行以上である場合、N’=12であり、すなわち、テンプレート領域外側の現在ブロックに最も近い12個の参照行を選出してソートに参加することである。12個の参照行がない場合、N’はテンプレート領域外側からCTUの上方境界までの参照行の数に等しい。第2方式と第3方式は、それぞれ第1方式によって決定された参照行から、奇数行と偶数行を選出することにより、演算を簡略化することである。
【0105】
本実施例の1つの例では、本実施例の第4方式、すなわち、テンプレート領域外側の現在ブロックに最も近いN’個の参照行から、隣接する行の間の誤差の比較によってN個の参照行を選出する方式は、以下の方式を用いて実現してもよい。前記テンプレート領域外側の現在ブロックに最も近い1つの参照行を選出された1番目の参照行とし、新たに選出された当該参照行とその隣接する参照行とを1つずつ比較し、当該参照行に最も近く、且つ2つの参照行の間の誤差が設定閾値より大きい1つの隣接する参照行を新たに選出された1つの参照行とし、N’個の参照行を比較して選択したまで、このように循環する。ここで、前記誤差とは、2つの参照行(比較に参加する2つの参照行)の再構成値間の誤差を指し、または2つの参照行の再構成値を参照とし、テンプレート領域をそれぞれ予測して得られた予測値間の誤差を指す。
【0106】
以下では、1つの例を用いて比較の過程を説明する。説明の便宜上、テンプレート領域外側の参照行を、現在ブロックからの距離の近い方から遠い方への順に番号付けし、現在ブロックに最も近い参照行はテンプレート領域外側の1番目の参照行と呼ばれ、1番目の参照行と略称され、現在ブロックの次に近い参照行はテンプレート領域外側の2番目の参照行と呼ばれ、2番目の参照行と略称され、このように類推する。さらに、テンプレート領域からCTU上方境界までの参照行の数が、12より大きいと仮定する。
【0107】
当該比較過程は、以下の通りである。テンプレート領域外側の1番目の参照行を選出した後、1番目の参照行とその隣接する行、すなわち、2番目の参照行との誤差を比較し、誤差が設定閾値より小さい場合、1番目の参照行と3番目の参照行との誤差を比較し続け、誤差が設定閾値より大きい場合、当該3番目の参照行を新たに選出された1行とし、その後そして、当該3番目の参照行とその隣接する行(すなわち、4番目の参照行)との誤差を比較し、誤差が設定閾値より大きい場合、当該4番目の参照行を新たに選択された1行とし、そして、当該4番目の参照行とその隣接する行(すなわち、5番目の参照行)との誤差を比較し、12番目の参照行の比較が完了するまで類推し、当該12番目の参照行と最近選出された参照行との間の誤差が設定閾値より大きい場合、12番目の参照行を選出してソートに参加し、そうでない場合、12番目の参照行を選択しない。
【0108】
以上の4つの方式を用いた場合、本開示の実施例のMRLインデックスリストソート方法は、ソート自体に限定されず、ソートに参加する参照行を選択することにより、インデックスがMRLインデックスリストに埋め込まれた参照行を選択してもよいことが分かる。これは、最適な参照行を見つけ、ビデオ符号化の効率を向上させるのに有利である。
【0109】
しかし、本開示は、指定された参照行を使用してソートしてもよい。上記第5方式では、ソートに参加する参照行は、テンプレート領域外側の現在ブロックに最も近いN’個の参照行から指定されたN個の参照行であり、例えば、指定されたインデックスが1、3、5、7、12である参照行である。この場合、設定されたMRLインデックスリストにおける参照行をソートすることに相当し、新たな参照行は導入されない。
【0110】
本実施例の1つの例では、前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行は、現在ブロックが位置する符号化ツリーユニットCTUの上方境界を超えない参照行である。
【0111】
本実施例の1つの例では、現在ブロックがテンプレートに基づくイントラモードを使用してTIMDを導出する場合に設定されたNmaxと、現在ブロックがTIMDを使用しない場合に設定されたNmaxは、いずれも3以上である。1つの例では、現在ブロックがTIMDを使用する場合に設定されたNmaxは12であり、現在ブロックがTIMDを使用しない場合にはNmaxも12に設定されてもよい。Nmaxの具体的な値について、本開示は限定されないが、例えば、5、6、7、8、9、10、11、12、13、14、15、及び18、24、36などの15より大きい値であってもよい。
【0112】
本開示の実施例では、ビデオ復号化方法がさらに提供され、図7に示すように、前記方法、以下のステップを含む。
【0113】
ステップ210、コードストリームにおける現在ブロックのイントラ予測関連構文要素を復号化し、現在ブロックがマルチ参照行MRLの使用を許可する場合、現在ブロックのマルチ参照行インデックスを復号化し続ける。
【0114】
前述したように、マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスのMRLインデックスリストにおける位置を指示するために用いられる。
【0115】
ステップ220、復号化結果に応じて現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、本開示のいずれかの実施例に記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得る。
【0116】
ステップ230、前記マルチ参照行インデックスと現在ブロックに基づいてソートされたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行う。
【0117】
本実施例は、復号化過程において、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、まず、本開示の上記実施例の方法に応じて、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得て、そして、復号化して得られたマルチ参照行インデックスと現在ブロックに基づいてソートされたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、さらに、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行う。本実施例は、現在ブロックに基づいてソートされたMRLインデックスリストを使用して、マルチ参照行インデックスを復号化することにより、現在ブロックによって選択された参照行がMRLインデックスリストの先頭に近づく位置に位置する可能性が高く、それにより、符号化オーバーヘッドを節約し、符号化性能を向上させることができる。
【0118】
本開示の例示的な実施例では、コードストリームにおける現在ブロックのイントラ予測に関連する構文要素を復号化する際、現在ブロックによって選択されたイントラ予測モードを復号化することにより、現在ブロックのMRLインデックスリストをソートするために用いられる。現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行う際、現在ブロックによって選択された参照行と現在ブロックによって選択されたイントラ予測モードに応じて、現在ブロックに対してイントラ予測を行う。
【0119】
本開示の例示的な実施例では、前記方法は、復号化結果に応じて、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、前記マルチ参照行インデックスと設定されたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップをさらに含む。本実施例は、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、設定されたMRLインデックスリストを使用して、マルチ参照行インデックスが指す参照行を決定する。
【0120】
本実施例の1つの例では、現在ブロックがTIMDを使用しないと決定した場合、前記設定されたMRLインデックスリストは{0,1,3,5,7,12}であり、現在ブロックがTIMDを使用すると決定した場合、前記設定されたMRLインデックスリストは{0,1,3}または{0,1,2}である。
【0121】
現在ブロックのMRLインデックスリストのソートを許可するか否かについて、マルチ参照行インデックスの復号化に応じて決定されてもよいし、1つのフラグを用いて直接表されてもよい。
【0122】
本開示の例示的な実施例では、前記方法は、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、現在ブロックのMRLインデックスリストのソートを許可することを表すフラグを真にするステップをさらに含む。
【0123】
本開示の別の例示的な実施例では、以下の条件のうちの任意の1つまたは複数の条件を、現在ブロックのMRLインデックスリストのソートを許可しない十分条件とする。
【0124】
現在ブロックが、マルチ参照行MRLを使用しないこと、
【0125】
マルチ参照行インデックスが、MRLインデックスリストにおけるソートに参加しない位置、例えば、1番目の位置を指示すること、
【0126】
現在のフレームが、非輝度フレームであること、
【0127】
現在ブロックが、符号化ツリーユニットCTUの上方境界に位置すること、
【0128】
現在ブロックによって選択されたイントラ予測モードが、指定モードであることであって、前記指定モードは、平面モード、1つのモードが平面モードであるTIMD融合モード、平均モード、水平角度モード、垂直角度モード、広角度モードのうちの任意の1つまたは複数を含むこと、
【0129】
現在ブロックのサイズが、設定条件を満たさないこと、
【0130】
現在ブロックの縦横比が、設定条件を満たさないこと。
【0131】
現在ブロックのMRLインデックスリストのソートを許可しない条件(上記例示した条件に限定されない)がいずれも成立しない場合、現在ブロックのMRLインデックスリストのソートを許可すると決定する。
【0132】
1つの例では、現在ブロックがTIMDを使用する場合と現在ブロックがTIMDを使用しない場合のうちの1つを、現在ブロックのMRLインデックスリストのソートを許可しない十分条件としてもよい。すなわち、MRLインデックスリストのソートは、現在ブロックがTIMDを使用する場合、または現在ブロックがTIMDを使用しない場合にのみ、許可される。
【0133】
本開示の例示的な実施例では、現在ブロックがMRLを使用する場合、前記方法は、現在ブロックのMRLと同時に使用できる一部の変換モードの構文要素を復号化し、MRLと同時に使用できない一部の変換モードの構文要素をスキップするステップをさらに含む。
【0134】
本実施例は、現在ブロックがMRLを使用する場合に幾つかの変換モードをスキップしてもよい。MRLモードは、全てのイントラ予測モードにおいて比較的後方に近い位置にあり、例えば、現在のモードがDIMD、BDPCM、MIP、TIMDではないと決定してからMRLであるか否かを判断する必要がある。VVCでは、残差信号は一次変換と二次変換を使用することにより、変換後の残差を符号化しやすくしてもよい。ここで、一次変換はDCT2変換及びDST7を含む。一方、二次変換は、一次変換にDCT2を用いた上で、一次変換後の残差をさらに変換するものである。ECMでは、一次変換のモードもさらに拡張されている。異なるモードが選択された場合、表されるには追加のビットが必要であることで、符号語のオーバーヘッドが生じ、同時に、符号化端がこれらの変換モードをトラバースする際、符号化時間も増加することを考慮すると、イントラ予測がマルチ参照行モードを選択した場合、その一次変換がDCT2モードのみを使用し、且つ二次変換を使用することを制限してもよいし、または、一次変換のみを使用することを制限してもよいし、または、DCT2変換のみを使用することを制限してもよい。このようにして、対応する変換モードのインデックスを符号化する際、MRLモードが選択されているか否かに応じて、変換モードの符号化をスキップすることができる。
【0135】
本開示の例示的な実施例では、現在ブロックがMRLを使用する場合、前記方法は、現在ブロックによって選択されたイントラ予測モードを復号化する過程において、第2MPMに関連する構文要素の復号化を許可するステップをさらに含む。本実施例は、MRLと第2MPMモードを同時に使用することを許可する。
【0136】
本開示の例示的な実施例では、現在ブロックのマルチ参照行インデックスを復号化するステップは、現在ブロックがTIMDを使用する場合と、現在ブロックがTIMDを使用しない場合に、異なるMRLインデックスリストに応じて、現在ブロックのマルチ参照行インデックスを復号化するステップを含む。
【0137】
本開示の一実施例では、ビデオ符号化方法がさらに提供され、図8に示すように、前記方法は、以下のステップを含む。
【0138】
ステップ310、現在ブロックに対してイントラ予測を行い、現在ブロックによって選択された参照行を決定する。
【0139】
ステップ320、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、本願の実施例のいずれかに記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得る。
【0140】
ステップ330、現在ブロックによって選択された参照行のインデックスの、現在ブロックに基づいてソートされたMRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化する。
【0141】
本実施例は、符号化過程において、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、まず、本開示の上記実施例の方法に応じて、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスを得て、そして、現在ブロックによって選択された参照行のインデックスの、現在ブロックに基づいてソートされたMRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化する。本実施例は、現在ブロックに基づいてソートされたMRLインデックスリストを使用して、マルチ参照行インデックスを符号化することにより、現在ブロックによって選択された参照行がMRLインデックスリストの先頭に近づく位置に位置する可能性が高く、それにより、マルチ参照行インデックスの符号化オーバーヘッドを節約し、符号化性能を向上させることができる。
【0142】
本開示の例示的な実施例では、現在ブロックのMRLインデックスリストをソートする前に、前記方法は、現在ブロックによって選択されたイントラ予測モードを決定するステップをさらに含む。
【0143】
本開示の例示的な実施例では、前記方法は、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、現在ブロックによって選択された参照行のインデックスの、設定されたMRLインデックスにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップをさらに含む。本実施例では、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、選択された参照行の設定されたMRLインデックスリストにおける位置を用いて、現在ブロックのマルチ参照行インデックスを決定する。
【0144】
本開示の例示的な実施例では、前記方法は、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、現在ブロックのMRLインデックスリストのソートを許可することを表すフラグを真にするステップをさらに含む。本実施例は、現在ブロックのMRLインデックスリストのソートを許可するか否かについて、直接1つのフラグを用いて表される。
【0145】
本開示の例示的な実施例では、以下の条件のうちの任意の1つまたは複数の条件を、現在ブロックのMRLインデックスリストのソートを許可しない十分条件とする。
【0146】
現在ブロックが、MRLを使用しないこと、
【0147】
現在ブロックによって選択された参照行が、現在ブロックのテンプレート領域に位置すること、
【0148】
現在のフレームが、非輝度フレームであること、
【0149】
現在ブロックが、符号化ツリーユニットCTUの上方境界に位置すること、
【0150】
現在ブロックによって選択されたイントラ予測モードは、指定モードであり、前記指定モードは、平面モード、1つのモードが平面モードであるTIMD融合モード、平均モード、水平角度モード、垂直角度モード、広角度モードのうちの任意の1つまたは複数を含むこと、
【0151】
現在ブロックのサイズが、設定条件を満たさないこと、
【0152】
現在ブロックの縦横比が、設定条件を満たさないこと、
【0153】
現在ブロックがTIMDを使用する場合と現在ブロックがTIMDを使用しない場合のうちの1つであること、
【0154】
現在ブロックのMRLインデックスリストのソートを許可しない条件(上記例示した条件に限定されない)がいずれも成立しない場合、現在ブロックのMRLインデックスリストのソートを許可すると決定すること、
【0155】
本開示の例示的な実施例では、現在ブロックがTIMDを使用する場合及び現在ブロックがTIMDを使用しない場合、異なるMRLインデックスリストが用いられる。
【0156】
現在ブロックのマルチ参照行インデックスを決定して符号化するステップは、以下のステップを含む。
【0157】
現在ブロックがTIMDを使用する場合、現在ブロックによって選択された参照行のインデックスの、第1MRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化する。
【0158】
現在ブロックがTIMDを使用しない場合、現在ブロックによって選択された参照行のインデックスの、第2MRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化する。
【0159】
ここで、前記第2MRLインデックスリストの長さは、前記第1MRLインデックスリストの長さ以上である。
【0160】
本開示の例示的な実施例では、現在ブロックがMRLを使用する場合、前記方法は、現在ブロックのMRLと同時に使用できる一部の変換モードの構文要素を符号化し、MRLと同時に使用できない一部の変換モードの符号化をスキップするステップをさらに含む。
【0161】
本開示の例示的な実施例では、現在ブロックがMRLを使用し、且つ現在ブロックによって選択されたモードが非TIMDモードである場合、前記方法は、前記マルチ参照行インデックスを符号化した後、現在ブロックによって選択されたイントラ予測モードを符号化し続け、且つ現在ブロックによって選択されたイントラ予測モードを符号化する過程において、第2MPMに関連する構文要素の符号化を許可するステップをさらに含む。
【0162】
本開示の一実施例では、コードストリームがさらに提供される。ここで、前記コードストリームには、現在ブロックのマルチ参照行インデックスが含まれ、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスの、MRLインデックスリストにおける位置を指示するために用いられ、前記MRLインデックスリストは、現在ブロックに基づいてソートされたMRLインデックスリスト、または設定されたMRLインデックスリストである。本実施例のコードストリームは、本開示のいずれかの実施例に記載のビデオ符号化方法によって生成されてもよい。
【0163】
本開示の一実施例では、マルチ参照行インデックスリストソート装置がさらに提供される。図9に示すように、前記装置は、プロセッサ71と、コンピュータプログラムが記憶されたメモリ73とを備え、前記プロセッサ71は、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のマルチ参照行インデックスリストソート方法を実現することができる。
【0164】
本開示の一実施例では、ビデオ復号化装置がさらに提供される。図9に示すように、前記装置は、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のビデオ復号化方法を実現することができる。
【0165】
本開示の一実施例では、ビデオ符号化装置がさらに提供される。図9に示すように、前記装置は、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、本開示のいずれかの実施例に記載のビデオ符号化方法を実現することができる。
【0166】
本開示の上記実施例のプロセッサは、中央処理装置(Central Processing Unit、略称CPU)、ネットワークプロセッサ(Network Processor、略称NP)、マイクロプロセッサなどを含む汎用プロセッサであってもよく、他の通常のプロセッサなどであってもよい。前記プロセッサは、さらにデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理デバイス、ディスクリートハードウェアアセンブリであってもよく、上記デバイスの組み合わせであってもよい。すなわち、上記実施例のプロセッサは、本発明の実施例に開示された各方法、ステップ、及び論理ブロック図を実現する任意の処理デバイスまたはデバイスの組み合わせであってもよい。部分的にソフトウェアで本開示の実施例を実装する場合、ソフトウェアに用いられるソフトウェアの命令を、適切な不揮発性コンピュータ可読記憶媒体に記憶されてもよく、且つ1つまたは複数のプロセッサを用いてハードウェアで前記命令を実行して本開示の実施例の方法を実装することができる。
【0167】
本開示の一実施例では、ビデオ符号化・復号化システムがさらに提供され、前記システムは、本開示のいずれかの実施例に記載のビデオ符号化装置と、本開示のいずれかの実施例に記載のビデオ復号化装置とを備える。
【0168】
本開示の一実施例では、非揮発性コンピュータ可読記憶媒体がさらに提供され、前記コンピュータ可読記憶媒体には、コンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサによって実行されると、本開示のいずれかの実施例に記載のマルチ参照行インデックスリストソート方法を実現し、または本開示のいずれかの実施例に記載のビデオ復号化方法を実現し、または本開示のいずれかの実施例に記載のビデオ符号化方法を実現する。
【0169】
本開示の一実施例では、ビデオ復号化方法がさらに提供され、復号化過程において、現在ブロックのマルチ参照行インデックスリストをソートする。本実施例では、テンプレート領域に基づくソートは、エンコーダとデコーダの両方が行う必要がある操作であり、MRLインデックスリストに用いられ、選択された参照行のMRLインデックスリストにおける位置をマルチ参照行インデックスによって表し、現在ブロックに基づいてソートされたMRLインデックスリストと組み合わせ、現在ブロックによって選択された参照行を共通に決定し、決定された当該参照行と選択されたイントラ予測モード(従来の予測モード)を用いて予測する。
【0170】
本実施例では、1つの具体例を用いて、如何にしてテンプレート領域における予測値(pred)と再構成値(reco)との絶対誤差和(SAD:the sum of absolute difference)を用いて、MRLインデックスリストをソートするかについて、説明する。(x,-1)、(-1,y)はそれぞれ現在ブロックの左上隅(0,0)位置に対する座標であり、この実施例では、現在ブロックの1行1列のテンプレート領域について、図10に示す断面線付き領域を参照する。当該図には、現在ブロックのテンプレート領域外側の6つ参照行が示されている。
【0171】
本実施例の方法は、以下のステップを含む。
【0172】
第1ステップ
【0173】
デコーダはイントラ予測モードを解析し、デコーダはMRL関連構文要素を解析し、現在ブロックがMRLを使用され又は使用されないことを確認し、また、現在ブロックのマルチ参照行インデックスを復号化する。
【0174】
本実施例に関連する構文表は、以下の表に示す通りである。



【0175】
表では、intra_luma_mrl_tab_idxは、現在ブロックがTIMDを使用しない場合(すなわち、!intra_timd_flag)のマルチ参照行インデックスを定義し、現在ブロックによって選択された参照行のインデックスの、ソートされたMRLインデックスリストにおける位置を指示し、その値の範囲は0から5である。intra_timd_luma_ ref_idxは、現在ブロックがTIMDを使用する場合のマルチ参照行インデックスを定義し、現在ブロックによって選択された参照行のインデックスの、設定されたMRLインデックスリストにおける位置を指示し、その値の範囲は0から2である。この2つの場合のマルチ参照行インデックスは、いずれもコンテキストモデルに基づく切り捨て単項コード符号化・復号化を用いられてもよい。
【0176】
本例は、現在ブロックがTIMDを使用する場合に、設定されたMRLインデックスリストをソートしないものである。しかし、他の例では、現在ブロックがTIMDを使用する場合、現在ブロックのMRLインデックスリストをソートしてもよい。現在ブロックがTIMDを使用する場合に、MRLインデックスリストをソートする際、インデックスが設定されたMRLインデックスリストに埋め込まれた参照行ソートのみをソートしてもよいし、より多くの参照行を導入し、例えば、現在ブロックがTIMDを使用しない場合と同じ参照行をソートに参加させてもよい。この場合、intra_timd_luma_ref_idxの代わりに、1つのintra_luma_mrl_tab_idxに似た構文要素を使用してもよい。
【0177】
本明細書の表におけるtimdは、文字におけるTIMDと同じ概念であり、他の概念は同様である。
【0178】
第2ステップ
【0179】
復号化段階が完了した後、現在ブロックを予測する前に、現在ブロックのマルチ参照行インデックスが0でない場合、すなわち、選択された参照行のインデックスが0でない場合、設定されたMRLインデックスリストを使用するのではなく、現在ブロックのMRLインデックスリストをソートする必要がある。ソートは、拡張された参照行(本実施例では、インデックスが0でない参照行)に対してのみ行われる。
【0180】
ソートの過程は、以下の通りである。
【0181】
まず、現在ブロックが画像における位置において許可する拡張参照行の最大数を決定し、原則として、現在ブロックが使用できる上方参照行は、上方CTU境界を超えてはならない。ECMでは、CTUは最大256×256であってもよい。現在ブロックの左上隅の画像における位置の縦座標yが256の余りを取る場合、得られた余りは、上方のCTU境界内における参照行の数となる。同時に、MRLが非TIMDモードで最大13個の参照行(reference line 0~12)を使用できるように設定すると、ソートに参加できる参照行はreference line 1~Nとなり、すなわち、インデックスが1~Nである参照行である。ここで、N=min(12,(x%256)-1))である。他の実施例では、ハードウェアがサポートしていれば、使用される参照行もCTU境界を超えてもよい。
【0182】
reference line 1~NのN個の参照行は、reference line 0が位置する行のテンプレート領域外側にあり、そのうちの各参照行に対して、選択されたイントラ予測モードを用いてテンプレート領域を予測する。reference line 0のテンプレート領域は再構成が完了しているため、この場合、再構成値と予測によって得られた予測値に応じて、SADを求めてもよい。N個のSAD値を昇順に従ってソートし、対応して計算されたSADの最も小さいM個の参照行のインデックスを、MRLインデックスリストに埋め込む。
【0183】
具体的には、MRLインデックスリストは、現在ブロックがTIMDを使用しない場合に、長さが6であり、TIMDを使用する場合に、長さが3であり、この2つのリストが設定された充填値は、それぞれ{0,1,3,5,7,12}と{0,1,3}であり、それぞれインデックスが0,1,3,5,7,12である参照行とインデックスが0,1,3である参照行を表す。本実施例のソートは、reference line 1~Nをソートするため、MRLインデックスリストにおける1番目の位置に埋め込むインデックス0は常に変化せず、ソート後の拡張された参照行を後方の位置に埋め込むだけであり、現在ブロックがTIMDを使用しない場合は、最大5つのインデックスを埋め込むことができ、現在ブロックがTIMDを使用する場合は、最大2つのインデックスを埋め込むことができる。
【0184】
ソートする過程において、隣接する2行のソート対象参照行が類似した再構成値を有する可能性があり、この場合、これらの2行を使用して予測された結果は類似しており、この場合、そのうちの1行をスキップすることによって、冗長性を除去してもよい、という場合を考慮すべきである。ここでは、2つのスキップ方法を有してもよい。
【0185】
方法1.隣接する2つの参照行の対応する位置における再構成値間のSAD値を計算し、SAD値が1つの予め設定された閾値より小さい場合、これらの2つの参照行の類似度が大きすぎてそのうちの1つの参照行をスキップすべきであると考えられる。隣接する当該参照行がスキップされた場合、選択された当該参照行は、次の最も近い参照行と閾値比較を継続する。
【0186】
方法2.それぞれ2つの参照行を用いてテンプレート領域を予測し、テンプレート領域における予測結果間のSAD値を計算し、SAD値が1つの予め設定された閾値より小さい場合、これらの2行の類似度が大きすぎてそのうちの1行をスキップすべきであると考えられる。
【0187】
上記スキップ方法は、これらの2行のうちの任意の1行をスキップしてもよいが、通常、現在ブロックにより近い参照行の方を参照行とするのが好ましいと考慮し、本実施例は、より遠い参照行の方をスキップする。
【0188】
ECMでは、MRL、TIMD、及びMPM技術は同時に使用してもよい。TIMDの場合、決定されたイントラ予測モードがTIMD融合モードとなることがあるが、MRLとPlanarモードの共通作用は通常、追加のパフォーマンス向上をもたらすことはないため、MRLが選択された際、イントラ予測モードが、Planarでありまたは1つのモードがPlanarであるTIMD融合(fusion)モードである場合、ソートしなくてもよい。Planarモードを除き、幾つかの特定の角度またはモードでもソートしなくてもよく、例えば、DCモードでソートせず、広角度でソートせず、水平及び垂直角度モードでソートせず、などである。広角度モードは、長方形の予測ブロックをソートしないのと相当してもよい。
【0189】
ソートしない場合は、これらのリストにおける参照行に対してSADに基づく再ソートをせず、設定された初期参照行リスト、例えば、{1,3,5,7,12}を直接使用する。
【0190】
本実施例は、幾つかの変換モードをスキップしてもよい。現在のMRLは、全てのイントラモードにおける比較的後方の位置に符号化され、ECMでは、MRLであるか否かを判断する前に、現在のモードがDIMD、BDPCM、MIP、TIMDではないと決定する必要がある。後続の変換モード符号化にはさらに多くの識別子ビットを用いて一次変換と二次変換を識別する必要があることを考慮すると、この点での符号化オーバーヘッドを低減するために、MRLが一部の変換モードのみと組み合わせて使用するように制限してもよく、例えば、DCT2の一次変換のみと共に使用してもよく、またはDCT2の一次変換及び二次変換のみと共に使用してもよい。例えば、一次変換制限の下で、MRLがDCT2のみと共同に使用できると制限された場合、変換モードの構文要素を復号化するために、MRLが選択されたか否かをチェックすべきであり、選択された場合は、一次変換モードを復号化しない。
【0191】
対応する構文は、以下の通りである。


【0192】
上の表に「intra_luma_ref_tab_idx != 0 &&」と記載されている欄では、幾つかの条件を定義することにより、mts_idx(一次変換によって選択された変換モードインデックス)を復号化するか否かを判断し、そのうち、マルチ参照行インデックスが0でないことを含む。
【0193】
別の例では、一次変換の下で、MRLが二次変換と共に使用しないと制限された場合、変換モードの構文要素を復号化するために、MRLが選択されたか否かをチェックすべきであり、選択された場合は、二次変換モードを復号化しない。対応する構文は、以下の通りである。

【0194】
上の表に「intra_luma_ref_tab_idx != 0 &&」と記載されている欄では、幾つかの条件を定義することにより、lfnst_idx(二次変換によって選択された変換モードインデックス)を復号化するか否かを判断し、そのうち、マルチ参照行インデックスが0でないことを含む。
【0195】
第3ステップ
【0196】
再ソートされたマルチ参照行インデックスリストと復号化して得られたリストインデックスに応じて、参照行を決定し、現在ブロックを予測する。
【0197】
本実施例は、イントラ予測がマルチ参照行インデックスリストを使用してソートする際、テンプレート領域の予測値と再構成値との間の誤差を使用して、昇順に従ってソートすることによって、現在ブロックに基づいてソートされたマルチ参照行インデックスリストを得て、それにより、予測ために選択された参照行がマルチ参照行インデックスリストのより先頭の位置に配置される可能性がより高くなり、符号化オーバーヘッドを節約することができる。本実施例は、ソートする過程において、閾値設置によって、重複する可能性のあるソート対象の参照行をスキップし、冗長性を低減し、ソート効率を向上させることができる。本実施例では、テンプレート領域が位置する参照行及び当該参照行より小さい参照行はソートに加入できず、候補リストにおける元の位置を維持することができる。
【0198】
本実施例に基づいて、ソート可能な参照行を追加してもよい。本実施例では、ソートに参加するために、最大12個の拡張された参照行を使用している。実際には、複雑さを考慮していない場合、この制限を取り消すことによって、ソートするための参照行は12行を超える参照行以外の参照行であってもよく、それによって、より良い符号化・復号化性能を得ることができる。
【0199】
さらに、テンプレート領域のサイズを大きくしてもよく、テンプレート領域は、現在ブロックに最も近い参照行に限定されるものではなく、拡張し続けてもよい。例えば、上方テンプレート領域の右側、左側テンプレート領域の下方、及び左上隅の交差する灰色部分の拡張に拡張する。上方テンプレート領域の上方、左側テンプレート領域の左側に拡張し続けてもよく、これにより、より多くの参照行の領域が使用され、例えば、さらに用いられたreference line 1の領域がテンプレート領域とする場合、reference line 1自体は、ソートに参加できない。
【0200】
ECM-4.0参照ソフトウェアでは、本実施例に記載の方法を使用して、現在ブロックがTIMDを使用しない場合のMRLインデックスリストを再ソートすることは、参照ソフトウェア上で、以下のような性能向上をさらにもたらすことができる。
【0201】
本実施例の上記方法を使用して、現在ブロックがTIMDを使用する場合及びTIMDを使用しない場合の両方のMRLインデックスリストをソートすることは、参照ソフトウェア上で、以下のような性能向上をさらにもたらすことができる。
【0202】
以上のテストは、現在ブロックがTIMDを使用する場合に、reference line 1~12も使用されてソートに参加し、そのうちのSADが最も小さい2つの参照行line_a、line_bのみを保留し、ソートされたMRLインデックスリスト:{0,line_a,line_b}に埋め込む。
【0203】
表におけるパラメータは、以下の通りである。
【0204】
EncT:Encoding Time、符号化時間であり、10X%は、参照行ソート技術が統合された後、統合されていない前のものと比較して、符号化時間が10X%であることを意味し、これはX%の符号化時間が増加することを意味する。
【0205】
DecT:Decoding Time、復号化時間であり、10X%は、参照行ソート技術が統合された後、統合されていない前のものと比較して、復号化時間が10X%であることを意味し、これはX%の復号化時間が増加することを意味する。
【0206】
ClassA1とClassA2は、解像度が3840×2160のテストビデオシーケンスであり、ClassBは1920×1080解像度のテストシーケンスであり、ClassCは832×480であり、ClassDは416×240であり、ClassEは1280×720であり、ClassFは幾つかの異なる解像度のスクリーンコンテンツシーケンス(Screen content)である。
【0207】
All intraは、全イントラフレーム構成のテスト構成を表す。
第1項では、マルチ参照行インデックスリストソート方法が提供され、当該方法は、
現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、前記テンプレート領域をそれぞれ予測し、前記テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算するステップと、
前記誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのマルチ参照行MRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
を含む。
第2項では、第1項の方法に応じて、現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、テンプレート領域をそれぞれ予測するステップは、
前記少なくとも一部の参照行のうちの各参照行に対して、当該参照行の再構成値と現在ブロックによって選択されたイントラ予測モードを使用し、前記テンプレット領域を予測するステップを含む。
第3項では、第1項の方法に応じて、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込むステップとは、前記誤差に対応する参照行のインデックスを、前記MRLインデックスリストのK 番目の位置から位置ごとに埋め込み、最大でK 番目の位置まで埋め込むことであり、2≦K ≦K ≦Mであり、Mは前記MRLインデックスリストの長さである。
第4項では、第3項の方法に応じて、前記方法は、
前記現在ブロックに基づいてソートされたMRLインデックスリストにおいて、ソートに参加しない1番目の位置からK ―1番目の位置まで、現在ブロックのテンプレート領域が位置する参照行のインデックスを埋め込むステップであって、1番目の位置に埋め込んだ参照行のインデックスは0であるステップをさらに含む。
第5項では、第1項の方法に応じて、前記誤差に対応する参照行のインデックスを現在ブロックのMRLインデックスリストに埋め込むステップとは、前記誤差に対応する参照行のインデックスを、前記MRLインデックスリストの1番目の位置から位置ごとに埋め込み、最大でK 番目の位置まで埋め込むことであり、1≦K ≦Mであり、Mは前記MRLインデックスリストの長さである。
第6項では、第3項または第5項の方法に応じて、前記方法は、
<Mの場合、前記MRLインデックスリストのK +1番目の位置からM番目の位置まで、現在ブロックからの距離の近い方から遠い方への順に従って、位置ごとにM―K 個の参照行のインデックスを埋め込むステップであって、前記M―K 個の参照行は、前記テンプレート領域外側に位置し、システムによって指定され、且つインデックスが前記MRLインデックスリストに埋め込んだインデックスと異なるステップをさらに含む。
第7項では、第1項の方法に応じて、前記現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行は、
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうちの奇数行、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうちの偶数行、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうち、隣接する行の間の誤差の比較によって選出されたN個の参照行、N≦N’、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうち、指定されたN個の参照行、
を含み、
N’≦N max であり、N max はソートの参加を許可する参照行の最大数である。
第8項では、第7項の方法に応じて、
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行は、現在ブロックが位置する符号化ツリーユニットCTUの上方境界を超えない参照行であり、
現在ブロックがテンプレートに基づくイントラモードを使用してTIMDを導出する場合に設定されたN max と、現在ブロックがTIMDを使用しない場合に設定されたN max は、いずれも3以上である。
第9項では、第7項の方法に応じて、
隣接する行の間の誤差の比較によってN個の参照行を選出するステップは、
前記テンプレート領域外側の現在ブロックに最も近い1つの参照行を選出された1番目の参照行とし、新たに選出された当該参照行とその隣接する参照行とを1つずつ比較し、当該参照行に最も近く、且つ2つの参照行の間の誤差が設定閾値より大きい1つの隣接する参照行を新たに選出された1つの参照行とし、N’個の参照行を比較して選択したまで、このように循環し、前記誤差とは、2つの参照行の再構成値間の誤差を指し、または2つの参照行の再構成値を参照とし、前記テンプレート領域をそれぞれ予測して得られた予測値間の誤差を指す、方式を用いる。
第10項では、第1項または第9項の方法に応じて、前記誤差は、絶対誤差とSADで表され、または誤差変換絶対値とSATDで表される。
第11項では、第1項の方法に応じて、
前記現在ブロックのテンプレート領域は、現在ブロックに最も近い参照行に設置され、または
前記現在ブロックのテンプレート領域は、現在ブロックに最も近い複数の参照行に設置される。
第12項では、ビデオ復号化方法が提供され、当該方法は、
コードストリームにおける現在ブロックのイントラ予測関連構文要素を復号化し、現在ブロックがマルチ参照行MRLの使用を許可する場合、現在ブロックのマルチ参照行インデックスを復号化し続けるステップであって、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスのMRLインデックスリストにおける位置を指示するために用いられるステップと、
復号化結果に応じて、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、第1項から第11項のいずれかに記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
前記マルチ参照行インデックスと現在ブロックに基づいてソートされたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップと、
を含む。
第13項では、第12項の方法に応じて、前記方法は、
復号化結果に応じて、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、前記マルチ参照行インデックスと設定されたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップをさらに含む。
第14項では、第12項の方法に応じて、現在ブロックのMRLインデックスリストのソートを許可する十分条件は、現在ブロックのMRLインデックスリストのソートを許可することを表すフラグを真にすることを含む。
第15項では、第13項の方法に応じて、
現在ブロックが、マルチ参照行MRLを使用しない条件と、
マルチ参照行インデックスが、MRLインデックスリストにおけるソートに参加しない位置を指示する条件と、
現在のフレームが、非輝度フレームである条件と、
現在ブロックが、符号化ツリーユニットCTUの上方境界に位置する条件と、
現在ブロックによって選択されたイントラ予測モードが、指定モードである条件であって、前記指定モードは、平面モード、1つのモードが平面モードであるTIMD融合モード、平均モード、水平角度モード、垂直角度モード、広角度モードのうちの任意の1つまたは複数を含む条件と、
現在ブロックのサイズが、設定条件を満たさない条件と、
現在ブロックの縦横比が、設定条件を満たさない条件と、
現在ブロックがTIMDを使用する場合と現在ブロックがTIMDを使用しない場合のうちの1つである条件と、
のうちの任意の1つまたは複数の条件を、現在ブロックのMRLインデックスリストのソートを許可しない十分条件とする。
第16項では、第12項の方法に応じて、現在ブロックがMRLを使用する場合、前記方法は、
現在ブロックのMRLと同時に使用できる一部の変換モードの構文要素を復号化し、MRLと同時に使用できない一部の変換モードの構文要素をスキップするステップ、及び/または
現在ブロックによって選択されたイントラ予測モードを復号化する過程において、第2最も可能なモードMPMに関連する構文要素の復号化を許可するステップ、
をさらに含む。
第17項では、第12項の方法に応じて、コードストリームにおける現在ブロックのイントラ予測関連構文要素を復号化するステップは、
現在ブロックによって選択されたイントラ予測モードを復号化することにより、現在ブロックのMRLインデックスリストをソートするために用いられるステップを含み、
現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップは、
現在ブロックによって選択された参照行と現在ブロックによって選択されたイントラ予測モードに応じて、現在ブロックに対してイントラ予測を行うステップを含む。
第18項では、第17項の方法に応じて、現在ブロックのマルチ参照行インデックスを復号化するステップは、
現在ブロックがTIMDを使用する場合と、現在ブロックがTIMDを使用しない場合に、異なるMRLインデックスリストに応じて、現在ブロックのマルチ参照行インデックスを復号化するステップを含む。
第19項では、第13項の方法に応じて、現在ブロックがTIMDを使用しないと決定した場合、前記設定されたMRLインデックスリストは{0,1,3,5,7,12}であり、現在ブロックがTIMDを使用すると決定した場合、前記設定されたMRLインデックスリストは{0,1,3}または{0,1,2}である。
第20項では、ビデオ符号化方法が提供され、当該方法は、
現在ブロックに対してイントラ予測を行い、現在ブロックによって選択された参照行を決定するステップと、
現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、第1項から第11項のいずれかに記載の方法に従って、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
現在ブロックによって選択された参照行のインデックスの、現在ブロックに基づいてソートされたMRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップと、
を含む。
第21項では、第20項の方法に応じて、前記方法は、
現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、現在ブロックによって選択された参照行のインデックスの、設定されたMRLインデックスにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップをさらに含む。
第22項では、第20項の方法に応じて、前記方法は、
現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、現在ブロックのMRLインデックスリストのソートを許可することを表すフラグを真にするステップをさらに含む。
第23項では、第21項の方法に応じて、
現在ブロックが、マルチ参照行MRLを使用しない条件と、
現在ブロックによって選択された参照行が、現在ブロックのテンプレート領域に位置する条件と、
現在のフレームが、非輝度フレームである条件と、
現在ブロックが、符号化ツリーユニットCTUの上方境界に位置する条件と、
現在ブロックによって選択されたイントラ予測モードが、指定モードである条件であって、前記指定モードは、平面モード、1つのモードが平面モードであるTIMD融合モード、平均モード、水平角度モード、垂直角度モード、広角度モードのうちの任意の1つまたは複数を含む条件と、
現在ブロックのサイズが、設定条件を満たさない条件と、
現在ブロックの縦横比が、設定条件を満たさない条件と、
現在ブロックがTIMDを使用する場合と現在ブロックがTIMDを使用しない場合のうちの1つである条件と、
現在ブロックのMRLインデックスリストのソートを許可しない条件がいずれも成立しない場合、現在ブロックのMRLインデックスリストのソートを許可すると決定する条件と、
のうちの任意の1つまたは複数の条件を、現在ブロックのMRLインデックスリストのソートを許可しない十分条件とする。
第24項では、第20項の方法に応じて、前記方法は、
現在ブロックのマルチ参照行インデックスを決定して符号化するステップは、
現在ブロックがTIMDを使用する場合、現在ブロックによって選択された参照行のインデックスの、第1MRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップと、
現在ブロックがTIMDを使用しない場合、現在ブロックによって選択された参照行のインデックスの、第2MRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップであって、前記第2MRLインデックスリストの長さは、前記第1MRLインデックスリストの長さ以上であるステップと、を含むステップ、
をさらに含む。
第25項では、第20項の方法に応じて、現在ブロックがMRLを使用する場合、前記方法は、
現在ブロックのMRLと同時に使用できる一部の変換モードの構文要素を符号化し、MRLと同時に使用できない一部の変換モードの符号化をスキップするステップをさらに含む。
第26項では、第20項の方法に応じて、現在ブロックがMRLを使用し、且つ現在ブロックによって選択されたモードが非TIMDモードである場合、前記方法は、
前記マルチ参照行インデックスを符号化した後、現在ブロックによって選択されたイントラ予測モードを符号化し続け、且つ現在ブロックによって選択されたイントラ予測モードを符号化する過程において、第2MPMに関連する構文要素の符号化を許可するステップをさらに含む。
第27項では、第20項の方法に応じて、第1項から第11項のいずれかに記載の方法に従って、現在ブロックのMRLインデックスリストをソートする前に、前記方法は、
現在ブロックによって選択されたイントラ予測モードを決定するステップをさらに含む。
第28項では、コードストリームが提供され、前記コードストリームには、現在ブロックのマルチ参照行インデックスが含まれ、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスの、MRLインデックスリストにおける位置を指示するために用いられ、前記MRLインデックスリストは、現在ブロックに基づいてソートされたMRLインデックスリスト、または設定されたMRLインデックスリストである。
第29項では、第28項の方法に応じて、前記コードストリームは、第20項から第27項のいずれかに記載のビデオ符号化方法によって生成される。
第30項では、マルチ参照行インデックスリストソート装置が提供され、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、第1項から第11項のいずれかに記載のマルチ参照行インデックスリストソート方法を実現する。
第31項では、ビデオ復号化装置が提供され、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、第12項から第19項のいずれかに記載のビデオ復号化方法を実現する。
第32項では、ビデオ符号化装置が提供され、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、第20項から第27項のいずれかに記載のビデオ符号化方法を実現する。
第33項では、ビデオ符号化・復号化システムが提供され、第32項に記載のビデオ符号化装置と、第31項に記載のビデオ復号化装置とを備える。
第34項では、コンピュータ可読記憶媒体が提供され、コンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサによって実行されると、第1項から第11項のいずれかに記載のマルチ参照行インデックスリストソート方法を実現するか、または、第12項から第19項のいずれかに記載のビデオ復号化方法を実現するか、または、第20項から第27項のいずれかに記載のビデオ符号化方法を実現する。
【0208】
上記の1つまたは複数の例示的な実施例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのいずれかの組み合わせで実行してもよい。ソフトウェアで実現される場合、機能は1つまたは複数の命令またはコードとして、コンピュータ可読媒体に記憶されてもよく、または、コンピュータ可読媒体を介して伝送され、且つハードウェアに基づく処理ユニットによって実行されてもよい。コンピュータ可読媒体は、例えばデータ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含んでもよく、または、コンピュータプログラム、例えば通信プロトコルに応じて、ある場所から別の場所への伝送を容易にする任意の媒体などの通信媒体を含んでもよい。このように、コンピュータ可読媒体は、通常、非一時的な有形コンピュータ可読記憶媒体、または、信号またはキャリアなどの通信媒体に対応してもよい。データ記憶媒体が、1つまたは複数のコンピュータ、または1つまたは複数のプロセッサにより記憶及び呼び出しされることにより、本開示に記載の技術的命令、コード、及び/またはデータ構造を実現するための任意の使用可能な媒体であってもよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
【0209】
例えば、このようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、フラッシュメモリまたは所望のプログラムコードを命令またはデータ構造の形式で記憶でき、且つコンピュータによってアクセス可能な任意の他の媒体を含んでもよいが、それに限定されるものではない。また、任意の接続をコンピュータ可読媒体と呼んでもよく、例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、及びマイクロ波などの無線技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースから命令を伝送する場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、マイクロ波などの無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体が、接続、キャリア、信号、または他の揮発性(volatile)的媒体を含まず、非揮発性有形記憶媒体に対するものであることは、理解すべきである。本明細書で使用されたように、磁気ディスク及び光ディスクは、コンパクトディスク(CD)、レーザディスク、光学ディスク、デジタル多機能ディスク(DVD)、フロッピーディスクまたはブルーレイディスクなどを含み、ここで、磁気ディスクは通常磁気的にデータを再生し、光ディスクはレーザを用いて光学的にデータを再生する。上述の組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0210】
例えば、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはその他の同等の集積またはディスクリート論理回路などの1つまたは複数のプロセッサによって、命令を実行してもよい。そのため、本明細書で使用される「プロセッサ」という用語は、上記構造、または本明細書に記載の技術を実装するのに適したいずれかの他の構造のうちのいずれかを指してもよい。また、幾つかの態様では、本明細書に記載の機能は、符号化及び復号化のために構成された専用ハードウェア及び/またはソフトウェアモジュール内に提供されてもよく、またはパッケージ型コーデックに組み込まれてもよい。さらに、前記技術は、1つまたは複数の回路または論理素子に完全に実装されてもよい。
【0211】
本開示の実施例の技術方案は、無線携帯電話、集積回路(IC)、または1セットのIC(例えば、チップセット)を含む多種の装置またはデバイスに実現されてもよい。本開示の実施例では、各種のアセンブリ、モジュール、またはユニットが記載されたが、構成によって記載の技術を実行する装置の機能方面を強調するが、必ずしも異なるハードウェアユニットによって実現される必要はない。むしろ、上記のように、各種のユニットは、コーデックハードウェアユニットに組み合わされてもよく、または相互操作ハードウェアユニット(上記の1つまたは複数のプロセッサを含む)の集合と適切なソフトウェア及び/またはファームウェアとの結びつけによって提供されてもよい。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コードストリームにおける現在ブロックのイントラ予測関連構文要素を復号化し、現在ブロックがマルチ参照行MRLの使用を許可する場合、現在ブロックのマルチ参照行インデックスを復号化し続けるステップであって、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスのMRLインデックスリストにおける位置を指示するために用いられるステップと、
復号化結果に応じて、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
前記マルチ参照行インデックスと現在ブロックに基づいてソートされたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップと、
を含
現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップは、
前記現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、前記テンプレート領域をそれぞれ予測し、前記テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算するステップと、
前記誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのマルチ参照行MRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
を含む、
ビデオ復号化方法。
【請求項2】
現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、テンプレート領域をそれぞれ予測するステップは、
前記少なくとも一部の参照行のうちの各参照行に対して、当該参照行の再構成値と現在ブロックによって選択されたイントラ予測モードを使用し、前記テンプレット領域を予測するステップを含む、
請求項1に記載の方法。
【請求項3】
前記現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行は、
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうちの奇数行、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうちの偶数行、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうち、隣接する行の間の誤差の比較によって選出されたN個の参照行、N≦N’、または
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行のうち、指定されたN個の参照行、
を含み、
N’≦N max であり、N max はソートの参加を許可する参照行の最大数である、
請求項1に記載の方法。
【請求項4】
前記テンプレート領域外側の現在ブロックに最も近いN’個の参照行は、現在ブロックが位置する符号化ツリーユニットCTUの上方境界を超えない参照行である、
請求項3に記載の方法。
【請求項5】
前記誤差は、絶対誤差とSADで表され、または誤差変換絶対値とSATDで表される、
請求項1に記載の方法。
【請求項6】
前記現在ブロックのテンプレート領域は、現在ブロックに最も近い1つの参照行に設置され、または
前記現在ブロックのテンプレート領域は、現在ブロックに最も近い複数の参照行に設置される、
請求項1に記載の方法。
【請求項7】
前記方法は、復号化結果に応じて、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、前記マルチ参照行インデックスと設定されたMRLインデックスリストに応じて、現在ブロックによって選択された参照行を決定し、現在ブロックによって選択された参照行に応じて、現在ブロックに対してイントラ予測を行うステップをさらに含む、
請求項に記載の方法。
【請求項8】
現在ブロックのMRLインデックスリストのソートを許可する十分条件は、現在ブロックのMRLインデックスリストのソートを許可することを表すフラグを真にすることを含む、
請求項に記載の方法。
【請求項9】
現在ブロックが、マルチ参照行MRLを使用しない条件と、
マルチ参照行インデックスが、MRLインデックスリストにおけるソートに参加しない位置を指示する条件と、
現在のフレームが、非輝度フレームである条件と、
現在ブロックが、CTUの上方境界に位置する条件と、
現在ブロックによって選択されたイントラ予測モードが、指定モードである条件であって、前記指定モードは、平面モード、1つのモードが平面モードであるTIMD融合モード、平均モード、水平角度モード、垂直角度モード、広角度モードのうちの任意の1つまたは複数を含む条件と、
現在ブロックのサイズが、設定条件を満たさない条件と、
現在ブロックの縦横比が、設定条件を満たさない条件と、
現在ブロックがTIMDを使用する場合と現在ブロックがTIMDを使用しない場合のうちの1つである条件と、
のうちの任意の1つまたは複数の条件を、現在ブロックのMRLインデックスリストのソートを許可しない十分条件とする、
請求項に記載の方法。
【請求項10】
現在ブロックに対してイントラ予測を行い、現在ブロックによって選択された参照行を決定するステップと、
現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、現在ブロクのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
現在ブロックによって選択された参照行のインデックスの、現在ブロックに基づいてソートされたMRLインデックスリストにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップと、
を含
現在ブロックのMRLインデックスリストをソートし、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップは、
前記現在ブロックのテンプレート領域外側に位置する少なくとも一部の参照行に応じて、前記テンプレート領域をそれぞれ予測し、前記テンプレート領域の再構成値と予測して得られた予測値との間の誤差を計算するステップと、
前記誤差の小さい方から大きい方への順に従って、前記誤差に対応する参照行のインデックスを現在ブロックのマルチ参照行MRLインデックスリストに埋め込み、現在ブロックに基づいてソートされたMRLインデックスリストを得るステップと、
を含む、
ビデオ符号化方法。
【請求項11】
前記方法は、現在ブロックのMRLインデックスリストのソートを許可しないと決定した場合、現在ブロックによって選択された参照行のインデックスの、設定されたMRLインデックスにおける位置に応じて、現在ブロックのマルチ参照行インデックスを決定して符号化するステップをさらに含む、
請求項10に記載の方法。
【請求項12】
前記方法は、現在ブロックのMRLインデックスリストのソートを許可すると決定した場合、現在ブロックのMRLインデックスリストのソートを許可することを表すフラグを真にするステップをさらに含む、
請求項10に記載の方法。
【請求項13】
コードストリームであって、
前記コードストリームには、現在ブロックのマルチ参照行インデックスが含まれ、前記マルチ参照行インデックスは、現在ブロックによって選択された参照行のインデックスの、MRLインデックスリストにおける位置を指示するために用いられ、前記MRLインデックスリストは、現在ブロックに基づいてソートされたMRLインデックスリスト、または設定されたMRLインデックスリストである、
コードストリーム。
【請求項14】
ビデオ復号化装置であって、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、請求項からのいずれかに記載のビデオ復号化方法を実現する、
ビデオ復号化装置。
【請求項15】
ビデオ符号化装置であって、プロセッサと、コンピュータプログラムが記憶されたメモリとを備え、前記プロセッサは、前記コンピュータプログラムを実行すると、請求項10から12のいずれかに記載のビデオ符号化方法を実現する、
ビデオ符号化装置。
【国際調査報告】