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