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

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

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

特表2024-503193フレーム内予測方法、装置、及びデコーダとエンコーダ
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-25
(54)【発明の名称】フレーム内予測方法、装置、及びデコーダとエンコーダ
(51)【国際特許分類】
   H04N 19/593 20140101AFI20240118BHJP
   H04N 19/11 20140101ALI20240118BHJP
   H04N 19/157 20140101ALI20240118BHJP
   H04N 19/176 20140101ALI20240118BHJP
   H04N 19/70 20140101ALI20240118BHJP
【FI】
H04N19/593
H04N19/11
H04N19/157
H04N19/176
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023533963
(86)(22)【出願日】2020-12-03
(85)【翻訳文提出日】2023-06-27
(86)【国際出願番号】 CN2020133692
(87)【国際公開番号】W WO2022116113
(87)【国際公開日】2022-06-09
(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ターム(参考)】
5C159MA04
5C159RC12
5C159TA31
5C159TB08
5C159TC26
5C159TC27
5C159UA02
5C159UA05
(57)【要約】
フレーム内予測方法、装置及びエンコーダとデコーダを提供する。本願の実施例において、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、2種類以上の予測ブロックを取得し、重みマトリックスに基づいて、得られた2種類以上の予測ブロックに対して組み合わせを行い、それによって、処理待ちブロックの予測ブロックを得る。本願の実施例は、複数の種類のフレーム内予測モードによって複数の予測ブロックを決定し、複雑なテクスチャの予測処理を実現し、フレーム内予測の品質を向上させ、それによって、圧縮性能を向上させる。さらに、本願の実施例に提供されるフレーム内予測方法を適用して、多様化の重みマトリックスによって、より複雑なテクスチャの予測処理に保障を提供し、フレーム内予測の品質を向上させ、それによって、圧縮性能を向上させる。
【特許請求の範囲】
【請求項1】
デコーダに適用されるフレーム内予測方法であって、
2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップと、
重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るステップと、を含む、フレーム内予測方法。
【請求項2】
前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得する前に、前記フレーム内予測方法はさらに、
コードストリームを解析し、前記2種類以上の異なるフレーム内予測モード、前記処理待ちブロック、及び前記重みマトリックスを取得するステップを含む、
請求項1に記載のフレーム内予測方法。
【請求項3】
前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得する前に、前記フレーム内予測方法はさらに、
コードストリームを解析し、フラグを取得するステップを含み、
前記フラグは、フレームレベルのフラグであり、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップを引き続き実行するかどうかを表すためのものであり、
及び/又は、前記フラグは、フレームレベル以下、且つ符号化ユニット(CU)レベル以上のフラグであり、示された領域に対して前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップを引き続き実行するかどうかを表すためのものである、
請求項1に記載のフレーム内予測方法。
【請求項4】
前記2種類以上の異なるフレーム内予測モードは、第1フレーム内予測モードを含み、又は、第1フレーム内予測モードと第2フレーム内予測モードを含み、
第1フレーム内予測モードは、他のフレーム内予測モードに依存せずに予測ブロックを独立で生成するフレーム内予測モードであり、第2フレーム内予測モードは、基本フレーム内予測モードに依存して予測ブロックを決定するフレーム内予測モードである、
請求項1~3のいずれか1項に記載のフレーム内予測方法。
【請求項5】
前記2種類以上の異なるフレーム内予測モードは、少なくとも1種類の前記第1フレーム内予測モードを含む、
請求項4に記載のフレーム内予測方法。
【請求項6】
前記フレーム内予測モードは、2種類の異なるフレーム内予測モードを含み、
2種類の異なるフレーム内予測モードは、いずれも前記第1フレーム内予測モードである、
請求項5に記載のフレーム内予測方法。
【請求項7】
前記フレーム内予測モードは、2種類の異なるフレーム内予測モードを含み、
2種類の異なるフレーム内予測モードは、1種類の前記第1フレーム内予測モードと1種類の前記第2フレーム内予測モードを含む、
請求項5に記載のフレーム内予測方法。
【請求項8】
前記第1フレーム内予測モードは、方向角度(DC)モード、平滑(Planar)モード、平面(Plane)モード、双線形(Bilinear)モード、及び角度予測(AC)モード、を含む、
請求項5に記載のフレーム内予測方法。
【請求項9】
前記第2フレーム内予測モードは、参照画素のサブ画素補間を改善し、予測画素に対してフィルタリングを行うステップを含む、
請求項5に記載のフレーム内予測方法。
【請求項10】
前記フレーム内予測方法はさらに、
前記第2フレーム内予測モードを採用して前記目標予測ブロックに対してフレーム内予測を行い、予測して得られた結果を前記目標予測ブロックとするステップを含む、
請求項6に記載のフレーム内予測方法。
【請求項11】
前記フレーム内予測モードは、2種類の異なるフレーム内予測モードを含み、前記予測ブロックは、第1予測ブロックと第2予測ブロックを含み、前記重みマトリックスは、第1重みマトリックスと第2重みマトリックスを含み、
重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るステップは、
第1予測ブロックと第1重みマトリックスとの第1積を計算し、第2予測ブロックと第2重みマトリックスとの第2積を計算するステップと、
第1積、第2積、及び事前設定値の和を計算するステップと、
計算して得られた和に基づいて、前記目標予測ブロックを得るステップと、を含む、
請求項1~3のいずれか1項に記載のフレーム内予測方法。
【請求項12】
前記第2重みマトリックスは、最大重み値と前記第1重みマトリックスとの差であり、
前記正規化処理は、計算して得られた和を事前設定のビット数だけ右シフトし、復号化待ちブロックの予測ブロックを得るステップを含む、
請求項11に記載のフレーム内予測方法。
【請求項13】
前記最大重み値は8に等しく、前記事前設定値は4に等しく、前記事前設定のビット数は3に等しい、
請求項12に記載のフレーム内予測方法。
【請求項14】
すべての可能な前記重みマトリックスに、少なくとも2つの異なる重み値が含まれる重みマトリックスは、少なくとも1つ存在する、
請求項11に記載のフレーム内予測方法。
【請求項15】
すべての可能な前記重みマトリックスに、少なくとも2つの異なる重み値が含まれる重みマトリックスは、少なくとも1つ存在し、しかも、同一の重み値だけが含まれる重みマトリックスは、少なくとも1つ存在する、
請求項14に記載のフレーム内予測方法。
【請求項16】
少なくとも2つの異なる重み値が含まれる少なくとも1つの前記重みマトリックスの場合、最小重み値と最大重み値に基づいて、前記処理待ちブロックにおける各点は、いずれも2つのフレーム内予測モードによって導出された予測値を加重して得られるものである、
請求項14に記載のフレーム内予測方法。
【請求項17】
すべての可能な前記重みマトリックスに、2種類の重み値だけが含まれる重みマトリックスは、1つしか存在することがなく、そのうちの1つの重み値は、対応する点の予測値が完全に第1予測ブロックの対応する点の値からのものであることを表し、もう1つの重み値は、対応する点の予測値が完全に第2予測ブロックの対応する点の値からのものであることを表す、
請求項14に記載のフレーム内予測方法。
【請求項18】
すべての可能な前記重みマトリックスにおいて、1つの重みマトリックスは、複数の種類の重み値を含み、重み値の最大値と最小値のそれぞれは、対応する点の予測値が完全に前記第1予測ブロックの対応する点の値と前記第2予測ブロックの対応する点の値からのものであることを表し、最大値と最小値ではない重み値は、対応する点の予測値が前記第1予測ブロックと前記第2予測ブロックの対応する点の値の加重平均からのものであることを表す、
請求項14に記載のフレーム内予測方法。
【請求項19】
すべての可能な前記重みマトリックスにおいて、重みマトリックスが2種類の重み値だけを含む場合、重み値の変化位置は、1本の直線として表され、
重みマトリックスが複数の種類の重み値を含む場合、過渡領域における重み値が同じである位置は、1本の直線として表される、
請求項14に記載のフレーム内予測方法。
【請求項20】
すべての可能な前記重みマトリックスにおいて、重みマトリックスが2種類の重み値だけを含む場合、重み値の変化位置は、1本の曲線として表され、
重みマトリックスが複数の種類の重み値を含む場合、過渡領域における重み値が同じである位置は、1本の曲線を構成する、
請求項14に記載のフレーム内予測方法。
【請求項21】
前記処理待ちブロック又は目標予測ブロックの幅と高さは、
幅が第1閾値TH1以上であり、高さが第2閾値TH2以上であり、
又は、幅が第4閾値TH4以下であり、高さが第5閾値TH5s以下である、
請求項1に記載のフレーム内予測方法。
【請求項22】
前記第1閾値TH1は前記第2閾値TH2に等しく、前記第1閾値TH1は8に等しい、
請求項21に記載のフレーム内予測方法。
【請求項23】
前記処理待ちブロック又は目標予測ブロックの幅と高さは、
幅と高さの比例が事前設定の比例閾値THR以下であり、高さと幅の比例が比例閾値THR以下である、
請求項1又は21に記載のフレーム内予測方法。
【請求項24】
前記比例閾値THRは4に等しい、
請求項23に記載のフレーム内予測方法。
【請求項25】
前記フレーム内予測方法はさらに、
前記フレーム内予測方法に使用された前記フレーム内予測モード情報を記憶するステップを含む、
請求項1~3のいずれか1項に記載のフレーム内予測方法。
【請求項26】
前記フレーム内予測モードは、2種類の異なるフレーム内予測モードを含み、
前記フレーム内予測方法に使用された前記フレーム内予測モードを記憶するステップは、
記憶したフレーム内予測モードが異なる最小ユニットは、少なくとも2つ存在することを含む、
請求項25に記載のフレーム内予測方法。
【請求項27】
前記フレーム内予測方法に使用された前記フレーム内予測モードを記憶するステップは、
前記処理待ちブロック全体に対応するすべての最小ユニットに、同一のフレーム内予測モードを選択して記憶を行うステップを含む、
請求項25に記載のフレーム内予測方法。
【請求項28】
前記フレーム内予測モードは、2種類の異なるフレーム内予測モードを含み、
前記復号化待ちブロック全体に対応するすべての最小ユニットに、同一のフレーム内予測モードを選択して記憶を行うステップは、
コードストリームを解析して得られた前記重みマトリックス導出モードに基づいて、前記処理待ちブロックのすべての最小ユニットに、いずれも2種類のフレーム内予測モードのうちの1種類のフレーム内予測モードを記憶し、又は、2種類のフレーム内予測モードのうちの別の1種類のフレーム内予測モードを記憶することを決定するステップ、
又は、前記重みマトリックスの導出モードのモード番号に基づいて、前記処理待ちブロックのすべての最小ユニットに、いずれも2種類のフレーム内予測モードのうちの1種類のフレーム内予測モードを記憶し、又は、2種類のフレーム内予測モードのうちの別の1種類のフレーム内予測モードを記憶することを決定するステップ、を含む、
請求項27に記載のフレーム内予測方法。
【請求項29】
前記フレーム内予測モードは、2種類の異なるフレーム内予測モードを含み、
前記復号化された前記2種類の異なるフレーム内予測モードのうちの1種類のフレーム内予測モードの情報に基づいて、別の1種類のフレーム内予測モードを決定する、
請求項2に記載のフレーム内予測方法。
【請求項30】
前記第1フレーム内予測モードと前記第2フレーム内予測モードは、いずれも最も可能なモード(MPM)を使用する、
請求項29に記載のフレーム内予測方法。
【請求項31】
コンピュータ実行可能な命令を記憶したコンピュータ可読記憶媒体であって、前記コンピュータ実行可能な命令は、請求項1~30のいずれか1項に記載のフレーム内予測方法を実現させるためのものである、コンピュータ可読記憶媒体。
【請求項32】
メモリとプロセッサを含むデコーダであって、メモリは、プロセッサに実行可能な命令を記憶し、前記実行可能な命令は、請求項1~30のいずれか1項に記載のフレーム内予測方法のステップを実現させるためのものである、デコーダ。
【請求項33】
復号化モジュール、予測モジュール、及び組み合わせモジュール、を含むデコーダであって、
復号化モジュールは、受け取ったコードストリームに対して復号化を行い、2種類以上の異なるフレーム内予測モード、処理待ちブロック、及び重みマトリックスを取得するように構成され、
予測モジュールは、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するように構成され、
組み合わせモジュールは、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るように構成される、デコーダ。
【請求項34】
前記復号化モジュールはさらに、
フレームレベルのフラグに基づいて、復号化して得られた2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを引き続き実行するかどうかを判断するように構成される、
請求項33に記載のデコーダ。
【請求項35】
前記復号化モジュールはさらに、フレームレベル以下、且つCUレベル以上のフラグに基づいて、復号化して得られた2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを引き続き実行するかどうかを判断するように構成される、
請求項33に記載のデコーダ。
【請求項36】
エンコーダに適用されるフレーム内予測方法であって、
2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップと、
重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るステップと、を含む、フレーム内予測方法。
【請求項37】
前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得する前に、前記フレーム内予測方法はさらに、
すべて又は一部の可能な予測モードと重みマトリックス導出モードの組み合わせとに対して試行を行い、損失コストを計算し、損失コストが小さい組み合わせを選択するステップと、
組み合わせ内の2種類以上の異なるフレーム内予測モードと重みマトリックスを、フレーム内予測に使用される前記2種類以上の異なるフレーム内予測モード、前記重みマトリックスとするステップと、を含む、
請求項36に記載のフレーム内予測方法。
【請求項38】
前記試行の前に、前記フレーム内予測方法はさらに、
前記処理待ちブロックのテクスチャに対して分析を行うステップを含み、
前記試行はさらに、テクスチャの分析結果に基づいて前記試行のフレーム内予測モードを決定するステップを含む、
請求項37に記載のフレーム内予測方法。
【請求項39】
前記試行の後に、前記フレーム内予測方法はさらに、
選出された組み合わせの損失コストが他の予測モードのコスト以下である場合、前記選出された組み合わせにおけるフレーム内予測モードを前記処理待ちブロックの予測モードとすることを決定し、選出された組み合わせの損失コストが他の予測モードのコストより大きい場合、他の種類の予測モードを前記処理待ちブロックの予測モードとして選択するステップを含む、
請求項37に記載のフレーム内予測方法。
【請求項40】
前記損失コストを計算する方式は、
絶対誤差和(SAD)、変化残差絶対値和(SATD)、及びレート歪み最適化(RDO)、のうちの1種類又は任意の組み合わせを含む、
請求項37、38又は39に記載のフレーム内予測方法。
【請求項41】
損失コストが小さい組み合わせを選択するステップは、
SATD及び/又はSADを採用して一次選別操作を行い、すべて又は一部の前記可能な予測モードと重みマトリックス導出モードの組み合わせから候補組み合わせを決定するステップと、
RDOを採用して二次選別操作を行い、候補組み合わせから損失コストが最も小さい組み合わせを決定するステップと、を含む、
請求項37、38又は39に記載のフレーム内予測方法。
【請求項42】
フレーム内角度予測モードによるコストが大きい場合、該フレーム内角度予測モード、及び該フレーム内角度予測モードに隣接する事前設定の数量のフレーム内予測モードを、前記候補組み合わせから除去する、
請求項37に記載のフレーム内予測方法。
【請求項43】
前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得する前に、前記フレーム内予測方法はさらに、フラグを設定するステップであって、前記フラグは、フレームレベルであり、デコーダが前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップを引き続き実行するかどうかを表すためのものであり、及び/又は、前記フラグは、フレームレベル以下、且つ符号化ユニット(CU)レベル以上のフラグであり、示された領域に対してデコーダが前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップを引き続き実行するかどうかを表すためのものである、ステップと、
前記フラグをコードストリームに書き込むステップと、を含む、
請求項36に記載のフレーム内予測方法。
【請求項44】
前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得する前に、前記フレーム内予測方法はさらに、
前記フレーム内予測方法と相互に排他的な予測モードを取得するステップと、
前記フレーム内予測方法を使用して、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップを引き続き実行することを決定し、又は、相互に排他的な予測モードを使用することを決定するステップと、を含む、
請求項36に記載のフレーム内予測方法。
【請求項45】
コンピュータ実行可能な命令を記憶したコンピュータ可読記憶媒体であって、前記コンピュータ実行可能な命令は、請求項36~44のいずれか1項に記載のフレーム内予測方法を実現させるためのものである、コンピュータ可読記憶媒体。
【請求項46】
メモリとプロセッサを含むエンコーダであって、メモリは、プロセッサに実行可能な命令を記憶し、前記実行可能な命令は、請求項36~44のいずれか1項に記載のフレーム内予測方法のステップを実現させるためのものである、エンコーダ。
【請求項47】
予測モジュール、組み合わせモジュール、及び処理モジュール、を含むエンコーダであって、
前記予測モジュールは、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するように構成され、
前記組み合わせモジュールは、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るように構成され、
前記処理モジュールは、すべて又は一部の可能な予測モードと重みマトリックス導出モードの組み合わせとに対して試行を行い、損失コストを計算し、損失コストが小さい組み合わせを選択し、組み合わせ内の2種類以上の異なるフレーム内予測モードと重みマトリックスを、フレーム内予測に使用される2種類以上の異なるフレーム内予測モードと重みマトリックスとし、決定された2種類以上の異なるフレーム内予測モードと重みマトリックス導出モードという情報を文法に従ってコードストリームに書き込むように構成される、エンコーダ。
【請求項48】
前記処理モジュールはさらに、フラグを設定するように構成され、
前記フラグは、フレームレベルであり、デコーダが前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得することを引き続き実行するかどうかを表すためのものであり、
及び/又は、前記フラグは、フレームレベル以下、且つ符号化ユニット(CU)レベル以上のフラグであり、示された領域に対してデコーダが前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得することを引き続き実行するかどうかを表すためのものである、
請求項47に記載のエンコーダ。
【請求項49】
前記処理モジュールはさらに、
前記フレーム内予測と相互に排他的な予測モードを設定し、
前記処理待ちブロックに対して前記フレーム内予測を使用する場合、相互に排他的な予測モードを使用せず、又は、前記処理待ちブロックに対して相互に排他的な予測モードを使用する場合、前記フレーム内予測を使用しないように構成される、
請求項47に記載のエンコーダ。
【請求項50】
前記組み合わせモジュールはさらに、
フレーム内予測に使用されたフレーム内予測モード情報を記憶するように構成される、
請求項47に記載のエンコーダ。
【請求項51】
フレーム内予測方法であって、
2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うステップと、
各種類のフレーム内予測モードの予測によって事前設定の数量の画素点の予測が完了した後に、重みマトリックスと予測完了の各フレーム内予測モードに対応する画素点とに基づいて処理待ちブロックの事前設定の数量の予測画素点を得るステップと、
得られた複数の事前設定の数量の予測画素点に基づいて処理待ちブロックの目標予測ブロックを得るステップと、を含む、フレーム内予測方法。
【請求項52】
予測モジュールと組み合わせモジュールを含むフレーム内予測装置であって、
予測モジュールは、復号化して得られた2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するように構成され、
組み合わせモジュールは、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るように構成される、フレーム内予測装置。
【請求項53】
前記装置は、エンコーダに、又はデコーダに設置される、
請求項52に記載のフレーム内予測装置。
【請求項54】
前記装置は、デコーダに設置され、前記装置はさらに、復号化モジュールを含み、
復号化モジュールは、受け取ったコードストリームに対して復号化を行い、前記2種類以上の異なるフレーム内予測モード、前記処理待ちブロック、及び前記重みマトリックスを取得するように構成される、
請求項53に記載のフレーム内予測装置。
【請求項55】
前記復号化モジュールはさらに、
フレームレベルのフラグに基づいて、復号化して得られた2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを引き続き実行するかどうかを判断するように構成される、
請求項54に記載のフレーム内予測装置。
【請求項56】
前記復号化モジュールはさらに、フレームレベル以下、且つCUレベル以上のフラグに基づいて、復号化して得られた2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを引き続き実行するかどうかを判断するように構成される、
請求項54に記載のフレーム内予測装置。
【請求項57】
前記装置は、エンコーダに設置され、前記装置はさらに、処理モジュールを含み、
処理モジュールは、すべて又は一部の可能な予測モードと重みマトリックス導出モードの組み合わせとに対して試行を行い、損失コストを計算し、損失コストが小さい組み合わせを選択し、組み合わせ内の2種類以上の異なるフレーム内予測モードと重みマトリックスを、フレーム内予測に使用される2種類以上の異なるフレーム内予測モードと重みマトリックスとし、決定された2種類以上の異なるフレーム内予測モードと重みマトリックス導出モードという情報を文法に従ってコードストリームに書き込むように構成される、
請求項53に記載のフレーム内予測装置。
【請求項58】
前記処理モジュールはさらに、フラグを設定するように構成され、
前記フラグは、フレームレベルであり、デコーダが前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得することを引き続き実行するかどうかを表すためのものであり、
及び/又は、前記フラグは、フレームレベル以下、且つ符号化ユニット(CU)レベル以上のフラグであり、示された領域に対してデコーダが前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得することを引き続き実行するかどうかを表すためのものである、
請求項57に記載のフレーム内予測装置。
【請求項59】
前記処理モジュールはさらに、
前記フレーム内予測と相互に排他的な予測モードを設定し、
前記処理待ちブロックに対して前記フレーム内予測を使用する場合、相互に排他的な予測モードを使用せず、又は、前記処理待ちブロックに対して相互に排他的な予測モードを使用する場合、前記フレーム内予測を使用しないように構成される、
請求項57に記載のフレーム内予測装置。
【請求項60】
前記組み合わせモジュールはさらに、
フレーム内予測に使用されたフレーム内予測モード情報を記憶するように構成される、
請求項52に記載のフレーム内予測装置。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願への相互参照)
本願は、ビデオ処理技術に関し、特に、フレーム内予測方法、装置、及びデコーダとエンコーダに関する。
【背景技術】
【0002】
ビデオの1つのフレームにおける隣接画素の間に、強い相関性が存在する。ビデオ符号化・復号化技術において、フレーム内予測方法を使用することによって隣接画素の間の空間冗長を除去し、それによって、符号化の効率を向上させる。
【0003】
一般的なフレーム内予測モードで、簡単なテクスチャに対して予測を行うことができる。複雑なテクスチャの場合、より小さいブロックに分割するか、それともより多くの残差に対して符号化を行う必要があり、そのため、フレーム内予測の複雑度を高める。即ち、関連するフレーム内予測の解決策において、犠牲として歪みが大きくなるか、それとも複雑度が高くなるため、フレーム内予測の品質が低くなる。
【発明の概要】
【0004】
以下では、本明細書で記載される発明の概要である。本概要は、特許請求の保護範囲を限定するためのものではない。
【0005】
本願は、フレーム内予測方法、装置及びデコーダとエンコーダを提供し、フレーム内予測の品質を向上させることができる。
【0006】
本願の実施例は、デコーダに適用されるフレーム内予測方法を提供する。該フレーム内予測方法は、
2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップと、
重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るステップと、を含む。
【0007】
本願の実施例は、コンピュータ実行可能な命令を記憶したコンピュータ可読記憶媒体を提供する。前記コンピュータ実行可能な命令は、上記のいずれか1項に記載のフレーム内予測方法を実現させるためのものである。
【0008】
本願の実施例は、メモリとプロセッサを含むデコーダを提供する。メモリは、プロセッサに実行可能な命令を記憶し、前記実行可能な命令は、上記のいずれか1項に記載のフレーム内予測方法のステップを実現させるためのものである。
【0009】
本願の実施例は、復号化モジュール、予測モジュール、及び組み合わせモジュール、を含むデコーダを提供する。
【0010】
復号化モジュールは、受け取ったコードストリームに対して復号化を行い、2種類以上の異なるフレーム内予測モード、処理待ちブロック、及び重みマトリックスを取得するように構成され、
予測モジュールは、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するように構成され、
組み合わせモジュールは、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るように構成される。
【0011】
本願の実施例は、エンコーダに適用されるフレーム内予測方法を提供する。該フレーム内予測方法は、
2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップと、
重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るステップと、を含む。
【0012】
本願の実施例は、コンピュータ実行可能な命令を記憶したコンピュータ可読記憶媒体を提供する。前記コンピュータ実行可能な命令は、エンコーダに適用される上記のいずれか1項に記載のフレーム内予測方法を実現させるためのものである。
【0013】
本願の実施例は、メモリとプロセッサを含むエンコーダを提供する。メモリは、プロセッサに実行可能な命令を記憶し、前記実行可能な命令は、エンコーダに適用される上記のいずれか1項に記載のフレーム内予測方法のステップを実現させるためのものである。
【0014】
本願の実施例は、予測モジュール、組み合わせモジュール、及び処理モジュール、を含むエンコーダを提供する。
【0015】
予測モジュールは、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するように構成され、
組み合わせモジュールは、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るように構成され、
処理モジュールは、すべて又は一部の可能な予測モードと重みマトリックス導出モードの組み合わせとに対して試行を行い、損失コストを計算し、損失コストが小さい組み合わせを選択し、組み合わせ内の2種類以上の異なるフレーム内予測モードと重みマトリックスを、フレーム内予測に使用される2種類以上の異なるフレーム内予測モードと重みマトリックスとし、決定された2種類以上の異なるフレーム内予測モードと重みマトリックス導出モードという情報を文法に従ってコードストリームに書き込むように構成される。
【0016】
本願の実施例は、フレーム内予測方法を提供する。該フレーム内予測方法は、
2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うステップと、
各種類のフレーム内予測モードの予測によって事前設定の数量の画素点の予測が完了した後に、重みマトリックスと予測完了の各フレーム内予測モードに対応する画素点とに基づいて処理待ちブロックの事前設定の数量の予測画素点を得るステップと、
得られた複数の事前設定の数量の予測画素点に基づいて処理待ちブロックの目標予測ブロックを得るステップと、を含む。
【0017】
本願の実施例は、予測モジュールと組み合わせモジュールを含むフレーム内予測装置を提供する。
【0018】
予測モジュールは、復号化して得られた2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するように構成され、
組み合わせモジュールは、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るように構成される。
【0019】
本願の実施例に提供されるフレーム内予測方法、装置及びエンコーダとデコーダを適用して、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、2種類以上の予測ブロックを取得する。次に、重みマトリックスに基づいて、得られた2種類以上の予測ブロックに対して組み合わせを行い、それによって、処理待ちブロックの予測ブロックを得る。本願の実施例は、複数の種類のフレーム内予測モードによって複数の予測ブロックを決定し、複雑なテクスチャの予測処理を実現し、フレーム内予測の品質を向上させ、それによって、圧縮性能を向上させる。
【0020】
さらに、本願の実施例に提供されるフレーム内予測方法を適用して、多様化の重みマトリックスによって、より複雑なテクスチャの予測処理に保障を提供し、フレーム内予測の品質を向上させ、それによって、圧縮性能を向上させる。さらに、本願の実施例に提供されるフレーム内予測方法は、より多くの場面に適用されることができる。
【0021】
本願の実施例の他の特徴と利点は、後続の明細書に記載され、明細書の記載によって明確化しており、又は、本願によって理解することができる。本願の目的と他の利点は、明細書、特許請求の範囲及び図面に記載される構成によって実現・取得されることができる。
【0022】
図面と詳細な説明を読んで理解した後に、他の態様が分かることができる。
【図面の簡単な説明】
【0023】
図1(a)】本願の実施例におけるブロックに基づくハイブリッド符号化フレームワークの概略図である。
図1(b)】本願の実施例におけるビデオ符号化システムの一例の構造ブロック概略図である。
図1(c)】本願の実施例におけるビデオ復号化システムの一例の構造ブロック概略図である。
図2】本願の実施例におけるフレーム内予測方法の実施例の概略図である。
図3】本願の実施例における4つの参照行/列を使用してフレーム内予測を実現する実施例の概略図である。
図4】本願の実施例におけるH.264で4×4のブロックに対してフレーム内予測を行う9種類のモードの概略図である。
図5】本願の実施例における正方形のブロックでのGPMの64種類のモードの重み図である。
図6】本願の実施例における正方形のブロックでのAWPの56種類のモードの重み図である。
図7】本願の実施例におけるフレーム内予測方法の一例のフローチャートである。
図8】本願の実施例において2種類の異なるフレーム内予測モードを採用してフレーム内予測を行う概略図である。
図9(a)】本願の実施例において重みの変化位置が直線として表される概略図である。
図9(b)】本願の実施例において重みの変化位置が曲線として表される概略図である。
図10】本願における相互に排他的な場合の第1実施例の過程の概略図である。
図11】本願における相互に排他的な場合の第2実施例の過程の概略図である。
図12】本願の実施例においてフレーム内予測モードを記憶する概略図である。
図13】本願の実施例におけるフレーム内予測装置の構造概略図である。
図14】本願の実施例におけるフレーム内予測方法の別の一例のフローチャートである。
【発明を実施するための形態】
【0024】
上記で説明された図面は、本開示に対するさらなる理解を提供するためのものであり、本願の一部を構成する。本願の例示的な実施例及びその説明は、本願を解釈するためのものであり、本願に対する限定を構成するものではない。
【0025】
以下では、図面と実施例を参照して本願を詳細に説明する。説明すべきこととして、競合しない場合、本願における実施例及び実施例における特徴は、相互に組み合わせることができる。
【0026】
本願の実施例に提供されるフレーム内予測方法は、図6(a)に示すブロックに基づくハイブリッド符号化フレームワークのビデオコーデックの基本プロセスに適用されるが、該フレームワーク及びプロセスに限定されるものではない。
【0027】
図1(a)に示すブロックに基づくハイブリッド符号化フレームワークのビデオコーデックの基本動作原理は、下記の通りである。符号化側に、1つのフレーム画像をブロックに分割し、現在ブロックに対してフレーム内予測を使用して現在ブロックの予測ブロックを生成し、現在ブロックのオリジナルブロックから予測ブロックを引いて残差ブロックを得る。残差ブロックに対して変換と量子化を行い、量子化係数マトリックスを得、量子化係数マトリックスに対してエントロピー符号化を行い、コードストリームに出力する。
【0028】
ここで、上記の画像フレームのブロックの分割において、各フレームは、同じサイズ(例えば、128×128、64×64など)の正方形の最大符号化ユニット(LCU:Largest Coding Unit)に分割される。各最大符号化ユニットは、規則に従って矩形の符号化ユニット(CU:Coding Unit)に分割されることができる。符号化ユニットはさらに、予測ユニット(PU:Prediction Unit)、変換ユニット(TU:Transform Unit)などに分割される可能性がある。
【0029】
復号化側に、一方で、現在ブロックに対してフレーム内予測又はフレーム間予測を使用して現在ブロックの予測ブロックを生成し、もう一方で、コードストリームを解析して量子化係数マトリックスを得、量子化係数マトリックスに対して逆量子化と逆変換を行い、残差ブロックを得、予測ブロックと残差ブロックを合計して再構築ブロックを得る。再構築ブロックは再構築画像を構成し、画像又はブロックに基づいて再構築画像に対してループ内フィルタリングを行い、復号化画像を得る。符号化側は同じく、復号化側と類似する操作によって復号化画像を得る必要がある。復号化画像は、後続のフレームを予測するための参照フレームとすることができる。符号化側で得られた復号化画像は、通常、再構築画像とも呼ばれる。予測のときに、現在ブロックを予測ユニットに分割することができ、変換のときに、現在ブロックを変換ユニットに分割することができ、予測ユニットと変換ユニットの分割は異なっても良い。符号化側で決定されたブロック分割情報、予測、変換、量子化、エントロピー符号化、ループ内フィルタリングなどのモード情報又はパラメータ情報は、必要に応じてコードストリームに出力される必要がある。復号化側は、解析及び既存の情報に基づく分析によって、符号化側と同じブロック分割情報、予測、変換、量子化、エントロピー符号化、ループ内フィルタリングなどのモード情報又はパラメータ情報を決定し、それによって、符号化側で得られる復号化画像が復号化側で得られる復号化画像と同じであることを保証する。
【0030】
本願の実施例に提供されるフレーム内予測方法は、図1(a)に示すフレームにおけるフレーム内予測モジュールによって機能し、符号化側に適用されることができ、復号化側に適用されることもできる。符号化側において、採用されるフレーム内予測モードと重みマトリックスなどの情報を決定し、決定されたフレーム内予測モードと重みマトリックスなどに基づいて本願におけるフレーム内予測を遂行する。復号化側において、コードストリームに対する復号化によって採用されるフレーム内予測モードと重みマトリックスなどの情報を取得し、得られたフレーム内予測モードと重みマトリックスなどに基づいて本願におけるフレーム内予測を遂行する。
【0031】
図1(b)は、本願の実施例におけるビデオ符号化システムの一例の構造ブロック概略図である。図1(b)に示すように、該ビデオ符号化システム11は、変換ユニット111、量子化ユニット112、モード選択と符号化制御ロジックユニット113、フレーム内予測ユニット114、フレーム間予測ユニット115(動き補償と動き推定を含む)、逆量子化ユニット116、逆変換ユニット117、ループ内フィルタリングユニット118、符号化ユニット119、及び復号化画像キャッシュユニット110、を含むことができる。入力されたオリジナルビデオ信号に対して、符号化ツリーブロック(CTU:Coding Tree Unit)の分割によって1つのビデオ再構築ブロックを得ることができ、モード選択と符号化制御ロジックユニット113によって符号化モードを決定する。次に、フレーム内予測又はフレーム間予測で得られた残差画素情報に対して、変換ユニット111と量子化ユニット112によって該ビデオ再構築ブロックに対して変換を行い、その変換は、残差情報を画素ドメインから変換領域に変換し、得られた変換係数に対して量子化を行い、それによってビットレートをさらに低減させる。フレーム内予測ユニット114は、該ビデオ再構築ブロックに対してフレーム内予測を行うためのものである。ここで、フレーム内予測ユニット114は、該ビデオ再構築ブロックの最適フレーム内予測モード(即ち、目標予測モード)を決定するためのものであり、フレーム間予測ユニット115は、時間予測情報を提供するために、受け取ったビデオ再構築ブロックの、1つ又は複数の参照フレームにおける1つ又は複数のブロックに対するフレーム間予測符号化を実行するためのものである。ここで、動き推定は、動きベクトルを生成する過程であり、動きベクトルは、該ビデオ再構築ブロックの動きを推定することができ、次に、動き補償は、動き推定によって決定された動きベクトルに基づいて動き補償を実行する。フレーム間予測モードを決定した後に、フレーム間予測ユニット115はさらに、選択されたフレーム間予測データを符号化ユニット119に提供し、且つ、計算して決定された動きベクトルデータも符号化ユニット119に送信するためのものである。それ以外、逆量子化ユニット116と逆変換ユニット117は、該ビデオ再構築ブロックの再構築のためのものであり、画素ドメインにおいて残差ブロックを再構築し、該再構築された残差ブロックをループ内フィルタリングユニット118によって、ブローキングアーティファクトを除去し、次に、該再構築された残差ブロックを復号化画像キャッシュユニット110内のフレームにおける1つの予測性ブロックに追加し、それによって、再構築されたビデオ再構築ブロックを生成する。符号化ユニット119は、様々な符号化パラメータ及び量子化後の変換係数を符号化するためのものである。復号化画像キャッシュユニット110は、再構築されたビデオ再構築ブロックを予測の参照として記憶するためのものである。ビデオ画像符号化の進行につれて、新しい再構築されたビデオ再構築ブロックが継続的に生成され、これらの再構築されたビデオ再構築ブロックは全部、復号化画像キャッシュユニット110に記憶される。
【0032】
図1(c)は、本願の実施例におけるビデオ復号化システムの一例の構造ブロック概略図である。図1(c)に示すように、該ビデオ復号化システム12は、復号化ユニット121、逆変換ユニット127、逆量子化ユニット122、フレーム内予測ユニット123、動き補償ユニット124、ループ内フィルタリングユニット125、及び復号化画像キャッシュユニット126、を含むことができる。入力されたビデオ信号に対してビデオ符号化システム11によって符号化処理を行った後に、該ビデオ信号のコードストリームが出力される。該コードストリームは、ビデオ復号化システム12に入力され、まず、復号化ユニット121によって、復号化後の変換係数を得、該変換係数に対して、逆変換ユニット127と逆量子化ユニット122によって処理を行い、それによって、画素ドメインにおいて残差ブロックを生成する。フレーム内予測ユニット123は、決定されたフレーム内予測方向、及び、現在フレーム又は画像の、前に復号化されたブロックのデータに基づいて現在ビデオ復号化ブロックの予測データを生成するためのものであり得る。動き補償ユニット124は、動きベクトルと他の関連文法要素を分析することによってビデオ復号化ブロックのための予測情報を決定し、該予測情報を使用して復号化中のビデオ復号化ブロックの予測性ブロックを生成する。逆変換ユニット127と逆量子化ユニット122からの残差ブロック、及び、フレーム内予測ユニット123又は動き補償ユニット124によって生成された対応する予測性ブロックに対して合計を行うことによって、復号化されたビデオブロックを生成する。該復号化されたビデオ信号は、ループ内フィルタリングユニット125によって、ブローキングアーティファクトが除去され、ビデオ品質を改善することができる。次に、復号化されたビデオブロックを復号化画像キャッシュユニット126に記憶し、復号化画像キャッシュユニット126は、後続のフレーム内予測又は動き補償のための参照画像を記憶し、同時に、ビデオ信号を出力し、回復されたオリジナルビデオ信号を得るためのものである。
【0033】
本願の実施例に提供されるフレーム内予測方法は、ビデオ符号化システム11のフレーム内予測ユニット114とビデオ復号化システム12のフレーム内予測ユニット123によって機能し、現在ブロック(符号化待ちブロック又は復号化待ちブロック)に対して予測を行い、それによって、対応する予測ブロックを取得する。即ち、本願の実施例に提供されるフレーム内予測方法は、ビデオ符号化方法におけるフレーム内予測に基づいても良く、ビデオ復号化方法におけるフレーム内予測に基づいても良い。
【0034】
フレーム内予測方法において、現在ブロックの周辺の符号化・復号化済みの再構築画素を参照画素として現在ブロックに対して予測を行う。例えば、図2に示すように、白色の4×4ブロックは現在ブロックであり、現在ブロックの左側の行と上側の列の灰色の画素は現在ブロックの参照画素であり、フレーム内予測は、これらの参照画素を使用して現在ブロックに対して予測を行う。これらの参照画素は、全部取得可能なもの、即ち、全部符号化・復号化済みのものであっても良く、その一部は取得不可なものであっても良い。例えば、現在ブロックが当該フレームの最左側である場合、現在ブロックの左側の参照画素は取得不可である。又は、現在ブロックを符号化・復号化するときに、現在ブロックの左下方の部分が符号化・復号化されていない場合、左下方の参照画素も取得不可である。参照画素が取得不可である場合、取得可能な参照画素又はいくつかの値又はいくつかの方法を使用して充填を行っても良く、又は、充填を行わなくても良い。マルチ参照行(MRL:Multiple reference line)フレーム内予測方法において、より多くの参照画素を使用して符号化の効率を向上させることができる。例えば、図3に示すように、図3は、関連技術における4つの参照行/列を使用してフレーム内予測を実現する実施例の概略図である。
【0035】
フレーム内予測は、複数の種類のモードを有する。図4に示すように、図4は、H.264で4×4のブロックに対してフレーム内予測を行う9種類のモードを示す。ここで、モード0において、現在ブロックの上の画素を垂直方向に従って予測値として現在ブロックにコピーする。モード1において、左側の参照画素を水平方向に従って予測値として現在ブロックにコピーする。モード2(DC)において、A~DとI~Lの8つの点の平均値をすべての点の予測値とする。モード3~8のそれぞれにおいて、ある角度に従って参照画素を現在ブロックの対応する位置にコピーする。現在ブロックのいくつかの位置は、参照画素に完全に対応することができない。そのため、参照画素の加重平均値、即ち、補間の参照画素のサブ画素を使用し得る。それ以外、関連技術において、Plane、Planarなどのモードもある。技術の発展及びブロックの拡大につれて、角度予測モードは多くなる。例えば、高効率ビデオ符号化(HEVC:High Efficiency Video Coding)に使用されるフレーム内予測モードは、Planar、DC、及び33種類の角度モード、合計で35種類の予測モードである。さらに、例えば、VVCに使用されるフレーム内モードは、Planar、DC、及び65種類の角度モード、合計で67種類の予測モードである。さらに、例えば、AVS3は、DC、Plane、Bilinear、及び63種類の角度モード、合計で66種類の予測モードを使用する。
【0036】
さらに、いくつかの技術は、フレーム内予測に対して改善を行い、例えば、参照画素のサブ画素補間の改善、予測画素に対するフィルタリングなどである。例えば、AVS3における多組み合わせフレーム内予測フィルタリング(MIPF:Multiple Intra Prediction Filter)は、異なるブロックサイズに対して、異なるフィルタを使用して予測値を生成する。同一のブロックにおける異なる位置の画素に対して、参照画素に近い画素の場合、1種類のフィルタを使用して予測値を生成し、参照画素から遠い画素の場合、別の1種類のフィルタを使用して予測値を生成する。予測画素に対してフィルタリングを行う技術は、例えば、AVS3におけるフレーム内予測フィルタリング(IPF:Intra Prediction Filter)を含むことができ、予測値に対して、参照画素を使用してフィルタリングを行うことができる。
【0037】
フレーム内予測は、方向角度(DC)モード、平面(Plane)モード、平滑(Planar)モード、双線形(Bilinear)モードなどのフレーム内予測モードを含む。しかしながら、これらのモードは、簡単なテクスチャの予測だけを処理することができる。角度モードが数多くなっているが、しかしながら、これらのモードの予測は、1つの角度の直線に沿って実行するしかできない。
【0038】
多機能ビデオ符号化(VVC:Versatile Video Coding、H.266とも呼ばれる)標準の制定において、幾何分割(GPM:Geometric Partitioning Mode)のフレーム間予測モードが導入される。中国が自主開発した音声・ビデオ符号化標準(AVS3:Audio Video coding Standard)の制定において、角度加重予測(AWP:Angular Weighted Prediction)のフレーム間予測モードが導入される。
【0039】
GPM又はAWPは、現在ブロックのサイズと同じ2つの参照ブロックを使用する。この場合、一部の画素位置において、100%で第1参照ブロックの対応する位置の画素値を使用し、もう一部の画素位置において、100%で第2参照ブロックの対応する位置の画素値を使用し、境界の領域において、一定の比例に従って2つの参照ブロックの対応する位置の画素値を使用する。これらの重みは具体的に、GPM又はAWPのモードによって決定される。GPM又はAWPは、現在ブロックのサイズと異なる2つの参照ブロックを使用してもよく、即ち、必要に応じて各自の一部を参照ブロックとし、即ち、重みが0ではない部分を参照ブロックとし、重みが0である部分を取り除く。
【0040】
図5は、本願の実施例におけるGPMの正方形のブロックの64種類のモードの重み図である。図5に示すように、黒色は、第1参照ブロックの対応する位置の重み値が0%であることを表し、白色は、第1参照ブロックの対応する位置の重み値が100%であることを表し、灰色領域は、色の深さの差異に応じて第1参照ブロックの対応する位置の重み値が0%~100%であることを表す。第2参照ブロックの対応する位置の重み値は、100%から第1参照ブロックの対応する位置の重み値を差し引いた値である。
【0041】
図6は、本願の実施例におけるAWPの正方形のブロックの56種類のモードの重み図である。図6に示すように、黒色は、第1参照ブロックの対応する位置の重み値が0%であることを表し、白色は、第1参照ブロックの対応する位置の重み値が100%であることを表し、灰色領域は、色の深さの差異に応じて第1参照ブロックの対応する位置の重み値が0%~100%であることを表す。第2参照ブロックの対応する位置の重み値は、100%から第1参照ブロックの対応する位置の重み値を差し引いた値である。
【0042】
GPMとAWPの重み導出方法は異なる。GPMの場合、各種類のモードに基づいて角度とオフセット量を決定してから、各モードの重みマトリックスを算出する。AWPの場合、まず、一次元の重みの線を作成し、そして、フレーム内角度予測に類似する方法を使用して一次元の重みの線でマトリックス全体を敷き詰める。
【0043】
CU、PU又はTUの分割は、以前の符号化・復号化技術において、矩形の分割方式だけが存在する。それに対してGPMとAWPは、分割せずに予測の非矩形の分割の効果を実現する。GPMとAWPは、2つの参照ブロックの重みのマスク(mask)、即ち、上記の重み図を使用する。このマスクは、予測ブロックを生成するときに2つの参照ブロックの重みを決定し、又は、簡単に理解されることとして、予測ブロックの位置の一部は第1参照ブロックからのものであり、他方は第2参照ブロックからのものであり、過渡領域(blending area)は2つの参照ブロックの対応する位置で加重して得られ、それによって、過渡がより平滑になる。GPMとAWPにおいて、分割線に基づいて現在ブロックを2つのCU又はPUに分割しない。そして、予測の後の残差の変換、量子化、逆変換、逆量子化などは、現在ブロックを1つの全体として処理される。
【0044】
本願の実施例に提供されるフレーム内予測方法は、2種類以上の異なるフレーム内予測モードを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップと、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの予測ブロックを得るステップと、を含むことができる。本願の実施例は、複数の種類のフレーム内予測モードによって複数の予測ブロックを決定し、複雑なテクスチャの予測処理を実現し、フレーム内予測の品質を向上させ、それによって、圧縮性能を向上させる。
【0045】
さらに、本願の実施例に提供されるフレーム内予測方法を適用して、多様化の重みマトリックスによって、より複雑なテクスチャの予測処理に保障を提供し、フレーム内予測の品質を向上させ、それによって、圧縮性能を向上させる。さらに、本願の実施例に提供されるフレーム内予測方法は、より多くの場面に適用されることができる。
【0046】
図7は、本願の実施例におけるフレーム内予測方法のフローチャートである。図7に示すように、該フレーム内予測方法は、下記のステップを含む。
【0047】
ステップ700において、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得する。
【0048】
本願の実施例において、処理待ちブロックは、エンコーダで処理する符号化待ちブロックであっても良く、デコーダで処理する復号化待ちブロックであっても良い。
【0049】
1つの例示的な例において、フレーム内予測モードは、DCモード、Planarモード、Planeモード、Bilinearモード、及び角度予測(AP)モードなどのフレーム内予測モード、及び、フレーム内予測の改善技術、例えば、参照画素のサブ画素補間の改善、予測画素のフィルタリングのような、多組み合わせフレーム内予測フィルタリング(MIPF:Multiple Intra Prediction Filter)、フレーム内予測フィルタリング(IPF:Intra Prediction Filter)などを含むことができるが、これらに限定されない。
【0050】
他のフレーム内予測モードに依存せずに予測ブロックを独立で生成するフレーム内予測モードは、第1フレーム内予測モードと呼ばれ(本明細書において基本フレーム内予測モードとも呼ばれる)、DCモード、Planarモード、Planeモード、Bilinearモード、及び角度予測モードなどのフレーム内予測モードを含むことができる。即ち、基本フレーム内予測モードは、参照画素と基本フレーム内予測モードを決定した場合、予測ブロックを決定することができる。基本フレーム内予測モードに依存して予測ブロックを決定することができるフレーム内予測モードは、第2フレーム内予測モードと呼ばれ(本明細書において改善フレーム内予測モードとも呼ばれる)、それは、MIPF、IPFなどの、フレーム内予測の改善技術を含むことができる。即ち、改善フレーム内予測モードは、予測ブロックを独立で生成することができない。例えば、基本フレーム内予測モード、例えば、ある種類の角度予測モードは、参照画素に基づいて予測ブロックを決定して生成することができる。改善フレーム内予測モード、例えば、MIPFは、上記の角度予測モードをもとにして異なる位置の画素に対して異なるフィルタを使用することができ、それによって、予測ブロックを生成し、又は、決定する。
【0051】
1つの例示的な例において、2種類以上の異なるフレーム内予測モードは、少なくとも1種類の基本フレーム内予測モードを含む。
【0052】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを例として、2種類の異なるフレーム内予測モードは、いずれも基本フレーム内予測モードである。
【0053】
1つの例示的な例において、基本フレーム内予測モードを改善フレーム内予測モードと組み合わせ、即ち、採用される基本フレーム内予測モードをさらに、改善フレーム内予測モードと組み合わせて処理待ちブロックに対して予測を行うことができる。
【0054】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを例として、2種類の異なるフレーム内予測モードは、1種類の基本フレーム内予測モードと1種類の改善フレーム内予測モードを含む。例えば、第1フレーム内予測モードと第2フレーム内予測モードは、いずれも同一の種類の角度予測モードを使用し、しかしながら、第1フレーム内予測モードは、ある種類の改善フレーム内予測モード、例えば、ある種類の改善フレーム内予測モードのIPFを使用せず、第2フレーム内予測モードは、この種類の改善フレーム内予測モード、例えば、改善フレーム内予測モードのIPFを使用する。さらに、例えば、第1フレーム内予測モードと第2フレーム内予測モードは、同一の種類の角度予測モードを使用し、しかしながら、第1フレーム内予測モードは、ある種類の改善フレーム内予測モードの1種類の選択を使用し、第2フレーム内予測モードは、この種類の改善フレーム内予測モードの別の種類の選択を使用する。
【0055】
本願の実施例において、処理待ちブロックに対する予測は、少なくとも2種類の異なるフレーム内予測モードを採用する。このようにして、多視点から処理待ちブロックに対して予測を行うことができ、複雑なテクスチャの予測を処理することに適し、フレーム内予測の品質を向上させることができる。
【0056】
上記のフレーム内予測方法の過程は、エンコーダに適用され、デコーダにも適用される。
【0057】
1つの例示的な例において、デコーダ側に、処理待ちブロックは復号化待ちブロックであり、ステップ700の前に、該フレーム内予測方法はさらに、
コードストリームを解析し、2種類以上の異なるフレーム内予測モード、処理待ちブロック、及び重みマトリックスを取得するステップを含む。
【0058】
1つの例示的な例において、エンコーダ側に、ステップ700の前に、該フレーム内予測方法はさらに、
すべて又は一部の可能な予測モードと重みマトリックス導出モードの組み合わせとに対して試行を行い、損失コストを計算し、損失コストが小さい組み合わせを選択するステップと、組み合わせ内の2種類以上の異なるフレーム内予測モードと重みマトリックスを、フレーム内予測に使用される2種類以上の異なるフレーム内予測モードと重みマトリックスとするステップと、を含む。
【0059】
該フレーム内予測方法はさらに、決定された2種類以上の異なるフレーム内予測モードと重みマトリックス導出モードという情報を文法に従ってコードストリームに書き込むステップを含む。
【0060】
ここで、すべての可能な予測モードと重みマトリックス導出モードの組み合わせというのは、第1フレーム内予測モードのすべてのあり得るモード、第2フレーム内予測モードのすべてのあり得るモード、及び重みマトリックス導出モードのすべてのあり得るモードの組み合わせを含む。例えば、すべての使用可能なフレーム内予測モードが66種類あると仮定すると、第1フレーム内予測モードは66種類があり得、第2フレーム内予測モードは、必ず第1フレーム内予測モードと異なり、65種類があり得る。重みマトリックス導出モードが56種類を有する(AWPを例とする)場合、使用可能な任意の2種類の異なるフレーム内予測モードと任意の1種類の重みマトリックス導出モードの組み合わせは、66×65×56種類を有する。
【0061】
1つの例示的な例において、損失コストを計算する方式は、絶対誤差和(SAD:Sum of Absolute Differences)、変化残差絶対値和(SATD:Sum of Absolute Transformed Difference)、及びレート歪み最適化(RDO:Rate Distortion Optimation)などのアルゴリズムのうちの1種類又は任意の組み合わせを含むことができる。
【0062】
1つの例示的な例において、SATD及び/又はSADを採用して一次選別、例えば、粗選を行い、すべて又は一部の可能な予測モードと重みマトリックス導出モードの組み合わせから候補組み合わせを決定する。次に、RDOを採用して二次選別、例えば、精選を行い、候補組み合わせから損失コストが最も小さい組み合わせを決定する。
【0063】
1つの実施例において、粗選は、いくつかの快速アルゴリズムを使用して試行の回数を低減させることを含むことができる。例えば、あるフレーム内角度予測モードによるコストが大きい場合、該フレーム内角度予測モードに隣接する事前設定の数量のフレーム内予測モードを試行しない。
【0064】
1つの例示的な例において、上記の予測モードと重みマトリックス導出モードの組み合わせに対する試行の前に、該フレーム内予測方法はさらに、
現在の処理待ちブロックのテクスチャに対して分析を行い、例えば、勾配によって分析を行うステップなどを含むことができる。
【0065】
上記の予測モードと重みマトリックス導出モードの組み合わせに対する試行はさらに、
テクスチャの分析結果に基づいて試行のフレーム内予測モードを決定するステップを含むことができる。
【0066】
例えば、現在の処理待ちブロックのテクスチャの荒い(例えば、事前設定の高閾値より大きい)方向について、予測モードと重みマトリックス導出モードの組み合わせに対する試行の粗選において、テクスチャの荒い方向に近似する(即ち、該方向から所定角度値を増減した範囲)フレーム内予測モードをできるだけ選択して試行を行う。さらに、例えば、現在の処理待ちブロックのテクスチャの滑らかな(例えば、事前設定の低閾値より小さい)方向について、テクスチャの滑らかな方向に近似するフレーム内予測モードをできるだけ選択せずに試行を行う。
【0067】
説明すべきこととして、損失コストは、第1フレーム内予測モード、第2フレーム内予測モード、及び重みマトリックス導出モードによるコードストリームに占められるコードワードのコスト以外に、さらに、例えば、予測残差の変換・量子化のコスト、コードストリームで伝送する必要があるエントロピー符号化などの各種類のフラグ、量子化係数のコスト、及び再構築ブロックの歪みのコストなどを含む。一般的に、コストが占めされる空間ではなく、歪みのコスト、即ち、予測ブロックとオリジナルブロックとの間の差異であり、又は、オリジナルの画像と符号化・復号化して得られた画像との間の歪みの差値である。ここで、選択のコストが最も小さいのは、歪みが最も小さいことを指しており、即ち、圧縮過程における損失が最も小さく、符号化品質が最も高いことである。
【0068】
1つの例示的な例において、損失コストが最も小さい組み合わせを決定した後に、ステップ700の前に、該フレーム内予測方法はさらに、
選出された最も小さい損失コストが他の予測モードのコスト以下であり、他の予測モードが他のフレーム内予測モード又はフレーム間予測モードなどを含むことができ、その場合、エンコーダ側は、本願に選出された損失コストが最も小さい組み合わせにおけるフレーム内予測モードを処理待ちブロックの予測モードとして選択し、選出された最も小さい損失コストが他の予測モードのコストより大きい場合、エンコーダは、他のある種類の予測モードを処理待ちブロックの予測モードとして選択するステップを含む。
【0069】
1つの例示的な例において、エンコーダ側に、該フレーム内予測方法はさらに、
最終的に決定された2種類以上の異なるフレーム内予測モードと重みマトリックス導出モードという情報を文法に従ってコードストリームに書き込むステップを含むことができる。
【0070】
該フレーム内予測方法はさらに、決定された2種類以上の異なるフレーム内予測モードと重みマトリックスによって、本願におけるフレーム内予測方法に従って処理待ちブロックに対してフレーム内予測、及び後続の符号化処理を行うステップを含むことができる。
【0071】
ステップ701において、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得る。
【0072】
1つの例示的な例において、符号化側において、ステップ700のように、損失コストを計算する方式によって重みマトリックスを決定することができる。復号化側において、文法に従ってコードストリームを解析し、取得された重みマトリックス導出モードに基づいて重みマトリックスを得る。
【0073】
重みマトリックスの決定方法は、フレーム間予測におけるGPM又はAWPの重み導出方法を参照して実現されることができる。同一の符号化・復号化標準又はコーデックにおいて、GPM又はAWPの予測モードが使用された場合、本願の実施例において、GPM又はAWPの重み導出方法を使用して重みマトリックスを決定することができる。このようにして、一部の同じロジックを再利用することができる。例えば、AVS3フレーム間予測がAWPを使用した場合、AVS3において、本願の実施例は、AWPの重み導出方法を使用して重みマトリックスを決定することができる。本願の実施例における重みマトリックスの決定方法は、同一の符号化・復号化標準又はコーデックに使用されるGPM又はAWPの方法と異なっても良く、例えば、異なるモード数量を使用し、又は、異なる過渡領域アルゴリズムを使用し、又は、異なるパラメータを使用することなどができる。
【0074】
1つの例示的な例において、図8に示すように、2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、第1予測ブロックと第2予測ブロックを得ることを例として、ステップ701は、
第1予測ブロックに対応するマトリックスと第1重みマトリックスとの第1積を計算し、第2予測ブロックに対応するマトリックスと第2重みマトリックスとの第2積を計算するステップと、
第1積、第2積、及び事前設定値の和を計算するステップと、
計算して得られた和に対して正規化処理を行い、前記目標予測ブロックを得るステップと、を含むことができる。
【0075】
1つの例示的な例において、第2重みマトリックスは、最大重み値(例えば、8など)と第1重みマトリックスとの差である。
【0076】
正規化処理は、計算して得られた和を事前設定のビット数(例えば、3ビットなど)だけ右シフトし、処理待ちブロックの目標予測ブロックを得るステップを含む。
【0077】
例えば、predMatrixSawp内の要素predMatrixSawp[x][y]の値=((predMatrix0[x][y]*AwpWeightArrayY[x][y]+predMatrix1[x][y]*(8-AwpWeightArrayY[x][y])+4)>>3)である。ここで、predMatrixSawpは、目標予測ブロックを表し、predMatrixSawp[x][y]は、目標予測ブロックマトリックスを表し、predMatrix0[x][y]は、第1予測ブロックに対応するマトリックスを表し、predMatrix1[x][y]は、第2予測ブロックに対応するマトリックスを表し、AwpWeightArrayY[x][y]は、第1重みマトリックスを表す。
【0078】
1つの例示的な例において、ステップ701の後に、該フレーム内予測方法はさらに、
改善フレーム内予測モードを採用して、得られた処理待ちブロックの目標予測ブロックに対してフレーム内予測を行い、予測して得られた結果を前記処理待ちブロックの目標予測ブロックとするステップを含むことができる。
【0079】
1つの例示的な例において、決定されたすべての可能な重みマトリックスにおいて、各重みマトリックスのすべての点の重みが同じというわけではない。言い換えれば、すべての可能な重みマトリックスに、少なくとも2つの異なる重み値が含まれる可能な重みマトリックスは、少なくとも1つ存在する。
【0080】
1つの例示的な例において、すべての可能な重みマトリックスは、少なくとも2つの異なる重み値を含む。
【0081】
1つの例示的な例において、すべての可能な重みマトリックスに、少なくとも2つの異なる重み値が含まれる重みマトリックスは、少なくとも1つ存在し、しかも、同一の重み値だけが含まれる重みマトリックスは、少なくとも1つ存在する。例を挙げると、最小重み値が0である場合、最大重み値が8であり、例えば、ある重みマトリックスにおけるいくつかの点の重み値が0であり、いくつかの点の重み値が8である。ある重みマトリックスにおけるすべての点が4であり、1つの重み値だけが含まれる重みマトリックス内のこの重み値は、最小重み値より大きく、且つ最大重み値より小さい任意の値であり得る。
【0082】
1つの例示的な例において、少なくとも2つの異なる重み値が含まれる1つ又はいくつかの重みマトリックスの場合、最小重み値と最大重み値に基づいて、処理待ちブロックにおける各点は、いずれも2つのフレーム内予測モードによって導出された予測値を加重して得られるものである。例えば、重みは0~8の8つの値を有する。2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを例として、0は、この点が完全に1つのフレーム内予測モードによって導出された予測値から得られることを表し、8は、この点が完全に別の1つのフレーム内予測モードに導出された予測値から得られることを表す。最小重み値を1、最大重み値を7とすると、この種類の重みマトリックスのすべての点は、2つのフレーム内予測モードによって導出された予測値を加重して得られる必要がある。しかしながら、すべての点の重みが同じというわけではない。
【0083】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを例として、すべての可能な重みマトリックスに、2種類の重み値だけが含まれる重みマトリックスは、1つしか存在することがなく、そのうちの1つの重み値は、対応する点の予測値が完全に第1予測ブロックの対応する点の値からのものであることを表し、もう1つの重み値は、対応する点の予測値が完全に第2予測ブロックの対応する点の値からのものであることを表す。例えば、この2種類の重み値のそれぞれは0と1である。
【0084】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して復号化待ちブロックに対してフレーム内予測を行うことを例として、すべての可能な重みマトリックスにおいて、1つの重みマトリックスは、複数の種類の重み値を含むことができ、重み値の最大値と最小値(例えば0である)のそれぞれは、対応する点の予測値が完全に第1予測ブロックの対応する点の値と第2予測ブロックの対応する点の値からのものであることを表し、最大値と最小値ではない重み値は、対応する点の予測値が第1予測ブロックと第2予測ブロックの対応する点の値の加重平均からのものであることを表す。ここで、最大値、最小値以外の重み値によって構成される領域は、過渡領域(blending area)と呼ばれることができる。
【0085】
1つの例示的な例において、図9(a)に示すように、すべての可能な重みマトリックスにおいて、重みマトリックスが2種類の重み値だけが含まれる場合、重み値の変化位置は、1本の直線として表され、重みマトリックスが複数の種類の重み値が含まれる場合、過渡領域における重み値が同じである位置は、1本の直線として表される。1種類の実施例において、上記の直線のすべては水平垂直であり、又は、上記の直線のすべては水平垂直ではない。
【0086】
1つの例示的な例において、図9(b)に示すように、すべての可能な重みマトリックスにおいて、重みマトリックスが2種類の重み値だけが含まれる場合、重み値の変化位置は、1本の曲線として表され、重みマトリックスが複数の種類の重み値を含む場合、過渡領域における重み値が同じである位置は、1本の曲線として表される。
【0087】
本願の実施例に提供される多様化の重みマトリックスは、より多様の予測ブロックを予測することができる保障を提供し、さらに、本願の実施例に提供されるフレーム内予測方法は、より多くの場面に適用されることができる。
【0088】
1種類の実施例において、AVS3においてフレーム間予測にAWPモードが使用されることを例として、AWPの重みマトリックスは、56種類を含む。本願の実施例において、フレーム内予測において64種類の重みマトリックスを使用し、そのうちの56種類はAWPの重みマトリックスと同じである。例えば、前の56種類は、AWPの重みマトリックスと同じであり、残りの8種類の重みマトリックスのうちの各重みマトリックスは、1種類の重み値だけを含み、該重み値のそれぞれは、1、2、……、7、8である。この8種類の重みマトリックスは、重み値の合計が16であり、即ち、重み値が1であることは、1:15の重みを表し、重み値が2であることは、2:14の重みを表す。このようにして、64種類の重みマトリックスのモード番号に対して二値化を行う場合、各重みマトリックスに対して6ビットのコードワードを使用することができる。任意選択的に、総計の重み値は8であり、この場合、8は最大重み値であり、即ち、重み値が1であることは、1:7の重みを表し、重み値が2であることは、2:6の重みを表す。
【0089】
フレーム間予測が時間領域の関連性を利用しているため、参照フレームにおける再構築された画像を参照ブロックとして使用する。それに対してフレーム内予測が空間領域の関連性を利用しているため、処理待ちブロックの周辺の再構築された画素を参照画素として使用する。空間領域の距離が近いほど関連性は強く、距離が遠いほど関連性は悪くなる。そのため、重みマトリックスが予測ブロックのすべての画素位置を参照画素から離れらせる場合、フレーム内予測の効果を保証するために、本願の実施例においてこのような重みマトリックスを使用しなくても良い。
【0090】
1つの例示的な例において、本願の実施例に提供されるフレーム内予測方法において、ブロック(例えば、処理待ちブロック)のサイズは、下記のような場合を含むことができるが、これらに限定されない。
【0091】
ブロックの幅は第1閾値TH1以上であり、ブロックの高さは第2閾値TH2以上であり、第1閾値TH1と第2閾値TH2の値は、8、16、32、64、128などであり得、第1閾値TH1は第2閾値TH2に等しくても良く、例えば、第1閾値TH1=第2閾値TH2=8である。又は、ブロックの画素数は第3閾値TH3以上であり、第3閾値TH3の値は、8、16、32、64、128などであり得る。
【0092】
又は、ブロックの幅は第4閾値TH4以下であり、ブロックの高さは第5閾値TH5以下であり、第4閾値TH4と第5閾値TH5の値は、8、16、32、64、128などであり得、第4閾値TH4は第5閾値TH5に等しくても良い。又は、ブロックの画素数は第6閾値TH6以下であり、第6閾値TH6の値は、8、16、32、64、128などであり得る。
【0093】
ブロックのサイズの制限によって、複数の予測モードを採用して予測を行うことによる複雑度がシステム全体に与える影響を低減させる。さらに、いくつかのサイズのブロックを利用しないと制限することによって、圧縮性能と複雑度のバランスをうまく取り、それによって、本願の適用性をよりうまく保証する。
【0094】
1つの例示的な例において、技術の発展につれて、ブロックの分割はますます柔軟になる。正方形のブロック以外、分割方法は、アスペクト比が1:2、1:4、1:8、2:1、4:1、8:1などの形状のブロックをサポートすることができる。本願の実施例に提供されるフレーム内予測方法において、本願の発明者らの研究によると、いくつかのアスペクト比のブロック、即ち、いくつかのサイズのアスペクト比のブロック、例えば、1:4又は4:1のブロック及び1:8又は8:1のブロック、又は8×32、8×64、32×8、64×8などのブロックの圧縮性能は、それまで良いものではなく、又は、著しいものではない。この場合、本願における1つの実施例において、ブロックのアスペクト比を設定することによってブロックのサイズを設定することができる。例えば、幅と高さの比例は、事前設定の比例閾値THR以下であり、且つ、幅と高さの比例は、該比例閾値THR以下である。
【0095】
1つの例示的な例において、ブロックのサイズ、及びブロックのアスペクト比の設定は、同時に行っても良い。例えば、ブロックのサイズについて、ブロックの高さが8以上であり、ブロックの幅が8以上であり、ブロックの幅とブロックの高さの比例が4以下であり、ブロックの高さとブロックの幅の比例が4以下である場合、本願の実施例に提供されるフレーム内予測方法を使用することができ、そうでない場合、本願の実施例に提供されるフレーム内予測方法をデフォルトで使用しない。
【0096】
1つの例示的な例において、エンコーダ側に、本願のステップ700の前に、該フレーム内予測方法はさらに、
現在処理待ちフレームが本願の実施例のフレーム内予測方法を使用するか否か、即ち、ステップ700を実行するか否かを表すために、フレームレベルのフラグを設定し、該フラグを文法に従ってコードストリームに書き込み、それによって、デコーダ側において該フラグに基づいてフレーム内予測方法を実行するステップを含むことができる。
【0097】
1つの実施例において、イントラフレーム(例えば、Iフレーム)に対して本願の実施例のフレーム内予測方法を使用し、インターフレーム(例えば、Bフレーム、Pフレーム)に対して本願の実施例のフレーム内予測方法を使用しない場合、フラグが現在処理待ちフレームがイントラフレームであると示す場合、復号化側がステップ700を引き続き実行することを表す。フラグが現在処理待ちフレームがインターフレームであると示す場合、復号化側が本願のプロセスから抜けて、関連技術を採用してフレーム内予測を行うことができることを表す。
【0098】
さらに、例えば、イントラフレーム(例えば、Iフレーム)に対して本願の実施例のフレーム内予測方法を使用せず、インターフレーム(例えば、Bフレーム、Pフレーム)に対して本願の実施例のフレーム内予測方法を使用する場合、フラグが現在処理待ちフレームがイントラフレームであると示す場合、復号化側が本願のプロセスから抜け、関連技術を採用してフレーム内予測を行うことができることを表す。フラグが現在処理待ちフレームがインターフレームであると示す場合、復号化側がステップ700を引き続き実行することを表す。
【0099】
さらに、例えば、いくつかのインターフレームに本開示を使用し、別のいくつかのインターフレームに本開示を使用しない場合、フラグが現在処理待ちフレームがいくつかのインターフレームであることを表す場合、復号化側がステップ600を引き続き実行することを表す。フラグが処理待ちフレームが別のいくつかのインターフレームであることを表す場合、復号化側が本願のプロセスから抜け、関連技術を採用してフレーム内予測を行うことができることを表す。
【0100】
対応的に、デコーダ側に、上記の図7に示すフレーム内予測方法のステップ700の前に、該フレーム内予測方法はさらに、文法に従ってコードストリームを解析し、フラグを取得するステップを含むことができる。
【0101】
例えば、イントラフレーム(例えば、Iフレーム)に対して本願の実施例のフレーム内予測方法を使用し、インターフレーム(例えば、Bフレーム、Pフレーム)に対して本願の実施例のフレーム内予測方法を使用しない場合、復号化して得られたフラグが現在処理待ちフレームがイントラフレームであることを表す場合、ステップ700を引き続き実行する。復号化して得られたフラグが現在処理待ちフレームがインターフレームであることを表す場合、本願のプロセスから抜け、関連技術を採用してフレーム内予測を行うことができる。
【0102】
さらに、例えば、イントラフレーム(例えば、Iフレーム)に対して本願の実施例のフレーム内予測方法を使用せず、インターフレーム(例えば、Bフレーム、Pフレーム)に対して本願の実施例のフレーム内予測方法を使用する場合、復号化して得られたフラグが現在処理待ちフレームがイントラフレームであることを表す場合、本願のプロセスから抜け、関連技術を採用してフレーム内予測を行うことができる。復号化して得られたフラグが現在処理待ちフレームがインターフレームであることを表す場合、ステップ700を引き続き実行する。
【0103】
さらに、例えば、いくつかのインターフレームに本開示を使用し、別のいくつかのインターフレームに本開示を使用しない場合、復号化して得られたフラグが現在処理待ちフレームがいくつかのインターフレームであることを表す場合、ステップ700を引き続き実行する。復号化して得られたフラグが処理待ちフレームが別のいくつかのインターフレームであることを表す場合、本願のプロセスから抜け、関連技術を採用してフレーム内予測を行うことができる。
【0104】
1つの例示的な例において、エンコーダ側に、本願のステップ700の前に、該フレーム内予測方法はさらに、
示された該領域に対して本願の実施例のフレーム内予測方法を使用するか否かを表すために、フレームレベル以下、且つCUレベル以上(例えば、tile、slice、patch、LCUなど)のフラグを設定し、フラグを文法に従ってコードストリームに書き込み、それによって、デコーダ側において該フラグに基づいて相応的なフレーム内予測方法を実行することを指示する。
【0105】
本願の実施例における異なるレベルのフラグの設定によって、一方で、異なる適用場面とビデオ内容に基づいて最適の配置を設定することを柔軟に実現し、別の一方で、コードレートをさらに節約する効果を達成する。例えば、1つのLCUが複数のCUを有し、これらのCUがいずれも本願の実施例に提供されるフレーム内予測方法を使用しない場合、LCUレベルの1つのフラグを、該LCUにおけるすべてのCUが本願の実施例に提供されるフレーム内予測方法を使用しないことを表すように設定すれば良い。即ち、各CUに対してフラグを単独で設定する必要がない。即ち、1つのフラグの設定によって、N個のフラグの設定に代わる。
【0106】
対応的に、デコーダ側に、ステップ700の前に、該フレーム内予測方法はさらに、文法に従ってコードストリームを解析し、フラグを取得するステップを含むことができる。
【0107】
1つの例示的な例において、エンコーダ側に、本願のステップ700の前に、該フレーム内予測方法はさらに、
本願の実施例に提供されるフレーム内予測方法と相互に排他的な改善予測モードを設定し、それによって、フレーム内予測過程において、フレーム内予測モードをよりうまく決定する。
【0108】
デコーダ側に、コードストリームを解析することによって、設定された本願の実施例に提供されるフレーム内予測方法と相互に排他的な改善予測モードを取得する。処理待ちブロックが本願の実施例のフレーム内予測方法を使用することを決定した場合、相互に排他的な改善予測モードを使用しない。又は、処理待ちブロックが相互に排他的な改善予測モードを使用することを決定した場合、本願の実施例のフレーム内予測方法を使用しない。相互に排他的な改善予測モードに対する設定によって、コードストリームにおいて該相互に排他的な改善予測モードを使用するか否かのフラグを伝送する必要がなく、コードストリームにおける余計なフラグの伝送を節約し、全体としてより良い圧縮性能を得る。
【0109】
1つの例示的な例において、相互に排他的な改善予測モードは、例えば、IPF、DTなどを含むことができる。
【0110】
相互に排他的な改善予測モードが派生ツリー(DT:Derived Tree)であることを例として、DTはAVS3における技術であり、DTは、現在CUを矩形のPUに分割することができ、しかも、対応的に、より小さいTUに分割する。本願の実施例に採用される、DTと組み合わせる場合について、本願の実施例に提供されるフレーム内予測方法は、DTで分割された1つ又はいくつかのPUに使用されることができるが、複雑度が増加する。相互に排他的な改善予測モードがフレーム内改善予測(IIP:Improved Intra Prediction)であることを例として、IIPはAVS3における技術であり、IIPは、より複雑なフィルタを使用して予測値を得ることができる。
【0111】
本願の実施例に提供されるフレーム内予測に対する検証過程において、本願の発明者の検証によると、IIP、DT又はIPFを使用する場合、フレーム内予測の計算量又は複雑度を増加させる。そのため、本実施例においてこれらの改善予測モードと本願のフレーム内予測との相互に排他的な関係を設定することによって、性能と複雑度とのバランスがうまく取れ、それによって、本願の適用性をよりうまく保証する。
【0112】
本願のフレーム内予測方法とIPFを例として、相互に排他的なケースに対する処理を説明する。
【0113】
1つの例示的な例において、本願のフレーム内予測方法がIPFと相互に排他的であると仮定する。まず、本願の実施例における現在処理待ちフレームが本願の実施例のフレーム内予測方法を使用するか否かを表すフラグを復号化してから、IPFのフラグを復号化することを例として、図10に示すように、過程は、大体下記のステップを含む。
【0114】
現在ブロックに対して本願のフレーム内予測方法を使用する場合、IPFのフラグを復号化する必要がない。即ち、コードストリームでIPFのフラグを伝送する必要がない。現在ブロックに対して本願のフレーム内予測方法を使用しない場合、IPFのフラグを復号化し、IPFを使用する必要があるか否かを判断する。現在ブロックに対してIPFを使用する場合、現在ブロックは、他のフレーム内予測方法を使用してIPFと組み合わせて予測を行う。現在ブロックに対してIPFを使用しない場合、現在ブロックは、他のフレーム内予測方法を使用する。
【0115】
1つの例示的な例において、本願のフレーム内予測方法がIPFと相互に排他的ではないと仮定する。まず、本願の実施例における現在処理待ちフレームが本願の実施例のフレーム内予測方法を使用するか否かを表すフラグを復号化してから、IPFのフラグを復号化することを例として、図11に示すように、過程は、大体下記のステップを含む。
【0116】
本願のフレーム内予測方法を使用するか否かに関わらず、IPFのフラグを復号化しなければならない。しかも、本願のフレーム内予測方法とIPFを両方とも使用する場合、現在ブロックに対して、本願のフレーム内予測方法を使用してIPFと組み合わせて予測を行う。
【0117】
説明すべきこととして、図10図11に示す実施例において、本願のフレーム内予測方法が1種類の技術と相互に排他的であるか否かを例とする。本願のフレーム内予測方法がこの種類の技術及び他の技術と間に相互に排他的な関係が存在する場合、プロセスはより複雑になるが、原理は同じである。本願の図10図11に示す実施例をもとにして、当業者が容易に理解し、ここで繰り返して記載しない。
【0118】
1つの例示的な例において、本願の実施例はさらに、隣接するブロックの符号化・復号化に使用するために、フレーム内予測に使用されたフレーム内予測モード情報を記憶するステップを含むことができる。例えば、MPMモードで、隣接するブロックのフレーム内予測モードを参照する必要がある。即ち、現在フレームの後ろの符号化・復号化ブロックは、隣接する位置関係に基づいて、前に符号化・復号化されたブロック、例えば、隣接するブロックフレーム内予測モードを使用することができる。色度ブロック(符号化ユニット)に対して、位置に基づいて、前に符号化・復号化された輝度ブロック(符号化ユニット)のフレーム内予測モードを使用することができる。ここで記憶された情報は、後続に符号化・復号化するブロックの参照とする。その理由として、同一のブロック(符号化ユニット)における符号化モード情報は、直接的に得られることができ、しかしながら、異なるブロック(符号化ユニット)における符号化モード情報は、直接的に得られることができない。そのため、フレーム内予測に使用されたフレーム内予測モード情報を記憶する必要がある。このようにして、後続に符号化・復号化するブロックは、位置に基づいてこれらの情報を読み取ることができる。
【0119】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して復号化待ちブロックに対してフレーム内予測を行うことを例として、フレーム内予測に使用されたフレーム内予測モードを記憶するステップは、下記を含む。
【0120】
2種類の異なるフレーム内予測モードのうちの1種類のフレーム内予測モードを記憶する最小ユニットは、少なくとも1つ存在し、2種類の異なるフレーム内予測モードのうちの別の1種類のフレーム内予測モードを記憶する最小ユニットは、少なくとも1つ存在する。即ち、記憶したフレーム内予測モードが異なる最小ユニットは、少なくとも2つ存在する。最小ユニットは、事前設定の1つの固定サイズのマトリックス(例えば、4×4のマトリックスなど)であり得る。各最小ユニットは、1つのフレーム内予測モードを単独で記憶する。このようにして、1つのブロックを符号化・復号化する度に、該ブロックの位置に対応する最小ユニットは、該ブロックのフレーム内予測モードを記憶する。
【0121】
例えば、図12に示すように、1つの16×16の現在ブロックの輝度予測にフレーム内予測モード5を使用すると仮定すると、該ブロックに対応するすべての4×4個の最小ユニットのフレーム内予測モードに、いずれも5を記憶する。YUVフォーマットを例として、一般的に、輝度のフレーム内予測モードを記憶する。それは、輝度分量と色度分量両方を含むブロックの輝度のフレーム内予測モードを含むことができ、輝度分量だけを含むブロックの輝度のフレーム内予測モードを含むこともできる。
【0122】
さらに、例えば、AVS3において、本願の実施例は、AWPで2つの異なる動き情報を記憶することに類似するロジックを使用して2つの異なるフレーム内予測モードを記憶することができる。即ち、1つの最小ユニットに対応する位置において、2種類のフレーム内予測モードのうちの1種類のフレーム内予測モードによって決定された予測ブロックだけを使用する場合、該最小ユニットに、該種類のフレーム内予測モードを記憶する。1つの最小ユニットに対応する位置において2種類のフレーム内予測モードのうちの別の1種類のフレーム内予測モードに決定された予測ブロックだけを使用する場合、該最小ユニットに、該別の種類のフレーム内予測モードを記憶する。1つの最小ユニットに対応する位置において第1種類のフレーム内予測モードによって決定された予測ブロックだけでなく、第2種類のフレーム内予測モードによって決定された予測ブロックも使用する場合、事前設定の判断方法に基づいて、そのうちの1つを選択して記憶することができる。例えば、最小ユニットが4×4である場合、ある1つの点、例えば、(2、2)の点を選択する。この点における第1種類のフレーム内予測モードの重みが第2種類のフレーム内予測モードの重み以上である場合、第1種類のフレーム内予測モードを記憶し、そうでない場合、第2種類のフレーム内予測モードを記憶する。さらに、例えば、最小ユニットのブロックにおけるすべての点の第1種類のフレーム内予測モードの重みと第1種類のフレーム内予測モードの重みを合計し、第1種類のフレーム内予測モードの重み和が第2種類のフレーム内予測モードの重み和以上である場合、第1種類のフレーム内予測モードを記憶し、そうでない場合、第2種類のフレーム内予測モードを記憶する。本願の実施例において、GPM又はAWPにおける関連情報を記憶する方法を使用する。このようにして、同じロジックの一部を再利用することができる。
【0123】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを例として、フレーム内予測に使用されたフレーム内予測モードを記憶するステップは、
処理待ちブロック全体に対応するすべての最小ユニットに、同一のフレーム内予測モードを選択して記憶を行うステップを含む。このようにして、複雑度を低減させることができる。
【0124】
1つの例示的な例において、処理待ちブロック全体に対応するすべての最小ユニットに、同一のフレーム内予測モードを選択して記憶を行うステップは、
コードストリームを解析して得られた重みマトリックス導出モードに基づいて、処理待ちブロックのすべての最小ユニットに、いずれも2種類のフレーム内予測モードのうちの1種類のフレーム内予測モードを記憶し、又は、2種類のフレーム内予測モードのうちの別の1種類のフレーム内予測モードを記憶することを決定するステップを含むことができる。例えば、すべての重みマトリックス導出モードに対して、第1種類のフレーム内予測モードを選択する。さらに、例えば、すべての重みマトリックス導出モードに対して、第2種類のフレーム内予測モードを選択する。さらに、例えば、いくつかの重みマトリックス導出モードのすべての最小ユニットに対して、第1種類のフレーム内予測モードを選択し、別のいくつかの重みマトリックス導出モードのすべての最小ユニットに対して、第2種類のフレーム内予測モードを選択する。
【0125】
ここで、重みマトリックス導出モードは、重みマトリックスを導出するモードである。所定の幅と高さを有する1つのブロックに対して、各種類の重みマトリックス導出モードは、1つの重みマトリックスを導出することができ、異なる重みマトリックス導出モードは、同じサイズのブロックに対して導出する重みマトリックスが異なる。例えば、AVS3のAWPは、56種類の重みマトリックス導出モードを有し、VVCのGPMは、64種類の重みマトリックス導出モードを有する。
【0126】
1つの例示的な例において、処理待ちブロック全体に対応するすべての最小ユニットに、同一のフレーム内予測モードを選択して記憶を行うステップは、
コードストリームを解析して得られた重みマトリックスの導出モードのモード番号に基づいて、処理待ちブロックのすべての最小ユニットに、いずれも2種類のフレーム内予測モードのうちの1種類のフレーム内予測モードを記憶し、又は、2種類のフレーム内予測モードのうちの別の1種類のフレーム内予測モードを記憶することを決定するステップを含むことができる。1種類の実施例において、重みマトリックス導出モードのモード番号に基づいてテーブル検索することによって、処理待ちブロックのすべての最小ユニットに第1種類のフレーム内予測モードを記憶するか、それとも第2種類のフレーム内予測モードを記憶するかを決定することができる。ここで、本願の実施例でAWPと同じ重みマトリックスの導出モードを使用することを例として、表1に示すように、表1におけるモード番号が0であるマトリックス導出モードに対応するすべての最小ユニットに、第1種類のフレーム内予測モードを記憶することを選択することができ、表1におけるモード番号が1であるマトリックス導出モードに対応するすべての最小ユニットは、第2種類のフレーム内予測モードを選択することができる。
【0127】
【表1】
【0128】
1つの実施例は、符号化方法を提供し、該符号化方法は、
目標画像フレームを得、目標画像フレームに対してブロック分割を行い、処理待ちブロックを得るステップと、
2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得し、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るステップと、
前記処理待ちブロックと前記目標予測ブロックに基づいて符号化を行い、コードストリームを生成するステップと、を含む。
【0129】
別の1つの実施例は、復号化方法を提供し、該復号化方法は、
コードストリームを解析し、処理待ちブロックと重みマトリックスを取得するステップと、
2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップと、
重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るステップと、
前記目標予測ブロックと前記処理待ちブロックに基づいて復号化を行い、前記処理待ちブロックに対応する再構築ブロックを取得するステップと、を含む。
【0130】
本願の実施例は、コンピュータ実行可能な命令を記憶したコンピュータ可読記憶媒体を提供する。前記コンピュータ実行可能な命令は、上記のいずれか1項に記載のデコーダ側に適用されるフレーム内予測方法又は復号化方法を実現させるためのものである。
【0131】
本願の実施例は、コンピュータ実行可能な命令を記憶したコンピュータ可読記憶媒体を提供する。前記コンピュータ実行可能な命令は、上記のいずれか1項に記載のエンコーダ側に適用されるフレーム内予測方法又は符号化方法を実現させるためのものである。
【0132】
本願の実施例は、メモリとプロセッサを含むデコーダを提供する。メモリは、プロセッサに実行可能な命令を記憶し、前記プロセッサに実行可能な命令は、上記のいずれか1項に記載のデコーダ側に適用されるフレーム内予測方法又は復号化方法のステップを実現させるためのものである。
【0133】
本願の実施例は、メモリとプロセッサを含むエンコーダを提供する。メモリは、プロセッサに実行可能な命令を記憶し、前記プロセッサに実行可能な命令は、上記のいずれか1項に記載のエンコーダ側に適用されるフレーム内予測方法又は符号化方法のステップを実現させるためのものである。
【0134】
図13は、本願におけるフレーム内予測装置の構造概略図である。図13に示すように、該フレーム内予測装置は、少なくとも予測モジュールと組み合わせモジュールを含む。
【0135】
予測モジュールは、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するように構成される。
【0136】
組み合わせモジュールは、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るように構成される。
【0137】
本願の実施例に提供されるフレーム内予測装置は、エンコーダに設置されて良く、デコーダに設置されても良い。
【0138】
本願の実施例に提供されるフレーム内予測装置は、デコーダに設置され、さらに、復号化モジュールを含む。
【0139】
復号化モジュールは、受け取ったコードストリームに対して復号化を行い、2種類以上の異なるフレーム内予測モード、処理待ちブロック、及び重みマトリックスを取得するように構成される。
【0140】
本願の実施例に提供されるフレーム内予測装置は、エンコーダに設置され、さらに、処理モジュールを含む。
【0141】
処理モジュールは、すべて又は一部の可能な予測モードと重みマトリックス導出モードの組み合わせとに対して試行を行い、損失コストを計算し、損失コストが小さい組み合わせを選択し、組み合わせ内の2種類以上の異なるフレーム内予測モードと重みマトリックスを、フレーム内予測に使用される2種類以上の異なるフレーム内予測モードと重みマトリックスとし、決定された2種類以上の異なるフレーム内予測モードと重みマトリックス導出モードという情報を文法に従ってコードストリームに書き込むように構成される。
【0142】
1つの例示的な例において、2種類以上の異なるフレーム内予測モードは、少なくとも1種類の基本フレーム内予測モードを含む。
【0143】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを例として、2種類の異なるフレーム内予測モードは、いずれも基本フレーム内予測モードである。
【0144】
1つの例示的な例において、採用された基本フレーム内予測モードについて、さらに、改善フレーム内予測モードと組み合わせて処理待ちブロックに対して予測を行うことができる。
【0145】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを例として、2種類の異なるフレーム内予測モードは、1種類の基本フレーム内予測モードと1種類の改善フレーム内予測モードを含む。
【0146】
本願の実施例において、処理待ちブロックに対する予測について、少なくとも2種類の異なるフレーム内予測モードを採用する。このようにして、多視点から処理待ちブロックに対して予測を行うことができ、複雑なテクスチャの予測を処理することに適し、フレーム内予測の品質を向上させることができる。
【0147】
1つの例示的な例において、すべての可能な重みマトリックスのうち、各重みマトリックスのすべての点の重みが同じというものではない。言い換えれば、すべての可能な重みマトリックスに、少なくとも2つの異なる重み値が含まれる可能な重みマトリックスは、少なくとも1つ存在する。
【0148】
1つの例示的な例において、すべての可能な重みマトリックスは、少なくとも2つの異なる重み値を含む。
【0149】
1つの例示的な例において、1つの例示的な例において、すべての可能な重みマトリックスに、少なくとも2つの異なる重み値が含まれる重みマトリックスは、少なくとも1つ存在し、しかも、同一の重み値だけが含まれる重みマトリックスは、少なくとも1つ存在する。
【0150】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを例として、すべての可能な重みマトリックスに、2種類の重み値だけが含まれる重みマトリックスは、1つだけあり、そのうちの1つの重み値は、対応する点の予測値が完全に第1予測ブロックの対応する点の値からのものであることを表し、もう1つの重み値は、対応する点の予測値が完全に第2予測ブロックの対応する点の値からのものであることを表す。
【0151】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して復号化待ちブロックに対してフレーム内予測を行うことを例として、すべての可能な重みマトリックスにおいて、1つの重みマトリックスは、複数の種類の重み値を含むことができ、重み値の最大値と最小値(例えば、0)のそれぞれは、対応する点の予測値が完全に第1予測ブロックの対応する点の値と第2予測ブロックの対応する点の値からであることを表し、最大値と最小値ではない重み値は、対応する点の予測値が第1予測ブロックと第2予測ブロックの対応する点の値の加重平均からであることを表す。ここで、最大値、最小値以外の重み値によって構成される領域は、過渡領域と呼ばれることができる。
【0152】
1つの例示的な例において、すべての可能な重みマトリックスに、重みマトリックスが2種類の重み値だけを含む場合、重み値の変化位置は、1本の直線として表され、重みマトリックスが複数の種類の重み値を含む場合、過渡領域における重み値が同じである位置は、1本の直線として表される。1種類の実施例において、上記の直線がすべて水平垂直であり、又は、上記の直線がすべて水平垂直ではない。
【0153】
1つの例示的な例において、すべての可能な重みマトリックスに、重みマトリックスが2種類の重み値だけを含む場合、重み値の変化位置は、1本の曲線として表され、重みマトリックスが複数の種類の重み値を含む場合、過渡領域における重み値が同じである位置は、1本の曲線として表される。
【0154】
本願の実施例に提供される多様化の重みマトリックスは、より多様の予測ブロックを予測することに保障を提供し、さらに、本願の実施例に提供されるフレーム内予測方法は、より多くの場面に適用される。
【0155】
1つの例示的な例において、本願の実施例に提供されるフレーム内予測装置において、ブロックのサイズは、下記のような場合を含むことができるが、これらに限定されない。
【0156】
ブロックの幅は第1閾値TH1以上であり、ブロックの高さは第2閾値TH2以上であり、第1閾値TH1と第2閾値TH2の値は、8、16、32、64、128などであり得、第1閾値TH1は第2閾値TH2に等しくても良く、例えば、第1閾値TH1=第2閾値TH2=8である。又は、ブロックの画素数は第3閾値TH3以上であり、第3閾値TH3の値は、8、16、32、64、128などであり得る。
【0157】
又は、ブロックの幅は第4閾値TH4以下であり、ブロックの高さは第5閾値TH5以下であり、第4閾値TH4と第5閾値TH5の値は、8、16、32、64、128などであり得、第4閾値TH4は第5閾値TH5に等しくても良い。又は、ブロックの画素数は第6閾値TH6以下であり、第6閾値TH6の値は、8、16、32、64、128などであり得る。
【0158】
ブロックのサイズに対する制限によって、複数の予測モードを採用して予測を行うことによる複雑度がシステム全体に与える影響を低減させる。さらに、いくつかのサイズのブロックを適用しないと制限することによって、圧縮性能と複雑度のバランスをうまく実現し、それによって、本願の適用性をよりうまく保証する。
【0159】
1つの例示的な例において、技術の発展につれて、ブロックの分割はますます柔軟になる。正方形のブロック以外、分割方法は、アスペクト比が1:2、1:4、1:8、2:1、4:1、8:1などの形状のブロックをサポートすることができる。本願の実施例に提供されるフレーム内予測方法において、本願の発明者らの研究によると、いくつかのアスペクト比のブロック、即ち、いくつかのサイズのアスペクト比のブロック、例えば、1:4又は4:1のブロック及び1:8又は8:1のブロック、又は8×32、8×64、32×8、64×8などのブロックの圧縮性能は、それまで良いものではなく、又は、著しいものではない。この場合、本願における1つの実施例において、ブロックのアスペクト比を設定することによってブロックのサイズを設定することができる。例えば、幅と高さの比例は、事前設定の比例閾値THR以下であり、且つ、幅と高さの比例は、該比例閾値THR以下である。
【0160】
1つの例示的な例において、ブロックのサイズ、及びブロックのアスペクト比の設定は、同時に行っても良い。例えば、ブロックのサイズについて、ブロックの高さが8以上であり、ブロックの幅が8以上であり、ブロックの幅とブロックの高さの比例が4以下であり、ブロックの高さとブロックの幅の比例が4以下である場合、本願の実施例に提供されるフレーム内予測方法を使用することができ、そうでない場合、本願の実施例に提供されるフレーム内予測方法をデフォルトで使用しない。
【0161】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して復号化待ちブロックに対してフレーム内予測を行うことを例として、組み合わせモジュールは、具体的に、
第1予測ブロックに対応するマトリックスと第1重みマトリックスとの第1積を計算し、第2予測ブロックに対応するマトリックスと第2重みマトリックスとの第2積を計算し、
第1積、第2積、及び事前設定値の和を計算し、
計算して得られた和に対して正規化処理を行い、前記目標予測ブロックを得るように構成される。
【0162】
1つの例示的な例において、本願の実施例に提供されるフレーム内予測装置は、エンコーダに設置され、処理モジュールはさらに、
現在処理待ちフレームが本願の実施例のフレーム内予測方法を使用するか否かを表すために、フレームレベルのフラグを設定するように構成される。
【0163】
対応的に、デコーダにおける復号化モジュールはさらに、フラグに基づいて、復号化して得られた2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを引き続き実行するかどうかを判断するように構成される。
【0164】
1つの例示的な例において、本願の実施例に提供されるフレーム内予測装置は、エンコーダに設置され、処理モジュールはさらに、
示された該領域に対して本願の実施例のフレーム内予測方法を使用するか否かを表すために、フレームレベル以下、且つCUレベル以上(例えば、tile、slice、patch、LCUなど)のフラグを設定するように構成される。
【0165】
対応的に、デコーダにおける復号化モジュールはさらに、フラグに基づいて、復号化して得られた2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを引き続き実行するかどうかを判断するように構成される。
【0166】
本願の実施例における異なるレベルのフラグの設定によって、一方で、異なる適用場面とビデオ内容に基づいて最適の配置を設定することを柔軟に実現し、別の一方で、コードレートをさらに節約する効果を達成する。
【0167】
1つの例示的な例において、本願の実施例に提供されるフレーム内予測装置は、エンコーダに設置され、処理モジュールはさらに、
本願の実施例に提供されるフレーム内予測方法と相互に排他的な改善予測モードを設定するように構成される。
【0168】
対応的に、デコーダにおける復号化モジュールはさらに、コードストリームを解析し、設定された本願の実施例に提供されるフレーム内予測方法と相互に排他的な改善予測モードを取得し、処理待ちブロックが本願の実施例のフレーム内予測方法を使用することを決定した場合、相互に排他的な改善予測モードを使用せず、処理待ちブロックが相互に排他的な改善予測モードを使用することを決定した場合、本願の実施例のフレーム内予測方法を使用しないように構成される。相互に排他的な改善予測モードに対する設定によって、コードストリームにおいて該相互に排他的な改善予測モードを使用するか否かのフラグを伝送する必要がなく、コードストリームにおける余計なフラグの伝送を節約し、全体としてより良い圧縮性能を得る。
【0169】
本実施例においてこれらの改善予測モードと本願のフレーム内予測との相互に排他的な関係を設定することによって、性能と複雑度とのバランスがうまく取れ、それによって、本願の適用性をよりうまく保証する。
【0170】
1つの例示的な例において、組み合わせモジュールはさらに、
隣接するブロックの符号化・復号化に使用するために、フレーム内予測に使用されたフレーム内予測モード情報を記憶するように構成される。
【0171】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを例として、フレーム内予測に使用されたフレーム内予測モードを記憶するステップは、下記を含む。
【0172】
2種類の異なるフレーム内予測モードのうちの1種類のフレーム内予測モードを記憶する最小ユニットは、少なくとも1つ存在し、2種類の異なるフレーム内予測モードのうちの別の1種類のフレーム内予測モードを記憶する最小ユニットは、少なくとも1つ存在する。即ち、記憶したフレーム内予測モードが異なる最小ユニットは、少なくとも2つ存在する。
【0173】
1つの例示的な例において、2種類の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを例として、フレーム内予測に使用されたフレーム内予測モードを記憶するステップは、
処理待ちブロック全体に対応するすべての最小ユニットに、同一のフレーム内予測モードを選択して記憶を行うステップを含む。
【0174】
本願の実施例に提供されるデコーダを適用して、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、2種類以上の予測ブロックを取得する。重みマトリックスに基づいて、得られた2種類以上の予測ブロックに対して組み合わせを行い、それによって、処理待ちブロックの予測ブロックを得る。本願の実施例は、複数の種類のフレーム内予測モードによって複数の予測ブロックを決定し、複雑なテクスチャの予測処理を実現し、フレーム内予測の品質を向上させ、それによって、圧縮性能を向上させる。
【0175】
さらに、本願の実施例に提供されるデコーダを適用して、多様化の重みマトリックスによって、より複雑なテクスチャの予測処理に保障を提供し、フレーム内予測の品質を向上させ、それによって、圧縮性能を向上させる。さらに、本願の実施例に提供されるフレーム内予測方法は、より多くの場面に適用されることができる。
【0176】
本願の実施例はさらに、復号化モジュール、予測モジュール、及び組み合わせモジュール、を含むデコーダを提供する。
【0177】
復号化モジュールは、受け取ったコードストリームに対して復号化を行い、2種類以上の異なるフレーム内予測モード、処理待ちブロック、及び重みマトリックスを取得するように構成される。
【0178】
予測モジュールは、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するように構成される。
【0179】
組み合わせモジュールは、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るように構成される。
【0180】
1つの例示的な例において、復号化モジュールはさらに、
フレームレベルのフラグに基づいて、復号化して得られた2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを引き続き実行するかどうかを判断するように構成される。
【0181】
1つの例示的な例において、復号化モジュールはさらに、フレームレベル以下、且つCUレベル以上のフラグに基づいて、復号化して得られた2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行うことを引き続き実行するかどうかを判断するように構成される。
【0182】
本願の実施例はさらに、予測モジュール、組み合わせモジュール、及び処理モジュール、を含むエンコーダを提供する。
【0183】
予測モジュールは、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するように構成される。
【0184】
組み合わせモジュールは、重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るように構成される。
【0185】
処理モジュールは、すべて又は一部の可能な予測モードと重みマトリックス導出モードの組み合わせとに対して試行を行い、損失コストを計算し、損失コストが小さい組み合わせを選択し、組み合わせ内の2種類以上の異なるフレーム内予測モードと重みマトリックスを、フレーム内予測に使用される2種類以上の異なるフレーム内予測モードと重みマトリックスとし、決定された2種類以上の異なるフレーム内予測モードと重みマトリックス導出モードという情報を文法に従ってコードストリームに書き込むように構成される。
【0186】
1つの例示的な例において、処理モジュールはさらに、フラグを設定するように構成され、
前記フラグは、フレームレベルであり、デコーダが前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得することを引き続き実行するかどうかを表すためのものであり、
及び/又は、前記フラグは、フレームレベル以下、且つ符号化ユニット(CU)レベル以上のフラグであり、示された領域に対してデコーダが前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得することを引き続き実行するかどうかを表すためのものである。
【0187】
1つの例示的な例において、処理モジュールはさらに、
前記フレーム内予測と相互に排他的な予測モードを設定し、
前記処理待ちブロックに対して前記フレーム内予測を使用する場合、相互に排他的な予測モードを使用せず、又は、前記処理待ちブロックに対して相互に排他的な予測モードを使用する場合、前記フレーム内予測を使用しないように構成される。
【0188】
1つの例示的な例において、組み合わせモジュールはさらに、フレーム内予測に使用されたフレーム内予測モード情報を記憶するように構成される。
【0189】
図14は、本願の実施例におけるフレーム内予測方法の別の一例のフローチャートである。図14に示すように、該フレーム内予測方法は、下記のステップを含む。
【0190】
ステップ1400において、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行う。
【0191】
ステップ1401において、各種類のフレーム内予測モードの予測によって事前設定の数量の画素点の予測が完了した後に、重みマトリックスと予測完了の各フレーム内予測モードに対応する画素点とに基づいて処理待ちブロックの事前設定の数量の予測画素点を得る。
【0192】
ステップ1402において、得られた複数の事前設定の数量の予測画素点に基づいて処理待ちブロックの目標予測ブロックを得る。
【0193】
本実施例に提供されるフレーム内予測方法と図7に示す実施例との区別として、図7に示す実施例の処理対象はブロックであり、図14に示す実施例の処理対象は画素点である。同じく、図14に示す実施例において、2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、事前設定の数量の画素の予測が完了した後に、重みマトリックスに基づいて、予測完了の各フレーム内予測モードに対応する画素点に対して組み合わせを行って処理待ちブロックの事前設定の数量の予測画素点を得、最後に、得られた複数の事前設定の数量の予測画素点を組み合わせして処理待ちブロックの予測ブロックを得る。本願の実施例は、複数の種類のフレーム内予測モードによって複数の予測ブロックを決定し、複雑なテクスチャの予測処理を実現し、フレーム内予測の品質を向上させ、それによって、圧縮性能を向上させる。
【0194】
さらに、図14に示す実施例における重みマトリックスの具体的な実現は、図7に示す実施例のようである。多様化の重みマトリックスは、より複雑なテクスチャの予測処理に保障を提供し、フレーム内予測の品質を向上させ、それによって、圧縮性能を向上させる。さらに、本願の実施例に提供されるフレーム内予測方法は、より多くの場面に適用されることができる。
【0195】
以下では、AVS3に本願の実施例に提供されるフレーム内予測方法を適用することを例として、1つの復号化実施例を説明する。AVS3においてAWP技術が使用されるため、本実施例において、本願のフレーム内予測は、空間領域角度加重予測(SAWP:Spatial Angular Weighted Prediction)と呼ばれる。本実施例において、一部のAVS3標準における用語を使用し、例えば、本実施例における予測サンプルマトリックスは、上記の予測ブロックと指しており、即ち、「ブロック」は、「サンプルマトリックス」として理解されることができる。さらに、例えば、本実施例におけるアレイは、マトリックスである。本実施例において、SAWPが輝度分量に作用することを例とするが、本願の実施例は、輝度分量に限らず、色度分量及び他の任意のフォーマットの任意の分量に用いられることができる。
【0196】
本実施例における1つの方式において、エンコーダ側は、1つのシーケンスレベルのフラグ(flag)を設定し、それによって、デコーダ側の現在の復号化待ちシーケンスがSAWPを使用するか否かを決定する。シーケンスヘッダ(sequence_header)の定義は、表2に示すようである。
【0197】
【表2】
【0198】
表2において、sawp_enable_flagは、空間領域角度加重予測許可フラグであり、バイナリ変数である。例えば、sawp_enable_flagは、値が1である場合、空間領域角度加重予測を使用することができることを表し、値が0である場合、空間領域角度加重予測を使用することができないことを表す。
【0199】
本実施例における別の1つの方式において、エンコーダ側は、1つのフレームレベルのフラグを設定し、それによって、デコーダ側で現在の復号化待ちフレームに対してSAWPを使用するか否かを決定する。例えば、イントラフレーム(例えば、Iフレーム)に対してSAWPを使用し、インターフレーム(例えば、Bフレーム、Pフレーム)に対してSAWPを使用しないように設定することができる。さらに、例えば、イントラフレームに対してSAWPを使用せず、インターフレームに対してSAWPを使用すると設定することができる。さらに、例えば、いくつかのインターフレームに対してSAWPを使用し、いくつかのインターフレームに対してSAWPを使用しないように設定することができる。
【0200】
本実施例におけるさらに別の1つの方式において、エンコーダ側は、1つのフレームレベル以下、且つCUレベル以上(例えば、tile、slice、patch、LCUなど)のフラグを設定し、それによって、デコーダ側は、この領域に対してSAWPを使用するか否かを決定する。
【0201】
説明すべきこととして、本実施例において、上記のフラグを設定しなくても良い。
【0202】
デコーダは、現在CUを復号化し、現在CUに対してフレーム内予測を使用する場合、現在CUのSAWP使用フラグを復号化し、そうでない場合、現在CUのSAWP使用フラグを復号化する必要がない。DTとIPFの関連情報がSAWPと相互に排他的であるため、現在CUがSAWPを使用する場合、DTとIPFの関連情報を処理する必要がない。
【0203】
【表3】
【0204】
ここで、SawpMinSizeは、長さと幅の最小値であり、SawpMaxRatioは、最も大きいアスペクト比である。
【0205】
表3において、sawp_flagは、空間領域角度加重予測フラグを表し、バイナリ変数である。例えば、sawp_flagは、値が1である場、空間領域角度加重予測を行うことを表し、値が0である場合、空間領域角度加重予測を行わないことを表す。SawpFlagの値は、sawp_flagの値に等しい。ビットストリームにsawp_flagが存在しない場合、SawpFlagの値は0である。
【0206】
表3におけるSawpEnableFlagの値は、表2におけるsawp_enable_flagの値に等しい。ビットストリームにsawp_enable_flagが存在しない場合、SawpEnableFlagの値は0である。
【0207】
本実施例において、現在CUに対してSAWPを使用すると仮定すると、重みマトリックス導出モードと2つのフレーム内予測モード(本実施例において、2種類のフレーム内予測モードを例とする)を復号化する必要がある。本実施例において、重みマトリックス導出モードがAWPの重みマトリックス導出モードを再利用することを例とし、SAWPの2つのフレーム内予測モードの復号化が関連技術におけるフレーム内予測モードの復号化を再利用することを例とする。
【0208】
【表4】
【0209】
表4において、sawp_idxは、空間領域角度加重予測モードインデックスを表し、空間領域角度加重予測の重みマトリックスを決定するためのものであり、SawpIdxの値は、sawp_idxの値に等しい。ビットストリームにsawp_idxが存在しない場合、SawpIdxの値は0に等しい。
【0210】
表4において、intra_luma_pred_mode0は、空間領域角度加重予測の第1輝度予測モードを表し、空間領域角度加重予測の輝度ブロックの第1フレーム内予測モードを決定するためのものである。intra_luma_pred_mode1は、空間領域角度加重予測の第2輝度予測モードを表し、空間領域角度加重予測の輝度ブロックの第2フレーム内予測モードを決定するためのものである。
【0211】
1種類の実施例において、sawp_idxの解析方法は、関連技術におけるawp_idxと同じであっても良い。intra_luma_pred_mode0の解析方法は、関連技術におけるintra_luma_pred_modeと同じであっても良い。intra_luma_pred_mode1の解析方法は、関連技術におけるintra_luma_pred_modeと同じであっても良い。
【0212】
1種類の実施例において、intra_luma_pred_mode1の解析方法は、下記のステップを含むことができる。intra_luma_pred_mode0とintra_luma_pred_mode1がいずれも最も可能なモード(MPM)を使用する場合、intra_luma_pred_mode1は、それがMPMの第1フレーム内予測モードであるか、それとも第2フレーム内予測モードであるかをさらに解析する必要がない。即ち、前記復号化された第1フレーム内予測モードの情報に基づいて、前記第2フレーム内予測モードを決定する。その理由として、AVS3のMPMは2つのフレーム内予測モードしかを有せず、intra_luma_pred_mode0がそのうちの1つのフレーム内予測モードを使用する場合、intra_luma_pred_mode1は、別の1つのフレーム内予測モードをデフォルトで使用すれば良い。
【0213】
Intra_luma_pred_mode0の二値化方法は、表5に示されるように、intra_luma_pred_mode0の値が0又は1であり、それは、MPMを使用するか否かを表す。具体的に、二元記号列の1番目の二元記号が「1」であることは、MPMであることを表し、「0」であることは、MPMではないことを表す。1番目の二元記号がMPMであることを表す場合、二元記号列の2番目の二元記号は、どのMPMであることを表す。
【0214】
【表5】
【0215】
Intra_luma_pred_mode1の二値化方法は、表6に示されるように、intra_luma_pred_mode1の値が0又は1であることは、MPMを使用するか否かを表す。具体的に、二元記号列の1番目の二元記号が「1」である場合、2番目の二元記号も必要がない。intra_luma_pred_mode0の値が1である場合、intra_luma_pred_mode1の値は0である。intra_luma_pred_mode0の値が0である場合、intra_luma_pred_mode1の値は1である。
【0216】
【表6】
【0217】
依然として、AVS3において本願の実施例に提供されるフレーム内予測方法を適用することを例として、コードストリーム構造の解析と復号化の別の1つの実施例を紹介する。
【0218】
デコーダは、現在CUを復号化し、現在CUに対してフレーム内予測を使用する場合、現在CUのDTとIPFの使用フラグ、及び現在フレーム内予測方法における各予測ユニットの唯一の輝度予測モードintra_luma_pred_modeを復号化する。
【0219】
現在CUに対してDTを使用せず、IPFも使用しない場合、現在CUのSAWP使用フラグを復号化する。現在CUに対してSAWPを使用する場合、重みマトリックス導出モードと1つのフレーム内予測モードintra_luma_pred_mode1をさらに復号化し、復号化されたintra_luma_pred_modeをintra_luma_pred_mode0とする。
【0220】
【表7】
【0221】
intra_luma_pred_mode0とintra_luma_pred_mode1のそれぞれに基づいて、IntraLumaPredMode0とIntraLumaPredMode1を決定し、それによって、フレーム内予測サンプルマトリックスpredMatrix0とpredMatrix1を決定する。
【0222】
SawpIdxに基づいて、重みマトリックスSawpWeightArrayYを決定し、ここで、入力されたインデックスはSawpIdxである。
【0223】
2つのフレーム内予測サンプルマトリックスpredMatrix0とpredMatrix1、及び決定された重みマトリックスSawpWeightArrayYに基づいて、新しい予測サンプルマトリックスpredMatrixSawpを決定する。
【0224】
空間領域角度加重予測モードの予測サンプルマトリックスpredMatrixSawpにおける要素predMatrixSawp[x][y]の値は、((predMatrix0[x][y] * AwpWeightArrayY[x][y] + predMatrix1[x][y] * ( 8 - AwpWeightArrayY[x][y] ) + 4 ) >> 3)である。
【0225】
SAWPの予測ブロック、即ち、空間領域角度加重予測モードの予測サンプルマトリックスpredMatrixSawpを決定した後に、後続の処理はさらに、量子化係数の復号化、逆変換と逆量子化によって残差ブロックを決定するステップ、残差ブロックと予測ブロックを組み合わせて再構築ブロックを生成するステップ、及び後続のループ内フィルタリングなど、を含むことができる。具体的な実現は、本願の保護範囲を限定するためのものではなく、ここで繰り返して記載しない。
【0226】
本実施例におけるSAWPのフレーム内予測モード記憶方法は、AWPの動き情報の記憶方法に類似する方法を使用することができ、入力されるインデックスをSawpIdxに、出力されるフレーム内予測参照モード(interPredAwpRefMode)をsawpRefModeに置き換えるだけで良い。ある4×4ブロックのsawpRefModeが0である場合、IntraLumaPredMode0を記憶する。そうでない場合、該4×4ブロックのsawpRefModeが1であり、IntraLumaPredMode1を記憶する。
【0227】
AVS3の1番目のバージョンは、34種類のフレーム内予測モードだけをサポートし、そのうちの第34種類(インデックスが0から始まる場合、インデックス番号は33である)のモードは、PCMモードである。AVS3の2番目のバージョンに、より多くのフレーム内予測モードが追加され、66種類のフレーム内予測モードまで拡大される。2番目のバージョンは、1番目のバージョンとの互換性を保持するため、従来のintra_luma_pred_modeの復号化方法を変えず、その代わりに、intra_luma_pred_modeが1より大きい場合、もう1つのフラグを増加する必要があることを提案する。表8に示すように、即ち、フレーム内輝度予測モード拡張フラグeipm_pu_flagである。
【0228】
【表8】
【0229】
フレーム内輝度予測モード拡張フラグeipm_pu_flagは、バイナリ変数である。eipm_pu_flagの値が1である場合、フレーム内角度予測拡張モードを使用すべきであることを表し、eipm_pu_flagの値が0である場合、フレーム内輝度予測拡張モードを使用しないことを表す。EipmPuFlagの値は、eipm_pu_flagの値に等しい。ビットストリームにeipm_pu_flagが存在しない場合、EipmPuFlagの値は0に等しい。
【0230】
そのため、AVS3の2番目のバージョンの記述に対応する場合、上記の実施例における文法intra_luma_pred_mode、intra_luma_pred_mode0、及びintra_luma_pred_mode1の後に、表8のようにeipm_pu_flag、eipm_pu_flag0、及びeipm_pu_flag1の記述を追加するべきである。しかも、IntraLumaPredMode0は、intra_luma_pred_mode0とeipm_pu_flag0に基づいて決定され、IntraLumaPredMode1は、intra_luma_pred_mode1とeipm_pu_flag1に基づいて決定される。
【0231】
本願の実施例において、PCMモードを使用しない実施例、又は、1番目のバージョンの前の33種類又は34種類だけを使用するモードの実施例について、eipm_pu_flagを伝送する必要がない。
【0232】
明らかに、当業者が理解可能なこととして、上記の本願の各モジュール又は各ステップは、汎用の計算装置で実現されることができ、単一の計算装置に集中されても良く、複数の計算装置からなるネットワークに分散されても良く、選択可能なこととして、計算装置に実行可能なプログラムコードで実現されても良く、それによって、記憶装置に記憶され、計算装置に実行されても良い。さらに、いくつかの場合、示された又は説明されたステップは、本明細書と異なる順序で実行されても良く、又は、それらのそれぞれを各集積回路モジュールとして製造し、又は、そのうちの複数のモジュール又はステップを単一の集積回路モジュールとして製造することによって実現されても良い。このようにして、本願は、ハードウェアとソフトウェアの任意の特定の組み合わせに限定されるものではない。
【0233】
上記の説明は、本願の最適的な実施例に過ぎなく、本願を制限するためのものではない。当業者に対して、本願が各種類の変更と変化があり得る。本願の主旨精神と原則以内に、いかなる改修、同等入れ替わり、改善等が、本願の保護範囲以内に含まれるべきである。
図1(a)】
図1(b)】
図1(c)】
図2
図3
図4
図5
図6
図7
図8
図9(a)】
図9(b)】
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2023-11-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーダに適用されるフレーム内予測方法であって、
2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップと、
重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るステップと、を含む、フレーム内予測方法。
【請求項2】
前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得する前に、前記フレーム内予測方法はさらに、
コードストリームを解析し、前記2種類以上の異なるフレーム内予測モード、前記処理待ちブロック、及び前記重みマトリックスを取得するステップを含む、
請求項1に記載のフレーム内予測方法。
【請求項3】
前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得する前に、前記フレーム内予測方法はさらに、
コードストリームを解析し、フラグを取得するステップを含み、
前記フラグは、フレームレベルのフラグであり、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップを引き続き実行するかどうかを表すためのものであり、
及び/又は、前記フラグは、フレームレベル以下、且つ符号化ユニット(CU)レベル以上のフラグであり、示された領域に対して前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップを引き続き実行するかどうかを表すためのものである、
請求項1に記載のフレーム内予測方法。
【請求項4】
前記2種類以上の異なるフレーム内予測モードは、第1フレーム内予測モードを含み、又は、第1フレーム内予測モードと第2フレーム内予測モードを含み、
第1フレーム内予測モードは、他のフレーム内予測モードに依存せずに予測ブロックを独立で生成するフレーム内予測モードであり、第2フレーム内予測モードは、基本フレーム内予測モードに依存して予測ブロックを決定するフレーム内予測モードである、
請求項1~3のいずれか1項に記載のフレーム内予測方法。
【請求項5】
前記2種類以上の異なるフレーム内予測モードは、少なくとも1種類の前記第1フレーム内予測モードを含
前記フレーム内予測モードは、2種類の異なるフレーム内予測モードを含み、
2種類の異なるフレーム内予測モードは、いずれも前記第1フレーム内予測モードである、
請求項4に記載のフレーム内予測方法。
【請求項6】
前記第1フレーム内予測モードは、方向角度(DC)モード、平滑(Planar)モード、平面(Plane)モード、双線形(Bilinear)モード、角度予測(AC)モードのうちの1つまたは複数を含む、
請求項5に記載のフレーム内予測方法。
【請求項7】
前記フレーム内予測モードは、2種類の異なるフレーム内予測モードを含み、前記予測ブロックは、第1予測ブロックと第2予測ブロックを含み、前記重みマトリックスは、第1重みマトリックスと第2重みマトリックスを含み、
重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るステップは、
第1予測ブロックと第1重みマトリックスとの第1積を計算し、第2予測ブロックと第2重みマトリックスとの第2積を計算するステップと、
第1積、第2積、及び事前設定値の和を計算するステップと、
計算して得られた和に対して正規化処理を行い、前記目標予測ブロックを得るステップと、を含
前記第2重みマトリックスは、最大重み値と前記第1重みマトリックスとの差であり、
前記正規化処理は、計算して得られた和を事前設定のビット数だけ右シフトし、復号化待ちブロックの予測ブロックを得るステップを含む、
請求項1~3のいずれか1項に記載のフレーム内予測方法。
【請求項8】
前記最大重み値は8に等しく、前記事前設定値は4に等しく、前記事前設定のビット数は3に等しい、
請求項に記載のフレーム内予測方法。
【請求項9】
すべての可能な前記重みマトリックスに、少なくとも2つの異なる重み値が含まれる重みマトリックスは、少なくとも1つ存在する、
請求項に記載のフレーム内予測方法。
【請求項10】
すべての可能な前記重みマトリックスにおいて、1つの重みマトリックスは、複数の種類の重み値を含み、重み値の最大値と最小値のそれぞれは、対応する点の予測値が完全に前記第1予測ブロックの対応する点の値と前記第2予測ブロックの対応する点の値からのものであることを表し、最大値と最小値ではない重み値は、対応する点の予測値が前記第1予測ブロックと前記第2予測ブロックの対応する点の値の加重平均からのものであることを表す、
請求項に記載のフレーム内予測方法。
【請求項11】
前記処理待ちブロック又は目標予測ブロックの幅と高さは、
幅が第1閾値TH1以上であり、高さが第2閾値TH2以上であり、
又は、幅が第4閾値TH4以下であり、高さが第5閾値TH5s以下であ
前記第1閾値TH1は前記第2閾値TH2に等しく、前記第1閾値TH1は8に等しい、
請求項1に記載のフレーム内予測方法。
【請求項12】
前記フレーム内予測方法はさらに、
前記フレーム内予測方法に使用された前記フレーム内予測モード情報を記憶するステップを含
前記フレーム内予測モードは、2種類の異なるフレーム内予測モードを含み、
前記フレーム内予測方法に使用された前記フレーム内予測モードを記憶するステップは、
記憶したフレーム内予測モードが異なる最小ユニットは、少なくとも2つ存在することを含む、
請求項1~3のいずれか1項に記載のフレーム内予測方法。
【請求項13】
前記フレーム内予測モードは、2種類の異なるフレーム内予測モードを含み、
前記復号化された前記2種類の異なるフレーム内予測モードのうちの1種類のフレーム内予測モードの情報に基づいて、別の1種類のフレーム内予測モードを決定
前記第1フレーム内予測モードと前記第2フレーム内予測モードは、いずれも最も可能なモード(MPM)を使用する、
請求項2に記載のフレーム内予測方法。
【請求項14】
コーダであって、前記デコーダはプロセッサを含み、前記プロセッサは、
け取ったコードストリームに対して復号化を行い、2種類以上の異なるフレーム内予測モード、処理待ちブロック、及び重みマトリックスを取得することと
種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得することと
みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得ることとを行うように構成される、デコーダ。
【請求項15】
エンコーダに適用されるフレーム内予測方法であって、
2種類以上の異なるフレーム内予測モードのそれぞれを採用して処理待ちブロックに対してフレーム内予測を行い、前記異なるフレーム内予測モードに対応する2種類以上の予測ブロックを取得するステップと、
重みマトリックスと得られた2種類以上の予測ブロックとに基づいて処理待ちブロックの目標予測ブロックを得るステップと、を含む、フレーム内予測方法。
【国際調査報告】