(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-29
(54)【発明の名称】デコーダ側イントラモード導出のための方法およびデバイス
(51)【国際特許分類】
H04N 19/11 20140101AFI20240822BHJP
H04N 19/147 20140101ALI20240822BHJP
H04N 19/176 20140101ALI20240822BHJP
H04N 19/46 20140101ALI20240822BHJP
H04N 19/593 20140101ALI20240822BHJP
【FI】
H04N19/11
H04N19/147
H04N19/176
H04N19/46
H04N19/593
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024510531
(86)(22)【出願日】2022-08-26
(85)【翻訳文提出日】2024-02-20
(86)【国際出願番号】 US2022041762
(87)【国際公開番号】W WO2023034152
(87)【国際公開日】2023-03-09
(32)【優先日】2021-08-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(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
5C159MA19
5C159PP16
5C159RC11
5C159TA31
5C159TB08
5C159TC10
5C159TD16
5C159UA02
5C159UA05
(57)【要約】
ビデオ復号のための方法、装置、および非一過性コンピュータ可読記憶媒体が提供される。1つの方法では、デコーダは、デコーダ側イントラモード導出(DIMD)モードおよびテンプレートベースのイントラモード導出(TIMD)モードにおいて適用される融合方式を決定し、融合方式は、DIMDモードおよびTIMDモードでの予測子の加重平均として適用される。
【特許請求の範囲】
【請求項1】
ビデオ復号のための方法であって、
デコーダによって、デコーダ側イントラモード導出(DIMD)モードおよびテンプレートベースのイントラモード導出(TIMD)モードにおいて適用される融合方式を決定することを含み、前記融合方式が前記DIMDモードおよび前記TIMDモードでの予測子の加重平均として適用される、方法。
【請求項2】
前記DIMDモードで採用された前記融合方式モードを前記TIMDモードに適用することをさらに含む、請求項1に記載のビデオ復号のための方法。
【請求項3】
平面モード、および前記TIMDモードにおいて最も小さい絶対変換差分和(SATD)コストを有する2つのモードを、融合の前記予測子として選択することと、
前記平面モードおよび前記最も小さいSATDコストを有する前記2つのモードの前記加重平均を決定することであって、前記平面モードの重みが、前記融合において固定され、残りの重みが、前記2つのモードのそれぞれの前記SATDコストに基づいて前記2つのモード間で共有されること、をさらに含む、請求項2に記載のビデオ復号のための方法。
【請求項4】
前記TIMDモードで採用された前記融合方式モードを前記DIMDモードに適用することをさらに含む、請求項1に記載のビデオ復号のための方法。
【請求項5】
前記DIMDモードで最も高い配向勾配ヒストグラム(HoG:histogram of oriented gradient)バーを有する2つのモードを融合の前記予測子として選択することと、
前記2つのモードの前記HoGバーの振幅に基づいて、前記融合における前記2つのモードの前記加重平均を決定すること、をさらに含む、請求項4に記載のビデオ復号のための方法。
【請求項6】
前記最も高いHoGバーの最大値が0に等しいとの決定に応答して、現在ブロックのイントラ予測モードとしてデフォルトモードを選択することをさらに含む、請求項5に記載のビデオ復号のための方法。
【請求項7】
前記TIMDモードまたは前記DIMDモードにおける前記融合方式の選択結果を受信することをさらに含む、請求項1に記載のビデオ復号のための方法。
【請求項8】
前記デコーダによって、前記DIMDモードがブロックに適用されるかどうかを示す信号伝達フラグ(signaled flag)を受信するステップと、
前記デコーダによって、前記DIMDモードが前記ブロックに適用されるとの決定に応答して、前記ブロックに適用される前記融合方式を示す別の信号伝達フラグを受信するステップと
をさらに含む、請求項7に記載のビデオ復号のための方法。
【請求項9】
デコーダ側イントラモード導出(DIMD)を用いたビデオ復号のための方法であって、
デコーダによって、前記DIMDモードにおいて融合方式が適用されるかどうかを決定することであって、前記融合方式が前記DIMDモードでの予測子の加重平均として適用されることと、
前記デコーダによって、前記DIMDモードにおいて前記融合方式が適用されるかどうかに基づいて、前記DIMDモードから導出されたイントラモードをイントラ最確モード(MPM)のリストに追加すべきかどうかを決定すること、
を含む、方法。
【請求項10】
前記DIMDモードから導出されたイントラモードをMPMの前記リストに追加すべきかどうかを決定することが、
前記DIMDモードにおいて前記融合方式が適用されるとの決定に応答して、前記DIMDモードから導出された前記イントラモードをMPMの前記リストの候補として追加することと、
前記DIMDモードにおいて前記融合方式が適用されないとの決定に応答して、前記DIMDモードから導出された前記イントラモードをMPMの前記リストの前記候補として追加しないこと、を含む、請求項9に記載のビデオ復号のための方法。
【請求項11】
テンプレートベースのイントラモード導出(TIMD)を用いたビデオ復号のための方法であって、
デコーダによって、前記TIMDモードから導出されたイントラモードをイントラ最確モード(MPM)のリストに追加すべきかどうかを決定すること、
を含む、方法。
【請求項12】
デコーダ側イントラモード導出(DIMD)モードから導出されたイントラモードが前記MPMの前記リストの候補として追加されないとの決定に応答して、前記TIMDモードから導出された前記イントラモードをMPMの前記リストの前記候補として追加することをさらに含む、請求項11に記載のビデオ復号のための方法。
【請求項13】
前記デコーダによって、前記TIMDモードにおいて融合方式が適用されるかどうかに基づいて、前記TIMDモードから導出されたイントラモードをMPMのリストに追加すべきかどうかを決定することをさらに含む、請求項11に記載のビデオ復号のための方法。
【請求項14】
前記TIMDモードにおいて前記融合方式が適用されるとの決定に応答して、前記TIMDモードから導出された前記イントラモードをMPMの前記リストの候補として追加することと、
前記TIMDモードにおいて前記融合方式が適用されないとの決定に応答して、前記TIMDモードから導出された前記イントラモードをMPMの前記リストの前記候補として追加しないステップと、をさらに含む、請求項13に記載のビデオ復号のための方法。
【請求項15】
ビデオ復号のための装置であって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含み、
前記1つまたは複数のプロセッサが、前記命令の実行時に、請求項1から14のいずれかに記載の前記方法を実行するように構成される、装置。
【請求項16】
1つまたは複数のコンピュータプロセッサによって実行されたときに前記1つまたは複数のコンピュータプロセッサに請求項1から14のいずれかに記載の前記方法を実行させるコンピュータ実行可能命令を記憶する、ビデオ復号のための非一過性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年8月30日に出願された仮出願第63/238,774号に基づき、当該仮出願に対する優先権を主張するものであり、当該仮出願の内容全体は、あらゆる目的で参照により本明細書に組み込まれる。
本開示は、ビデオの符号化および圧縮に関する。より詳細には、本開示は、デコーダ側イントラモード導出(DIMD:decoder-side intra mode derivation)に関する。
【背景技術】
【0002】
デジタルビデオは、デジタルテレビ、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、スマートフォン、ビデオ電話会議デバイス、ビデオストリーミングデバイスなど、様々な電子デバイスによってサポートされている。電子デバイスは、通信ネットワークを介してデジタルビデオデータを送信および受信するか、もしくは他の方法で通信し、かつ/またはデジタルビデオデータを記憶デバイスに記憶する。通信ネットワークの帯域幅容量に制限があるため、また記憶デバイスのメモリ・リソースに制限があるため、ビデオデータが通信または記憶される前に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)符号化などを含む。ビデオ符号化は、一般に、ビデオデータに固有の冗長性を活用する予測方法(例えば、インター予測、イントラ予測など)を利用する。ビデオ符号化は、ビデオ品質の低下を回避または最小化しながら、ビデオデータをより低いビットレートを使用する形式に圧縮することを目的としている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示の例は、イントラ予測を使用したビデオ符号化のための方法および装置を提供する。
【課題を解決するための手段】
【0004】
本開示の第1の態様によれば、ビデオ復号のための方法が提供される。方法は、デコーダによって、デコーダ側イントラモード導出(DIMD)モードおよびテンプレートベースのイントラモード導出(TIMD)モードにおいて適用される融合方式を決定することを含んでもよく、融合方式は、DIMDモードおよびTIMDモードでの予測子の加重平均として適用される。
【0005】
本開示の第2の態様によれば、デコーダ側イントラモード導出(DIMD)を用いたビデオ復号のための方法が提供される。方法は、デコーダによって、DIMDモードにおいて融合方式が適用されるかどうかを決定することであって、融合方式がDIMDモードでの予測子の加重平均として適用されることと、デコーダによって、DIMDモードからイントラ最確モード(MPM)のリストにイントラモードを導出すべきかどうかを決定することと、を含んでもよい。
【0006】
本開示の第3の態様によれば、テンプレートベースのイントラモード導出(TIMD)を用いたビデオ復号のための方法が提供される。方法は、デコーダによって、TIMDモードからイントラ最確モード(MPM)のリストにイントラモードを導出すべきかどうかを決定することを含んでもよい。
【0007】
上記の概略的な説明および以下の詳細な説明は、単に例示的かつ説明的なものであり、本開示を限定することを意図したものではないことを理解されたい。
【0008】
本明細書に組み込まれ本明細書の一部を構成する添付図面は、本開示と一致する例を示し、説明とともに本開示の原理を説明する役割を果たす。
【図面の簡単な説明】
【0009】
【
図1】本開示のいくつかの実装形態に係るビデオブロックを符号化および復号するための例示的なシステムを示すブロック図である。
【
図2】本開示のいくつかの実装形態に係る例示的なビデオエンコーダを示すブロック図である。
【
図3】本開示のいくつかの実装形態に係る例示的なビデオデコーダを示すブロック図である。
【
図4A】本開示のいくつかの実装形態に係るフレームが異なるサイズおよび形状の複数のビデオブロックにどのように再帰的に区分されるかを示すブロック図である。
【
図4B】本開示のいくつかの実装形態に係るフレームが異なるサイズおよび形状の複数のビデオブロックにどのように再帰的に区分されるかを示すブロック図である。
【
図4C】本開示のいくつかの実装形態に係るフレームが異なるサイズおよび形状の複数のビデオブロックにどのように再帰的に区分されるかを示すブロック図である。
【
図4D】本開示のいくつかの実装形態に係るフレームが異なるサイズおよび形状の複数のビデオブロックにどのように再帰的に区分されるかを示すブロック図である。
【
図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を用いたビデオ復号処理を示すブロック図である。
【
図12A】本開示のいくつかの実装形態に係るDIMDを用いたビデオ復号処理を示すブロック図である。
【
図12B】本開示のいくつかの実装形態に係るDIMDを用いたビデオ復号処理を示すブロック図である。
【
図12C】本開示のいくつかの実装形態に係るDIMDを用いたビデオ復号処理を示すブロック図である。
【
図13】本開示のいくつかの実装形態に係るユーザインターフェースと結合されたコンピューティング環境を示すブロック図である。
【
図14】本開示のいくつかの実装形態に係るビデオ復号処理を示すブロック図である。
【
図15】本開示のいくつかの実装形態に係るDIMDを用いたビデオ復号処理を示すブロック図である。
【発明を実施するための形態】
【0010】
次に、例示的な実施形態を詳細に参照するが、その実施形態の例は添付の図面に示されている。以下の説明は添付の図面を参照しており、別段の記載がない限り、異なる図面における同じ番号は同じまたは類似の要素を表す。例示的な実施形態の以下の説明に記載される実装形態は、本開示に則したすべての実装形態を表すものではない。むしろ、その実装形態は、添付の特許請求の範囲に記載される本開示に関連する態様に則した装置および方法の単なる例である。
【0011】
本開示で使用される用語は、特定の実施形態を説明することのみを目的としており、本開示を限定するよう意図されたものではない。単数形「a」、「an」、および「the」は、本開示および添付の特許請求の範囲で使用されるとき、文脈上明らかに別段の指示がない限り複数形も含むよう意図されている。本明細書で使用される「および/または」という用語は、関連する列挙された項目の1つまたは複数の任意またはすべての可能な組合せを意味するように、またそれらを含むように意図されていることも理解されたい。
【0012】
本明細書において「第1の」、「第2の」、「第3の」などの用語は様々な情報を説明するために使用され得るが、これらの用語によってその情報が限定されるべきではないことを理解されたい。これらの用語は、情報の1つのカテゴリを別のカテゴリと区別するためにのみ使用される。例えば、本開示の範囲から逸脱することなく、第1の情報は第2の情報と称されることがあり、同様に、第2の情報は第1の情報と称されることがある。「場合」という用語は、本明細書で使用されるとき、文脈に応じて「ときに」、「に際して」、または「判断に応じて」を意味すると理解され得る。
【0013】
ビデオデータを圧縮するために、様々なビデオ符号化技法が使用されることがある。ビデオ符号化は、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)は、中国のオーディオおよびビデオ符号化標準ワークグループによって開発された別のビデオ圧縮標準シリーズである。既存のビデオ符号化標準のほとんどは、有名なハイブリッドビデオ符号化フレームワークに基づいて、すなわち、ビデオ画像またはシーケンスに存在する冗長性を削減するためのブロックベースの予測方法(例えば、インター予測、イントラ予測)を使用して、また予測誤差のエネルギーをコンパクト化するための変換符号化を使用して、構築されている。ビデオ符号化技法の重要な目標は、ビデオ品質の低下を回避または最小化しながら、ビデオデータをより低いビットレートを使用する形式に圧縮することである。
【0014】
第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グループによって維持されている。
【0015】
図1は、本開示のいくつかの実装形態に係る、ビデオブロックを並行して符号化および復号するための例示的なシステム10を示すブロック図である。
図1に示されるように、システム10は、宛先デバイス14によって後で復号されるビデオデータを生成および符号化するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップまたはラップトップコンピュータ、タブレットコンピュータ、スマートフォン、セットトップ・ボックス、デジタルテレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイスなどを含む、多種多様な電子デバイスのいずれかを含んでもよい。いくつかの実装形態では、ソースデバイス12および宛先デバイス14にはワイヤレス通信機能が装備されている。
【0016】
いくつかの実装形態では、宛先デバイス14は、復号対象となる符号化済みビデオデータを、リンク16を介して受信してもよい。リンク16は、符号化済みビデオデータをソースデバイス12から宛先デバイス14に移動することが可能な任意のタイプの通信媒体またはデバイスを備えてもよい。一例において、リンク16は、ソースデバイス12が符号化済みビデオデータを宛先デバイス14にリアルタイムで直接送信できるようにする通信媒体を備えてもよい。符号化済みビデオデータは、ワイヤレス通信プロトコルなどの通信標準に従って変調され、宛先デバイス14に送信されてもよい。通信媒体は、無線周波数(RF:Radio Frequency)スペクトルまたは1つもしくは複数の物理伝送線など、任意のワイヤレスまたはワイヤード通信媒体を含んでもよい。通信媒体は、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはインターネットなどのグローバル・ネットワークなど、パケットベースのネットワークの一部を形成してもよい。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするのに有用であり得る任意の他の機器を含んでもよい。
【0017】
いくつかの他の実装形態では、符号化済みビデオデータは、出力インターフェース22から記憶デバイス32に送信されてもよい。その後、記憶デバイス32内の符号化済みビデオデータは、入力インターフェース28を介して宛先デバイス14によってアクセスされてもよい。記憶デバイス32は、ハードドライブ、ブルーレイディスク、デジタル多用途ディスク(DVD)、コンパクトディスク読み取り専用メモリ(CD-ROM)、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化済みビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、分散されたまたはローカルにアクセスされる様々なデータ記憶媒体のいずれかを含んでもよい。さらなる例では、記憶デバイス32は、ソースデバイス12によって生成された符号化済みビデオデータを保持することができるファイルサーバまたは別の中間記憶デバイスに対応してもよい。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイス32から、記憶されたビデオデータにアクセスしてもよい。ファイルサーバは、符号化済みビデオデータを記憶し、符号化済みビデオデータを宛先デバイス14に送信することが可能な任意のタイプのコンピュータであってもよい。例示的なファイルサーバは、ウェブサーバ(例えば、ウェブサイト用)、ファイル転送プロトコル(FTP:File Transfer Protocol)サーバ、ネットワーク接続ストレージ(NAS:Network Attached Storage)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、ワイヤレスチャネル(例えば、ワイヤレスフィデリティ(Wi-Fi)接続)、ワイヤード接続(例えば、デジタル加入者線(DSL:Digital Subscriber Line)、ケーブル・モデムなど)、またはファイルサーバに記憶されている符号化済みビデオデータにアクセスするのに好適な両方の組合せを含む任意の標準データ接続を通じて、符号化済みビデオデータにアクセスしてもよい。記憶デバイス32からの符号化済みビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであってもよい。
【0018】
図1に示されるように、ソースデバイス12は、ビデオソース18、ビデオエンコーダ20、および出力インターフェース22を含む。ビデオソース18は、ビデオ捕捉デバイス、例えば、ビデオカメラ、以前に捕捉されたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、またはそのようなソースの組合せなどのソースを含んでもよい。一例として、ビデオソース18がセキュリティ監視システムのビデオカメラである場合、ソースデバイス12および宛先デバイス14は、カメラ電話またはビデオ電話を形成してもよい。しかしながら、本出願で説明される実装形態は、一般にビデオ符号化に適用可能であってもよく、ワイヤレスおよび/またはワイヤード・アプリケーションに適用可能であってもよい。
【0019】
捕捉されたビデオ、事前に捕捉されたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化されてもよい。符号化済みビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信されてもよい。符号化済みビデオデータはまた(または代替として)、復号および/または再生のために宛先デバイス14または他のデバイスによって後でアクセスするために、記憶デバイス32に記憶されてもよい。出力インターフェース22は、モデムおよび/または送信機をさらに含んでもよい。
【0020】
宛先デバイス14は、入力インターフェース28、ビデオデコーダ30、およびディスプレイデバイス34を含む。入力インターフェース28は、受信機および/またはモデムを含み、リンク16を介して、符号化済みビデオデータを受信してもよい。リンク16を介して通信されるまたは記憶デバイス32上に提供される符号化済みビデオデータは、ビデオデータを復号する際にビデオデコーダ30によって使用するための、ビデオエンコーダ20によって生成される様々な構文要素を含んでもよい。このような構文要素は、通信媒体上で送信される、記憶媒体上に記憶される、またはファイルサーバ上に記憶される、符号化済みビデオデータ内に含まれてもよい。
【0021】
いくつかの実装形態では、宛先デバイス14は、ディスプレイデバイス34を含んでもよく、ディスプレイデバイス34は、一体化されたディスプレイデバイス、および宛先デバイス14と通信するように構成された外部ディスプレイデバイスであってもよい。ディスプレイデバイス34は、復号されたビデオデータをユーザに表示し、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマ・ディスプレイ、有機発光ダイオード(OLED:Organic Light Emitting Diode)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのいずれかを備えてもよい。
【0022】
ビデオエンコーダ20およびビデオデコーダ30は、VVC、HEVC、MPEG-4、Part10、AVC、またはそのような標準の拡張などの独自の標準または業界標準に従って動作してもよい。本出願は特定のビデオ符号化/復号標準に限定されず、他のビデオ符号化/復号標準にも適用可能であることを理解されたい。ソースデバイス12のビデオエンコーダ20が、これらの現在または将来の標準のいずれかに従ってビデオデータを符号化するように構成され得ることが一般に企図されている。同様に、宛先デバイス14のビデオデコーダ30が、これらの現在または将来の標準のいずれかに従ってビデオデータを復号するように構成され得ることも一般に企図されている。
【0023】
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、様々な好適な符号化器および/またはデコーダ回路のいずれかとして実装されてもよい。電子デバイスは、ソフトウェアにおいて部分的に実装される場合、ソフトウェア用の命令を好適な非一過性コンピュータ可読媒体に記憶し、1つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行して、本開示で開示されたビデオ符号化/復号動作を実施してもよい。ビデオエンコーダ20およびビデオデコーダ30のそれぞれは、1つもしくは複数の符号化器またはデコーダに含まれてもよく、そのいずれも、それぞれのデバイス内の組み合わされた符号化器/デコーダ(CODEC:combined encoder/decoder)の一部として統合されてもよい。
【0024】
図2は、本出願で説明されるいくつかの実装形態に係る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオフレーム内のビデオブロックのイントラ予測符号化およびインター予測符号化を実施してもよい。イントラ予測符号化は、空間予測に依存して、所与のビデオフレームまたはピクチャ内のビデオデータにおける空間的冗長性を削減または除去する。インター予測符号化は、時間予測に依存して、ビデオシーケンスの隣接するビデオフレームまたはピクチャ内のビデオデータにおける時間的冗長性を削減または除去する。「フレーム」という用語は、ビデオ符号化の分野では「画像」または「ピクチャ」という用語と同義語として使用される場合があることに留意されたい。
【0025】
図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つまたは複数に分割されてもよい。
【0026】
ビデオデータメモリ40は、ビデオエンコーダ20の構成要素によって符号化されるビデオデータを記憶してもよい。ビデオデータメモリ40内のビデオデータは、例えば、
図1に示されたビデオソース18から取得されてもよい。DPB64は、ビデオエンコーダ20によって(例えば、イントラ予測符号化モードまたはインター予測符号化モードで)ビデオデータを符号化する際に使用する参照ビデオデータ(例えば、参照フレームまたは参照ピクチャ)を記憶するバッファである。ビデオデータメモリ40およびDPB64は、様々なメモリデバイスのいずれかによって形成されてもよい。様々な例において、ビデオデータメモリ40は、ビデオエンコーダ20の他の構成要素とオンチップであってもよく、または、それらの構成要素に対してオフチップであってもよい。
【0027】
図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)、および/もしくはサブブロックであるかもしくはそれらに対応してもよい。
【0028】
予測処理ユニット41は、誤差結果(例えば、符号化レートおよび歪みのレベル)に基づいて現在のビデオブロックに対して、複数のイントラ予測符号化モードのうちの1つ、または複数のインター予測符号化モードのうちの1つなど、複数の可能な予測符号化モードのうちの1つを選択してもよい。予測処理ユニット41は、結果として得られるイントラ予測符号化ブロックまたはインター予測符号化ブロックを、加算器50に提供して残差ブロックを生成し、加算器62に提供して、後で参照フレームの一部として使用するために符号化ブロックを再構築してもよい。予測処理ユニット41はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのような構文情報などの構文要素をエントロピー符号化ユニット56に提供する。
【0029】
現在のビデオブロックにとって適切なイントラ予測符号化モードを選択するために、予測処理ユニット41内のイントラ予測処理ユニット46は、符号化対象となる現在ブロックと同じフレーム内の1つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測符号化を実行して、空間予測を提供してもよい。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、1つまたは複数の参照フレーム内の1つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測符号化を実行して、時間予測を提供してもよい。ビデオエンコーダ20は、例えば、ビデオデータのブロックごとに適切な符号化モードを選択するために、複数の符号化パスを実行してもよい。
【0030】
いくつかの実装形態では、動き推定ユニット42は、ビデオフレームのシーケンス内の所定のパターンに従って、参照ビデオフレーム内の予測ブロックに対する現在のビデオフレーム内のビデオブロックの変位を示す動きベクトルを生成することによって、現在のビデオフレームのインター予測モードを決定する。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成する処理である。動きベクトルは、例えば、現在フレーム内で符号化されている現在ブロックに対する参照フレーム内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックの変位を示してもよい。所定のパターンは、シーケンス内のビデオフレームをPフレームまたはBフレームとして指定してもよい。イントラBCユニット48は、インター予測のための動き推定ユニット42による動きベクトルの決定と同様の方法で、イントラBC符号化のためのベクトル、例えばブロックベクトルを決定してもよく、または、動き推定ユニット42を利用してブロックベクトルを決定してもよい。
【0031】
ビデオブロックの予測ブロックは、差分絶対値和(SAD:Sum of Absolute Difference)、差分二乗和(SSD:Sum of Square Difference)、または他の差分メトリックによって決定され得る画素差分の観点から、符号化対象となるビデオブロックと厳密に一致するとみなされる参照フレームのブロックもしくは参照ブロックであるか、またはそれらに対応してもよい。いくつかの実装形態では、ビデオエンコーダ20は、DPB64に記憶された参照フレームのサブ整数画素位置の値を算出してもよい。例えば、ビデオエンコーダ20は、参照フレームの1/4画素位置、1/8画素位置、または他の分数画素位置の値を補間してもよい。したがって、動き推定ユニット42は、全体の画素位置および分数画素位置に対する動き探索を実行し、分数画素精度を有する動きベクトルを出力してもよい。
【0032】
動き推定ユニット42は、ビデオブロックの位置を第1の参照フレームリスト(リスト0)または第2の参照フレームリスト(リスト1)から選択された参照フレームの予測ブロックの位置と比較することによって、インター予測符号化フレーム内のビデオブロックの動きベクトルを算出し、参照フレームリストはそれぞれ、DPB64に記憶されている1つまたは複数の参照フレームを識別する。動き推定ユニット42は、算出された動きベクトルを動き補償ユニット44に送り、次いで、エントロピー符号化ユニット56に送る。
【0033】
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを含んでもよい。動き補償ユニット44は、現在のビデオブロックの動きベクトルを受信すると、参照フレームリストのうちの1つにおいて動きベクトルが指し示す予測ブロックの位置を特定し、その予測ブロックをDPB64から取得し、その予測ブロックを加算器50に転送してもよい。次いで、加算器50は、符号化されている現在のビデオブロックの画素値から、動き補償ユニット44によって提供される予測ブロックの画素値を減算することによって、画素差分値の残差ビデオブロックを形成する。残差ビデオブロックを形成する画素差分値は、ルマ差分成分もしくはクロマ差分成分、またはその両方を含んでもよい。動き補償ユニット44はまた、ビデオフレームのビデオブロックを復号する際にビデオデコーダ30によって使用される、ビデオフレームのビデオブロックに関連付けられた構文要素を生成してもよい。構文要素は、例えば、予測ブロックを識別するために使用される動きベクトルを定義する構文要素、予測モードを示す任意のフラグ、または本明細書に記載の任意の他の構文情報を含んでもよい。動き推定ユニット42および動き補償ユニット44は高度に統合されてもよいが、概念的な目的のために別々に図示されていることに留意されたい。
【0034】
いくつかの実装形態では、イントラBCユニット48は、動き推定ユニット42および動き補償ユニット44に関連して上記で説明された方法と同様の方法で、ベクトルを生成して予測ブロックをフェッチしてもよいが、予測ブロックは、符号化されている現在ブロックと同じフレーム内にあり、ベクトルは、動きベクトルではなくブロックベクトルと呼ばれる。具体的には、イントラBCユニット48は、現在ブロックを符号化するために使用するイントラ予測モードを決定してもよい。いくつかの例では、イントラBCユニット48は、例えば別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し、レート歪み分析を通じてそれらの性能をテストしてもよい。次に、イントラBCユニット48は、テストされた様々なイントラ予測モードの中から、使用する適切なイントラ予測モードを選択し、それに応じてイントラモードインジケータを生成してもよい。例えば、イントラBCユニット48は、テストされた様々なイントラ予測モードに対するレート歪み分析を使用してレート歪み値を算出し、テストされたモードの中から、最良のレート歪み特性を有するイントラ予測モードを、使用する適切なイントラ予測モードとして選択してもよい。レート歪み分析は、一般に、符号化ブロックと、符号化ブロックを作成するために符号化された元の符号化されていないブロックとの間の歪み(または誤差)の量、および、符号化ブロックを作成するために使用されたビットレート(すなわち、ビット数)を決定する。イントラBCユニット48は、様々な符号化ブロックの歪みおよびレートから比率を算出して、どのイントラ予測モードがそのブロックに対して最良のレート歪み値を示すかを決定してもよい。
【0035】
他の例では、イントラBCユニット48は、動き推定ユニット42および動き補償ユニット44を全体的または部分的に使用して、本明細書に記載の実装形態に係るイントラBC予測のためのそのような機能を実行してもよい。いずれの事例においても、イントラブロックコピーの場合、予測ブロックは、SAD、SSD、または他の差分メトリックによって決定され得る画素差分の観点から、符号化対象となるブロックと厳密に一致するとみなされるブロックであってもよく、予測ブロックの識別は、サブ整数画素位置の値の算出を含んでもよい。
【0036】
予測ブロックがイントラ予測による同じフレームからのブロックであるか、インター予測による異なるフレームからのブロックであるかに関わらず、ビデオエンコーダ20は、符号化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算することによって残差ビデオブロックを形成し、画素差分値を形成してもよい。残差ビデオブロックを形成する画素差分値は、ルマ成分差分とクロマ成分差分との両方を含んでもよい。
【0037】
イントラ予測処理ユニット46は、上記で説明されたように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測、またはイントラBCユニット48によって実行されるイントラブロックコピー予測の代替として、現在のビデオブロックをイントラ予測してもよい。具体的には、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用するイントラ予測モードを決定してもよい。そのようにするために、イントラ予測処理ユニット46は、例えば別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化してもよく、イントラ予測処理ユニット46(または、いくつかの例では、モード選択ユニット)は、テストされたイントラ予測モードから、使用する適切なイントラ予測モードを選択してもよい。イントラ予測処理ユニット46は、ブロックに対して選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供してもよい。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報をビットストリームに符号化してもよい。
【0038】
予測処理ユニット41がインター予測またはイントラ予測によって現在のビデオブロックの予測ブロックを決定した後、加算器50は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つまたは複数のTUに含まれてもよく、変換処理ユニット52に提供される。変換処理ユニット52は、離散コサイン変換(DCT:Discrete Cosine Transform)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。
【0039】
変換処理ユニット52は、結果として生じる変換係数を量子化ユニット54に送ってもよい。量子化ユニット54は、変換係数を量子化してビットレートをさらに低減する。量子化処理はまた、係数の一部またはすべてに関連付けられたビット深度を低減してもよい。量子化の程度は、量子化パラメータを調整することによって修正されてもよい。いくつかの例では、量子化ユニット54は、次いで、量子化された変換係数を含む行列の走査を実行してもよい。代替として、エントロピー符号化ユニット56が走査を実行してもよい。
【0040】
量子化に続いて、エントロピー符号化ユニット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はまた、符号化されている現在のビデオフレームの動きベクトルおよび他の構文要素をエントロピー符号化してもよい。
【0041】
逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、他のビデオブロックの予測のための参照ブロックを生成するために画素領域において残差ビデオブロックを再構築する。上述されたように、動き補償ユニット44は、DPB64に記憶されたフレームの1つまたは複数の参照ブロックから、動き補償された予測ブロックを生成してもよい。動き補償ユニット44はまた、1つまたは複数の補間フィルタを予測ブロックに適用して、動き推定で使用するためのサブ整数画素値を算出してもよい。
【0042】
加算器62は、再構築された残差ブロックを、動き補償ユニット44によって作成された動き補償された予測ブロックに加算して、DPB64に記憶するための参照ブロックを作成する。次いで、参照ブロックは、イントラBCユニット48、動き推定ユニット42、および動き補償ユニット44によって、後続のビデオフレーム内の別のビデオブロックをインター予測するための予測ブロックとして使用されてもよい。
【0043】
図3は、本出願のいくつかの実装形態に係る、例示的なビデオデコーダ30を示すブロック図である。ビデオデコーダ30は、ビデオデータメモリ79、エントロピー復号ユニット80、予測処理ユニット81、逆量子化ユニット86、逆変換処理ユニット88、加算器90、およびDPB92を含む。予測処理ユニット81はさらに、動き補償ユニット82、イントラ予測ユニット84、およびイントラBCユニット85を含む。ビデオデコーダ30は、
図2に関連してビデオエンコーダ20に関して上記で説明された符号化処理とほぼ逆の復号処理を実行してもよい。例えば、動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルに基づいて予測データを生成してもよく、一方、イントラ予測ユニット84は、エントロピー復号ユニット80から受信されたイントラ予測モードインジケータに基づいて予測データを生成してもよい。
【0044】
いくつかの例では、ビデオデコーダ30のユニットは、本出願の実装形態を実行するようにタスクを課されてもよい。また、いくつかの例では、本開示の実装形態は、ビデオデコーダ30のユニットのうちの1つまたは複数に分割されてもよい。例えば、イントラBCユニット85は、単独で、または動き補償ユニット82、イントラ予測ユニット84、およびエントロピー復号ユニット80などのビデオデコーダ30の他のユニットと組み合わせて、本出願の実装形態を実行してもよい。いくつかの例では、ビデオデコーダ30は、イントラBCユニット85を含まなくてもよく、イントラBCユニット85の機能は、動き補償ユニット82などの予測処理ユニット81の他の構成要素によって実行されてもよい。
【0045】
ビデオデータメモリ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の他の構成要素とオンチップであってもよく、または、それらの構成要素に対してオフチップであってもよい。
【0046】
復号処理中、ビデオデコーダ30は、符号化されたビデオフレームのビデオブロックおよび関連する構文要素を表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30は、ビデオフレーム・レベルおよび/またはビデオブロックレベルで構文要素を受信してもよい。ビデオデコーダ30のエントロピー復号ユニット80は、ビットストリームをエントロピー復号して、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他の構文要素を生成する。次いで、エントロピー復号ユニット80は、動きベクトルまたはイントラ予測モードインジケータおよび他の構文要素を予測処理ユニット81に転送する。
【0047】
ビデオフレームがイントラ予測符号化(I)フレームとしてまたは他のタイプのフレーム内のイントラ符号化予測ブロックに対して符号化されるとき、予測処理ユニット81のイントラ予測ユニット84は、信号伝達されたイントラ予測モード、および現在フレームの以前に復号されたブロックからの参照データに基づいて、現在のビデオフレームのビデオブロックに対する予測データを生成してもよい。
【0048】
ビデオフレームがインター予測符号化(すなわち、BまたはP)フレームとして符号化されるとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他の構文要素に基づいて、現在のビデオフレームのビデオブロックに対する1つまたは複数の予測ブロックを作成する。予測ブロックのそれぞれは、参照フレームリストのうちの1つの中の参照フレームから作成されてもよい。ビデオデコーダ30は、DPB92に記憶された参照フレームに基づくデフォルトの構築技法を使用して、参照フレームリストであるリスト0およびリスト1を構築してもよい。
【0049】
いくつかの例では、ビデオブロックが本明細書に記載のイントラBCモードに従って符号化されるとき、予測処理ユニット81のイントラBCユニット85は、エントロピー復号ユニット80から受信されたブロックベクトルおよび他の構文要素に基づいて、現在のビデオブロックの予測ブロックを作成する。予測ブロックは、ビデオエンコーダ20によって定義された現在のビデオブロックと同じピクチャの再構築された領域内にあってもよい。
【0050】
動き補償ユニット82および/またはイントラBCユニット85は、動きベクトルおよび他の構文要素を解析することによって現在のビデオフレームのビデオブロックの予測情報を決定し、次いで、その予測情報を使用して、復号されている現在のビデオブロックの予測ブロックを作成する。例えば、動き補償ユニット82は、受信された構文要素のいくつかを使用して、ビデオフレームのビデオブロックを符号化するために使用される予測モード(例えば、イントラ予測またはインター予測)、インター予測フレームタイプ(例えば、BまたはP)、フレームの参照フレームリストのうちの1つまたは複数に関する構築情報、フレームの各インター予測符号化ビデオブロックの動きベクトル、フレームの各インター予測符号化ビデオブロックのインター予測ステータス、および現在のビデオフレーム内のビデオブロックを復号するための他の情報を決定する。
【0051】
同様に、イントラBCユニット85は、受信された構文要素のいくつか、例えばフラグを使用して、現在のビデオブロックがイントラBCモードを使用して予測されたこと、フレームのどのビデオブロックが再構築領域内にありDPB92に記憶されるべきであるかに関する構築情報、フレームの各イントラBC予測ビデオブロックのブロックベクトル、フレームの各イントラBC予測ビデオブロックのイントラBC予測ステータス、および現在のビデオフレーム内のビデオブロックを復号するための他の情報を決定してもよい。
【0052】
動き補償ユニット82はまた、ビデオブロックの符号化中にビデオエンコーダ20によって使用される補間フィルタを使用して補間を実行して、参照ブロックのサブ整数画素の補間値を算出してもよい。この場合、動き補償ユニット82は、受信された構文要素からビデオエンコーダ20によって使用される補間フィルタを決定し、その補間フィルタを使用して予測ブロックを作成してもよい。
【0053】
逆量子化ユニット86は、ビデオフレーム内のビデオブロックごとにビデオエンコーダ20によって算出された同じ量子化パラメータを使用して、ビットストリーム内に提供されエントロピー復号ユニット80によってエントロピー復号された量子化変換係数を逆量子化して、量子化度を決定する。逆変換処理ユニット88は、画素領域内の残差ブロックを再構築するために、逆変換、例えば、逆DCT、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用する。
【0054】
動き補償ユニット82またはイントラBCユニット85がベクトルおよび他の構文要素に基づいて現在のビデオブロックの予測ブロックを生成した後、加算器90は、逆変換処理ユニット88からの残差ブロックと動き補償ユニット82およびイントラBCユニット85によって生成された対応する予測ブロックとを加算することによって、現在のビデオブロックの復号されたビデオブロックを再構築する。復号されたビデオブロックをさらに処理するために、加算器90とDPBの間にデブロッキングフィルタ、SAOフィルタ、および/またはALFなどのループ内フィルタ91が配置されてもよい。いくつかの例では、ループ内フィルタ91は省略されてもよく、復号されたビデオブロックは加算器90によってDPB92に直接提供されてもよい。次いで、所与のフレーム内の復号されたビデオブロックは、次のビデオブロックの後続の動き補償に使用される参照フレームを記憶するDPB92に記憶される。DPB92またはDPB92とは別個のメモリデバイスは、
図1のディスプレイデバイス34などのディスプレイデバイス上に後で提示するために、復号されたビデオを記憶してもよい。
【0055】
典型的なビデオ符号化処理では、ビデオシーケンスは、典型的には、順序付けられたフレームまたはピクチャのセットを含む。各フレームは、SL、SCb、およびSCrで示される3つのサンプル配列を含んでもよい。SLは、ルマサンプルの2次元配列である。SCbは、Cbクロマサンプルの2次元配列である。SCrは、Crクロマサンプルの2次元配列である。他の例では、フレームは、単色であってもよく、したがってルマサンプルの2次元配列を1つだけ含む。
【0056】
図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ブロックであってもよい。
【0057】
より良好な性能を実現するために、ビデオエンコーダ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区分がある。
【0058】
いくつかの実装形態では、ビデオエンコーダ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ブロックを生成してもよい。
【0059】
ビデオエンコーダ20は、イントラ予測またはインター予測を使用してPUの予測ブロックを生成してもよい。ビデオエンコーダ20がイントラ予測を使用してPUの予測ブロックを生成する場合、ビデオエンコーダ20は、PUに関連付けられたフレームの復号されたサンプルに基づいてPUの予測ブロックを生成してもよい。ビデオエンコーダ20がインター予測を使用してPUの予測ブロックを生成する場合、ビデオエンコーダ20は、PUに関連付けられたフレーム以外の1つまたは複数のフレームの復号されたサンプルに基づいてPUの予測ブロックを生成してもよい。
【0060】
ビデオエンコーダ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残差ブロックをそれぞれ生成してもよい。
【0061】
さらに、
図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は、単一の変換ブロックと、変換ブロックのサンプルを変換するために使用される構文構造とを含んでもよい。
【0062】
ビデオエンコーダ20は、TUのルマ変換ブロックに1つまたは複数の変換を適用して、TUのルマ係数ブロックを生成してもよい。係数ブロックは変換係数の2次元配列であってもよい。変換係数はスカラ量であってもよい。ビデオエンコーダ20は、TUのCb変換ブロックに1つまたは複数の変換を適用して、TUのCb係数ブロックを生成してもよい。ビデオエンコーダ20は、TUのCr変換ブロックに1つまたは複数の変換を適用して、TUのCr係数ブロックを生成してもよい。
【0063】
ビデオエンコーダ20は、係数ブロック(例えば、ルマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、係数ブロックを量子化してもよい。量子化は、一般に、変換係数を表現するために使用されるデータ量を可能性として削減してさらなる圧縮を実現するために、変換係数が量子化される処理を指す。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示す構文要素をエントロピー符号化してもよい。例えば、ビデオエンコーダ20は、量子化された変換係数を示す構文要素に対してCABACを実行してもよい。最後に、ビデオエンコーダ20は、符号化されたフレームおよび関連データの表現を形成するビットのシーケンスを含むビットストリームを出力してもよく、ビットストリームは、記憶デバイス32に保存されるか、または宛先デバイス14に送信される。
【0064】
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信した後、ビットストリームを解析してビットストリームから構文要素を取得してもよい。ビデオデコーダ30は、ビットストリームから取得された構文要素に少なくとも部分的に基づいてビデオデータのフレームを再構築してもよい。ビデオデータを再構築する処理は、ビデオエンコーダ20によって実行される符号化処理とほぼ逆である。例えば、ビデオデコーダ30は、現在CUのTUに関連付けられた係数ブロックに対して逆変換を実行して、現在CUのTUに関連付けられた残差ブロックを再構築してもよい。ビデオデコーダ30はまた、現在CUのPUの予測ブロックのサンプルを現在CUのTUの変換ブロックの対応するサンプルに加算することによって、現在CUの符号化ブロックを再構築する。ビデオデコーダ30は、フレームの各CUについて符号化ブロックを再構築した後、フレームを再構築してもよい。
【0065】
上述されたように、ビデオ符号化は、主に2つのモード、すなわちフレーム内予測(またはイントラ予測)およびフレーム間予測(またはインター予測)を使用してビデオ圧縮を実現する。IBCはフレーム内予測または第3のモードとみなされ得ることに留意されたい。参照ビデオブロックから現在のビデオブロックを予測するために動きベクトルを使用するので、2つのモードのうち、フレーム間予測の方がフレーム内予測よりも符号化効率に大きく寄与する。
【0066】
しかしながら、ビデオデータ捕捉技術が常に向上しており、ビデオデータの詳細を保持するためのビデオブロックサイズがより微細化されているため、現在フレームの動きベクトルを表現するために必要なデータ量も大幅に増加している。この課題を克服する方法の1つは、空間領域と時間領域との両方における隣接するCUのグループが予測目的のために類似するビデオデータを有するだけでなく、これらの隣接するCU間の動きベクトルも類似しているという事実から恩恵を受けることである。したがって、空間的に隣接するCUおよび/または時間的に同じ場所にあるCUの動き情報を、それらの空間的相関および時間的相関を調査することによって現在CUの動き情報(例えば、動きベクトル)の近似値として使用することが可能であり、これは、現在CUの「動きベクトル予測子(MVP:Motion Vector Predictor)」とも呼ばれる。
【0067】
図3に関連して上記で説明されたように動き推定ユニット42によって決定された現在CUの実際の動きベクトルをビデオビットストリームに符号化する代わりに、現在CUの動きベクトル差分(MVD:Motion Vector Difference)を作成するために、現在CUの実際の動きベクトルから現在CUの動きベクトル予測子が減算される。そうすることにより、動き推定ユニット42によってフレームのCUごとに決定された動きベクトルをビデオビットストリームに符号化する必要がなくなり、ビデオビットストリーム内の動き情報を表現するために使用されるデータ量が大幅に削減される場合がある。
【0068】
符号ブロックのフレーム間予測中に参照フレーム内の予測ブロックを選ぶ処理と同様に、現在CUの空間的に隣接するCUおよび/または時間的に同じ位置にあるCUに関連付けられた潜在的な候補動きベクトルを使用して現在CUの動きベクトル候補リスト(「マージリスト」とも呼ばれる)を構築し、次いで、動きベクトル候補リストから現在CUの動きベクトル予測子として1つの要素を選択するために、ビデオエンコーダ20とビデオデコーダ30との両方によって一連の規則が採用される必要がある。そうすることにより、動きベクトル候補リスト自体をビデオエンコーダ20からビデオデコーダ30に送信する必要がなくなり、ビデオエンコーダ20およびビデオデコーダ30が現在CUを符号化および復号するために動きベクトル候補リスト内の同じ動きベクトル予測子を使用するには、動きベクトル候補リスト内の選択された動きベクトル予測子のインデックスで十分である。
【0069】
位置依存イントラ予測組合せ
VVCでは、DCモード、平面モード、およびいくつかの角度モードのイントラ予測の結果は、位置依存イントラ予測組合せ(PDPC:position dependent intra prediction combination)方法によってさらに修正される。PDPCは、境界参照サンプルとフィルタリングされた境界参照サンプルを用いたHEVCスタイル・イントラ予測との組合せを呼び出すイントラ予測方法である。PDPCは、信号伝達なしで、次のイントラモード、すなわち平面、DC、水平以下のイントラ角度、および垂直以上80以下のイントラ角度に適用される。現在ブロックがBdpcmモードであるか、またはMRLインデックスが0より大きい場合、PDPCは適用されない。
【0070】
イントラ予測モード(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)の上および左の境界に位置する参照サンプルを表す。
【0071】
PDPCがDC、平面、水平、および垂直のイントラモードに適用される場合、HEVC DCモード境界フィルタまたは水平/垂直モード・エッジ・フィルタの場合に必要な追加の境界フィルタは必要ない。DCモードおよび平面モードのPDPC処理は同一である。角度モードの場合、現在の角度モードがHOR_IDXまたはVER_IDXである場合、左または上の参照サンプルはそれぞれ使用されない。PDPCの重みおよびスケール係数は、予測モードおよびブロックサイズに依存する。PDPCは、幅と高さの両方が4以上のブロックに適用される。
【0072】
図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は分数サンプル位置に配置され得る。この場合、最も近い整数のサンプル位置のサンプル値が使用される。
【0073】
前述されたように、イントラ予測サンプルは、フィルタリングされていないまたはフィルタリングされた隣接する参照サンプルのセットから生成され、これは、現在の符号化ブロックとその隣接ブロックとの間のブロック境界に沿って不連続性を生じさせる可能性がある。そのような問題を解決するために、HEVCでは、2タップフィルタ(DCモードの場合)または勾配ベースの平滑化フィルタ(水平予測モードおよび垂直予測モードの場合)を利用して、DC予測モード、水平予測モード(すなわち、モード18)、および垂直予測モード(すなわち、モード50)の予測サンプルの最初の行/列をフィルタリングされていない参照サンプルと組み合わせることによって、境界フィルタリングが適用される。
【0074】
勾配PDPC
VVCでは、いくつかのシナリオの場合、2次参照サンプルが利用できないため、PDPCが適用されない場合がある。水平/垂直モードから拡張された勾配ベースのPDPCが適用される。PDPC重み(wT/wL)、および左/上の境界からの距離に関するPDPC重みにおける減衰を決定するためのnScaleパラメータは、それぞれ水平/垂直モードの対応するパラメータと等しくなるように設定される。2次参照サンプルが分数サンプル位置にある場合、双線形補間が適用される。
【0075】
幾何学的区分モード(GPM:geometric partition mode)
VVCでは、インター予測のために幾何学的区分モードがサポートされている。幾何学的区分モードは、1つのCUレベルフラグによって、1つの特別なマージモードとして信号伝達される。現在のGPM設計では、8×64および64×8を除く、幅と高さとの両方が8以上64以下である可能なCUサイズごとに、GPMモードによって合計64個の区分がサポートされている。
【0076】
このモードが使用される場合、
図6に示されるように、幾何学的に配置された直線によってCUが2つの部分に分裂される。分裂線の位置は、特定の区分の角度およびオフセット・パラメータから数学的に導出される。CU内の幾何学的区分の各部分は、その独自の動きを使用してインター予測され、各区分について単予測(uni-prediction)のみが許容され、すなわち、各部分は、1つの動きベクトルおよび1つの参照インデックスを有する。従来の双予測(bi-prediction)と同様に、各CUに必要な動き補償予測が2つだけであることを保証するために、単予測動き制約が適用される。現在CUに幾何学的区分モードが使用される場合、幾何学的区分の区分モードを示す幾何学的区分インデックス(角度およびオフセット)および2つのマージインデックス(各区分に1つ)がさらに信号伝達される。最大GPM候補サイズの数は、シーケンス・レベルで明示的に信号伝達される。
【0077】
幾何学的区分のエッジに沿った混合
各幾何学的区分がその独自の動きを使用して取得された後、幾何学的区分のエッジの周囲のサンプルを導出するために、2つの単予測信号に混合が適用される。CUの各位置の混合重みは、個々のサンプル位置から対応する区分エッジまでの距離に基づいて導出される。
【0078】
GPM信号伝達設計
現在の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モードに使用される既存の構文要素を示している。
【0079】
【0080】
一方、現在のGPM設計では、2つの単予測マージインデックス、すなわちmerge_gpm_idx0およびmerge_gpm_idx1の2値化のために、切り捨てられた単項符号が使用される。さらに、2つの単予測マージインデックスは同じであることはできないので、2つの単予測マージインデックスの符号語が切り捨てるために異なる最大値が使用され、最大値は、merge_gpm_idx0およびmerge_gpm_idx1に対してそれぞれ、MaxGPMMergeCand-1およびMaxGPMMergeCand-2に等しくなるように設定される。MaxGPMMergeCandは、単予測マージリスト内の候補の数である。
【0081】
GPM/AWPモードが適用される場合、構文merge_gpm_partition_idxを2値ビットの文字列に変換するために、2つの異なる2値化方法が適用される。具体的には、それぞれVVC標準およびAVS3標準における固定長符号および切り捨てられた2値符号によって、構文要素が2値化される。一方、AVS3のAWPモードの場合、2値化のために、異なる最大値が使用される。
【0082】
空間角度重み付け予測(SAWP:Spatial angular weighted prediction)
AVSでは、GPMモードをイントラブロックに拡張する空間角度重み付け予測(SAWP)モード。SAWPモードでは、2つのインター予測ブロックを重み付けする代わりに、2つのイントラ予測ブロックが重み付けされる。2つのイントラ予測ブロックは、イントラ予測モードから選択される2つの異なるイントラ予測モードを使用して予測される。イントラ予測モードは角度モード5~30から選択される。最大サイズは32×32である。SAWPモードのMPM導出のために、通常のイントラモードの2つの最確モード(MPM)が使用される。
【0083】
多方向イントラ予測設計(MDIP:Multi-direction intra prediction)はSAWPと同じ設計精神に従うが、ある特定の設計の詳細に若干の違いがある。
【0084】
デコーダ側イントラモード導出(DIMD)
DIMDは、ルマイントラ予測モード(IPM)がビットストリームを介して送信されないイントラ符号化ツールである。代わりに、IPMは、符号化器およびデコーダにおいて同一の方式で、以前に符号化/復号された画素を使用して導出される。DIMD方法は、テクスチャ勾配処理を実行して2つの最適なモードを導出する。次いで、これらの2つのモードおよび平面モードはブロックに適用され、それらの予測子が加重平均される。DIMDの選択結果は、フラグを使用してイントラ符号化済みブロックのビットストリームにおいて信号伝達される。デコーダでは、DIMDフラグが真である場合、同じ以前に符号化された隣接画素を使用して再構築処理でイントラ予測モードが導出される。真ではない場合、イントラ予測モードは、古典的なイントラ符号化モードと同様にビットストリームから解析される。
【0085】
ブロックのイントラ予測モードを導出するには、最初に、勾配分析を実行することになる隣接画素のセットを選択しなければならない。規範性を目的として、これらの画素は、復号/再構築された画素のプール内にあるべきである。
図7に示されるように、現在ブロックを左にT画素、上にT画素だけ囲むテンプレートを選ぶ。次に、テンプレートの画素に対して勾配分析を実行する。これは、現在ブロックのうちの1つと同一である可能性が高いと仮定する(本方法の中核前提である)、テンプレートの主要な角度方向を決定することを可能にする。したがって、テンプレートとともに畳み込まれる以下の行列、
【数1】
によって定義される単純な3×3のソーベル勾配フィルタを使用する。
【0086】
テンプレートの画素ごとに、これらの2つの行列のそれぞれに、現在画素を中心とし、その8つの直接近傍で構成される3×3ウィンドウを一つ一つ乗算し、その結果を合計する。したがって、現在画素での水平方向および垂直方向の勾配に対応する2つの値Gx(Mxとの乗算から)およびGy(Myとの乗算から)をそれぞれ取得する。
【0087】
図8は、畳み込み処理を示す。青色画素は、現在画素である。(青色を含む)赤色画素は、勾配分析が可能な画素である。灰色画素は、近傍が欠如しているために勾配分析が不可能な画素である。紫色画素は、考慮されたテンプレートの外側の利用可能な(再構築された)画素であり、赤色画素の勾配分析に使用される。(例えば、ブロックがピクチャの境界に近すぎるために)紫色画素が使用できない場合、この紫色画素を使用するすべての赤色画素の勾配分析は実行されない。赤色画素ごとに、GxおよびGyを使用して勾配の強度(G)および配向(O)を、
【数2】
のように計算する。
【0088】
次いで、勾配の配向は、イントラ角度予測モードに変換され、ヒストグラムにインデックス付けするために使用される(最初はゼロに初期化される)。そのイントラ角度モードでのヒストグラム値はGだけ増加する。テンプレート内のすべての赤色画素が処理されると、ヒストグラムは、各イントラ角度モードの勾配強度の累積値を含むことになる。現在ブロックに対して、最も高い2つのヒストグラム・バーに対応するIPMが選択される。ヒストグラム内の最大値が0である場合(勾配分析を行うことができなかったか、またはテンプレートを構成するエリアが平坦であることを意味する)、現在ブロックのイントラ予測モードとしてDCモードが選択される。
【0089】
最も高い2つのHoGバーに対応する2つのIPMは、平面モードと組み合わされる。1つまたは複数の例では、上記の3つの予測子の加重平均として予測融合が適用される。この目的のために、平面の重みは21/64(約1/3)に固定される。その場合、残りの重み43/64(約2/3)は、HoGバーの振幅に比例して2つのHoG IPM間で共有される。
図9はこの処理を視覚化している。
【0090】
導出されたイントラモードはイントラ最確モード(MPM)の1次リストの中に含まれ、したがって、MPMリストが構築される前にDIMD処理が実行される。DIMDブロックの1次導出イントラモードは、ブロックとともに記憶され、隣接ブロックのMPMリスト構築のために使用される。
【0091】
テンプレートベースのイントラモード導出(TIMD:Template-based intra mode derivation)
MPMにおける各イントラモードについて、
図10に示されたテンプレート領域の予測サンプルと再構築サンプルとの間の絶対変換差分の和(SATD:sum of absolute transformed difference)が計算され、最も小さいSATDコストを有する最初の2つのモードを有するイントラモードが選択され、次いで、それらを重みと融合し、そのような重み付けされたイントラ予測は、現在CUを符号化するために使用される。
【0092】
選択された2つのモードのコストは閾値と比較され、テストにおいて、次のようにコスト係数2が適用される。
costMode2<2*costMode1
【0093】
この条件が真である場合、融合が適用され、それ以外の場合、mode1のみが使用される。
【0094】
モードの重みは、次のようにそれらのSATDコストから計算される。
weight1=costMode2/(costMode1+costMode2)
weight2=1-weight1
【0095】
DIMDモードはイントラ予測効率を高めることができるが、その性能をさらに向上させる余地がある。一方、既存のDIMDモードのいくつかの部分も、効率的なコーデック・ハードウェア実装のために簡素化されるか、またはより良好な符号化効率のために改善される必要がある。さらに、その実装の複雑さとその符号化効率の利点との間のトレードオフがさらに改善される必要がある。
【0096】
VVCの最終決定後、JVETグループは、VVCを超える圧縮効率を模索し続けた。JVETによって、VVCテスト・モデル(VTM)上にいくつかの追加の符号化ツールを統合することにより拡張圧縮モデル(ECM)と呼ばれる1つの参照ソフトウェアが維持された。現在のECMでは、イントラモードに応じてPDPCが使用される。DIMDモードの場合、各イントラモードに応じてPDPCが使用される。PDPC方式の2つの異なる位置が使用され、DIMDモードの各イントラモードに適用される。DIMDモードで角度モードが使用されるイントラ予測の場合、予測融合の前にPDPCが適用される。DIMDモードでDCモードまたは平面モードが使用されるイントラ予測の場合、予測融合の後にPDPCが適用される。そのような統一されていない設計は、標準化の観点からは最適ではない可能性がある。
【0097】
同様に、融合方式の2つの異なる設計が利用可能であり、それぞれDIMDおよびTIMDに適用される。それぞれの異なる融合設計は、異なる候補および重み算出に関連付けられる。DIMDが適用されるブロックの場合、最も高い2つのHoGバーに対応する2つのIPMおよび平面モードが、融合のために選択される。また、平面の重みは21/64(約1/3)に固定される。その場合、残りの重み43/64(約2/3)は、HoGバーの振幅に比例して2つのHoG IPM間で共有される。TIMDが適用されるブロックの場合、SATDコストが最も小さい最初の2つのモードを有するイントラモードが選ばれ、それらのSATDコストからモードの重みが計算される。そのような統一されていない設計は、標準化の観点からは最適ではない可能性がある。上記に加えて、様々な融合方式によってその性能をさらに向上させる余地がある。
【0098】
現在のECM設計では、DIMDから導出されたイントラモードは、導出されたイントラモードがDIMDで既に使用されているかどうかに関係なく、イントラ最確モード(MPM)の1次リストの中に含まれる。その性能をさらに向上させる余地がある。
【0099】
本開示では、以前に指摘された問題に対処するために、DIMDモードの既存の設計を簡素化および/またはさらに改善するための方法が提供される。一般に、本開示で提案される技術の主な特徴は、次のように要約される。
【0100】
1).予測融合の前にすべてのイントラ予測にPDPCを適用することによって、DIMDモードにおける角度モードおよびDC/平面モードの下で使用されるPDPCを統一する。そのような方法の一例が、
図12Aのブロック図に示されている。
【0101】
2).予測融合の後にすべてのイントラ予測にPDPCを適用することによって、DIMDモードにおける角度モードおよびDC/平面モードの下で使用されるPDPCを統一する。そのような方法の一例が、
図12Bのブロック図に示されている。
【0102】
3).DIMDモードのすべてのイントラ予測のためのPDPCを無効にすることによって、DIMDモードにおける角度モードおよびDC/平面モードの下で使用されるPDPCを統一する。そのような方法の一例が、
図12Cのブロック図に示されている。
【0103】
4).DIMDモードの下で使用される融合方式をTIMDモードに適用することによって、DIMDモードおよびTIMDモードの下で使用される融合方式を統一する。
【0104】
5).TIMDモードの下で使用される融合方式をDIMDモードに適用することによって、DIMDモードおよびTIMDモードの下で使用される融合方式を統一する。
【0105】
6).融合方式の選択結果を信号伝達することによって、DIMDモードおよびTIMDモードの下で使用される融合方式を統一する。
【0106】
7).導出されたイントラモードがDIMDにおいて既に使用されているかどうかを考慮して、DIMDからイントラ最確モード(MPM)のリストにイントラモードを導出する。
【0107】
8).TIMDからイントラ最確モード(MPM)のリストにイントラモードを導出する。
【0108】
提案された方法は、TIMD/MDIPなどの他のイントラ予測符号化モードにも適用され得ることに留意されたい。TIMDモードに適用される例の別のセットが、
図11A~
図11Cのブロック図に示されている。
図11Aは、TIMDの融合処理の前にすべてのPDPC処理を適用する例を示す。
図11Bは、TIMDの融合処理の後にすべてのPDPC処理を適用する例を示す。
図11Cは、TIMDにおけるすべてのPDPC処理を無効にする例を示す。
【0109】
提案された方法は、組み合わされたインター予測およびイントラ予測と(CIIP:combined inter and intra prediction)などの他の組み合わされたイントラ予測符号化モードおよびインター予測符号化モードにも適用され得ることに留意されたい。
【0110】
開示された方法は、単独でまたは共同で適用され得ることに留意されたい。
【0111】
DIMDにおける角度モードおよびDC/平面モードに使用されるPDPCの調和
【0112】
本開示の1つまたは複数の実施形態によれば、DIMDモードの下で角度モードとDC/平面モードとの両方に対して同じPDPC位置が適用される。この目標を達成するために、様々な方法が使用されてもよい。
【0113】
本開示の一例では、
図12Aに示されるように、DIMDモードでの予測融合の前にPDPC演算を適用することが提案される。言い換えれば、DIMDモードでの予測融合の前に、そのイントラモードに基づいて各イントラ予測モードがPDPCに適用される。
【0114】
本開示の別の例では、
図12Bに示されるように、DIMDモードでの予測融合の後にPDPC演算を適用することが提案される。言い換えれば、特定のモード、例えば、DCモード、平面モードに基づいて、3つの予測子の重み付けされた組合せがPDPCに適用される。一例では、特定のモードは平面モードであり、次いで、DIMDモードでの予測融合の後に平面モードを有するPDPCが適用される。別の例では、最も高いヒストグラム・バーに対応するIPMが特定のモードとして選択され、次いで、DIMDモードでの予測融合の後に特定モードを有するPDPCが適用される。さらに別の例では、2番目に高いヒストグラム・バーに対応するIPMが特定のモードとして選択され、次いで、DIMDモードでの予測融合の後に特定のモードのPDPCが適用される。
【0115】
本開示のさらに別の例では、DIMDモードでのPDPC演算を無効にすることが提案される。言い換えれば、
図12Cに示されるように、DIMDモードではPDPC演算は使用されない。
【0116】
DIMDモードおよびTIMDモードに使用される融合方式の調和
本開示の1つまたは複数の実施形態によれば、DIMDモードとTIMDモードとの両方に対して同じ融合方式が適用される。この目標を達成するために、
図14のブロック図に示されるように、様々な方法が使用されてもよい。融合方式は、DIMDモードおよびTIMDモードにおける予測子の加重平均として適用される。
【0117】
本開示の一例では、
図14のステップ1404に示されるように、DIMDモードの下で使用される融合方式をTIMDモードに適用することが提案される。言い換えれば、TIMDモードの場合、最も小さいSATDコストおよび平面モードを有する最初の2つのモードが融合のための予測子として選択され、予測子の加重平均が算出される。また、平面の重みは21/64(約1/3)に固定される。その場合、残りの重み43/64(約2/3)は、SATDコストの振幅に比例して他の2つのモード間で共有される。
【0118】
本開示の別の例では、
図14のステップ1406に示されるように、TIMDモードの下で使用される融合方式をDIMDモードに適用することが提案される。言い換えれば、DIMDモードの場合、最も高いHoGバーを有する最初の2つのモードが融合のための予測子として選択され、モードの重みは、HoGバーの振幅に比例してHoG IPMから計算される。ヒストグラムにおける最大値が0である場合(勾配分析を行うことができなかったか、またはテンプレートを構成するエリアが平坦であることを意味する)、現在ブロックのイントラ予測モードとして、1つのデフォルトモード、例えば、DCモード、平面モードが選択される。
【0119】
本開示のさらに別の例では、
図14のステップ1408に示されるように、TIMDおよび/またはDIMDモードにおける融合方式の選択結果を信号伝達することが提案される。一例では、所与のCUについて、ブロックがDIMDモードを使用するか否かを示すために、フラグがデコーダに信号伝達される。DIMDモードを使用して符号化される場合、例えば、上記の第1の融合方法または第2の融合方法としてどの融合方式が使用されるかを示すために、1つのフラグがデコーダにさらに信号伝達される。
【0120】
MPMリスト内で使用されるDIMDモードの修正
本開示の別の態様では、導出されたイントラモードが既にDIMDで使用されているかどうかに応じて、DIMDからイントラ最確モード(MPM)のリストにイントラモードを導出することが提案される。本開示の1つまたは複数の実施形態によれば、融合方式がDIMDモードで使用されている場合、DIMDから導出されたイントラモードは、MPMリストの候補として使用されてもよい。言い換えれば、融合方式がDIMDモードで使用されていない場合、DIMDから導出されたイントラモードは、MPMリストの候補として使用されることはできない。
図15は、この処理の一例を示す。ステップ1502において、デコーダは、DIMDモードにおいて融合方式が適用されるかどうかを決定してもよい。ステップ1504において、デコーダは、DIMDモードからイントラ最確モード(MPM)のリストにイントラモードを導出すべきかどうかを決定してもよい。
【0121】
MPMリストで使用されるTIMDモード
本開示の別の態様では、TIMDからイントラ最確モード(MPM)のリストにイントラモードを導出することが提案される。一般に、VVCには、非方向性モード(平面、DC)と65個の角度モードとを含む67個のイントラ予測モードがあり、これらは、ビデオおよび画像のコンテンツに通常存在する様々な方向性構造を効率的にモデル化する。本開示の1つまたは複数の実施形態では、TIMDから導出されたイントラモードは、MPMリストの候補として使用されてもよい。一例では、DIMDから導出されたイントラモードは、MPMリストの候補として使用されることはできないが、TIMDから導出されたイントラモードは、MPMリストの候補として使用されてもよい。
【0122】
本開示の別の態様では、導出されたイントラモードが既にTIMDで使用されているかどうかに応じて、TIMDからイントラ最確モード(MPM)のリストにイントラモードを導出することが提案される。本開示の1つまたは複数の実施形態によれば、融合方式がTIMDモードで使用されている場合、TIMDから導出されたイントラモードは、MPMリストの候補として使用されてもよい。言い換えれば、融合方式がTIMDモードで使用されない場合、TIMDから導出されたイントラモードは、MPMリストの候補として使用されることはできない。1つまたは複数の例では、デコーダは、TIMDモードにおいて融合方式が適用されないとの決定に応答して、TIMDモードから導出されたイントラモードをMPMのリストの候補として追加しない。
【0123】
上記の方法は、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル・ロジック・デバイス(PLD)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子構成要素を含む1つまたは複数の回路を含む装置を使用して実装されてもよい。装置は、上記で説明された方法を実行するために、他のハードウェア構成要素またはソフトウェア構成要素と組み合わせて回路を使用してもよい。上記で開示された各モジュール、サブモジュール、ユニット、またはサブユニットは、1つまたは複数の回路を使用して少なくとも部分的に実装されてもよい。
【0124】
図13は、ユーザインターフェース1650と結合されたコンピューティング環境1610を示す。コンピューティング環境1610は、データ処理サーバの一部であってもよい。コンピューティング環境1610は、プロセッサ1620、メモリ1630、および入出力(I/O)インターフェース1640を含む。
【0125】
プロセッサ1620は、典型的には、表示、データ取得、データ通信、および画像処理に関連する動作など、コンピューティング環境1610の全体的な動作を制御する。プロセッサ1620は、上記で説明された方法におけるステップのすべてまたは一部を実施するよう求める命令を実行するための1つまたは複数のプロセッサを含んでもよい。さらに、プロセッサ1620は、プロセッサ1620と他の構成要素との間の対話を容易にする1つまたは複数のモジュールを含んでもよい。プロセッサは、中央処理ユニット(CPU)、マイクロプロセッサ、シングル・チップ・マシン、グラフィック処理ユニット(GPU)などであってもよい。
【0126】
メモリ1630は、コンピューティング環境1610の動作をサポートするために様々なタイプのデータを記憶するように構成される。メモリ1630は、所定のソフトウェア1632を含んでもよい。そのようなデータの例は、コンピューティング環境1610上で動作される任意のアプリケーションまたは方法のための命令、ビデオデータセット、画像データなどを含む。メモリ1630は、スタティック・ランダム・アクセス・メモリ(SRAM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、プログラマブル読み取り専用メモリ(PROM)、読み取り専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気ディスクまたは光ディスクなど、任意のタイプの揮発性もしくは不揮発性メモリデバイスまたはそれらの組合せを使用することによって実装されてもよい。
【0127】
I/Oインターフェース1640は、プロセッサ1620と、キーボード、クリック・ホイール、ボタンなどの周辺インターフェース・モジュールとの間のインターフェースを提供する。ボタンは、ホーム・ボタン、走査開始ボタン、走査停止ボタンを含んでもよいが、これらに限定されない。I/Oインターフェース1640は、符号化器およびデコーダと結合されてもよい。
【0128】
一実施形態では、例えばメモリ1630内に、コンピューティング環境1610内のプロセッサ1620によって実行可能な、上記で説明された方法を実行するための複数のプログラムを含む非一過性コンピュータ可読記憶媒体も提供される。代替として、非一過性コンピュータ可読記憶媒体は、ビデオデータを復号する際にデコーダ(例えば、
図3のビデオデコーダ30)によって使用するために、例えば上記で説明された符号化方法を使用して符号化器(例えば、
図2のビデオエンコーダ20)によって生成された符号化済みビデオ情報(例えば、1つまたは複数の構文要素を含むビデオ情報)を含むビットストリームまたはデータストリームを記憶していてもよい。非一過性コンピュータ可読記憶媒体は、例えば、ROM、ランダム・アクセス・メモリ(RAM)、CD-ROM、磁気テープ、フロッピー・ディスク、光データ記憶デバイスなどであってもよい。
【0129】
一実施形態では、1つまたは複数のプロセッサ(例えば、プロセッサ1620)と、1つまたは複数のプロセッサによって実行可能な複数のプログラムを記憶している非一過性コンピュータ可読記憶媒体またはメモリ1630とを備えるコンピューティング・デバイスも提供され、1つまたは複数のプロセッサは、複数のプログラムの実行時に、上記で説明された方法を実行するように構成される。
【0130】
一実施形態では、上記で説明された方法を実行するためにコンピューティング環境1610内のプロセッサ1620によって実行可能な、例えばメモリ1630内の複数のプログラムを含むコンピュータ・プログラム製品も提供される。例えば、コンピュータ・プログラム製品は、非一過性コンピュータ可読記憶媒体を含んでもよい。
【0131】
一実施形態では、コンピューティング環境1610は、上記の方法を実行するために、1つまたは複数のASIC、DSP、デジタル信号処理デバイス(DSPD)、プログラマブル・ロジック・デバイス(PLD)、FPGA、GPU、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子構成要素を用いて実装されてもよい。
【0132】
本開示の説明は、例示を目的として提示されたものであり、本開示を網羅することも限定することも意図されていない。前述の説明および関連する図面に提示された教示の恩恵を受ける当業者には、多くの修正、変形、および代替の実装形態が明らかであろう。
【0133】
特に明記されない限り、本開示による方法のステップの順序は、例示のみを意図されており、本開示による方法のステップは、上記で具体的に説明された順序に限定されず、実際の条件に従って変更されてもよい。さらに、本開示による方法のステップのうちの少なくとも1つは、実際の要件に従って調整、結合、または削除されてもよい。
【0134】
例は、本開示の原理を説明し、当業者が様々な実装形態について本開示を理解できるようにし、企図される特定の使用に適するように様々な修正を加えて基礎となる原理および様々な実装形態を最大限に活用するために、選択され説明されたものである。したがって、本開示の範囲が、開示された実装形態の特定の例に限定されるものではないこと、また修正および他の実装形態が本開示の範囲内に含まれるよう意図されていることが理解されるべきである。
【手続補正書】
【提出日】2024-02-20
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0078
【補正方法】変更
【補正の内容】
【0078】
GPM信号伝達設計
現在の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モードに使用される既存の構文要素を示している。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0081
【補正方法】変更
【補正の内容】
【0081】
GPM/AWPモードが適用される場合、構文merge_gpm_partition_idxを2値ビットの文字列に変換するために、2つの異なる2値化方法が適用される。具体的には、それぞれVVC標準およびAVS3標準における固定長符号および切り捨てられた2値符号によって、構文要素が2値化される。一方、AVS3のAWPモードの場合、構文要素の2値化のために、異なる最大値が使用される。
【手続補正3】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ復号のための方法であって、
デコーダによって、デコーダ側イントラモード導出(DIMD)モードおよびテンプレートベースのイントラモード導出(TIMD)モードにおいて適用される融合方式を決定することを含み、前記融合方式が前記DIMDモードおよび前記TIMDモードでの予測子の加重平均として適用される、方法。
【請求項2】
前記DIMDモードで採用された前記融合方式を前記TIMDモードに適用することをさらに含む、請求項1に記載のビデオ復号のための方法。
【請求項3】
平面モード、および前記TIMDモードにおいて最も小さい絶対変換差分和(SATD)コストを有する2つのモードを、前記融合方式の前記予測子として選択することと、
前記平面モードおよび前記最も小さいSATDコストを有する前記2つのモードの前記加重平均を決定することであって、前記平面モードの重みが、前記融合方式において固定され、残りの重みが、前記2つのモードのそれぞれの前記SATDコストに基づいて前記2つのモード間で共有されること、をさらに含む、請求項2に記載のビデオ復号のための方法。
【請求項4】
前記TIMDモードで採用された前記融合方式を前記DIMDモードに適用することをさらに含む、請求項1に記載のビデオ復号のための方法。
【請求項5】
前記DIMDモードで最も高い配向勾配ヒストグラム(HoG:histogram of oriented gradient)バーを有する2つのモードを前記融合方式の前記予測子として選択することと、
前記2つのモードの前記HoGバーの振幅に基づいて、前記融合方式における前記2つのモードの前記加重平均を決定すること、をさらに含む、請求項4に記載のビデオ復号のための方法。
【請求項6】
前記最も高いHoGバーの最大値が0に等しいとの決定に応答して、現在ブロックのイントラ予測モードとしてデフォルトモードを選択することをさらに含む、請求項5に記載のビデオ復号のための方法。
【請求項7】
前記TIMDモードまたは前記DIMDモードにおける前記融合方式の選択結果を受信することをさらに含む、請求項1に記載のビデオ復号のための方法。
【請求項8】
前記デコーダによって、前記DIMDモードがブロックに適用されるかどうかを示す信号伝達フラグ(signaled flag)を受信するステップと、
前記デコーダによって、前記DIMDモードが前記ブロックに適用されるとの決定に応答して、前記ブロックに適用される前記融合方式を示す別の信号伝達フラグを受信するステップと
をさらに含む、請求項7に記載のビデオ復号のための方法。
【請求項9】
デコーダ側イントラモード導出(DIMD)モードを用いたビデオ復号のための方法であって、
デコーダによって、前記DIMDモードにおいて融合方式が適用されるかどうかを決定することであって、前記融合方式が前記DIMDモードでの予測子の加重平均として適用されることと、
前記デコーダによって、前記DIMDモードにおいて前記融合方式が適用されるかどうかに基づいて、前記DIMDモードから導出されたイントラモードをイントラ最確モード(MPM)のリストに追加すべきかどうかを決定すること、
を含む、方法。
【請求項10】
前記DIMDモードから導出されたイントラモードをMPMの前記リストに追加すべきかどうかを決定することが、
前記DIMDモードにおいて前記融合方式が適用されるとの決定に応答して、前記DIMDモードから導出された前記イントラモードをMPMの前記リストの候補として追加することと、
前記DIMDモードにおいて前記融合方式が適用されないとの決定に応答して、前記DIMDモードから導出された前記イントラモードをMPMの前記リストの前記候補として追加しないこと、を含む、請求項9に記載のビデオ復号のための方法。
【請求項11】
テンプレートベースのイントラモード導出(TIMD)モードを用いたビデオ復号のための方法であって、
デコーダによって、前記TIMDモードから導出されたイントラモードをイントラ最確モード(MPM)のリストに追加すべきかどうかを決定すること、
を含む、方法。
【請求項12】
デコーダ側イントラモード導出(DIMD)モードから導出されたイントラモードが前記MPMの前記リストの候補として追加されないとの決定に応答して、前記TIMDモードから導出された前記イントラモードをMPMの前記リストの前記候補として追加することをさらに含む、請求項11に記載のビデオ復号のための方法。
【請求項13】
前記デコーダによって、前記TIMDモードにおいて融合方式が適用されるかどうかに基づいて、前記TIMDモードから導出されたイントラモードをMPMのリストに追加すべきかどうかを決定することをさらに含む、請求項11に記載のビデオ復号のための方法。
【請求項14】
前記TIMDモードにおいて前記融合方式が適用されるとの決定に応答して、前記TIMDモードから導出された前記イントラモードをMPMの前記リストの候補として追加することと、
前記TIMDモードにおいて前記融合方式が適用されないとの決定に応答して、前記TIMDモードから導出された前記イントラモードをMPMの前記リストの前記候補として追加しないステップと、をさらに含む、請求項13に記載のビデオ復号のための方法。
【請求項15】
ビデオ復号のための装置であって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令および復号されるビットストリームを記憶するように構成されたメモリと、を含み、
前記1つまたは複数のプロセッサが、前記命令の実行時に、前記ビットストリームで請求項1から14のいずれかに記載の前記方法を実行するように構成される、装置。
【請求項16】
コンピュータ実行可能命令および復号されるビットストリームを記憶するビデオ復号のための非一過性コンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令が1つまたは複数のコンピュータプロセッサによって実行されたときに前記1つまたは複数のコンピュータプロセッサに前記ビットストリームで請求項1から14のいずれかに記載の前記方法を実行させる、ビデオ復号のための非一過性コンピュータ可読記憶媒体。
【請求項17】
ビットストリームを記憶する方法であって、前記ビットストリームが請求項1から14のいずれかに記載の方法によって使用される、方法。
【請求項18】
1つまたは複数のコンピュータプロセッサによって実行されると、前記1つまたは複数のコンピュータプロセッサに請求項1から14のいずれかに記載の方法を実行させる命令を含む、コンピュータプログラム。
【国際調査報告】