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

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

▶ ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッドの特許一覧

特表2024-538561復号器側イントラ・モード導出のための方法およびデバイス
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-23
(54)【発明の名称】復号器側イントラ・モード導出のための方法およびデバイス
(51)【国際特許分類】
   H04N 19/11 20140101AFI20241016BHJP
   H04N 19/157 20140101ALI20241016BHJP
   H04N 19/176 20140101ALI20241016BHJP
   H04N 19/593 20140101ALI20241016BHJP
【FI】
H04N19/11
H04N19/157
H04N19/176
H04N19/593
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024518555
(86)(22)【出願日】2022-09-29
(85)【翻訳文提出日】2024-03-22
(86)【国際出願番号】 US2022045279
(87)【国際公開番号】W WO2023055968
(87)【国際公開日】2023-04-06
(31)【優先権主張番号】63/250,186
(32)【優先日】2021-09-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu-ray
(71)【出願人】
【識別番号】521248394
【氏名又は名称】ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO.,LTD.
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100217940
【弁理士】
【氏名又は名称】三並 大悟
(72)【発明者】
【氏名】チュー、ホン-チェン
(72)【発明者】
【氏名】シウ、シャオユー
(72)【発明者】
【氏名】チェン、イー-ウェン
(72)【発明者】
【氏名】チェン、ウェイ
(72)【発明者】
【氏名】クオ、チョー-ウェイ
(72)【発明者】
【氏名】ヤン、ニン
(72)【発明者】
【氏名】ワン、シャンリン
(72)【発明者】
【氏名】ユイ、ビン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159TA31
5C159TB08
5C159TC02
5C159TC24
5C159TC42
5C159UA02
5C159UA05
(57)【要約】
イントラ予測符号化モードを用いた映像符号化のための方法、装置、および非一過性コンピュータ可読記憶媒体が提供される。1つの方法において、復号器は、イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のためのPDPC演算に基づいて、1つまたは複数の映像ブロックの予測サンプル値を決定する。復号器は、イントラ予測符号化モードでのPDPC演算を統一するために、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測として直流(DC)モードまたは平面モードが適用されるとの判定に応答して、DCモードおよび平面モードのためのPDPC演算を無効にしてもよい。
【特許請求の範囲】
【請求項1】
イントラ予測符号化モード(intra prediction coding mode)を用いた映像復号のための方法であって、
前記イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、復号器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のための前記PDPC演算に基づいて、前記1つまたは複数の映像ブロックの予測サンプル値(prediction sample value)を決定するステップであって、前記PDPC演算が、境界参照サンプル(boundary reference sample)の組合せに基づいて前記1つまたは複数のイントラ予測の結果を修正する、ステップと、
前記イントラ予測符号化モードでの前記PDPC演算を統一するために、前記復号器によって、前記1つまたは複数の映像ブロックの前記1つまたは複数のイントラ予測において直流(DC)モードまたは平面モードが適用されるとの判定に応答して、前記DCモードまたは前記平面モードのための前記PDPC演算を無効にするステップと
を含む、方法。
【請求項2】
前記イントラ予測符号化モードが、テンプレート・ベースのイントラ・モード導出(TIMD)モード、復号器側イントラ・モード導出(DIMD)モード、または多方向イントラ予測(MDIP)モードを含む、請求項1に記載の映像復号のための方法。
【請求項3】
前記復号器が、前記TIMDモードでの融合(fusion)の後に前記DCモードまたは前記平面モードのための前記PDPC演算を無効にする、請求項2に記載の映像復号のための方法。
【請求項4】
前記復号器が、前記DIMDモードでの融合の前に前記平面モードのための前記PDPC演算を無効にする、請求項2に記載の映像復号のための方法。
【請求項5】
イントラ予測符号化モードを用いた映像復号のための方法であって、
前記イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、復号器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のための前記PDPC演算に基づいて、前記1つまたは複数の映像ブロックの予測サンプル値を決定するステップであって、前記PDPC演算が、境界参照サンプルの組合せに基づいて前記1つまたは複数のイントラ予測の結果を修正する、ステップと、
前記イントラ予測符号化モードでの前記PDPC演算を統一するために、前記復号器によって、前記1つまたは複数の映像ブロックの前記1つまたは複数のイントラ予測において角度モードが適用されるとの判定に応答して、前記角度モードのための前記PDPC演算を無効にするステップと
を含む、方法。
【請求項6】
前記イントラ予測符号化モードが、テンプレート・ベースのイントラ・モード導出(TIMD)モード、復号器側イントラ・モード導出(DIMD)モード、または多方向イントラ予測(MDIP)モードを含む、請求項5に記載の映像復号のための方法。
【請求項7】
前記復号器が、前記DIMDモードでの融合の前に前記角度モードのための前記PDPC演算を無効にする、請求項6に記載の映像復号のための方法。
【請求項8】
復号器側イントラ・モード導出(DIMD)を用いた映像復号のための方法であって、
復号器によって、前記DIMDモードにおいて融合方式が適用されるかどうかを判定するステップであって、前記融合方式が、前記DIMDモードでの予測子の加重平均として適用される、ステップと、
前記復号器によって、前記DIMDモードでの利用可能な方向性モードにオフセットを適用して、オフセット方向性モードを取得するステップと、
前記復号器によって、前記DIMDモードにおいて前記融合方式が適用されるかどうかに基づいて、前記オフセット方向性モードを最確モード(MPM)のリストに追加すべきかどうかを判定するステップと
を含む、方法。
【請求項9】
前記利用可能な方向性モードに適用される前記オフセットが、次のオフセット:1、-1、2、-2、3、-3、4、-4から選択される1つまたは複数のオフセットを含む、請求項8に記載の映像復号のための方法。
【請求項10】
前記DIMDモードにおいて前記融合方式が適用されるかどうかに基づいて、前記オフセット方向性モードをMPMのリストに追加すべきかどうかを判定するステップが、
前記DIMDモードにおいて前記融合方式が適用され、MPMの前記リストが非オフセット方向性モードで満たされていないとの判定に応答して、前記オフセット方向性モードをMPMの前記リストに追加すること
をさらに含む、請求項8に記載の映像復号のための方法。
【請求項11】
イントラ予測符号化モードを用いた映像符号化のための方法であって、
前記イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、符号化器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のための前記PDPC演算に基づいて、前記1つまたは複数の映像ブロックの予測サンプル値を決定するステップであって、前記PDPC演算が、境界参照サンプルの組合せに基づいて前記1つまたは複数のイントラ予測の結果を修正する、ステップと、
前記イントラ予測符号化モードでの前記PDPC演算を統一するために、前記符号化器によって、前記1つまたは複数の映像ブロックの前記1つまたは複数のイントラ予測において直流(DC)モードまたは平面モードが適用されるとの判定に応答して、前記DCモードまたは前記平面モードのための前記PDPC演算を無効にするステップと
を含む、方法。
【請求項12】
前記イントラ予測符号化モードが、テンプレート・ベースのイントラ・モード導出(TIMD)モード、復号器側イントラ・モード導出(DIMD)モード、または多方向イントラ予測(MDIP)モードを含む、請求項11に記載の映像符号化のための方法。
【請求項13】
前記符号化器が、前記TIMDモードでの融合の後に前記DCモードまたは前記平面モードのための前記PDPC演算を無効にする、請求項12に記載の映像符号化のための方法。
【請求項14】
前記符号化器が、前記DIMDモードでの融合の前に前記平面モードのための前記PDPC演算を無効にする、請求項12に記載の映像符号化のための方法。
【請求項15】
イントラ予測符号化モードを用いた映像符号化のための方法であって、
前記イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、符号化器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のための前記PDPC演算に基づいて、前記1つまたは複数の映像ブロックの予測サンプル値を決定するステップであって、前記PDPC演算が、境界参照サンプルの組合せに基づいて前記1つまたは複数のイントラ予測の結果を修正する、ステップと、
前記イントラ予測符号化モードでの前記PDPC演算を統一するために、前記符号化器によって、前記1つまたは複数の映像ブロックの前記1つまたは複数のイントラ予測において角度モードが適用されるとの判定に応答して、前記角度モードのための前記PDPC演算を無効にするステップと
を含む、方法。
【請求項16】
前記イントラ予測符号化モードが、テンプレート・ベースのイントラ・モード導出(TIMD)モード、復号器側イントラ・モード導出(DIMD)モード、または多方向イントラ予測(MDIP)モードを含む、請求項15に記載の映像符号化のための方法。
【請求項17】
符号化器が、前記DIMDモードでの融合の前に前記角度モードのための前記PDPC演算を無効にする、請求項16に記載の映像符号化のための方法。
【請求項18】
復号器側イントラ・モード導出(DIMD)を用いた映像符号化のための方法であって、
符号化器によって、前記DIMDモードにおいて融合方式が適用されるかどうかを判定するステップであって、前記融合方式が、前記DIMDモードでの予測子の加重平均として適用される、ステップと、
前記符号化器によって、前記DIMDモードでの利用可能な方向性モードにオフセットを適用して、オフセット方向性モードを取得するステップと、
前記符号化器によって、前記DIMDモードにおいて前記融合方式が適用されるかどうかに基づいて、前記オフセット方向性モードを最確モード(MPM)のリストに追加すべきかどうかを判定するステップと
を含む、方法。
【請求項19】
前記利用可能な方向性モードに適用される前記オフセットが、次のオフセット:1、-1、2、-2、3、-3、4、-4から選択される1つまたは複数のオフセットを含む、請求項18に記載の映像符号化のための方法。
【請求項20】
前記DIMDモードにおいて前記融合方式が適用されるかどうかに基づいて、前記オフセット方向性モードをMPMのリストに追加すべきかどうかを判定するステップが、
前記DIMDモードにおいて前記融合方式が適用され、MPMの前記リストが非オフセット方向性モードで満たされていないとの判定に応答して、前記オフセット方向性モードをMPMの前記リストに追加すること
をさらに含む、請求項18に記載の映像符号化のための方法。
【請求項21】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成されたメモリと
を備える装置であって、前記1つまたは複数のプロセッサは、前記命令の実行時に、請求項1から20のいずれかに記載の前記方法を実行するように構成される、装置。
【請求項22】
1つまたは複数のコンピュータ・プロセッサによって実行されたときに前記1つまたは複数のコンピュータ・プロセッサに請求項1から20のいずれかに記載の前記方法を実行させるコンピュータ実行可能命令を記憶するための、非一過性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年9月29日に出願された仮出願第63/250,186号に基づき、当該仮出願に対する優先権を主張するものであり、当該仮出願の内容全体は、あらゆる目的で参照により本明細書に組み込まれる。
【0002】
本開示は、映像の符号化および圧縮に関する。より詳細には、本開示は、復号器側イントラ・モード導出(DIMD:decoder-side intra mode derivation)を備えた符号化器および復号器に関する。
【背景技術】
【0003】
デジタル映像は、デジタル・テレビ、ラップトップ・コンピュータまたはデスクトップ・コンピュータ、タブレット・コンピュータ、デジタル・カメラ、デジタル記録デバイス、デジタル・メディア・プレーヤ、映像ゲーミング・コンソール、スマート・フォン、映像電話会議デバイス、映像ストリーミング・デバイスなど、様々な電子デバイスによってサポートされている。電子デバイスは、通信ネットワークを介してデジタル映像データを送信および受信するか、もしくは他の方法で通信し、かつ/またはデジタル映像データを記憶デバイスに記憶する。通信ネットワークの帯域幅容量に制限があるため、また記憶デバイスのメモリ・リソースに制限があるため、映像データが通信または記憶される前に1つまたは複数の映像符号化標準に従って映像データを圧縮するために映像符号化が使用される場合がある。例えば、映像符号化標準は、多用途映像符号化(VVC:Versatile Video Coding)、共同探索テスト・モデル(JEM:Joint Exploration test Model)、高効率映像符号化(HEVC:High-Efficiency Video Coding/H.265)、高度映像符号化(AVC:Advanced Video Coding/H.264)、動画像専門家グループ(MPEG:Moving Picture Expert Group)符号化などを含む。映像符号化は、一般に、映像データに固有の冗長性を活用する予測方法(例えば、インター予測、イントラ予測など)を利用する。映像符号化は、映像品質の低下を回避または最小化しながら、映像データをより低いビットレートを使用する形式に圧縮することを目的としている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の例は、イントラ予測符号化モード(intra prediction coding mode)を用いた映像復号のための方法および装置を提供する。
【課題を解決するための手段】
【0005】
本開示の第1の態様によれば、イントラ予測符号化モードを用いた映像復号のための方法が提供される。方法は、イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一する(unify)ために、復号器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のためのPDPC演算に基づいて、1つまたは複数の映像ブロックの予測サンプル値(prediction sample value)を決定するステップであって、PDPC演算が、境界参照サンプル(boundary reference sample)の組合せに基づいて1つまたは複数のイントラ予測の結果を修正する、ステップと、イントラ予測符号化モードでのPDPC演算を統一するために、復号器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測において直流(DC)モードまたは平面モードが適用されるとの判定に応答して、DCモードまたは平面モードのためのPDPC演算を無効にするステップとを含んでもよい。
【0006】
本開示の第2の態様によれば、イントラ予測符号化モードを用いた映像復号のための方法が提供される。方法は、イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、復号器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のためのPDPC演算に基づいて、1つまたは複数の映像ブロックの予測サンプル値を決定するステップであって、PDPC演算が、境界参照サンプルの組合せに基づいて1つまたは複数のイントラ予測の結果を修正する、ステップと、イントラ予測符号化モードでのPDPC演算を統一するために、復号器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測において角度モードが適用されるとの判定に応答して、角度モードのためのPDPC演算を無効にするステップとを含んでもよい。
【0007】
本開示の第3の態様によれば、イントラ予測符号化モードを用いた映像復号のための方法が提供される。方法は、復号器によって、DIMDモードにおいて融合(fusion)方式が適用されるかどうかを判定するステップであって、融合方式が、DIMDモードでの予測子の加重平均として適用される、ステップと、復号器によって、DIMDモードでの利用可能な方向性モード(directional mode)にオフセットを適用して、オフセット方向性モードを取得するステップと、復号器によって、DIMDモードにおいて融合方式が適用されるかどうかに基づいて、オフセット方向性モードを最確モード(MPM:most probable mode)のリストに追加すべきかどうかを判定するステップとを含んでもよい。
【0008】
本開示の第4の態様によれば、イントラ予測符号化モードを用いた映像符号化のための方法が提供される。方法は、イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、符号化器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のためのPDPC演算に基づいて、1つまたは複数の映像ブロックの予測サンプル値を決定するステップであって、PDPC演算が、境界参照サンプルの組合せに基づいて1つまたは複数のイントラ予測の結果を修正する、ステップと、イントラ予測符号化モードでのPDPC演算を統一するために、符号化器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測において直流(DC)モードまたは平面モードが適用されるとの判定に応答して、DCモードまたは平面モードのためのPDPC演算を無効にするステップとを含んでもよい。
【0009】
本開示の第5の態様によれば、イントラ予測符号化モードを用いた映像符号化のための方法が提供される。方法は、イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、符号化器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のためのPDPC演算に基づいて、1つまたは複数の映像ブロックの予測サンプル値を決定するステップであって、PDPC演算が、境界参照サンプルの組合せに基づいて1つまたは複数のイントラ予測の結果を修正する、ステップと、イントラ予測符号化モードでのPDPC演算を統一するために、符号化器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測において角度モードが適用されるとの判定に応答して、角度モードのためのPDPC演算を無効にするステップとを含んでもよい。
【0010】
本開示の第6の態様によれば、イントラ予測符号化モードによる映像符号化のための方法が提供される。方法は、符号化器によって、DIMDモードにおいて融合方式が適用されるかどうかを判定するステップであって、融合方式が、DIMDモードでの予測子の加重平均として適用される、ステップと、符号化器によって、DIMDモードでの利用可能な方向性モードにオフセットを適用して、オフセット方向性モードを取得するステップと、符号化器によって、DIMDモードにおいて融合方式が適用されるかどうかに基づいて、オフセット方向性モードを最確モード(MPM)のリストに追加すべきかどうかを判定するステップとを含んでもよい。
【0011】
上記の概略的な説明および以下の詳細な説明は、単に例示的かつ説明的なものであり、本開示を限定することを意図したものではないことを理解されたい。
【0012】
本明細書に組み込まれ本明細書の一部を構成する添付図面は、本開示と一致する例を示し、説明とともに本開示の原理を説明する役割を果たす。
【図面の簡単な説明】
【0013】
図1】本開示のいくつかの実装形態による、映像ブロックを符号化および復号するための例示的なシステムを示すブロック図である。
図2】本開示のいくつかの実装形態による、例示的な映像符号化器を示すブロック図である。
図3】本開示のいくつかの実装形態による、例示的な映像復号器を示すブロック図である。
図4A-4E】本開示のいくつかの実装形態による、フレームが異なるサイズおよび形状の複数の映像ブロックにどのように再帰的に区分されるかを示すブロック図である。
図5A】本開示のいくつかの実装形態による、予測モードに適用されるPDPCによって使用されるサンプルの定義を示す図である。
図5B】本開示のいくつかの実装形態による、予測モードに適用されるPDPCによって使用されるサンプルの定義を示す図である。
図5C】本開示のいくつかの実装形態による、予測モードに適用されるPDPCによって使用されるサンプルの定義を示す図である。
図5D】本開示のいくつかの実装形態による、予測モードに適用されるPDPCによって使用されるサンプルの定義を示す図である。
図6】本開示のいくつかの実装形態による、許容されるGPM区分の例を示す図である。
図7】本開示のいくつかの実装形態による、勾配分析が実行される選ばれた画素の例を示す図である。
図8】本開示のいくつかの実装形態による、畳み込みプロセスを示す図である。
図9】本開示のいくつかの実装形態による、2つのHoGモードおよび1つの平面モードの加重平均による予測融合を示す図である。
図10】本開示のいくつかの実装形態による、TIMDにおいて使用されるテンプレートおよびその参照サンプルを示す図である。
図11A】本開示のいくつかの実装形態による、TIMDを用いた映像復号プロセスを示すブロック図である。
図11B】本開示のいくつかの実装形態による、TIMDを用いた映像復号プロセスを示すブロック図である。
図11C】本開示のいくつかの実装形態による、TIMDを用いた映像復号プロセスを示すブロック図である。
図11D】本開示のいくつかの実装形態による、TIMDを用いた映像復号プロセスを示すブロック図である。
図11E】本開示のいくつかの実装形態による、TIMDを用いた映像符号化プロセスを示すブロック図である。
図11F】本開示のいくつかの実装形態による、TIMDを用いた映像符号化プロセスを示すブロック図である。
図12A】本開示のいくつかの実装形態による、DIMDを用いた映像復号プロセスを示すブロック図である。
図12B】本開示のいくつかの実装形態による、DIMDを用いた映像復号プロセスを示すブロック図である。
図12C】本開示のいくつかの実装形態による、DIMDを用いた映像復号プロセスを示すブロック図である。
図12D】本開示のいくつかの実装形態による、DIMDを用いた映像符号化プロセスを示すブロック図である。
図13】本開示のいくつかの実装形態による、提案された整数化方式で使用される分数ビットを示す図である。
図14】本開示のいくつかの実装形態による、ユーザ・インターフェースと結合されたコンピューティング環境を示すブロック図である。
図15】本開示のいくつかの実装形態による、映像復号を示すブロック図である。
図16】本開示のいくつかの実装形態による、映像復号を示すブロック図である。
図17】本開示のいくつかの実装形態による、映像復号を示すブロック図である。
【発明を実施するための形態】
【0014】
次に、例示的な実施形態を詳細に参照するが、その実施形態の例は添付の図面に示されている。以下の説明は添付の図面を参照しており、別段の記載がない限り、異なる図面における同じ番号は同じまたは類似の要素を表す。例示的な実施形態の以下の説明に記載される実装形態は、本開示に則したすべての実装形態を表すものではない。むしろ、その実装形態は、添付の特許請求の範囲に記載される本開示に関連する態様に則した装置および方法の単なる例である。
【0015】
本開示で使用される用語は、特定の実施形態を説明することのみを目的としており、本開示を限定するよう意図されたものではない。単数形「a」、「an」、および「the」は、本開示および添付の特許請求の範囲で使用されるとき、文脈上明らかに別段の指示がない限り複数形も含むよう意図されている。本明細書で使用される「および/または」という用語は、関連する列挙された項目の1つまたは複数の任意またはすべての可能な組合せを意味するように、またそれらを含むように意図されていることも理解されたい。
【0016】
本明細書において「第1の」、「第2の」、「第3の」などの用語は様々な情報を説明するために使用され得るが、これらの用語によってその情報が限定されるべきではないことを理解されたい。これらの用語は、情報の1つのカテゴリを別のカテゴリと区別するためにのみ使用される。例えば、本開示の範囲から逸脱することなく、第1の情報は第2の情報と称されることがあり、同様に、第2の情報は第1の情報と称されることがある。「場合」という用語は、本明細書で使用されるとき、文脈に応じて「ときに」、「に際して」、または「判断に応じて」を意味すると理解され得る。
【0017】
映像データを圧縮するために、様々な映像符号化技法が使用されることがある。映像符号化は、1つまたは複数の映像符号化標準に従って実行される。例えば、今日では、よく知られた映像符号化標準は、多用途映像符号化(VVC:Versatile Video Coding)、高効率映像符号化(HEVC:High Efficiency Video Coding、H.265またはMPEG-H Part2とも呼ばれる)、および高度映像符号化(AVC:Advanced Video Coding、H.264またはMPEG-4 Part10とも呼ばれる)を含み、これらは、ISO/IEC MPEGおよびITU-T VECGによって共同開発されている。AOMedia Video 1(AV1)は、その以前の標準VP9の後継としてAlliance for Open Media(AOM)によって開発された。デジタル・オーディオおよびデジタル映像圧縮標準を指すオーディオ映像符号化(AVS)は、中国のオーディオおよび映像符号化標準ワークグループによって開発された別の映像圧縮標準シリーズである。既存の映像符号化標準のほとんどは、有名なハイブリッド映像符号化フレームワークに基づいて、すなわち、映像画像またはシーケンスに存在する冗長性を削減するためのブロックベースの予測方法(例えば、インター予測、イントラ予測)を使用して、また予測誤差のエネルギーをコンパクト化するための変換符号化を使用して、構築されている。映像符号化技法の重要な目標は、映像品質の低下を回避または最小化しながら、映像データをより低いビットレートを使用する形式に圧縮することである。
【0018】
第1世代AVS標準は、中国の国家標準「情報技術、高度オーディオ映像符号化、Part2:映像」(AVS1として知られている)および「情報技術、高度オーディオ映像符号化、Part16:ラジオ・テレビ・映像」(AVS+として知られている)を含む。これは、MPEG-2標準と比較して、同じ知覚品質で約50%のビットレートの節約を実現することができる。AVS1標準の映像部分は、2006年2月に中国の国家標準として公布された。第2世代AVS標準は、主に追加のHD TVプログラムの送信を目的とした一連の中国の国家標準「情報技術、効率的なマルチメディア符号化」(AVS2として知られる)を含む。AVS2の符号化効率はAVS+の2倍である。2016年5月、AVS2が中国の国家標準として発行された。一方、AVS2標準の映像部分は、アプリケーションの国際標準の1つとして電気電子学会(IEEE)によって提起された。AVS3標準は、最新の国際標準HEVCの符号化効率を超えることを目的とした、UHD映像アプリケーション向けの新世代映像符号化標準の1つである。2019年3月、第68回AVS会議において、HEVC標準と比較して約30%のビットレートの節約を実現するAVS3-P2ベースラインが完成した。現在、高性能モデル(HPM)と呼ばれる1つの参照ソフトウェアがあり、AVS3標準の参照実装を実証するためにAVSグループによって維持されている。
【0019】
図1は、本開示のいくつかの実装形態による、映像ブロックを並行して符号化および復号するための例示的なシステム10を示すブロック図である。図1に示されるように、システム10は、宛先デバイス14によって後で復号される映像データを生成および符号化するソース・デバイス12を含む。ソース・デバイス12および宛先デバイス14は、デスクトップまたはラップトップ・コンピュータ、タブレット・コンピュータ、スマート・フォン、セットトップ・ボックス、デジタル・テレビ、カメラ、表示デバイス、デジタル・メディア・プレーヤ、映像ゲーミング・コンソール、映像ストリーミング・デバイスなどを含む、多種多様な電子デバイスのいずれかを含んでもよい。いくつかの実装形態では、ソース・デバイス12および宛先デバイス14にはワイヤレス通信機能が装備されている。
【0020】
いくつかの実装形態では、宛先デバイス14は、復号対象となる符号化済み映像データを、リンク16を介して受信してもよい。リンク16は、符号化済み映像データをソース・デバイス12から宛先デバイス14に移動することが可能な任意のタイプの通信媒体またはデバイスを備えてもよい。一例において、リンク16は、ソース・デバイス12が符号化済み映像データを宛先デバイス14にリアルタイムで直接送信できるようにする通信媒体を備えてもよい。符号化済み映像データは、ワイヤレス通信プロトコルなどの通信標準に従って変調され、宛先デバイス14に送信されてもよい。通信媒体は、無線周波数(RF:Radio Frequency)スペクトルまたは1つもしくは複数の物理伝送線など、任意のワイヤレスまたはワイヤード通信媒体を含んでもよい。通信媒体は、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはインターネットなどのグローバル・ネットワークなど、パケットベースのネットワークの一部を形成してもよい。通信媒体は、ルータ、スイッチ、基地局、またはソース・デバイス12から宛先デバイス14への通信を容易にするのに有用であり得る任意の他の機器を含んでもよい。
【0021】
いくつかの他の実装形態では、符号化済み映像データは、出力インターフェース22から記憶デバイス32に送信されてもよい。その後、記憶デバイス32内の符号化済み映像データは、入力インターフェース28を介して宛先デバイス14によってアクセスされてもよい。記憶デバイス32は、ハード・ドライブ、Blu-rayディスク、デジタル多用途ディスク(DVD)、コンパクト・ディスク読み取り専用メモリ(CD-ROM)、フラッシュ・メモリ、揮発性もしくは不揮発性メモリ、または符号化済み映像データを記憶するための任意の他の好適なデジタル記憶媒体など、分散されたまたはローカルにアクセスされる様々なデータ記憶媒体のいずれかを含んでもよい。さらなる例では、記憶デバイス32は、ソース・デバイス12によって生成された符号化済み映像データを保持することができるファイル・サーバまたは別の中間記憶デバイスに対応してもよい。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイス32から、記憶された映像データにアクセスしてもよい。ファイル・サーバは、符号化済み映像データを記憶し、符号化済み映像データを宛先デバイス14に送信することが可能な任意のタイプのコンピュータであってもよい。例示的なファイル・サーバは、ウェブ・サーバ(例えば、ウェブサイト用)、ファイル転送プロトコル(FTP:File Transfer Protocol)サーバ、ネットワーク接続ストレージ(NAS:Network Attached Storage)デバイス、またはローカル・ディスク・ドライブを含む。宛先デバイス14は、ワイヤレス・チャネル(例えば、ワイヤレス・フィデリティ(Wi-Fi)接続)、ワイヤード接続(例えば、デジタル加入者線(DSL:Digital Subscriber Line)、ケーブル・モデムなど)、またはファイル・サーバに記憶されている符号化済み映像データにアクセスするのに好適な両方の組合せを含む任意の標準データ接続を通じて、符号化済み映像データにアクセスしてもよい。記憶デバイス32からの符号化済み映像データの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであってもよい。
【0022】
図1に示されるように、ソース・デバイス12は、映像ソース18、映像符号化器20、および出力インターフェース22を含む。映像ソース18は、映像取り込みデバイス、例えば、映像カメラ、以前に取り込まれた映像を含む映像アーカイブ、映像コンテンツ・プロバイダから映像を受信するための映像フィード・インターフェース、および/もしくはソース映像としてコンピュータ・グラフィックス・データを生成するためのコンピュータ・グラフィックス・システム、またはそのようなソースの組合せなどのソースを含んでもよい。一例として、映像ソース18がセキュリティ監視システムの映像カメラである場合、ソース・デバイス12および宛先デバイス14は、カメラ電話または映像電話を形成してもよい。しかしながら、本出願で説明される実装形態は、一般に映像符号化に適用可能であってもよく、ワイヤレスおよび/またはワイヤード・アプリケーションに適用可能であってもよい。
【0023】
取り込まれた映像、事前に取り込まれた映像、またはコンピュータ生成された映像は、映像符号化器20によって符号化されてもよい。符号化済み映像データは、ソース・デバイス12の出力インターフェース22を介して宛先デバイス14に直接送信されてもよい。符号化済み映像データはまた(または代替として)、復号および/または再生のために宛先デバイス14または他のデバイスによって後でアクセスするために、記憶デバイス32に記憶されてもよい。出力インターフェース22は、モデムおよび/または送信機をさらに含んでもよい。
【0024】
宛先デバイス14は、入力インターフェース28、映像復号器30、および表示デバイス34を含む。入力インターフェース28は、受信機および/またはモデムを含み、リンク16を介して、符号化済み映像データを受信してもよい。リンク16を介して通信されるまたは記憶デバイス32上に提供される符号化済み映像データは、映像データを復号する際に映像復号器30によって使用するための、映像符号化器20によって生成される様々な構文要素(syntax elemnt)を含んでもよい。このような構文要素は、通信媒体上で送信される、記憶媒体上に記憶される、またはファイル・サーバ上に記憶される、符号化済み映像データ内に含まれてもよい。
【0025】
いくつかの実装形態では、宛先デバイス14は、表示デバイス34を含んでもよく、表示デバイス34は、一体化された表示デバイス、および宛先デバイス14と通信するように構成された外部表示デバイスであってもよい。表示デバイス34は、復号された映像データをユーザに表示し、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマ・ディスプレイ、有機発光ダイオード(OLED:Organic Light Emitting Diode)ディスプレイ、または別のタイプの表示デバイスなどの様々な表示デバイスのいずれかを備えてもよい。
【0026】
映像符号化器20および映像復号器30は、VVC、HEVC、MPEG-4、Part10、AVC、またはそのような標準の拡張などの独自の標準または業界標準に従って動作してもよい。本出願は特定の映像符号化/復号標準に限定されず、他の映像符号化/復号標準にも適用可能であることを理解されたい。ソース・デバイス12の映像符号化器20が、これらの現在または将来の標準のいずれかに従って映像データを符号化するように構成され得ることが一般に企図されている。同様に、宛先デバイス14の映像復号器30が、これらの現在または将来の標準のいずれかに従って映像データを復号するように構成され得ることも一般に企図されている。
【0027】
映像符号化器20および映像復号器30はそれぞれ、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、様々な好適な符号化器および/または復号器回路のいずれかとして実装されてもよい。電子デバイスは、ソフトウェアにおいて部分的に実装される場合、ソフトウェア用の命令を好適な非一過性コンピュータ可読媒体に記憶し、1つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行して、本開示で開示された映像符号化/復号動作を実施してもよい。映像符号化器20および映像復号器30のそれぞれは、1つもしくは複数の符号化器または復号器に含まれてもよく、そのいずれも、それぞれのデバイス内の組み合わされた符号化器/復号器(CODEC:combined encoder/decoder)の一部として統合されてもよい。
【0028】
図2は、本出願で説明されるいくつかの実装形態による、例示的な映像符号化器20を示すブロック図である。映像符号化器20は、映像フレーム内の映像ブロックのイントラ予測符号化およびインター予測符号化を実施してもよい。イントラ予測符号化は、空間予測に依存して、所与の映像フレームまたはピクチャ内の映像データにおける空間的冗長性を削減または除去する。インター予測符号化は、時間予測に依存して、映像シーケンスの隣接する映像フレームまたはピクチャ内の映像データにおける時間的冗長性を削減または除去する。「フレーム」という用語は、映像符号化の分野では「画像」または「ピクチャ」という用語と同義語として使用される場合があることに留意されたい。
【0029】
図2に示されるように、映像符号化器20は、映像データ・メモリ40、予測処理ユニット41、復号済みピクチャ・バッファ(DPB:Decoded Picture Buffer)64、加算器50、変換処理ユニット52、量子化ユニット54、およびエントロピー符号化ユニット56を含む。予測処理ユニット41はさらに、動き推定ユニット42、動き補償ユニット44、区分ユニット45、イントラ予測処理ユニット46、イントラ・ブロック・コピー(BC)ユニット48を含む。いくつかの実装形態では、映像符号化器20は、映像ブロック再構築のための逆量子化ユニット58、逆変換処理ユニット60、および加算器62も含む。ブロック境界をフィルタリングして、再構築された映像からブロック状アーチファクトを除去するために、加算器62とDPB64との間にデブロッキング・フィルタなどのループ内フィルタ63が配置されてもよい。加算器62の出力をフィルタリングするために、デブロッキング・フィルタに加えて、サンプル適応オフセット(SAO:Sample Adaptive Offset)フィルタおよび/または適応ループ内フィルタ(ALF:Adaptive in-Loop Filter)などの別のループ内フィルタも使用されてもよい。いくつかの例では、ループ内フィルタは省略されてもよく、復号された映像ブロックは、加算器62によってDPB64に直接提供されてもよい。映像符号化器20は、固定のもしくはプログラム可能なハードウェア・ユニットの形式をとってもよく、または、図示された固定のもしくはプログラム可能なハードウェア・ユニットの1つまたは複数に分割されてもよい。
【0030】
映像データ・メモリ40は、映像符号化器20の構成要素によって符号化される映像データを記憶してもよい。映像データ・メモリ40内の映像データは、例えば、図1に示された映像ソース18から取得されてもよい。DPB64は、映像符号化器20によって(例えば、イントラ予測符号化モードまたはインター予測符号化モード(inter predictive coding mode)で)映像データを符号化する際に使用する参照映像データ(例えば、参照フレームまたは参照ピクチャ)を記憶するバッファである。映像データ・メモリ40およびDPB64は、様々なメモリ・デバイスのいずれかによって形成されてもよい。様々な例において、映像データ・メモリ40は、映像符号化器20の他の構成要素とオンチップであってもよく、または、それらの構成要素に対してオフチップであってもよい。
【0031】
図2に示されるように、予測処理ユニット41内の区分ユニット45は、映像データを受信した後、映像データを映像ブロックに区分する。この区分は、映像データに関連付けられた4分木(QT:Quad-Tree)構造などの事前定義された分裂構造に従って映像フレームをスライス、タイル(例えば、映像ブロックのセット)、または他のより大きな符号化ユニット(CU)に区分することも含んでもよい。映像フレームは、サンプル値を有するサンプルの2次元配列または行列であるか、またはそれらとみなされてもよい。配列内のサンプルは、画素またはペルと呼ばれることもある。配列またはピクチャの水平方向および垂直方向(または軸)のサンプルの数が、映像フレームのサイズおよび/または解像度を定義する。映像フレームは、例えばQT区分を使用することによって複数の映像ブロックに分割されてもよい。映像ブロックもやはり、映像フレームよりも小さい寸法ではあるが、サンプル値を有するサンプルの2次元配列または行列であるか、またはそれらとみなされてもよい。映像ブロックの水平方向および垂直方向(または軸)のサンプルの数が、映像ブロックのサイズを定義する。映像ブロックは、例えば、QT区分、2分木(BT:Binary-Tree)区分、もしくは3分木(TT:Triple-Tree)区分、またはそれらの任意の組合せを反復的に使用することによって、(再びブロックを形成し得る)1つもしくは複数のブロック区分またはサブブロックにさらに区分されてもよい。本明細書で使用される「ブロック」または「映像ブロック」という用語がフレームまたはピクチャの一部分、特に矩形(正方形または非正方形)部分であり得ることに留意されたい。例えば、HEVCおよびVVCを参照すると、ブロックまたは映像ブロックは、符号化木ユニット(CTU)、CU、予測ユニット(PU)、もしくは変換ユニット(TU)であるかもしくはそれらに対応してもよく、かつ/または、対応するブロック、例えば、符号化木ブロック(CTB)、符号化ブロック(CB)、予測ブロック(PB)、もしくは変換ブロック(TB)、および/もしくはサブブロックであるかもしくはそれらに対応してもよい。
【0032】
予測処理ユニット41は、誤差結果(例えば、符号化レートおよび歪みのレベル)に基づいて現在の映像ブロックに対して、複数のイントラ予測符号化モードのうちの1つ、または複数のインター予測符号化モードのうちの1つなど、複数の可能な予測符号化モードのうちの1つを選択してもよい。予測処理ユニット41は、結果として得られるイントラ予測符号化ブロックまたはインター予測符号化ブロックを、加算器50に提供して残差ブロックを生成し、加算器62に提供して、後で参照フレームの一部として使用するために符号化ブロックを再構築してもよい。予測処理ユニット41はまた、動きベクトル、イントラ・モード・インジケータ、区分情報、および他のそのような構文情報などの構文要素をエントロピー符号化ユニット56に提供する。
【0033】
現在の映像ブロックにとって適切なイントラ予測符号化モードを選択するために、予測処理ユニット41内のイントラ予測処理ユニット46は、符号化対象となる現在のブロックと同じフレーム内の1つまたは複数の隣接ブロックに対する現在の映像ブロックのイントラ予測符号化を実行して、空間予測を提供してもよい。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、1つまたは複数の参照フレーム内の1つまたは複数の予測ブロックに対する現在の映像ブロックのインター予測符号化を実行して、時間予測を提供してもよい。映像符号化器20は、例えば、映像データのブロックごとに適切な符号化モードを選択するために、複数の符号化パス(coding pass)を実行してもよい。
【0034】
いくつかの実装形態では、動き推定ユニット42は、映像フレームのシーケンス内の所定のパターンに従って、参照映像フレーム内の予測ブロックに対する現在の映像フレーム内の映像ブロックの変位を示す動きベクトルを生成することによって、現在の映像フレームのインター予測モードを決定する。動き推定ユニット42によって実行される動き推定は、映像ブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム内で符号化されている現在のブロックに対する参照フレーム内の予測ブロックに対する現在の映像フレームまたはピクチャ内の映像ブロックの変位を示してもよい。所定のパターンは、シーケンス内の映像フレームをPフレームまたはBフレームとして指定してもよい。イントラBCユニット48は、インター予測のための動き推定ユニット42による動きベクトルの決定と同様の方法で、イントラBC符号化のためのベクトル、例えばブロック・ベクトルを決定してもよく、または、動き推定ユニット42を利用してブロック・ベクトルを決定してもよい。
【0035】
映像ブロックの予測ブロックは、差分絶対値和(SAD:Sum of Absolute Difference)、差分二乗和(SSD:Sum of Square Difference)、または他の差分メトリックによって決定され得る画素差分の観点から、符号化対象となる映像ブロックと厳密に一致するとみなされる参照フレームのブロックもしくは参照ブロックであるか、またはそれらに対応してもよい。いくつかの実装形態では、映像符号化器20は、DPB64に記憶された参照フレームのサブ整数画素位置の値を算出してもよい。例えば、映像符号化器20は、参照フレームの1/4画素位置、1/8画素位置、または他の分数画素位置の値を補間してもよい。したがって、動き推定ユニット42は、全体の画素位置および分数画素位置に対する動き探索を実行し、分数画素精度を有する動きベクトルを出力してもよい。
【0036】
動き推定ユニット42は、映像ブロックの位置を第1の参照フレーム・リスト(リスト0)または第2の参照フレーム・リスト(リスト1)から選択された参照フレームの予測ブロックの位置と比較することによって、インター予測符号化フレーム内の映像ブロックの動きベクトルを算出し、参照フレーム・リストはそれぞれ、DPB64に記憶されている1つまたは複数の参照フレームを識別する。動き推定ユニット42は、算出された動きベクトルを動き補償ユニット44に送り、次いで、エントロピー符号化ユニット56に送る。
【0037】
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを含んでもよい。動き補償ユニット44は、現在の映像ブロックの動きベクトルを受信すると、参照フレーム・リストのうちの1つにおいて動きベクトルが指し示す予測ブロックの位置を特定し、その予測ブロックをDPB64から取得し、その予測ブロックを加算器50に転送してもよい。次いで、加算器50は、符号化されている現在の映像ブロックの画素値から、動き補償ユニット44によって提供される予測ブロックの画素値を減算することによって、画素差分値の残差映像ブロックを形成する。残差映像ブロックを形成する画素差分値は、輝度(luma)差分成分もしくは彩度(chroma)差分成分、またはその両方を含んでもよい。動き補償ユニット44はまた、映像フレームの映像ブロックを復号する際に映像復号器30によって使用される、映像フレームの映像ブロックに関連付けられた構文要素を生成してもよい。構文要素は、例えば、予測ブロックを識別するために使用される動きベクトルを定義する構文要素、予測モードを示す任意のフラグ、または本明細書に記載の任意の他の構文情報を含んでもよい。動き推定ユニット42および動き補償ユニット44は高度に統合されてもよいが、概念的な目的のために別々に図示されていることに留意されたい。
【0038】
いくつかの実装形態では、イントラBCユニット48は、動き推定ユニット42および動き補償ユニット44に関連して上記で説明された方法と同様の方法で、ベクトルを生成して予測ブロックをフェッチしてもよいが、予測ブロックは、符号化されている現在のブロックと同じフレーム内にあり、ベクトルは、動きベクトルではなくブロック・ベクトルと呼ばれる。具体的には、イントラBCユニット48は、現在のブロックを符号化するために使用するイントラ予測モードを決定してもよい。いくつかの例では、イントラBCユニット48は、例えば別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し、レート歪み分析を通じてそれらの性能をテストしてもよい。次に、イントラBCユニット48は、テストされた様々なイントラ予測モードの中から、使用する適切なイントラ予測モードを選択し、それに応じてイントラ・モード・インジケータを生成してもよい。例えば、イントラBCユニット48は、テストされた様々なイントラ予測モードに対するレート歪み分析を使用してレート歪み値を算出し、テストされたモードの中から、最良のレート歪み特性を有するイントラ予測モードを、使用する適切なイントラ予測モードとして選択してもよい。レート歪み分析は、一般に、符号化ブロックと、符号化ブロックを作成するために符号化された元の符号化されていないブロックとの間の歪み(または誤差)の量、および、符号化ブロックを作成するために使用されたビットレート(すなわち、ビット数)を決定する。イントラBCユニット48は、様々な符号化ブロックの歪みおよびレートから比率を算出して、どのイントラ予測モードがそのブロックに対して最良のレート歪み値を示すかを判定してもよい。
【0039】
他の例では、イントラBCユニット48は、動き推定ユニット42および動き補償ユニット44を全体的または部分的に使用して、本明細書に記載の実装形態によるイントラBC予測のためのそのような機能を実行してもよい。いずれの事例においても、イントラ・ブロック・コピーの場合、予測ブロックは、SAD、SSD、または他の差分メトリックによって決定され得る画素差分の観点から、符号化対象となるブロックと厳密に一致するとみなされるブロックであってもよく、予測ブロックの識別は、サブ整数画素位置の値の算出を含んでもよい。
【0040】
予測ブロックがイントラ予測による同じフレームからのブロックであるか、インター予測による異なるフレームからのブロックであるかに関わらず、映像符号化器20は、符号化されている現在の映像ブロックの画素値から予測ブロックの画素値を減算することによって残差映像ブロックを形成し、画素差分値を形成してもよい。残差映像ブロックを形成する画素差分値は、輝度成分差分と彩度成分差分との両方を含んでもよい。
【0041】
イントラ予測処理ユニット46は、上記で説明されたように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測、またはイントラBCユニット48によって実行されるイントラ・ブロック・コピー予測の代替として、現在の映像ブロックをイントラ予測してもよい。具体的には、イントラ予測処理ユニット46は、現在のブロックを符号化するために使用するイントラ予測モードを決定してもよい。そのようにするために、イントラ予測処理ユニット46は、例えば別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化してもよく、イントラ予測処理ユニット46(または、いくつかの例では、モード選択ユニット)は、テストされたイントラ予測モードから、使用する適切なイントラ予測モードを選択してもよい。イントラ予測処理ユニット46は、ブロックに対して選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供してもよい。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報をビットストリームに符号化してもよい。
【0042】
予測処理ユニット41がインター予測またはイントラ予測によって現在の映像ブロックの予測ブロックを決定した後、加算器50は、現在の映像ブロックから予測ブロックを減算することによって残差映像ブロックを形成する。残差ブロック内の残差映像データは、1つまたは複数のTUに含まれてもよく、変換処理ユニット52に提供される。変換処理ユニット52は、離散コサイン変換(DCT:Discrete Cosine Transform)または概念的に同様の変換などの変換を使用して、残差映像データを残差変換係数に変換する。
【0043】
変換処理ユニット52は、結果として生じる変換係数を量子化ユニット54に送ってもよい。量子化ユニット54は、変換係数を量子化してビットレートをさらに低減する。量子化プロセスはまた、係数の一部またはすべてに関連付けられたビット深度を低減してもよい。量子化の程度は、量子化パラメータを調整することによって修正されてもよい。いくつかの例では、量子化ユニット54は、次いで、量子化された変換係数を含む行列の走査を実行してもよい。代替として、エントロピー符号化ユニット56が走査を実行してもよい。
【0044】
量子化に続いて、エントロピー符号化ユニット56は、例えば、コンテキスト適応型可変長符号化(CAVLC:Context Adaptive Variable Length Coding)、コンテキスト適応型2値算術符号化(CABAC:Context Adaptive Binary Arithmetic Coding)、構文ベースのコンテキスト適応型2値算術符号化(SBAC:Syntax-based context-adaptive Binary Arithmetic Coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)符号化、または別のエントロピー符号化方法論または技法を使用して、量子化された変換係数を映像ビットストリームにエントロピー符号化する。次いで、符号化されたビットストリームは、図1に示されるように映像復号器30に送信されるか、または、後の映像復号器30への送信もしくは映像復号器30による取得のために、図1に示されるように記憶デバイス32にアーカイブされてもよい。エントロピー符号化ユニット56はまた、符号化されている現在の映像フレームの動きベクトルおよび他の構文要素をエントロピー符号化してもよい。
【0045】
逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、他の映像ブロックの予測のための参照ブロックを生成するために画素領域において残差映像ブロックを再構築する。上述されたように、動き補償ユニット44は、DPB64に記憶されたフレームの1つまたは複数の参照ブロックから、動き補償された予測ブロックを生成してもよい。動き補償ユニット44はまた、1つまたは複数の補間フィルタを予測ブロックに適用して、動き推定で使用するためのサブ整数画素値を算出してもよい。
【0046】
加算器62は、再構築された残差ブロックを、動き補償ユニット44によって作成された動き補償された予測ブロックに加算して、DPB64に記憶するための参照ブロックを作成する。次いで、参照ブロックは、イントラBCユニット48、動き推定ユニット42、および動き補償ユニット44によって、後続の映像フレーム内の別の映像ブロックをインター予測するための予測ブロックとして使用されてもよい。
【0047】
図3は、本出願のいくつかの実装形態による、例示的な映像復号器30を示すブロック図である。映像復号器30は、映像データ・メモリ79、エントロピー復号ユニット80、予測処理ユニット81、逆量子化ユニット86、逆変換処理ユニット88、加算器90、およびDPB92を含む。予測処理ユニット81はさらに、動き補償ユニット82、イントラ予測ユニット84、およびイントラBCユニット85を含む。映像復号器30は、図2に関連して映像符号化器20に関して上記で説明された符号化プロセスとほぼ逆の復号プロセスを実行してもよい。例えば、動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルに基づいて予測データを生成してもよく、一方、イントラ予測ユニット84は、エントロピー復号ユニット80から受信されたイントラ予測モード・インジケータに基づいて予測データを生成してもよい。
【0048】
いくつかの例では、映像復号器30のユニットは、本出願の実装形態を実行するようにタスクを課されてもよい。また、いくつかの例では、本開示の実装形態は、映像復号器30のユニットのうちの1つまたは複数に分割されてもよい。例えば、イントラBCユニット85は、単独で、または動き補償ユニット82、イントラ予測ユニット84、およびエントロピー復号ユニット80などの映像復号器30の他のユニットと組み合わせて、本出願の実装形態を実行してもよい。いくつかの例では、映像復号器30は、イントラBCユニット85を含まなくてもよく、イントラBCユニット85の機能は、動き補償ユニット82などの予測処理ユニット81の他の構成要素によって実行されてもよい。
【0049】
映像データ・メモリ79は、映像復号器30の他の構成要素によって復号される、符号化済み映像ビットストリームなどの映像データを記憶してもよい。映像データ・メモリ79に記憶される映像データは、例えば、記憶デバイス32から、カメラなどのローカル映像ソースから、映像データのワイヤードもしくはワイヤレス・ネットワーク通信を介して、または物理的なデータ記憶媒体(例えば、フラッシュ・ドライブもしくはハード・ディスク)にアクセスすることによって取得されてもよい。映像データ・メモリ79は、符号化済み映像ビットストリームからの符号化済み映像データを記憶する符号化ピクチャ・バッファ(CPB)を含んでもよい。映像復号器30のDPB92は、映像復号器30によって(例えば、イントラ予測符号化モードまたはインター予測符号化モードで)映像データを復号する際に使用する参照映像データを記憶する。映像データ・メモリ79およびDPB92は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、または他のタイプのメモリ・デバイスを含むダイナミック・ランダム・アクセス・メモリ(DRAM)などの様々なメモリ・デバイスのいずれかによって形成されてもよい。例示のために、図3では、映像データ・メモリ79およびDPB92は、映像復号器30の2つの別個の構成要素として描写されている。しかしながら、当業者には、映像データ・メモリ79およびDPB92が同じメモリ・デバイスまたは別個のメモリ・デバイスによって提供され得ることが明らかであろう。いくつかの例では、映像データ・メモリ79は、映像復号器30の他の構成要素とオンチップであってもよく、または、それらの構成要素に対してオフチップであってもよい。
【0050】
復号プロセス中、映像復号器30は、符号化された映像フレームの映像ブロックおよび関連する構文要素を表す符号化済み映像ビットストリームを受信する。映像復号器30は、映像フレーム・レベルおよび/または映像ブロック・レベルで構文要素を受信してもよい。映像復号器30のエントロピー復号ユニット80は、ビットストリームをエントロピー復号して、量子化された係数、動きベクトルまたはイントラ予測モード・インジケータ、および他の構文要素を生成する。次いで、エントロピー復号ユニット80は、動きベクトルまたはイントラ予測モード・インジケータおよび他の構文要素を予測処理ユニット81に転送する。
【0051】
映像フレームがイントラ予測符号化(I)フレームとしてまたは他のタイプのフレーム内のイントラ符号化予測ブロックに対して符号化されるとき、予測処理ユニット81のイントラ予測ユニット84は、信号伝達されたイントラ予測モード、および現在のフレームの以前に復号されたブロックからの参照データに基づいて、現在の映像フレームの映像ブロックに対する予測データを生成してもよい。
【0052】
映像フレームがインター予測符号化(すなわち、BまたはP)フレームとして符号化されるとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他の構文要素に基づいて、現在の映像フレームの映像ブロックに対する1つまたは複数の予測ブロックを作成する。予測ブロックのそれぞれは、参照フレーム・リストのうちの1つの中の参照フレームから作成されてもよい。映像復号器30は、DPB92に記憶された参照フレームに基づくデフォルトの構築技法を使用して、参照フレーム・リストであるリスト0およびリスト1を構築してもよい。
【0053】
いくつかの例では、映像ブロックが本明細書に記載のイントラBCモードに従って符号化されるとき、予測処理ユニット81のイントラBCユニット85は、エントロピー復号ユニット80から受信されたブロック・ベクトルおよび他の構文要素に基づいて、現在の映像ブロックの予測ブロックを作成する。予測ブロックは、映像符号化器20によって定義された現在の映像ブロックと同じピクチャの再構築された領域内にあってもよい。
【0054】
動き補償ユニット82および/またはイントラBCユニット85は、動きベクトルおよび他の構文要素を解析することによって現在の映像フレームの映像ブロックの予測情報を決定し、次いで、その予測情報を使用して、復号されている現在の映像ブロックの予測ブロックを作成する。例えば、動き補償ユニット82は、受信された構文要素のいくつかを使用して、映像フレームの映像ブロックを符号化するために使用される予測モード(例えば、イントラ予測またはインター予測)、インター予測フレーム・タイプ(例えば、BまたはP)、フレームの参照フレーム・リストのうちの1つまたは複数に関する構築情報、フレームの各インター予測符号化映像ブロックの動きベクトル、フレームの各インター予測符号化映像ブロックのインター予測ステータス、および現在の映像フレーム内の映像ブロックを復号するための他の情報を決定する。
【0055】
同様に、イントラBCユニット85は、受信された構文要素のいくつか、例えばフラグを使用して、現在の映像ブロックがイントラBCモードを使用して予測されたこと、フレームのどの映像ブロックが再構築領域内にありDPB92に記憶されるべきであるかに関する構築情報、フレームの各イントラBC予測映像ブロックのブロック・ベクトル、フレームの各イントラBC予測映像ブロックのイントラBC予測ステータス、および現在の映像フレーム内の映像ブロックを復号するための他の情報を決定してもよい。
【0056】
動き補償ユニット82はまた、映像ブロックの符号化中に映像符号化器20によって使用される補間フィルタを使用して補間を実行して、参照ブロックのサブ整数画素の補間値を算出してもよい。この場合、動き補償ユニット82は、受信された構文要素から映像符号化器20によって使用される補間フィルタを決定し、その補間フィルタを使用して予測ブロックを作成してもよい。
【0057】
逆量子化ユニット86は、映像フレーム内の映像ブロックごとに映像符号化器20によって算出された同じ量子化パラメータを使用して、ビットストリーム内に提供されエントロピー復号ユニット80によってエントロピー復号された量子化変換係数を逆量子化して、量子化度を決定する。逆変換処理ユニット88は、画素領域内の残差ブロックを再構築するために、逆変換、例えば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【0058】
動き補償ユニット82またはイントラBCユニット85がベクトルおよび他の構文要素に基づいて現在の映像ブロックの予測ブロックを生成した後、加算器90は、逆変換処理ユニット88からの残差ブロックと動き補償ユニット82およびイントラBCユニット85によって生成された対応する予測ブロックとを加算することによって、現在の映像ブロックの復号された映像ブロックを再構築する。復号された映像ブロックをさらに処理するために、加算器90とDPBの間にデブロッキング・フィルタ、SAOフィルタ、および/またはALFなどのループ内フィルタ91が配置されてもよい。いくつかの例では、ループ内フィルタ91は省略されてもよく、復号された映像ブロックは加算器90によってDPB92に直接提供されてもよい。次いで、所与のフレーム内の復号された映像ブロックは、次の映像ブロックの後続の動き補償に使用される参照フレームを記憶するDPB92に記憶される。DPB92またはDPB92とは別個のメモリ・デバイスは、図1の表示デバイス34などの表示デバイス上に後で提示するために、復号された映像を記憶してもよい。
【0059】
典型的な映像符号化プロセスでは、映像シーケンスは、典型的には、順序付けられたフレームまたはピクチャのセットを含む。各フレームは、SL、SCb、およびSCrで示される3つのサンプル配列を含んでもよい。SLは、輝度サンプルの2次元配列である。SCbは、Cb彩度サンプルの2次元配列である。SCrは、Cr彩度サンプルの2次元配列である。他の例では、フレームは、単色であってもよく、したがって輝度サンプルの2次元配列を1つだけ含む。
【0060】
図4Aに示されるように、映像符号化器20(または、より具体的には区分ユニット45)は、最初にフレームを1組のCTUに区分することによって、フレームの符号化された表現を生成する。映像フレームは、ラスタ走査順序で左から右および上から下に連続して順序付けされた整数個のCTUを含んでもよい。各CTUは最も大きい論理符号化単位であり、映像シーケンス内のすべてのCTUが128×128、64×64、32×32、および16×16のいずれか1つである同じサイズを有するように、CTUの幅および高さはシーケンス・パラメータ・セットにおいて映像符号化器20によって信号伝達される。しかしながら、本出願が必ずしも特定のサイズに限定されるわけではないことに留意されたい。図4Bに示されるように、各CTUは、輝度サンプルの1つのCTBと、彩度サンプルの2つの対応する符号化木ブロックと、符号化木ブロックのサンプルを符号化するために使用される構文要素とを含んでもよい。構文要素は、画素の符号化されたブロックの異なるタイプの単位の特性、ならびにインター予測またはイントラ予測、イントラ予測モード、動きベクトル、および他のパラメータを含む、映像復号器30において映像シーケンスがどのように再構築され得るかを記述する。単色ピクチャまたは3つの別個の色平面を有するピクチャでは、CTUは、単一の符号化木ブロックと、符号化木ブロックのサンプルを符号化するために使用される構文要素とを含んでもよい。符号化木ブロックは、サンプルのN×Nブロックであってもよい。
【0061】
より良好な性能を実現するために、映像符号化器20は、CTUの符号化木ブロック上で2分木区分、3分木区分、4分木区分、またはそれらの組合せなどの木区分を再帰的に実行し、CTUをより小さいCUに分割してもよい。図4Cに描写されるように、64×64のCTU400は、最初に、それぞれが32×32のブロック・サイズを有する4つのより小さいCUに分割される。4つのより小さいCUのうち、CU410およびCU420はそれぞれ、ブロック・サイズによって16×16の4つのCUに分割される。2つの16×16のCU430およびCU440はそれぞれ、ブロック・サイズによって8×8の4つのCUにさらに分割される。図4Dは、図4Cに描写されたCTU400の区分プロセスの最終結果を示す4分木データ構造を描写しており、4分木の各葉ノードは、32×32から8×8までの範囲のそれぞれのサイズの1つのCUに対応する。図4Bに描写されたCTUと同様に、各CUは、輝度サンプルのCBと、同じサイズのフレームの彩度サンプルの2つの対応する符号化ブロックと、符号化ブロックのサンプルを符号化するために使用される構文要素とを含んでもよい。単色ピクチャまたは3つの別個の色平面を有するピクチャでは、CUは、単一の符号化ブロックと、符号化ブロックのサンプルを符号化するために使用される構文構造とを含んでもよい。図4Cおよび図4Dに描写された4分木区分は説明のみを目的としており、様々な局所特定に適応するために、1つのCTUが4分木/3分木/2分木区分に基づいてCUに分裂されてもよいことに留意されたい。マルチタイプ木構造では、1つのCTUは4分木構造によって区分され、各4分木葉CUは2分木構造および3分木構造によってさらに区分されてもよい。図4Eに示されるように、幅Wおよび高さHを有する符号化ブロックの5つの可能な区分タイプ、すなわち、4区分、水平2区分、垂直2区分、水平3区分、および垂直3区分がある。
【0062】
いくつかの実装形態では、映像符号化器20は、CUの符号化ブロックを1つまたは複数のM×NのPBにさらに区分してもよい。PBは、インター予測またはイントラ予測の同じ予測が適用されるサンプルの矩形(正方形または非正方形)ブロックである。CUのPUは、輝度サンプルのPBと、彩度サンプルの2つの対応するPBと、PBを予測するために使用される構文要素とを含んでもよい。単色ピクチャまたは3つの別個の色平面を有するピクチャでは、PUは、単一のPBと、PBを予測するために使用される構文構造とを含んでもよい。映像符号化器20は、CUの各PUの輝度、Cb、およびCrのPBに対する予測輝度ブロック、予測Cbブロック、および予測Crブロックを生成してもよい。
【0063】
映像符号化器20は、イントラ予測またはインター予測を使用してPUの予測ブロックを生成してもよい。映像符号化器20がイントラ予測を使用してPUの予測ブロックを生成する場合、映像符号化器20は、PUに関連付けられたフレームの復号されたサンプルに基づいてPUの予測ブロックを生成してもよい。映像符号化器20がインター予測を使用してPUの予測ブロックを生成する場合、映像符号化器20は、PUに関連付けられたフレーム以外の1つまたは複数のフレームの復号されたサンプルに基づいてPUの予測ブロックを生成してもよい。
【0064】
映像符号化器20がCUの1つまたは複数のPUに対して予測輝度ブロック、予測Cbブロック、および予測Crブロックを生成した後、映像符号化器20は、CUの輝度残差ブロック内の各サンプルがCUの予測輝度ブロックのうちの1つ内の輝度サンプルとCUの元の輝度符号化ブロック内の対応するサンプルとの間の差分を示すように、CUの予測輝度ブロックをその元の輝度符号化ブロックから減算することによってCUの輝度残差ブロックを生成してもよい。同様に、映像符号化器20は、CUのCb残差ブロック内の各サンプルがCUの予測Cbブロックのうちの1つ内のCbサンプルとCUの元のCb符号化ブロック内の対応するサンプルとの間の差分を示すように、またCUのCr残差ブロック内の各サンプルがCUの予測Crブロックのうちの1つ内のCrサンプルとCUの元のCr符号化ブロック内の対応するサンプルとの間の差分を示し得るように、CUのCb残差ブロックおよびCr残差ブロックをそれぞれ生成してもよい。
【0065】
さらに、図4Cに示されるように、映像符号化器20は、4分木区分を使用して、CUの輝度残差ブロック、Cb残差ブロック、およびCr残差ブロックをそれぞれ1つまたは複数の輝度変換ブロック、Cb変換ブロック、およびCr変換ブロックに分解してもよい。変換ブロックは、同じ変換が適用されるサンプルの矩形(正方形または非正方形)ブロックである。CUのTUは、輝度サンプルの変換ブロックと、彩度サンプルの2つの対応する変換ブロックと、変換ブロック・サンプルを変換するために使用される構文要素とを含んでもよい。したがって、CUの各TUは、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連付けられてもよい。いくつかの例では、TUに関連付けられた輝度変換ブロックは、CUの輝度残差ブロックのサブブロックであってもよい。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであってもよい。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであってもよい。単色ピクチャまたは3つの別個の色平面を有するピクチャでは、TUは、単一の変換ブロックと、変換ブロックのサンプルを変換するために使用される構文構造とを含んでもよい。
【0066】
映像符号化器20は、TUの輝度変換ブロックに1つまたは複数の変換を適用して、TUの輝度係数ブロックを生成してもよい。係数ブロックは変換係数の2次元配列であってもよい。変換係数はスカラ量であってもよい。映像符号化器20は、TUのCb変換ブロックに1つまたは複数の変換を適用して、TUのCb係数ブロックを生成してもよい。映像符号化器20は、TUのCr変換ブロックに1つまたは複数の変換を適用して、TUのCr係数ブロックを生成してもよい。
【0067】
映像符号化器20は、係数ブロック(例えば、輝度係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、係数ブロックを量子化してもよい。量子化は、一般に、変換係数を表現するために使用されるデータ量を可能性として削減してさらなる圧縮を実現するために、変換係数が量子化されるプロセスを指す。映像符号化器20が係数ブロックを量子化した後、映像符号化器20は、量子化された変換係数を示す構文要素をエントロピー符号化してもよい。例えば、映像符号化器20は、量子化された変換係数を示す構文要素に対してCABACを実行してもよい。最後に、映像符号化器20は、符号化されたフレームおよび関連データの表現を形成するビットのシーケンスを含むビットストリームを出力してもよく、ビットストリームは、記憶デバイス32に保存されるか、または宛先デバイス14に送信される。
【0068】
映像復号器30は、映像符号化器20によって生成されたビットストリームを受信した後、ビットストリームを解析してビットストリームから構文要素を取得してもよい。映像復号器30は、ビットストリームから取得された構文要素に少なくとも部分的に基づいて映像データのフレームを再構築してもよい。映像データを再構築するプロセスは、映像符号化器20によって実行される符号化プロセスとほぼ逆である。例えば、映像復号器30は、現在のCUのTUに関連付けられた係数ブロックに対して逆変換を実行して、現在のCUのTUに関連付けられた残差ブロックを再構築してもよい。映像復号器30はまた、現在のCUのPUの予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに加算することによって、現在のCUの符号化ブロックを再構築する。映像復号器30は、フレームの各CUについて符号化ブロックを再構築した後、フレームを再構築してもよい。
【0069】
上述されたように、映像符号化は、主に2つのモード、すなわちフレーム内予測(またはイントラ予測)およびフレーム間予測(またはインター予測)を使用して映像圧縮を実現する。IBCはフレーム内予測または第3のモードとみなされ得ることに留意されたい。参照映像ブロックから現在の映像ブロックを予測するために動きベクトルを使用するので、2つのモードのうち、フレーム間予測の方がフレーム内予測よりも符号化効率に大きく寄与する。
【0070】
しかしながら、映像データ取り込み技術が常に向上しており、映像データの詳細を保持するための映像ブロック・サイズがより微細化されているため、現在のフレームの動きベクトルを表現するために必要なデータ量も大幅に増加している。この課題を克服する方法の1つは、空間領域と時間領域との両方における隣接するCUのグループが予測目的のために類似する映像データを有するだけでなく、これらの隣接するCU間の動きベクトルも類似しているという事実から恩恵を受けることである。したがって、空間的に隣接するCUおよび/または時間的に同じ場所にあるCUの動き情報を、それらの空間的相関および時間的相関を調査することによって現在のCUの動き情報(例えば、動きベクトル)の近似値として使用することが可能であり、これは、現在のCUの「動きベクトル予測子(MVP:Motion Vector Predictor)」とも呼ばれる。
【0071】
図3に関連して上記で説明されたように動き推定ユニット42によって決定された現在のCUの実際の動きベクトルを映像ビットストリームに符号化する代わりに、現在のCUの動きベクトル差分(MVD:Motion Vector Difference)を作成するために、現在のCUの実際の動きベクトルから現在のCUの動きベクトル予測子が減算される。そうすることにより、動き推定ユニット42によってフレームのCUごとに決定された動きベクトルを映像ビットストリームに符号化する必要がなくなり、映像ビットストリーム内の動き情報を表現するために使用されるデータ量が大幅に削減される場合がある。
【0072】
符号ブロックのフレーム間予測中に参照フレーム内の予測ブロックを選ぶプロセスと同様に、現在のCUの空間的に隣接するCUおよび/または時間的に同じ位置にあるCUに関連付けられた潜在的な候補動きベクトルを使用して現在のCUの動きベクトル候補リスト(「マージ・リスト」とも呼ばれる)を構築し、次いで、動きベクトル候補リストから現在のCUの動きベクトル予測子として1つの要素を選択するために、映像符号化器20と映像復号器30との両方によって一連の規則が採用される必要がある。そうすることにより、動きベクトル候補リスト自体を映像符号化器20から映像復号器30に送信する必要がなくなり、映像符号化器20および映像復号器30が現在のCUを符号化および復号するために動きベクトル候補リスト内の同じ動きベクトル予測子を使用するには、動きベクトル候補リスト内の選択された動きベクトル予測子のインデックスで十分である。
【0073】
位置依存イントラ予測組合せ
【0074】
VVCでは、DCモード、平面モード、およびいくつかの角度モードのイントラ予測の結果は、位置依存イントラ予測組合せ(PDPC:position dependent intra prediction combination)方法によってさらに修正される。PDPCは、境界参照サンプルとフィルタリングされた境界参照サンプルを用いたHEVCスタイル・イントラ予測との組合せを呼び出すイントラ予測方法である。PDPCは、信号伝達なしで、次のイントラ・モード、すなわち平面、DC、水平以下のイントラ角度、および垂直以上80以下のイントラ角度に適用される。現在のブロックがBdpcmモードであるか、またはMRLインデックスが0より大きい場合、PDPCは適用されない。
【0075】
イントラ予測モード(DC、平面、角度)および参照サンプルの線形組合せを使用して、次の方程式
pred(x’,y’)=Clip(0,(1<<BitDepth)-1,(wL×R-1,y’+wT×Rx’,-1+(64-wL-wT)×pred(x’,y’)+32)>>6)
に従って、予測サンプルpred(x’,y’)が予測され、ここで、Rx,-1、R-1,yは、それぞれ現在のサンプル(x,y)の上および左の境界に位置する参照サンプルを表す。
【0076】
PDPCがDC、平面、水平、および垂直のイントラ・モードに適用される場合、HEVC DCモード境界フィルタまたは水平/垂直モード・エッジ・フィルタの場合に必要な追加の境界フィルタは必要ない。DCモードおよび平面モードのPDPCプロセスは同一である。角度モードの場合、現在の角度モードがHOR_IDXまたはVER_IDXである場合、左または上の参照サンプルはそれぞれ使用されない。PDPCの重みおよびスケール係数は、予測モードおよびブロック・サイズに依存する。PDPCは、幅と高さの両方が4以上のブロックに適用される。
【0077】
図5A図5Dは、様々な予測モードに適用されるPDPCの参照サンプル(Rx,-1およびR-1,y)の定義を示す。図5Aは、対角右上モードの一例を示す。図5Bは、対角左下モードの一例を示す。図5Cは、隣接対角右上モードの一例を示す。図5Dは、隣接対角左下モードの一例を示す。予測サンプルpred(x’,y’)は、予測ブロック内の(x’,y’)に位置する。一例として、対角モードの場合、参照サンプルRx,-1の座標xはx=x’+y’+1によって与えられ、参照サンプルR-1,yの座標yも同様にy=x’+y’+1によって与えられる。他の角度モードの場合、参照サンプルRx,-1およびR-1,yは分数サンプル位置に配置され得る。この場合、最も近い整数のサンプル位置のサンプル値が使用される。
【0078】
前述されたように、イントラ予測サンプルは、フィルタリングされていないまたはフィルタリングされた隣接する参照サンプルのセットから生成され、これは、現在の符号化ブロックとその隣接ブロックとの間のブロック境界に沿って不連続性を生じさせる可能性がある。そのような問題を解決するために、HEVCでは、2タップ・フィルタ(DCモードの場合)または勾配ベースの平滑化フィルタ(水平予測モードおよび垂直予測モードの場合)を利用して、DC予測モード、水平予測モード(すなわち、モード18)、および垂直予測モード(すなわち、モード50)の予測サンプルの最初の行/列をフィルタリングされていない参照サンプルと組み合わせることによって、境界フィルタリングが適用される。
【0079】
勾配PDPC
【0080】
VVCでは、いくつかのシナリオの場合、2次参照サンプルが利用できないため、PDPCが適用されない場合がある。水平/垂直モードから拡張された勾配ベースのPDPCが適用される。PDPC重み(wT/wL)、および左/上の境界からの距離に関するPDPC重みにおける減衰を決定するためのnScaleパラメータは、それぞれ水平/垂直モードの対応するパラメータと等しくなるように設定される。2次参照サンプルが分数サンプル位置にある場合、双線形補間が適用される。
【0081】
幾何学的区分モード(GPM:geometric partition mode)
【0082】
VVCでは、インター予測のために幾何学的区分モードがサポートされている。幾何学的区分モードは、1つのCUレベル・フラグによって、1つの特別なマージ・モードとして信号伝達される。現在のGPM設計では、8×64および64×8を除く、幅と高さとの両方が8以上64以下である可能なCUサイズごとに、GPMモードによって合計64個の区分がサポートされている。
【0083】
このモードが使用される場合、図6に示されるように、幾何学的に配置された直線によってCUが2つの部分に分裂される。分裂線の位置は、特定の区分の角度およびオフセット・パラメータから数学的に導出される。CU内の幾何学的区分の各部分は、その独自の動きを使用してインター予測され、各区分について単予測(uni-prediction)のみが許容され、すなわち、各部分は、1つの動きベクトルおよび1つの参照インデックスを有する。従来の双予測(bi-prediction)と同様に、各CUに必要な動き補償予測が2つだけであることを保証するために、単予測動き制約が適用される。現在のCUに幾何学的区分モードが使用される場合、幾何学的区分の区分モードを示す幾何学的区分インデックス(角度およびオフセット)および2つのマージ・インデックス(各区分に1つ)がさらに信号伝達される。最大GPM候補サイズの数は、シーケンス・レベルで明示的に信号伝達される。
【0084】
幾何学的区分のエッジに沿った混合
【0085】
各幾何学的区分がその独自の動きを使用して取得された後、幾何学的区分のエッジの周囲のサンプルを導出するために、2つの単予測信号に混合が適用される。CUの各位置の混合重みは、個々のサンプル位置から対応する区分エッジまでの距離に基づいて導出される。
【0086】
GPM信号伝達設計
【0087】
現在のGPM設計によれば、GPMの使用は、CUレベルで1つのフラグを信号伝達することによって示される。現在のCUがマージ・モードまたはスキップ・モードによって符号化されている場合にのみ、フラグが信号伝達される。具体的には、フラグが1に等しい場合、フラグは、現在のCUがGPMによって予測されていることを示す。それ以外の場合(フラグがゼロに等しい場合)、CUは、通常のマージ・モード、動きベクトル差分を伴うマージ・モード、組み合わされたインター予測およびイントラ予測などの別のマージ・モードによって符号化されている。現在のCUに対してGPMが有効である場合、(図6に示されるように、CUを2つの区分に分裂するCU中心からの直線の方向およびオフセットを指定する)適用される幾何学的区分モードを示すために、1つの構文要素、すなわちmerge_gpm_partition_idxがさらに信号伝達される。その後、第1のGPM区分および第2のGPM区分に使用される単予測マージ候補のインデックスを示すために、2つの構文要素、merge_gpm_idx0およびmerge_gpm_idx1が信号伝達される。より具体的には、これらの2つの構文要素は、セクション「単予測マージ・リストの構築」で説明されるように、単予測マージ・リストから2つのGPM区分の単方向性MVを決定するために使用される。現在のGPM設計によれば、2つの単方向性MVをより異なるものにするために、2つのインデックスは同じであることはできない。そのような事前知識に基づいて、最初に、第1のGPM区分の単予測マージ・インデックスが信号伝達され、第2のGPM区分の単予測マージ・インデックスの信号伝達オーバーヘッドを削減するための予測子として使用される。詳細には、第2の単予測マージ・インデックスが第1の単予測マージ・インデックスより小さい場合、その元の値が直接信号伝達される。それ以外の場合(第2の単予測マージ・インデックスが第1の単予測マージ・インデックスより大きい場合)、その値は、ビットストリームに信号伝達される前に1だけ減算される。復号器側では、最初に、第1の単予測マージ・インデックスは復号器である。次いで、第2の単予測マージ・インデックスの復号では、解析された値が第1の単予測マージ・インデックスより小さい場合、第2の単予測マージ・インデックスは解析値に等しくなるように設定され、それ以外の場合(解析された値が第1の単予測マージ・インデックス以上である場合)、第2の単予測マージ・インデックスは、解析された値に1を加えた値に等しくなるように設定される。表1は、現在のVVC仕様においてGPMモードに使用される既存の構文要素を示している。
【0088】
【表1】
【0089】
一方、現在のGPM設計では、2つの単予測マージ・インデックス、すなわちmerge_gpm_idx0およびmerge_gpm_idx1の2値化のために、切り捨てられた単項符号が使用される。さらに、2つの単予測マージ・インデックスは同じであることはできないので、2つの単予測マージ・インデックスの符号語が切り捨てるために異なる最大値が使用され、最大値は、merge_gpm_idx0およびmerge_gpm_idx1に対してそれぞれ、MaxGPMMergeCand-1およびMaxGPMMergeCand-2に等しくなるように設定される。MaxGPMMergeCandは、単予測マージ・リスト内の候補の数である。
【0090】
GPM/AWPモードが適用される場合、構文merge_gpm_partition_idxを2値ビットの文字列に変換するために、2つの異なる2値化方法が適用される。具体的には、それぞれVVC標準およびAVS3標準における固定長符号および切り捨てられた2値符号によって、構文要素が2値化される。一方、AVS3のAWPモードの場合、2値化のために、異なる最大値が使用される。
【0091】
空間角度重み付け予測(SAWP:Spatial angular weighted prediction)
【0092】
AVSでは、GPMモードをイントラ・ブロックに拡張する空間角度重み付け予測(SAWP)モード。SAWPモードでは、2つのインター予測ブロックを重み付けする代わりに、2つのイントラ予測ブロックが重み付けされる。2つのイントラ予測ブロックは、イントラ予測モードから選択される2つの異なるイントラ予測モードを使用して予測される。イントラ予測モードは角度モード5~30から選択される。最大サイズは32×32である。SAWPモードのMPM導出のために、通常のイントラ・モードの2つの最確モード(MPM)が使用される。
【0093】
多方向イントラ予測設計(MDIP:Multi-direction intra prediction)はSAWPと同じ設計精神に従うが、ある特定の設計の詳細に若干の違いがある。
【0094】
復号器側イントラ・モード導出(DIMD)
【0095】
DIMDは、輝度イントラ予測モード(IPM)がビットストリームを介して送信されないイントラ符号化ツールである。代わりに、IPMは、符号化器および復号器において同一の方式で、以前に符号化/復号された画素を使用して導出される。DIMD方法は、テクスチャ勾配処理を実行して2つの最適なモードを導出する。次いで、これらの2つのモードおよび平面モードはブロックに適用され、それらの予測子が加重平均される。DIMDの選択結果は、フラグを使用してイントラ符号化済みブロックのビットストリームにおいて信号伝達される。復号器では、DIMDフラグが真である場合、同じ以前に符号化された隣接画素を使用して再構築プロセスでイントラ予測モードが導出される。真ではない場合、イントラ予測モードは、古典的なイントラ符号化モードと同様にビットストリームから解析される。
【0096】
ブロックのイントラ予測モードを導出するには、最初に、勾配分析を実行することになる隣接画素のセットを選択しなければならない。規範性を目的として、これらの画素は、復号/再構築された画素のプール内にあるべきである。図7に示されるように、現在のブロックを左にT画素、上にT画素だけ囲むテンプレートを選ぶ。次に、テンプレートの画素に対して勾配分析を実行する。これは、現在のブロックのうちの1つと同一である可能性が高いと仮定する(本方法の中核前提である)、テンプレートの主要な角度方向を決定することを可能にする。したがって、テンプレートとともに畳み込まれる以下の行列、
【数1】

によって定義される単純な3×3のソーベル勾配フィルタを使用する。
【0097】
テンプレートの画素ごとに、これらの2つの行列のそれぞれに、現在の画素を中心とし、その8つの直接近傍で構成される3×3ウィンドウを一つ一つ乗算し、その結果を合計する。したがって、現在の画素での水平方向および垂直方向の勾配に対応する2つの値Gx(Mxとの乗算から)およびGy(Myとの乗算から)をそれぞれ取得する。
【0098】
図8は、畳み込みプロセスを示す。青色画素は、現在の画素である。(青色を含む)赤色画素は、勾配分析が可能な画素である。灰色画素は、近傍が欠如しているために勾配分析が不可能な画素である。紫色画素は、考慮されたテンプレートの外側の利用可能な(再構築された)画素であり、赤色画素の勾配分析に使用される。(例えば、ブロックがピクチャの境界に近すぎるために)紫色画素が使用できない場合、この紫色画素を使用するすべての赤色画素の勾配分析は実行されない。赤色画素ごとに、GxおよびGyを使用して勾配の強度(G)および配向(O)を、
【数2】

のように計算する。
【0099】
次いで、勾配の配向は、イントラ角度予測モードに変換され、ヒストグラムにインデックス付けするために使用される(最初はゼロに初期化される)。そのイントラ角度モードでのヒストグラム値はGだけ増加する。テンプレート内のすべての赤色画素が処理されると、ヒストグラムは、各イントラ角度モードの勾配強度の累積値を含むことになる。現在のブロックに対して、最も高い2つのヒストグラム・バーに対応するIPMが選択される。ヒストグラム内の最大値が0である場合(勾配分析を行うことができなかったか、またはテンプレートを構成するエリアが平坦であることを意味する)、現在のブロックのイントラ予測モードとしてDCモードが選択される。
【0100】
最も高い2つのHoGバーに対応する2つのIPMは、平面モードと組み合わされる。1つまたは複数の例では、上記の3つの予測子の加重平均として予測融合が適用される。この目的のために、平面の重みは21/64(約1/3)に固定される。その場合、残りの重み43/64(約2/3)は、HoGバーの振幅に比例して2つのHoG IPM間で共有される。図9はこのプロセスを視覚化している。
【0101】
導出されたイントラ・モードはイントラ最確モード(MPM)の1次リストの中に含まれ、したがって、MPMリストが構築される前にDIMDプロセスが実行される。DIMDブロックの1次導出イントラ・モードは、ブロックとともに記憶され、隣接ブロックのMPMリスト構築のために使用される。
【0102】
テンプレート・ベースのイントラ・モード導出(TIMD:Template-based intra mode derivation)
【0103】
MPMにおける各イントラ・モードについて、図10に示されたテンプレート領域の予測サンプルと再構築サンプルとの間の絶対変換差分の和(SATD:sum of absolute transformed difference)が計算され、最も小さいSATDコストを有する最初の2つのモードを有するイントラ・モードが選択され、次いで、それらを重みと融合し、そのような重み付けされたイントラ予測は、現在のCUを符号化するために使用される。
【0104】
選択された2つのモードのコストは閾値と比較され、テストにおいて、次のようにコスト係数2が適用される。
costMode2<2*costMode1
【0105】
この条件が真である場合、融合が適用され、それ以外の場合、mode1のみが使用される。
【0106】
モードの重みは、次のようにそれらのSATDコストから計算される。
weight1=costMode2/(costMode1+costMode2)
weight2=1-weight1
【0107】
DIMDモードはイントラ予測効率を高めることができるが、その性能をさらに向上させる余地がある。一方、既存のDIMDモードのいくつかの部分も、効率的なコーデック・ハードウェア実装のために簡素化されるか、またはより良好な符号化効率のために改善される必要がある。さらに、その実装の複雑さとその符号化効率の利点との間のトレードオフがさらに改善される必要がある。
【0108】
VVCの最終決定後、JVETグループは、VVCを超える圧縮効率を模索し続けた。JVETによって、VVCテスト・モデル(VTM)上にいくつかの追加の符号化ツールを統合することにより拡張圧縮モデル(ECM)と呼ばれる1つの参照ソフトウェアが維持された。現在のECMでは、イントラ・モードに応じてPDPCが使用される。DIMDモードの場合、各イントラ・モードに応じてPDPCが使用される。図11Dに示されるように、PDPC方式の2つの異なる位置が使用され、DIMDモードの各イントラ・モードに適用される。DIMDモードで角度モードが使用されるイントラ予測の場合、予測融合の前にPDPCが適用される。DIMDモードでDCモードまたは平面モードが使用されるイントラ予測の場合、予測融合の後にPDPCが適用される。そのような統一されていない設計は、標準化の観点からは最適ではない可能性がある。
【0109】
同様に、融合方式の2つの異なる設計が利用可能であり、それぞれDIMDおよびTIMDに適用される。それぞれの異なる融合設計は、異なる候補および重み算出に関連付けられる。DIMDが適用されるブロックの場合、最も高い2つのHoGバーに対応する2つのIPMおよび平面モードが、融合のために選択される。また、平面の重みは21/64(約1/3)に固定される。その場合、残りの重み43/64(約2/3)は、HoGバーの振幅に比例して2つのHoG IPM間で共有される。TIMDが適用されるブロックの場合、SATDコストが最も小さい最初の2つのモードを有するイントラ・モードが選ばれ、それらのSATDコストからモードの重みが計算される。そのような統一されていない設計は、標準化の観点からは最適ではない可能性がある。上記に加えて、様々な融合方式によってその性能をさらに向上させる余地がある。
【0110】
現在のECM設計では、DIMDから導出されたイントラ・モードは、導出されたイントラ・モードがDIMDで既に使用されているかどうかに関係なく、イントラ最確モード(MPM)の1次リストの中に含まれる。その性能をさらに向上させる余地がある。
【0111】
DIMDおよびTIMDの既存の設計では、最適なイントラ予測モードの導出および1つの現在のDIMD/TIMD符号化ブロックの対応する予測サンプルの生成に使用されるパラメータを算出するために、複数の浮動小数点演算(加算、乗算、および除算を含む)が関与する。具体的には、ECMにおける既存のDIMDおよびTIMDの設計において、以下の浮動小数点演算が適用される。
【0112】
1)DIMDにおける勾配配向の導出:前に説明されたように、DIMDモードでは、現在のブロックの上および左にある隣接する再構築されたサンプル(すなわち、テンプレート)の勾配のヒストグラム(HoG:histogram of the gradient)の分析に基づいて、2つの最適なイントラ予測モードが選択される。そのような分析中、各テンプレート・サンプルの勾配配向が算出される必要があり、この勾配配向はさらに、既存の角度イントラ予測方向のうちの1つに変換される。ECMでは、水平勾配および垂直勾配に基づいてそのような配向を算出するために、浮動小数点の除算と乗算とのペアが各テンプレート・サンプルに適用され、すなわち、
【数3】

である。
【0113】
2)DIMDにおける予測サンプルの混合:既存のDIMD設計では、最も大きい勾配ヒストグラム振幅および2番目に大きい勾配ヒストグラム振幅を有する2つの角度イントラ予測モードを使用して生成された予測サンプルが平面モードの予測サンプルと混合されて、現在のブロックの最終的な予測サンプルを形成する。さらに、それらの勾配のヒストグラム振幅に基づいて、2つの角度イントラ予測の重みが決定され、
【数4】

【数5】

として説明されるように、浮動小数点の加算、乗算、および除算の1つのグループが導入される。
【0114】
3)TIMDにおける予測サンプルの混合:既存のTIMD設計では、選択された2つのイントラ・モードのSATDが十分に近い場合、2つのイントラ・モードから生成された予測サンプルがともに混合されて、現在のブロックのイントラ・モードの最終予測サンプルを生成する。現在の設計によれば、2つのイントラ・モードに適用される重みは、それらのそれぞれのSATD値に従って算出され、
【数6】

のように示されるように、一対の浮動小数点の乗算および除算が関与する。
【0115】
そのような上記の浮動小数点演算はすべて、ハードウェアとソフトウェアとの両方における実際のコーデック実装には非常にコストがかかる。
【0116】
本開示では、以前に指摘された問題に対処するために、DIMDモードの既存の設計を簡素化および/またはさらに改善するための方法が提供される。一般に、本開示で提案される技術の主な特徴は、次のように要約される。
【0117】
1).予測融合の前にすべてのイントラ予測にPDPCを適用することによって、DIMDモードにおける角度モードおよびDC/平面モードの下で使用されるPDPCを統一する。そのような方法の一例が、図12Aのブロック図に示されている。
【0118】
2).予測融合の後にすべてのイントラ予測にPDPCを適用することによって、DIMDモードにおける角度モードおよびDC/平面モードの下で使用されるPDPCを統一する。そのような方法の一例が、図12Bのブロック図に示されている。
【0119】
3).DIMDモードのすべてのイントラ予測のためのPDPCを無効にすることによって、DIMDモードにおける角度モードおよびDC/平面モードの下で使用されるPDPCを統一する。そのような方法の一例が、図12Cのブロック図に示されている。
【0120】
4).TIMDまたはDIMDモードのDC/平面イントラ予測のためのPDPCを無効にすることによって、TIMDまたはDIMDモードにおける角度モードおよびDC/平面モードの下で使用されるPDPCを統一する。例えば、図11Eに示されるように、DCモードまたは平面モードが適用されるとの判定に応答して、符号化器または復号器は、TIMDでの融合の後にDCモードまたは平面モードのためのPDPCを無効にしてもよい。別の例では、図12Cに示されるように、DCモードまたは平面モードが適用されるとの判定に応答して、符号化器または復号器は、DIMDでの融合の前にDCモードまたは平面モードのためのPDPCを無効にしてもよい。別の例では、図12Dにおいて第1のイントラ予測モードおよび第2のイントラ予測モードにおいて平面モードが適用されるとの判定に応答して符号化器または復号器は、DIMDモードでの融合の前に平面イントラ予測のためのPDPCを無効にしてもよい。
【0121】
5).TIMDまたはDIMDモードの角度イントラ予測のためのPDPCを無効にすることによって、TIMDまたはDIMDモードにおける角度モードおよびDC/平面モードの下で使用されるPDPCを統一する。例えば、図12Cに示されるように、第1のイントラ予測モードおよび第2のイントラ予測モードに角度モードが適用されるとの判定に応答して、符号化器または復号器は、DIMDモードでの融合の前に角度イントラ予測のためのPDPCを無効にしてもよい。別の例では、図11Fに示されるように、角度モードが適用されるとの判定に応答して、符号化器または復号器は、TIMDでの融合の前に角度イントラ予測のためのPDPCを無効にする。
【0122】
6).DIMDモードの下で使用される融合方式をTIMDモードに適用することによって、DIMDモードおよびTIMDモードの下で使用される融合方式を統一する。
【0123】
7).TIMDモードの下で使用される融合方式をDIMDモードに適用することによって、DIMDモードおよびTIMDモードの下で使用される融合方式を統一する。
【0124】
8).融合方式の選択結果を信号伝達することによって、DIMDモードおよびTIMDモードの下で使用される融合方式を統一する。
【0125】
9).導出されたイントラ・モードがDIMDにおいて既に使用されているかどうかを考慮して、DIMDからイントラ最確モード(MPM)のリストにイントラ・モードを導出する。
【0126】
10).TIMDからイントラ最確モード(MPM)のリストにイントラ・モードを導出する。
【0127】
提案された方法は、符号化器または復号器によるTIMD/MDIPなどの他のイントラ予測符号化モードにも適用され得ることに留意されたい。TIMDモードに適用される例の別のセットが、図11A図11Cのブロック図に示されている。図11Aは、TIMDの融合プロセスの前にすべてのPDPCプロセスを適用する例を示す。図11Bは、TIMDの融合プロセスの後にすべてのPDPCプロセスを適用する例を示す。図11Cは、TIMDにおけるすべてのPDPCプロセスを無効にする例を示す。
【0128】
提案された方法は、組み合わされたインター予測およびイントラ予測と(CIIP:combined inter and intra prediction)などの他の組み合わされたイントラ予測符号化モードおよびインター予測符号化モードにも適用され得ることに留意されたい。
【0129】
開示された方法は、単独でまたは共同で適用され得ることに留意されたい。
【0130】
DIMDにおける角度モードおよびDC/平面モードに使用されるPDPCの調和
【0131】
本開示の1つまたは複数の実施形態によれば、DIMDモードの下で角度モードとDC/平面モードとの両方に対して同じPDPC位置が適用される。この目標を達成するために、様々な方法が使用されてもよい。
【0132】
本開示の一例では、図12Aに示されるように、DIMDモードでの予測融合の前にPDPC演算を適用することが提案される。言い換えれば、DIMDモードでの予測融合の前に、そのイントラ・モードに基づいて各イントラ予測モードがPDPCに適用される。提案された方法は、TIMDなどの他のイントラ予測符号化モードにも適用され得る。
【0133】
本開示の別の例では、図12Bに示されるように、DIMDモードでの予測融合の後にPDPC演算を適用することが提案される。言い換えれば、特定のモード、例えば、DCモード、平面モードに基づいて、3つの予測子の重み付けされた組合せがPDPCに適用される。一例では、特定のモードは平面モードであり、次いで、DIMDモードでの予測融合の後に平面モードを有するPDPCが適用される。別の例では、最も高いヒストグラム・バーに対応するIPMが特定のモードとして選択され、次いで、DIMDモードでの予測融合の後に特定モードを有するPDPCが適用される。さらに別の例では、2番目に高いヒストグラム・バーに対応するIPMが特定のモードとして選択され、次いで、DIMDモードでの予測融合の後に特定のモードのPDPCが適用される。
【0134】
本開示の別の例では、DIMDモードでのPDPC演算を無効にすることが提案される。言い換えれば、図12Cに示されるように、DIMDモードではPDPC演算は使用されない。
【0135】
本開示の別の例では、DIMDモードでのDC/平面イントラ予測のためのPDPC演算を無効にすることが提案される。言い換えれば、DIMDモードでのDC/平面イントラ予測のためにPDPC演算は使用されない。図15に示されるような一例では、ステップ1502において、符号化器または復号器は、イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のためのPDPC演算に基づいて、1つまたは複数の映像ブロックの予測サンプル値を決定してもよく、PDPC演算は、境界参照サンプルの組合せに基づいて1つまたは複数のイントラ予測の結果を修正する。ステップ1504において、符号化器または復号器は、イントラ予測符号化モードでのPDPC演算を統一するために、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測において直流(DC)モードまたは平面モードが適用されるとの判定に応答して、DCモードまたは平面モードのためのPDPC演算を無効にしてもよい。
【0136】
本開示のさらに別の例では、DIMDモードでの角度イントラ予測のためのPDPC演算を無効にすることが提案される。言い換えれば、DIMDモードでの角度イントラ予測のためにPDPC演算は使用されない。図16に示されるような一例では、ステップ1602において、符号化器または復号器は、イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のためのPDPC演算に基づいて、1つまたは複数の映像ブロックの予測サンプル値を決定してもよく、PDPC演算は、境界参照サンプルの組合せに基づいて1つまたは複数のイントラ予測の結果を修正する。ステップ1604において、符号化器または復号器は、イントラ予測符号化モードでのPDPC演算を統一するために、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測において角度モードが適用されるとの判定に応答して、角度モードのためのPDPC演算を無効にしてもよい。
【0137】
提案された方法は、TIMD/MDIPなどの他のイントラ予測符号化モードにも適用され得ることに留意されたい。
【0138】
DIMDモードおよびTIMDモードに使用される融合方式の調和
【0139】
本開示の1つまたは複数の実施形態によれば、DIMDモードとTIMDモードとの両方に対して同じ融合方式が適用される。この目標を達成するために、様々な方法が使用されてもよい。融合方式は、DIMDモードおよびTIMDモードにおける予測子の加重平均として適用される。
【0140】
本開示の一例では、DIMDモードの下で使用される融合方式をTIMDモードに適用することが提案される。言い換えれば、TIMDモードの場合、最も小さいSATDコストおよび平面モードを有する最初の2つのモードが融合のための予測子として選択され、予測子の加重平均が算出される。また、平面の重みは21/64(約1/3)に固定される。その場合、残りの重み43/64(約2/3)は、SATDコストの振幅に比例して他の2つのモード間で共有される。
【0141】
本開示の別の例では、TIMDモードの下で使用される融合方式をDIMDモードに適用することが提案される。言い換えれば、DIMDモードの場合、最も高いHoGバーを有する最初の2つのモードが融合のための予測子として選択され、モードの重みは、HoGバーの振幅に比例してHoG IPMから計算される。ヒストグラムにおける最大値が0である場合(勾配分析を行うことができなかったか、またはテンプレートを構成するエリアが平坦であることを意味する)、現在のブロックのイントラ予測モードとして、1つのデフォルト・モード、例えば、DCモード、平面モードが選択される。
【0142】
本開示のさらに別の例では、TIMDおよび/またはDIMDモードにおける融合方式の選択結果を信号伝達することが提案される。一例では、所与のCUについて、ブロックがDIMDモードを使用するか否かを示すために、フラグが復号器に信号伝達される。DIMDモードを使用して符号化される場合、例えば、上記の第1の融合方法または第2の融合方法としてどの融合方式が使用されるかを示すために、1つのフラグが復号器にさらに信号伝達される。
【0143】
MPMリスト内で使用されるDIMDモードを修正する
【0144】
本開示の別の態様では、導出されたイントラ・モードが既にDIMDで使用されているかどうかに応じて、DIMDからイントラ最確モード(MPM)のリストにイントラ・モードを導出することが提案される。本開示の1つまたは複数の実施形態によれば、融合方式がDIMDモードで使用されている場合、DIMDから導出されたイントラ・モードは、MPMリストの候補として使用されてもよい。言い換えれば、融合方式がDIMDモードで使用されていない場合、DIMDから導出されたイントラ・モードは、MPMリストの候補として使用されることはできない。
【0145】
本開示の他の態様では、DIMDの利用可能な方向性モードからのオフセットが追加された方向性モードが、MPMリストの候補として使用されてもよい。特定の一例では、オフセットは、1、-1、2、-2、3、-3、4、-4であってもよい。
【0146】
図17に示されるように、一例では、ステップ1702において、符号化器または復号器は、DIMDモードにおいて融合方式が適用されるかどうかを判定してもよく、融合方式は、ステップ1702においてDIMDモードでの予測子の加重平均として適用される。ステップ1704において、符号化器または復号器は、DIMDモードでの利用可能な方向性モードにオフセットを適用して、オフセット方向性モードを取得してもよい。ステップ1706において、復号器は、DIMDモードにおいて融合方式が適用されるかどうかに基づいて、オフセット方向性モードを最確モード(MPM)のリストに追加すべきかどうかを判定してもよい。
【0147】
一例として、最初に、22個のエントリを有する一般MPMリストが構築され、次いで、この一般MPMリストの中の最初の6個のエントリが1次MPM(PMPM)リストの中に含まれ、残りのエントリが2次MPM(SMPM)リストを形成する。一般MPMリスト内の最初のエントリは、平面モードである。残りのエントリは、左(L)、上(A)、左下(BL)、右上(AR)、および左上(AL)の隣接ブロックのイントラ・モードと、DIMDモード(青色部分)と、隣接ブロックの最初の2つの利用可能な方向性モードおよびDIMDモード(赤色部分)からのオフセットが追加された方向性モードと、デフォルト・モード{DC_IDX(1)、VER_IDX(50)、HOR_IDX(18)、VER_IDX-4(46)、VER_IDX+4(54)、14、22、42、58、10、26、38、62、6、30、34、66、2、48、52、16}とで構成される。
【0148】
CUブロックが垂直に配向されている場合、隣接ブロックの順序はA、L、BL、AR、ALであり、それ以外の場合、順序はL、A、BL、AR、ALである。
【0149】
この例では、オフセットなしのDIMDモード(青色部分)が最初にMPMリストに追加される。リストが満杯でない場合、オフセットを有するDIMDモード(赤色部分)がMPMリストに追加される。
【0150】
MPMリストで使用されるTIMDモード
【0151】
本開示の別の態様では、TIMDからイントラ最確モード(MPM)のリストにイントラ・モードを導出することが提案される。一般に、VVCには、非方向性モード(平面、DC)と65個の角度モードとを含む67個のイントラ予測モードがあり、これらは、映像および画像のコンテンツに通常存在する様々な方向性構造を効率的にモデル化する。本開示の1つまたは複数の実施形態では、TIMDから導出されたイントラ・モードは、MPMリストの候補として使用されてもよい。一例では、DIMDから導出されたイントラ・モードは、MPMリストの候補として使用されることはできないが、TIMDから導出されたイントラ・モードは、MPMリストの候補として使用されてもよい。
【0152】
本開示の別の態様では、導出されたイントラ・モードが既にTIMDで使用されているかどうかに応じて、TIMDからイントラ最確モード(MPM)のリストにイントラ・モードを導出することが提案される。本開示の1つまたは複数の実施形態によれば、融合方式がTIMDモードで使用されている場合、TIMDから導出されたイントラ・モードは、MPMリストの候補として使用されてもよい。言い換えれば、融合方式がTIMDモードで使用されない場合、TIMDから導出されたイントラ・モードは、MPMリストの候補として使用されることはできない。
【0153】
上記の方法は、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル・ロジック・デバイス(PLD)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子構成要素を含む1つまたは複数の回路を含む装置を使用して実装されてもよい。装置は、上記で説明された方法を実行するために、他のハードウェア構成要素またはソフトウェア構成要素と組み合わせて回路を使用してもよい。上記で開示された各モジュール、サブモジュール、ユニット、またはサブユニットは、1つまたは複数の回路を使用して少なくとも部分的に実装されてもよい。
【0154】
整数演算を用いた簡素化されたDIMDおよびTIMD
【0155】
前に指摘されたように、DIMDおよびTIMDの既存の設計では、DIMD/TIMDパラメータを導出するためにいくつかの浮動小数点演算(すなわち、加算、乗算、および除算)が関与するが、これらは、ソフトウェアとハードウェアとの両方での実際のコーデック実装には受け入れられない。このセクションでは、すべての浮動小数点演算を整数の加算および乗算に置き換えることによってDIMDおよびTIMDの実装を簡素化する1つのルック・アップ・テーブル(LUT)ベースの方式が提案される。一例では、復号器は、DIMDモードまたはTIMDモードでパラメータを導出するために実行されるべき浮動小数点除算演算を識別し、復号器は、ルック・アップ・テーブル(LUT)に基づいて浮動小数点除算演算を整数の加算および乗算に置き換えることによって、DIMDまたはTIMDにおけるパラメータを取得する。
【0156】
具体的には、図13に示されるように、1つの整数Lを1つの指数およびKビットの有効部分(significant part)(指数の後のK個の最上位ビット(MSB:most significant bit)を含む)によって
【数7】

のように示されるように近似することが提案され、ここで、normMSBは0から2-1までの範囲のMSBの値である。これに対応して、整数Lによる除算は、
【数8】

のように記述され得る。
【0157】
分数部分1/LがMビット精度で量子化される場合、上記の方程式は、
【数9】

となり、ここで、<・>は丸め演算である。さらに、上記の方程式の式の丸め部分は、2個の要素を含む1つのLUTによって表されることが可能であり、各要素は、Mビット精度で表される。一方、normMSBの値は[0,2-1]の範囲にあるので、丸め部分は常に2M-1以上である。このような事前知識を考慮すると、各要素の最初のMSB(常に1に等しい)を無視して、その残りの(M-1)ビットの最下位ビット(LSB:least significant bit)のみを記憶することによって、LUTサイズが縮小されてもよく、すなわち、各要素は(M-1)ビットのみを必要とする。そのような設計に基づいて、LUTの要素は、
【数10】

のように算出されることが可能であり、ここで、
【数11】

である。
【0158】
これに対応して、提案された整数化方式は次のように達成されることが可能であり、任意の2つの整数間の除算、例えば
【数12】

は、
exponent=Floor(Log2(denom))
normMSB=((denom≪K)≫exponent)&((1≪K)-1)
s=exponent+shift
add=(1≪(s-1))
ratio=(num・(divLut[normMSB]|(1≪(M-1)))+add)≫s
と示されるように、1つのLUTベースの整数乗算および1つの右シフトによって置き換えられることが可能であり、ここで、numは分子の値を表し、denomは分母の値を表す。本開示の一例では、分母は整数値Lであり、分子は1である。
【0159】
実際には、導出されるパラメータの正確度と実装の複雑度との間の様々なトレードオフを実現するために、LUTサイズ(すなわち、K)とパラメータ精度(すなわち、M)との様々な組合せが適用されてもよい。例えば、大きいLUTサイズおよびより高いパラメータ精度を使用することは、高いパラメータ正確度を保つのに有益であるが、LUTを維持するためのストレージサイズの拡大、および対応する整数演算(例えば、整数の乗算、加算、およびビット単位のシフト)を実行するためのビット深度の増加という負担を伴う。そのような考慮事項に基づいて、特定の一例では、KおよびMの値を4に設定することが提案される。そのような設定に基づいて、対応するLUTは、
divLut[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,0}
として導出される。
【0160】
DIMD導出を例として使用すると、上記の整数化方式の場合(KとMとの両方が4に設定されている場合)、各テンプレート・サンプルでの勾配配向の導出は、
exponent=Floor(Log2(G))
normMSB=((G≪4)≫exponent)&15
v=G・(divLut[normMSB]|8)
s=exponent+(normMSB≠0?4:3)-16
【数13】

のように実施され得る。
【0161】
上記の例で使用されているKおよびMの値は、説明のために使用されているだけであることに留意されたい。実際には、将来の他の符号化技法のプロセスにおいて浮動小数点除算を整数演算に変換するために、KおよびMの異なる値を使用する提案されたLUTベースの方式が適用されてもよい。
【0162】
図14は、ユーザ・インターフェース1650と結合されたコンピューティング環境1610を示す。コンピューティング環境1610は、データ処理サーバの一部であってもよい。コンピューティング環境1610は、プロセッサ1620、メモリ1630、および入出力(I/O)インターフェース1640を含む。
【0163】
プロセッサ1620は、典型的には、表示、データ取得、データ通信、および画像処理に関連する動作など、コンピューティング環境1610の全体的な動作を制御する。プロセッサ1620は、上記で説明された方法におけるステップのすべてまたは一部を実施するよう求める命令を実行するための1つまたは複数のプロセッサを含んでもよい。さらに、プロセッサ1620は、プロセッサ1620と他の構成要素との間の対話を容易にする1つまたは複数のモジュールを含んでもよい。プロセッサは、中央処理ユニット(CPU)、マイクロプロセッサ、シングル・チップ・マシン、グラフィック処理ユニット(GPU)などであってもよい。
【0164】
メモリ1630は、コンピューティング環境1610の動作をサポートするために様々なタイプのデータを記憶するように構成される。メモリ1630は、所定のソフトウェア1632を含んでもよい。そのようなデータの例は、コンピューティング環境1610上で動作される任意のアプリケーションまたは方法のための命令、映像データセット、画像データなどを含む。メモリ1630は、スタティック・ランダム・アクセス・メモリ(SRAM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、プログラマブル読み取り専用メモリ(PROM)、読み取り専用メモリ(ROM)、磁気メモリ、フラッシュ・メモリ、磁気ディスクまたは光ディスクなど、任意のタイプの揮発性もしくは不揮発性メモリ・デバイスまたはそれらの組合せを使用することによって実装されてもよい。
【0165】
I/Oインターフェース1640は、プロセッサ1620と、キーボード、クリック・ホイール、ボタンなどの周辺インターフェース・モジュールとの間のインターフェースを提供する。ボタンは、ホーム・ボタン、走査開始ボタン、走査停止ボタンを含んでもよいが、これらに限定されない。I/Oインターフェース1640は、符号化器および復号器と結合されてもよい。
【0166】
一実施形態では、例えばメモリ1630内に、コンピューティング環境1610内のプロセッサ1620によって実行可能な、上記で説明された方法を実行するための複数のプログラムを含む非一過性コンピュータ可読記憶媒体も提供される。代替として、非一過性コンピュータ可読記憶媒体は、映像データを復号する際に復号器(例えば、図3の映像復号器30)によって使用するために、例えば上記で説明された符号化方法を使用して符号化器(例えば、図2の映像符号化器20)によって生成された符号化済み映像情報(例えば、1つまたは複数の構文要素を含む映像情報)を含むビットストリームまたはデータストリームを記憶していてもよい。非一過性コンピュータ可読記憶媒体は、例えば、ROM、ランダム・アクセス・メモリ(RAM)、CD-ROM、磁気テープ、フロッピー・ディスク、光データ記憶デバイスなどであってもよい。
【0167】
一実施形態では、1つまたは複数のプロセッサ(例えば、プロセッサ1620)と、1つまたは複数のプロセッサによって実行可能な複数のプログラムを記憶している非一過性コンピュータ可読記憶媒体またはメモリ1630とを備えるコンピューティング・デバイスも提供され、1つまたは複数のプロセッサは、複数のプログラムの実行時に、上記で説明された方法を実行するように構成される。
【0168】
一実施形態では、上記で説明された方法を実行するためにコンピューティング環境1610内のプロセッサ1620によって実行可能な、例えばメモリ1630内の複数のプログラムを含むコンピュータ・プログラム製品も提供される。例えば、コンピュータ・プログラム製品は、非一過性コンピュータ可読記憶媒体を含んでもよい。
【0169】
一実施形態では、コンピューティング環境1610は、上記の方法を実行するために、1つまたは複数のASIC、DSP、デジタル信号処理デバイス(DSPD)、プログラマブル・ロジック・デバイス(PLD)、FPGA、GPU、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子構成要素を用いて実装されてもよい。
【0170】
本開示の説明は、例示を目的として提示されたものであり、本開示を網羅することも限定することも意図されていない。前述の説明および関連する図面に提示された教示の恩恵を受ける当業者には、多くの修正、変形、および代替の実装形態が明らかであろう。
【0171】
特に明記されない限り、本開示による方法のステップの順序は、例示のみを意図されており、本開示による方法のステップは、上記で具体的に説明された順序に限定されず、実際の条件に従って変更されてもよい。さらに、本開示による方法のステップのうちの少なくとも1つは、実際の要件に従って調整、結合、または削除されてもよい。
【0172】
例は、本開示の原理を説明し、当業者が様々な実装形態について本開示を理解できるようにし、企図される特定の使用に適するように様々な修正を加えて基礎となる原理および様々な実装形態を最大限に活用するために、選択され説明されたものである。したがって、本開示の範囲が、開示された実装形態の特定の例に限定されるものではないこと、また修正および他の実装形態が本開示の範囲内に含まれるよう意図されていることが理解されるべきである。
図1
図2
図3
図4A
図4B
図4C
図4D
図4E
図5A
図5B
図5C
図5D
図6
図7
図8
図9
図10
図11A
図11B
図11C
図11D
図11E
図11F
図12A
図12B
図12C
図12D
図13
図14
図15
図16
図17
【手続補正書】
【提出日】2024-03-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
イントラ予測符号化モード(intra prediction coding mode)を用いた映像復号のための方法であって、
前記イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、復号器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のための前記PDPC演算に基づいて、前記1つまたは複数の映像ブロックの予測サンプル値(prediction sample value)を決定するステップであって、前記PDPC演算が、境界参照サンプル(boundary reference sample)の組合せに基づいて前記1つまたは複数のイントラ予測の結果を修正する、ステップと、
前記イントラ予測符号化モードでの前記PDPC演算を統一するために、前記復号器によって、前記1つまたは複数の映像ブロックの前記1つまたは複数のイントラ予測において直流(DC)モードまたは平面モードが適用されるとの判定に応答して、前記DCモードまたは前記平面モードのための前記PDPC演算を無効にするステップと
を含む、方法。
【請求項2】
前記イントラ予測符号化モードが、テンプレート・ベースのイントラ・モード導出(TIMD)モード、復号器側イントラ・モード導出(DIMD)モード、または多方向イントラ予測(MDIP)モードを含む、請求項1に記載の映像復号のための方法。
【請求項3】
前記復号器が、前記TIMDモードでの融合(fusion)の後に前記DCモードまたは前記平面モードのための前記PDPC演算を無効にする、請求項2に記載の映像復号のための方法。
【請求項4】
前記復号器が、前記DIMDモードでの融合の前に前記平面モードのための前記PDPC演算を無効にする、請求項2に記載の映像復号のための方法。
【請求項5】
イントラ予測符号化モードを用いた映像復号のための方法であって、
前記イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、復号器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のための前記PDPC演算に基づいて、前記1つまたは複数の映像ブロックの予測サンプル値を決定するステップであって、前記PDPC演算が、境界参照サンプルの組合せに基づいて前記1つまたは複数のイントラ予測の結果を修正する、ステップと、
前記イントラ予測符号化モードでの前記PDPC演算を統一するために、前記復号器によって、前記1つまたは複数の映像ブロックの前記1つまたは複数のイントラ予測において角度モードが適用されるとの判定に応答して、前記角度モードのための前記PDPC演算を無効にするステップと
を含む、方法。
【請求項6】
前記イントラ予測符号化モードが、テンプレート・ベースのイントラ・モード導出(TIMD)モード、復号器側イントラ・モード導出(DIMD)モード、または多方向イントラ予測(MDIP)モードを含む、請求項5に記載の映像復号のための方法。
【請求項7】
前記復号器が、前記DIMDモードでの融合の前に前記角度モードのための前記PDPC演算を無効にする、請求項6に記載の映像復号のための方法。
【請求項8】
イントラ予測符号化モードを用いた映像符号化のための方法であって、
前記イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、符号化器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のための前記PDPC演算に基づいて、前記1つまたは複数の映像ブロックの予測サンプル値を決定するステップであって、前記PDPC演算が、境界参照サンプルの組合せに基づいて前記1つまたは複数のイントラ予測の結果を修正する、ステップと、
前記イントラ予測符号化モードでの前記PDPC演算を統一するために、前記符号化器によって、前記1つまたは複数の映像ブロックの前記1つまたは複数のイントラ予測において直流(DC)モードまたは平面モードが適用されるとの判定に応答して、前記DCモードまたは前記平面モードのための前記PDPC演算を無効にするステップと
を含む、方法。
【請求項9】
前記イントラ予測符号化モードが、テンプレート・ベースのイントラ・モード導出(TIMD)モード、復号器側イントラ・モード導出(DIMD)モード、または多方向イントラ予測(MDIP)モードを含む、請求項に記載の映像符号化のための方法。
【請求項10】
前記符号化器が、前記TIMDモードでの融合の後に前記DCモードまたは前記平面モードのための前記PDPC演算を無効にする、請求項に記載の映像符号化のための方法。
【請求項11】
前記符号化器が、前記DIMDモードでの融合の前に前記平面モードのための前記PDPC演算を無効にする、請求項に記載の映像符号化のための方法。
【請求項12】
イントラ予測符号化モードを用いた映像符号化のための方法であって、
前記イントラ予測符号化モードでの位置依存イントラ予測組合せ(PDPC)演算を統一するために、符号化器によって、1つまたは複数の映像ブロックの1つまたは複数のイントラ予測のための前記PDPC演算に基づいて、前記1つまたは複数の映像ブロックの予測サンプル値を決定するステップであって、前記PDPC演算が、境界参照サンプルの組合せに基づいて前記1つまたは複数のイントラ予測の結果を修正する、ステップと、
前記イントラ予測符号化モードでの前記PDPC演算を統一するために、前記符号化器によって、前記1つまたは複数の映像ブロックの前記1つまたは複数のイントラ予測において角度モードが適用されるとの判定に応答して、前記角度モードのための前記PDPC演算を無効にするステップと
を含む、方法。
【請求項13】
前記イントラ予測符号化モードが、テンプレート・ベースのイントラ・モード導出(TIMD)モード、復号器側イントラ・モード導出(DIMD)モード、または多方向イントラ予測(MDIP)モードを含む、請求項12に記載の映像符号化のための方法。
【請求項14】
符号化器が、前記DIMDモードでの融合の前に前記角度モードのための前記PDPC演算を無効にする、請求項13に記載の映像符号化のための方法。
【請求項15】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成されたメモリと
を備える装置であって、前記1つまたは複数のプロセッサは、前記命令の実行時に、請求項1から14のいずれかに記載の前記方法を実行するように構成される、装置。
【請求項16】
1つまたは複数のコンピュータ・プロセッサによって実行されたときに前記1つまたは複数のコンピュータ・プロセッサに請求項1から14のいずれかに記載の前記方法を実行させるコンピュータ実行可能命令を記憶するための、非一過性コンピュータ可読記憶媒体。
【請求項17】
コンピュータ実行可能命令を記憶するコンピュータ・プログラム製品であって、実行されたとき、1つまたは複数のプロセッサに請求項1から14のいずれかに記載の前記方法を実行させる、コンピュータ・プログラム製品。
【請求項18】
請求項1から7のいずれかに記載の前記復号方法によって復号されたビットストリームを記憶する方法、または請求項8から14のいずれかに記載の前記符号化方法によって生成されたビットストリーム。
【請求項19】
請求項1から7のいずれかに記載の前記復号方法によって復号されたビットストリームを受信する方法。
【請求項20】
請求項8から14のいずれかに記載の前記符号化方法によって生成されたビットストリームを送信する方法。
【国際調査報告】