(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-02-22
(54)【発明の名称】ラップアラウンド動き補償を実行する方法
(51)【国際特許分類】
H04N 19/55 20140101AFI20230215BHJP
H04N 19/70 20140101ALI20230215BHJP
【FI】
H04N19/55
H04N19/70
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022532786
(86)(22)【出願日】2020-12-17
(85)【翻訳文提出日】2022-07-27
(86)【国際出願番号】 US2020065515
(87)【国際公開番号】W WO2021127118
(87)【国際公開日】2021-06-24
(32)【優先日】2019-12-17
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】511050697
【氏名又は名称】アリババ グループ ホウルディング リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】チェン,ジエ
(72)【発明者】
【氏名】イエ,ヤン
(72)【発明者】
【氏名】リャオ,ル-リン
(72)【発明者】
【氏名】ルオ,ジャンコン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159NN04
5C159NN21
5C159PP00
5C159RC12
(57)【要約】
本開示は、ラップアラウンド動き補償を実行する方法を提供する。方法は、第1のラップアラウンド動き補償フラグを受信することであって、第2のラップアラウンド動き補償フラグがピクチャに関連付けられることと、第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、第1のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ラップアラウンド動き補償オフセットを受信することであって、ラップアラウンド動き補償オフセットがピクチャに関連付けられることと、第1のラップアラウンド動き補償フラグ及びラップアラウンド動き補償オフセットに従ってピクチャに対してラップアラウンド動き補償を実行することと、を含み得る。
【特許請求の範囲】
【請求項1】
動き補償を実行する方法であって、
第1のラップアラウンド動き補償フラグを受信することであって、前記第1のラップアラウンド動き補償フラグがピクチャに関連付けられることと、
前記第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、
前記第1のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ラップアラウンド動き補償オフセットを受信することであって、前記ラップアラウンド動き補償オフセットが前記ピクチャに関連付けられることと、
前記第1のラップアラウンド動き補償フラグ及び前記ラップアラウンド動き補償オフセットに従って前記ピクチャに対して動き補償を実行することと、
を含む、方法。
【請求項2】
第2のラップアラウンド動き補償フラグを受信することであって、前記第1のラップアラウンド動き補償フラグが、前記第1のラップアラウンド動き補償フラグに関連付けられた前記ピクチャを含むピクチャのセットに関連付けられることと、
前記第2のラップアラウンド動き補償フラグが無効であるかどうかを決定することと、
前記第2のラップアラウンド動き補償フラグが無効であるとの決定に応じて、前記第1のラップアラウンド動き補償フラグも無効であると決定することと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することが、
前記第1のラップアラウンド動き補償フラグに関連付けられた前記ピクチャのピクチャ幅を決定することと、
前記第1のラップアラウンド動き補償フラグが有効であるかどうかを前記ピクチャ幅に基づいて決定することと、
をさらに含む、請求項2に記載の方法。
【請求項4】
最小符号化ブロック単位のルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位の前記ピクチャの前記ピクチャ幅-1より大きいかどうかを決定することと、
最小符号化ブロック単位の前記ルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位の前記ピクチャの前記ピクチャ幅-1より大きいとの決定に応じて、前記第1の動き補償フラグが無効であると決定することと、
をさらに含む、請求項3に記載の方法。
【請求項5】
前記第2のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、
前記第2のラップアラウンド動き補償フラグが有効であるとの前記決定に応じて、前記ピクチャのピクチャ幅がルマ符号化ツリーブロックサイズ+オフセット以上であると決定することと、
をさらに含む、請求項2に記載の方法。
【請求項6】
前記第2のラップアラウンド動き補償フラグが有効であるとの前記決定に応じて、最小符号化ブロック単位の前記ルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位の前記ピクチャの前記ピクチャ幅-1以下であると決定することをさらに含む、請求項5に記載の方法。
【請求項7】
前記第2のラップアラウンド動き補償フラグが、シーケンスパラメータセットにおいてシグナリングされ、前記第1のラップアラウンド動き補償フラグ及び前記ラップアラウンド動き補償オフセットが、ピクチャパラメータセットにおいてシグナリングされる、請求項2に記載の方法。
【請求項8】
前記動き補償が、多用途ビデオコーディング規格に従って実行される、請求項1に記載の方法。
【請求項9】
複数のピクチャに対して動き補償を実行することであって、前記複数のピクチャが異なるサイズを有することをさらに含む、請求項1に記載の方法。
【請求項10】
前記ラップアラウンド動き補償オフセットに従って前記ピクチャに対して動き補償を実行することが、
ビットストリームから受信した前記ラップアラウンド動き補償オフセットにオフセットを加えることによって、第2のラップアラウンド動き補償オフセットを決定することと、
前記第2のラップアラウンド動き補償オフセットに従って前記ピクチャに対して動き補償を実行することと、
をさらに含む、請求項1に記載の方法。
【請求項11】
動き補償を実行するシステムであって、
命令のセットを記憶するメモリと、
プロセッサとを備え、前記プロセッサは、
第1のラップアラウンド動き補償を受信することであって、前記第1のラップアラウンド動き補償オフセットがピクチャに関連付けられることと、
前記第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、
前記第1のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ラップアラウンド動き補償オフセットを受信することであって、前記ラップアラウンド動き補償オフセットが前記ピクチャに関連付けられることと、
前記第1のラップアラウンド動き補償フラグ及び前記ラップアラウンド動き補償オフセットに従って前記ピクチャに対して動き補償を実行することと、
を前記システムに実行させるように、前記命令のセットを実行するように構成される、システム。
【請求項12】
前記プロセッサが、
第2のラップアラウンド動き補償フラグを受信することであって、前記第2のラップアラウンド動き補償フラグが、前記第1のラップアラウンド動き補償フラグに関連付けられた前記ピクチャを含むピクチャのセットに関連付けられることと、
前記第2のラップアラウンド動き補償フラグが無効であるかどうかを決定することと、
前記第2のラップアラウンド動き補償フラグが無効であるとの決定に応じて、前記第1のラップアラウンド動き補償フラグも無効であると決定することと、
を前記システムに実行させるように、前記命令のセットを実行するようにさらに構成される、請求項11に記載のシステム。
【請求項13】
前記プロセッサが、
前記第1のラップアラウンド動き補償フラグに関連付けられた前記ピクチャのピクチャ幅を決定することと、
前記第1のラップアラウンド動き補償フラグが有効であるかどうかを前記ピクチャ幅に基づいて決定することと、
を前記システムに実行させるように、前記命令のセットを実行するようにさらに構成される、請求項12に記載のシステム。
【請求項14】
前記プロセッサが、
最小符号化ブロック単位のルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位の前記ピクチャの前記ピクチャ幅-1より大きいかどうかを決定することと、
最小符号化ブロック単位の前記ルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位の前記ピクチャの前記ピクチャ幅-1より大きいとの決定に応じて、前記第1の動き補償フラグが無効であると決定することと、
を前記システムに実行させるように、前記命令のセットを実行するようにさらに構成される、請求項13に記載のシステム。
【請求項15】
前記プロセッサが、
前記第2のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、
前記第2のラップアラウンド動き補償フラグが有効であるとの前記決定に応じて、前記ピクチャのピクチャ幅がルマ符号化ツリーブロックサイズ+オフセット以上であると決定することと、
を前記システムに実行させるように、前記命令のセットを実行するようにさらに構成される、請求項12に記載のシステム。
【請求項16】
前記プロセッサが、
前記第2のラップアラウンド動き補償フラグが有効であるとの前記決定に応じて、最小符号化ブロック単位の前記ルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位の前記ピクチャの前記ピクチャ幅-1以下であると決定すること
を前記システムに実行させるように、前記命令のセットを実行するようにさらに構成される、請求項15に記載のシステム。
【請求項17】
前記第2のラップアラウンド動き補償フラグが、シーケンスパラメータセットにおいてシグナリングされ、前記第1のラップアラウンド動き補償フラグ及び前記ラップアラウンド動き補償オフセットが、ピクチャパラメータセットにおいてシグナリングされる、請求項12に記載のシステム。
【請求項18】
前記プロセッサが、
複数のピクチャに対して動き補償を実行することであって、前記複数のピクチャが異なるサイズを有すること
を前記システムに実行させるように、前記命令のセットを実行するようにさらに構成される、請求項11に記載のシステム。
【請求項19】
前記プロセッサが、
ビットストリームから受信した前記ラップアラウンド動き補償オフセットにオフセットを加えることによって、第2のラップアラウンド動き補償オフセットを決定することと、
前記第2のラップアラウンド動き補償オフセットに従って前記ピクチャに対して動き補償を実行することと、
を前記システムに実行させるように、前記命令のセットを実行するようにさらに構成される、請求項11に記載のシステム。
【請求項20】
命令のセットを記憶する非一時的コンピュータ可読媒体であって、前記命令のセットは、装置に動き補償を実行する方法を開始させるために前記装置の1つ以上のプロセッサによって実行可能であり、前記方法が、
第1のラップアラウンド動き補償フラグを受信することであって、前記第1のラップアラウンド動き補償フラグがピクチャのセット内のピクチャに関連付けられることと、
前記第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、
前記第1のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ラップアラウンド動き補償オフセットを受信することであって、前記ラップアラウンド動き補償オフセットが前記ピクチャに関連付けられることと、
前記第1のラップアラウンド動き補償フラグ及び前記ラップアラウンド動き補償オフセットに従って前記ピクチャに対して動き補償を実行することと、
を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[001] 本開示は、2019年12月17日に出願された、米国仮特許出願第62/949,396号に対する優先権及び優先権の利益を主張する。仮出願は、参照により本明細書にその全体が組み込まれる。
【0002】
技術分野
[002] 本開示は、概して、映像処理に関し、より詳細には、ラップアラウンド動き補償を実行する方法及びシステムに関する。
【背景技術】
【0003】
背景
[003] 映像は、視覚情報を取り込んだ静的ピクチャ(又は「フレーム」)のセットである。記憶メモリ及び伝送帯域幅を低減するために、映像を記憶又は伝送前に圧縮し、表示前に復元することができる。圧縮プロセスは通常、符号化と称され、復元プロセスは通常、復号化と称される。最も一般的には、予測、変換、量子化、エントロピー符号化、及びインループフィルタリングに基づく、標準化映像符号化技術を用いる様々な映像符号化フォーマットが存在する。特定の映像符号化フォーマットを指定する、高効率ビデオコーディング(High Efficiency Video Coding)(例えばHEVC/H.265)規格、多用途ビデオコーディング(Versatile Video Coding)(例えばVVC/H.266)、及び標準AVS規格などの、映像符号化規格が標準化機関によって開発されている。進化した映像符号化技術が映像規格に次々と採用されるに従って、新たな映像符号化規格の符号化効率はますます高くなる。
【発明の概要】
【課題を解決するための手段】
【0004】
開示の概要
[004] 本開示の実施形態は、動き補償を実行する方法を提供する。方法は、第1のラップアラウンド動き補償フラグを受信することであって、第1のラップアラウンド動き補償フラグがピクチャに関連付けられることと、第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、第1のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ラップアラウンド動き補償オフセットを受信することであって、ラップアラウンド動き補償オフセットがピクチャに関連付けられることと、第1のラップアラウンド動き補償フラグ及びラップアラウンド動き補償オフセットに従ってピクチャに対してラップアラウンド動き補償を実行することと、を含む。
【0005】
[005] 本開示の実施形態は、動き補償を実行するシステムをさらに提供する。システムは、命令のセットを記憶するメモリと、プロセッサとを備え、プロセッサは、第1のラップアラウンド動き補償フラグを受信することであって、第1のラップアラウンド動き補償フラグがピクチャに関連付けられることと、第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、第1のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ラップアラウンド動き補償オフセットを受信することであって、ラップアラウンド動き補償オフセットがピクチャに関連付けられることと、第1のラップアラウンド動き補償フラグ及びラップアラウンド動き補償オフセットに従ってピクチャに対してラップアラウンド動き補償を実行することと、をシステムに実行させるように、命令のセットを実行するように構成される。
【0006】
[006] 本開示の実施形態は、命令のセットを記憶する非一時的コンピュータ可読媒体であって、命令のセットは、装置に動き補償を実行する方法を開始させるために、装置の1つ以上のプロセッサによって実行可能であり、方法が、第1のラップアラウンド動き補償フラグを受信することであって、第1のラップアラウンド動き補償フラグがピクチャに関連付けられることと、第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、第1のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ラップアラウンド動き補償オフセットを受信することであって、ラップアラウンド動き補償オフセットがピクチャに関連付けられることと、第1のラップアラウンド動き補償フラグ及びラップアラウンド動き補償オフセットに従ってピクチャに対してラップアラウンド動き補償を実行することと、を含む、非一時的コンピュータ可読媒体をさらに提供する。
【0007】
図面の簡単な説明
[007] 本開示の実施形態及び様々な態様が以下の詳細な説明及び添付の図面において例示される。図に示される様々な特徴は、原寸に比例して描かれていない。
【図面の簡単な説明】
【0008】
【
図1】[008]本開示のいくつかの実施形態に係る、例示的な映像シーケンスの構造を示す。
【
図2A】[009]本開示のいくつかの実施形態に係る、例示的な符号化プロセスの概略図を示す。
【
図2B】[010]本開示のいくつかの実施形態に係る、別の例示的な符号化プロセスの概略図を示す。
【
図3A】[011]本開示のいくつかの実施形態に係る、例示的な復号プロセスの概略図を示す。
【
図3B】[012]本開示のいくつかの実施形態に係る、別の例示的な復号プロセスの概略図を示す。
【
図4】[013]本開示のいくつかの実施形態に係る、映像を符号化又は復号するための例示的な装置のブロック図を示す。
【
図5A】[014]本開示のいくつかの実施形態に係る、再構成された正距円筒図法を生成するための例示的なブレンド動作の概略図を示す。
【
図5B】[015]本開示のいくつかの実施形態に係る、再構成された正距円筒図法を生成するための例示的なクロッピング動作の概略図を示す。
【
図6A】[016]本開示のいくつかの実施形態に係る、正距円筒図法のための例示的な水平ラップアラウンド動き補償プロセスの概略図を示す。
【
図6B】[017]本開示のいくつかの実施形態に係る、パディングされた正距円筒図法のための例示的な水平ラップアラウンド動き補償プロセスの概略図を示す。
【
図7】[018]本開示のいくつかの実施形態に係る、ラップアラウンド動き補償のための例示的なシーケンスパラメータセットの構文を示す。
【
図8】[019]本開示のいくつかの実施形態に係る、ラップアラウンド動き補償のための例示的なシーケンスパラメータセットの意味(セマンティクス)を示す。
【
図9】[020]本開示のいくつかの実施形態に係る、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの構文を示す。
【
図10】[021]本開示のいくつかの実施形態に係る、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの意味を示す。
【
図11】[022]本開示のいくつかの実施形態に係る、最大ピクチャ幅を用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの意味を示す。
【
図12】[023]本開示のいくつかの実施形態に係る、変数「PicRefWraparoundEnableFlag」及び「PicRefWraparoundOffset」の導出例を示す。
【
図13】[024]本開示のいくつかの実施形態に係る、動き補償に使用されるサンプル位置の導出例を示す。
【
図14】[025]本開示のいくつかの実施形態に係る、ピクチャパラメータセット内のラップアラウンド動き補償オフセットを用いたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの構文を示す。
【
図15】[026]本開示のいくつかの実施形態に係る、ピクチャパラメータセット内のラップアラウンド動き補償オフセットを用いたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの意味を示す。
【
図16】[027]本開示のいくつかの実施形態に係る、ラップアラウンド動き補償オフセットのない改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの構文を示す。
【
図17】[028]本開示のいくつかの実施形態に係る、ラップアラウンド動き補償オフセットを用いた、改善されたラップアラウンド動き補償のための例示的なピクチャパラメータセットの構文を示す。
【
図18】[029]本開示のいくつかの実施形態に係る、ピクチャパラメータセット内のラップアラウンド動き補償オフセットを用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの意味を示す。
【
図19】[030]本開示のいくつかの実施形態に係る、変数「PicRefWraparoundEnableFlag」及び「PicRefWraparoundOffset」の導出例を示す。
【
図20】[031]本開示のいくつかの実施形態に係る、シーケンスパラメータセット内のラップアラウンド動き補償オフセットのない、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの構文を示す。
【
図21】[032]本開示のいくつかの実施形態に係る、ラップアラウンド動き制御フラグを用いた、改善されたラップアラウンド動き補償のための例示的なピクチャパラメータセットの構文を示す。
【
図22】[033]本開示のいくつかの実施形態に係る、ピクチャパラメータセット内のラップアラウンド制御フラグを用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの意味を示す。
【
図23】[034]本開示のいくつかの実施形態に係る、ピクチャパラメータセット内のラップアラウンド制御フラグを用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの意味を示す。
【
図24】[035]本開示のいくつかの実施形態に係る、変数「PicRefWraparoundOffset」の導出例を示す。
【
図25】[036]本開示のいくつかの実施形態に係る、ピクチャサイズに対する制限を用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの意味を示す。
【
図26】[037]本開示のいくつかの実施形態に係る、変数「pic_width_max_in_luma_samples」、「CtbSizeY」、及び「MinCbSizeY」に課された制限を用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの意味を示す。
【
図27】[038]本開示のいくつかの実施形態に係る、変数「pic_width_in_luma_samples」に課された制限を用いた、改善されたラップアラウンド動き補償のための例示的なピクチャパラメータセットの意味を示す。
【
図28】[039]本開示のいくつかの実施形態に係る、動き補償を実行するための例示的な方法のフローチャートを示す。
【
図29】[040]本開示のいくつかの実施形態に係る、シーケンスラップアラウンド動き補償オフセットに対する制限された範囲を用いた動き補償を実行するための例示的な方法のフローチャートを示す。
【
図30】[041]本開示のいくつかの実施形態に係る、シーケンスラップアラウンド動き補償オフセットに関連付けられたピクチャを用いた動き補償を実行するための例示的な方法のフローチャートを示す。
【
図31】[042]本開示のいくつかの実施形態に係る、制限された最大ピクチャサイズを用いた動き補償を実行するための例示的な方法のフローチャートを示す。
【発明を実施するための形態】
【0009】
詳細な説明
[043] 次に、添付の図面に例が示された、例示的な実施形態を詳細に参照する。以下の説明は添付の図面を参照し、図面において、異なる図面における同じ符号は、別途示されない限り、同じ又は同様の要素を表す。例示的な実施形態の以下の説明において示される実装形態は、本開示に従う全ての実装形態を表すものではない。むしろ、それらは、添付の請求項において列挙されるとおりの本開示に関連する態様に従う装置及び方法の単なる例にすぎない。本開示の特定の態様が以下においてより詳細に説明される。参照により組み込まれる用語及び/又は定義と矛盾する場合には、本明細書において提供される用語及び定義が優先する。
【0010】
[044] ITU-Tビデオコーディングエキスパートグループ(ITU-T VCEG(ITU-T Video Coding Expert Group))及びISO/IECムービングピクチャエクスパートグループ(ISO/IECMPEG(ISO/IEC Moving Picture Expert))のジョイントビデオエクスパーツチーム(JVET(Joint Video Experts Team))は、現在、多用途ビデオコーディング(VVC/H.266)規格を開発している。VVC規格は、その前身、高効率ビデオコーディング(HEVC/H.265)規格の圧縮効率を2倍にすることを目指している。換言すれば、VVCの目標は、半分の帯域幅を用いてHEVC/H.265と同じ主観的品質を達成することである。
【0011】
[045] 半分の帯域幅を用いてHEVC/H.265と同じ主観的品質を達成するために、統合ビデオエキスパートチーム(JVET(Joint Video Experts Team))は、共同探索モデル(JEM(joint exploration model))参照ソフトウェアを用いてHEVCを超える技術を開発している。符号化技術がJEMに組み込まれたため、JEMはHEVCよりも実質的に高い符号化性能を達成した。VCEG及びMPEGは、HEVCを超える次世代映像圧縮規格の開発も正式に開始している。
【0012】
[046] VVC規格は最近開発されたものであり、より優れた圧縮性能をもたらすより多くの符号化技術を組み込み続けている。VVCは、HEVC、H.264/AVC、MPEG2、H.263等などの現代的な映像圧縮規格において用いられてきた同じハイブリッド映像符号化システムに基づく。
【0013】
[047] 映像は、視覚情報を記憶するために時系列で配列された静的ピクチャ(又は「フレーム」)のセットである。映像取り込みデバイス(例えば、カメラ)を、それらのピクチャを時系列で取り込んで記憶するために用いることができ、映像再生デバイス(例えば、テレビ、コンピュータ、スマートフォン、タブレットコンピュータ、ビデオプレーヤ、又は表示機能を有する任意のエンドユーザ端末)を、このようなピクチャを時系列で表示するために用いることができる。また、用途によっては、映像取り込みデバイスが、取り込まれた映像を、監督、会議開催、又は生放送などのために、映像再生デバイス(例えば、モニタを有するコンピュータ)へリアルタイムに伝送することができる。
【0014】
[048] このような用途によって必要とされる記憶空間及び伝送帯域幅を低減するために、映像を圧縮することができる。例えば、映像は記憶前及び伝送前に圧縮し、表示前に復元することができる。圧縮及び復元は、プロセッサ(例えば、汎用コンピュータのプロセッサ)によって実行されるソフトウェア、又は特殊ハードウェアによって実施され得る。圧縮のためのモジュール又は回路構成は一般的に「符号器」と称され、復元のためのモジュール又は回路構成は一般的に「復号器」と称される。符号器及び復号器はまとめて「コーデック」と称され得る。符号器及び復号器は、種々の好適なハードウェア、ソフトウェア、又はこれらの組み合わせのうちの任意のものとして実施することができる。例えば、符号器及び復号器のハードウェア実装形態は、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(「DSP(digital signal processor)」)、特定用途向け集積回路(「ASIC(application-specific integrated circuit)」)、フィールドプログラマブルゲートアレイ(「FPGA(field-programmable gate array)」)、個別論理、又はこれらの任意の組み合わせなどの、回路機構を含むことができる。符号器及び復号器のソフトウェア実装形態は、プログラムコード、コンピュータ実行可能命令、ファームウェア、又はコンピュータ可読媒体内に固定された任意の好適なコンピュータ実施アルゴリズム若しくはプロセスを含むことができる。映像圧縮及び復元は、MPEG-1、MPEG-2、MPEG-4、H.26xシリーズ、又は同様のものなどの、様々なアルゴリズム又は規格によって実施され得る。用途によっては、コーデックは映像を第1の符号化規格から復元し、復元された映像を、第2の符号化規格を用いて再圧縮することができる。この場合には、コーデックは「トランスコーダ」と称され得る。
【0015】
[049] 映像符号化プロセスは、ピクチャを再構成するために用いることができる有用な情報を識別し、維持し得る。映像符号化プロセスにおいて無視された情報を完全に再構成することができない場合、符号化プロセスは「非可逆」と称され得る。さもなければ、それは「可逆」と称され得る。大抵の符号化プロセスは非可逆であり、これは、必要とされる記憶空間及び伝送帯域幅を低減するためのトレードオフである。
【0016】
[050] 多くの場合、符号化中のピクチャ(「現在のピクチャ」と称される)の有用な情報は、参照ピクチャ(例えば、以前に符号化されたか、又は再構成されたピクチャ)に対する変化を含む。このような変化は、ピクセルの位置の変化、明るさの変化、又は色の変化を含むことができる。オブジェクトを表現するピクセルのグループの位置の変化は、参照ピクチャと現在のピクチャとの間のオブジェクトの動きを反映することができる。
【0017】
[051] 別のピクチャを参照することなく符号化されたピクチャ(すなわち、それがそれ自身の参照ピクチャである)は「Iピクチャ」と称される。以前のピクチャを参照ピクチャとして用いて符号化されたピクチャは「Pピクチャ」と称される。以前のピクチャ及び将来のピクチャの両方を参照ピクチャとして用いて符号化されたピクチャ(すなわち、参照は「双方向性」である)は「Bピクチャ」と称される。
【0018】
[052]
図1は、本開示のいくつかの実施形態に係る、例示的な映像シーケンス100の構造を示す。
図1に示すように、映像シーケンス100は、ライブ映像、又は取り込まれ、アーカイブされた映像であることができる。映像100は、現実の映像、コンピュータ生成映像(例えば、コンピュータゲーム映像)、又はこれらの組み合わせ(例えば、拡張現実感効果を伴う現実の映像)であることができる。映像シーケンス100は、映像取り込みデバイス(例えば、カメラ)、以前に取り込まれた映像を包含する映像アーカイブ(例えば、記憶デバイス内に記憶された映像ファイル)、又は映像コンテンツプロバイダからの映像を受信するための映像供給インターフェース(例えば、映像放送トランシーバ)から入力され得る。
【0019】
[053]
図1に示されるように、映像シーケンス100は、ピクチャ102、104、106、及び108を含む、タイムラインに沿って時間的に配列された一連のピクチャを含むことができる。ピクチャ102~106は連続しており、ピクチャ106及び108の間にはさらなるピクチャが存在する。
図1において、ピクチャ102はIピクチャであり、その参照ピクチャはピクチャ102自身である。ピクチャ104はPピクチャであり、その参照ピクチャは、矢印によって指示されるように、ピクチャ102である。ピクチャ106はBピクチャであり、その参照ピクチャは、矢印によって指示されるように、ピクチャ104及び108である。実施形態によっては、ピクチャ(例えば、ピクチャ104)の参照ピクチャは当該ピクチャの直前又は直後になくてもよい。例えば、ピクチャ104の参照ピクチャはピクチャ102の前のピクチャであることができる。ピクチャ102~106の参照ピクチャは単なる例にすぎず、本開示は参照ピクチャの実施形態を、
図1に示される例として限定しないことに留意されたい。
【0020】
[054] 典型的に、映像コーデックは、このようなタスクの計算の複雑性のゆえに、ピクチャ全体を一度に符号化又は復号化しない。むしろ、それらはピクチャを基本セグメントに分割し、ピクチャをセグメントごとに符号化又は復号化することができる。このような基本セグメントは本開示において基本処理ユニット(「BPU(basic processing unit)」)と称される。例えば、
図1における構造110は映像シーケンス100のピクチャ(例えば、ピクチャ102~108のうちの任意のもの)の例示的な構造を示す。構造110においては、ピクチャが4×4基本処理ユニットに分割され、それらの境界は破線として示されている。実施形態によっては、基本処理ユニットは、いくつかの映像符号化規格(例えば、MPEGファミリー、H.261、H.263、又はH.264/AVC)では、「マクロブロック」と、或いはいくつかの他の映像符号化規格(例えば、H.265/HEVC又はH.266/VVC)では、「符号化ツリーユニット」(「CTU(coding tree unit)」)と称され得る。基本処理ユニットは、128×128、64×64、32×32、16×16、4×8、16×32などの、ピクチャにおける可変サイズ、或いはピクセルの任意の随意の形状及びサイズを有することができる。基本処理ユニットのサイズ及び形状は、ピクチャのために、符号化効率と、基本処理ユニットにおいて維持されるべき詳細さのレベルとのバランスに基づいて選択することができる。
【0021】
[055] 基本処理ユニットは、コンピュータメモリ内に(例えば、映像フレームバッファ内に)記憶された異なる種類の映像データのグループを含むことができる、論理ユニットであることができる。例えば、カラーピクチャの基本処理ユニットは、無色の輝度情報を表現するルマ成分(Y)、色情報を表現する1つ以上のクロマ成分(例えば、Cb及びCr)、並びに関連構文要素を含むことができ、ここで、ルマ及びクロマ成分は基本処理ユニットの同じサイズを有することができる。ルマ及びクロマ成分は、いくつかの映像符号化規格(例えば、H.265/HEVC又はH.266/VVC)では、「符号化ツリーブロック」(「CTB(coding tree block)」)と称され得る。基本処理ユニットに対して遂行される任意の演算は、そのルマ及びクロマ成分の各々に対して繰り返し遂行され得る。
【0022】
[056] 映像符号化は複数の演算段階を有し、
図2A~
図2B及び
図3A~
図3Bにその例が示されている。段階ごとに、基本処理ユニットのサイズは依然として処理のために大きすぎるものになり得、それゆえ、本開示において「基本処理サブユニット」と称されるセグメントにさらに分割され得る。実施形態によっては、基本処理サブユニットは、いくつかの映像符号化規格(例えば、MPEGファミリー、H.261、H.263、又はH.264/AVC)では、「ブロック」と、或いはいくつかの他の映像符号化規格(例えば、H.265/HEVC又はH.266/VVC)では、「符号化ユニット」(「CU」)と称され得る。基本処理サブユニットは、基本処理ユニットと同じ、又はそれよりも小さいサイズを有することができる。基本処理ユニットと同様に、基本処理サブユニットもまた、コンピュータメモリ内に(例えば、映像フレームバッファ内に)記憶された異なる種類の映像データ(例えば、Y、Cb、Cr、及び関連構文要素)のグループを含むことができる、論理ユニットである。基本処理サブユニットに対して遂行される任意の動作は、そのルマ及びクロマ成分の各々に対して繰り返し遂行され得る。このような分割は処理の必要に応じてさらなるレベルまで遂行され得ることに留意されたい。また、異なる段階は、異なる方式を用いて基本処理ユニットを分割することができることにも留意されたい。
【0023】
[057] 例えば、モード決定段階(
図2Bにその一例が示されている)において、符号器は、どのような予測モード(例えば、イントラピクチャ予測又はインターピクチャ予測)を基本処理ユニットのために用いるかを決定することができるが、基本処理ユニットは、このような決定を行うには大きすぎるものになり得る。符号器は、基本処理ユニットを複数の基本処理サブユニット(例えば、H.265/HEVC又はH.266/VVCの場合のように、CU)に分割し、個々の基本処理サブユニットごとに予測の種類を決めることができる。
【0024】
[058] 別の例として、予測段階(
図2A~
図2Bにその例が示されている)において、符号器は、基本処理サブユニット(例えば、CU)のレベルで予測演算を遂行することができる。しかし、場合によっては、基本処理サブユニットは、依然として、処理するには大きすぎるものになり得る。符号器は、基本処理サブユニットをより小さいセグメント(例えば、H.265/HEVC又はH.266/VVCでは「予測ブロック(prediction block)」又は「PB」と称される)にさらに分割することができ、そのレベルで予測演算が遂行され得る。
【0025】
[059] 別の例として、変換段階(
図2A~
図2Bにその例が示されている)において、符号器は、残差基本処理サブユニット(例えば、CU)のための変換演算を遂行することができる。しかし、場合によっては、基本処理サブユニットは、依然として、処理するには大きすぎるものになり得る。符号器は、基本処理サブユニットをより小さいセグメント(例えば、H.265/HEVC又はH.266/VVCでは「変換ブロック(transform block)」又は「TB」と称される)にさらに分割することができ、そのレベルで変換演算が遂行され得る。同じ基本処理サブユニットの分割方式が、予測段階及び変換段階において異なってもよいことに留意されたい。例えば、H.265/HEVC又はH.266/VVCでは、同じCUの予測ブロック及び変換ブロックが異なるサイズ及び数を有してもよい。
【0026】
[060]
図1の構造110においては、基本処理ユニット112は3×3基本処理サブユニットにさらに分割され、それらの境界は点線として示されている。同じピクチャの異なる基本処理ユニットは異なる方式で基本処理サブユニットに分割されてもよい。
【0027】
[061] 実装形態によっては、並列処理及び誤り耐性の能力を映像符号化及び復号化にもたらすために、ピクチャを処理のための領域に分割することができ、これにより、符号化又は復号化プロセスは、ピクチャ領域に関して、ピクチャのいかなる他の領域からの情報にも依存しなくてすむ。換言すれば、ピクチャの各領域は独立して処理され得る。そうすることによって、コーデックはピクチャの異なる領域を並行して処理することができ、それゆえ、符号化効率を増大させる。また、領域のデータが処理中に破損したか、又はネットワーク伝送中に失われたときには、コーデックは、破損した、又は失われたデータを頼ることなく、同じピクチャの他の領域を正しく符号化又は復号化することもでき、それゆえ、誤り耐性の能力をもたらす。いくつかの映像符号化規格では、ピクチャを異なる種類の領域に分割することができる。例えば、H.265/HEVC及びH.266/VVCは2種類の領域:「スライス」及び「タイル」を提供する。また、映像シーケンス100の異なるピクチャは、ピクチャを領域に分割するための異なる区分方式を有することができることにも留意されたい。
【0028】
[062] 例えば、
図1では、構造110は3つの領域114、116、及び118に分割され、それらの境界は構造110の内部の実線として示されている。領域114は4つの基本処理ユニットを含む。領域116及び118の各々は6つの基本処理ユニットを含む。
図1における構造110の基本処理ユニット、基本処理サブユニット、及び領域は単なる例に過ぎず、本開示はその実施形態を限定しないことに留意されたい。
【0029】
[063]
図2Aは、本開示のいくつかの実施形態による、例示的な符号化プロセス200Aの概略図を示す。例えば、
図2Aに示す符号化プロセス200Aは、符号器によって遂行され得る。
図2Aに示されるように、符号器は、プロセス200Aに従って映像シーケンス202を映像ビットストリーム228に符号化することができる。
図1における映像シーケンス100と同様に、映像シーケンス202は、時間的順序で配列されたピクチャ(「原ピクチャ」と称される)のセットを含むことができる。
図1における構造110と同様に、映像シーケンス202の各原ピクチャは、符号器によって処理のために基本処理ユニット、基本処理サブユニット、又は領域に分割され得る。実施形態によっては、符号器は、映像シーケンス202の原ピクチャごとに基本処理ユニットのレベルでプロセス200Aを遂行することができる。例えば、符号器はプロセス200Aを反復的な仕方で遂行することができ、その場合、符号器は基本処理ユニットをプロセス200Aの1回の反復において符号化することができる。実施形態によっては、符号器はプロセス200Aを映像シーケンス202の各原ピクチャの領域(例えば、領域114~118)のために並行して遂行することができる。
【0030】
[064]
図2Aにおいて、符号器は、映像シーケンス202の原ピクチャの基本処理ユニット(「原BPU」と称される)を予測段階204に供給し、予測データ206及び予測BPU208を生成することができる。符号器は、予測BPU208を原BPUから減算し、残差BPU210を生成することができる。符号器は、残差BPU210を変換段階212及び量子化段階214に供給し、量子化変換係数216を生成することができる。符号器は、予測データ206及び量子化変換係数216を2値符号化段階226に供給し、映像ビットストリーム228を生成することができる。構成要素202、204、206、208、210、212、214、216、226、及び228は「順方向経路」と称され得る。プロセス200Aの間、量子化段階214の後に、符号器は、量子化変換係数216を逆量子化段階218及び逆変換段階220に供給し、再構成残差BPU222を生成することができる。符号器は、再構成残差BPU222を予測BPU208に加算し、プロセス200Aの次の反復のために予測段階204において用いられる、予測基準224を生成することができる。プロセス200Aの構成要素218、220、222、及び224は「再構成経路」と称され得る。再構成経路は、符号器及び復号器の両方が同じ参照データを予測のために用いることを確実にするために用いられ得る。
【0031】
[065] 符号器は、原ピクチャの各原BPUを(順方向経路内で)符号化し、原ピクチャの次の原BPUを符号化するための予測基準224を(再構成経路内で)生成するために、プロセス200Aを反復的に遂行することができる。原ピクチャの全ての原BPUを符号化した後に、符号器は、映像シーケンス202内の次のピクチャを符号化するために進むことができる。
【0032】
[066] プロセス200Aを参照すると、符号器は、映像取り込みデバイス(例えば、カメラ)によって生成された映像シーケンス202を受信することができる。本明細書において用いられる用語「受信する」は、受信すること、入力すること、獲得すること、取得すること、得ること、読み込むこと、アクセスすること、又はデータを入力するための任意の仕方による任意の行為を指すことができる。
【0033】
[067] 予測段階204において、現在の反復において、符号器は原BPU及び予測基準224を受信し、予測演算を遂行し、予測データ206及び予測BPU208を生成することができる。予測基準224は、プロセス200Aの以前の反復の再構成経路から生成され得る。予測段階204の目的は、予測データ206を抽出することによって、情報冗長性を低減することであり、予測データ206は、予測データ206及び予測基準224から予測BPU208として原BPUを再構成するために用いることができるる。
【0034】
[068] 理想的には、予測BPU208は原BPUと同一であることができる。しかし、非理想的な予測及び再構成演算のゆえに、予測BPU208は、概して、原BPUとは若干異なる。このような差を記録するために、予測BPU208を生成した後に、符号器はそれを原BPUから減算し、残差BPU210を生成することができる。例えば、符号器は、予測BPU208のピクセルの値(例えば、グレースケール値又はRGB値)を原BPUの対応するピクセルの値から減算することができる。残差BPU210の各ピクセルは、原BPU及び予測BPU208の対応するピクセルの間のこのような減算の結果としての残差値を有することができる。原BPUと比べて、予測データ206及び残差BPU210はより少数のビットを有することができるが、それらは、著しい品質劣化を伴うことなく原BPUを再構成するために用いられ得る。それゆえ、原BPUは圧縮される。
【0035】
[069] 残差BPU210をさらに圧縮するために、変換段階212において、符号器は、それを2次元「基底パターン」のセットに分解することによって、残差BPU210の空間的冗長性を低減することができ、各基底パターンは「変換係数」に関連付けられている。基底パターンは同じサイズ(例えば、残差BPU210のサイズ)を有することができる。各基底パターンは、残差BPU210の変化周波数(例えば、輝度変化の周波数)成分を表現することができる。基底パターンはいずれも、いかなる他の基底パターンのいかなる結合(例えば、線形結合)からも再現することができない。換言すれば、分解は残差BPU210の変化を周波数領域に分解することができる。このような分解は関数の離散フーリエ変換と類似しており、この場合、基底パターンは離散フーリエ変換の基底関数(例えば、三角関数)と類似しており、変換係数は、基底関数に関連付けられた係数と類似している。
【0036】
[070] 異なる変換アルゴリズムは異なる基底パターンを用いることができる。例えば、離散余弦変換、離散正弦変換、又は同様のものなどの、様々な変換アルゴリズムを変換段階212において用いることができる。変換段階212における変換は逆演算可能である。すなわち、符号器は、変換の逆演算(「逆変換」と称される)によって残差BPU210を回復することができる。例えば、残差BPU210のピクセルを回復するために、逆変換は、基底パターンの対応するピクセルの値にそれぞれの関連係数を乗算し、積を加算していき、加重和を生成することができる。映像符号化規格のために、符号器及び復号器は両方とも同じ変換アルゴリズム(それゆえ、同じ基底パターン)を用いることができる。それゆえ、符号器は変換係数のみを記録することができ、復号器は、基底パターンを符号器から受信することなく、変換係数から残差BPU210を再構成することができる。残差BPU210と比べて、変換係数はより少数のビットを有することができるが、それらは、著しい品質劣化を伴うことなく残差BPU210を再構成するために用いられ得る。それゆえ、残差BPU210はさらに圧縮される。
【0037】
[071] 符号器は、量子化段階214において変換係数をさらに圧縮することができる。変換プロセスにおいて、異なる基底パターンは異なる変化周波数(例えば、輝度変化周波数)を表現することができる。人間の眼は、概して、低周波数変化を認識することがより得意であるため、符号器は、復号化において著しい品質劣化を生じさせることなく高周波数変化の情報を無視することができる。例えば、量子化段階214において、符号器は、各変換係数を整数値(「量子化パラメータ」と称される)で除算し、商をその最近傍の整数に丸めることによって、量子化変換係数216を生成することができる。このような演算の後に、高周波数基底パターンの一部の変換係数は0に変換され得、低周波数基底パターンの変換係数はより小さい整数に変換され得る。符号器は0値の量子化変換係数216を無視することができ、これによって変換係数はさらに圧縮される。量子化プロセスもまた逆演算可能であり、この場合、量子化変換係数216は量子化の逆演算(「逆量子化」と称される)において変換係数に再構成され得る。
【0038】
[072] 符号器はこのような除算の剰余を丸め演算において無視するため、量子化段階214は非可逆になり得る。典型的に、量子化段階214はプロセス200Aにおいて最大の情報損失に寄与し得る。情報損失が大きいほど、量子化変換係数216は少ないビットを必要とし得る。異なる情報損失レベルを得るために、符号器は、量子化パラメータ又は量子化プロセスの任意の他のパラメータの異なる値を用いることができる。
【0039】
[073] 2値符号化段階226において、符号器は、例えば、エントロピー符号化、可変長符号化、算術符号化、ハフマン符号化、コンテキスト適応2値算術符号化、又は任意の他の可逆若しくは非可逆圧縮アルゴリズムなどの、2値符号化技法を用いて、予測データ206及び量子化変換係数216を符号化することができる。実施形態によっては、予測データ206及び量子化変換係数216のほかに、符号器は、例えば、予測段階204において用いられる予測モード、予測演算のパラメータ、変換段階212における変換の種類、量子化プロセスのパラメータ(例えば、量子化パラメータ)、符号器制御パラメータ(例えば、ビットレート制御パラメータ)、又は同様のものなどの、他の情報を2値符号化段階226において符号化することができる。符号器は、2値符号化段階226の出力データを用いて映像ビットストリーム228を生成することができる。実施形態によっては、映像ビットストリーム228をネットワーク伝送のためにさらにパケット化することができる。
【0040】
[074] プロセス200Aの再構成経路を参照すると、逆量子化段階218において、符号器は、量子化変換係数216に対して逆量子化を遂行し、再構成変換係数を生成することができる。逆変換段階220において、符号器は、再構成変換係数に基づいて再構成残差BPU222を生成することができる。符号器は、再構成残差BPU222を予測BPU208に加算し、プロセス200Aの次の反復において用いられることになる予測基準224を生成することができる。
【0041】
[075] プロセス200Aの他の変形を、映像シーケンス202を符号化するために用いることもできることに留意されたい。実施形態によっては、プロセス200Aの段階は符号器によって、異なる順序で遂行され得る。実施形態によっては、プロセス200Aの1つ以上の段階を単一の段階に組み合わせることができる。実施形態によっては、プロセス200Aの単一の段階を複数の段階に分割することができる。例えば、変換段階212及び量子化段階214を単一の段階に組み合わせることができる。実施形態によっては、プロセス200Aは追加の段階を含むことができる。実施形態によっては、プロセス200Aは
図2Aにおける1つ以上の段階を省略することができる。
【0042】
[076]
図2Bは、本開示のいくつかの実施形態による、別の例示的な符号化プロセス200Bの概略図を示す。
図2Bに示すように、プロセス200Bはプロセス200Aから変更され得る。例えば、プロセス200Bは、ハイブリッド映像符号化規格(例えば、H.26xシリーズ)に準拠した符号器によって用いられ得る。プロセス200Aと比べて、プロセス200Bの順方向経路は、モード決定段階230を追加的に含み、予測段階204を空間的予測段階2042及び時間的予測段階2044に分割する。プロセス200Bの再構成経路はループフィルタ段階232及びバッファ234を追加的に含む。
【0043】
[077] 概して、予測技法は2つの種類:空間的予測及び時間的予測に分類することができる。空間的予測(例えば、イントラピクチャ予測又は「イントラ予測」)は、現在のBPUを予測するために、同じピクチャ内の1つ以上のすでに符号化された隣接BPUからのピクセルを用いることができる。すなわち、空間的予測における予測基準224は隣接BPUを含むことができる。空間的予測はピクチャの固有の空間的冗長性を低減することができる。時間的予測(例えば、インターピクチャ予測又は「インター予測」)は、現在のBPUを予測するために、1つ以上のすでに符号化されたピクチャからの領域を用いることができる。すなわち、時間的予測における予測基準224は符号化ピクチャを含むことができる。時間的予測はピクチャの固有の時間的冗長性を低減することができる。
【0044】
[078] プロセス200Bを参照すると、順方向経路内において、符号器は予測演算を空間的予測段階2042及び時間的予測段階2044において遂行する。例えば、空間的予測段階2042において、符号器はイントラ予測を遂行することができる。符号化中のピクチャの原BPUのために、予測基準224は、(順方向経路内で)符号化され、(再構成経路内で)再構成された1つ以上の隣接BPUを同じピクチャ内に含むことができる。符号器は、隣接BPUを外挿することによって予測BPU208を生成することができる。外挿技法は、例えば、線形外挿若しくは補間、多項式外挿若しくは補間、又は同様のものを含むことができる。実施形態によっては、符号器は、予測BPU208のピクセルごとに、対応するピクセルの値を外挿することによるなどして、外挿をピクセルレベルで遂行することができる。外挿のために用いられる隣接BPUは、(例えば、原BPUの上の)鉛直方向、(例えば、原BPUの左の)水平方向、(例えば、原BPUの左下、右下、左上、若しくは右上の)対角方向、又は用いられる映像符号化規格において定義される任意の方向などの、様々な方向から原BPUに対して位置することができる。イントラ予測のために、予測データ206は、例えば、用いられる隣接BPUの場所(例えば、座標)、用いられる隣接BPUのサイズ、外挿のパラメータ、原BPUに対する用いられる隣接BPUの方向、又は同様のものを含むことができる。
【0045】
[079] 別の例として、時間的予測段階2044において、符号器はインター予測を遂行することができる。現在のピクチャの原BPUのために、予測基準224は、(順方向経路内で)符号化され、(再構成経路内で)再構成された1つ以上のピクチャ(「参照ピクチャ」と称される)を含むことができる。実施形態によっては、参照ピクチャはBPUごとに符号化され、再構成され得る。例えば、符号器は、再構成残差BPU222を予測BPU208に加算し、再構成BPUを生成することができる。同じピクチャの全ての再構成BPUが生成されたとき、符号器は、再構成ピクチャを参照ピクチャとして生成することができる。符号器は、参照ピクチャの範囲(「探索窓」と称される)内のマッチング領域を探索するために「動き推定」の演算を遂行することができる。参照ピクチャ内の探索窓の場所は、現在のピクチャの原BPUの場所に基づいて決定することができる。例えば、探索窓は、参照ピクチャ内の、現在のピクチャ内の原BPUと同じ座標を有する場所に中心を有することができ、所定の距離にわたって外へ拡張され得る。符号器が(例えば、画素再帰(pel-recursive)アルゴリズム、ブロックマッチングアルゴリズム、又は同様のものを用いることによって)探索窓内の原BPUと同様の領域を識別したとき、符号器はこのような領域をマッチング領域と決定することができる。マッチング領域は、原BPUとは異なる(例えば、原BPUよりも小さい、それに等しい、それよりも大きい、又は異なる形状の)寸法を有することができる。参照ピクチャ及び現在のピクチャが(例えば、
図1に示されるように)タイムライン内で時間的に分離されているため、時間が経過するにつれてマッチング領域は原BPUの場所へ「移動する」と見なすことができる。符号器はこのような動きの方向及び距離を「動きベクトル」として記録することができる。複数の参照ピクチャが(例えば、
図1におけるピクチャ106として)用いられるときには、符号器は、参照ピクチャごとにマッチング領域を探索し、その関連動きベクトルを決定することができる。実施形態によっては、符号器はそれぞれのマッチング参照ピクチャのマッチング領域のピクセル値に重みを付与することができる。
【0046】
[080] 動き推定は、例えば、並進、回転、ズーミング、又は同様のものなどの、様々な種類の動きを識別するために用いることができる。インター予測のために、予測データ206は、例えば、マッチング領域の場所(例えば、座標)、マッチング領域に関連付けられた動きベクトル、参照ピクチャの数、参照ピクチャに関連付けられた重み、又は同様のものを含むことができる。
【0047】
[081] 予測BPU208を生成するために、符号器は「動き補償」の演算を遂行することができる。動き補償は、予測データ206(例えば、動きベクトル)及び予測基準224に基づいて予測BPU208を再構成するために用いることができる。例えば、符号器は、動きベクトルに従って参照ピクチャのマッチング領域を移動させることができ、その場合、符号器は現在のピクチャの原BPUを予測することができる。複数の参照ピクチャが(例えば、
図1におけるピクチャ106として)用いられるときには、符号器はそれぞれの動きベクトルに従って参照ピクチャのマッチング領域を移動させ、マッチング領域のピクセル値を平均することができる。実施形態によっては、符号器がそれぞれのマッチング参照ピクチャのマッチング領域のピクセル値に重みを付与した場合には、符号器はピクセル値の加重和を、移動させられたマッチング領域に加算することができる。
【0048】
[082] 実施形態によっては、インター予測は一方向性又は双方向性であることができる。一方向性インター予測は現在のピクチャに対して同じ時間方向の1つ以上の参照ピクチャを用いることができる。例えば、
図1におけるピクチャ104は、参照ピクチャ(すなわち、ピクチャ102)がピクチャ104に先行する一方向インター予測ピクチャである。双方向インター予測は、現在のピクチャに対して両方の時間方向にある1つ以上の参照ピクチャを用いることができる。例えば、
図1におけるピクチャ106は、参照ピクチャ(すなわち、ピクチャ104及び108)がピクチャ104に対して両方の時間方向にある双方向インター予測ピクチャである。
【0049】
[083] プロセス200Bの順方向経路をなおも参照すると、空間的予測段階2042及び時間的予測段階2044の後に、モード決定段階230において、符号器は、予測モード(例えば、イントラ予測又はインター予測のうちの一方)をプロセス200Bの現在の反復のために選択することができる。例えば、符号器はレート-歪み最適化技法を遂行することができる。本技法では、符号器は、候補予測モードのビットレートと、候補予測モード下での再構成参照ピクチャの歪みとに依存するコスト関数の値を最小化する予測モードを選択することができる。選択された予測モードに応じて、符号器は、対応する予測BPU208及び予測データ206を生成することができる。
【0050】
[084] プロセス200Bの再構成経路内において、イントラ予測モードが順方向経路内で選択された場合には、予測基準224(例えば、現在のピクチャにおいて符号化され、再構成された現在のBPU)を生成した後に、符号器は、予測基準224を後の使用のために(例えば、現在のピクチャの次のBPUの補外のために)空間的予測段階2042に直接供給することができる。インター予測モードが順方向経路内で選択された場合には、予測基準224(例えば、全てのBPUが符号化され、再構成された現在のピクチャ)を生成した後に、符号器は、予測基準224をループフィルタ段階232に供給することができ、そこで、符号器はループフィルタを予測基準224に適用し、インター予測によって導入された歪み(例えば、ブロッキングアーチファクト)を低減又は解消することができる。符号器は、例えば、デブロッキング、サンプル適応オフセット、適応ループフィルタ、又は同様のものなどの、様々なループフィルタ技法をループフィルタ段階232において適用することができる。ループフィルタリングされた参照ピクチャは、後の使用のために(例えば、映像シーケンス202の将来のピクチャのためのインター予測基準ピクチャとして用いられるために)バッファ234(又は「復号化ピクチャバッファ」)内に記憶され得る。符号器は1つ以上の参照ピクチャを、時間的予測段階2044において用いられるためにバッファ234内に記憶することができる。実施形態によっては、符号器はループフィルタのパラメータ(例えば、ループフィルタ強度)を、量子化変換係数216、予測データ206、及び他の情報と共に、2値符号化段階226において符号化することができる。
【0051】
[085]
図3Aは、本開示のいくつかの実施形態による、例示的な復号化プロセス300Aの概略図を示す。
図3Aに示すように、プロセス300Aは、
図2Aにおける圧縮プロセス200Aに対応する復元プロセスであることができる。実施形態によっては、プロセス300Aはプロセス200Aの再構成経路と似たものであることができる。復号器はプロセス300Aに従って映像ビットストリーム228を映像ストリーム304に復号化することができる。映像ストリーム304は映像シーケンス202とよく似たものであることができる。しかし、圧縮及び復元プロセス(例えば、
図2A~
図2Bにおける量子化段階214)における情報損失のゆえに、概して、映像ストリーム304は映像シーケンス202と同一ではない。
図2A~
図2Bにおけるプロセス200A及び200Bと同様に、復号器は、映像ビットストリーム228内に符号化されたピクチャごとに基本処理ユニット(BPU)のレベルでプロセス300Aを遂行することができる。例えば、復号器はプロセス300Aを反復的な仕方で遂行することができ、その場合、復号器は基本処理ユニットをプロセス300Aの1回の反復において復号化することができる。実施形態によっては、復号器は、プロセス300Aを、映像ビットストリーム228内に符号化された各ピクチャの領域(例えば、領域114~118)のために並行して遂行することができる。
【0052】
[086]
図3Aにおいて、復号器は、符号化ピクチャの基本処理ユニット(「符号化BPU」と称される)に関連付けられた映像ビットストリーム228の部分を2値復号化段階302に供給することができる。2値復号化段階302において、復号器は、当該部分を予測データ206及び量子化変換係数216に復号化することができる。復号器は、量子化変換係数216を逆量子化段階218及び逆変換段階220に供給し、再構成残差BPU222を生成することができる。復号器は、予測データ206を予測段階204に供給し、予測BPU208を生成することができる。復号器は、再構成残差BPU222を予測BPU208に加算し、予測基準224を生成することができる。実施形態によっては、予測基準224をバッファ(例えば、コンピュータメモリ内の復号化ピクチャバッファ)内に記憶することができる。復号器は、予測演算をプロセス300Aの次の反復において遂行するために予測基準224を予測段階204に供給することができる。
【0053】
[087] 復号器は、符号化ピクチャの各符号化BPUを復号化し、符号化ピクチャの次の符号化BPUを符号化するための予測基準224を生成するために、プロセス300Aを反復的に遂行することができる。符号化ピクチャの全ての符号化BPUを復号化した後に、復号器はピクチャを表示のために映像ストリーム304に出力し、映像ビットストリーム228内の次の符号化ピクチャを復号化するために進むことができる。
【0054】
[088] 2値復号化段階302において、復号器は、符号器によって用いられた2値符号化技法(例えば、エントロピー符号化、可変長符号化、算術符号化、ハフマン符号化、コンテキスト適応2値算術符号化、又は任意の他の可逆圧縮アルゴリズム)の逆演算を遂行することができる。実施形態によっては、予測データ206及び量子化変換係数216のほかに、復号器は、例えば、予測モード、予測演算のパラメータ、変換の種類、量子化プロセスのパラメータ(例えば、量子化パラメータ)、符号器制御パラメータ(例えば、ビットレート制御パラメータ)、又は同様のものなどの、他の情報を2値復号化段階302において復号化することができる。実施形態によっては、映像ビットストリーム228がネットワークを通じてパケットの形で伝送される場合には、復号器は映像ビットストリーム228を、それを2値復号化段階302に供給する前にデパケット化することができる。
【0055】
[089]
図3Bは、本開示のいくつかの実施形態による、別の例示的な復号化プロセス300Bの概略図を示す。
図3Bに示すように、プロセス300Bはプロセス300Aから変更され得る。例えば、プロセス300Bは、ハイブリッド映像符号化規格(例えば、H.26xシリーズ)に準拠した復号器によって用いられ得る。プロセス300Aと比べて、プロセス300Bは、予測段階204を空間的予測段階2042及び時間的予測段階2044に追加的に分割し、ループフィルタ段階232及びバッファ234を追加的に含む。
【0056】
[090] プロセス300Bにおいて、復号化中の符号化ピクチャ(「現在のピクチャ」と称される)の符号化基本処理ユニット(「現在のBPU」と称される)のために、復号器によって2値復号化段階302から復号化された予測データ206は、いかなる予測モードが符号器によって現在のBPUを符号化するために用いられたのかに依存して、様々な種類のデータを含むことができる。例えば、イントラ予測が符号器によって、現在のBPUを符号化するために用いられた場合には、予測データ206は、イントラ予測、イントラ予測演算のパラメータ、又は同様のものを指示する予測モードインジケータ(例えば、フラグ値)を含むことができる。イントラ予測演算のパラメータは、例えば、参照として用いられる1つ以上の隣接BPUの場所(例えば、座標)、隣接BPUのサイズ、外挿のパラメータ、原BPUに対する隣接BPUの方向、又は同様のものを含むことができる。別の例として、インター予測が符号器によって、現在のBPUを符号化するために用いられた場合には、予測データ206は、インター予測、インター予測演算のパラメータ、又は同様のものを指示する予測モードインジケータ(例えば、フラグ値)を含むことができる。インター予測演算のパラメータは、例えば、現在のBPUに関連付けられた参照ピクチャの数、参照ピクチャにそれぞれ関連付けられた重み、それぞれの参照ピクチャ内の1つ以上のマッチング領域の場所(例えば、座標)、マッチング領域にそれぞれ関連付けられた1つ以上の動きベクトル、又は同様のものを含むことができる。
【0057】
[091] 予測モードインジケータに基づいて、復号器は、空間的予測段階2042において空間的予測(例えば、イントラ予測)を遂行するべきか、又は時間的予測段階2044において時間的予測(例えば、インター予測)を遂行するべきかを決定することができる。このような空間的予測又は時間的予測を遂行することの詳細は
図2Bにおいて説明されており、以下、繰り返されない。このような空間的予測又は時間的予測を遂行した後に、復号器は予測BPU208を生成することができる。復号器は、
図3Aにおいて説明されたように、予測BPU208及び再構成残差BPU222を加算し、予測基準224を生成することができる。
【0058】
[092] プロセス300Bにおいて、復号器は、予測演算をプロセス300Bの次の反復において遂行するために予測基準224を空間的予測段階2042又は時間的予測段階2044に供給することができる。例えば、現在のBPUが空間的予測段階2042においてイントラ予測を用いて復号化される場合には、予測基準224(例えば、復号化された現在のBPU)を生成した後に、復号器は、予測基準224を後の使用のために(例えば、現在のピクチャの次のBPUの外挿のために)空間的予測段階2042に直接供給することができる。現在のBPUが時間的予測段階2044においてインター予測を用いて復号化される場合には、予測基準224(例えば、全てのBPUが復号化された参照ピクチャ)を生成した後に、符号器は、予測基準224をループフィルタ段階232に供給し、歪み(例えば、ブロッキングアーチファクト)を低減又は解消することができる。復号器は、
図2Bにおいて説明されたとおりの仕方でループフィルタを予測基準224に適用することができる。ループフィルタリングされた参照ピクチャは、後の使用のために(例えば、映像ビットストリーム228の将来の符号化ピクチャのためのインター予測基準ピクチャとして用いられるために)バッファ234(例えば、コンピュータメモリ内の復号化ピクチャバッファ)内に記憶され得る。復号器は1つ以上の参照ピクチャを、時間的予測段階2044において用いられるためにバッファ234内に記憶することができる。実施形態によっては、予測データ206の予測モードインジケータが、インター予測が、現在のBPUを符号化するために用いられたことを指示するときには、予測データはループフィルタのパラメータ(例えば、ループフィルタ強度)をさらに含むことができる。
【0059】
[093]
図4は、本開示のいくつかの実施形態による、映像を符号化又は復号化するための例示的な装置400のブロック図である。
図4に示されるように、装置400はプロセッサ402を含むことができる。プロセッサ402が、本明細書において説明される命令を実行したとき、装置400は映像符号化又は復号化のための特殊機械になることができる。プロセッサ402は、情報を操作又は処理する能力を有する任意の種類の回路機構であることができる。例えば、プロセッサ402は、中央処理装置(又は「CPU(central processing unit)」)、グラフィック処理装置(又は「GPU(graphics processing unit)」)、ニューラル処理装置(「NPU(neural processing unit)」)、マイクロコントローラユニット(「MCU(microcontroller unit)」)、光プロセッサ、プログラマブル論理コントローラ、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ、知的財産(IP(intellectual property))コア、プログラマブル論理アレイ(PLA(Programmable Logic Array))、プログラマブルアレイ論理(PAL(Programmable Array Logic))、ジェネリックアレイ論理(GAL(Generic Array Logic))、複合プログラマブル論理装置(CPLD(Complex Programmable Logic Device))、フィールドプログラマブルゲートアレイ(FPGA(Field-Programmable Gate Array))、システムオンチップ(SoC(System On Chip))、特定用途向け集積回路(ASIC(Application-Specific Integrated Circuit))、又は同様のもののうちの、任意の数の任意の組み合わせを含むことができる。実施形態によっては、プロセッサ402はまた、単一の論理構成要素としてグループ化されたプロセッサのセットであることもできる。例えば、
図4に示されるように、プロセッサ402は、プロセッサ402a、プロセッサ402b、及びプロセッサ402nを含む、複数のプロセッサを含むことができる。
【0060】
[094] 装置400はまた、データ(例えば、命令のセット、コンピュータコード、中間データ、又は同様のもの)を記憶するように構成されたメモリ404を含むことができる。例えば、
図4に示されるように、記憶されるデータは、プログラム命令(例えば、プロセス200A、200B、300A、又は300Bにおける段階を実施するためのプログラム命令)、並びに処理のためのデータ(例えば、映像シーケンス202、映像ビットストリーム228、又は映像ストリーム304)を含むことができる。プロセッサ402は(例えば、バス410を介して)プログラム命令、及び処理のためのデータにアクセスし、プログラム命令を実行し、処理のためのデータに対する演算又は操作を遂行することができる。メモリ404は高速ランダムアクセス記憶デバイス又は不揮発性記憶デバイスを含むことができる。実施形態によっては、メモリ404は、ランダムアクセスメモリ(RAM(random-access memory))、リードオンリーメモリ(ROM(read-only memory))、光ディスク、磁気ディスク、ハードドライブ、ソリッドステートドライブ、フラッシュドライブ、セキュリティデジタル(SD(security digital))カード、メモリスティック、コンパクトフラッシュ(登録商標)(CF)カード、又は同様のもののうちの、任意の数の任意の組み合わせを含むことができる。メモリ404はまた、単一の論理構成要素としてグループ化されたメモリのグループ(
図4には示されていない)であることもできる。
【0061】
[095] バス410は、内部バス(例えば、CPU-メモリバス)、外部バス(例えば、ユニバーサルシリアルバスポート、ペリフェラルコンポーネントインターコネクトエクスプレスポート)、又は同様のものなどの、装置400の内部の構成要素の間でデータを転送する通信デバイスであることができる。
【0062】
[096] 曖昧さを生じさせることなく説明を容易にするために、プロセッサ402及び他のデータ処理回路は本開示においてまとめて「データ処理回路」と称される。データ処理回路は、完全にハードウェアとして、或いはソフトウェア、ハードウェア、又はファームウェアの組み合わせとして実施され得る。加えて、データ処理回路は単一の独立モジュールであることができるか、或いは装置400の任意の他の構成要素に完全に、又は部分的に組み合わせられ得る。
【0063】
[097] 装置400は、ネットワーク(例えば、インターネット、イントラネット、ローカルエリアネットワーク、移動通信ネットワーク、又は同様のもの)との有線又は無線通信を提供するためのネットワークインターフェース406をさらに含むことができる。実施形態によっては、ネットワークインターフェース406は、ネットワークインターフェースコントローラ(NIC(network interface controller))、無線周波数(RF(radio frequency))モジュール、トランスポンダ、トランシーバ、モデム、ルータ、ゲートウェイ、有線ネットワークアダプタ、無線ネットワークアダプタ、Bluetooth(登録商標)アダプタ、赤外線アダプタ、近距離無線通信(「NFC(near-field communication)」)アダプタ、セルラーネットワークチップ、又は同様のもののうちの任意の数の任意の組み合わせを含むことができる。
【0064】
[098] 実施形態によっては、装置400は、1つ以上の周辺デバイスへの接続を提供するための周辺インターフェース408をさらに含むことができる。
図4に示されるように、周辺デバイスは、限定するものではないが、カーソル制御デバイス(例えば、マウス、タッチパッド、又はタッチスクリーン)、キーボード、ディスプレイ(例えば、陰極線管ディスプレイ、液晶ディスプレイ、又は発光ダイオードディスプレイ)、映像入力デバイス(例えば、カメラ、又は映像アーカイブに通信可能に結合された入力インターフェース)、或いは同様のものを含むことができる。
【0065】
[099] 映像コーデック(例えば、プロセス200A、200B、300A、又は300Bを遂行するコーデック)は、装置400内の任意のソフトウェア又はハードウェアモジュールの任意の組み合わせとして実施され得ることに留意されたい。例えば、プロセス200A、200B、300A、又は300Bの一部又は全ての段階は、メモリ404内にロードされ得るプログラム命令などの、装置400の1つ以上のソフトウェアモジュールとして実施され得る。別の例として、プロセス200A、200B、300A、又は300Bの一部又は全ての段階は、特殊データ処理回路(例えば、FPGA、ASIC、NPU、又は同様のもの)などの、装置400の1つ以上のハードウェアモジュールとして実施され得る。
【0066】
[100] 量子化及び逆量子化機能ブロック(例えば、
図2A又は
図2Bの量子化214及び逆量子化218、
図3A又は
図3Bの逆量子化218)では、量子化パラメータ(QP(quantization parameter))が、予測残差に適用される量子化(及び逆量子化)の量を決定するために用いられる。ピクチャ又はスライスの符号化のために用いられる初期QP値は、例えば、ピクチャパラメータセット(PPS(Picture Parameter Set))内のinit_qp_minus26構文要素を用いて、及びスライスヘッダ内のslice_qp_delta構文要素を用いて、高レベルでシグナリングされ得る。さらに、QP値は、量子化グループの細分性で送信されたデルタQP値を用いてCUごとに局所レベルで適応させることができる。
【0067】
[101] 正距円筒図法(「ERP」)フォーマットは、360度の映像及び画像を表現するために用いられる一般的な投影フォーマットである。投影は、経線を一定間隔の垂直直線に、緯円を一定間隔の水平直線にマッピングする。マップ上の画像ピクセルの位置とその対応する球体上の地理的位置との間の関係が特に単純であるため、ERPは、360度映像及び画像に使用される最も一般的な投影の1つである。
【0068】
[102] 投影フォーマット変換のアルゴリズム記述及びJVETによって出力される映像品質基準は、ERPと球体との間の導入及び座標変換を与える。2Dから3Dへの座標変換について、サンプリング位置を(m,n)と仮定すると、(u,v)は、以下の式に基づいて計算され得る。
u=(m+0.5)/W、0≦m<W 式(1)
v=(n+0.5)/H、0≦n<H 式(2)
【0069】
[103] 次いで、球体の経度及び緯度(φ,θ)は、以下の式に基づいて(u,v)から計算され得る。
φ=(u-0.5)×(2×π) 式(3)
θ=(0.5-v)×π 式(4)
【0070】
[104] 座標(X,Y,Z)は、以下の式に基づいて計算され得る。
X=cos(θ)cos(φ) 式(5)
Y=sin(θ) 式(6)
Z=-cos(θ)sin(φ) 式(7)
【0071】
[105] (X,Y,Z)から始まる3Dから2Dへの座標変換について、(φ,θ)は、以下の式に基づいて計算され得る。次いで、(u,v)は、式に基づいて計算される。最後に、(m,n)は、式に基づいて計算され得る。
φ=tan-1(-Z/X) 式(8)
θ=sin-1(Y/(X2+Y2+Z2)1/2) 式(9)
【0072】
[106] ERPピクチャの左境界及び右境界を包含する再構成されたビューポートにおいてシームアーティファクトを低減するために、パディングされた正距円筒図法(「PERP」)と呼ばれる新たなフォーマットが、ERPピクチャの左側及び右側のそれぞれにサンプルをパディングすることによって提供される。
【0073】
[107] PERPが360度映像を表現するために用いられるとき、PERPピクチャは符号化される。復号後、再構成PERPは、2重化サンプルをブレンドすること又はパディングされた区域をクロッピングすることによって、再構成ERPに変換される。
【0074】
[108]
図5Aは、本開示のいくつかの実施形態に係る、再構成された正距円筒図法を生成するための例示的なブレンド動作の概略図を示す。別段の指定がない限り、「recPERP」は、後処理の前の再構成PERPを示すために用いられ、「recERP」は、後処理の後の再構成ERPを示すために用いられる。
図5Aに示されるように、recPERPの2重化サンプルは、距離に基づく加重平均演算を適用することによって、ブレンドされ得る。例えば、領域Aは、領域A1をA2とブレンドすることによって生成することができ、領域Bは領域B1をB2とブレンドすることによって生成される。
【0075】
[109] 以下の説明では、パディングされていないrecERPの幅及び高さは、それぞれ「W」及び「H」と示される。左パディング幅及び右パディング幅は、それぞれ「PL」及び「PR」と示される。合計パディング幅は、「PW」と示され、PWは、PL及びPRの合計であり得る。実施形態によっては、recPERPは、ブレンド動作によってrecERPに変換され得る。例えば、AにおけるサンプルrecERP(j,i)、i=[0,PR-1]及びj=[0,H-1]について、recERP(j,i)は、以下の式に従って決定され得る。
A=w×A1+(1-w)×A2、ここで、wはPL/Pwから1 式(10)
A内のrecERP(j,i)=(recPERP(j,i+PL)×(i+PL)+recPERP(j,i+PL+W)×(PR-i)+(PW>>1))/PW 式(11)
【0076】
[110] 実施形態によっては、BにおけるサンプルrecERP(j,i)、i=[W-PL,W-1]及びj=[0,H-1]について、recERP(j,i)は、以下の式に従って決定され得る。
B=k×B1+(1-k)×B2、ここで、kは0からPL/Pw 式(12)
B内のrecERP(j,i)=(recPERP(j,i+PL)×(PR-i+W)+recPERP(j,i+PL-w)×(i-W+PL)+(Pw>>1))/PW 式(13)
【0077】
[111]
図5Bは、本開示のいくつかの実施形態に係る、再構成された正距円筒図法を生成するための例示的なクロッピング動作の概略図を示す。
図5Bに示されるように、クロッピングプロセスの間、recPERPにおいてパディングされたサンプルは、recERPを得るために直接破棄され得る。例えば、パディングされたサンプルB1及びA2は破棄されてもよく、パディングされた区域Aは、A1に等しく、パディングされた区域Bは、B2に等しい。
【0078】
[112] 実施形態によっては、水平ラップアラウンド動き補償が、ERPの符号化性能を改善するために用いられ得る。例えば、水平ラップアラウンド動き補償は、ERPフォーマット又はPERPフォーマットで再構成された360度映像の視覚的品質を改善するように設計された360度固有の符号化ツールとしてVVC規格において用いられ得る。従来の動き補償では、動きベクトルが参照ピクチャのピクチャ境界を超えるサンプルを参照するときに、対応するピクチャ境界上の最近傍からコピーすることによって境界を超えたサンプルの値を導出するために反復パディングが適用される。360度映像の場合、反復パディングのこの方法は適当ではなく、再構成ビューポート映像において「シームアーティファクト」と呼ばれる視覚的アーティファクトを引き起こすことがある。360度映像は、球体上に取り込まれ、本来「境界」を有しないため、投影領域において参照ピクチャの境界外にある参照サンプルは、球体領域内の近傍サンプルから得られ得る。一般的な投影フォーマットの場合、2Dから3Dへの座標変換及び3Dから2Dへの座標変換だけでなく小数サンプル位置のためのサンプル補間も伴うため、球体領域内で対応する近傍サンプルを導出することは困難である場合がある。この問題は、左ピクチャ境界外側の球体近傍が、右ピクチャ境界内側のサンプルから得ることができ、逆も同様であるため、ERP又はPERP投影フォーマットの左境界及び右境界については解決され得る。ERP又はPERP投影フォーマットの幅広い使用及び実施態様の比較的容易性を考慮すると、水平ラップアラウンド動き補償は、ERP又はPERP投影フォーマットで符号化された360度映像の視覚的品質を改善するためにVVCに適合された。
【0079】
[113]
図6Aは、本開示のいくつかの実施形態に係る、正距円筒図法のための例示的な水平ラップアラウンド動き補償プロセスの概略図を示す。
図6Aに示されるように、参照ブロックの部分が投影領域内の参照ピクチャの左(又は右)境界の外側にあるとき、反復パディングの代わりに、「境界を超えた」部分が、投影領域の右(又は左)境界に対して参照ピクチャの中に位置する対応する球体近傍から取られ得る。実施形態によっては、反復パディングは、上部及び下部ピクチャ境界に対してのみ用いられる。
【0080】
[114]
図6Bは、本開示のいくつかの実施形態に係る、パディングされた正距円筒図法のための例示的な水平ラップアラウンド動き補償プロセスの概略図を示す。
図6Bに示されるように、水平ラップアラウンド動き補償は、360度映像符号化で使用されることが多い非標準的なパディング方法と組み合わされ得る。実施形態によっては、これは、ラップアラウンド動き補償オフセットを示す高レベル構文要素をシグナリングすることによって実現され、それは、パディングの前にERPピクチャ幅に設定され得る。この構文は、それに従って水平ラップアラウンドの位置を調整するために使用され得る。実施形態によっては、この構文は、左ピクチャ境界又は右ピクチャ境界の特定の量のパディングによって影響を受けない。その結果、この構文は、当然ERPピクチャの非対称パディングをサポートし得る。ERPピクチャの非対称パディングでは、左パディングと右パディングとが異なっている。実施形態によっては、ラップアラウンド動き補償は、以下の式に従って決定され得る。
【数1】
ここで、offsetは、ビットストリームでシグナリングされるラップアラウンド動き補償オフセットであってもよく、picWは、符号化前のパディング区域を含むピクチャ幅であってもよく、pos
xは、現在のブロック位置及び動きベクトルによって決定される参照位置であってもよく、式pos
x_wrapの出力は、ラップアラウンド動き補償において参照ブロックがある実際の参照位置であってもよい。ラップアラウンド動き補償オフセットのシグナリングオーバヘッドを保存するために、それは、最小ルマ符号化ブロック単位であってもよく、したがって、offsetは、offset
w×MinCbSizeYで置換され得る。offset
wは、ビットストリームでシグナリングされる最小ルマ符号化ブロック単位のラップアラウンド動き補償オフセットであり、MinCbSizeYは、最小ルマ符号化ブロックのサイズである。これに対して、従来の動き補償では、参照ブロックがある実際の参照位置は、0からpicW-1の範囲内でpos
xをクリッピングすることによって直接導出されてもよい。
【0081】
[115] 水平ラップアラウンド動き補償は、参照サンプルが参照ピクチャの左境界及び右境界の外側にあるときに、動き補償のためのより有意な情報を提供し得る。360度映像共通テスト条件下で、このツールは、レート歪みに関してだけではなく、再構成360度映像の低減されたシームアーティファクト及び主観的品質に関しても圧縮性能を改善し得る。水平ラップアラウンド動き補償は、調整された等積投影などの、水平方向に一定のサンプリング密度を有する他の単一面投影フォーマットにも用いられ得る。
【0082】
[116] 実施形態によっては、ラップアラウンド動き補償オフセットに対して制限が課される。オフセットの値は、(CtbSizeY/MinCbSizeY+2)から(pic_width_in_luma_samples/MinCbSizeY)の範囲から導出され得る。ここで、変数「CtbSizeY」は、符号化ツリーブロック(「CTB」)のルマサイズを指し、変数「MinCbSizeY」は、ルマ符号化ブロックの最小サイズを指し、変数「pic_width_in_luma_samples」は、ルマサンプルのピクチャ幅を指して、実際の用途では不要であるがハードウェア実施態様に対して負荷をもたらす、ラップアラウンドの繰り返しを回避する。
【0083】
[117]
図7は、本開示のいくつかの実施形態に係る、ラップアラウンド動き補償のための例示的なシーケンスパラメータセットの構文を示す。
図5に示されるように、VVC(例えば、VVCドラフト7)では、ラップアラウンド動き補償について、有効フラグ「sps_ref_wraparound_enabled_flag」及びオフセット「sps_ref_wraparound_offset_minus1」が、シーケンスパラメータセット(「PPS」)においてシグナリングされ得る。
【0084】
[118]
図8は、本開示のいくつかの実施形態に係る、ラップアラウンド動き補償のための例示的なシーケンスパラメータセットの意味を示す。
図8に示される意味は、
図7に示される構文に対応し得ることを理解されたい。
図8に示されるように、実施形態によっては、「sps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償がインター予測に適用されるかどうかを示し得る。例えば、1の値は、水平ラップアラウンド動き補償が適用されることを示してもよく、0の値は、水平ラップアラウンド動き補償が適用されないことを示してもよい。実施形態によっては、(CtbSizeY/MinCbSizeY+1)の値が(pic_width_in_luma_samples/MinCbSizeY-1)よりも大きいとき、sps_ref_wraparound_enabled_flagの値は、0に等しく、その場合に「pic_width_in_luma_samples」は、SPSを参照する任意のPPS内の「pic_width_in_luma_samples」の値である。
【0085】
[119] 実施形態によっては、
図8に示されるように、「sps_ref_wraparound_offset_minus1」+1は、「MinCbSizeY」ルマサンプル単位の水平ラップアラウンド位置を計算するために用いられるオフセットを示し得る。実施形態によっては、ref_wraparound_offset_minus1の値は、(CtbSizeY/MinCbSizeY)+1から(pic_width_in_luma_samples/MinCbSizeY)-1を含む範囲内にあり、ここで、pic_width_in_luma_samplesは、SPSを参照する任意のPPS内のpic_width_in_luma_samplesの値である。
【0086】
[120]
図7に示される構文及び
図8に示される意味にはいくつかの問題がある。特に、「sps_ref_wraparound_enabled_flag」及び「sps_ref_wraparound_offset_minus1」は、SPSにおいてシグナリングされる構文要素であるが、PPS上でシグナリングされる「pic_width_in_luma_samples」の全てに依存する適合性制約が存在する。SPSは、PPSよりも高レベルの構文であり、通常高レベルの構文はより低いレベルの構文を参照すべきではないため、SPS構文要素値の値を関連するPPSの全てにおける構文要素によって制限することには問題が含まれ得る。さらに、実施形態によっては、ラップアラウンド動き補償は、シーケンスレベルで制御されるが、ピクチャサイズの変更は、VVCドラフト(例えば、VVCドラフト7)において許可される。同時に、「sps_ref_wraparound_enabled_flag」は、SPSを参照するシーケンス内の全てのピクチャの幅が制約条件を満たすときにのみ、真となり得る。したがって、1つのフレームだけがサイズ条件を満たさない場合でも、ラップアラウンド動き補償を使用することができない。これは、1つのフレームに起因して全シーケンスについてのラップアラウンド動き補償の利益が失われ得ることを意味する。
【0087】
[121] 加えて、実施形態によっては、「sps_ref_wraparound_offset_minus1」は、(CtbSizeY/MinCbSizeY)+1から(pic_width_in_luma_samples/MinCbSizeY)-1である。したがって、sps_ref_wraparound_offset_minus1についてのビットストリームにおいてシグナリングされる最小値は、(CtbSizeY/MinCbSizeY)+1であり、これは、0値ではない場合がある。概して、値が大きいほど、より小さな値よりもシグナリングにおいて多くのビットを必要とする。その結果、0から始まらない値の範囲を有する構文要素をシグナリングすることは、効率的ではない。
【0088】
[122] 本開示の実施形態は、上述した問題を解決するための改善された方法を提供する。
図9は、本開示のいくつかの実施形態に係る、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの構文を示す。実施形態によっては、ラップアラウンド動き補償(「MC」)オフセットのシグナリングオーバヘッドが、保存され得る。ラップアラウンド動き補償オフセットについて指定されたビットを保存するために、ラップアラウンド動き補償オフセットがシグナリングされる前に、(CtbSizeY/MinCbSizeY)+2が、ラップアラウンド動き補償オフセットから減算され得る。その結果、この構文要素の最小値は、0であり得る。
【0089】
[123]
図10は、本開示のいくつかの実施形態に係る、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの意味を示す。
図10に示されるように、前のVVCからの変更が、斜体で示される。
図10に示される意味は、
図9に示される構文に対応し得ることを理解されたい。
【0090】
[124] 実施形態によっては、
図10に示されるように、「sps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償がインター予測に適用されるかどうかを示し得る。例えば、1の値は、水平ラップアラウンド動き補償が適用されることを示してもよく、0の値は、水平ラップアラウンド動き補償が適用されないことを示してもよい。実施形態によっては、(CtbSizeY/MinCbSizeY+1)の値が(pic_width_in_luma_samples/MinCbSizeY-1)より大きいとき、「sps_ref_wraparound_enabled_flag」の値が0に等しい。
【0091】
[125] 実施形態によっては、
図10に示されるように、「sps_ref_wraparound_offset」+(CtbSizeY/MinCbSizeY)+2は、「MinCbSizeY」ルマサンプル単位の水平ラップアラウンド位置を計算するために用いられるオフセットを示し得る。「sps_ref_wraparound_offset」の値は、0から(pic_width_in_luma_samples/MinCbSizeY)-(CtbSizeY/MinCbSizeY)-2を含む範囲内にあり得る。ここで、pic_width_in_luma_samplesは、SPSを参照する任意のPPS内のpic_width_in_luma_samplesの値である。
【0092】
[126] 上述の通り、従来設計での別の問題は、映像シーケンス内の1つのピクチャが適合性要件に違反する寸法を有する場合でも、ラップアラウンドMCは、映像シーケンス内の全てのピクチャについて無効にされることである。実施形態によっては、構文要素値に対する制約が除去される。ラップアラウンド動き補償の制御フラグsps_ref_wraparound_enabled_flagは、SPSにおいて最初にシグナリングされる。実施形態によっては、sps_ref_wraparound_enabled_flagが真である場合に、オフセット値sps_ref_wraparound_offset_minus1がシグナリングされる。
【0093】
[127]
図11は、本開示のいくつかの実施形態に係る、最大ピクチャ幅を用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの意味を示す。
図11に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された意味は、さらに取り消し線で示される。
【0094】
[128] 実施形態によっては、
図11に示されるように、「sps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償がインター予測に適用されるかどうかを示し得る。例えば、1の値は、水平ラップアラウンド動き補償がインター予測に適用され得ることを示してもよく、0の値は、水平ラップアラウンド動き補償が適用されないことを示してもよい。
【0095】
[129] 実施形態によっては、
図11に示されるように、「sps_ref_wraparound_offset_minus1」+1は、「MinCbSizeY」ルマサンプル単位の水平ラップアラウンド位置を計算するために用いられるオフセットの最大値を示し得る。実施形態によっては、「sps_ref_wraparound_offset_minus1」の値は、(CtbSizeY/MinCbSizeY)+1から(pic_width_max_in_luma_samples/MinCbSizeY)-1を含む範囲内にある。
【0096】
[130] 実施形態によっては、「pic_width_max_in_luma_samples」は、SPSを参照する復号された各ピクチャのルマサンプル単位の最大幅である。
【0097】
[131] 実施形態によっては、シーケンスのピクチャ毎に、2つの変数「PicRefWraparoundEnableFlag」及び「PicRefWraparoundOffset」が定義され得る。
図12は、本開示のいくつかの実施形態に係る、変数「PicRefWraparoundEnableFlag」及び「PicRefWraparoundOffset」の導出例を示す。
図12に示されるように、「pic_width_in_luma_samples」は、「pic_width_in_luma_samples」がシグナリングされるPPSを参照するピクチャの幅を指し得る。
【0098】
[132] 実施形態によっては、
図12に示されるように、変数「PicRefWraparoundEnableFlag」は、ラップアラウンドMCが現在のピクチャに対して有効であり得るかどうかを決定するために用いられ得る。例えば、「PicRefWraparoundEnableFlag」の値が、ラップアラウンドMCが現在のピクチャに対して有効であり得ることを示している場合、オフセット「PicRefWraparoundOffset」が動き補償プロセスにおいて使用される。
【0099】
[133]
図13は、本開示のいくつかの実施形態に係る、動き補償に使用されるサンプル位置の導出例を示す。
図13に示されるように、サンプル位置(xInt
i,yInt
i)は、ラップアラウンドの前のサンプル位置を指し、サンプル位置(xInt
i,yInt
i)が決定され得る。実施形態によっては、変数「picW」は、変数「pic_width_in_luma_samples」に等しい。実施形態によっては、機能「ClipH」及び「Clip3」は、
図13に示される式に従って実行され得る。
【0100】
[134] 実施形態によっては、ラップアラウンド動き補償制御フラグは、やはりSPSにおいてシグナリングされ得るが、ラップアラウンド動き補償オフセットは、SPSではなくPPSにおいてシグナリングされる。
図14は、本開示のいくつかの実施形態に係る、ピクチャパラメータセット内のラップアラウンド動き補償オフセットを用いたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの構文を示す。
図14に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された構文は、さらに取り消し線で示される。実施形態によっては、
図14に示されるように、「sps_ref_wraparound_enabled_flag」は、SPSにおいてシグナリングされ、「pps_ref_wraparound_offset_minus1」は、PPSにおいてシグナリングされる。
【0101】
[135]
図15は、本開示のいくつかの実施形態に係る、ピクチャパラメータセット内のラップアラウンド動き補償オフセットを用いたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの意味を示す。
図15に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された意味は、さらに取り消し線で示される。
図15に示される意味は、
図14に示される構文に対応し得ることを理解されたい。
【0102】
[136] 実施形態によっては、
図15に示されるように、「sps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償がインター予測に適用されるかどうかを示し得る。例えば、1の値は、水平ラップアラウンド動き補償が適用されることを示してもよく、0の値は、水平ラップアラウンド動き補償が適用されないことを示してもよい。
【0103】
[137] 実施形態によっては、
図15に示されるように、「pps_ref_wraparound_offset_minus1」+1は、「MinCbSizeY」ルマサンプル単位の水平ラップアラウンド位置を計算するために用いられるオフセットを示し得る。実施形態によっては、「sps_ref_wraparound_enabled_flag」が0に等しいか、又は(CtbSizeY/MinCbSizeY+1)の値が(pic_width_in_luma_samples/MinCbSizeY-1)より大きいとき、「pps_ref_wraparound_offset_minus1」は0に等しい。上記以外の場合、「pps_ref_wraparound_offset_minus1」の値は、(CtbSizeY/MinCbSizeY)+1から(pic_width_in_luma_samples/MinCbSizeY)-1を含む範囲内にある。
【0104】
[138] 実施形態によっては、シーケンスのピクチャ毎に、2つの変数「PicRefWraparoundEnableFlag」及び「PicRefWraparoundOffset」が定義され得る。実施形態によっては、「PicRefWraparoundEnableFlag」は、
図12に示されるように決定され得る。実施形態によっては、「PicRefWraparoundOffset」は、「pps_ref_wraparound_offset_minus1」+1と決定され得る。
【0105】
[139] 実施形態によっては、復号プロセス中に、「PicRefWraparoundEnableFlag」及び「PicRefWraparoundOffset」が、ラップアラウンド動き補償に使用され得る。例えば、動き補償に使用されるサンプル位置(xInt
i,yInt
i)は、
図13に示される方法で導出され得る。
図13に示されるように、実施形態によっては、変数「picW」は、「pic_width_in_luma_samples」に等しくてもよい。
【0106】
[140] 実施形態によっては、ラップアラウンド動き補償制御フラグは、やはりシグナリングされ得るが、ラップアラウンド動き補償オフセットは、SPSではなくPPSにおいてシグナリングされる。さらに、「pps_ref_wraparound_offset」は、PPSを参照するピクチャについてのラップアラウンド動き補償の使用も示し得る。
図16は、本開示のいくつかの実施形態に係る、ラップアラウンド動き補償オフセットのない改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの構文を示す。
図16に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された構文は、さらに取り消し線で示される。
図14に示されるように、「sps_ref_wraparound_enabled_flag」が、SPSにおいてシグナリングされ得る。
【0107】
[141]
図17は、本開示のいくつかの実施形態に係る、ラップアラウンド動き補償オフセットを用いた、改善されたラップアラウンド動き補償のための例示的なピクチャパラメータセットの構文を示す。
図17に示されるように、前のVVCからの変更が、斜体で示される。
図17に示されるPPSは、
図16に示されるSPSに対応し得ることを理解されたい。
図17に示されるように、「pps_ref_wraparound_offset」は、PPSにおいてシグナリングされ得る。実施形態によっては、PPSにおいてシグナリングされる「pps_ref_wraparound_offset」は、PPSを参照するピクチャについてのラップアラウンド動き補償の使用も示し得る。換言すれば、符号器は、pps_ref_wraparound_offsetを特殊値に設定することによって、PPSレベルにおいてラップアラウンド動き補償を無効にし得る。
【0108】
[142]
図18は、本開示のいくつかの実施形態に係る、ピクチャパラメータセット内のラップアラウンド動き補償オフセットを用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの意味を示す。
図18に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された意味は、さらに取り消し線で示される。
図18に示される意味は、
図16及び
図17に示される構文に対応し得ることを理解されたい。
【0109】
[143] 実施形態によっては、
図18に示されるように、「sps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償がインター予測に適用されるかどうかを示し得る。例えば、1の値は、水平ラップアラウンド動き補償がインター予測に適用され得ることを示してもよく、0の値は、水平ラップアラウンド動き補償が適用されないことを示してもよい。
【0110】
[144] 実施形態によっては、
図18に示されるように、「pps_ref_wraparound_offset」+1は、MinCbSizeYルマサンプル単位の水平ラップアラウンド位置を計算するために用いられるオフセットの値を示し得る。例えば、「pps_ref_wraparound_offset」が0に等しいとき、ラップアラウンド動き補償は、無効にされる。「sps_ref_wraparound_enabled_flag」が0に等しいか、又は(CtbSizeY/MinCbSizeY+1)の値が(pic_width_in_luma_samples/MinCbSizeY-1)より大きいとき、「pps_ref_wraparound_offset」は0に等しい。上記以外の場合、「pps_ref_wraparound_offset」の値は、(CtbSizeY/MinCbSizeY)+1から(pic_width_in_luma_samples/MinCbSizeY)-1を含む範囲内にある。
【0111】
[145] 実施形態によっては、シーケンスのピクチャ毎に、2つの変数「PicRefWraparoundEnableFlag」及び「PicRefWraparoundOffset」が定義され得る。
図19は、本開示のいくつかの実施形態に係る、変数「PicRefWraparoundEnableFlag」及び「PicRefWraparoundOffset」の導出例を示す。
【0112】
[146] 実施形態によっては、復号プロセス中に、「PicRefWraparoundEnableFlag」及び「PicRefWraparoundOffset」が、ラップアラウンド動き補償に使用され得る。例えば、動き補償に使用されるサンプル位置(xInt
i,yInt
i)は、
図11に示される方法で導出され得る。
図11に示されるように、実施形態によっては、変数「picW」は、「pic_width_in_luma_samples」に等しくてもよい。
【0113】
[147] 実施形態によっては、構文が変更される。ラップアラウンド動き補償制御フラグは、やはりSPSにおいてシグナリングされ得るが、ラップアラウンド動き補償オフセットは、SPSではなくPPSにおいてシグナリングされる。さらに、PPSレベルのラップアラウンド動き補償制御フラグもまた、シグナリングされ得る。
図20は、本開示のいくつかの実施形態に係る、シーケンスパラメータセット内にラップアラウンド動き補償オフセットのない、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの構文を示す。
図20に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された構文は、さらに取り消し線で示される。
図20に示されるように、「sps_ref_wraparound_enabled_flag」が、SPSにおいてシグナリングされ得る。
【0114】
[148]
図21は、本開示のいくつかの実施形態に係る、ラップアラウンド制御フラグを用いた、改善されたラップアラウンド動き補償のための例示的なピクチャパラメータセットの構文を示す。
図21に示されるように、前のVVCからの変更が、斜体で示される。
図21に示されるように、「pps_ref_wraparound_enabled_flag」が、PPSにおいてシグナリングされ得る。実施形態によっては、「pps_ref_wraparound_enabled_flag」が真である(例えば、値が1に等しい)場合、「pps_ref_wraparound_offset」がシグナリングされ得る。
【0115】
[149]
図22は、本開示のいくつかの実施形態に係る、ピクチャパラメータセット内のラップアラウンド制御フラグを用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの意味を示す。
図22に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された意味は、さらに取り消し線で示される。
図22に示される意味は、
図20及び
図21に示される構文に対応し得ることを理解されたい。
【0116】
[150] 実施形態によっては、
図22に示されるように、「sps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償がインター予測に適用されるかどうかを示し得る。例えば、1の値は、水平ラップアラウンド動き補償がインター予測に適用され得ることを示してもよく、0の値は、水平ラップアラウンド動き補償が適用されないことを示してもよい。
【0117】
[151] 実施形態によっては、
図22に示されるように、1に等しい「pps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償がインター予測において適用されることを示し得る。0に等しい「pps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償が適用されないことを示し得る。実施形態によっては、「sps_ref_wraparound_enabled_flag」が0に等しいか、又は(CtbSizeY/MinCbSizeY+1)の値が(pic_width_in_luma_samples/MinCbSizeY-1)より大きいとき、「pps_ref_wraparound_enabled_flag」は0に等しい。
【0118】
[152] 実施形態によっては、
図22に示されるようにシーケンスパラメータセット及びピクチャパラメータセットのための代替的な意味が存在する。
図23は、本開示のいくつかの実施形態に係る、ピクチャパラメータセット内のラップアラウンド制御フラグを用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの意味を示す。
図23に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された意味は、さらに取り消し線で示される。
図23に示される意味は、
図20及び
図21に示される構文に対応し得ることを理解されたい。
【0119】
[153] 実施形態によっては、
図23に示されるように、1に等しい「pps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償がインター予測に適用されることを示し得る。0に等しい「pps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償が適用されないことを示し得る。実施形態によっては、「sps_ref_wraparound_enabled_flag」が0に等しいか、又は(CtbSizeY/MinCbSizeY+1)の値が(pic_width_in_luma_samples/MinCbSizeY-1)より大きいとき、「pps_ref_wraparound_enabled_flag」は0である。上記以外の場合、「pps_ref_wraparound_enabled_flag」は1に等しい。
【0120】
[154] 実施形態によっては、
図23に示されるように、「pps_ref_wraparound_offset」+(CtbSizeY/MinCbSizeY)+2は、MinCbSizeYルマサンプル単位の水平ラップアラウンド位置を計算するために用いられるオフセットの値を指定し得る。実施形態によっては、「pps_ref_wraparound_offset」の値は、存在する場合、0から(pic_width_in_luma_samples/MinCbSizeY)-(CtbSizeY/MinCbSizeY)-2を含む範囲内にあり得る。
【0121】
[155] 実施形態によっては、シーケンスのピクチャ毎に、変数「PicRefWraparoundOffset」が定義され得る。例えば、「PicRefWraparoundOffset」は、pps_ref_wraparound_offset_minus1+1として導出され得る。
【0122】
[156] 実施形態によっては、復号プロセス中に、変数「pps_ref_wraparound_enabled_flag」及び「PicRefWraparoundOffset」が、ラップアラウンド動き補償に使用され得る。
図24は、本開示のいくつかの実施形態に係る、変数「PicRefWraparoundOffset」の導出例を示す。
図24に示されるように、変数「PicRefWraparoundOffset」は、変数「pps_ref_wraparound_offset」、「CtbSizeY」、及び「MinCbSizeY」に従って導出され得る。実施形態によっては、変数「PicRefWraparoundOffset」は、
図13に示されるサンプル位置に類似の、動き補償に使用されるサンプル位置(xInt
i,yInt
i)を決定するためにも用いられ得る。
図13に示されるように、変数「picW」は、「pic_width_in_luma_samples」に等しくてもよい。
【0123】
[157] 実施形態によっては、「sps_ref_wraparound_enabled_flag」は除去されてもよく、「pps_ref_wraparound_enabled_flag」及び「pps_ref_wraparound_offset」が保持されてもよい。
【0124】
[158] 実施形態によっては、「sps_ref_wraparound_enabled_flag」及び「sps_ref_wraparound_offset_minus1」の値範囲に対する制限が除去されてもよく、SPS及びPPSにおいてシグナリングされるピクチャサイズの値範囲に対する制限が追加されてもよい。さらに、構文の変更はなくてもよい。
図25は、本開示のいくつかの実施形態に係る、ピクチャサイズに対する制限を用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセット及びピクチャパラメータセットの意味を示す。
図25に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された意味は、さらに取り消し線で示される。
【0125】
[159] 実施形態によっては、
図25に示されるように、「pic_width_max_in_luma_samples」は、SPSを参照する復号された各ピクチャのルマサンプル単位の最大幅を示し得る。実施形態によっては、「pic_width_max_in_luma_samples」は、0に等しくなくてもよく、max(8,MinCbSizeY)の整数倍であってもよい。
【0126】
[160] 実施形態によっては、
図25に示されるように、「pic_height_max_in_luma_samples」は、SPSを参照する復号された各ピクチャのルマサンプル単位の最大高さを示し得る。実施形態によっては、「pic_height_max_in_luma_samples」は、0に等しくなくてもよく、max(8,MinCbSizeY)の整数倍であってもよい。
【0127】
[161] 実施形態によっては、
図25に示されるように、1に等しい「sps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償がインター予測に適用されることを示してもよく、0に等しい「sps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償が適用されないことを示してもよい。
【0128】
[162] 実施形態によっては、「sps_ref_wraparound_offset_minus1」+1は、「MinCbSizeY」ルマサンプル単位の水平ラップアラウンド位置を計算するために用いられるオフセットを示し得る。実施形態によっては、「sps_ref_wraparound_offset_minus1」の値は、(CtbSizeY/MinCbSizeY)+1以上である。
【0129】
[163] 実施形態によっては、「pic_width_max_in_luma_samples」、[CtbSizeY」、及び「MinCbSizeY」に対して制限が課され得る。
図26は、本開示のいくつかの実施形態に係る、変数「pic_width_max_in_luma_samples」、「CtbSizeY」、及び「MinCbSizeY」に課された制限を用いた、改善されたラップアラウンド動き補償のための例示的なシーケンスパラメータセットの意味を示す。
図26に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された意味は、さらに取り消し線で示される。
【0130】
[164] 実施形態によっては、「pic_width_in_luma_samples」に対して制限が課されることがあり、それは、PPSにおいてシグナリングされる。
図27は、本開示のいくつかの実施形態に係る、変数「pic_width_in_luma_samples」に課される制限を用いた、改善されたラップアラウンド動き補償のための例示的なピクチャパラメータセットの意味を示す。
図27に示されるように、前のVVCからの変更は、斜体で示され、提案される削除された意味は、さらに取り消し線で示される。
【0131】
[165] 実施形態によっては、
図9~11に示される方法は、
図11~27に示される方法のいずれかと組み合わされ得る。シグナリングコストを低減するために、ラップアラウンド動き補償オフセットがシグナリングされる前に特殊値がラップアラウンド動き補償オフセットから減算される(例えば、
図9~10に示される方法)ため、方法が組み合わされると、ビットストリームでシグナリングされるラップアラウンド動き補償オフセットの範囲制限も変更され得る。例えば、同一の特殊値が、上限及び下限の両方から減算されてもよい。さらに、減算後の下限が0である場合、ビットストリームにおいてシグナリングされたオフセットがVVC規格(例えば、VVCドラフト7)において負でない値であることが保証されるため、それは除去されてもよい。
【0132】
[166] 本開示の実施形態は、動き補償を実行する方法をさらに提供する。
図28は、本開示のいくつかの実施形態に係る、動き補償を実行するための例示的な方法のフローチャートを示す。
図28に示される方法28000は、
図9及び
図10に示される構文及び意味に従って実行され得ることを理解されたい。
【0133】
[167] ステップS28010において、ピクチャのシーケンスが受信される。シーケンスは、シーケンスラップアラウンド動き補償フラグ及びシーケンスラップアラウンド動き補償オフセットに関連付けられる。シーケンス動き補償ラップアラウンド動き補償オフセットについての最小値は、0である。例えば、
図9に示されるように、ラップアラウンド動き補償オフセットに対して指定されたビットを保存するために、ラップアラウンド動き補償オフセットがシグナリングされる前に、(CtbSizeY/MinCbSizeY)+2が、ラップアラウンド動き補償オフセットから減算され得る。その結果、この構文要素の最小値は、0であり得る。
【0134】
[168] ステップS28020において、シーケンスラップアラウンド動き補償フラグが有効であるかどうかが決定される。
【0135】
[169] ステップS28030では、シーケンスラップアラウンド動き補償フラグが有効であることに応じて、シーケンスラップアラウンド動き補償オフセットに従ってピクチャのシーケンス内のピクチャに対してラップアラウンド動き補償が実行される。実施形態によっては、動き補償は、VVC規格に従って実行される。
【0136】
[170] 本開示の実施形態は、シーケンスラップアラウンド動き補償オフセットについての制限された範囲を有する動き補償を実行するための方法をさらに提供する。
図29は、本開示のいくつかの実施形態に係る、シーケンスラップアラウンド動き補償オフセットについての制限された範囲を用いた動き補償を実行するための例示的な方法のフローチャートを示す。
図29に示される方法29000は、
図11に示される意味に従って実行され得ることを理解されたい。
【0137】
[171] ステップS29010において、ピクチャのシーケンスが受信される。シーケンスは、シーケンスラップアラウンド動き補償フラグ及びシーケンスラップアラウンド動き補償オフセットに関連付けられる。シーケンスラップアラウンド動き補償オフセットについての範囲は、ピクチャのシーケンス内のピクチャの最大幅に従って制限される。例えば、
図11に示されるように、「pic_width_max_in_luma_samples」は、SPSを参照する復号された各ピクチャのルマサンプル単位の最大幅を表し得る。「sps_ref_wraparound_offset_minus1」の値は、(CtbSizeY/MinCbSizeY)+1から(pic_width_max_in_luma_samples/MinCbSizeY)-1を含む範囲内にあり得る。
【0138】
[172] ステップS29020において、シーケンスラップアラウンド動き補償フラグが有効であるかどうかが決定される。
【0139】
[173] ステップS29030において、シーケンスラップアラウンド動き補償フラグが有効であることに応じて、シーケンスラップアラウンド動き補償オフセットに従ってピクチャのシーケンス内のピクチャに対してラップアラウンド動き補償が実行される。実施形態によっては、動き補償は、VVC規格に従って実行される。実施形態によっては、ラップアラウンド動き補償は、ピクチャのシーケンス内の複数のピクチャに対して実行されてもよく、複数のピクチャは、異なるサイズを有してもよい。実施形態によっては、ピクチャに対するラップアラウンド動き補償は、ピクチャラップアラウンド有効フラグが有効であることに応じてシーケンスラップアラウンド動き補償オフセットに従って実行される。ピクチャラップアラウンド有効フラグは、シーケンスラップアラウンド動き補償フラグに従って決定され得る。例えば、
図12に示されるように、ピクチャラップアラウンド有効フラグは、変数「sps_ref_wraparound_enabled_flag」を含む式から決定され得る。
【0140】
[174] 本開示の実施形態は、シーケンスラップアラウンド動き補償オフセットに関連付けられたピクチャを用いた動き補償を実行するための方法をさらに提供する。
図30は、本開示のいくつかの実施形態に係る、シーケンスラップアラウンド動き補償オフセットに関連付けられたピクチャを用いた動き補償を実行するための例示的な方法のフローチャートを示す。
図30に示される方法30000は、
図14及び
図15に示される構文及び意味に従って実行され得ることを理解されたい。
【0141】
[175] ステップS30010において、ピクチャのシーケンスが受信される。シーケンスは、シーケンスラップアラウンド動き補償フラグに関連付けられ、シーケンス内のピクチャは、ピクチャラップアラウンド動き補償オフセットに関連付けられる。例えば、
図14に示されるように、新たな変数「pps_ref_wraparound_offset」が、ピクチャパラメータセットに含まれてもよい。
【0142】
[176] ステップS30020において、シーケンスラップアラウンド動き補償フラグが有効であるかどうかが決定される。
【0143】
[177] ステップS30030において、シーケンスラップアラウンド動き補償フラグが有効であることに応じて、シーケンスラップアラウンド動き補償オフセットに従ってピクチャのシーケンス内のピクチャに対してラップアラウンド動き補償が実行される。実施形態によっては、動き補償は、VVC規格に従って実行される。実施形態によっては、ラップアラウンド動き補償は、ピクチャのシーケンス内の複数のピクチャに対して実行されてもよく、複数のピクチャは、異なるサイズを有してもよい。
【0144】
[178] 実施形態によっては、ピクチャに対するラップアラウンド動き補償は、ピクチャラップアラウンド有効フラグが有効であることに応じて、シーケンスラップアラウンド動き補償オフセットに従って実行される。ピクチャラップアラウンド有効フラグは、シーケンスラップアラウンド動き補償フラグに従って決定され得る。例えば、
図12に示されるように、ピクチャラップアラウンド有効フラグは、変数「sps_ref_wraparound_enabled_flag」を含む式から決定され得る。実施形態によっては、ピクチャラップアラウンド動き補償オフセットの最小値は0である。例えば、
図18に示されるように、変数「pps_ref_wraparound_offset」についての最小値は、0であってもよい。
【0145】
[179] 実施形態によっては、ピクチャは、ピクチャラップアラウンド動き補償フラグに関連付けられる。ピクチャラップアラウンド動き補償フラグが有効であることに応じて、ピクチャラップアラウンド動き補償オフセットに従ってピクチャに対してラップアラウンド動き補償が実行され得る。例えば、
図21に示されるように、新たな変数「pps_ref_wraparound_enabled_flag」が、ピクチャパラメータセットに追加されてもよい。
図22に示されるように、変数「pps_ref_wraparound_enabled_flag」は、水平ラップアラウンド動き補償がピクチャレベルで適用されるかどうかを示し得る。実施形態によっては、ピクチャラップアラウンド動き補償フラグが有効であることに応じて、ピクチャラップアラウンド動き補償オフセットがシグナリングされ得る。
【0146】
[180] 本開示の実施形態は、制限されたピクチャの最大サイズを有する動き補償を実行するための方法をさらに提供する。
図31は、本開示のいくつかの実施形態に係る、制限された最大ピクチャサイズを用いた動き補償を実行するための例示的な方法のフローチャートを示す。
図31に示される方法31000は、
図25に示される意味に従って実行され得ることを理解されたい。
【0147】
[181] ステップS31010において、ピクチャのシーケンスが受信される。シーケンスは、シーケンスラップアラウンド動き補償フラグに関連付けられ、シーケンス内のピクチャは、ピクチャラップアラウンド動き補償オフセットに関連付けられる。
【0148】
[182] ステップS31020において、シーケンスラップアラウンド動き補償フラグが有効であるかどうかが決定される。
【0149】
[183] ステップS31030において、シーケンスラップアラウンド動き補償フラグが有効であることに応じて、シーケンスラップアラウンド動き補償オフセットに従ってピクチャのシーケンス内のピクチャに対してラップアラウンド動き補償が実行される。ピクチャの最大サイズは、シーケンスラップアラウンド動き補償オフセットに従って最小値に制限される。例えば、
図26に示されるように、最大ピクチャ幅は、「sps_ref_wraparound_offset_minus1」を含む式に従って決定され得る。実施形態によっては、動き補償は、VVC規格に従って実行される。実施形態によっては、ラップアラウンド動き補償は、ピクチャのシーケンス内の複数のピクチャに対して実行されてもよく、複数のピクチャは、異なるサイズを有してもよい。実施形態によっては、ピクチャのサイズは、シーケンスラップアラウンド動き補償オフセットに従って最小値に制限される。例えば、
図27に示されるように、ピクチャ幅は、「sps_ref_wraparound_offset_minus1」を含む式に従って決定され得る。
【0150】
[184] 実施形態によっては、また、命令を含む非一時的コンピュータ可読記憶媒体が提供され、命令はデバイス(本開示の符号器及び復号器など)によって、上述の方法を遂行するために実行され得る。一般的な形態の非一時的媒体としては、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、又は任意の他の磁気データ記憶媒体、CD-ROM、任意の他の光学データ記憶媒体、孔のパターンを有する任意の物理媒体、RAM、PROM、及びEPROM、FLASH(登録商標)-EPROM又は任意の他のフラッシュメモリ、NVRAM、キャッシュ、レジスタ、任意の他のメモリチップ又はカートリッジ、並びにこれらのネットワーク化バージョンが挙げられる。デバイスは、1つ以上のプロセッサ(CPU)、入力/出力インターフェース、ネットワークインターフェース、及び/又はメモリを含み得る。
【0151】
[185] 「第1(first)」及び「第2(second)」などの本明細書における関係語は、単に、実体又は動作を別の実体又は動作と区別するために使用されるにすぎず、これらの実体又は動作の間のいかなる実際の関係又は順序も必要とせず、暗示もしないことに留意されたい。さらに、単語「備える(comprising)」、「有する(having)」、「包含する(containing)」、及び「含む(including)」、並びに他の同様の形式は、意味が同等であり、これらの単語のうちの任意のものに続く要素若しくは要素群は、このような要素若しくは要素群の限定列挙であることを意味されない、又は列挙された要素若しくは要素群のみに限定されることを意味されないという点で、オープンエンドなものであることを意図される。
【0152】
[186] 本明細書において使用するとき、別途特に断りのない限り、用語「又は(or)」は、実行不可能な場合を除き、全ての可能な組み合わせを包含する。例えば、データベースがA又はBを含み得ると述べられた場合には、このとき、別途特に断りのない限り、又は実行不可能でない限り、データベースは、A、或いはB、或いはA及びBを含み得る。第2の例として、データベースがA、B、又はCを含み得ると述べられた場合には、このとき、別途特に断りのない限り、又は実行不可能でない限り、データベースは、A、B、若しくはC、又はA及びB、A及びC、若しくはB及びC、又はA及びB及びCを含み得る。
【0153】
[187] 上述の実施形態は、ハードウェア、又はソフトウェア(プログラムコード)、或いはハードウェア及びソフトウェアの組み合わせによって実施され得ることが理解される。ソフトウェアによって実施される場合には、それは上述のコンピュータ可読媒体内に記憶され得る。ソフトウェアは、プロセッサによって実行されたときに、本開示の方法を遂行することができる。本開示において説明される計算ユニット及び他の機能ユニットは、ハードウェア、又はソフトウェア、或いはハードウェア及びソフトウェアの組み合わせによって実施され得る。当業者は、上述のモジュール/ユニットのうちの複数のものを1つのモジュール/ユニットとして組み合わせてもよく、上述のモジュール/ユニットの各々を複数のサブモジュール/サブユニットにさらに分割してもよいことも理解するであろう。
【0154】
[188] 上述の明細書において、実施形態は、実装形態ごとに異なり得る数多くの特定の詳細を参照して説明された。上述の実施形態の特定の適応及び変更を行うことができる。本明細書の考慮及び本明細書において開示された本発明の実施から、他の実施形態が当業者に明らかになり得る。明細書及び実施例は例としてのみ考慮されることが意図されており、本発明の真の範囲及び趣旨は添付の請求項によって指示される。また、図に示されるステップの配列は単に例示目的のためのものにすぎず、ステップのいかなる特定の配列にも限定されることを意図されないことも意図される。それゆえ、当業者は、これらのステップは、同じ方法を実施しながらも、異なる順序で遂行され得ることを理解することができる。
【0155】
[189] 実施形態は、以下の条項を用いてさらに記述することができる。
1.
動き補償を実行する方法であって、
第1のラップアラウンド動き補償フラグを受信することであって、第1のラップアラウンド動き補償フラグがピクチャに関連付けられることと、
第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、
第1のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ラップアラウンド動き補償オフセットを受信することであって、ラップアラウンド動き補償オフセットがピクチャに関連付けられることと、
第1のラップアラウンド動き補償フラグ及びラップアラウンド動き補償オフセットに従ってピクチャに対して動き補償を実行することと、
を含む、方法。
2.
第2のラップアラウンド動き補償フラグを受信することであって、第1のラップアラウンド動き補償フラグが、第1のラップアラウンド動き補償フラグに関連付けられたピクチャを含むピクチャのセットに関連付けられることと、
第2のラップアラウンド動き補償フラグが無効であるかどうかを決定することと、
第2のラップアラウンド動き補償フラグが無効であるとの決定に応じて、第1のラップアラウンド動き補償フラグも無効であると決定することと、
をさらに含む、条項1に記載の方法。
3.
第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することが、
第1のラップアラウンド動き補償フラグに関連付けられたピクチャのピクチャ幅を決定することと、
第1のラップアラウンド動き補償フラグが有効であるかどうかをピクチャ幅に基づいて決定することと、
をさらに含む、条項2に記載の方法。
4.
最小符号化ブロック単位のルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位のピクチャのピクチャ幅-1より大きいかどうかを決定することと、
最小符号化ブロック単位のルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位のピクチャのピクチャ幅-1より大きいとの決定に応じて、第1の動き補償フラグが無効であると決定することと、
をさらに含む、条項3に記載の方法。
5.
第2のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、
第2のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ピクチャのピクチャ幅がルマ符号化ツリーブロックサイズ+オフセット以上であると決定することと、
をさらに含む、条項2~4のいずれか一項に記載の方法。
6.
第2のラップアラウンド動き補償フラグが有効であるとの決定に応じて、最小符号化ブロック単位のルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位のピクチャのピクチャ幅-1以下であると決定することをさらに含む、条項5に記載の方法。
7.
第2のラップアラウンド動き補償フラグが、シーケンスパラメータセットにおいてシグナリングされ、第1のラップアラウンド動き補償フラグ及びラップアラウンド動き補償オフセットが、ピクチャパラメータセットにおいてシグナリングされる、条項2~6のいずれか一項に記載の方法。
8.
動き補償が、多用途ビデオコーディング規格に従って実行される、条項1~7のいずれか一項に記載の方法。
9.
複数のピクチャに対して動き補償を実行することをさらに含み、複数のピクチャが異なるサイズを有する、条項1~8のいずれか一項に記載の方法。
10.
ラップアラウンド動き補償オフセットに従ってピクチャに対して動き補償を実行することが、
ビットストリームから受信したラップアラウンド動き補償オフセットにオフセットを加えることによって、第2のラップアラウンド動き補償オフセットを決定することと、
第2のラップアラウンド動き補償オフセットに従ってピクチャに対して動き補償を実行することと、
をさらに含む、条項1~9のいずれか一項に記載の方法。
11.
動き補償を実行するシステムであって、
命令のセットを記憶するメモリと、
プロセッサとを備え、プロセッサは、
第1のラップアラウンド動き補償を受信することであって、第1のラップアラウンド動き補償オフセットがピクチャiに関連付けられることと、
第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、
第1のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ラップアラウンド動き補償オフセットを受信することであって、ラップアラウンド動き補償オフセットがピクチャに関連付けられることと、
第1のラップアラウンド動き補償フラグ及びラップアラウンド動き補償オフセットに従ってピクチャに対して動き補償を実行することと、
をシステムに実行させるように、命令のセットを実行するように構成される、システム。
12.
プロセッサが、
第2のラップアラウンド動き補償フラグを受信することであって、第2のラップアラウンド動き補償フラグが、第1のラップアラウンド動き補償フラグに関連付けられたピクチャを含むピクチャのセットに関連付けられることと、
第2のラップアラウンド動き補償フラグが無効であるかどうかを決定することと、
第2のラップアラウンド動き補償フラグが無効であるとの決定に応じて、第1のラップアラウンド動き補償フラグも無効であると決定することと、
をシステムに実行させるように、命令のセットを実行するようにさらに構成される、条項11に記載のシステム。
13.
プロセッサが、
第1のラップアラウンド動き補償フラグに関連付けられたピクチャのピクチャ幅を決定することと、
第1のラップアラウンド動き補償フラグが有効であるかどうかをピクチャ幅に基づいて決定することと、
をシステムに実行させるように、命令のセットを実行するようにさらに構成される、条項12に記載のシステム。
14.
プロセッサが、
最小符号化ブロック単位のルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位のピクチャのピクチャ幅-1より大きいかどうかを決定することと、
最小符号化ブロック単位のルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位のピクチャのピクチャ幅-1より大きいとの決定に応じて、第1の動き補償フラグが無効であると決定することと、
をシステムに実行させるように、命令のセットを実行するようにさらに構成される、条項13に記載のシステム。
15.
プロセッサが、
第2のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、
第2のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ピクチャのピクチャ幅がルマ符号化ツリーブロックサイズ+オフセット以上であると決定することと、
をシステムに実行させるように、命令のセットを実行するようにさらに構成される、条項12~14のいずれか一項に記載のシステム。
16.
プロセッサが、
第2のラップアラウンド動き補償フラグが有効であるとの決定に応じて、最小符号化ブロック単位のルマ符号化ツリーブロックサイズ+1が最小符号化ブロック単位のピクチャのピクチャ幅-1以下であると決定すること
をシステムに実行させるように、命令のセットを実行するようにさらに構成される、条項15に記載のシステム。
17.
第2のラップアラウンド動き補償フラグが、シーケンスパラメータセットにおいてシグナリングされ、第1のラップアラウンド動き補償フラグ及びラップアラウンド動き補償オフセットが、ピクチャパラメータセットにおいてシグナリングされる、条項12~16のいずれか一項に記載のシステム。
18.
プロセッサが、
複数のピクチャに対して動き補償を実行すること
をシステムに実行させるように、命令のセットを実行するようにさらに構成され、
複数のピクチャが異なるサイズを有する、条項11~17のいずれか一項に記載のシステム。
19.
プロセッサが、
ビットストリームから受信したラップアラウンド動き補償オフセットにオフセットを加えることによって、第2のラップアラウンド動き補償オフセットを決定することと、
第2のラップアラウンド動き補償オフセットに従ってピクチャに対して動き補償を実行することと、
をシステムに実行させるように、命令のセットを実行するようにさらに構成される、条項11~18のいずれか一項に記載のシステム。
20.
命令のセットを記憶する非一時的コンピュータ可読媒体であって、命令のセットは、装置に動き補償を実行する方法を開始させるために、装置の1つ以上のプロセッサによって実行可能であり、方法が、
第1のラップアラウンド動き補償フラグを受信することであって、第1のラップアラウンド動き補償フラグがピクチャのセット内のピクチャに関連付けられることと、
第1のラップアラウンド動き補償フラグが有効であるかどうかを決定することと、
第1のラップアラウンド動き補償フラグが有効であるとの決定に応じて、ラップアラウンド動き補償オフセットを受信することであって、ラップアラウンド動き補償オフセットがピクチャに関連付けられることと、
第1のラップアラウンド動き補償フラグ及びラップアラウンド動き補償オフセットに従ってピクチャに対して動き補償を実行することと、
を含む、非一時的コンピュータ可読媒体。
21.
命令のセットが、
第1のラップアラウンド動き補償フラグに関連付けられたピクチャのピクチャ幅を決定することと、
第1のラップアラウンド動き補償フラグが有効であるかどうかをピクチャ幅に基づいて決定することと、
をコンピュータシステムにさらに実行させるために、コンピュータシステムの少なくとも1つのプロセッサによって実行可能である、条項20に記載の非一時的コンピュータ可読媒体。
【0156】
[190] 図面及び明細書において、例示的な実施形態が開示された。しかし、これらの実施形態に対して多くの変形及び変更を行うことができる。したがって、特定の用語が採用されていても、これらは単に、一般的な説明の意味で使用されているにすぎず、限定を目的として使用されているものではない。
【国際調査報告】