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

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

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

特許7596319画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体
<>
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図1
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図2
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図3
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図4A
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図4B
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図5A
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図5B
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図5C
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図6A
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図6B
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図7
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図8
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図9
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図10
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図11
  • 特許-画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-29
(45)【発行日】2024-12-09
(54)【発明の名称】画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体
(51)【国際特許分類】
   H04N 19/105 20140101AFI20241202BHJP
   H04N 19/11 20140101ALI20241202BHJP
   H04N 19/157 20140101ALI20241202BHJP
   H04N 19/176 20140101ALI20241202BHJP
【FI】
H04N19/105
H04N19/11
H04N19/157
H04N19/176
【請求項の数】 16
(21)【出願番号】P 2021578050
(86)(22)【出願日】2019-12-19
(65)【公表番号】
(43)【公表日】2023-03-15
(86)【国際出願番号】 CN2019126710
(87)【国際公開番号】W WO2021120122
(87)【国際公開日】2021-06-24
【審査請求日】2022-11-21
【前置審査】
(73)【特許権者】
【識別番号】516227559
【氏名又は名称】オッポ広東移動通信有限公司
【氏名又は名称原語表記】GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
【住所又は居所原語表記】No. 18 Haibin Road,Wusha, Chang’an,Dongguan, Guangdong 523860 China
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【弁理士】
【氏名又は名称】吉田 昌司
(74)【代理人】
【識別番号】100137523
【弁理士】
【氏名又は名称】出口 智也
(72)【発明者】
【氏名】ワン、シューアイ
(72)【発明者】
【氏名】マー、イェンチュオ
(72)【発明者】
【氏名】フオ、チュンイェン
(72)【発明者】
【氏名】ワン、ハイシン
(72)【発明者】
【氏名】ヤン、フーチョン
【審査官】田中 純一
(56)【参考文献】
【文献】特開2021-048485(JP,A)
【文献】米国特許出願公開第2023/0164327(US,A1)
【文献】Benjamin Bross, et al.,Versatile Video Coding (Draft 7),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: Geneva, CH, 1-11 Oct. 2019,JVET-P2001-vE,2019年10月12日,pp.i-v,pp.1-464,https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v14.zip JVET-P2001-vE.docx
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
エンコーダに適用される画像コンポーネント予測方法であって、
現在ブロックの隣接参照サンプル集合を決定し、前記現在ブロックに対応する予め設定されたパラメータ値を決定することであって、前記隣接参照サンプル集合は、少なくとも1つの参照サンプルを含む、ことと、
前記隣接参照サンプル集合及び前記予め設定されたパラメータ値に基づいて、入力参照サンプル集合を作成することと、
前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定することと、
前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得することと、を含み、
前記隣接参照サンプル集合及び前記予め設定されたパラメータ値に基づいて、入力参照サンプル集合を作成することは、
前記隣接参照サンプル集合をバッファリングして、初期入力参照サンプル集合を取得することと、
前記初期入力参照サンプル集合の後の1つのデータユニットを用いて、前記予め設定されたパラメータ値をバッファリングして、前記入力参照サンプル集合を取得することと、を含む、前記画像コンポーネント予測方法。
【請求項2】
前記現在ブロックの隣接参照サンプル集合を決定することは、
前記現在ブロックの少なくとも1つの辺に隣接する参照画素を取得することであって、前記現在ブロックの少なくとも1つの辺は、上辺、右上辺、左辺及び左下辺のうちの少なくとも1つを含む、ことと、
前記現在ブロックの少なくとも1つの辺に隣接する参照画素に対して第1フィルタリング処理を実行して、前記少なくとも1つの辺に隣接する参照サンプルを決定することと、
決定された参照サンプルに従って、前記現在ブロックの隣接参照サンプル集合を構成することと、を含み、
前記第1フィルタリング処理は、ダウンサンプリングフィルタリング処理又は低域通過フィルタリング処理を含む、
請求項1に記載の画像コンポーネント予測方法。
【請求項3】
前記現在ブロックに対応する予め設定されたパラメータ値を決定することは、
前記現在ブロックの予測対象となる画像コンポーネントに対応するビット深度値を取得することと、
1をバイナリ値に変換し、前記ビット深度値から1桁のバイナリ値を引いた値だけ前記バイナリ値をシフトして、前記予め設定されたパラメータ値を取得することと、を含む、
請求項1に記載の画像コンポーネント予測方法。
【請求項4】
前記隣接参照サンプル集合をバッファリングして、初期入力参照サンプル集合を取得することは、
レート歪み最適化(RDO:Rate Distortion Optimization)方式を用いて、転置処理指示フラグの値を決定することと、
前記転置処理指示フラグの値が0である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの前に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファを前記初期入力参照サンプル集合として決定するか、又は、
前記転置処理指示フラグの値が1である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの後に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファに対して転置処理を実行し、転置後のバッファを前記初期入力参照サンプル集合として決定することと、を含む、
請求項に記載の画像コンポーネント予測方法。
【請求項5】
前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定することは、
前記入力参照サンプル集合のi+1番目(iは、0より大きいか等しい且つNより小さい正の整数である)の位置に対応するサンプル及び0番目の位置に対応するサンプルに従って、第1予め設定された計算モデルを用いて減算演算を実行して、i番目の入力サンプルを取得することであって、前記減算演算の被減数は、参照サンプル集合のi+1番目の位置に対応するサンプルに等しくなるように設定され、前記減算演算の減数は、前記参照サンプル集合の0番目の位置に対応するサンプルと等しくなるように設定され、Nは、前記入力サンプル行列に含まれる要素の数を表す、ことと、
計算によって得られたN個の入力サンプルに従って、前記入力サンプル行列を構成することと、を含む、
請求項1に記載の画像コンポーネント予測方法。
【請求項6】
前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得することは、
前記入力サンプル行列に従って、前記現在ブロックのMIP(Matrix-based Intra Prediction)予測ブロックを取得することであって、前記MIP予測ブロックは、前記現在ブロックの少なくとも一部の画素位置の予測サンプルを含む、ことと、
前記MIP予測ブロックの幅と高さのいずれかが前記現在ブロックと異なる場合、前記MIP予測ブロックに対して第2フィルタリング処理を実行して、前記現在ブロックの予測ブロックを取得し、又は、
前記MIP予測ブロックの幅と高さの両方が前記現在ブロックと同じである場合、前記現在ブロックの予測ブロックを前記MIP予測ブロックと等しくなるように設定することであって、前記予測ブロックは、前記現在ブロックの全ての画素位置の予測サンプルを含む、ことと、を含み、
前記入力サンプル行列に従って、前記現在ブロックのMIP予測ブロックを取得することは、
前記現在ブロックに対応する重み行列、シフト因子及びオフセット因子を取得することと、
第2予め設定された計算モデルを用いて、前記入力サンプル行列、前記重み行列、前記シフト因子及び前記オフセット因子に対して行列乘算処理を実行して、前記MIP予測ブロックを計算することと、
前記MIP予測ブロックの予測サンプルに対してクリッピング処理を実行して、前記現在ブロックのMIP予測ブロックを取得することを含む、を含む、
請求項1ないしのいずれか一項に記載の画像コンポーネント予測方法。
【請求項7】
前記入力サンプル行列に従って、前記現在ブロックのMIP予測ブロックを取得することは、
レート歪み最適化(RDO)方式を用いて、転置処理が前記MIP予測ブロックで実行されるときの第1コスト値と、転置処理が前記MIP予測ブロックで実行されないときの第2コスト値をそれぞれ計算することと、
前記第1コスト値が前記第2コスト値より小さい場合、前記MIP予測ブロックに対して転置処理を実行すると決定し、転置後のMIPブロックを現在ブロックのMIPブロックとして決定し、又は、
前記第1コスト値が前記第2コスト値以上である場合、前記MIP予測ブロックに対して転置処理を実行しないと決定することと、を含む、
請求項に記載の画像コンポーネント予測方法。
【請求項8】
前記第2フィルタリング処理は、アップサンプリングフィルタリング処理又は低域通過フィルタリング処理を含み、
前記第2フィルタリング処理がアップサンプリングフィルタリング処理である場合、前記画像コンポーネント予測方法は、
前記現在ブロックに対応する水平アップサンプリング因子及び垂直アップサンプリング因子を決定することと、
前記MIP予測ブロック、前記水平アップサンプリング因子、及び前記垂直アップサンプリング因子に従って、第3予め設定された計算モデルを用いて前記現在ブロックの充填対象となる画素位置の予測値を決定して、前記現在ブロックの予測ブロックを取得することであって、前記充填対象となる画素位置は、前記現在ブロック内の、前記MIP予測ブロックの画素位置とは異なる画素位置である、ことと、を更に含む、
請求項に記載の画像コンポーネント予測方法。
【請求項9】
デコーダに適用される画像コンポーネント予測方法であって、
現在ブロックの隣接参照サンプル集合を決定し、前記現在ブロックに対応する予め設定されたパラメータ値を決定することであって、前記隣接参照サンプル集合は、少なくとも1つの参照サンプルを含む、ことと、
前記隣接参照サンプル集合及び前記予め設定されたパラメータ値に基づいて、入力参照サンプル集合を作成することと、
前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定することと、
前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得することと、を含み、
前記隣接参照サンプル集合及び前記予め設定されたパラメータ値に基づいて、入力参照サンプル集合を作成することは、
前記隣接参照サンプル集合をバッファリングして、初期入力参照サンプル集合を取得することと、
前記初期入力参照サンプル集合の後の1つのデータユニットを用いて、前記予め設定されたパラメータ値をバッファリングして、前記入力参照サンプル集合を取得することと、を含む、前記画像コンポーネント予測方法。
【請求項10】
前記現在ブロックの隣接参照サンプル集合を決定することは、
前記現在ブロックの少なくとも1つの辺に隣接する参照画素を取得することであって、前記現在ブロックの少なくとも1つの辺は、上辺、右上辺、左辺及び左下辺のうちの少なくとも1つを含む、ことと、
前記現在ブロックの少なくとも1つの辺に隣接する参照画素に対して第1フィルタリング処理を実行して、前記少なくとも1つの辺に隣接する参照サンプルを決定することと、
決定された参照サンプルに従って、前記現在ブロックの隣接参照サンプル集合を構成することと、を含み、
前記第1フィルタリング処理は、ダウンサンプリングフィルタリング処理又は低域通過フィルタリング処理を含む、
請求項に記載の画像コンポーネント予測方法。
【請求項11】
前記現在ブロックに対応する予め設定されたパラメータ値を決定することは、
前記現在ブロックの予測対象となる画像コンポーネントに対応するビット深度値を取得することと、
1をバイナリ値に変換し、前記バイナリ値の前記ビット深度値から1桁のバイナリ値を引いた値だけ前記バイナリ値をシフトして、前記予め設定されたパラメータ値を取得することと、を含む、
請求項に記載の画像コンポーネント予測方法。
【請求項12】
前記隣接参照サンプル集合をバッファリングして、初期入力参照サンプル集合を取得することは、
ビットストリームを解析して、転置処理指示フラグの値を取得することと、
前記転置処理指示フラグの値が0である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの前に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファを前記初期入力参照サンプル集合として決定するか、又は、
前記転置処理指示フラグの値が1である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの後に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファに対して転置処理を実行し、転置後のバッファを前記初期入力参照サンプル集合として決定することと、を含む、
請求項に記載の画像コンポーネント予測方法。
【請求項13】
前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定することは、
前記入力参照サンプル集合のi+1番目(iは、0より大きいか等しい且つNより小さい正の整数である)の位置に対応するサンプル及び0番目の位置に対応するサンプルに従って、第1予め設定された計算モデルを用いて減算演算を実行して、i番目の入力サンプルを取得することであって、前記減算演算の被減数は、参照サンプル集合のi+1番目の位置に対応するサンプルに等しくなるように設定され、前記減算演算の減数は、前記参照サンプル集合の0番目の位置に対応するサンプルと等しくなるように設定され、Nは、前記入力サンプル行列に含まれる要素の数を表す、ことと、
計算によって得られたN個の入力サンプルに従って、前記入力サンプル行列を構成することと、を含む、
請求項に記載の画像コンポーネント予測方法。
【請求項14】
前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得することは、
前記入力サンプル行列に従って、前記現在ブロックのMIP予測ブロックを取得することであって、前記MIP予測ブロックは、前記現在ブロックの少なくとも一部の画素位置の予測サンプルを含む、ことと、
前記MIP予測ブロックの幅と高さのいずれかが前記現在ブロックと異なる場合、前記MIP予測ブロックに対して第2フィルタリング処理を実行して、前記現在ブロックの予測ブロックを取得し、又は、
前記MIP予測ブロックの幅と高さの両方が前記現在ブロックと同じである場合、前記現在ブロックの予測ブロックを前記MIP予測ブロックと等しくなるように設定することであって、前記予測ブロックは、前記現在ブロックの全ての画素位置の予測サンプルを含む、ことと、を含み、
前記入力サンプル行列に従って、前記現在ブロックのMIP予測ブロックを取得することは、
前記現在ブロックに対応する重み行列、シフト因子及びオフセット因子を取得することと、
第2予め設定された計算モデルを用いて、前記入力サンプル行列、前記重み行列、前記シフト因子及び前記オフセット因子に対して行列乘算処理を実行して、前記MIP予測ブロックを計算することと、
前記MIP予測ブロックの予測サンプルに対してクリッピング処理を実行して、前記現在ブロックのMIP予測ブロックを取得することを含む、を含む、
請求項ないし13のいずれか一項に記載の画像コンポーネント予測方法。
【請求項15】
前記入力サンプル行列に従って、前記現在ブロックのMIP予測ブロックを取得することは、
ビットストリームを解析して、転置処理指示フラグの値を取得することと、
前記転置処理指示フラグの値に従って、前記MIP予測ブロックに対して転置処理を実行するかどうかを判断することと、
判断結果が「はい」である場合、前記MIP予測ブロックの予測サンプルに対して転置処理を実行し、転置後のMIP予測ブロックを、前記現在ブロックのMIP予測ブロックとして決定することと、を含む、
請求項14に記載の画像コンポーネント予測方法。
【請求項16】
前記第2フィルタリング処理は、アップサンプリングフィルタリング処理又は低域通過フィルタリング処理を含み、
前記第2フィルタリング処理がアップサンプリングフィルタリング処理である場合、前記画像コンポーネント予測方法は、
前記現在ブロックに対応する水平アップサンプリング因子及び垂直アップサンプリング因子を決定することと、
前記MIP予測ブロック、前記水平アップサンプリング因子及び前記垂直アップサンプリング因子に従って、第3予め設定された計算モデルを用いて前記現在ブロックの充填対象となる画素位置の予測値を決定して、前記現在ブロックの予測ブロックを取得することであって、前記充填対象となる画素位置は、前記現在ブロック内の、前記MIP予測ブロックの画素位置とは異なる画素位置である、ことと、を更に含む、
請求項14に記載の画像コンポーネント予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願実施例は、画像処理技術分野に関し、特に、画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体に関する。
【背景技術】
【0002】
ビデオ表示品質に対する人々の要求が高まることに伴い、高解像度および超高解像度ビデオなどの新しいビデオの応用形式が現れている。H.265/高効率ビデオ符号化(HEVC:High Efficiency Video Coding)は、ビデオアプリケーションの急速な開発のニーズを満たすことができなくなり、合同ビデオ探査チーム(JVET:Joint Video Exploration Team)は、次世代のビデオコーディング標準H.266又は多機能ビデオコーディング(VVC:Versatile Video Coding)を提案しており、それに対応するテストモデルは、VVCテストモデル(VTM:VVC Test Model)などのVVC参照ソフトウェアテストプラットフォームである。
【0003】
H.266/VVCでは、現在、行列ベースのイントラ予測(MIP:Matrix-based Intra Prediction)技術が採用されている。該技術によれば、様々な種類のイントラ輝度ブロックのために、様々な数のMIP予測モードをイントラ輝度予測プロセスに追加する。MIP予測プロセスにおいて、導出プロセスは輝度ブロックの種類にも関連付けられているため、導出プロセスが煩雑であり、並列処理に適さず、逆に、複雑さを増加する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願実施例は、行列乘算のための入力サンプルの導出プロセスを簡略化し、計算の複雑さを低減することができる、画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体を提供する。
【課題を解決するための手段】
【0005】
本願実施例の技術的解決策は、以下のように実現することができる。
【0006】
第1態様によれば、本願実施例は、エンコーダに適用される画像コンポーネント予測方法を提供し、当該方法は、
現在ブロックの隣接参照サンプル集合を決定し、前記現在ブロックに対応する予め設定されたサンプルを決定することであって、前記隣接参照サンプル集合は、少なくとも1つの参照サンプルを含む、ことと、
前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成することと、
前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定することと、
前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得することと、を含む。
【0007】
第2態様によれば、本願実施例は、デコーダに適用される画像コンポーネント予測方法を提供し、当該方法は、
現在ブロックの隣接参照サンプル集合を決定し、前記現在ブロックに対応する予め設定されたサンプルを決定することであって、前記隣接参照サンプル集合は、少なくとも1つの参照サンプルを含む、ことと、
前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成することと、
前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定することと、
前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得することと、を含む。
【0008】
第3態様によれば、本願実施例は、エンコーダを提供し、当該エンコーダは、第1決定ユニットと、第1バッファユニットと、第1予測ユニットと、を備え、ここで、
第1決定ユニットは、現在ブロックの隣接参照サンプル集合を決定し、現在ブロックに対応する予め設定されたパラメータ値を決定するように構成され、ここで、隣接参照サンプル集合は、少なくとも1つの参照サンプルを含み、
第1バッファユニットは、前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成するように構成され、
第1決定ユニットは更に、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定するように構成され、
第1予測ユニットは、前記入力サンプル行列に従って現在ブロックに対して画像コンポーネント予測を実行して、現在ブロックの予測ブロックを取得するように構成される。
【0009】
第4態様によれば、本願実施例は、エンコーダを提供し、当該エンコーダは、第1メモリ及び第1プロセッサを備え、ここで、
第1メモリは、第1プロセッサで実行可能なコンピュータプログラムを記憶するように構成され、
第1プロセッサは、前記コンピュータプログラムを実行するときに、第1態様に記載の方法を実行するように構成される。
【0010】
第5態様によれば、本願実施例は、デコーダを提供し、当該デコーダは、第2決定ユニットと、第2バッファユニットと、第2予測ユニットと、を備え、ここで、
第2決定ユニットは、現在ブロックの隣接参照サンプル集合を決定し、現在ブロックに対応する予め設定されたパラメータ値を決定するように構成され、ここで、隣接参照サンプル集合は、少なくとも1つの参照サンプルを含み、
第2バッファユニットは、前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成するように構成され、
第2決定ユニットは更に、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定するように構成され、
第2予測ユニットは、前記入力サンプル行列に従って現在ブロックに対して画像コンポーネント予測を実行して、現在ブロックの予測ブロックを取得するように構成される。
【0011】
第6態様によれば、本願実施例は、デコーダを提供し、当該デコーダは、第2メモリ及び第2プロセッサを備え、ここで、
第2のメモリは、第2のプロセッサ上で実行可能なコンピュータプログラムを記憶するように構成され、
第2プロセッサは、前記コンピュータプログラムを実行するときに、第2態様に記載の方法を実行するように構成される。
【0012】
第7態様によれば、本願実施例は、コンピュータ記憶媒体を提供し、当該コンピュータ記憶媒体には、画像コンポーネント予測プログラムが記憶されており、前記画像コンポーネント予測プログラムは、第1プロセッサによって実行されるときに、第1態様に記載の方法を実現し、又は、第2プロセッサによって実行されるときに、第2態様に記載の方法を実現する。
【発明の効果】
【0013】
本願実施例は、画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体を提供する。本願の技術的解決策によれば、現在ブロックの隣接参照サンプル集合を決定し、現在ブロックに対応する予め設定されたパラメータ値を決定し、隣接参照サンプル集合及び予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成し、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定し、入力サンプル行列に従って現在ブロックに対して画像コンポーネント予測を実行して、現在ブロックの予測ブロックを取得する。このように、本願実施例に係る技術的解決策は、現在ブロックの種類を判断する必要がないため、計算の複雑さを低減し、ハードウェアの実装が容易になる。さらに、入力参照サンプル集合及び第1予め設定された計算モデルに従って入力サンプル行列を決定することができるため、行列乘算のための入力サンプルの導出プロセスが簡略化され、これによって、入力サンプル行列の導出プロセスが統一され、更に、本願実施例の技術的解決策は、現在ブロックの種類に依存せず、並列処理を実現することができため、計算の複雑さを低減することもできる。
【図面の簡単な説明】
【0014】
図1】本願実施例に係るビデオ符号化システムの構成ブロック図である。
図2】本願実施例に係るビデオ復号化システムの構成ブロック図である。
図3】本願実施例に係る画像コンポーネント予測方法の例示的なフローチャートである。
図4A】本願実施例に係る参照画素位置の概略構造図である。
図4B】本願実施例に係る参照画素ダウンサンプリング処理の概略構造図である。
図5A】関連する技術的解決策に係るバッファ充填の概略構造図である。
図5B】関連する技術的解決策に係る別のバッファ充填の概略構造図である。
図5C】本願実施例に係るバッファ充填の概略構造図である。
図6A】関連する技術的解決策に係る、入力サンプルを決定することを示す概略構造図である。
図6B】本願実施例に係る、入力サンプルを決定することを示す別の概略構造図である。
図7】本願実施例に係る別の画像コンポーネント予測方法の例示的なフローチャートである。
図8】本願実施例に係る、予測値を生成することを示す概略構造図である。
図9】本願実施例に係るエンコーダの構成の概略構造図である。
図10】本願実施例に係るエンコーダの特定のハードウェア構造図である。
図11】本願実施例に係るデコーダの構成の概略構造図である。
図12】本願実施例に係るデコーダの特定のハードウェア構造図である。
【発明を実施するための形態】
【0015】
本願実施例の特徴および技術内容をより詳細に理解するために、以下、図面を参照して本願実施例の具現を詳細に説明し、添付の図面は、例示のみを目的として、本願実施例を限定することを意図するものではない。
【0016】
ビデオ画像では、通常、第1画像コンポーネント、第2画像コンポーネント及び第3画像コンポーネントを用いて符号化ブロック(CB:Coding Block)を表し、ここで、当該3つの画像コンポーネントは、それぞれ、1つの輝度コンポーネント、1つの青い色度コンポーネント及び1つの赤い色度コンポーネントであり、具体的には、輝度コンポーネントは通常記号Yで表され、青い色度コンポーネントは通常記号Cb又はUで表され、赤い色度コンポーネントは通常記号Cr又はVで表され、このように、ビデオ画像は、YCbCrフォーマットで表されてもよく、YUVフォーマットで表されてもよい。
【0017】
本願実施例において、第1画像コンポーネントは、輝度コンポーネントであってもよく、第2画像コンポーネントは、青い色度コンポーネントであってもよく、第3画像コンポーネントは、赤い色度コンポーネントであってもよいが、本願実施例はこれらに対して特に限定しない。
【0018】
MIP技術では、MIPによって予測される入力データは、現在ブロックの上の行の参照画素及び左の列の参照画素、現在ブロックに適用されるMIP予測モード(modeIdで表すことができる)、現在ブロックの幅と高さ情報及びそれが置換される必要があるか否かなどの情報を含み得、MIPによって予測される出力データは、現在ブロックの予測値を含み得る。ここで、MIP予測プロセスは、具体的には、MIPコアパラメータの構成、参照画素の取得、入力サンプルの作成、及び予測値の生成の4つのステップを含むことができる。この4つのステップを実行することで、現在ブロックの予測値を取得することができる。
【0019】
しかしながら、MIP予測プロセスにおいて、入力サンプルを作成するステップの場合、当該ステップは輝度ブロックの種類(mipSizeIdで表すことができる)と強い相関関係を有し、つまり輝度ブロックの種類が異なることによって、異なる入力サンプル導出方式を用いて入力サンプル行列を取得するため、導出プロセスが煩雑であり、特に、輝度ブロックの種類(mipSizeId)が0又は1である場合、入力サンプル行列のp[0]及びp[x]の導出方式は異なるため、並列処理に適さない。さらに、輝度ブロックの様々な種類に伴い、イントラ輝度予測プロセスで様々な数のMIP予測モードが追加され、各MIP予測モードに対して輝度予測を実行する場合、各MIP予測モードについて、それぞれ輝度ブロックの種類の判断を一度実行する必要があるため、複雑さも増加する。
【0020】
本願実施例は、画像コンポーネント予測方法を提供し、本願の技術的解決策によれば、現在ブロックの隣接参照サンプル集合を決定し、現在ブロックに対応する予め設定されたパラメータ値を決定し、ここで、隣接参照サンプル集合は、少なくとも1つの参照サンプルを含み、隣接参照サンプル集合及び予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成した後、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定し、入力サンプル行列に従って現在ブロックに対して画像コンポーネント予測を実行して、現在ブロックの予測ブロックを取得する。このように、本願実施例に係る技術的解決策は、現在ブロックの種類を判断する必要がないため、計算の複雑さを低減し、ハードウェアの実装が容易になる。さらに、入力参照サンプル集合及び第1予め設定された計算モデルに従って入力サンプル行列を決定することができるため、行列乘算のための入力サンプルの導出プロセスが簡略化され、これによって、入力サンプル行列の導出プロセスが統一され、更に、本願実施例の技術的解決策は、現在ブロックの種類に依存せず、並列処理を実現することができるため、計算の複雑さを低減することもできる。
【0021】
以下では、図面を参照して本願の各実施例を詳細に説明する。
【0022】
図1を参照すると、本願実施例に係るビデオ符号化システムの構成の例示的なブロック図を示し、図1に示されたように、当該ビデオ符号化システム100は、変換及び量子化ユニット101、イントラ推定ユニット102、イントラ予測ユニット103、動き補償ユニット104、動き推定ユニット105、逆変換及び逆量子化ユニット106、フィルタ制御分析ユニット107、フィルタリングユニット108、符号化ユニット109及び復号化画像バッファユニット110などを備え、ここで、フィルタリングユニット108は、デブロッキングフィルタリング及びサンプル適応オフセット(SAO:Sample Adaptive 0ffset)フィルタリングを実現することができ、符号化ユニット109は、ヘッダ情報符号化及びコンテキスト適応型二値算術復号化(CABAC:Context-based Adaptive Binary Arithmatic Coding)を実現することができる。入力された元のビデオ信号について、符号化ツリーユニット(CTU:Coding Tree Unit)の分割により、1つのビデオ符号化ブロックを取得することができ、その後、イントラ又はインター予測を実行することによって取得された残差画素情報に基づいて、変換及び量子化ユニット101によって当該ビデオ符号化ブロックを変換することができ、当該変換及び量子化ユニット101によるビデオ符号化ブロックの変換は、残差情報を画素ドメインから変換ドメインに変換し、取得された変換係数を量子化することにより、ビットレートを更に低減することを含み得る。イントラ推定ユニット102及びイントラ予測ユニット103は、当該ビデオ符号化ブロックに対してイントラ予測を実行するように構成され、具体的には、イントラ推定ユニット102及びイントラ予測ユニット103は、当該ビデオ符号化ブロックを符号化するために使用されるイントラ予測モードを決定するように構成される。動き補償ユニット104及び動き推定ユニット105は、1つ又は複数の参照フレーム内の1つ又は複数のブロックに対する、受信したビデオ符号化ブロックに対してインター予測符号化を実行することにより、時間予測情報を提供するように構成される。動き推定ユニット105によって実行される動き推定は、動きベクトルを生成するプロセスであり、前記動きベ
クトルに基づいて、当該ビデオ符号化ブロックの動きを推定することができ、その後、動き補償ユニット104は、動き推定ユニット105によって決定された動きベクトルに基づいて動き補償を実行することができる。イントラ予測モードを決定した後、イントラ予測ユニット103は更に、選択したイントラ予測データを符号化ユニット109に提供するように構成される。また、動き推定ユニット105はまた、計算によって決定された動きベクトルデータを符号化ユニット109に送信することができる。さらに、逆変換及び逆量子化ユニット106は、当該ビデオ符号化ブロックを再構築するように、すなわち、画素ドメインで残差ブロックを再構築するように構成される。当該再構築された残差ブロックのブロックアーチファクトは、フィルタ制御分析ユニット107及びフィルタリングユニット108によって除去され得、その後、当該再構築された残差ブロックを復号化画像バッファユニット110のフレーム内の1つの予測ブロックに追加することにより、再構築されたビデオ符号化ブロックを生成する。符号化ユニット109は、様々な符号化パラメータ及び量子化された変換係数を符号化するように構成され、CABACに基づく符号化アルゴリズムにおいて、コンテキストコンテンツは、隣接する符号化ブロックに基づいており、当該ビデオ信号のビットストリームを出力するために、決定されたイントラ予測モードを指示する情報を符号化するために使用されることができる。復号化画像バッファユニット110は、再構築されたビデオ符号化ブロックを予測参照として格納するように構成される。ビデオ画像の符号化につれて、新しい再構築されたビデオ符号化ブロックが継続的に生成され、これらの再構築されたビデオ符号化ブロックは、復号化された画像バッファユニット110に格納される。
【0023】
図2を参照すると、本願実施例に係るビデオ復号化システムの構成の例示的なブロック図を示し、図2に示されたように、当該ビデオ復号化システム200は、復号化ユニット201、逆変換及び逆量子化ユニット202、イントラ予測ユニット203、動き補償ユニット204、フィルタリングユニット205及び復号化画像バッファユニット206などを備え、ここで、復号化ユニット201は、ヘッダ情報復号化及びCABAC復号化を実現することができ、フィルタリングユニット205は、デブロッキングフィルタリング及びSAOフィルタリングを実現することができる。入力したビデオ信号に対して図1に示す符号化処理が実行された後、当該ビデオ信号のビットストリームが出力される。当該ビットストリームをビデオ復号化システム200に入力し、まず、ヘッダ情報復号化及びCABAC復号化ユニット201を介して処理して、復号化された変換係数を取得することができる。逆変換及び逆量子化ユニット202により当該変換係数を処理することにより、画素ドメインで残差ブロックを生成することができる。イントラ予測ユニット203は、決定されたイントラ予測モード及び現在のフレーム又は画像からの以前の復号化されたブロックのデータに基づいて、現在のビデオ復号化ブロックの予測データを生成するように構成されることができる。動き補償ユニット204は、動きベクトル及び他の関連する構文要素を分析することにより、ビデオ復号化ブロックの予測情報を決定し、当該予測情報に基づいて、現在復号化されているビデオ復号化ブロックの予測ブロックを生成することができる。逆変換及び逆量子化ユニット202からの残差ブロックと、イントラ予測ユニット203又は動き補償ユニット204によって生成された対応する予測ブロックとを加算することにより、復号化されたビデオブロックを形成する。当該復号化されたビデオ信号のブロックアーチファクトは、フィルタリングユニット205によって除去され、これにより、ビデオ品質を改善することができる。その後、復号化されたビデオブロックを復号化された画像バッファユニット206に記憶し、復号化された画像バッファユニット206は、後続のイントラ予測又は動き補償のために使用される参照画像を記憶し、ビデオ信号を出力するように構成され、すなわち、回復された元のビデオ信号を取得するこ
とができる。
【0024】
本願実施例に係る画像コンポーネント予測方法は、主に、図1に示されたイントラ予測ユニット103及び図2に示されたイントラ予測ユニット203に適用される。すなわち、本願実施例に係る画像コンポーネント予測方法は、ビデオ符号化システムに適用されてもよいし、ビデオ復号化システムに適用されてもよいし、あるいはビデオ符号化システム及びビデオ復号化システムの両方に適用されてもよいが、本願実施例はこれらに対して特に限定しない。留意されたいこととして、当該画像コンポーネント予測方法がイントラ予測ユニット103に適用される場合、「現在ブロック」とは、具体的には、イントラ予測における現在の符号化ブロックを指し、当該画像コンポーネント予測方法がイントラ予測ユニット203に適用される場合、「現在ブロック」とは、具体的には、イントラ予測における現在の復号化ブロックを指す。
【0025】
上記の図1又は図2の例示的な適用シナリオに基づき、図3を参照すると、本願実施例に係る画像コンポーネント予測方法の例示的なフローチャートが示されている。図3に示されたように、当該方法は、次のステップを含み得る。
【0026】
ステップS301において、現在ブロックの隣接参照サンプル集合を決定し、前記現在ブロックに対応する予め設定されたパラメータ値を決定し、ここで、前記隣接参照サンプル集合は、少なくとも1つの参照サンプルを含み、
留意されたいこととして、ビデオ画像は複数の画像ブロックに分割されることができ、各現在符号化対象となる画像ブロックは符号化ブロックと呼ばれる。ここで、各符号化ブロックは、第1画像コンポーネント、第2画像コンポーネント及び第3画像コンポーネントを含み得、現在ブロックは、ビデオ画像において現在第1画像コンポーネント、第2画像コンポーネント又は第3画像コンポーネント予測の実行対象となる符号化ブロックである。
【0027】
ここで、現在ブロックが第1画像コンポーネント予測を実行し、第1画像コンポーネントが輝度コンポーネントであり、すなわち、予測対象となる画像コンポーネントが輝度コンポーネントであると仮定すると、現在ブロックは輝度ブロックとも呼ばれる。又は、現在ブロックが第2画像コンポーネント予測を実行し、第2画像コンポーネントが色度コンポーネントであり、すなわち、予測対象となる画像コンポーネントが色度コンポーネントであると仮定すると、現在ブロックは色度ブロックとも呼ばれる。
【0028】
更に留意されたいこととして、現在ブロックにとって、左隣接領域、左下隣接領域、上隣接領域及び右上隣接領域がすべて有効領域である場合、隣接参照サンプル集合は、現在ブロックの左隣接領域及び上隣接領域内の参照画素をフィルタリングすることによって得られたものであってもよいし、現在ブロックの左隣接領域及び左下隣接領域内の参照画素をフィルタリングすることによって得られたものであってもよいし、あるいは現在ブロックの上隣接領域及び右上隣接領域内の参照画素をフィルタリングすることによって得られたものであってもよく、本願実施例はこれらに対して特に限定しない。
【0029】
いくつかの実施例において、ステップS301の場合、前記現在ブロックの隣接参照サンプル集合を決定することは、
前記現在ブロックの少なくとも1つの辺に隣接する参照画素を取得することであって、前記現在ブロックの少なくとも1つの辺は、上辺、右上辺、左辺及び左下辺のうちの少なくとも1つを含む、ことと、
取得された参照画素に従って、前記現在ブロックの隣接参照サンプル集合を決定することと、を含む。
【0030】
ここで、現在ブロックの少なくとも1つの辺は上辺(上行と呼ばれる)であってもよく、右上辺(右上行と呼ばれる)、左辺(左列と呼ばれる)又は左下辺(左下列と呼ばれる)であってもよく、あるいは上辺と左辺など、両辺の組み合わせであってもよいが、本願実施例はこれらに対して特に限定しない。
【0031】
更に、いくつかの実施例において、現在ブロックの少なくとも1つの辺が左辺及び/又は上辺であると、ステップS301の場合、前記現在ブロックの隣接参照サンプル集合を決定することは、
前記現在ブロックの少なくとも1つの辺に隣接する参照画素を取得することであって、前記現在ブロックの少なくとも1つの辺は、上辺及び/又は左辺を含む、ことと、
取得された参照画素に従って、前記現在ブロックの隣接参照サンプル集合を決定することと、を含む。
【0032】
ここで、現在ブロックの少なくとも1つの辺は、現在ブロックの左辺及び/又は現在ブロックの上辺を含み得、すなわち、現在ブロックの少なくとも1つの辺は、現在ブロックの上辺であってもよいし、現在ブロックの左辺であってもよいし、あるいは現在ブロックの上辺及び左辺であってもよく、本願実施例はこれらに対して特に限定しない。
【0033】
更に、いくつかの実施例において、ステップS301の場合、前記現在ブロックの隣接参照サンプル集合を決定することは、
前記現在ブロックの少なくとも1つの辺に隣接する参照画素に対して第1フィルタリング処理を実行して、前記少なくとも1つの辺に隣接する参照サンプルを決定することと、
決定された参照サンプルに従って、前記現在ブロックの隣接参照サンプル集合を構成することと、を含み得る。
【0034】
更に、いくつかの実施例において、
前記第1フィルタリング処理は、ダウンサンプリングフィルタリング処理又は低域通過フィルタリング処理を含む。
【0035】
留意されたいこととして、左隣接領域及び上隣接領域の両方が有効領域である場合、隣接参照サンプル集合は、現在ブロックの左辺に隣接する参照画素及び現在ブロックの上辺に隣接する参照画素をフィルタリングすることによって得られたものであってもよく、左隣接領域が有効領域であり、上隣接領域が無効領域である場合、隣接参照サンプル集合は、現在ブロックの左辺に隣接する参照画素をフィルタリングすることによって得られたものであってもよく、左隣接領域が無効領域であり、上隣接領域が有効領域である場合、隣接参照サンプル集合は、現在ブロックの上辺に隣接する参照画素をフィルタリングすることによって得られたものであってもよい。ここで、フィルタリングは、ダウンサンプリングフィルタリング処理であってもよく、低域通過フィルタリング処理であってもよく、本願実施例はこれらに対して特に限定しない。
【0036】
実際の応用では、現在ブロックを予測する場合、現在ブロックの上部ブロック及び左側ブロックは既に符号化されている。MIP技術に係る参照画素は、現在ブロックの上行に隣接する参照画素の再構成値及び現在ブロックの左列に隣接する参照画素の再構成値であってもよい。この場合、現在ブロックの参照画素は、現在ブロックの上辺に対応する参照画素及び左辺に対応する参照画素を取得することによって得られたものであってもよい。図4Aは、本願実施例に係る参照画素位置の概略図を示す。図4Aでは、左隣接領域及び上隣接領域の両方が有効領域であり、ここで、現在ブロックの上辺に対応する参照画素は灰色で充填された画素であり、refTで表すことができ、現在ブロックの左辺に対応する参照画素は斜線で充填された画素であり、refLで表すことができ、この場合、現在ブロックの参照画素は、refT及びrefLを含み、隣接参照サンプル集合は、refT及びrefLをフィルタリングすることによって得られたものである。ここで、特に留意されたいこととして、無効位置(画像の境界など)については、従来のイントラ予測技術において、参照画素を取得するのと同じ方法で充填することができる。
【0037】
MIP技術の場合、現在ブロックの大きさに従って現在ブロックを3種類に分類することができ、mipSizeIdで現在ブロックの種類を記録することができる。具体的には、現在ブロックの種類が異なると、隣接参照サンプル集合に含まれるサンプルの数と行列乘算出力サンプルの数が異なる。
【0038】
現在ブロックが4×4の画像ブロックであると仮定すると、mipSizeId=0であり、その入力参照画素集合は、各辺から選択した2つの画素点を含み、行列乘算の入力サンプル点の数は4であり、4×4のMIP予測ブロックが出力される。
【0039】
現在ブロックが4×N、N×4又は8×8の画像ブロック(ここで、N=8,16,32,64である)であり、mipSizeId=1であると仮定すると、その入力参照画素集は、各辺から選択した4つの画素点を含み、行列乘算の入力サンプル点の数は8であり、4×4のMIP予測ブロックが出力される。
【0040】
現在ブロックが他のサイズの画像ブロックであり、mipSizeId=2であると仮定すると、その入力参照画素集合は、各辺から選択した2つの画素点を含み、行列乘算の入力サンプル点の数は7であり、8×4のMIP予測ブロックが出力される。
【0041】
このように、現在ブロックの幅と高さの合計は、行列乘算の入力サンプル点の数より大きいため、入力サンプル点の数のサンプルを取得するために、取得した参照画素(refT及びrefLを含む)に対してダウンサンプリング処理を実行する必要があり、これによって、隣接参照サンプル集合を取得する。
【0042】
更に、いくつかの実施例において、前記取得された参照画素に従って、前記現在ブロックの隣接参照サンプル集合を決定することは、
前記現在ブロックの少なくとも1つの辺に基づいて、参照画素のサンプリング位置を決定することと、
取得された参照画素から、前記サンプリング位置に対応する参照サンプルを選択し、選択されたパラメータサンプルで前記隣接参照サンプル集合を作成することと、を含み得る。
【0043】
更に、前記現在ブロックの少なくとも1つの辺に基づいて、参照画素のサンプリング位置を決定することは、
前記現在ブロックの少なくとも1つの辺に対してダウンサンプリング処理を実行して、前記サンプリング位置を決定することを含み得る。
【0044】
留意されたいこととして、現在ブロックの各参照辺(上辺及び左辺を含む)でそれぞれサンプリングすることで、boundarySizeの参照サンプルを取得する必要があり、boundarySizeの値は、現在ブロックの種類mipSizeIdに関連する。
【0045】
具体的には、参照画素refSの場合、その参照画素の数(すなわち、現在ブロックの辺の長さ)はnTbSであり、この場合、ダウンサンプリングする必要のある参照画素の数は、boundarySizeである。ここで、各参照辺のサンプリング率はbDwnで表すことができ、式(1)によってbDwnを計算することができる。さらに、参照画素refSにおいて、各bDwnの参照画素に対して平均操作を実行することによって得られた平均値を、参照サンプルredSの1つのサンプル点として使用し、式(2)によってredSを計算することができる。ここで、Sは、それぞれWとHに置き換えることができ、ここで、Wは上辺を表し、Hは左辺を表す。
【数1】
【数2】
【0046】
式(1)及び式(2)によるダウンサンプリング処理後、図4Bに示されるように、現在ブロックの上辺参照画素refTに対してダウンサンプリング処理を実行することによって得られた上辺参照サンプルredT、及び現在ブロックの左辺の参照画素refLに対してダウンサンプリング処理を実行することによって得られた左辺の参照サンプルredLの2つの部分の参照サンプルを取得することができる。図4Bでは、4×4の現在ブロックを例として、左辺をダウンサンプリングすることによって得られたredLは、2つの参照画素、すなわち参照画素1及び参照画素2を含み、上辺をダウンサンプリングすることによって得られたredTは、2つの参照画素、すなわち参照画素3及び参照画素4を含み、このように、現在ブロックの隣接参照サンプル集合は、4つの参照画素を含む。
【0047】
MIP技術の場合、現在ブロックの種類mipSizeIdを取得することに加えて、現在ブロックの予測対象となる画像コンポーネントに対応するビット深度値(BitDepthで表すことができる)を取得する必要がある。予測対象となる画像コンポーネントが輝度コンポーネントであると仮定すると、現在ブロックの輝度ビット深度を取得することができ、又は、予測対象となる画像コンポーネントが色度コンポーネントであると仮定すると、現在ブロックの色度ビット深度を取得することができ、それによって、現在ブロックの予め設定されたパラメータ値を取得する。
【0048】
更に、いくつかの実施例において、ステップS301の場合、前記現在ブロックに対応する予め設定されたパラメータ値を決定することは、
前記現在ブロックの予測対象となる画像コンポーネントに対応するビット深度値を取得することと、
1をバイナリ値に変換し、前記バイナリ値の前記ビット深度値から1桁のバイナリ値を引いた値だけ前記バイナリ値をシフトして、前記予め設定されたパラメータ値を取得することと、を含む。
【0049】
すなわち、現在ブロックの予測対象となる画像コンポーネントに対応するビット深度値BitDepthを取得した後、予め設定されたパラメータ値は1<<(BitDepth-1)で表すことができる。
【0050】
このように、現在ブロックの隣接参照サンプル集合及び予め設定されたパラメータ値を取得した後、それらをバッファリングして、入力参照サンプル集合を作成することができる。
【0051】
ステップS302において、前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成する。
【0052】
留意されたいこととして、隣接参照サンプル集合を取得した後、まず、初期入力参照サンプル集合を作成することができ、その後、予め設定されたパラメータ値をバッファリングするために、初期バッファの最後に1ビットを追加して、入力参照サンプル集合を取得し、これにより、後続の入力サンプル行列の作成が容易になる。
【0053】
いくつかの実施例において、ステップS302の場合、前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成することは、
前記隣接参照サンプル集合をバッファリングして、初期入力参照サンプル集合を取得することと、
前記初期入力参照サンプル集合の後の1つのデータユニットを用いて、前記予め設定されたパラメータ値をバッファリングして、前記入力参照サンプル集合を取得することと、を含み得る。
【0054】
更に、初期入力参照サンプル集合の作成の場合、エンコーダ側とデコーダ側の作成方式が異なり、主に転置処理指示フラグ(isTransposedで表すことができる)の決定方式に関連する。
【0055】
エンコーダ側に適用される場合、いくつかの実施例において、前記隣接参照サンプル集合をバッファリングして、初期入力参照サンプル集合を取得することは、
レート歪み最適化(RDO:Rate Distortion Optimization)方式を用いて、転置処理指示フラグの値を決定することと、
前記転置処理指示フラグの値が0である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの前に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファを前記初期入力参照サンプル集合として決定するか、又は、
前記転置処理指示フラグの値が1である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの後に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファに対して転置処理を実行し、転置後のバッファを前記初期入力参照サンプル集合として決定することと、を含み得る。
【0056】
留意されたいこととして、レート歪み最適化(RDO:Rate Distortion Optimization)方式を用いて、転置処理指示フラグの値を決定することができる。例えば、転置処理が実行されるときの第1コスト値と、転置処理が実行されないときの第2コスト値をそれぞれ計算し、第1コスト値が第2コスト値より小さい場合、転置処理指示フラグの値が1であると決定でき、この場合、隣接参照サンプル集合の上辺に対応する参照サンプルを、隣接参照サンプル集合の左辺に対応する参照サンプルの後に記憶するか、又は隣接参照サンプル集合の左辺に対応する参照サンプルを、隣接参照サンプル集合の上辺に対応する参照サンプルの前に記憶することができ、すなわち、転置処理を実行する必要がある。第1コスト値が第2コスト値より大きいか等しい場合、転置処理指示フラグの値が0であると決定でき、この場合、隣接参照サンプル集合の上辺に対応する参照サンプルを、隣接参照サンプル集合の左辺に対応する参照サンプルの前に記憶するか、又は隣接参照サンプル集合の左辺に対応する参照サンプルを、隣接参照サンプル集合の上辺に対応する参照サンプルの後に記憶することができ、すなわち、転置処理を実行する必要がない。
【0057】
更に留意されたいこととして、エンコーダ側では、デコーダ側での後続の解析処理を容易にするために、決定された転置処理指示フラグの値をビットストリームに書き込む必要がある。
【0058】
デコーダ側に適用される場合、いくつかの実施例において、前記隣接参照サンプル集合をバッファリングして、初期入力参照サンプル集合を取得することは、
ビットストリームを解析して、転置処理指示フラグの値を取得することと、
前記転置処理指示フラグの値が0である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの前に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファを前記初期入力参照サンプル集合として決定するか、又は、
前記転置処理指示フラグの値が1である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの後に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファに対して転置処理を実行し、転置後のバッファを前記初期入力参照サンプル集合として決定することと、を含み得る。
【0059】
留意されたいこととして、デコーダ側では、ビットストリームを解析することにより、転置処理指示フラグの値を直接取得でき、その後、転置処理指示フラグの値に従って、バッファに対して転置処理を実行する必要があるかどうかを決定することができる。
【0060】
すなわち、転置処理指示フラグ(isTransposed)の値を決定した後、バッファがpTempで表されると仮定すると、isTransposedが0である場合、上辺に対応する全ての参照画素redTが先にpTempに記憶され、その後、記憶されている全てのredTの後の直後のビットから、左辺に対応する全ての参照画素redLを記憶する。図5Aに示されたように、4×4の現在ブロックを例にとると、redLは、参照画素1及び参照画素2を含み、redTは参照画素3及び参照画素4を含み、この場合、pTempのバッファ順序は参照画素3、参照画素4、参照画素1、参照画素2である。現在ブロックの上辺に対応する参照画素はすべて、現在ブロックの左辺に対応する参照画素の前に記憶されるため、ここでは転置は省略され、得られたバッファは、初期入力参照サンプル集合になる。
【0061】
isTransposedが1である場合、左辺に対応する全ての参照画素redLが先にpTempに記憶され、その後、記憶されている全てのredLの後の直後のビットから、上辺に対応する全ての参照画素redTを記憶する。図5Bに示されたように、依然として4×4の現在ブロックを例にとると、redLは、参照画素1及び参照画素2を含み、redTは参照画素3及び参照画素4を含み、この場合、pTempのバッファ順序は参照画素1、参照画素2、参照画素3、参照画素4である。上辺に対応する参照画素は全て、左辺に対応する参照画素の後に記憶されるため、ここでは転置が必要であり、転置後のバッファを初期入力参照サンプル集合として決定する。
【0062】
このようにして、初期入力参照サンプル集合を取得した後、初期入力参照サンプル集合の後にデータユニットを拡張することができ、図5Cに示されたように、当該データユニットは、予め設定されたパラメータ値をバッファリングするように、すなわち、1<<(BitDepth-1)を記憶するように構成される。図5Cでは、依然として4×4の現在ブロックを例にとると、初期入力参照サンプル集合には4つの値(すなわち、参照画素のダウンサンプリングによって得られた参照サンプル)が記憶され、本願実施例では、入力参照サンプル集合には、5つの値が記憶され、すなわち、4つの参照画素のダウンサンプリングによって得られた参照サンプルに加えて、1つの予め設定されたパラメータ値が更に記憶される。
【0063】
ステップS303において、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定する。
【0064】
留意されたいこととして、入力サンプルは、行列乘算を実行する必要のある行列ベクトルである。現在の解決策は、初期バッファ(pTempで表す)、現在ブロックの種類(mipSizeIdで表す)、予測対象となる画像コンポーネントに対応するビット深度値(BitDepthで表す)、及び入力サンプルの数によって決定され、最後に、入力サンプル行列のx番目の入力サンプル(P[x]で表す)を取得する。ここで、mipSizeId=0又は1の場合、pTempの0番目の位置にあるサンプルから1<<(BitDepth-1)を減算してP[0]として使用する必要があり、その後、他の各位置に対応するサンプルからpTempの0番目の位置のサンプルを減算してP[x]として使用する必要があり、具体的には、次の通りである。
【数3】
【0065】
mipSizeId=2の場合、初期バッファpTempの1番目の位置を無視することができ、他の各位置に対応するサンプルから0番目の位置に対応するサンプルを減算して、その前の位置に記憶することができ、具体的には、次の通りである。
【数4】
【0066】
図6Aに示されたように、依然として4×4の現在ブロックを例にとると、初期バッファには4つの値が記憶されているが、入力サンプルの数は4であり、この場合、式(3)又は式(4)に従って4つの入力サンプルを決定することができ、式(3)および(4)は、p[x]で表し、x=0,1,2,3であり、それによって、1×4の入力サンプル行列を構成する。しかしながら、現在の解決策では、行列乘算のための入力サンプルの導出プロセスを、現在ブロックの種類mipSizeIdに関連する必要があり、これにより、導出プロセスが煩雑であり、ある程度複雑であり、また、mipSizeId=0又は1の場合、p[0]とp[i]の計算式が異なるため、並列処理に適さない。
【0067】
本願実施例では、初期バッファは、入力参照サンプル集合に拡張され、1<<(BitDepth-1)を記憶するために使用されることができ、ことにより、入力サンプルの導出プロセスは、現在ブロックの種類mipSizeIdに関連しなくなり、行列乘算の入力サンプルの導出プロセスを統一することができ、また、入力サンプルは、入力参照サンプル集合(依然としてpTempで表す)及び入力サンプルの数によってのみ決定できるため、入力サンプル行列内のi番目の入力サンプル(p[i]で表す)が取得される。
【0068】
具体的には、いくつかの実施例において、ステップS303の場合、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定することは、
前記入力参照サンプル集合のi+1番目(iは、0より大きいか等しい且つNより小さい正の整数である)の位置に対応するサンプル及び0番目の位置に対応するサンプルに従って、第1予め設定された計算モデルを用いてi番目の入力サンプルを計算することであって、Nは、前記入力サンプル行列に含まれた要素の数を表す、ことと、
計算によって得られたN個の入力サンプルに従って、前記入力サンプル行列を構成することと、を含み得る。
【0069】
更に、いくつかの実施例において、前記第1予め設定された計算モデルを用いてi番目の入力サンプルを計算することは、
前記第1予め設定された計算モデルを用いて減算演算を実行して、前記i番目の入力サンプルを取得することを含み得る。
【0070】
更に、いくつかの実施例において、当該方法は、
前記減算演算の被減数を、前記参照サンプル集合のi+1番目の位置に対応するサンプルと等しくなるように設定することと、
前記減算演算の減数を、前記参照サンプル集合の0番目の位置に対応するサンプルと等しくなるように設定することと、を更に含み得る。
【0071】
つまり、現在ブロックの種類に関係なく、入力参照サンプル集合の最初の位置、すなわち0番目の位置に対応するサンプルを無視することができ、その後、他の各位置に対応するサンプルから0番目の位置に対応するサンプルを減算して、その前の位置に記憶することができ、ここで、第1予め設定された計算モデルは、次の通りである。
【数5】
【0072】
ここで、i=0,1,…,N-1であり、Nは、入力サンプルの数(inSizeで表すこともできる)であり、入力サンプルの数は、入力サンプル行列に含まれる要素の数であり、pTemp[0]は、0番目の位置に対応するサンプルを表し、pTemp[i+1]は、i+1番目の位置に対応するサンプルを表し、p[i]は、i番目の入力サンプルを表し、このように、N個の入力サンプルを取得した後、入力サンプル行列を構成することができる。図6Bに示されたように、依然として4×4の現在ブロックを例にとると、入力参照サンプル集合には、5つの値が記憶されるが、入力サンプルの数は4であり、この場合、現在ブロックの種類に関係なく、式(5)に従って4つの入力サンプルを決定することができ、式(5)は、p[i]で表され、i=0,1,2,3であり、それによって、1×4の入力サンプル行列を構成する。
【0073】
ステップS304において、前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得する。
【0074】
留意されたいこととして、入力サンプル行列を取得した後、先ず、MIP予測ブロックの少なくとも1つの画素の一時的な予測値を計算し、その後、クリッピング処理、転置処理、アップサンプリング処理などを順番に行い、最終的に現在ブロックの予測ブロックを取得することができる。
【0075】
更に留意されたいこととして、予測対象となる画像コンポーネントが輝度コンポーネントであると仮定すると、現在ブロックは、現在の輝度ブロックであってもよく、最後に、現在の輝度ブロックの輝度予測ブロックを取得することができ、当該輝度予測ブロックは、少なくとも1つの画素の輝度予測値を提供する。又は、予測対象となる画像コンポーネントが色度コンポーネントである場合、現在ブロックは現在の色度ブロックであってもよく、最後に、現在の色度ブロックの色度予測ブロックを取得することができ、当該色度予測ブロックは、少なくとも1つの画素の色度予測値を提供し、本願実施例はこれらに対して特に限定しない。
【0076】
いくつかの実施例において、ステップS304の場合、図7に示されたように、前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得することは、次のステップを含み得る。
【0077】
ステップS401において、入力サンプル行列に従って、現在ブロックのMIP予測ブロックを取得し、ここで、MIP予測ブロックは、現在ブロックの少なくとも一部の画素位置の予測サンプルを含む。
【0078】
留意されたいこととして、入力サンプル行列を取得した後、現在ブロックに対応する重み行列(mWeightで表す)、シフト因子(sWで表す)及びオフセット因子(fOで表す)を取得することもでき、その後、図8に示されたように、第2予め設定された計算モデルを用いて計算することによって、MIP予測ブロック(predMipで表す)の少なくとも1つの画素の一時的な予測値を取得し、これにより、MIP予測ブロックを取得することができる。
【0079】
更に、いくつかの実施例において、ステップS401の場合、前記入力サンプル行列に従って、前記現在ブロックのMIP予測ブロックを取得することは、
前記現在ブロックに対応する重み行列、シフト因子及びオフセット因子を取得することと、
第2予め設定された計算モデルを用いて、前記入力サンプル行列、前記重み行列、前記シフト因子及び前記オフセット因子に対して行列乘算処理を実行して、前記MIP予測ブロックを計算することと、を含み得る。
【0080】
すなわち、エンコーダ又はデコーダでは、重み行列テーブルが事前に確立され、当該重み行列テーブルは、エンコーダ又はデコーダに記憶される。このようにして、現在ブロックの種類mipSizeId及びMIP予測モードmodeIdに従って、テーブルを検索することによって、現在ブロックが使用する必要のある重み行列mWeight[x][y]を決定することができる。
【0081】
さらに、エンコーダ又はデコーダでは、表1に示されるようなシフト因子テーブル、及び表2に示されるようなオフセット因子テーブルも事前に確立されている。当該シフト因子テーブル及びオフセット因子テーブルもエンコーダ又はデコーダに記憶される。このようにして、現在ブロックの種類mipSizeId及びMIP予測モードmodeIdに従って、テーブルを検索することによって、現在ブロックが使用する必要のなるシフト因子sW及びオフセット因子fOを決定することもできる。
【表1】
【表2】
【0082】
このようにして、現在ブロックの種類mipSizeId及びMIP予測モードmodeIdを取得した後、テーブルを検索することによって、重み行列mWeight[x][y]、シフト因子sW、及びオフセット因子fOを決定することができ、すなわち、MIP予測ブロックpredMip[x][y]を計算することができる。ここで、第2予め設定された計算モデルは、次の通りである。
【数6】
【0083】
ここで、[x][y]は、画素点の位置座標を表し、xは、水平方向を表し、yは、垂直方向を表し、inSizeは、入力サンプルの数を表し、predSizeは、MIP予測ブロックpredMipの辺の長さを表す。ここで、predSizeは、現在ブロックの種類mipSizeIdにのみ関連しており、mipSizeId=0又は1の場合、4×4のMIP予測ブロックが出力され、この場合、predSizeは4に等しい。mipSizeId=2の場合、8×8のMIP予測ブロックが出力され、この場合、predSizeは8に等しい。このように、上記の式(6)に基づき、MIP予測ブロックpredMipの少なくとも1つの画素の一時的な予測値を計算して、MIP予測ブロックを取得することができる。
【0084】
ステップS402において、前記MIP予測ブロックの予測サンプルに対してクリッピング処理を実行して、前記現在ブロックのMIP予測ブロックを取得する。
【0085】
留意されたいこととして、MIP予測ブロックの少なくとも1つの画素の一時的な予測値を取得した後、MIP予測ブロックの少なくとも1つの画素の一時的な予測値に対してクリッピング処理を実行することができる。具体的には、一時的な予測値が0より小さい場合、それを0に設定することができ、一時的な予測値が(1<<BitDepth)-1より大きい場合、それを(1<<BitDepth)-1に設定することができ、それによって、予測値の範囲を0から(1<<BitDepth)-1の間でクリッピングできる。
【0086】
このように、MIP予測ブロックに対してクリッピング処理を実行した後、MIP予測ブロックの少なくとも1つの画素の予測値を取得でき、予測値の範囲は、0から(1<<BitDepth)-1の間であり、その後、転置処理指示フラグビットisTransposedに従って転置処理を実行する必要があるかどうかを決定し、最終的なMIP予測ブロックを決定することができる。
【0087】
ステップS403において、前記MIP予測ブロックに対して転置処理を実行するかどうかを判断する。
【0088】
ステップS404において、判断結果が「はい」である場合、前記MIP予測ブロックの予測サンプルに対して転置処理を実行し、転置後のMIP予測ブロックを、現在ブロックのMIP予測ブロックとして決定する。
【0089】
ステップS405において、判断結果が「いいえ」である場合、前記MIP予測ブロックを前記現在ブロックのMIP予測ブロックとして決定する。
【0090】
ステップS406において、MIP予測ブロックのサイズが現在ブロックのサイズと同じであるか否かを判断する。
【0091】
エンコーダ側に適用される場合、いくつかの実施例において、ステップS403の場合、前記MIP予測ブロックに対して転置処理を実行するかどうかを判断することは、
レート歪み最適化方式を用いて、転置処理が前記MIP予測ブロックで実行されるときの第1コスト値と、転置処理が前記MIP予測ブロックで実行されないときの第2コスト値をそれぞれ計算することと、
前記第1コスト値が前記第2コスト値より小さい場合、前記MIP予測ブロックに対して転置処理を実行すると決定し、又は、
前記第1コスト値が前記第2コスト値以上である場合、前記MIP予測ブロックに対して転置処理を実行しないと決定することと、を含み得る。
【0092】
デコーダ側に適用される場合、いくつかの実施例において、ステップS403の場合、前記MIP予測ブロックに対して転置処理を実行するかどうかを判断することは、
ビットストリームを解析して、転置処理指示フラグの値を取得することと、
前記転置処理指示フラグの値に従って、前記MIP予測ブロックに対して転置処理を実行するかどうかを判断することと、を含み得る。
【0093】
留意されたいこととして、転置処理指示フラグはisTransposedで表され、isTransposedの値に従って、MIP予測ブロックに対して転置処理を実行する必要があるかどうかを判断することができる。具体的には、エンコーダ側では、第1コスト値が第2コスト値より小さい場合、isTransposedの値を1に設定し、この場合、MIP予測ブロックに対して転置処理を実行する必要があると決定することができ、又は、第1コスト値が第2コスト値以上である場合、isTransposedの値を0に設定し、この場合、前記MIP予測ブロックに対して転置処理を実行する必要がないと決定することができる。デコーダ側では、ビットストリームを解析することによって転置処理指示フラグの値を取得でき、isTransposedの値が1に解析された場合、MIP予測ブロックに対して転置処理を実行する必要があると決定することができ、又は、isTransposedの値が0に解析された場合、MIP予測ブロックに対して転置処理を実行する必要がないと決定することができる。
【0094】
より具体的には、isTransposedが0である場合、MIP予測ブロックに対して転置処理を実行する必要がないことを示し、この場合、MIP予測ブロックpredMipを直接使用して、後続のステップ(すなわち、ステップS406)を実行して、MIP予測ブロックのサイズが現在ブロックのサイズと同じであるか否かを判断することができる。isTransposedが0である場合、MIP予測ブロックに対して転置処理を実行する必要があることを示し、この場合、以下の式で転置処理を実行することができる。
【数7】
【0095】
このように、式(7)に基づき、MIP予測ブロックに対して転置処理を実行した後、転置後のMIP予測ブロックを取得でき、転置後のMIP予測ブロックをMIP予測ブロックとして決定し、その後、ステップS406を実行し、MIP予測ブロックのサイズが現在ブロックのサイズと同じであるか否かを判断することができる。
【0096】
ステップS407において、前記MIP予測ブロックのサイズが前記現在ブロックのサイズと異なる場合、前記MIP予測ブロックに対して第2フィルタリング処理を実行して、前記現在ブロックの予測ブロックを取得する。
【0097】
ステップS408において、前記MIP予測ブロックのサイズが前記現在ブロックのサイズと同じである場合、前記現在ブロックの予測ブロックを前記MIP予測ブロックと等しくなるように設定し、ここで、前記予測ブロックは、前記現在ブロックの全ての画素位置の予測サンプルを含む。
【0098】
更に、第2フィルタリング処理は、アップサンプリングフィルタリング処理又は低域通過フィルタリング処理を含み得る。
【0099】
留意されたいこととして、MIP予測ブロックを取得した後、MIP予測ブロックのサイズには、4×4のMIP予測ブロック及び8×8のMIP予測ブロックの2種類しか含まないため、現在ブロックのサイズは、MIP予測ブロックのサイズと同じであっても異なっていてもよい。つまり、現在ブロックがMIP予測ブロックに対応するサンプルで満たされていない可能性があり、その結果、最終的な予測値を生成するためにMIP予測ブロックに対してアップサンプリング操作を実行する必要がある可能性があり、つまり、MIP予測ブロックのサイズが現在ブロックのサイズと同じであるか否かを判断することにより、MIP予測ブロックに対してアップサンプリング処理を実行する必要があるかどうかを決定する。
【0100】
具体的には、MIP予測ブロックのサイズが現在ブロックのサイズと同じである場合、すなわち、MIP予測ブロックの幅と高さが両方とも現在ブロックと同じである場合、MIP予測ブロックに対してアップサンプリング処理を実行する必要がないことを示し、この場合、現在ブロックをMIP予測ブロックで直接充填することができ、つまり、充填後の現在ブロック内に空の画素点がなく、この場合、以下に示すように、現在ブロックの各画素の予測値をMIP予測ブロックの各画素の予測値に直接設定することができる。
【数8】
【0101】
ここで、[x][y]は、画素点の位置座標を表し、xは水平方向を表し、yは垂直方向を表し、predSamples[x][y]は、現在ブロックの位置座標[x][y]にある画素点に対応する予測値を表し、predMip[x][y]は、MIP予測ブロックの位置座標[x][y]にある画素点に対応する予測値を表す。このように、式(8)に基づき、MIP予測ブロックpredMip[x][y]を現在ブロックの予測ブロックpredSamples[x][y]として直接使用することができる。
【0102】
MIP予測ブロックのサイズが現在ブロックのサイズと異なる場合、すなわち、MIP予測ブロックの高さと幅のいずれかが現在ブロックと異なる場合、MIP予測ブロックに対してアップサンプリング処理を実行する必要があることを示し、それに対してアップサンプリング処理を実行した後、現在ブロックの予測ブロックを取得することができる。
【0103】
具体的には、いくつかの実施例において、ステップS407の場合、第2フィルタリング処理がアップサンプリングフィルタリング処理である場合、当該方法は、
前記現在ブロックに対応する水平アップサンプリング因子及び垂直アップサンプリング因子を決定することと、
前記MIP予測ブロック、前記水平アップサンプリング因子及び前記垂直アップサンプリング因子に従って、第3予め設定された計算モデルを用いて前記現在ブロックの充填対象となる画素位置の予測値を決定して、前記現在ブロックの予測ブロックを取得することであって、前記充填対象となる画素位置は、前記現在ブロック内の、前記MIP予測ブロックの画素位置とは異なる画素位置である、ことと、を含み得る。
【0104】
留意されたいこととして、MIP予測ブロックのサイズが現在ブロックのサイズと異なる場合、充填後の現在ブロックには空の画素点があり、この場合、線形補間法により、MIP予測ブロックpredMip[x][y]に対してアップサンプリングを実行する必要がある。
【0105】
ここで、MIP予測ブロックの幅と高さの両方がpredSizeであり、現在ブロックの幅がnTbWであり、現在ブロックの高さがnTbHであると仮定すると、MIP予測ブロックの辺の長さpredSizeと現在ブロックの幅nTbWに従って、水平アップサンプリング因子(upHorで表す)を計算することができ、同様に、MIP予測ブロックの辺の長さpredSizeと現在ブロックの高さnTbHに従って、垂直アップサンプリング因子(upVerで表す)を計算することができ、具体的な計算式は、次の通りである。
【数9】
【0106】
MIP予測ブロックで現在ブロックを完全に充填することができないので、水平アップサンプリング因子upHor及び垂直アップサンプリング因子upVerに従って現在ブロックを充填する必要があり、つまり、アップサンプリング操作を実行する必要があり、対応する位置に充填する方式は、次の通りである。
【数10】
【0107】
ここで、x=0,1,...,nTbW-1であり、y=0,1,…,nTbH-1である。
【0108】
ここで、特定のアップサンプリング処理方式は、先ず、現在ブロックの上行に対応する位置predSamples[x][-1]に上辺参照画素refTを充填し、その後、現在ブロックの左列に対応する位置predSamples[-1][y]に左辺参照画素refLを充填し、そして、式(10)に基づき、現在ブロック内の充填対象となる画素位置(例えば、対応する位置を充填する予測値の間の空の位置、又は参照画素と、対応する位置を充填する予測値との間の空の位置などであってもよい)について、先ず、水平補間を実行し、次に、垂直補間を実行し、その結果、現在ブロックのアップサンプリング結果predSamples[x][y]を最終的に取得することができ、当該predSamples[x][y]は、MIP予測モードに従って取得した現在ブロックの予測値である。
【0109】
本願実施例において、当該画像コンポーネント予測方法がエンコーダ側に適用される場合、当該画像コンポーネント予測方法を用いて、現在ブロックの少なくとも1つの画素の予測値を計算することができ、その後、現在ブロックの少なくとも1つの画素の実際の値と予測値の差に従って、少なくとも1つの画素に対応する残差を計算し、計算によって得られた残差をビットストリームに書き込むことができる。また、転置処理指示フラグ(isTransposed)を取得した後、isTransposedの値もビットストリームに書き込む必要があり、その後、当該ビットストリームをエンコーダ側からデコーダ側に伝送する。これに対応して、当該画像コンポーネント予測方法がデコーダ側に適用される場合、ビットストリームを解析することによってisTransposedの値を決定し、その後、転置処理を実行する必要があるかどうかを決定する。更に、当該画像コンポーネント予測方法を用いて、現在ブロックの少なくとも1つの画素の予測値を計算することもでき、その後、ビットストリームを解析することにより、少なくとも1つの画素に対応する残差を直接取得することができ、更に、現在ブロックの少なくとも1つの画素の予測値及び残差に従って、現在ブロックの少なくとも1つの画素の実際の値を得ることができる。
【0110】
本実施例は、エンコーダ又はデコーダに適用される、画像コンポーネント予測方法を提供する。当該画像コンポーネント予測方法によれば、現在ブロックの隣接参照サンプル集合を決定し、現在ブロックに対応する予め設定されたパラメータ値を決定し、ここで、隣接参照サンプル集合は、少なくとも1つの参照サンプルを含み、隣接参照サンプル集合及び予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成し、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定し、前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得する。このように、本願実施例に係る技術的解決策は、現在ブロックの種類を判断する必要がないため、計算の複雑さを低減し、ハードウェアの実装が容易になる。さらに、入力参照サンプル集合及び第1予め設定された計算モデルに従って入力サンプル行列を決定することができるため、行列乘算のための入力サンプルの導出プロセスが簡略化され、これによって、入力サンプル行列の導出プロセスが統一され、更に、本願実施例の技術的解決策は、現在ブロックの種類に依存せず、並列処理を実現することができるため、計算の複雑さを低減することもできる。
【0111】
上記の実施例と同じ発明構想に基づき、図9を参照すると、本願実施例に係るエンコーダ90の構成の概略構造図を示す。図9に示されたように、当該エンコーダ90は、第1決定ユニット901と、第1バッファユニット902と、第1予測ユニット903と、を備え、ここで、
第1決定ユニット901は、現在ブロックの隣接参照サンプル集合を決定し、前記現在ブロックに対応する予め設定されたパラメータ値を決定するように構成され、ここで、前記隣接参照サンプル集合は、少なくとも1つの参照サンプルを含み、
第1バッファユニット902は、前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成するように構成され、
第1決定ユニット901は更に、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定するように構成され、
第1予測ユニット903は、前記入力サンプル行列に従って現在ブロックに対して画像コンポーネント予測を実行して、現在ブロックの予測ブロックを取得するように構成される。
【0112】
上記の解決策において、図9を参照すると、エンコーダ90は更に、第1取得ユニット904を備えることができ、第1取得ユニット904は、前記現在ブロックの少なくとも1つの辺に隣接する参照画素を取得するように構成され、ここで、前記現在ブロックの少なくとも1つの辺は、上辺、右上辺、左辺及び左下辺のうちの少なくとも1つを含み、
第1決定ユニット901は、取得された参照画素に従って、前記現在ブロックの隣接参照サンプル集合を決定するように構成される。
【0113】
上記の解決策において、図9を参照すると、エンコーダ90は更に、第1処理ユニット905を備えることができ、第1処理ユニット905は、前記現在ブロックの少なくとも1つの辺に隣接する参照画素に対して第1フィルタリング処理を実行して、前記少なくとも1つの辺に隣接する参照サンプルを決定するように構成され、
第1決定ユニット901は、決定された参照サンプルに従って、前記現在ブロックの隣接参照サンプル集合を構成するように構成される。
【0114】
上記の解決策において、前記第1フィルタリング処理は、ダウンサンプリングフィルタリング処理又は低域通過フィルタリング処理を含む。
【0115】
上記の解決策において、第1取得ユニット904は更に、前記現在ブロックの予測対象となる画像コンポーネントに対応するビット深度値を取得するように構成され、
第1処理ユニット905は更に、1をバイナリ値に変換し、前記バイナリ値の前記ビット深度値から1桁のバイナリ値を引いた値だけ前記バイナリ値をシフトして、前記予め設定されたパラメータ値を取得するように構成される。
【0116】
上記の解決策において、第1バッファユニット902は、前記隣接参照サンプル集合をバッファリングして、初期入力参照サンプル集合を取得し、前記初期入力参照サンプル集合の後の1つのデータユニットを用いて、前記予め設定されたパラメータ値をバッファリングして、前記入力参照サンプル集合を取得するように構成される。
【0117】
上記の解決策において、第1決定ユニット901は更に、レート歪み最適化方式を用いて、転置処理指示フラグの値を決定するように構成され、
第1バッファユニット902は、具体的に、前記転置処理指示フラグの値が0である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの前に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファを前記初期入力参照サンプル集合として決定するか、又は、前記転置処理指示フラグの値が1である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの後に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファに対して転置処理を実行し、転置後のバッファを前記初期入力参照サンプル集合として決定するように構成される。
【0118】
上記の解決策において、図9を参照すると、エンコーダ90は更に、第1計算ユニット906を備えることができ、第1計算ユニット906は、前記入力参照サンプル集合のi+1番目(iは、0より大きいか等しい且つNより小さい正の整数である)の位置に対応するサンプル及び0番目の位置に対応するサンプルに従って、第1予め設定された計算モデルを用いてi番目の入力サンプルを計算するように構成され、Nは、前記入力サンプル行列に含まれた要素の数を表し、
第1決定ユニット901は、計算によって得られたN個の入力サンプルに従って、前記入力サンプル行列を構成するように構成される。
【0119】
上記の解決策において、第1計算ユニット906は、具体的に、前記第1予め設定された計算モデルを用いて減算演算を実行して、前記i番目の入力サンプルを取得するように構成される。
【0120】
上記の解決策において、第1計算ユニット906は、具体的に、前記減算演算の被減数を、前記参照サンプル集合のi+1番目の位置に対応するサンプルと等しくなるように設定し、前記減算演算の減数を、前記参照サンプル集合の0番目の位置に対応するサンプルと等しくなるように設定するように構成される。
【0121】
上記の解決策において、第1取得ユニット904は更に、前記入力サンプル行列に従って、前記現在ブロックのMIP予測ブロックを取得するように構成され、前記MIP予測ブロックは、前記現在ブロックの少なくとも一部の画素位置の予測サンプルを含み、
第1処理ユニット905は更に、前記MIP予測ブロックの幅と高さのいずれかが前記現在ブロックと異なる場合、前記MIP予測ブロックに対して第2フィルタリング処理を実行して、前記現在ブロックの予測ブロックを取得するか、又は、前記MIP予測ブロックの幅と高さの両方が前記現在ブロックと同じである場合、前記現在ブロックの予測ブロックを前記MIP予測ブロックと等しくなるように設定するように構成され、ここで、前記予測ブロックは、前記現在ブロックの全ての画素位置の予測サンプルを含む。
【0122】
上記の解決策において、第1取得ユニット904は、具体的に、前記MIP予測ブロックの予測サンプルに対してクリッピング処理を実行して、前記現在ブロックのMIP予測ブロックを取得するように構成される。
【0123】
上記の解決策において、図9を参照すると、エンコーダ90は更に、第1判断ユニット907を備えることができ、第1判断ユニット907は、前記MIP予測ブロックに対して転置処理を実行するかどうかを判断し、判断結果が「はい」である場合、前記MIP予測ブロックの予測サンプルに対して転置処理を実行し、転置後のMIP予測ブロックを前記現在ブロックのMIP予測ブロックとして決定するように構成される。
【0124】
上記の解決策において、第1計算ユニット906は更に、レート歪み最適化方式を用いて、転置処理が前記MIP予測ブロックで実行されるときの第1コスト値と、転置処理が前記MIP予測ブロックで実行されないときの第2コスト値をそれぞれ計算するように構成され、
第1判断ユニット907は、具体的に、前記第1コスト値が前記第2コスト値より小さい場合、前記MIP予測ブロックに対して転置処理を実行すると決定し、又は、前記第1コスト値が前記第2コスト値以上である場合、前記MIP予測ブロックに対して転置処理を実行しないと決定するように構成される。
【0125】
上記の解決策において、前記第2フィルタリング処理は、アップサンプリングフィルタリング処理又は低域通過フィルタリング処理を含む。
【0126】
上記の解決策において、第1取得ユニット904は更に、前記現在ブロックに対応する重み行列、シフト因子及びオフセット因子を取得するように構成され、
第1計算ユニット906は更に、第2予め設定された計算モデルを用いて、前記入力サンプル行列、前記重み行列、前記シフト因子及び前記オフセット因子に対して行列乘算処理を実行して、前記MIP予測ブロックを計算するように構成される。
【0127】
上記の解決策において、前記第2フィルタリング処理がアップサンプリングフィルタリング処理である場合、第1決定ユニット901は更に、前記現在ブロックに対応する水平アップサンプリング因子及び垂直アップサンプリング因子を決定するように構成され、
第1計算ユニット906は更に、前記MIP予測ブロック、前記水平アップサンプリング因子及び前記垂直アップサンプリング因子に従って、第3予め設定された計算モデルを用いて前記現在ブロックの充填対象となる画素位置の予測値を決定して、前記現在ブロックの予測ブロックを取得するように構成され、ここで、前記充填対象となる画素位置は、前記現在ブロック内の、前記MIP予測ブロックの画素位置とは異なる画素位置である。
【0128】
理解できることとして、本願実施例において、「ユニット」は、回路の一部、プロセッサの一部、プログラム又はソフトウェアの一部などであってもよく、もちろん、モジュール式であってもよいし、非モジュール式であってもよい。また、本実施例における各構成ユニットを1つの処理部に統合してもよく、各ユニットを別々に1つのユニットとして使用してもよいし、2つ以上のユニットを1つのユニットに統合してもよい。前記統合されたユニットは、ハードウェアの形で実装されてもよいし、ソフトウェア機能モジュールの形で実装されてもよい。
【0129】
前記統合されたユニットが、ソフトウェア機能モジュールの形で実装され、独立した製品として販売または使用されていない場合、1つのコンピュータ読み取り可能な記憶媒体に記憶することができる。このような理解に基づいて、本実施例の技術的解決策の本質的な部分、すなわち、先行技術に貢献のある部分、又は前記技術的解決策の一部は、ソフトウェア製品の形で具現されることができ、当該コンピュータソフトウェア製品は、1つの記憶媒体に記憶され、コンピュータ機器(パーソナルコンピュータ、サーバ、又はネットワーク機器等であり得る)又はプロセッサ(processor)に、本実施例に記載の方法のステップの全部または一部を実行させるためのいくつかの命令を含む。前述した記憶媒体は、Uディスク、モバイルハードディスク、読み取り専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスク又は光ディスクなどのプログラムコードを記憶することができる様々な媒体を含む。
【0130】
したがって、本願実施例は、エンコーダ90に適用されるコンピュータ記憶媒体を提供し、当該コンピュータ記憶媒体には、画像コンポーネント予測プログラムが記憶され、前記画像コンポーネント予測プログラムは、第1プロセッサによって実行されるときに、上記の実施例に記載の任意の方法を実現する。
【0131】
上記のエンコーダ90の構成及びコンピュータ記憶媒体に基づき、図10を参照すると、本願実施例に係るエンコーダ90の特定のハードウェアの構造を示し、前記エンコーダ90は、第1通信インターフェース1001と、第1メモリ1002と、第1プロセッサ1003と、を備えることができ、各コンポーネントは、第1バスシステム1004を介して結合される。理解できることとして、第1バスシステム1004は、これらのコンポーネント間の接続通信を具現するために使用される。第1バスシステム1004は、データバスに加えて、電力バス、制御バスおよび状態信号バスを備える。しかしながら、説明を明確にするために、図10では様々なバスをすべて第1バスシステム1004として表記する。ここで、
第1通信インターフェース1001は、他の外部要素と情報を送受信するプロセスで、信号の受信および送信をするように構成され、
第1メモリ1002は、第1プロセッサ1003で実行可能なコンピュータプログラムを記憶するように構成され、
第1プロセッサ1003は、前記コンピュータプログラムを実行するときに、
現在ブロックの隣接参照サンプル集合を決定し、前記現在ブロックに対応する予め設定されたサンプルを決定することであって、前記隣接参照サンプル集合は、少なくとも1つの参照サンプルを含む、ことと、
前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成することと、
前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定することと、
前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得することと、を実行するように構成される。
【0132】
本願実施例における第1メモリ1002は、揮発性メモリまたは不揮発性メモリであってもよいし、または揮発性および不揮発性メモリの両方を含んでもよいことを理解されたい。ここで、不揮発性メモリは、読み取り専用メモリ(ROM:Read-Only Memory)、プログラム可能な読み取り専用メモリ(PROM:Programmable ROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM:Erasable PROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM:Electrically EPROM)またはフラッシュメモリであってもよい。揮発性メモリは、外部キャッシュとして使用されるランダムアクセスメモリ(RAM:Random Access Memory)であってもよい。例示的であるが制限的ではない説明を通じて、例えば、スタティックランダムアクセスメモリ(SRAM:Static RAM)、ダイナミックランダムアクセスメモリ(DRAM:Dynamic RAM)、同期ダイナミックランダムアクセスメモリ(SDRAM:Synchronous DRAM)、ダブルデータレートの同期ダイナミックランダムアクセスメモリ(DDR SDRAM:Double Data Rate SDRAM)、拡張型同期ダイナミックランダムアクセスメモリ(ESDRAM:Enhanced SDRAM)、同期接続ダイナミックランダムアクセスメモリ(SLDRAM:Synchlink DRAM)およびダイレクトメモリバスランダムアクセスメモリ(DR RAM:Direct Rambus RAM)など、多くの形のRAMを使用することができる。本願で説明するシステムおよび方法のメモリは、これらおよび任意の他の適切なタイプのメモリを含むが、これらに限定されないことを意図する。
【0133】
第1プロセッサ1003は、信号処理機能を備えた集積回路チップであってもよい。実装では、上記した方法の各ステップは、第1プロセッサ1003におけるハードウェアの集積論理回路又はソフトウェアの形の命令を介して遂行することができる。上述の第1プロセッサ1003は、汎用プロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、フィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)又は他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどであってもよい。本願実施例で開示された各方法、ステップおよび論理ブロック図を実現又は実行することができる。汎用プロセッサは、マイクロプロセッサであってもよいし、任意の従来のプロセッサなどであってもよい。本願実施例を組み合たせて開示された方法のステップは、直接に、ハードウェア復号化プロセッサによって実行されて完了すると具現されることができ、又は復号化プロセッサにおけるハードウェアおよびソフトウェアモジュールの組み合わせによって実行して完了する。ソフトウェアモジュールは、ランダムメモリ、フラッシュメモリ、読み取り専用メモリ、プログラマブル読み取り専用メモリ又は電気的に消去可能なプログラマブルメモリ、レジスタなど当技術分野の熟知する記憶媒体に配置されてもよい。当該記憶媒体は、第1メモリ1002に配置され、第1プロセッサ1003は、第1メモリ1002の情報を読み取り、そのハードウェアに結合して前記方法のステップを完成する。
【0134】
理解できることとして、本明細書に記載のこれらの実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはそれらの組み合わせで実現されることができる。ハードウェアの実現に対して、処理ユニットは、1つの或複数の特定用途向け集積回路(ASIC:Application Specific Integrated Circuits)、デジタル信号プロセッサ(DSP:Digital Signal Processing)、デジタル信号処理機器(DSPD:DSP Device)、プログラマブルロジックデバイス(PLD:Programmable Logic Device)、フィールドプログラマブルゲートアレイ(FPGA:Field-Programmable Gate Array)、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本出願に記載の機能を実行するように構成される他の電子ユニットまたはその組み合わせで実現される。ソフトウェアの実現について、本明細書に記載の機能を実行するモジュール(プロセス、関数など)を介して本願に記載の技術を実現することができる。ソフトウェアコードは、メモリに記憶され、プロセッサによって実行されることができる。メモリは、プロセッサ内またはプロセッサの外部に実装することができる。
【0135】
例示的に、別の実施例として、第1プロセッサ1003は更に、前記コンピュータプログラムを実行するときに、上記の実施例に記載の任意の方法を実行するように構成される。
【0136】
本実施例は、エンコーダを提供し、当該エンコーダは、第1決定ユニットと、第1バッファユニットと、第1予測ユニットと、を備え、ここで、第1決定ユニットは、現在ブロックの隣接参照サンプル集合を決定し、現在ブロックに対応する予め設定されたパラメータ値を決定するように構成され、第1バッファユニットは、前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成するように構成され、第1決定ユニットは更に、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定するように構成され、第1予測ユニットは、前記入力サンプル行列に従って現在ブロックに対して画像コンポーネント予測を実行して、現在ブロックの予測ブロックを取得するように構成される。このようにして、行列乘算の入力サンプルの導出プロセスを簡略化し、これにより、入力サンプル行列の導出プロセスを統一するだけでなく、現在ブロックの種類を判断する必要がないため、時間と複雑さを低減し、ハードウェアの実装も容易になる。
【0137】
上記の実施例と同じ発明構想に基づき、図11を参照すると、本願実施例に係るデコーダ110の構成の概略構造図を示す。図11に示されたように、当該デコーダ110は、第2決定ユニット1101と、第2バッファユニット1102と、第2予測ユニット1103と、を備え、ここで、
第2決定ユニット1101は、現在ブロックの隣接参照サンプル集合を決定し、前記現在ブロックに対応する予め設定されたパラメータ値を決定するように構成され、ここで、前記隣接参照サンプル集合は、少なくとも1つの参照サンプルを含み、
第2バッファユニット1102は、前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成するように構成され、
第2決定ユニット1101は更に、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定するように構成され、
第2予測ユニット1103は、前記入力サンプル行列に従って現在ブロックに対して画像コンポーネント予測を実行して、現在ブロックの予測ブロックを取得するように構成される。
【0138】
上記の解決策において、図11を参照すると、デコーダ110は更に、第2取得ユニット1104を備えることができ、第2取得ユニット1104は、前記現在ブロックの少なくとも1つの辺に隣接する参照画素を取得するように構成され、ここで、前記現在ブロックの少なくとも1つの辺は、上辺、右上辺、左辺及び左下辺のうちの少なくとも1つを含み、
第2決定ユニット1101は、取得された参照画素に従って、前記現在ブロックの隣接参照サンプル集合を決定するように構成される。
【0139】
上記の解決策において、図11を参照すると、デコーダ110は更に、第2処理ユニット1105を備えることができ、第2処理ユニット1105は、前記現在ブロックの少なくとも1つの辺に隣接する参照画素に対して第1フィルタリング処理を実行して、前記少なくとも1つの辺に隣接する参照サンプルを決定するように構成され、
第2決定ユニット1101は、決定された参照サンプルに従って、前記現在ブロックの隣接参照サンプル集合を構成するように構成される。
【0140】
上記の解決策において、前記第1フィルタリング処理は、ダウンサンプリングフィルタリング処理又は低域通過フィルタリング処理を含む。
【0141】
上記の解決策において、第2取得ユニット1104は更に、前記現在ブロックの予測対象となる画像コンポーネントに対応するビット深度値を取得するように構成され、
第2処理ユニット1105は更に、1をバイナリ値に変換し、前記ビット深度値から1桁のバイナリ値を引いた値だけ前記バイナリ値をシフトして、前記予め設定されたパラメータ値を取得するように構成される。
【0142】
上記の解決策において、第2バッファユニット1102は、前記隣接参照サンプル集合をバッファリングして、初期入力参照サンプル集合を取得し、前記初期入力参照サンプル集合の後の1つのデータユニットを用いて、前記予め設定されたパラメータ値をバッファリングして、前記入力参照サンプル集合を取得するように構成される。
【0143】
上記の解決策において、図11を参照すると、デコーダ110は更に、解析ユニット1106を備えることができ、解析ユニット1106は、ビットストリームを解析して、転置処理指示フラグの値を取得するように構成され、
第2バッファユニット1102は、具体的に、前記転置処理指示フラグの値が0である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの前に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファを前記初期入力参照サンプル集合として決定するか、又は、前記転置処理指示フラグの値が1である場合、前記隣接参照サンプル集合の現在ブロックの上辺に対応する参照サンプルが、前記隣接参照サンプル集合の現在ブロックの左辺に対応する参照サンプルの後に記憶されるように、前記参照サンプルをバッファに記憶し、前記バッファに対して転置処理を実行し、転置後のバッファを前記初期入力参照サンプル集合として決定するように構成される。
【0144】
上記の解決策において、図11を参照すると、デコーダ110は更に、第2計算ユニット1107を備えることができ、第2計算ユニット1107は、前記入力参照サンプル集合のi+1番目(iは、0より大きいか等しい且つNより小さい正の整数である)の位置に対応するサンプル及び0番目の位置に対応するサンプルに従って、第1予め設定された計算モデルを用いてi番目の入力サンプルを計算するように構成され、Nは、前記入力サンプル行列に含まれた要素の数を表し、
第2決定ユニット1101は、計算によって得られたN個の入力サンプルに従って、前記入力サンプル行列を構成するように構成される。
【0145】
上記の解決策において、第2計算ユニット1107は、具体的に、前記第1予め設定された計算モデルを用いて減算演算を実行して、前記i番目の入力サンプルを取得するように構成される。
【0146】
上記の解決策において、第2計算ユニット1107は、具体的に、前記減算演算の被減数を、前記参照サンプル集合のi+1番目の位置に対応するサンプルと等しくなるように設定し、前記減算演算の減数を、前記参照サンプル集合の0番目の位置に対応するサンプルと等しくなるように設定するように構成される。
【0147】
上記の解決策において、第2取得ユニット1104は更に、前記入力サンプル行列に従って、前記現在ブロックのMIP予測ブロックを取得するように構成され、前記MIP予測ブロックは、前記現在ブロックの少なくとも一部の画素位置の予測サンプルを含み、
第2処理ユニット1105は更に、前記MIP予測ブロックの幅と高さのいずれかが前記現在ブロックと異なる場合、前記MIP予測ブロックに対して第2フィルタリング処理を実行して、前記現在ブロックの予測ブロックを取得するか、又は、前記MIP予測ブロックの幅と高さの両方が前記現在ブロックと同じである場合、前記現在ブロックの予測ブロックを前記MIP予測ブロックと等しくなるように設定するように構成され、ここで、前記予測ブロックは、前記現在ブロックの全ての画素位置の予測サンプルを含む。
【0148】
上記の解決策において、第2取得ユニット1104は、具体的に、前記MIP予測ブロックの予測サンプルに対してクリッピング処理を実行して、前記現在ブロックのMIP予測ブロックを取得するように構成される。
【0149】
上記の解決策において、図11を参照すると、デコーダ110は更に、第2判断ユニット1108を備えることができ、第2判断ユニット1108は、前記MIP予測ブロックに対して転置処理を実行するかどうかを判断し、判断結果が「はい」である場合、前記MIP予測ブロックの予測サンプルに対して転置処理を実行し、転置後のMIP予測ブロックを前記現在ブロックのMIP予測ブロックとして決定するように構成される。
【0150】
上記の解決策において、解析ユニット1106は、具体的に、ビットストリームを解析して、転置処理指示フラグの値を取得するように構成され、
第2判断ユニット1108は、具体的に、前記転置処理指示フラグの値に従って、前記MIP予測ブロックに対して転置処理を実行するかどうかを判断するように構成される。
【0151】
上記の解決策において、前記第2フィルタリング処理は、アップサンプリングフィルタリング処理又は低域通過フィルタリング処理を含む。
【0152】
上記の解決策において、第2取得ユニット1104は更に、前記現在ブロックに対応する重み行列、シフト因子及びオフセット因子を取得するように構成され、
第2計算ユニット1107は更に、第2予め設定された計算モデルを用いて、前記入力サンプル行列、前記重み行列、前記シフト因子及び前記オフセット因子に対して行列乘算処理を実行して、前記MIP予測ブロックを計算するように構成される。
【0153】
上記の解決策において、第2決定ユニット1101は更に、前記現在ブロックに対応する水平アップサンプリング因子及び垂直アップサンプリング因子を決定するように構成され、
第2計算ユニット1107は更に、前記MIP予測ブロック、前記水平アップサンプリング因子及び前記垂直アップサンプリング因子に従って、第3予め設定された計算モデルを用いて前記現在ブロックの充填対象となる画素位置の予測値を決定して、前記現在ブロックの予測ブロックを取得するように構成され、ここで、前記充填対象となる画素位置は、前記現在ブロック内の、前記MIP予測ブロックの画素位置とは異なる画素位置である。
【0154】
理解できることとして、本実施例において、「ユニット」は、回路の一部、プロセッサの一部、プログラム又はソフトウェアの一部などであってもよく、もちろん、モジュール式であってもよいし、非モジュール式であってもよい。また、本実施例における各構成ユニットを1つの処理部に統合してもよく、各ユニットを別々に1つのユニットとして使用してもよいし、2つ以上のユニットを1つのユニットに統合してもよい。前記統合されたユニットは、ハードウェアの形で実装されてもよいし、ソフトウェア機能モジュールの形で実装されてもよい。
【0155】
上述の統合されたユニットがソフトウェア機能モジュールの形で実現され、スタンドアロン製品として販売または使用されない場合、1つのコンピュータ可読記憶媒体に記憶されることができる。これらに基づき、本実施例は、デコーダ110に適用されるコンピュータ記憶媒体を提供し、当該コンピュータ記憶媒体には、画像コンポーネント予測プログラムが記憶され、前記画像コンポーネント予測プログラムは、第2プロセッサによって実行されるときに上記の実施例に記載の任意の方法を実現する。
【0156】
上記のデコーダ110の構成及びコンピュータ記憶媒体に基づき、図12を参照すると、本願実施例に係るデコーダ110の特定のハードウェアの構造を示し、前記デコーダ110は、第2通信インターフェース1201と、第2メモリ1202と、第2プロセッサ1203と、を備えることができ、各コンポーネントは、第2バスシステム1204を介して結合される。理解できることとして、第2バスシステム1204は、これらのコンポーネント間の接続通信を具現するために使用される。第2バスシステム1204は、データバスに加えて、電力バス、制御バスおよび状態信号バスを備える。しかしながら、説明を明確にするために、図12では様々なバスをすべて第2バスシステム1204として表記する。
【0157】
第2通信インターフェース1201は、他の外部要素と情報を送受信するプロセスで、信号の受信および送信をするように構成され、
第2メモリ1202は、第2プロセッサ1203で実行可能なコンピュータプログラムを記憶するように構成され、
第2プロセッサ1203は、前記コンピュータプログラムを実行するときに、
現在ブロックの隣接参照サンプル集合を決定し、前記現在ブロックに対応する予め設定されたサンプルを決定することであって、前記隣接参照サンプル集合は、少なくとも1つの参照サンプルを含む、ことと、
前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成することと、
前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定することと、
前記入力サンプル行列に従って前記現在ブロックに対して画像コンポーネント予測を実行して、前記現在ブロックの予測ブロックを取得することと、を実行するように構成される。
【0158】
例示的に、別の実施例として、第2プロセッサ1203は更に、前記コンピュータプログラムを実行するときに、上記の実施例に記載の任意の方法を実行するように構成される。
【0159】
理解できることとして、第2メモリ1202は、第1メモリ1002と同様のハードウェア機能を有し、第2プロセッサ1203は、第1プロセッサ1003と同様のハードウェア機能を有し、ここでは繰り返して説明しない。
【0160】
本実施例は、デコーダを提供し、当該デコーダは、第2決定ユニットと、第2バッファユニットと、第2予測ユニットと、を備え、ここで、第2決定ユニットは、現在ブロックの隣接参照サンプル集合を決定し、現在ブロックに対応する予め設定されたパラメータ値を決定するように構成され、第2バッファユニットは、前記隣接参照サンプル集合及び前記予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成するように構成され、第2決定ユニットは更に、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定するように構成され、第2予測ユニットは、前記入力サンプル行列に従って現在ブロックに対して画像コンポーネント予測を実行して、現在ブロックの予測ブロックを取得するように構成される。このようにして、行列乘算のための入力サンプルの導出プロセスを簡略化し、これにより、入力サンプル行列の導出プロセスを統一するだけでなく、現在ブロックの種類を判断する必要がないため、時間と複雑さを低減し、ハードウェアの実装も容易になる。
【0161】
留意されたいこととして、本願では、「含む」、「備える」又はそれらの他の変形という用語は、非排他的な包含をカバーすることを意図しているため、一連の要素を含むプロセス、方法、物品又は装置はそれらの要素を含むだけでなく、明示的にリストされていない他の要素も含み、又はこれらのプロセス、方法、物品又は装置に固有の要素も含む。特に限定しない限り、「~を含む」という用語で限定された要素は、その要素を含むプロセス、方法、物品又は装置に他の同じ要素が存在することを除外しない。
【0162】
上述の本願実施例の番号は、実施例の優劣を表すためのものではなく、説明の便宜を図るためのものである。
【0163】
本願で提供されるいくつかの方法の実施例に開示される方法は、競合することなく任意に組み合わせて、新しい方法の実施例を取得することができる。
【0164】
本願で提供されるいくつかの製品の実施例に開示される技術的特徴は、競合することなく任意に組み合わせて、新しい製品の実施例を取得することができる。
【0165】
本願で提供されるいくつかの方法又は機器の実施例に開示される特徴は、競合することなく任意に組み合わせて、新しい方法の実施例又は機器の実施例を取得することができる。
【0166】
上記の説明は、本願の特定の実施形態に過ぎず、本願の保護範囲はこれに限定されない。本願に開示された技術的範囲内で、当業者が容易に想到し得る変形又は置換は、すべて本願の保護範囲内に含まれるべきである。したがって、本願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【産業上の利用可能性】
【0167】
本願実施例によれば、現在ブロックの隣接参照サンプル集合を決定し、現在ブロックに対応する予め設定されたパラメータ値を決定し、隣接参照サンプル集合及び予め設定されたパラメータ値をバッファリングして、入力参照サンプル集合を作成した後、前記入力参照サンプル集合に従って、第1予め設定された計算モデルを用いて入力サンプル行列を決定し、入力サンプル行列に従って現在ブロックに対して画像コンポーネント予測を実行して、現在ブロックの予測ブロックを取得する。このように、本願実施例に係る技術的解決策は、現在ブロックの種類を判断する必要がないため、計算の複雑さを低減し、ハードウェアの実装が容易になる。さらに、入力参照サンプル集合及び第1予め設定された計算モデルに従って入力サンプル行列を決定することができるため、行列乘算のための入力サンプルの導出プロセスが簡略化され、これによって、入力サンプル行列の導出プロセスが統一され、更に、本願実施例の技術的解決策は、現在ブロックの種類に依存せず、並列処理を実現することができるため、計算の複雑さを低減することもできる。
図1
図2
図3
図4A
図4B
図5A
図5B
図5C
図6A
図6B
図7
図8
図9
図10
図11
図12