(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-15
(54)【発明の名称】パーティションベースの予測のためのシステム、方法及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/119 20140101AFI20250107BHJP
H04N 19/136 20140101ALI20250107BHJP
H04N 19/176 20140101ALI20250107BHJP
【FI】
H04N19/119
H04N19/136
H04N19/176
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024535744
(86)(22)【出願日】2023-03-30
(85)【翻訳文提出日】2024-06-14
(86)【国際出願番号】 US2023016967
(87)【国際公開番号】W WO2023235002
(87)【国際公開日】2023-12-07
(32)【優先日】2022-06-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2023-03-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】ガオ,ハン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP04
5C159RC11
5C159TA12
5C159TB08
5C159TC26
5C159UA02
5C159UA05
(57)【要約】
本明細書で説明される様々な実施形態は、ビデオを符号化及び復号するための方法及びシステムを含む。一側面において、方法は、第1ブロックを含む複数のブロックを含むビデオデータを取得するステップを含む。方法はまた、第1ブロックについて、複数のパーティションモードから第1パーティションモードを識別するステップを含み、ここで複数のパーティションモードは、各々が単一直線の境界を有する第1モードセットと、各々が多重直線の境界を有する第2モードセットとを含む。方法は、第1パーティションモードに従って、第1ブロックを第1セクションと第2セクションにパーティショニングするステップであって、第1パーティションモードは多重直線境界を含むステップと、第1ブロックを再構成するステップであって、第1予測器を使用して第1セクションを再構成することと、第2予測器を使用して第2セクションを再構成することとを含む、ステップと、を更に含む。
【特許請求の範囲】
【請求項1】
1つ以上のプロセッサによって実行されるビデオ復号の方法であって、当該方法は、
第1ブロックを含む複数のブロックを含むビデオデータを取得するステップと、
前記第1ブロックについて、複数のパーティションモードから第1パーティションモードを識別するステップであって、前記複数のパーティションモードは、各々が単一直線の境界を有するパーティションモードの第1セットと、各々が多重直線の境界を有するパーティションモードの第2セットとを含む、ステップと、
第1パーティションモードに従って、前記第1ブロックを第1セクションと第2セクションにパーティショニングするステップであって、前記第1パーティションモードは、前記パーティションモードの第2セットからのものであり、多重直線境界を含む、ステップと、
前記第1ブロックを再構成するステップであって、第1予測器を使用して前記第1セクションを再構成することと、第2予測器を使用して前記第2セクションを再構成することとを含む、ステップと、
を含む、方法。
【請求項2】
前記パーティションモードの第2セットは、前記パーティションモードの第1セットのパーティションモードのうちの2つ以上を組み合わせることによって生成されるパーティションモードを含む、
請求項1に記載の方法。
【請求項3】
前記多重直線境界においてブレンディング操作を実行するステップを更に含む、
請求項1に記載の方法。
【請求項4】
前記ブレンディング操作は、第1ブレンディングを前記第1セクションに適用することと、第2ブレンディングを前記第2セクションに適用することとを含む、
請求項3に記載の方法。
【請求項5】
前記パーティションモードの第2セットは、2つの共役直線ベースのパーティションモードを水平に組み合わせることによって生成されるパーティションモードを含む、
請求項1に記載の方法。
【請求項6】
前記パーティションモードの第2セットは、2つの共役直線ベースのパーティションモードを垂直に組み合わせることによって生成されるパーティションモードを含む、
請求項1に記載の方法。
【請求項7】
前記パーティションモードの第2セットは、垂直線パーティションモードと水平線パーティションモードとを組み合わせることによって生成される第2パーティションモードを含む、
請求項1に記載の方法。
【請求項8】
第1パーティションモードに従って、前記第1ブロックを第1セクションと第2セクションにパーティショニングするステップは、
前記多重直線境界を前記第1ブロックに適用するステップと、
前記多重直線境界をシフトさせるステップと、
前記シフトされた多重直線境界に従って、前記第1セクションと前記第2セクションを識別するステップと、
請求項1に記載の方法。
【請求項9】
前記複数のブロックのうちの第2ブロックについて、第2パーティションモードを識別するステップであって、前記第2パーティションモードは、2つ以上の隣接するブロックのパーティション線に基づいて決定される、ステップと、
前記第2パーティションモードに従って前記第2ブロックをパーティショニングするステップと、
を更に含む、請求項1に記載の方法。
【請求項10】
前記複数のパーティションモードは、エンコーダによって明示的にシグナリングされる、
請求項1に記載の方法。
【請求項11】
前記パーティションモードの第2セットは、デコーダ構成要素によって導出される、
請求項1に記載の方法。
【請求項12】
前記パーティションモードの第2セットは、2つ以上の予測器の勾配に基づいて導出される、
請求項11に記載の方法。
【請求項13】
前記複数のブロックのうちのあるブロックについて、解析されたパーティションモードが、エンコーダ構成要素から取得され、導出されたパーティションモードが、デコーダ構成要素で生成され、
当該方法は、
前記解析されたパーティションモードと前記導出されたパーティションモードのそれぞれのコストを決定するステップと、
前記解析されたパーティションモードがより低いコストを有するとの判断に従って、前記解析されたパーティションモードを使用して前記ブロックをパーティショニングするステップと、
前記導出されたパーティションモードがより低いコストを有するとの判断に従って、前記導出されたパーティションモードを使用して前記ブロックをパーティショニングするステップと、
を更に含む、請求項1に記載の方法。
【請求項14】
コンピューティングシステムであって、
制御回路と、
メモリと、
前記メモリに記憶され、前記制御回路によって実行されるように構成される1つ以上の命令セットと、
を備え、前記1つ以上の命令セットは、前記制御回路によって実行されると、前記制御回路に、請求項1乃至13のいずれかに記載の方法を実行させる命令を含む、コンピューティングシステム。
【請求項15】
制御回路によって実行されると、該制御回路に、請求項1乃至13のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本出願は、2022年6月2日に出願された「GPM and Wedge-Based Prediction Improvements with Polygonal and L-Shape Partitioning」と題する米国仮特許出願第63/348,171号に対する優先権を主張し、2023年3月29日に出願された「Systems and Methods for Partition-Based Predictions」と題する米国特許出願第18/128,213号の継続であり、その優先権を主張するものであり、そのすべては、参照によりその全体が本明細書に組み込まれる。
【0002】
[技術分野]
開示される実施形態は、一般に、ビデオコーディングに関し、これに限定されないが、パーティションベースの予測(partition-based predictions)のためのシステム及び方法を含む。
【背景技術】
【0003】
デジタルビデオは、デジタルテレビ、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタルレコーディングデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、スマートフォン、ビデオテレカンファレンスデバイス、ビデオストリーミングデバイス等のような様々な電子デバイスによってサポートされる。電子デバイスは、通信ネットワークを介してデジタルビデオデータを送受信するか、他の方法で通信し、かつ/又はデジタルビデオデータをストレージデバイスに記憶する。通信ネットワークの帯域幅容量が限られていること、及びストレージデバイスのメモリ資源が限られていることにより、ビデオデータが通信又は記憶される前に、ビデオコーディングを使用して、1つ以上のビデオコーディング規格に従ってビデオデータを圧縮することがある。
【0004】
複数のビデオコーデック規格が開発されている。例えばビデオコーディング規格は、AOMedia Video 1(AV1)、Versatile Video Coding(VVC)、Joint Exploration test Model(JEM)、High-Efficiency Video Coding(HEVC/H.265)、Advanced Video Coding(AVC/H.264)、Moving Picture Expert Group(MPEG)コーディングを含む。ビデオコーディングは、一般に、ビデオデータに固有の冗長性を利用する予測方法(例えばインター予測、イントラ予測等)を用いる。ビデオコーディングは、ビデオ品質の劣化を回避又は最小限に抑えながら、ビデオデータをより低いビットレートを使用する形式に圧縮することを目的とする。
【0005】
H.265としても知られているHEVCは、MPEG-Hプロジェクトの一部として設計されたビデオ圧縮規格である。ITU-T及びISO/IECは、HEVC/H.265規格を、2013年(バージョン1)、2014年(バージョン2)、2015年(バージョン3)及び2016年(バージョン4)に発表した。H.266としても知られるVersatile Video Coding(VVC)は、HEVCの後継として意図されたビデオ圧縮規格である。ITU-T及びISO/IECは、VVC/H.266規格を、2020年(バージョン1)及び2022年(バージョン2)に発表した。AV1は、HEVCの代替として設計されたオープンビデオコーディングフォーマットである。2019年1月8日に、仕様の正誤表1を含む検証済みバージョン1.0.0がリリースされた。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示は、ビデオビットストリームのデコーダによって使用されて、復号の品質及び/又は効率を改善することができる、様々な技術を説明する。また、ビデオエンコーダが、符号化中にこれらの技術を実装することもできる(例えば符号化フレームを再構成するため、かつ/又は仮説をテストするため)。
【課題を解決するための手段】
【0007】
ビデオコーディングプロセス中に、ビデオデータはブロックに分離される。本開示において、「ブロック」という用語は、後でより詳細に説明されるように、予測ブロック、コーディングブロック又はコーディングユニット(CU)と解釈されてよい。ブロックを幾何学的にパーティショニングすることは、ビデオオブジェクトの2次元ジオメトリを考慮に入れる。パーティショニング後、ブロックの各セクションに対して異なる動き予測器を使用することができる。非可逆圧縮の場合、このパーティショニングアプローチは、より複雑なオブジェクトの品質を向上させる。
【0008】
いくつかの実施形態によると、ビデオ復号の方法が提供される。本方法は:(i)第1ブロックを含む複数のブロックを含むビデオデータを取得するステップと;(ii)第1ブロックについて、複数のパーティションモードから第1パーティションモードを識別するステップであって、複数のパーティションモードは、各々が単一直線の境界を有する第1モードセットと、各々が多重直線境界を有する第2モードセットとを含む、ステップと;(iii)第1パーティションモードに従って、第1ブロックを第1セクションと第2セクションにパーティショニングするステップであって、第1パーティションモードは、多重直線境界を含む、ステップと;(iv)第1ブロックを再構成するステップであって、第1予測器を使用して第1セクションを再構成することと、第2予測器を使用して第2セクションを再構成することとを含む、ステップと、を含む。
【0009】
いくつかの実施形態によると、ストリーミングシステム、サーバシステム、パーソナルコンピュータシステム又は他の電子デバイスのようなコンピューティングシステムが提供される。コンピューティングシステムは、制御回路と、1つ以上の命令セットを記憶するメモリとを含む。1つ以上の命令セットは、本明細書で説明される方法のいずれかを実行するための命令を含む。いくつかの実施形態では、コンピューティングシステムは、エンコーダ構成要素及び/又はデコーダ構成要素を含む。
【0010】
いくつかの実施形態によると、非一時的コンピュータ読取可能記憶媒体が提供される。非一時的コンピュータ読取可能記憶媒体は、コンピューティングデバイスによる実行のための1つ以上の命令セットを記憶する。1つ以上の命令セットは、本明細書で説明される方法のいずれかを実行するための命令を含む。
【0011】
したがって、デバイス及びシステムは、ビデオをコーディングするための方法とともに開示される。このような方法、デバイス及びシステムは、ビデオコーディングのための従来の方法、デバイス及びシステムを補完又は置き換えることができる。
【0012】
本明細書で説明される特徴及び利点は、必ずしもすべてを網羅するものではなく、特に、本開示で提供される図面、明細書及び特許請求の範囲を考慮すると、いくつかの追加の特徴及び利点が当業者には明らかになるであろう。さらに、本明細書で使用される言語は、主に、読みやすさ及び教育目的のために選択されたものであり、本明細書で説明される主題を描写又は限定するために必ずしも選択されていないことに留意されたい。
【図面の簡単な説明】
【0013】
本開示をより詳細に理解することができるように、その一部が添付の図面に示されている様々な実施形態の特徴を参照することによって、より具体的な説明を行うことができる。しかしながら、添付の図面は単に、本開示の関連する特徴を例示するものであり、したがって、説明は、当業者が本開示を読めば理解するような、他の有効な特徴を認めることができるので、必ずしも限定的なものとは見なされるべきではない。
【0014】
【
図1】いくつかの実施形態による、例示的な通信システムを示すブロック図である。
【0015】
【
図2A】いくつかの実施形態による、エンコーダ構成要素の例示的な要素を示すブロック図である。
【0016】
【
図2B】いくつかの実施形態による、デコーダ構成要素の例示的な要素を示すブロック図である。
【0017】
【
図3】いくつかの実施形態による、例示的なサーバシステムを示すブロック図である。
【0018】
【
図4A】いくつかの実施形態による、例示的なコーディングツリー構造を示す図である。
【
図4B】いくつかの実施形態による、例示的なコーディングツリー構造を示す図である。
【
図4C】いくつかの実施形態による、例示的なコーディングツリー構造を示す図である。
【
図4D】いくつかの実施形態による、例示的なコーディングツリー構造を示す図である。
【0019】
【
図5A】いくつかの実施形態による、幾何学的パーティショニングモード予測の例を示す図である。
【0020】
【
図5B】いくつかの実施形態による、例示的なパーティショニングモードブレンディングを示す図である。
【
図5C】いくつかの実施形態による、例示的なパーティショニングモードブレンディングを示す図である。
【0021】
【
図5D】いくつかの実施形態による、例示のウェッジベース(wedge-based)パーティショニングを示す図である。
【0022】
【
図5E】いくつかの実施形態による、例示的な多角形パーティショニングを示す図である。
【
図5F】いくつかの実施形態による、例示的な多角形パーティショニングを示す図である。
【
図5G】いくつかの実施形態による、例示的な多角形パーティショニングを示す図である。
【
図5H】いくつかの実施形態による、例示的な多角形パーティショニングを示す図である。
【0023】
【
図6】いくつかの実施形態による、ビデオを復号する例示的な方法を示すフロー図である。
【0024】
一般的な慣行に従って、図面に示される様々な特徴は、必ずしもスケーリングして描かれておらず、同様の参照番号は、明細書及び図面を通して同様の特徴を示すために使用され得る。
【発明を実施するための形態】
【0025】
本開示は、他の中でも特に、より最適な動き予測及びより高品質の符号化のためにビデオブロックをパーティショニングするための様々なパーティショニング技術の使用を説明する。例えば直線パーティショニングモードは、より複雑なビデオオブジェクトに対しては最適ではない可能性がある。これらの場合、ビデオオブジェクトの形状をよりよく表すL字型又は多角形パーティショニングモードは、動き予測の精度、したがって、ビデオ符号化及び復号の精度を改善し得る。
【0026】
例示的なシステム及びデバイス
図1は、いくつかの実施形態による通信システム100を示すブロック図である。通信システム100は、ソースデバイス102と、1つ以上のネットワークを介して互いに通信可能に結合される複数の電子デバイス120(例えば電子デバイス120-1~電子デバイス120-m)を含む。いくつかの実施形態では、通信システム100は、例えばビデオ会議アプリケーション、デジタルTVアプリケーション及びメディア記憶及び/又は配信アプリケーションのようなビデオ対応アプリケーションとともに使用するためのストリーミングシステムである。
【0027】
ソースデバイス102は、ビデオソース104(例えばカメラ構成要素又はメディアストレージ)及びエンコーダ構成要素106を含む。いくつかの実施形態では、ビデオソース104は、デジタルカメラ(例えば非圧縮ビデオサンプルストリームを作成するように構成される)である。エンコーダ構成要素106は、ビデオストリームから1つ以上の符号化ビデオビットストリームを生成する。ビデオソース104からのビデオストリームは、エンコーダ構成要素106によって生成される符号化ビデオビットストリーム108と比較して、高いデータ量である可能性がある。符号化ビデオビットストリーム108は、ビデオソースからのビデオストリームと比較してデータ量が少ない(データが少ない)ので、符号化ビデオビットストリーム108は、ビデオソース104からのビデオストリームと比較して、送信するために必要な帯域幅が少なく、記憶するために必要な記憶空間が少ない。いくつかの実施形態では、ソースデバイス102は、エンコーダ構成要素106を含まない(例えば非圧縮ビデオデータをネットワーク110に送信するように構成される)。
【0028】
1つ以上のネットワーク110は、ソースデバイス102、サーバシステム112及び/又は電子デバイス120の間で情報を伝達する任意の数のネットワークを表し、例えばワイヤライン(有線)及び/又は無線通信ネットワークを含む。1つ以上のネットワーク110は、回線交換チャネル及び/又はパケット交換チャネルでデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。
【0029】
1つ以上のネットワーク110は、サーバシステム112を含む(例えば分散/クラウドコンピューティングシステム)。いくつかの実施形態では、サーバシステム112は、(例えばソースデバイス102からの符号化ビデオストリームのようなビデオコンテンツを記憶及び/又は配信するように構成される)ストリーミングサーバであるか又はこれを含む。サーバシステム112は、(例えばビデオデータを符号化及び/又は復号するように構成される)コーダ構成要素114を含む。いくつかの実施形態では、コーダ構成要素114は、エンコーダ構成要素及び/又はデコーダ構成要素を含む。様々な実施形態では、コーダ構成要素114は、ハードウェア、ソフトウェア又はそれらの組合せとしてインスタンス化される。いくつかの実施形態では、コーダ構成要素114は、符号化ビデオビットストリーム108を復号し、異なる符号化規格及び/又は方法論を使用してビデオデータを再符号化して、符号化ビデオデータ116を生成するように構成される。いくつかの実施形態では、サーバシステム112は、符号化ビデオビットストリーム108から複数のビデオフォーマット及び/又は符号化を生成するように構成される。
【0030】
いくつかの実施形態では、サーバシステム112は、メディア認識ネットワーク要素(MANE、Media-Aware Network Element)として機能する。例えばサーバシステム112は、潜在的に異なるビットストリームを電子デバイス120のうちの1つ以上に適合させるために、符号化ビデオビットストリーム108をプルーニングするように構成されてよい。いくつかの実施形態では、MANEは、サーバシステム112とは別に提供される。
【0031】
電子デバイス120-1は、デコーダ構成要素122及びディスプレイ124を含む。いくつかの実施形態では、デコーダ構成要素122は、符号化ビデオデータ116を復号して、ディスプレイ又は他のタイプのレンダリングデバイス上でレンダリングすることができる出力ビデオストリームを生成するように構成される。いくつかの実施形態では、電子デバイス120のうちの1つ以上は、ディスプレイ構成要素を含まない(例えば外部ディスプレイデバイスに通信可能に結合され、かつ/又はメディアストレージを含む)。いくつかの実施形態では、電子デバイス120はストリーミングクライアントである。いくつかの実施形態では、電子デバイス120は、サーバシステム112にアクセスして符号化ビデオデータ116を取得するように構成される。
【0032】
ソースデバイス及び/又は複数の電子デバイス120は、「端末デバイス」又は「ユーザデバイス」とも呼ばれることがある。いくつかの実施形態では、ソースデバイス102及び/又は電子デバイス120のうちの1つ以上は、サーバシステム、パーソナルコンピュータ、ポータブルデバイス(例えばスマートフォン、タブレット又はラップトップ)、ウェアラブルデバイス、ビデオ会議デバイス及び/又は他のタイプの電子デバイスのインスタンスである。
【0033】
通信システム100の例示的な動作では、ソースデバイス102は、符号化ビデオビットストリーム108をサーバシステム112に送信する。例えばソースデバイス102は、ソースデバイスによってキャプチャされたピクチャのストリームをコーディングし得る。サーバシステム112は、符号化ビデオビットストリーム108を受信し、コーダ構成要素114を使用して、符号化ビデオビットストリーム108を復号及び/又は符号化し得る。例えばサーバシステム112は、ネットワーク送信及び/又は記憶にとってより最適な符号化をビデオデータに適用し得る。サーバシステム112は、符号化ビデオデータ116(例えば1つ以上のコーディングされたビデオビットストリーム)を電子デバイス120のうちの1つ以上に送信し得る。各電子デバイス120は、符号化ビデオデータ116を復号して、ビデオピクチャを復元し、任意選択的に表示し得る。
【0034】
いくつかの実施形態では、上述の伝送は、一方向データ伝送である。一方向データ伝送は、メディアサービングアプリケーション等で利用されることがある。いくつかの実施形態では、上述の伝送は、双方向データ伝送である。双方向データ伝送は、ビデオ会議アプリケーション等で利用されることがある。いくつかの実施形態では、符号化ビデオビットストリーム108及び/又は符号化ビデオデータ116は、HEVC、VVC及び/又はAV1のような、本明細書に記載されるビデオコーディング/圧縮規格のいずれかに従って符号化及び/又は復号される。
【0035】
図2Aは、いくつかの実施形態によるエンコーダ構成要素106の例示的な要素を示すブロック図である。エンコーダ構成要素106は、ビデオソース104からソースビデオシーケンスを受信する。いくつかの実施形態では、エンコーダ構成要素は、ソースビデオシーケンスを受信するように構成された受信機(例えばトランシーバ)構成要素を含む。いくつかの実施形態では、エンコーダ構成要素106は、リモートビデオソース(例えばエンコーダ構成要素106とは異なるデバイスの構成要素であるビデオソース)からビデオシーケンスを受信する。ビデオソース104は、ソースビデオシーケンスを、任意の適切なビット深度(例えば8ビット、10ビット、12ビット、...)、任意の色空間(例えばBT.601 YCrCB又はRGB)及び任意の適切なサンプリング構造(例えばYCrCb 4:2:0、YCrCb 4:4:4)とすることができるデジタルビデオサンプルストリームの形態で提供し得る。いくつかの実施形態では、ビデオソース104は、事前にキャプチャ/準備されたビデオを記憶するストレージデバイスである。いくつかの実施形態では、ビデオソース104は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラである。ビデオデータは、シーケンスで見るときに動きを伝える複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間アレイとして編成されてよく、この場合、各ピクセルは、使用中のサンプリング構造、色空間等に応じて1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てている。
【0036】
エンコーダ構成要素106は、リアルタイムで又はアプリケーションによって要求される任意の他の時間制約の下で、ソースビデオシーケンスのピクチャをコーディング及び/又は圧縮して、コーディングされたビデオシーケンス216にするように構成される。適切なコーディング速度を実施することは、コントローラ204の1つの機能である。いくつかの実施形態では、コントローラ204は、以下で説明されるように、他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。コントローラ204によって設定されるパラメータは、レート制御関連パラメータ(例えばピクチャスキップ、量子化器及び/又はレート歪み最適化技術のラムダ値)、ピクチャサイズ、グループオブピクチャ(GOP)のレイアウト、最大動きベクトル探索範囲等を含み得る。当業者は、コントローラ204の他の機能が特定のシステム設計のために最適化されているエンコーダ構成要素106と関係する可能性があるので、コントローラ204の他の機能を容易に識別することができる。
【0037】
いくつかの実施形態において、エンコーダ構成要素106は、コーディングループで動作するように構成される。簡略化された例では、コーディングループは、ソースコーダ202(例えばコーディングされるべき入力ピクチャ及び参照ピクチャに基づいて、シンボルストリームのようなシンボルを作成することを担当する)と、(ローカル)デコーダ210とを含む。デコーダ210は、(シンボルと、コーディングされたビデオビットストリームとの間の圧縮が可逆であるときに)(リモート)デコーダと同様の方法でサンプルデータを作成するように、シンボルを再構成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ208に入力され得る。シンボルストリームの復号は、デコーダ位置(ローカル又はリモート)とは独立のビット正確な結果(bit-exact results)をもたらすので、参照ピクチャメモリ208のコンテンツも、ローカルエンコーダとリモートエンコーダとの間でビット正確である。このように、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが予測するのと同じサンプル値を参照ピクチャサンプルとして解釈する。参照ピクチャのシンクロニシティ(synchronicity)のこの基本原理(及び例えばチャネルエラーのためにシンクロニシティを維持することができない場合の結果として生じるドリフト)は、当業者に公知である。
【0038】
デコーダ210の動作は、デコーダ構成要素122のようなリモートデコーダと同じものとすることができ、デコーダ構成要素122は、
図2Bに関連して以下で詳細に説明される。しかしながら、
図2Bを簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ214及びパーサ254によるコーディングされたビデオシーケンスへのシンボルの符号化/復号は可逆であり得るので、バッファメモリ252及びパーサ254を含むデコーダ構成要素122のエントロピー復号部分は、ローカルデコーダ210では完全には実装されないことがある。
【0039】
この時点でなされ得る観察は、デコーダに存在する解析/エントロピー復号を除く任意のデコーダ技術は、対応するエンコーダにおいて、実質的に同一の機能形態で存在する必要があり得る。この理由から、開示される主題はデコーダの動作に焦点を当てる。エンコーダ技術の説明は、網羅的に説明されるデコーダ技術の反対であり得るので、省略される可能性がある。特定のエリアのみにおいて、より詳細な説明が以下で必要とされ、提供される。
【0040】
その動作の一部として、ソースコーダ202は、動き補償予測コーディングを実行してよく、動き補償予測コーディングは、参照フレームとして指定されたビデオシーケンスからの1つ以上の以前にコーディングされたフレームに関連して予測的に入力フレームをコーディングする。このようにして、コーディングエンジン212は、入力フレームのピクセルブロックと、入力フレームに対する予測参照として選択され得る参照フレームのピクセルブロックとの間の差をコーディングする。コントローラ204は、例えばビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ202のコーディング動作を管理し得る。
【0041】
デコーダ210は、ソースコーダ202によって作成されたシンボルに基づいて、参照フレームして指定され得るフレームのコーディングされたビデオデータを復号し得る。コーディングエンジン212の動作は、有利には、非可逆プロセスであり得る。コーディングされたビデオデータがビデオデコーダ(
図2Aには図示せず)で復号されるとき、再構成ビデオシーケンスは、いくつかの誤差を伴うソースビデオシーケンスのレプリカであり得る。デコーダ210は、参照フレームに対してリモートビデオデコーダによって実行され得る復号プロセスを複製し、再構成参照フレームを参照ピクチャメモリ208に記憶させ得る。このようにして、エンコーダ構成要素106は、(伝送誤差なしに)リモートビデオデコーダによって取得される再構成参照フレームとして、共通のコンテンツを有する再構成参照フレームのコピーを、ローカルに記憶する。
【0042】
予測器206は、コーディングエンジン212について予測探索を実行し得る。すなわち、コーディングされるべき新しいフレームについて、予測器206は、サンプルデータ(候補参照ピクセルブロックとして)又は参照ピクチャ動きベクトル、ブロック形状等のような特定のメタデータについて、参照ピクチャメモリ208を探索してよく、これらのデータは、新しいピクチャのための適切な予測参照として機能し得る。予測器206は、適切な予測参照を見つけるために、サンプルブロックとピクセルブロックごと(sample block-by-pixel block basis)に動作し得る。場合によっては、予測器206によって取得される検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ208に記憶された複数の参照ピクチャから引き出された予測参照を有してよい。
【0043】
前述の機能ユニットのすべての出力は、エントロピーコーダ214におけるエントロピーコーディングの対象となり得る。エントロピーコーダ214は、当業者に公知の技術(例えばハフマンコーディング、可変長コーディング及び/又は算術コーディング)に従ってシンボルに可逆圧縮することによって、様々な機能ユニットによって生成されるシンボルを、コーディングされたビデオシーケンスに変換する。
【0044】
いくつかの実施形態において、エントロピーコーダ214の出力は送信機に結合される。送信機は、エントロピーコーダ214によって作成されるコーディングされたビデオシーケンスをバッファして、通信チャネル218を介した伝送のためにこれらを準備してよく、通信チャネル218は、符号化ビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクであってよい。送信機は、ソースコーダ202からのコーディングされたビデオデータを、送信されるべき他のデータ、例えばコーディングされたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)とマージし得る。いくつかの実施形態では、送信機は、符号化されたビデオとともに追加データを送信してもよい。ソースコーダ202は、コーディングされたビデオシーケンスの一部としてそのようなデータを含んでよい。追加データは、時間/空間/SNR強化レイヤ、冗長ピクチャ及びスライス、補足強化情報(SEI)メッセージ、ビジュアルユーザビリティ情報(VUI)パラメータセットフラグメント等のような他の形式の冗長データを含んでもよい。
【0045】
コントローラ204は、エンコーダ構成要素106の動作を管理し得る。コーディングの間、コントローラ204は、各コーディングされたピクチャに、特定のコーディングピクチャタイプ(coded picture type)を割り当ててよく、該コーディングピクチャタイプは、それぞれのピクチャに適用され得るコーディングに影響を与え得る。例えばピクチャは、しばしば、イントラピクチャ(Iピクチャ)、予測ピクチャ(Pピクチャ)又は双方向予測ピクチャ(Bピクチャ)として割り当てられ得る。イントラピクチャは、予測のソースとしてシーケンス内のいずれの他のフレームも使用せずにコーディング及び復号され得る。いくつかのビデオコーデックは、例えば独立デコーダリフレッシュ(IDR、Independent Decoder Refresh)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形並びにそれらのそれぞれの用途及び特徴を知っており、したがって、ここでは繰り返さない。予測ピクチャは、各ブロックのサンプル値を予測するために、最大1つの動きベクトルと参照インデックスを用いて、イントラ予測又はインター予測を使用して、コーディング及び復号され得る。双方向予測ピクチャは、各ブロックのサンプル値を予測するために、最大2つの動きベクトルと参照インデックスを用いて、イントラ予測又はインター予測を使用して、コーディング及び復号され得る。同様に、複数予測ピクチャ(multiple-predictive pictures)は、単一のブロックの再構成のために、2つより多くの参照ピクチャ及び関連するメタデータを使用することができる。
【0046】
ソースピクチャは、通常、空間的に複数のサンプルブロック(例えば各々4×4、8×8、4×8又は16×16サンプルのブロック)に細分され、ブロックごとにコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされた)ブロックに関連して予測的にコーディングされ得る。例えばIピクチャのブロックは、非予測的にコーディングされてもよく、あるいはそれらは、同じピクチャの既にコーディングされたブロックに関連して予測的にコーディングされてもよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの以前にコーディングされた参照ピクチャに関連して、空間予測を介して又は時間予測を介して非予測的にコーディングされ得る。Bピクチャのブロックは、1つ又は2つの以前にコーディングされた参照ピクチャに関連して、空間予測を介して又は時間予測を介して非予測的にコーディングされ得る。
【0047】
ビデオは、時系列で複数のソースピクチャ(ビデオピクチャ)としてキャプチャされ得る。イントラピクチャ予測(しばしばイントラ予測と略される)は、所与のピクチャにおける空間相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、符号化/復号中の特定のピクチャ(現在のピクチャと呼ばれる)は、ブロックにパーティショニングされる。現在のピクチャ内のブロックが、ビデオ内の以前にコーディングされ、まだバッファされている参照ピクチャ内の参照ブロックに類似しているとき、現在のピクチャ内のブロックを、動きベクトルと呼ばれるベクトルによって符号化することができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有することができる。
【0048】
エンコーダ構成要素106は、本明細書で説明される任意のものなど、所定のビデオコーディング技術又は規格に従ってコーディング動作を実行し得る。その動作において、エンコーダ構成要素106は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行し得る。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術又は規格によって指定された構文に準拠し得る。
【0049】
図2Bは、いくつかの実施形態によるデコーダ構成要素122の例示的な要素を示すブロック図である。
図2Bのデコーダ構成要素122は、チャネル218及びディスプレイ124に結合される。いくつかの実施形態では、デコーダ構成要素122は、ループフィルタユニット256に結合され、かつ(例えば有線又は無線接続を介して)データをディスプレイ124に送信するように構成される送信機を含む。
【0050】
いくつかの実施形態では、デコーダ構成要素122は、チャネル218に結合され、かつ(例えば有線又は無線接続を介して)チャネル218からデータを受信するように構成される、受信機を含む。受信機は、デコーダ構成要素122によって復号される1つ以上のコーディングされたビデオシーケンスを受信するように構成され得る。いくつかの実施形態では、各コーディングされたビデオシーケンスの復号は、他のコーディングされたビデオシーケンスから独立している。各コーディングされたビデオシーケンスは、チャネル218から受信されてよく、該チャネル218は、符号化ビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクである。受信機は、符号化ビデオデータを、他のデータ、例えばコーディングされたオーディオデータ及び/又は補助データストリームとともに受信することがあり、これらのデータは、エンティティ(図示せず)を使用してそれぞれに転送され得る。受信機は、コーディングされたビデオシーケンスを他のデータから分離し得る。いくつかの実施形態では、受信機は、符号化ビデオとともに追加の(冗長な)データを受信する。追加データは、コーディングされたビデオシーケンスの一部として含まれてもよい。追加データは、データを復号し、かつ/又は元のビデオデータをより正確に再構成するために、デコーダ構成要素122によって使用され得る。追加データは、例えば時間、空間又はSNR強化層、冗長スライス、冗長ピクチャ、順方向誤り訂正符号等の形態とすることができる。
【0051】
いくつかの実施形態によると、デコーダ構成要素122は、バッファメモリ252、パーサ254(エントロピーデコーダと呼ばれることもある)、スケーラ/逆変換ユニット258、イントラピクチャ予測ユニット262、動き補償予測ユニット260、アグリゲータ268、ループフィルタユニット256、参照ピクチャメモリ266及び現在のピクチャメモリ264を含む。いくつかの実施形態では、デコーダ構成要素122は、集積回路、一連の集積回路及び/又は他の電子回路として実装される。いくつかの実施形態では、デコーダ構成要素122は、少なくとも部分的にソフトウェアで実装される。
【0052】
バッファメモリ252は、チャネル218とパーサ254との間に結合される(例えばネットワークジッタに対抗するために)。いくつかの実施形態では、バッファメモリ252は、デコーダ構成要素122から分離される。いくつかの実施形態では、チャネル218の出力とデコーダ構成要素122との間に別個のバッファメモリが設けられる。いくつかの実施形態では、デコーダ構成要素122の内部のバッファメモリ252(例えば再生タイミングに対処するように構成される)に加えて、別個のバッファメモリが、デコーダ構成要素122の外部に(例えばネットワークジッタに対抗するために)設けられる。十分な帯域幅及び可制御の記憶/転送デバイスから又は等同期ネットワークからデータを受信するとき、バッファメモリ252は必要とされないことがあるか、あるいは小さい可能性がある。インターネットのようなベストエフォートパケットネットワーク上で使用するために、バッファメモリ252は、必要とされることがあり、比較的大きい可能性があり、有利には適応サイズである可能性があり、少なくとも部分的に、デコーダ構成要素122の外部のオペレーティングシステム又は同様の要素(図示せず)内に実装され得る。
【0053】
パーサ254は、コーディングされたビデオシーケンスからシンボル270を再構成するように構成される。シンボルは、例えばデコーダ構成要素122の動作を管理するために使用される情報及び/又はディスプレイ124のようなレンダリングデバイスを制御する情報を含み得る。レンダリングデバイスの制御情報は、例えば補足強化情報(SEI:Supplemental Enhancement Information)メッセージ又はビデオユーザビリティ情報(VUI:Video Usability Information)パラメータセットフラグメント(図示せず)の形態であってよい。パーサ254は、コーディングされたビデオシーケンスを構文解析(エントロピー復号)する。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、文脈依存(context sensitivity)を伴うか伴わない算術コーディング等を含む、当業者に周知の原理に従うことができる。パーサ254は、コーディングされたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのサブグループについてのサブグループパラメータのセットを、グループに対応する少なくとも1つのパラメータに基づいて抽出し得る。サブグループは、グループオブピクチャ(GOPs:Groups of Pictures)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CUs:Coding Units)、ブロック、変換ユニット(TUs:Transform Units)、予測ユニット(PUs:Prediction Units)等を含むことができる。パーサ254はまた、変換係数、量子化パラメータ値、動きベクトル等のようなコーディングされたビデオシーケンス情報から抽出してもよい。
【0054】
シンボル270の再構成は、コーディングされたビデオピクチャ又はその部分のタイプ(例えばインター及びイントラピクチャ、インター及びイントラブロック)及び他のファクタに応じて、複数の異なるユニットに関与することができる。どのユニットが関与するか及びそれらがどのように関与するかは、コーディングされたビデオシーケンスからパーサ254によって構文解析されたサブグループ制御情報によって制御されることができる。パーサ254と下記の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明確性のために図示されていない。
【0055】
既に述べた機能ブロックの他に、デコーダ構成要素122は、以下で説明するように、複数の機能ユニットに概念的に細分されることができる。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に対話し、少なくとも部分的に相互へ統合されることができる。しかしながら、開示される主題を説明する目的のために、以下では、機能ユニットへの概念的な細分化が維持される。
【0056】
スケーラ/逆変換ユニット258は、パーサ254からのシンボル270として、(どの変換を使用すべきか、ブロックサイズ、量子化係数及び/又は量子化スケーリング行列のような)制御情報だけでなく、量子化された変換係数も受け取る。スケーラ/逆変換ユニット258は、アグリゲータ268に入力することができるサンプル値を含むブロックを出力することができる。
【0057】
場合によっては、スケーラ/逆変換ユニット258の出力サンプルは、イントラコーディングされたブロック;すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロック、に関連する。このような予測情報を、イントラピクチャ予測ユニット262によって提供することができる。イントラピクチャ予測ユニット262は、現在のピクチャメモリ264からの現在の(部分的に再構成された)ピクチャからフェッチされる、周囲の既に再構成された情報を使用して、再構成中にブロックとして、同じサイズ及び形状のブロックを生成し得る。アグリゲータ268は、サンプルごとに、イントラピクチャ予測ユニット262が生成した予測情報を、スケーラ/逆変換ユニット258によって提供される出力サンプル情報に追加し得る。
【0058】
他の場合には、スケーラ/逆変換ユニット258の出力サンプルは、インターコーディングされ、かつ潜在的に動き補償されたブロックに関連する。このような場合、動き補償予測ユニット260は、予測に使用されるサンプルをフェッチするために参照ピクチャメモリ266にアクセスすることができる。ブロックに関連するシンボル270に従って、フェッチされたサンプルを動き補償した後、これらのサンプルは、アグリゲータ268によって、スケーラ/逆変換ユニット258の出力(この場合、残差サンプル又は残差信号と呼ばれる)に追加されて、出力サンプル情報を生成することができる。動き補償予測ユニット260が予測サンプルをフェッチする参照ピクチャメモリ266内のアドレスは、動きベクトルによって制御され得る。動きベクトルは、例えばX、Yと参照ピクチャ成分を有することができるシンボル270の形態で、動き補償予測ユニット260に利用可能であり得る。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ266からフェッチされるサンプル値の補間、動きベクトル予測メカニズム等も含むことができる。
【0059】
アグリゲータ268の出力サンプルは、ループフィルタユニット256内の様々なループフィルタリング技術の対象となる可能性がある。ビデオ圧縮技術は、コーディングされたビデオストリームに含まれるパラメータによって制御され、かつパーサ254からシンボル270としてループフィルタユニット256に利用可能にされるループ内フィルタ技術を含むことができるが、また、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(復号順序で)以前の部分の復号中に取得されたメタ情報に応答することもできるとともに、以前に再構成されてループフィルタリングされたサンプル値に応答することができる。
【0060】
ループフィルタユニット256の出力は、ディスプレイ124のようなレンダリングデバイスに出力されることができ、かつ将来のインターピクチャ予測で使用するために参照ピクチャメモリ266内に記憶されることができる、サンプルストリームとすることができる。
【0061】
ある特定のコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用されることができる。現在のコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えばパーサ254によって)参照ピクチャとして識別されると、現在の参照ピクチャは参照ピクチャメモリ266の一部となることができ、フレッシュな現在のピクチャメモリは、後続のコーディングされたピクチャの再構成を開始する前に再割り当てされることができる。
【0062】
デコーダ構成要素122は、本明細書で説明される規格のいずれかのような規格で文書化され得る所定のビデオ圧縮技術に従って復号動作を実行し得る。コーディングされたビデオシーケンスは、ビデオ圧縮技術文書及び規格と、特にその中のプロファイル文書において指定されるように、ビデオ圧縮技術又は規格の構文を守るという意味において、使用されているビデオ圧縮技術又は規格によって指定される構文に準拠し得る。また、いくつかのビデオ圧縮技術及び規格との準拠のために、コーディングされたビデオシーケンスの複雑さは、ビデオ圧縮技術又は規格のレベルによって定義される範囲内にあり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば毎秒メガサンプルで測定される)、最大参照ピクセルサイズ等を制限する。レベルによって設定される限界(limit)は、場合によっては、コーディングされたビデオシーケンスでシグナリングされる仮想リファレンスデコーダ(HRD:Hypothetical Reference Decoder)のバッファ管理のためのHRD仕様及びメタデータを通して更に制限される可能性がある。
【0063】
図3は、いくつかの実施形態によるサーバシステム112を示すブロック図である。サーバシステム112は、制御回路302、1つ以上のネットワークインタフェース304、メモリ314、ユーザインタフェース306及びこれらの構成要素を相互接続するための1つ以上の通信バス312を含む。いくつかの実施形態では、制御回路302は、1つ以上のプロセッサ(例えばCPU、GPU及び/又はDPU)を含む。いくつかの実施形態では、制御回路は、1つ以上のフィールドプログラマブルゲートアレイ(FPGA)、ハードウェアアクセラレータ及び/又は1つ以上の集積回路(例えば特定用途向け集積回路)を含む。
【0064】
ネットワークインタフェース304は、1つ以上の通信ネットワーク(例えば無線、有線及び/又は光ネットワーク)とインタフェースするように構成され得る。通信ネットワークは、ローカル、ワイドエリア、メトロポリタン、車両及び産業用、リアルタイム、遅延耐性等とすることができる。通信ネットワークの例は、イーサネット(登録商標)、無線LAN等のローカルエリアネットワーク、GSM(登録商標)、3G、4G、5G、LTE等を含むセルラネットワーク、ケーブルTV、衛星TV及び地上放送TVを含むTVワイヤライン又は無線ワイドエリアデジタルネットワーク、CANBus等を含む車両及び産業用ネットワークを含む。そのような通信は、一方向の受信専用(例えば放送TV)、一方向の送信専用(例えばあるCANbusから特定のCANbusデバイスへ)又は双方向(例えばローカル又はワイドエリアデジタルネットワークを使用して他のコンピュータシステムへ)であり得る。そのような通信は、1つ以上のクラウドコンピューティングネットワークへの通信を含むことができる。
【0065】
ユーザインタフェース306は、1つ以上の出力デバイス308及び/又は1つ以上の入力デバイス310を含む。入力デバイス310は、キーボード、マウス、トラックパッド、タッチスクリーン、データグローブ、ジョイスティック、マイクロフォン、スキャナ、カメラ等のうちの1つ以上を含み得る。出力デバイス308は、オーディオ出力デバイス(例えばスピーカ)、ビジュアル出力デバイス(例えばディスプレイ又はモニタ)等のうちの1つ以上を含み得る。
【0066】
メモリ314は、高速ランダムアクセスメモリ(DRAM、SRAM、DDR RAM及び/又は他のランダムアクセスソリッドステートメモリデバイス等)及び/又は不揮発性メモリ(1つ以上の磁気ディスクストレージデバイス、光ディスクストレージデバイス、フラッシュメモリデバイス及び/又は他の不揮発性ソリッドステートストレージデバイス等)を含み得る。メモリ314は、任意選択的に、制御回路302からリモートに位置する1つ以上のストレージデバイスを含む。メモリ314、あるいは代替的にメモリ314内の不揮発性ソリッドステートメモリデバイスは、非一時的コンピュータ読取可能記憶媒体を含む。いくつかの実施形態では、メモリ314、又はメモリ314の非一時的コンピュータ読取可能記憶媒体は、以下のプログラム、モジュール、命令及びデータ構造、あるいはそれらのサブセット又はスーパーセットを記憶する:
●様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するためのプロシージャを含むオペレーティングシステム316;
●1つ以上のネットワークインタフェース304を介して(例えば有線及び/又は無線接続を介して)サーバシステム112を他のコンピューティングデバイスに接続するために使用されるネットワーク通信モジュール318;
●ビデオデータのようなデータの符号化及び/又は復号に関する様々な機能を実行するためのコーディングモジュール320。いくつかの実施形態では、コーディングモジュール320は、コーダ構成要素114のインスタンスである。コーディングモジュール320は、これらに限定されないが、以下の1つ以上を含む:
○デコーダ構成要素122に関して前述した機能のような、符号化データの復号に関する様々な機能を実行する復号モジュール322と、
○エンコーダ構成要素106に関して前述した機能のような、データの符号化に関する様々な機能を実行するための符号化モジュール340;
●例えばコーディングモジュール320とともに使用するために、ピクチャ及びピクチャデータを記憶するピクチャメモリ352。いくつかの実施形態では、ピクチャメモリ352は、参照ピクチャメモリ208、バッファメモリ252、現在のピクチャメモリ264及び参照ピクチャメモリ266、のうちの1つ以上を含む。
【0067】
いくつかの実施形態では、復号モジュール322は、構文解析モジュール324(例えばパーサ254に関して前述した様々な機能を実行するように構成される)と、変換モジュール326(例えばスカラー/逆変換ユニット258に関して前述した様々な機能を実行するように構成される)と、予測モジュール328(例えば動き補償予測ユニット260及び/又はイントラピクチャ予測ユニット262に関して前述した様々な機能を実行するように構成される)と、フィルタモジュール330(例えばループフィルタユニット256に関して前述した様々な機能を実行するように構成される)と、を含む。
【0068】
いくつかの実施形態では、符号化モジュール340は、コードモジュール342(例えばソースコーダ202、コーディングエンジン212及び/又はエントロピーコーダ214に関して前述した様々な機能を実行するように構成される)と、予測モジュール344(例えば予測器206に関して前述した様々な機能を実行するように構成される)とを含む。いくつかの実施形態では、復号モジュール322及び/又は符号化モジュール340は、
図3に示されるモジュールのサブセットを含む。例えば共有予測モジュールが復号モジュール322と符号化モジュール340の両方によって使用される。
【0069】
メモリ314に記憶される上記で特定されたモジュールの各々は、本明細書で説明される機能を実行するための命令のセットに対応する。上記で特定されたモジュール(例えば命令のセット)は、別個のソフトウェアプログラム、プロシージャ又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実施形態において組み合わされ、あるいは他の方法で再配置され得る。例えばコーディングモジュール320は、任意選択で、別個の復号モジュール及び符号化モジュールを含まず、むしろ、両方の機能セットを実行するために同じモジュールセットを使用する。いくつかの実施形態では、メモリ314は、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。いくつかの実施形態では、メモリ314は、オーディオ処理モジュールのような、上記で説明されていない追加のモジュール及びデータ構造を記憶する。
【0070】
いくつかの実施形態では、サーバシステム112は、ウェブ又はハイパーテキスト転送プロトコル(HTTP)サーバ、ファイル転送プロトコル(FTP)サーバ、並びに共通ゲートウェイインタフェース(CGI)スクリプト、PHPハイパーテキストプリプロセッサ(PHP)、アクティブサーバページ(ASP)、ハイパーテキストマークアップ言語(HTML)、拡張可能マークアップ言語(XML)、Java(登録商標)、Javaスクリプト、非同期Javaスクリプト及びXML(AJAX)、XHP、Javelin、ワイヤレスユニバーサルリソースファイル(WURFL)等を使用して実装されるウェブページ及びアプリケーションを含む。
【0071】
図3は、いくつかの実施形態によるサーバシステム112を示すが、
図3は、本明細書で説明される実施形態の構造的概略図ではなく、1つ以上のサーバシステムに存在し得る様々な特徴の機能的説明として意図される。実際には、当業者には認識されるように、別個に示される項目を組み合わせることができ、いくつかの項目を分けることができる。例えば
図3に別個に示されているいくつかの項目は、単一のサーバ上で実装されることができ、単一のアイテムは、1つ以上のサーバによってされることができる。サーバシステム112を実装するために使用されるサーバの実際の数、及びそれらの間で機能がどのように割り当てられるかは、1つの実装と別の実装の間で変化し、任意選択で、サーバシステムがピーク使用期間中及び平均使用期間中に処理するデータトラフィックの量に部分的に依存する。
【0072】
例示的なコーディングアプローチ
図4A~
図4Dは、いくつかの実施形態による例示的なコーディングツリー構造を示す。
図4Aの第1コーディングツリー構造(400)に示されるように、いくつかのコーディングアプローチ(例えばVP9)は、64×64レベルから4×4レベルまでの4方向(4-way)パーティションツリーを使用し、ブロック8×8に対していくつかの追加の制限を伴う。
図4Aでは、Rとして示されるパーティションは、同じパーティションツリーが、最も低い4×4レベルに達するまで、より低いスケールで繰り返されるという点で、再帰的と呼ぶことができる。
【0073】
図4Bの第2コーディングツリー構造(402)に示されるように、いくつかのコーディングアプローチ(例えばAV1)は、パーティションツリーを10方向構造に拡張し、128×128から開始するように最大サイズ(例えばVP9/AV1用語でスーパーブロックと呼ばれる)を増加させる。第2コーディングツリー構造は、第1コーディングツリー構造にはない4:1/1:4の矩形パーティションを含む。
図4Bの2行目の3つのサブパーティションを有するパーティションタイプは、T字型パーティションと呼ばれる。このツリー構造の矩形パーティションを更に細分することはできない。コーディングブロックサイズに加えて、ルートノードからの分裂深度を示すためにコーディングツリー深度を定義することができる。例えばルートノードのコーディングツリー深度、例えば128×128は0に設定され、ツリーブロックを更に1回分裂させた後、コーディングツリー深度は1だけ増加する。
【0074】
一例として、VP9のように固定の変換ユニットサイズを強制する代わりに、AV1は、ルマコーディングブロックを、最大2レベルまで下がる再帰的パーティションによって表すことができる複数サイズの変換ユニット(transform unit)にパーティショニングすることを可能にする。AV1の拡張コーディングブロックパーティションを組み込むために、4×4から64×64までの正方形、2:1/1:2及び4:1/1:4の変換サイズがサポートされる。クロマブロックの場合、最も大きい可能な変換ユニットのみが許可される。
【0075】
一例として、CTUは、HEVC等において様々な局所特性に適応するために、コーディングツリーとして示されるクワッドツリー構造を使用することによって、CUに分裂されてもよい。いくつかの実施形態では、ピクチャエリアを、インターピクチャ(時間)を使用してコーディングするか又はイントラピクチャ(空間)予測を使用してコーディングするかの決定は、CUレベルで行われる。各CUを、PU分裂タイプに応じて、1つ、2つ又は4つのPUに更に分裂させることができる。1つのPU内では、同じ予測プロセスが適用され、関連する情報がPUベースでデコーダに送信される。PU分裂タイプに基づく予測プロセスを適用することによって残差ブロックを取得した後、CUのコーディングツリーのような別のクワッドツリー構造に従ってCUをTUにパーティショニングすることができる。HEVC構造の重要な特徴の1つは、CU、PU及びTUを含む複数のパーティション概念を有することである。HEVCでは、CU又はTUは正方形のみとすることができるが、PUは、インター予測されたブロックに対して正方形又は長方形であり得る。HEVCでは、1つのコーディングブロックを4つの正方形のサブブロックに更に分裂させ、各サブブロック(TU)に対して変換を実行する。各TUは、(クワッドツリー分裂を使用して)より小さなTUへと再帰的に更に分裂させることができ、これは残差クワッドツリー(RQT、Residual Quad-Tree)と呼ばれる。HEVCのようなピクチャ境界では、サイズがピクチャ境界に適合するまでブロックがクワッドツリー分裂を維持するように、暗黙的なクワッドツリー分裂を用いてよい。
【0076】
VVC等において、二値及び三値分裂セグメンテーション構造(splits segmentation structure)を使用するネストされたマルチタイプツリーを有するクワッドツリーは、複数のパーティションユニットタイプの概念を置き換えることができ、例えば最大変換長に対して大きすぎるサイズを有するCUに必要とされる場合を除き、CU、PU及びTUの概念の分離を除去し、CUパーティション形状に対して更なる柔軟性をサポートする。コーディングツリー構造では、CUは正方形又は長方形のいずれかの形状を有することができる。ACTUは、最初に四分木(クワッドツリーとも呼ばれる)構造によってパーティショニングされる。四分木リーフノードは、マルチタイプツリー構造によって更にパーティショニングされることができる。
図4Cの第3コーディングツリー構造(404)に示されるように、マルチタイプツリー構造は、4つの分裂タイプを含む。例えばマルチタイプツリー構造は、垂直二値分裂(SPLIT_BT_VER)、水平二値分裂(SPLIT_BT_HOR)、垂直三値分割(SPLIT_TT_VER)、水平三値分割(SPLIT_TT_HOR)を含む。マルチタイプツリーのリーフノードはCUと呼ばれ、CUが最大変換長に対して大きすぎない限り、このセグメンテーションは、更なるパーティショニングを行わずに予測と変換処理に使用される。これは、ほとんどの場合、CU、PU及びTUが、ネストされたマルチタイプツリーコーディングブロック構造を有するクワッドツリーにおいて同じブロックサイズを有することを意味する。サポートされる最大変換長がCUのカラー成分の幅又は高さよりも小さいとき、例外が発生する。1つのCTU(406)のブロックパーティションの例が
図4Dに示されており、これは、ネストされたマルチタイプツリーコーディングブロック構造を有する例示的なクワッドツリーを図示している。
【0077】
VVC等において、サポートされる最大ルマ変換サイズは64×64であってよく、サポートされる最大クロマ変換サイズは32×32であってよい。CBの幅又は高さが最大変換幅又は高さより大きいとき、CBは、その方向の変換サイズ制限を満たすために、水平方向及び/又は垂直方向に自動的に分裂される。
【0078】
コーディングツリースキームは、VTM7等において、ルマとクロマが別個のブロックツリー構造を有する能力をサポートする。場合によっては、P及びBスライスに対して、1つのCTU内のルマ及びクロマCTBは、同じコーディングツリー構造を共有する。しかしながら、Iスライスに対しては、ルマとクロマは別個のブロックツリー構造を有することができる。分離ブロックツリーモードが適用されるとき、ルマCTBは、1つのコーディングツリー構造によってCUにパーティショニングされ、クロマCTBは、別のコーディングツリー構造によってクロマCUにパーティショニングされる。これは、Iスライス内のCUがルマ成分のコーディングブロック又は2つのクロマ成分のコーディングブロックを含むか又はそれらから構成されてよく、ビデオがモノクロでない限り、P又はBスライス内のCUは常に、3つのカラー成分すべてのコーディングブロックを含むか又はそれらから構成されてよいことを意味する。
【0079】
拡張コーディングブロックパーティションをサポートするために、AV1等において、複数の変換サイズ(例えば各次元について4ポイントから64ポイントの範囲)及び変換形状(例えば幅/高さ比が2:1/1:2及び4:1/1:4の正方形又は長方形)が利用され得る。
【0080】
動き推定は、ある画像(ピクチャ)から別の画像への変換を記述する動きベクトルを決定することを含む。参照画像(又はブロック)は、ビデオシーケンス内の隣接フレームからのものとすることができる。動きベクトルは、画像全体(グローバル動き推定)又は特定のブロックに関連することがある。加えて、動きベクトルは、動きを近似する並進モデル又はワープモデル(例えば3次元における回転及び並進とズーム)に対応することができる。推定された動きは、いくつかの状況(例えばより複雑なビデオオブジェクト)では、ブロックを更にパーティショニングすることによって改善されることができる。
【0081】
幾何学的パーティションモード(GPM、geometric partitioning mode)は、インターピクチャ予測されたCUに焦点を当ててよい。GPMがCUに適用されるとき、CUは直線パーティショニング境界を介して2つの部分に分裂される。パーティショニング境界の位置は、角度パラメータφ及びオフセットパラメータρによって数学的に定義され得る。これらのパラメータは、量子化されて、GPMパーティショニングインデックスルックアップテーブルに結合され得る。現在のCUのGPMパーティショニングインデックスは、ビットストリームにコーディングされ得る。例えばサイズがw×h=2k×2l(ルマサンプルに関して)で、l∈{3...6}のCUに対して、64個のパーティショニングモードがVVCのGPMによってサポートされる。例えば狭いCUが幾何学的に分離されたパターンを含むことはまれであるため、GPMは、4:1より大きいか又は1:4より小さいアスペクト比を有するCUに対して無効にされることがある。
【0082】
パーティショニング後、2つのGPMセクション(パーティション)は、現在のCU内の対応するセクションを予測するために使用することができる個々の動き情報を含む。いくつかの実施形態では、GPMの各セクションに対して、一方向動き補償予測(MCP)のみが可能であり、その結果、GPM内のMCPに必要なメモリ帯域幅は、通常の双方向MCPのものと等しい。動き情報コーディングを単純化し、GPMの可能な組合せを減らすために、マージモードで動き情報をコーディングすることができる。GPMマージ候補リストは、従来のマージ候補リストから導出されることができ、一方向動き情報のみが含まれることを保証する。
【0083】
図5Aは、いくつかの実施形態によるGPMの予測プロセスを示す。現在のブロック510は、パーティション516を介して右側のセクションと左側のセクションとにパーティショニングされる。現在のピクチャ502(例えばw×hのサイズを有する)の現在のブロック510(例えばCU)の右側の予測部分は、参照ピクチャ504の参照ブロック512からMV0によって予測され、一方、左側の部分は、参照ピクチャ506の参照ブロック514からMV1によって予測される。
【0084】
図5Bは、いくつかの実施形態による、パーティション(例えばパーティション516)の例示的なブレンディング行列を示す。この例では、最終的なGPM予測(PG)は、例えば0から8の値範囲の重みを含む整数ブレンディング行列W0及びW1を使用するブレンディングプロセスを実行することによって生成される。これを次のように表すことができる:
【数1】
式1において、Jは、w×hのサイズを有するものの行列である。ブレンディング行列の重みは、サンプル位置とパーティション境界との間の変位に依存し得る。ブレンディング行列導出の計算の複雑さは非常に低い可能性があり、したがって、これらの行列をデコーダ側でオンザフライで生成することができる。
【0085】
生成されたGPM予測(PG)を、次いで元の信号から減算して、残差を生成することができる。残差は、例えば通常のVVC変換、量子化及びエントロピーコーディングエンジンを使用して、ビットストリームに変換、量子化及びコーディングされる。デコーダ側では、残差をGPM予測PGに加えることによって信号が再構成される。例えば残差が無視できるときに、スキップモードがGPMによってサポートされることもある。例えば残差はエンコーダによってドロップされ、GPM予測PGは、再構成された信号としてデコーダによって直接使用される。
【0086】
GPMを、例えばGPM+TM、GPM+MMVD及びインター+イントラGPMによって更に強化することができる。
図5Cに示されるように、ブレンディング強度又はブレンディングエリア幅θは、すべての異なるコンテンツに対して固定されてもよい。いくつかの実施形態では、ブレンディングマスク内の重み付け値は、ランプ関数によって与えられる:
【数2】
例えば固定のθ=2である。このランプ関数を次のように量子化することができる:
【数3】
【0087】
固定されたブレンディングエリア幅は、様々なタイプのビデオコンテンツに対して常に最良のブレンディング品質を提供することができるとは限らないので、このような設計は、常に最適であるとは限らない。例えばビデオコンテンツは、通常、強いテクスチャ及び鋭いエッジを含み、これは、エッジ情報を保存するために狭いブレンディングエリアを必要とする。カメラでキャプチャされたコンテンツでは、一般的にブレンディングは必要とされるが、ブレンディングエリア幅は、いくつかの要因、例えば移動するオブジェクトの実際の境界や2つのパーティションの動きの識別性(motion distinctiveness)に依存する可能性がある。
【0088】
この問題に対処するために、GPMに対して適応的なブレンディングスキームを使用することができ、これは、GPMパーティション境界を囲むブレンディングエリアの幅を動的に調整する。例えばブレンディングエリア幅(θ)を、事前定義された値のセット{0,1,2,4,8}から選択することができる。最適なブレンディングエリア幅は、エンコーダにおいて各GPM CUについて決定され、構文要素merge_gpm_blending_width_idxに基づいてデコーダにシグナリングされることができる。例えばすべての事前定義されたブレンディング強度値は、シフト可能とすることができるが、GPMブレンディングプロセスにおけるすべてのクリッピング及びシフト操作は、いかなる変更もなしに維持されることができる。
【0089】
加えて、GPMブレンディングエリアの幅の増加に対応するために、重みの範囲を[0,8]から[0,32]に増加させることができる。具体的には、重みを、以下のように計算することができる:
【数4】
【0090】
ウェッジベース予測は、複合予測モード(例えばAV1)であり、これはGPMと同様である。ウェッジベース予測を、インターインター(inter-inter)とインターイントラ(inter-intra)の両方の組合せに使用することができる。移動するオブジェクトの境界は、オングリッドブロックパーティションによる近似が困難なことが多い。解決策は、16の可能なウェッジパーティションのコードブックを事前定義し、コーディングユニットがそのような方法で更にパーティショニングされることを選択したときに、ビットストリーム内のウェッジインデックスをシグナリングすることである。水平、垂直又は斜め(例えば±2又は±0.5の勾配を有する)のいずれかのパーティション配向を含む16値(16-ary)形状コードブックは、
図5Dに示されるように、正方形ブロック540及び長方形ブロック542の両方について設計される。2つの予測器を直接並置することによって生成されることが多いスプリアス高周波成分を緩和するために、ソフトクリフ形状の2-Dウェッジマスクを用いて、意図されるパーティションの周囲のエッジを平滑化することができる(例えばm(i,j)は、エッジの周囲で0.5に近く、いずれかの端でバイナリ重みに徐々に変換される)。
【0091】
図6は、いくつかの実施形態による、ビデオをコーディングする方法600を示すフロー図である。方法600は、制御回路と、制御回路による実行のための命令を記憶するメモリとを有するコンピューティングシステム(例えばサーバシステム112、ソースデバイス102又は電子デバイス120)において実行され得る。いくつかの実施形態では、方法600は、コンピューティングシステムのメモリ(例えばメモリ314)に記憶された命令を実行することによって実行される。
【0092】
システムは、第1ブロックを含む複数のブロックを含むビデオデータを取得する(602)。システムは、第1ブロックについて、複数のパーティションモードから第1パーティションモードを識別し(604)、ここで、複数のパーティションモードは、各々が単一直線の境界を有する第1モードセットと、各々が多重直線(multiple straight lines)の境界を有する第2モードセットとを含む。システムは、第1パーティションモードに従って、第1ブロックを第1セクションと第2セクションとにパーティショニングし(606)、ここで、第1パーティションモードは、第2モードセットからのものであり、多重直線境界を含む。システムは、第1ブロックを再構成し(608)、これは、第1予測器を使用して第1セクションを再構成することと、第2予測器を使用して第2セクションを再構成することとを含む。いくつかの実施形態では、システムは、多重直線境界においてブレンディング操作(blending operation)を実行する(610)。
【0093】
いくつかの実施形態では、多角形又はL字型パーティショニングモード(例えば第2モードセット)は、既存の直線ベースのパーティショニングモード(例えば第1モードセット)を使用して構築される。例えば事前定義された直線パーティショニング境界、ブレンディングプロセス及び予測プロセスは、依然として有効である。いくつかの実施形態では、2つ以上の直線ベースのパーティショニングモードを組み合わせて、例えば既存のブレンディングマスク及び対応する動きベクトルを再利用する、新しい多角形又はL字型パーティショニングモードを生成する。新たに生成されたモードは、インデックスによって明示的にシグナリングされた追加モードとして使用されるか、又は追加のシグナリングされた構文要素(例えば暗黙的に導出される)なしにデコーダ側でオンザフライで生成されることができる。
【0094】
いくつかの実施形態では、複数の(例えば2つ以上の)共役(又は非共役)直線ベースのGPM及び/又はウェッジベースの予測パーティションモード(例えばそれらの角度の合計は180度に等しい)を組み合わせて、多角形又はL字型パーティション、あるいは1つ以上の幾何学的パーティショニングモードを生成する。なお、一方のモードが0度であり、他方のモードが90度である場合にはL字型モードが生成され、それ以外の場合には多角形モードが生成される。
図5E~
図5Gは、いくつかの実施形態による、組み合わされたパーティションモードの3つの例を示す。しかしながら、組合せはこれらの例に限定されない。
【0095】
一例では、
図5Eに示されるように、2つの共役直線ベースモードを水平に組み合わせて、生成モード556を生成する。
図5Eでは、生成モード556の上側部分(影付きエリア552)は、既存の直線ベースモード1からのものであり、一方、生成モード556の下側部分(影付きエリア554)は、既存の直線ベースモード2からのものである。いくつかの実施形態では、ブレンディングマスク及びソフトブレンディングエリアもそれに応じて生成される。例えば特定のマスクについて、1つの部分は完全ブレンディング(例えば重み付け8又は64)であり、一方、他の部分はゼロブレンディング(例えば重み付け0)であり、パーティショニング境界を囲むソフトブレンディングエリアは、0から完全ブレンディング(例えば0から8又は0から64)まで重み付けされることができる。この例では、他のマスクは逆の方法でブレンドされる。
【0096】
別の例では、
図5Fに示されるように、2つの共役直線ベースモードを垂直に組み合わせて、生成モード564を生成する。
図5Fでは、生成モード564の左部分(影付きエリア560)は、既存の直線ベースモード1からのものであり、一方、右部分(影付きエリア562)は、既存の直線ベースモード2からのものである。いくつかの実施形態では、ブレンディングマスク及びソフトブレンディングエリアもそれに応じて生成される。例えば1つのマスクに対して、1つの部分は完全ブレンディング(例えば重み付け8又は64)であり、他の部分はゼロブレンディング(例えば重み付け0)であり、パーティショニング境界を囲むソフトブレンディングエリアは、0から完全ブレンディング(例えば0から8又は0から64)まで重み付けされる。この例では、他のマスクは逆の方法でブレンドされる。
【0097】
別の例では、
図5Gに示されるように、1つの(例えば対称又は非対称)パーティショニングモードを別の他のパーティショニングモードと組み合わせて、L字型パーティショニングモードを生成する。例えば垂直パーティショニングモード1(例えばパーティション568)は、水平パーティショニングモード2(例えばパーティション570)と組み合わされる。ブレンディングプロセス及び予測プロセスは、前の例で説明したものと同じものとすることができる。
【0098】
いくつかの実施形態では、前述の生成モード(例えば
図5E~
図5Gに示される)の各々は、シフト値に従って、水平、垂直又はその両方にシフトされる。シフト値は、事前定義され、適応的に選択されてシグナリングされ、あるいは既知の情報(例えば再構成された予測器の内容及び/又は隣接するブロックのGPM/ウェッジベースの予測モード)に基づいてデコーダ側から導出されることができる。
【0099】
いくつかの実施形態では、直線ベースの予測パーティショニングモード(例えばGPM及び/又はウェッジベース)によってコーディングされている隣接するブロック(例えばブロック578及び580)に従って、それらのパーティション線(例えば
図5Hのパーティション線582及び584)は、(
図5Hの586及び588において破線で示されるように)現在のコーディングブロック576まで拡張され、新しい多角形パーティションモードを形成する。
【0100】
いくつかの実施形態では、生成モードは、現在のモードの拡張として使用され、明示的にシグナリングされる。例えば追加の16のモードは、いくつかの選択された角度/オフセットを使用して生成されることができ、これらは、GPMモードインデックス又はウェッジインデックスとともにシグナリングされるか、generated_mode_indexのような追加の構文要素を使用して条件付きでシグナリングされる。いくつかの実施形態では、生成モードは、パーティショニングモード情報及び再構成されたサンプルのような既知の情報に基づいて、デコーダ側で導出される。
【0101】
例えば現在のパーティショニングモードが既に解析され、再構成されている場合、テンプレートマッチングアプローチ(例えば現在のブロックの上及び左の周囲のサンプルを使用する)を使用して、解析モードと生成モードとの間のコストを計算する。この例では、より低いコストのモードが最終的な予測器の生成に使用される。
【0102】
別の例では、導出は、GPM/ウェッジベースの予測器を生成するために使用される2つの予測器の勾配に依存することができる。
【0103】
図6は、特定の順序でのいくつかの論理段階を示すが、順序に依存しない段階は、並べ替えられてもよく、他の段階が結合されてもよいし、分解されてもよい。特に言及されていないいくつかの並べ替え又は他のグループ化は、当業者には明らかであり、したがって、本明細書に提示される順序及びグループ化は、網羅的なものではない。さらに、様々な段階は、ハードウェア、ファームウェア、ソフトウェア又はそれらの任意の組合せで実装されることができることを認識されたい。
【0104】
ここで、いくつかの例示的な実施形態に目を向ける。
【0105】
(A1)一態様では、いくつかの実施形態は、ビデオ復号の方法(例えば方法600)を含む。いくつかの実施形態では、方法は、メモリと1つ以上のプロセッサとを有するコンピューティングシステム(例えばサーバシステム112)において実行される。いくつかの実施形態では、方法は、コーディングモジュール(例えばコーディングモジュール320)において実行される。いくつかの実施形態では、方法は、エントロピーコーダ(例えばエントロピーコーダ214)において実行される。いくつかの実施形態では、方法は、パーサ(例えばパーサ254)において実行される。方法は、(i)第1ブロック(例えば現在のブロック510)を含む複数のブロックを含むビデオデータを取得するステップと、(ii)第1ブロックについて、複数のパーティションモードから第1パーティションモードを識別するステップであって、複数のパーティションモードは、各々が単一直線の境界を有する第1モードセット(例えば
図5Dに示されるモード)と、各々が多重直線の境界を有する第2モードセット(例えば
図5E~
図5Gにおいて生成されたモード)とを含む、ステップと、(iii)第1パーティションモードに従って、第1ブロックを第1セクションと第2セクションにパーティショニングするステップであって、第1パーティションモードは、第2モードセットからのものであり、多重直線境界を含む、ステップと、(iv)第1ブロックを再構成するステップであって、第1予測器を使用して第1セクションを再構成することと、第2予測器を使用して第2セクションを再構成することとを含む、ステップと、を含む。いくつかの実施形態は、第1モードセットは、(例えば
図5Dに示されるような)1つ以上のウェッジパーティションを含む。
【0106】
(A2)A1のいくつかの実施形態では、第2モードセットは、第1モードセットのモードのうちの2つ以上を組み合わせること(例えば
図5E~
図5Fに示されるようにモードを垂直又は水平に組み合わせること)によって生成されるモードを含む。例えば第2モードセットのうちのあるモードは、L字型パーティショニング境界又は他の多角形境界を含む。
【0107】
(A3)A1又はA2のいくつかの実施形態では、方法は、(例えば
図5B~
図5Cに関連して前述したように)多重直線境界においてブレンディング操作を実行するステップを更に含む。いくつかの実施形態では、ブレンディング操作は、ブレンディングマスクを適用することを含む。いくつかの実施形態では、ブレンディング操作は、ランプ関数(例えば式2~式4のいずれかのランプ関数)を適用することを含む。いくつかの実施形態では、第1ブレンディングが第1セクションに適用され、第2ブレンディングが第2セクションに適用される。
【0108】
(A4)A3のいくつかの実施形態では、ブレンディング操作は、第1ブレンディングを第1セクションに適用することと、第2ブレンディングを第2セクションに適用することとを含む。例えば各セクションは、異なるブレンディングマスク、ブレンディング強度及び/又はブレンディングエリアを有する。
【0109】
(A5)A1乃至A4のいずれかのいくつかの実施形態では、第2モードセットは、(例えば
図5Eに例示されるように)2つの共役直線ベースのモードを水平に組み合わせることによって生成されるモードを含む。例えば第1モードセットの2つのモードを水平に結合する。
【0110】
(A6)A1乃至A5のいずれかのいくつかの実施形態では、第2モードセットは、(例えば
図5Fに例示されるように)2つの共役直線ベースのモードを垂直に組み合わせることによって生成される第2モードを含む。例えば第1モードセットの2つのモードを垂直に結合する。
【0111】
(A7)A1乃至A6のいずれかのいくつかの実施形態では、第2モードセットは、垂直線モードと水平線モードとを組み合わせることによって生成される第2モード(例えば
図5Gに示されるようなL字型パーティションモードをもたらす)を含む。
【0112】
(A8)A1乃至A7のいずれかのいくつかの実施形態では、第1パーティションモードに従って、第1ブロックを第1セクションと第2セクションにパーティショニングするステップは、(i)多重直線境界を第1ブロックに適用するステップと、(ii)多重直線境界をシフトさせるステップと、(iii)シフトされた多重直線境界に従って、第1セクションと第2セクションを識別するステップと、を含む。例えば境界は水平又は垂直にシフトされる。いくつかの実施形態では、境界は、シフト値によってシフトされる。例えばシフト値は、事前定義され、適応的に選択されてシグナリングされ、あるいはデコーダによって(例えば1つ以上の再構成された予測器の内容に基づいて)導出される。
【0113】
(A9)A1乃至A8のいずれかのいくつかの実施形態では、方法は、(i)複数のブロックのうちの第2ブロックについて、第2パーティションモードを識別するステップであって、第2パーティションモードは、2つ以上の隣接するブロックのパーティション線に基づいて決定される、ステップと、(ii)第2パーティションモードに従って第2ブロックをパーティショニングするステップと、を更に含む。例えば2つの隣接するブロックのパーティション線は、第2ブロック内の合流点まで延長され、第2ブロックの多重直線のパーティションを作成する(例えば
図5Hに例示されるように)。
【0114】
(A10)A1乃至A9のいずれかのいくつかの実施形態では、複数のパーティションモードは、エンコーダによって明示的にシグナリングされる。いくつかの実施形態では、第2モードセットは、(例えば追加の構文要素を使用して)条件付きでシグナリングされる。
【0115】
(A11)A1乃至A10のいずれかのいくつかの実施形態では、第2モードセットは、デコーダ構成要素によって導出される。例えば第2モードセットは、テンプレートマッチング操作を使用して導出される。別の例として、第2モードセットは、第1ブロックの上及び左の隣接ブロックに基づいて導出される。
【0116】
(A12)A11のいくつかの実施形態では、第2モードセットは、2つ以上の予測器の勾配に基づいて導出される。
【0117】
(A13)A1乃至A12のいずれかのいくつかの実施形態では、(i)複数のブロックのうちのあるブロックについて、解析されたモードが、エンコーダ構成要素から取得され、導出されたモードが、デコーダ構成要素で生成され、(ii)方法は、(a)解析されたモードと導出されたモードのそれぞれのコストを決定するステップと、(b)解析されたモードがより低いコストを有するとの判断に従って、解析されたモードを使用してブロックをパーティショニングするステップと、(c)導出されたモードがより低いコストを有するとの判断に従って、導出されたモードを使用してブロックをパーティショニングするステップと、を更に含む。
【0118】
本明細書で説明される方法は、別個に使用されてよく、あるいは任意の順序で組み合わされてもよい。方法の各々は、処理回路(例えば1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてよい。いくつかの実施形態では、処理回路は、非一時的コンピュータ読取可能媒体に記憶されたプログラムを実行する。
【0119】
別の態様では、いくつかの実施形態は、制御回路(例えば制御回路302)と、制御回路に結合されたメモリ(例えばメモリ314)とを含む、コンピューティングシステム(例えばサーバシステム112)を含み、メモリは、制御回路によって実行されるように構成される1つ以上の命令セットを記憶し、1つ以上の命令セットは、本明細書で説明される方法のいずれか(例えば上記のA1~A13)を実行するための命令を含む。
【0120】
更に別の態様では、いくつかの実施形態は、コンピューティングデバイスの制御回路による実行のための1つ以上の命令セットを記憶する、非一時的コンピュータ読取可能記憶媒体を含み、1つ以上の命令セットは、本明細書で説明される方法のいずれか(例えば上記のA1~A13)を実行するための命令を含む。
【0121】
「第1」、「第2」等の用語は、様々な要素を説明するために本明細書で使用されることがあるが、これらの要素は、これらの用語によって限定されるべきではないことが理解されよう。これらの用語は、ある要素を別の要素から区別するためにのみ使用される。
【0122】
本明細書で使用される用語は、特定の実施形態を説明する目的のためにすぎず、特許請求の範囲を限定するように意図されない。実施形態の説明及び添付の特許請求の範囲において使用されるとき、単数の形態「a」、「an」及び「the」は、文脈が他のことを明確に示さない限り、複数の形態も同様に含むように意図される。また、本明細書で使用されるとき、「及び/又は」という用語は、関連する列挙された項目の1つ以上の任意の及びすべての可能な組合せを指し、それらを包含することが理解されよう。本明細書で使用されるとき、「備える(comprises)」及び/又は「備えている(comprising)」という用語は、記載される特徴、整数、ステップ、動作、要素及び/又は構成要素の存在を特定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素及び/又はそれらのグループの存在又は追加を排除しないことが更に理解されよう。
【0123】
本明細書で使用されるとき、「の場合(if)」という用語は、文脈に応じて、先に述べられた条件が真である「とき」又は「そうであると」又は「と決定したことに応答して」又は「との決定に従って」又は「と検出したことに応答して」を意味するように解釈することができる。同様に、「[先に述べられた条件が真である]と決定する場合」又は「[先に述べられた条件が真である]とき」というフレーズは、文脈に応じて、先に述べられた条件が真である「と決定すると」又は「と決定したことに応答して」又は「との決定に従って」又は「と検出すると」又は「と検出したことに応答して」を意味するように解釈することができる。
【0124】
前述の説明は、説明の目的のために、特定の実施形態を参照して説明されている。しかしながら、上記の例示的な議論は、網羅的であること、あるいは特許請求の範囲を開示された正確な形態に限定するようには意図されていない。上記の教示を考慮すると、多くの修正及び変形が可能である。実施形態は、動作の原理及び実際の適用を最も良く説明して、それにより当業者が理解できるように、選択され、記載されたものである。
【国際調査報告】