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

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

▶ 華為技術有限公司の特許一覧

特許7355829ビデオエンコーダ、ビデオデコーダ、及び対応する方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-25
(45)【発行日】2023-10-03
(54)【発明の名称】ビデオエンコーダ、ビデオデコーダ、及び対応する方法
(51)【国際特許分類】
   H04N 19/70 20140101AFI20230926BHJP
   H04N 19/119 20140101ALI20230926BHJP
   H04N 19/157 20140101ALI20230926BHJP
   H04N 19/176 20140101ALI20230926BHJP
【FI】
H04N19/70
H04N19/119
H04N19/157
H04N19/176
【請求項の数】 14
(21)【出願番号】P 2021538887
(86)(22)【出願日】2019-09-18
(65)【公表番号】
(43)【公表日】2022-01-06
(86)【国際出願番号】 CN2019106529
(87)【国際公開番号】W WO2020057572
(87)【国際公開日】2020-03-26
【審査請求日】2021-06-09
(31)【優先権主張番号】62/733,074
(32)【優先日】2018-09-18
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/742,263
(32)【優先日】2018-10-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/733,076
(32)【優先日】2018-09-18
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ガオ,ハン
(72)【発明者】
【氏名】エセンリク,セミ
(72)【発明者】
【氏名】チェン,ジエンローァ
(72)【発明者】
【氏名】コトラ,アナンド メハー
(72)【発明者】
【氏名】ワーン,ビヤオ
(72)【発明者】
【氏名】ジャオ,ジージエ
【審査官】田中 純一
(56)【参考文献】
【文献】特開2018-137761(JP,A)
【文献】特表2012-533215(JP,A)
【文献】特表2015-508251(JP,A)
【文献】米国特許出願公開第2014/0369404(US,A1)
【文献】Xiaoyu Xiu, Philippe Hanhart, Rahul Vanam, Yuwen He, Yan Ye, Taoran Lu, Fangjun Pu, Peng Yin, Walt Husak, Tao Chen,Description of SDR, HDR, and 360° video coding technology proposal by InterDigital Communications and Dolby Laboratories [online], JVET-J JVET-J0015-v1,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/10_San%20Diego/wg11/JVET-J0015-v3.zip>,2019年10月17日,i-v, 1-27
【文献】▲辻▼ 智弘 Tomohiro TSUJI,超高精細映像符号化における適応マクロブロックサイズ拡張手法に関する一検討 A study on adaptive macroblock size extension scheme for ultra-high resolution video coding,映像情報メディア学会技術報告 Vol.33 No.37 ITE Technical Report,日本,(社)映像情報メディア学会 The Institute of Image Information and Television Engineers,2009年11月25日,第33巻,71-74
【文献】Benjamin Bross, Jianle Chen, Shan Liu,Versatile Video Coding (Draft 2) [online], JVET-K JVET-K1001-v6,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v6.zip>,2019年10月17日,i-iii, 1-52
【文献】Han Gao, Semih Esenlik, Jianle Chen, Biao Wang, Anand Meher Kotra,Syntax and Semantics Changes of overriding QT/BT/TT Split Constraint Syntax Elements [online], JVET-L JVET-L0218,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0218-v1.zip>,2019年10月17日,1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
復号装置により実施されるビデオビットストリームの復号の方法であって、前記ビデオビットストリームは、画像領域を表すデータと、前記画像領域の画像領域ヘッダとを含み、前記ビデオビットストリームは前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記復号の方法は、
前記ビデオビットストリームの前記パラメータセットからオーバーライド有効化フラグを取得するステップ(S210)であって、前記パラメータセットはシーケンスパラメータセット(SPS)である、ステップと、
前記オーバーライド有効化フラグの値が有効化値であるとき、前記ビデオビットストリームの前記画像領域ヘッダからオーバーライドフラグを取得するステップ(S110)であって、前記オーバーライドフラグは、前記画像領域ヘッダからの第1パーティション制約情報又は前記パラメータセットからの第2パーティション制約情報が前記画像領域のブロックをパーティションするために使用されるべきかどうかを示し、前記第1パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含み、前記第2パーティション制約情報は、前記最小許容4分木リーフノードサイズの情報、前記最大マルチタイプ木深さの情報、前記最大許容3分木ルートノードサイズの情報、又は前記最大許容2分木ルートノードサイズの情報を含む、ステップと、
前記オーバーライドフラグの値がオーバーライド値であるとき、前記画像領域ヘッダから前記画像領域の第1パーティション制約情報を取得するステップ(S120)と、
前記第1パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするステップ(S130)と、
前記オーバーライド有効化フラグの前記値が無効化値であるとき、前記パラメータセットからの前記第2パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするステップ(S230)、
を含む復号方法。
【請求項2】
前記第2パーティション制約情報は、イントラモードにおけるブロックのパーティション制約情報、又はインターモードにおけるブロックのパーティション制約情報を含む、請求項1に記載の復号方法。
【請求項3】
前記第2パーティション制約情報は、ルマブロックのパーティション制約情報、又はクロマブロックのパーティション制約情報を含む、請求項1に記載の復号方法。
【請求項4】
前記復号方法は、
前記オーバーライドフラグの値が前記オーバーライド値ではないとき、前記パラメータセットからの前記ビデオビットストリームの第2パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするステップ(S230)、
を更に含む請求項1~3のいずれか一項に記載の復号方法。
【請求項5】
符号化装置により実施されるビデオビットストリームの符号化の方法であって、前記ビデオビットストリームは、画像領域を表すデータと、前記画像領域の画像領域ヘッダとを含み、前記ビデオビットストリームは前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記符号化の方法は、
第1パーティション制約情報に従う前記画像領域のブロックのパーティションが有効化されるかどうかを決定するステップ(370)と、
前記第1パーティション制約情報に従う前記ブロックのパーティションが有効化されると決定すると、前記画像領域のブロックのパーティションが前記画像領域ヘッダの中の第1パーティション制約情報又は前記パラメータセットからの第2パーティション制約情報に従うかどうかを決定するステップ(S310)であって、前記第1パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含み、前記第2パーティション制約情報は、前記最小許容4分木リーフノードサイズの情報、前記最大マルチタイプ木深さの情報、前記最大許容3分木ルートノードサイズの情報、又は前記最大許容2分木ルートノードサイズの情報を含む、ステップと、
オーバーライド有効化フラグの値を有効化値に設定するステップ(S340)と、
前記ブロックのパーティションが前記第1パーティション制約情報に従うと決定すると、
前記第1パーティション制約情報に従い前記画像領域のブロックをパーティションすし(S320)、オーバーライドフラグの値をオーバーライド値に設定するステップ(S325)と、
前記オーバーライドフラグのデータを前記ビデオビットストリームの前記画像領域ヘッダに含めるステップ(S330)と、
前記第1パーティション制約情報に従う前記ブロックのパーティションが有効化されないと決定すると、
前記パラメータセットの中の前記第2パーティション制約情報に従い、前記ブロックをパーティションし、前記オーバーライド有効化フラグの値を無効化値に設定するステップと、
前記オーバーライド有効化フラグのデータを前記ビデオビットストリームの前記パラメータセットに含めるステップ(S350)であって、前記パラメータセットはシーケンスパラメータセット(SPS)である、ステップと、
を含む符号化方法。
【請求項6】
前記第2パーティション制約情報は、イントラモードにおけるパーティション制約情報、又はインターモードにおけるパーティション制約情報を含む、請求項5に記載の符号化方法。
【請求項7】
前記第2パーティション制約情報は、ルマブロックのパーティション制約情報、又はクロマブロックのパーティション制約情報を含む、請求項5に記載の符号化方法。
【請求項8】
前記符号化方法は、
前記ブロックのパーティションが前記第1パーティション制約情報に従わないと決定すると、前記パラメータセットの中の前記ビデオビットストリームの第2パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするステップ(S360)と、
前記オーバーライドフラグの前記値を非オーバーライド値に設定するステップ(S365)と、
を更に含む請求項5~7のいずれか一項に記載の符号化方法。
【請求項9】
請求項1~8のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラム。
【請求項10】
コーダであって、
1つ以上のプロセッサと、
前記プロセッサに接続され前記プロセッサによる実行のためのプログラミングを格納する非一時的コンピュータ可読記憶媒体であって、前記プログラミングは、前記プロセッサにより実行されると、請求項1~8のいずれか一項に記載の方法を実行するよう前記コーダを構成する、非一時的コンピュータ可読記憶媒体と、
を含むコーダ。
【請求項11】
デコーダ/エンコーダであって、請求項1~8のいずれかに記載の方法を実行するための処理回路を含むデコーダ/エンコーダ。
【請求項12】
ビデオビットストリームを復号するデコーダ(1200)であって、前記ビデオビットストリームは、画像領域を表すデータと、前記画像領域の画像領域ヘッダとを含み、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記デコーダは、
前記ビデオビットストリームの前記パラメータセットからオーバーライド有効化フラグを取得するオーバーライド決定ユニット(1210)であって、前記パラメータセットはシーケンスパラメータセット(SPS)であり、前記オーバーライド有効化フラグの値が有効化値であるとき、前記オーバーライド決定ユニットは、前記ビデオビットストリームからオーバーライドフラグを取得するよう構成され、前記オーバーライドフラグは、前記画像領域ヘッダからの第1パーティション制約情報又は前記パラメータセットからの第2パーティション制約情報が、前記画像領域のブロックをパーティションするために使用されるべきかを示し、前記第1パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含み、前記第2パーティション制約情報は、前記最小許容4分木リーフノードサイズの情報、前記最大マルチタイプ木深さの情報、前記最大許容3分木ルートノードサイズの情報、又は前記最大許容2分木ルートノードサイズの情報を含む、オーバーライド決定ユニットと、
前記オーバーライドフラグの値がオーバーライド値であるとき、前記画像領域ヘッダから前記画像領域の第1パーティション制約情報を取得するパーティション制約決定ユニット(1220)と、
前記第1パーティション制約情報に従い、前記画像領域のブロックをパーティションするブロックパーティションユニット(1230)と、
を含み、
前記オーバーライド有効化フラグの前記値が無効化値であるとき、前記ブロックパーティションユニットは、前記パラメータセットからの前記第2パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするよう構成される、デコーダ。
【請求項13】
ビデオビットストリームを符号化するエンコーダ(1300)であって、前記ビデオビットストリームは、画像領域を表すデータと、前記画像領域の画像領域ヘッダとを含み、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記エンコーダは、
第1パーティション制約情報に従う前記画像領域のブロックのパーティションが有効化されるかどうかを決定するパーティション決定ユニット(1310)であって、前記第1パーティション制約情報に従う前記ブロックのパーティションが有効化されると決定すると、前記パーティション決定ユニットは、前記画像領域のブロックのパーティションが前記画像領域ヘッダの中の第1パーティション制約情報又は前記パラメータセットからの第2パーティション制約情報に従うかどうかを決定するよう構成され、前記第1パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含み、前記第2パーティション制約情報は、前記最小許容4分木リーフノードサイズの情報、前記最大マルチタイプ木深さの情報、前記最大許容3分木ルートノードサイズの情報、又は前記最大許容2分木ルートノードサイズの情報を含む、パーティション決定ユニット(1310)と、
前記ブロックのパーティションが前記第1パーティション制約情報に従うと決定すると、前記第1パーティション制約情報に従い前記画像領域のブロックをパーティションするブロックパーティションユニット(1320)と、
前記ブロックのパーティションが前記第1パーティション制約情報に従うと決定すると、オーバーライドフラグの値をオーバーライド値に設定するオーバーライドフラグ設定ユニット(1330)と、
前記第1パーティション制約情報に従う前記ブロックのパーティションが有効化されないと決定すると、前記ブロックパーティションユニットは、前記パラメータセットの中の前記第2パーティション制約情報に従い前記ブロックをパーティションするよう構成され、前記オーバーライドフラグ設定ユニットは、オーバーライド有効化フラグの前記値を無効化値に設定するよう構成され、
前記オーバーライドフラグと前記オーバーライド有効化フラグを前記ビデオビットストリームに挿入するビットストリーム生成器(1340)と、
を含むエンコーダ。
【請求項14】
プログラムコードを格納した非一時的コンピュータ可読媒体であって、前記プログラムコードは、コンピュータ装置により実行されると、前記コンピュータ装置に請求項1~8のいずれかに記載の方法を実行させる、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願の実施形態は、概して、ビデオ符号化の分野に関し、特にブロック分割及びパーティションに関する。
【背景技術】
【0002】
ビデオ符号化(ビデオ符号化及び復号)は、広範囲のデジタルビデオアプリケーション、例えば、放送用デジタルテレビ、インターネット及び移動体ネットワークを介するビデオ送信、ビデオチャットのようなリアルタイム会話アプリケーション、ビデオ会議、DVD及びBlue-rayディスク、ビデオコンテンツ取得及び編集システム、及びセキュリティアプリケーションのカムコーダで使用される。
【0003】
1990年のH.261標準におけるブロックに基づくハイブリッドビデオ符号化アプローチの開発以来、新しいビデオ符号化技術及びツールが開発され、新しいビデオ符号化標準の基礎を形成した。更なるビデオ符号化標準は、MPEG-1ビデオ、MPEG-2ビデオ、ITU-T H.262/MPEG-2、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、高度ビデオ符号化(Advanced Video Coding (AVC))、ITU-T H.265/高効率ビデオ符号化(High Efficiency Video Coding (HEVC))、ITU-T H.266/バーサタイルビデオ符号化(Versatile video coding (VVC))及び拡張、例えばこれらの標準のスケーラビリティ及び/又は3次元(3D)拡張を含む。ビデオ生成及び使用が益々ユビキタスになるにつれ、ビデオトラフィックは、通信ネットワーク及びデータ記憶において最大の負荷になり、相応して、大部分のビデオ符号化標準の目標のうちの1つは、ピクチャ品質を犠牲にすることなく、その前の代と比べてビットレートの低減を達成することであった。最新の高効率ビデオ符号化(HEVC)が、品質を犠牲にすることなく、AVCの約2倍多くのビデオを圧縮できても、HEVCと比べてビデオを更に圧縮することが新しい技術のために熱望されている。
【発明の概要】
【0004】
本願(又は本開示)の実施形態は、独立請求項による符号化及び復号の機器及び方法を提供する。
【0005】
前述の及び他の目的は、独立請求項の主題により達成される。更なる実装形式は、従属請求項、説明、及び図面から明らかである。
【0006】
標準から、幾つかの特徴の定義は以下の通りである。
ピクチャパラメータセット(picture parameter set (PPS)):各スライスヘッダの中に見られるシンタックス要素により決定されるような、0個以上の符号化ピクチャ全体に適用するシンタックス要素を含むシンタックス構造。
シーケンスパラメータセット(sequence parameter set (SPS)):各スライスヘッダの中に見られるシンタックス要素により参照されるPPSの中に見られるシンタックス要素の内容により決定されるような、0個以上のCVS全体に適用するシンタックス要素を含むシンタックス構造。
スライスヘッダ:スライス内で表現される最初の又は全部のブリックに関するデータ要素を含む符号化スライスの部分。
サブピクチャ:ピクチャ内の1つ以上のスライスの長方形領域。
スライスは、完全なタイルの数又は1つのタイルの完全なブリックの連続するシーケンスのみのいずれかで構成される。
タイル:ピクチャ内の特定のタイル列及び特定のタイル行の中のCTUの長方形領域。
【0007】
ピクチャは、1つ以上のタイル行及び1つ以上のタイル列に分割される。タイルは、ピクチャの長方形領域をカバーするCTUのシーケンスである。
タイルは、1つ以上のブリックに分割され、その各々はタイル内の多数のCTU列で構成される。
複数のブリックにパーティションされないタイルは、ブリックとも呼ばれる。しかしながら、タイルの真部分集合であるブリックは、タイルと呼ばれない。
スライスは、ピクチャの多数のタイル又はタイルの多数のブリックのいずれかを含む。
サブピクチャは、ピクチャの長方形領域を集合的にカバーする1つ以上のスライスを含む。
【0008】
スライスの2つのモード、つまりラスタスキャンスライスモード及び長方形スライスモードがサポートされる。ラスタスキャンスライスモードでは、スライスは、ピクチャのタイルラスタスキャンの中で、タイルのシーケンスを含む。長方形スライスモードでは、スライスは、ピクチャの長方形領域を集合的に形成する、ピクチャの多数のブリックを含む。長方形スライスの中のブリックは、スライスのブリックラスタスキャンの順である。
【0009】
本発明の第1の態様によると、復号装置により実施されるビデオビットストリームの復号の方法であって、前記ビデオビットストリームは、画像領域を表すデータと、前記画像領域の画像領域ヘッダとを含み、前記復号方法は、
前記ビデオビットストリームからオーバーライドフラグを取得するステップと、
前記オーバーライドフラグの前記値がオーバーライド値であるとき、前記画像領域ヘッダから前記画像領域の第1パーティション制約情報を取得するステップと、
前記第1パーティション制約情報に従い、前記画像領域のブロックをパーティションするステップと、を含む方法が提供される。
【0010】
本アプローチは、各画像領域が、パラメータセットの中の複数の画像領域のパーティション制約情報以外に、それ自体のパーティション制約情報を有することを可能にする。従って、本アプローチは、効率的なビットストリームパース、及び特に、効率的なパーティション制約情報シグナリングを可能にする。
【0011】
前記画像領域ヘッダから前記画像領域の第1パーティション制約情報を取得する前記ステップは、前記画像領域ヘッダを表す前記データから、前記画像領域の第1パーティション制約情報を取得するステップを含んでよい。
【0012】
前記オーバーライド値はプリセットされてよい。
【0013】
前記オーバーライド値は、真、偽、0、又は1を含む。
【0014】
前記画像領域ヘッダは、前記画像領域の全部又は一部に関する前記データ要素を含むセット又は構造であってよい。
【0015】
第1の態様による方法の可能な実装形式では、従って、前記復号方法は、前記ビデオビットストリームからオーバーライド有効化フラグを取得するステップであって、前記オーバーライド有効化フラグの前記値は有効化値である、ステップを更に含む。
【0016】
前記有効化値はプリセットされてよい。
【0017】
前記有効化値は、真、偽、0、又は1を含む。
【0018】
第1の態様による方法の可能な実装形式では、従って、前記復号方法は、
前記ビデオビットストリームからオーバーライド有効化フラグを取得するステップを更に含み、
前記ビデオビットストリームから前記オーバーライドフラグを取得する前記ステップは、前記オーバーライド有効化フラグの前記値が有効化値であるとき、前記ビデオビットストリームから前記オーバーライドフラグを取得するステップを含む。
【0019】
前記有効化値はプリセットされてよい。
【0020】
前記有効化値は、真、偽、0、又は1を含む。
【0021】
オーバーライド有効化フラグの提供により、前記オーバーライドは、効率的な方法で制御されてよく、従って、ブロックパーティションに関連するシンタックス要素の扱いにおいて柔軟性を増大する。前記オーバーライド有効化フラグが前記有効化値に設定されるとき、前記オーバーライドフラグは前記ビットストリームから更に抽出されてよいことに留意する。或いは、オーバーライドフラグは、前記ビットストリームから抽出されなくてよく、このような場合にはオーバーライドが適用されない。むしろ、第2又は第3パーティション制約が、前記ブロックをパーティションするために使用されてよい。
【0022】
第1の態様の任意の前述の実装又は第1の態様による方法の可能な実装形式では、従って、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記復号方法は、
前記オーバーライド有効化フラグの前記値が無効化値であるとき、前記ビデオビットストリームの第2パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするステップ、を更に含む。前記第2パーティション制約情報は、前記パラメータセットから又は前記パラメータセットの中にあってよい。
【0023】
前記パラメータセットは、シーケンスパラメータセット(SPS)又はピクチャパラメータセット(PPS)又は任意の他のパラメータセットであってよい。
【0024】
前記無効化値は前記有効化値と異なる。
【0025】
前記無効化値はプリセットされてよい。
【0026】
前記無効化値は、真、偽、0、又は1を含む。
【0027】
前記オーバーライド有効化フラグの前記値が無効化値であるとき、前記第1パーティション制約情報は、前記ビデオビットストリーム内に存在しなくてよく、前記第1パーティション制約情報の前記値は、前記第2パーティション制約情報の前記値と等しいと推定されてよい。
【0028】
前記パラメータセットは、0個以上の符号化ピクチャ全体又は前記画像領域を含む符号化ビデオシーケンスに適用するシンタックス要素を含むセット又は構造であってよい。
【0029】
前記パラメータセットは、前記画像領域ヘッダと異なる。
【0030】
例えば、前記第2パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含む。これらの及び更なるパラメータの任意の組合せ/サブセットは、前記パーティション制約を構成するためにシグナリングされてよい。
【0031】
最小許容4分木リーフノードサイズの前記情報は、最小許容4分木リーフノードサイズの前記値を取得するために、デルタ値であってよい。例えば、最小許容4分木リーフノードサイズの前記情報は、sps_log2_min_qt_size_intra_slices_minus2、sps_log2_min_qt_size_inter_slices_minus2、又はlog2_min_qt_size_minus2であってよい。
【0032】
最大許容3分木ルートノードサイズの前記情報は、最大許容3分木ルートノードサイズの前記値を取得するために、デルタ値であってよい。例えば、最大許容3分木ルートノードサイズの前記情報は、sps_log2_diff_ctu_max_tt_size_intra_slices、sps_log2_diff_ctu_max_tt_size_inter_slices、又はlog2_diff_ctu_max_tt_sizeであってよい。
【0033】
最大許容2分木ルートノードサイズの前記情報は、最大許容2分木ルートノードサイズの前記値を取得するために、デルタ値であってよい。例えば、最大許容2分木ルートノードサイズの前記情報は、sps_log2_diff_ctu_max_bt_size_intra_slices、sps_log2_diff_ctu_max_bt_size_inter_slices、又はlog2_diff_ctu_max_bt_sizeであってよい。
【0034】
例えば、最大マルチタイプ木深さの情報は、sps_max_mtt_hierarchy_depth_inter_slices、sps_max_mtt_hierarchy_depth_intra_slices、又はmax_mtt_hierarchy_depthであってよい。
【0035】
追加又は代替として、前記第2パーティション制約情報は、イントラモードにおけるブロックのパーティション制約情報、又はインターモードにおけるブロックのパーティション制約情報を含む。
【0036】
前記第2パーティション制約情報は、別々にシグナリングされる、イントラモードにおけるブロックの前記パーティション制約情報、及びインターモードにおけるブロックのパーティション制約情報の両方を含んでよい。しかしながら、本発明はそれにより限定されず、イントラモードにおけるブロックの前記パーティション制約情報、及びインターモードにおけるブロックのパーティション制約情報の両方に共通する1つのパーティション制約情報が存在してよい。
【0037】
イントラモードにおける前記ブロック、又はインターモードにおける前記ブロックは、前記パラメータセットを参照する。
【0038】
前記パラメータセットは、シーケンスパラメータセット(SPS)又はピクチャパラメータセット(PPS)を含んでよい。
【0039】
イントラモードにおける前記ブロックは、前記パラメータセットを参照する2(I)に等しいslice_typeを有するスライス内のCTUの中にあってよく、或いは、インターモードにおける前記ブロックは、前記パラメータセットを参照する0(B)又は1(P)に等しいslice_typeを有するスライス内のCTUの中にあってよい。
【0040】
追加又は代替として、前記第2パーティション制約情報は、ルマブロックのパーティション制約情報、及び/又はクロマブロックのパーティション制約情報を含む。
【0041】
前記ルマブロック、又は前記クロマブロックは、前記パラメータセットを参照する。
【0042】
前記パラメータセットは、シーケンスパラメータセット(SPS)又はピクチャパラメータセット(PPS)を含んでよい。
【0043】
前記ルマブロック、又は前記クロマブロックは、前記パラメータセットを参照するスライス内のCTUの中にあってよい。
【0044】
第1の態様の任意の前述の実装又は第1の態様による方法の可能な実装形式では、従って、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記ビデオビットストリームからオーバーライド有効化フラグを取得する前記ステップは、前記パラメータセットから前記オーバーライド有効化フラグを取得するステップ、又は、前記パラメータセットの中の前記オーバーライド有効化フラグを取得するステップ、を含む。
【0045】
前記パラメータセットから前記オーバーライド有効化フラグを取得する前記ステップは、前記パラメータセットを表す前記データから前記オーバーライド有効化フラグを取得するステップを含んでよい。前記パラメータセットは、シーケンスパラメータセット(SPS)又はピクチャパラメータセット(PPS)又は任意の他のパラメータセットであってよい。
【0046】
第1の態様の任意の前述の実装又は第1の態様による方法の可能な実装形式では、従って、前記ビデオビットストリームから前記オーバーライドフラグを取得する前記ステップは、前記画像領域ヘッダから前記オーバーライドフラグを取得するステップを含む。
【0047】
前記画像領域ヘッダから前記オーバーライドフラグを取得する前記ステップは、前記画像領域ヘッダを表す前記データから前記オーバーライドフラグを取得するステップを含んでよい。
【0048】
第1の態様の任意の前述の実装又は第1の態様による方法の可能な実装形式では、従って、前記第1パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含む。
【0049】
最小許容4分木リーフノードサイズの前記情報は、最小許容4分木リーフノードサイズの前記値を取得するために、デルタ値であってよい。例えば、最小許容4分木リーフノードサイズの前記情報は、sps_log2_min_qt_size_intra_slices_minus2、sps_log2_min_qt_size_inter_slices_minus2、又はlog2_min_qt_size_minus2であってよい。
【0050】
最大許容3分木ルートノードサイズの前記情報は、最大許容3分木ルートノードサイズの前記値を取得するために、デルタ値であってよい。例えば、最大許容3分木ルートノードサイズの前記情報は、sps_log2_diff_ctu_max_tt_size_intra_slices、sps_log2_diff_ctu_max_tt_size_inter_slices、又はlog2_diff_ctu_max_tt_sizeであってよい。
【0051】
最大許容2分木ルートノードサイズの前記情報は、最大許容2分木ルートノードサイズの前記値を取得するために、デルタ値であってよい。例えば、最大許容2分木ルートノードサイズの前記情報は、sps_log2_diff_ctu_max_bt_size_intra_slices、sps_log2_diff_ctu_max_bt_size_inter_slices、又はlog2_diff_ctu_max_bt_sizeであってよい。
【0052】
例えば、最大マルチタイプ木深さの情報は、sps_max_mtt_hierarchy_depth_inter_slices、sps_max_mtt_hierarchy_depth_intra_slices、又はmax_mtt_hierarchy_depthであってよい。
【0053】
例えば、前記画像領域は、スライス、タイル、又はサブピクチャを含み、前記画像領域ヘッダは、前記スライスのスライスヘッダ、前記タイルのタイルヘッダ、又は前記サブピクチャのヘッダを含む。
【0054】
第1の態様の任意の前述の実装又は第1の態様による方法の可能な実装形式では、従って、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含んでよく、前記復号方法は、
前記オーバーライドフラグの前記値が前記オーバーライド値ではないとき、前記パラメータセットからの前記ビデオビットストリームの第2パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするステップS230、又は、前記パラメータセットの中の前記ビデオビットストリームの第2パーティション制約情報に従い前記画像領域の前記ブロックをパーティションするステップS230、を更に含む。
【0055】
前記パラメータセットは、シーケンスパラメータセット(SPS)又はピクチャパラメータセット(PPS)又は任意の他のパラメータセットであってよい。
【0056】
前記オーバーライド値が真であり、前記オーバーライドフラグの値が前記オーバーライド値ではないことは、前記オーバーライドフラグの前記値が偽であることを意味する。
【0057】
前記オーバーライド値が1であり、前記オーバーライドフラグの値が前記オーバーライド値ではないことは、前記オーバーライドフラグの前記値が0であることを意味する。
【0058】
本発明の第2の態様によると、符号化装置により実施されるビデオビットストリームの符号化の方法であって、前記ビデオビットストリームは、画像領域を表すデータと、前記画像領域の画像領域ヘッダとを含み、前記符号化方法は、
前記画像領域のブロックのパーティションが前記画像領域ヘッダの中の第1パーティション制約情報に従うかどうかを決定するステップと、
前記ブロックのパーティションが前記第1パーティション制約情報に従うと決定すると、前記第1パーティション制約情報に従い前記画像領域のブロックをパーティションするステップと、
オーバーライドフラグの前記値をオーバーライド値に設定するステップと、
前記オーバーライドフラグの前記データを前記ビデオビットストリームに含めるステップと、を含む。
【0059】
第2の態様による方法の可能な実装形式では、従って、前記符号化方法は、
第1パーティション制約情報に従う前記ブロックのパーティションが有効化されるかどうかを決定するステップと、
第1パーティション制約情報に従う前記ブロックのパーティションが有効化されると決定すると、オーバーライド有効化フラグの前記値を有効化値に設定するステップと、
前記オーバーライド有効化フラグの前記データを前記ビデオビットストリームに含めるステップと、を更に含む。
【0060】
前記画像領域のブロックのパーティションが前記画像領域ヘッダの中の第1パーティション制約情報に従うかどうかを決定する前記ステップは、第1パーティション制約情報に従う前記ブロックのパーティションが有効化されると決定すると、前記画像領域のブロックのパーティションが前記画像領域ヘッダの中の第1パーティション制約情報に従うかどうかを決定するステップを含む。
【0061】
例えば、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記符号化方法は、
第1パーティション制約情報に従う前記ブロックのパーティションが有効化されないと決定すると、前記パラメータセットの中の前記ビデオビットストリームの第2パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするステップと、
オーバーライド有効化フラグの前記値を無効化値に設定するステップと、を更に含む。
【0062】
追加又は代替として、前記第2パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含む。
【0063】
追加又は代替として、前記第2パーティション制約情報は、イントラモードにおけるブロックのパーティション制約情報、又はインターモードにおけるブロックのパーティション制約情報を含む。
【0064】
例えば、前記第2パーティション制約情報は、ルマブロックのパーティション制約情報、又はクロマブロックのパーティション制約情報を含む。
【0065】
第2の態様の任意の前述の実装又は第2の態様による方法の可能な実装形式では、従って、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記オーバーライド有効化フラグは前記パラメータセットの中にある。
【0066】
例えば、前記オーバーライドフラグは、前記画像領域ヘッダの中にある。
【0067】
実施形態のうちのいずれかに追加又は代替として、前記第1パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含む。
【0068】
実施形態のうちのいずれかに追加又は代替として、前記画像領域は、スライス、タイル、又はサブピクチャを含み、前記画像領域ヘッダは、前記スライスのスライスヘッダ、前記タイルのタイルヘッダ、又は前記サブピクチャのヘッダを含む。
【0069】
例えば、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記復号方法は、
前記ブロックのパーティションが前記第1パーティション制約情報に従わないと決定すると、前記パラメータセットの中の前記ビデオビットストリームの第2パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするステップ(S360)と、
前記オーバーライドフラグの前記値を非オーバーライド値に設定するステップと、を更に含む。
【0070】
第2の態様による方法は、第1の態様による第1機器の実装形式に対応する実装形式に拡張できる。従って、前記方法の実装形式は、前記第1機器の対応する実装形式の特徴を含む。
【0071】
第2の態様による方法の利点は、第1の態様による第1機器の対応する実装形式のものと同じである。
【0072】
第本発明の第3の態様によると、デコーダであって、
1つ以上のプロセッサと、
前記プロセッサに接続され前記プロセッサによる実行のためのプログラミングを格納する非一時的コンピュータ可読記憶媒体と、を含み、
前記プログラミングは、前記プロセッサにより実行されると、第1の態様又は第1の態様の任意の可能な実装による上述の復号方法のいずれかを実行するよう前記デコーダを構成する、デコーダが提供される。
【0073】
本発明の第4の態様によると、エンコーダであって、
1つ以上のプロセッサと、
前記プロセッサに接続され前記プロセッサによる実行のためのプログラミングを格納する非一時的コンピュータ可読記憶媒体と、を含み、
前記プログラミングは、前記プロセッサにより実行されると、第2の態様又は第2の態様の任意の可能な実装による上述の復号方法のいずれかによる方法を実行するよう前記エンコーダを構成する、エンコーダが提供される。
【0074】
第5の態様によると、実行されると1つ以上のプロセッサをビデオデータを符号化するよう構成させる命令を格納したコンピュータ可読記憶媒体が提案される。前記命令は、前記1つ以上のプロセッサに、第1又は第2の態様、又は第1又は第2の態様の任意の可能な実装による方法を実行させる。
【0075】
第6の態様によると、本発明は、コンピュータ上で実行されると第1又は第2の態様又は第1又は第2の態様の任意の可能な実施形態による方法を実行するためのプログラムコードを含むコンピュータプログラムに関する。
【0076】
本発明の第7の態様によると、ビデオビットストリームを復号するデコーダであって、前記ビデオビットストリームは、画像領域を表すデータと、前記画像領域の画像領域ヘッダとを含み、前記デコーダは、
前記ビデオビットストリームからオーバーライドフラグを取得するオーバーライド決定ユニットと、
前記オーバーライドフラグの前記値がオーバーライド値であるとき、前記画像領域ヘッダから前記画像領域の第1パーティション制約情報を取得するパーティション制約決定ユニットと、
前記第1パーティション制約情報に従い、前記画像領域のブロックをパーティションするブロックパーティションユニットと、
を含むデコーダが提供される。
【0077】
本発明の第1の態様による方法は、本発明の第7の態様によるデコーダにより実行できる。本発明の第3の態様によるデコーダの更なる特徴及び実装形式は、本発明の第1の態様又は第1の態様の任意の可能な実装による方法の特徴及び実装形式に対応する。本発明の第8の態様によると、ビデオビットストリームの符号化のためのエンコーダであって、前記ビデオビットストリームは、画像領域を表すデータと、前記画像領域の画像領域ヘッダとを含み、前記エンコーダは、
第1パーティション制約情報に従い前記画像領域のブロックをパーティションするブロックパーティションユニットと、
前記画像領域の第1パーティション制約情報を前記画像領域ヘッダに挿入し、オーバーライドフラグの前記値をオーバーライド値に設定し、及び前記ビデオビットストリームに前記オーバーライドフラグを挿入するビットストリーム生成器と、を含むエンコーダが提供される。
【0078】
本発明の第2の態様による方法は、本発明の第8の態様によるエンコーダにより実行できる。本発明の第8の態様によるエンコーダの更なる特徴及び実装形式は、本発明の第2の態様又は第2の態様の任意の可能な実装による方法の特徴及び実装形式に対応する。
【0079】
明確さの目的で、ここに開示される実施形態のうちの任意の1つは、他の実施形態のうちの任意の1つ以上と結合されて、本開示の範囲内にある新しい実施形態を生成してよい。
【0080】
本発明の第9の態様によると、ビデオビットストリームであって、前記ビデオビットストリームは、画像領域を表すデータと、前記画像領域の画像領域ヘッダとを含み、前記ビデオビットストリームは、前記画像領域の第1パーティション制約情報が前記画像領域ヘッダの中に存在するかどうかを指定するオーバーライドフラグを更に含む、ビデオビットストリームが提供される。
【0081】
第9の態様による方法の可能な実装形式では、従って、前記ビデオビットストリームは、前記オーバーライドフラグが前記画像領域ヘッダの中に存在するかどうかを指定するオーバーライド有効化フラグを更に含む。
【0082】
第1の態様の任意の前述の実装又は第1の態様による方法の可能な実装形式では、従って、前記オーバーライド有効化フラグは、前記パラメータセット又は前記パラメータセットを表すデータの中にある。
【0083】
第1の態様の任意の前述の実装又は第1の態様による方法の可能な実装形式では、従って、前記オーバーライドフラグは前記画像領域ヘッダ又は前記画像領域ヘッダを表すデータの中にある。
【0084】
1つ以上の実施形態の詳細は、添付の図面及び以下の説明において説明される。他の特徴、目的、及び利点は、説明、図面、及び請求項から明らかになるだろう。
【図面の簡単な説明】
【0085】
以下では、本発明の実施形態は、添付の図面及び図を参照して更に詳細に説明される。
図1A】本発明の実施形態を実施するよう構成されるビデオ符号化システムの例を示すブロック図である。
図1B】本発明の実施形態を実施するよう構成されるビデオ符号化システムの別の例を示すブロック図である。
図2】本発明の実施形態を実施するよう構成されるビデオエンコーダの例を示すブロック図である。
図3】本発明の実施形態を実施するよう構成されるビデオデコーダの例示的な構造を示すブロック図である。
図4】符号化機器又は復号機器の例を示すブロック図である。
図5】符号化機器又は復号機器の別の例を示すブロック図である。
図6】4分木2分木(quad-tree-binary-tree (QTBT))構造を用いるブロックパーティションの例の説明図である。
図7図6のQTBT構造を用いるブロックパーティションに対応する木構造の例の説明図である。
図8】水平3分木パーティションタイプの例の説明図である。
図9】垂直3分木パーティションタイプの例の説明図である。
図10】実施形態による復号方法を示すフロー図である。
図11】実施形態による復号方法を示すフロー図である。
図12】例示的なデコーダを示すブロック図である。
図13】例示的なエンコーダを示すブロック図である。
図14A】オーバーライドフラグに関する実施形態による符号化方法を示すフロー図である。
図14B】オーバーライド有効化フラグに関する実施形態による符号化方法を示すフロー図である。
図15】コンテンツ配信サービスを実現するコンテンツ供給システムの例示的な構造を示すブロック図である。
図16】端末装置の例の構造を示すブロック図である。 以下では、特に断りのない限り、同一の参照符号は同一の又は少なくとも機能的に等価な特徴を表す。
図17】本発明の実施形態を実施するよう構成されるビデオエンコーダの例を示すブロック図である。
図18】本発明の実施形態を実施するよう構成されるビデオデコーダの例示的な構造を示すブロック図である。
【0086】
以下では、明示的に断りのない場合、同一の参照符号は同一の又は少なくとも機能的に等価な特徴を表す。
【発明を実施するための形態】
【0087】
以下の説明では、本開示の部分を形成し、図示により本発明の実施形態の特定の態様又は本発明の実施形態が使用され得る特定の態様を示す、添付の図面を参照する。本発明の実施形態は、他の態様で使用され、図に示されない構造的又は論理的変化を含んでよいことが理解される。以下の詳細な説明は、従って、限定的意味と考えられるべきではなく、本発明の範囲は添付の特許請求の範囲により定められる。
【0088】
例えば、記載の方法に関連する開示は、方法を実行するよう構成される対応する装置又はシステムにも当てはまってよく、逆も同様であることが理解される。例えば、1又は複数の特定の方法のステップが説明される場合、このような1つ以上のユニットが明示的に説明され又は図中に示されない場合でも、対応する装置は、説明される1又は複数の方法のステップを実行するために、1又は複数のユニット、例えば機能ユニットを含んでよい(例えば、1つのユニットが1又は複数のステップを実行し、又は複数のユニットの各々が複数のステップのうちの1つ以上を実行する)。他方で、例えば、特定の機器が1又は複数のユニット、例えば機能ユニットに基づき説明される場合、このような1又は複数のステップが明示的に説明され又は図中に示されない場合でも、対応する方法は、1又は複数のユニットの機能を実行するための1つのステップを含んでよい(例えば、1つのステップが1又は複数のユニットの機能を実行し、又は複数のステップの各々が複数のユニットのうちの1つ以上の機能を実行する)。更に、ここで説明される種々の例示的な実施形態及び/又は態様の特徴は、特に断りのない限り、互いに結合されてよいことが理解される。
【0089】
ビデオ符号化は、標準的に、ビデオ又はビデオシーケンスを形成する、ピクチャのシーケンスの処理を表す。用語「ピクチャ」の代わりに、用語「フレーム」又は「画像」がビデオ符号化の分野では同義語として使用され得る。本願(又は本開示)で使用されるビデオ符号化は、ビデオ符号化又はビデオ復号を示す。ビデオ符号化は、ソース側で実行され、標準的に、元のビデオピクチャを処理して(例えば、圧縮による)、(より効率的な記憶及び/又は送信のために)ビデオピクチャを表現するために必要なデータ量を削減することを含む。ビデオ復号は、宛先側で実行され、標準的に、エンコーダに対して反対の処理を含み、ビデオピクチャを再構成する。ビデオピクチャ(又は後述するように一般的にピクチャ)の「符号化」を参照する実施形態は、ビデオシーケンスの「符号化」又は「復号」のいずれかに関連すると理解されるべきである。符号化部分及び復号部分の結合は、コーデック(Coding and Decoding (CODEC))とも呼ばれる。
【0090】
無損失ビデオ符号化の場合には、元のビデオピクチャが再構成可能である。つまり、再構成ビデオピクチャは、元のビデオピクチャと同じ品質を有する(伝送損失、又は記憶若しくは送信中に他のデータ損失が無いと仮定する)。損失ビデオ符号化の場合には、例えば量子化による更なる圧縮が実行され、ビデオピクチャを表現するデータ量を削減する。これは、デコーダ側で完全に再構成できない。つまり、再構成ビデオピクチャの品質は、元のビデオピクチャの品質と比べて低い又は悪い。
【0091】
H.261以降の幾つかのビデオ符号化標準は、「損失ハイブリッドビデオコーデック」のグループに属する(つまり、サンプルドメインにおける空間及び時間予測と、変換ドメインにおける量子化を適用する2D変換符号化と、を結合する)。ビデオシーケンスの各ピクチャは、標準的に、重なり合わないブロックのセットにパーティションされ、符号化は、標準的に、ブロックレベルで実行される。言い換えると、エンコーダにおいて、例えば空間(イントラピクチャ)予測及び時間(インターピクチャ)予測を用いて予測ブロックを生成し、予測ブロックを現在ブロック(現在処理されている/処理されるべきブロック)から減算して残差ブロックを取得し、残差ブロックを変換し、及び変換ドメインで残差ブロックを量子化して、送信されるべきデータ量を削減し(圧縮)することにより、ビデオは標準的にブロック(ビデオブロック)レベルで処理され、つまり符号化される。一方で、デコーダにおいて、エンコーダと比べて逆の処理が、符号化された又は圧縮されたブロックに対して部分的に適用されて、提示するために現在ブロックを再構成する。更に、エンコーダは、デコーダ処理ループを複製して、後続のブロックを処理する、つまり符号化するために、両方が同一の予測(例えば、イントラ及びインター予測)及び/又は再構成を生成するようにする。
【0092】
ここで使用されるとき、用語「ブロック」はピクチャ又はフレームの一部であってよい。説明の便宜上、本発明の実施形態は、ここで、高効率ビデオ符号化(High-Efficiency Video Coding (HEVC))、又はITU-Tビデオ符号化専門家委員会(ITU-T Video Coding Experts Group (VCEG))及びISO/IEC動画専門家委員会(Motion Picture Experts Group (MPEG))のビデオ符号化に関する共同作業部会(Joint Collaboration Team on Video Coding, JCT-VC)により開発されたバーサタイルビデオ符号化(Versatile video coding (VVC))のリファレンスソフトウェアを参照して説明される。当業者は、本発明の実施形態がHEVC又はVVCに限定されないことを理解するだろう。CU、PU、及びTUを参照し得る。HEVCでは、CTUは、符号化木として示される4分木構造を用いてCUに分割される。ピクチャ領域をインターピクチャ(時間)又はイントラピクチャ(空間)予測を用いて符号化するかどうかの決定は、CUレベルで行われる。各CUは、PU分割タイプに従い、1、2、又は4個のPUに更に分割できる。1個のPU内で、同じ予測処理が適用され、関連情報がPU毎にデコーダへ送信される。PU分割タイプに基づき予測処理を適用することにより、残差ブロックを取得した後に、CUは、CUの符号化木と同様の別の4分木構造に従い、変換ユニット(transform unit (TU))にパーティションすることができる。ビデオ圧縮技術の最新の進展では、4分木及び2分木(Qual-tree and binary tree (QTBT))パーティションフレームが、符号化ブロックをパーティションするために使用される。QTBTブロック構造では、CUは正方形又は長方形形状のいずれかを有し得る。例えば、符号化木ユニット(coding tree unit (CTU))は、先ず、4分木構造によりパーティションされる。4分木のリーフノードは、2分木構造により更にパーティションされる。2分木のリーフノードは、符号化単位(coding unit (CU))と呼ばれ、任意の更なるパーティションを伴わず、予測及び変換処理のためにセグメント化が使用される。これは、CU、PU、及びTUが、QTBT符号化ブロック構造において同じブロックサイズを有することを意味する。並行して、多重パーティション、例えば3分木パーティションも、QTBTブロック構造と一緒に使用するために提案された。用語「装置」は、「機器」、「デコーダ」、又は「エンコーダ」であってもよい。
【0093】
エンコーダ20の以下の実施形態では、デコーダ30及び符号化システム10は図1~3に基づき説明される。
【0094】
図1Aは、本願(本開示)の技術を利用し得る例示的な符号化システム10、例えばビデオ符号化システム10を示す概念的又は概略的ブロック図である。ビデオ符号化システム10のエンコーダ20(例えば、ビデオエンコーダ20)及びデコーダ30(例えば、ビデオデコーダ30)は、本願で説明される種々の例に従う技術を実行するよう構成され得る装置の例を表す。図1Aに示すように、符号化システム10は、符号化データ13、例えば符号化ピクチャ13を、例えば、符号化データ13を復号する宛先装置14に提供するよう構成されるソース装置12を含む。
【0095】
ソース装置12は、エンコーダ20を含み、追加でつまり任意で、ピクチャソース16、前処理ユニット18、例えばピクチャ前処理ユニット18、及び通信インタフェース又は通信ユニット22を含んでよい。
【0096】
ピクチャソース16は、例えば現実のピクチャをキャプチャする任意の種類のピクチャキャプチャ装置、及び/又は任意の種類のピクチャ若しくはコメント(スクリーンコンテンツ符号化では、スクリーン上の何らかのテキストも符号化されるべきピクチャ又は画像の一部と考えられる)生成装置、例えばコンピュータアニメーションピクチャを生成するコンピュータグラフィックプロセッサ、又は現実世界のピクチャ、コンピュータアニメーションピクチャ(例えば、スクリーンコンテンツ、仮想現実(virtual reality (VR))ピクチャ)及び/又はそれらの任意の組み合わせ(例えば、拡張現実(augmented reality (AR))ピクチャ)を取得し及び/又は提供する任意の種類の装置、を含んでよく又はそれであってよい。ピクチャソースは、前述のピクチャのうちのいずれかを格納する任意の種類のメモリ又は記憶装置であってよい。
【0097】
(デジタル)ピクチャは、強度値を有するサンプルの2次元配列又は行列であり又はそのように考えることができる。配列の中のサンプルは、ピクセル(pixel)(ピクチャ要素の短縮形)又はペル(pel)とも呼ばれてよい。配列又はピクチャの水平及び垂直方向(又は軸)にあるサンプルの数は、ピクチャのサイズ及び/又は解像度を定める。色の表現のために、標準的に3つの色成分が利用される。つまり、ピクチャは、3つのサンプル配列で表現され又はそれを含んでよい。RBG形式又は色空間では、ピクチャは、対応する赤、緑、及び青色サンプル配列を含む。しかしながら、ビデオ符号化では、各ピクセルは、標準的に、輝度/色度形式、又は色空間、例えば、Y(時には代わりにLが使用されることもある)により示される輝度成分と及びCb及びCrにより示される2つの色度成分を含むYCbCrとで表現される。輝度(又は略してluma)成分Yは、明るさ又はグレーレベル強度(例えば、グレイスケールピクチャのような)を表現する。一方で、2つの色度(又は略してchroma)成分Cb及びCrは、色度又は色情報成分を表現する。従って、YCbCr形式のピクチャは、輝度サンプル値(Y)の輝度サンプル配列と、色度値(Cb及びCr)の2つの色度サンプル配列とを含む。RGB形式のピクチャは、YCbCr形式に転換され又は変換されてよく、逆も同様であり、処理は色転換又は色変換としても知られる。ピクチャが単色である場合、ピクチャは、輝度サンプル配列のみを含んでよい。
【0098】
ピクチャソース16(例えば、ビデオソース16)は、例えばピクチャをキャプチャするカメラ、前にキャプチャした若しくは生成したピクチャを含む若しくは格納するメモリ、例えばピクチャメモリ、及び/又はピクチャを取得し若しくは受信するための任意の種類の(内部又は外部)インタフェースであってよい。カメラは、例えば、ソース装置に統合されたローカル又は内蔵カメラであってよい。メモリは、例えばソース装置に統合されたローカル又は内蔵メモリであってよい。インタフェースは、例えば、ピクチャを外部ビデオソース、例えばカメラのような外部ピクチャキャプチャ装置、外部メモリ、又は外部ピクチャ生成装置、例えば外部コンピュータグラフィックプロセッサ、コンピュータ若しくはサーバから受信する外部インタフェースであってよい。インタフェースは、任意の特性又は標準化インタフェースプロトコルに従い、任意の種類のインタフェース、例えば有線若しくは無線インタフェース、光インタフェースであり得る。ピクチャデータ17を取得するインタフェースは、通信インタフェース22と同じインタフェース又はその一部であってよい。
【0099】
前処理ユニット18及び前処理ユニット18により実行される処理と対照的に、ピクチャ又はピクチャデータ17(例えばビデオデータ16)は、生ピクチャ又は生ピクチャデータ17とも呼ばれてよい。
【0100】
前処理ユニット18は、(生)ピクチャデータ17を受信し、ピクチャデータ17に前処理を実行して、前処理済みピクチャ19又は前処理済みピクチャデータ19を取得するよう構成される。前処理ユニット18により実行される前処理は、例えばトリミング、色形式変換(例えば、RGBからYCbCrへ)、色補正、又はノイズ除去を含んでよい。前処理ユニット18は光コンポーネントであってよいことが理解できる。
【0101】
エンコーダ20(例えばビデオエンコーダ20)は、前処理済みピクチャデータ19を受信し、符号化ピクチャデータ21を提供するよう構成される(更なる詳細は、例えば図2又は図4に基づき後述される)。
【0102】
ソース装置12の通信インタフェース22は、符号化ピクチャデータ21を受信し、符号化ピクチャデータ21(又はその任意の更なる処理済みバージョン)を通信チャネル13を介して、別の装置、例えば宛先装置14若しくは任意の他の装置へと、記憶又は直接再構成のために送信し、又は、復号又は格納のために符号化データ13を格納し及び/又は符号化データ13を別の装置、例えば宛先装置14又は任意の他の装置へと、送信する前にそれぞれ、符号化ピクチャデータ21を処理するよう構成されてよい。
【0103】
宛先装置14は、デコーダ30(例えば、ビデオデコーダ30)を含み、追加で、つまり任意で、通信インタフェース又は通信ユニット28、後処理ユニット32、及びディスプレイ装置34を含んでよい。
【0104】
宛先装置14の通信インタフェース28は、符号化ピクチャデータ21(又はその任意の更なる処理済みバージョン)又は符号化データ13を、例えばソース装置12から直接に又は任意の他のソース、例えば記憶装置、例えば符号化ピクチャデータ記憶装置から受信し、符号化ピクチャデータ21をデコーダ30へ提供するよう構成される。
【0105】
通信インタフェース22及び通信インタフェース28は、符号化ピクチャデータ21又は符号化データ13を、ソース装置12と宛先装置14との間の通信リンク、例えば直接有線又は無線接続を介して、又は任意の種類のネットワーク、例えば有線又は無線ネットワーク、又はそれらの任意の組み合わせ、又は任意の種類の私設又は公衆ネットワーク、又はそれらの任意の種類の組み合わせを介して送信又は受信するよう構成されてよい。
【0106】
通信インタフェース22は、例えば、符号化ピクチャデータ21を適切な形式、例えばパケットにパッケージし、及び/又は通信リンク又は通信ネットワークを介して送信するために、任意の種類の送信符号化若しくは処理を用いて符号化ピクチャデータを処理するよう構成されてよい。
【0107】
通信インタフェース28は、通信インタフェース22の相手方を形成し、例えば、送信されたデータを受信し、任意の種類の対応する送信復号若しくは処理を用いて送信データを処理し、及び/又は符号化データ13をパッケージ解除して符号化ピクチャデータ21を取得するよう構成されてよい。
【0108】
通信インタフェース22及び通信インタフェース28の両方は、図1Aでソース装置12から宛先装置14を指す符号化ピクチャデータ13の矢印により示されるように、単方向通信インタフェース、又は、双方向通信インタフェースとして構成されてよく、例えば接続を確立するため、通信リンク及び/又はデータ送信、例えば符号化ピクチャデータ送信に関連する任意の他の情報に肯定応答しこれを交換するために、例えばメッセージを送信し及び受信するよう構成されてよい。
【0109】
デコーダ30は、符号化ピクチャデータ21を受信し、復号ピクチャデータ31又は復号ピクチャ31を提供するよう構成される(更なる詳細は、例えば図3又は図5に基づき後述される)。
【0110】
宛先装置14の後プロセッサ32は、復号ピクチャデータ31(再構成ピクチャデータとも呼ばれる)、例えば復号ピクチャ31を後処理して、後処理済みピクチャデータ33、例えば後処理済みピクチャ33を取得するよう構成される。後処理ユニット32により実行される後処理は、例えば色形式変換(例えば、YCbCrからRGBへ)、色補正、トリミング、又は再サンプリング、又は、例えば復号ピクチャデータ31を例えばディスプレイ装置34による表示のために準備するための任意の他の処理、を含んでよい。
【0111】
宛先装置14のディスプレイ装置34は、例えばユーザ又はビューアにピクチャを表示するために、後処理済みピクチャデータ33を受信するよう構成される。ディスプレイ装置34は、再構成ピクチャを提示する任意の種類のディスプレイ、例えば内蔵又は外部ディスプレイ又はモニタであり又はそれを含んでよい。ディスプレイは、例えば液晶ディスプレイ(liquid crystal displays (LCD))、有機発光ダイオード(organic light emitting diodes (OLED))ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、シリコン上の液晶(liquid crystal on silicon (LCoS))、デジタル光プロセッサ(digital light processor(DLP))又は任意の種類の他のディスプレイを含んでよい。
【0112】
図1Aはソース装置12及び宛先装置14を別個の装置として示すが、装置の実施形態は、ソース装置12又は対応する機能と宛先装置14又は対応する機能の両方又は両方の機能を含んでもよい。このような実施形態では、ソース装置12又は対応する機能及び宛先装置14又は対応する機能は、同じハードウェア及び/又はソフトウェア又は別個のハードウェア及び/又はソフトウェア又はそれらの任意の組み合わせを用いて実装されてよい。
【0113】
説明に基づき当業者に明らかなように、図1Aに示されるようなソース装置12及び/又は宛先装置14内の異なるユニット又は機能の存在及びその(正確な)分割は、実際の装置及び用途に依存して変化してよい。
【0114】
エンコーダ20(例えば、ビデオエンコーダ20)及びデコーダ30(例えば、ビデオデコーダ30)はそれぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processors (DSP))、特定用途向け集積回路(application-specific integrated circuits (ASIC))、フィールドプログラマブルゲートアレイ(field-programmable gate arrays (FPGA))、個別ロジック、ハードウェア、又はそれらの任意の組み合わせのような、様々な適切な回路のうちのいずれかとして実装されてよい。技術が部分的にソフトウェアで実装される場合、装置は、適切な非一時的コンピュータ可読記憶媒体内のソフトウェアのための命令を格納してよく、命令を1つ以上のプロセッサを用いるハードウェアで実行して、本開示の技術を実行してよい。前述のいずれか(ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組み合わせ、等を含む)は、1つ以上のプロセッサであると考えられてよい。ビデオエンコーダ20及びビデオデコーダ30の各々は、1つ以上のエンコーダ又はデコーダに含まれてよく、いずれも、結合されたエンコーダ/デコーダ(encoder/decoder (CODEC))の部分としてそれぞれの装置内に統合されてよい。
【0115】
エンコーダ20は、図2のエンコーダ20に関して議論したような種々のモジュール及び/又はここで説明される任意の他のエンコーダシステム若しくはサブシステムを実現するために、処理回路46により実装されてよい。デコーダ30は、図3のデコーダ30に関して議論したような種々のモジュール及び/又はここで説明された任意の他のデコーダシステム若しくはサブシステムを実現するために、処理回路46により実装されてよい。処理回路は、後に議論されるような種々の動作を実行するよう構成されてよい。図5に示すように、技術が部分的にソフトウェアで実装される場合、装置は、適切な非一時的コンピュータ可読記憶媒体内のソフトウェアのための命令を格納してよく、該命令を1つ以上のプロセッサを用いるハードウェアで実行して、本開示の技術を実行してよい。ビデオエンコーダ20及びビデオデコーダ30のいずれも、例えば図1Bに示されるように、単一の装置内の結合されたエンコーダ/デコーダ(encoder/decoder (CODEC))の部分として統合されてよい。
【0116】
ソース装置12は、ビデオ符号化装置又はビデオ符号化機器と呼ばれてよい。宛先装置14は、ビデオ復号装置又はビデオ復号機器と呼ばれてよい。ソース装置12及び宛先装置14は、ビデオ符号化装置又はビデオ符号化機器の例であってよい。
【0117】
ソース装置12及び宛先装置14は、任意の種類のハンドヘルド又は固定装置、例えばノートブック又はラップトップコンピュータ、移動電話機、スマートフォン、タブレット又はタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビジョン、ディスプレイ装置、デジタルメディアプレイヤ、ビデオゲームコンソール、(コンテンツサービスサーバ、又はコンテンツ配信サーバのような)ビデオストリーミング装置、ブロードキャスト受信装置、ブロードキャスト送信装置、等を含む、広範な装置のうちのいずれかを含んでよく、任意の種類のオペレーティングシステムを使用してよく又は使用しなくてよい。
【0118】
幾つかの場合には、ソース装置12及び宛先装置14は、無線通信のために装備されてよい。従って、ソース装置12及び宛先装置14は、無線通信装置であってよい。
【0119】
幾つかの場合には、図1Aに示されるビデオ符号化システム10は単に例であり、本願の技術は、必ずしも符号化装置と復号装置との間の任意のデータ通信を含まないビデオ符号化設定(例えば、ビデオ符号化又はビデオ復号)に適用してよい。他の例では、データはローカルメモリから読み出される、ネットワークを介してストリーミングされる、等であってよい。ビデオ符号化装置は、データを符号化しメモリに格納してよく、及び/又はビデオ復号装置はデータをメモリから読み出し復号してよい。幾つかの例では、符号化及び復号は、互いに通信しないが単にデータをメモリへと符号化し及び/又はメモリからデータを読み出し復号する装置により実行される。
【0120】
説明の便宜上、本発明の実施形態は、ここで、例えば高効率ビデオ符号化(High-Efficiency Video Coding (HEVC))、又はバーサタイルビデオ符号化(Versatile Video coding (VVC))のリファレンスソフトウェア、ITU-Tビデオ符号化専門家委員会(Video Coding Experts Group (VCEG))及びISO/IEC動画専門家委員会(Motion Picture Experts Group (MPEG))のビデオ符号化に関する共同作業部会(Joint Collaboration Team on Video Coding (JCT-VC))により開発された次世代ビデオ符号化標準を参照して説明される。当業者は、本発明の実施形態がHEVC又はVVCに限定されないことを理解するだろう。
【0121】
理解されるべきことに、ビデオエンコーダ20を参照して説明した上述の例の各々について、ビデオデコーダ30は、相互的処理を実行するよう構成されてよい。シグナリングシンタックス要素に関して、ビデオデコーダ30は、このようなシンタックス要素を受信しパースし、相応して関連するビデオデータを復号するよう構成されてよい。幾つかの例では、ビデオエンコーダ20は、1つ以上のシンタックス要素を符号化ビデオビットストリームへとエントロピー符号化してよい。このような例では、ビデオデコーダ30は、このようなシンタックス要素をパースし、相応して関連するビデオデータを復号してよい。
【0122】
図1Bは、例示的な実施形態による、図2のエンコーダ20及び/又は図3のデコーダ30を含む別の例示的なビデオ符号化システム40の説明図である。システム40は、本願において説明される種々の例に従う技術を実施できる。図示の実装では、ビデオ符号化システム40は、画像装置41、ビデオエンコーダ100、ビデオデコーダ30(及び/又は処理ユニット46の論理回路47により実装されるビデオコーダ)、アンテナ42、1つ以上のプロセッサ43、1つ以上のメモリストア44、及び/又はディスプレイ装置45を含んでよい。
【0123】
図示のように、画像装置41、アンテナ42、処理ユニット46、論理回路47、ビデオエンコーダ20、ビデオデコーダ30、プロセッサ43、メモリストア44、及び/又はディスプレイ装置45は、互いに通信可能であってよい。議論されるように、ビデオエンコーダ20及びビデオデコーダ30の両方と共に示されるが、ビデオ符号化システム40は、種々の例においてビデオエンコーダ20のみ又はビデオデコーダ30のみを含んでよい。
【0124】
示されるように幾つかの例では、ビデオ符号化システム40はアンテナ42を含んでよい。アンテナ42は、例えばビデオデータの符号化ビットストリームを送信又は受信するよう構成されてよい。更に、幾つかの例では、ビデオ符号化システム40はディスプレイ装置45を含んでよい。ディスプレイ装置45は、ビデオデータを提示するよう構成されてよい。示されるように、幾つかの例では、論理回路47は処理ユニット46により実装されてよい。処理ユニット46は、特定用途向け集積回路(application-specific integrated circuit (ASIC))ロジック、グラフィックプロセッサ、汎用プロセッサ、等を含んでよい。ビデオ符号化システム40も、同様に特定用途向け集積回路(application-specific integrated circuit (ASIC))ロジック、グラフィックプロセッサ、汎用プロセッサ、等を含んでよい任意的なプロセッサ43を含んでよい。幾つかの例では、論理回路47は、ハードウェア、ビデオ符号化専用ハードウェア、等により実装されてよく、プロセッサ43は、汎用ソフトウェア、オペレーティングシステム、等により実装されてよい。更に、メモリストア44は、揮発性メモリ(例えば、静的ランダムアクセスメモリ(Static Random Access Memory (SRAM))、動的ランダムアクセスメモリ(Dynamic Random Access Memory (DRAM))、等)又は不揮発性メモリ(例えば、フラッシュメモリ、等)、等のような任意の種類のメモリであってよい。非限定的な例では、メモリストア44はキャッシュメモリにより実装されてよい。幾つかの例では、論理回路47は、(例えば画像バッファの実装のために)メモリストア44にアクセスしてよい。他の例では、論理回路47及び/又は処理ユニット46は、画像バッファ等の実装のためにメモリストア(例えばキャッシュ等)を含んでよい。
【0125】
幾つかの例では、論理回路により実装されるビデオエンコーダ100は、(例えば、処理ユニット46又はメモリストア44のいずれかによる)画像バッファ、及び(例えば、処理ユニット46による)グラフィック処理ユニットを含んでよい。グラフィック処理ユニットは、画像バッファに通信可能に接続されてよい。グラフィック処理ユニットは、図2に関して議論したような種々のモジュール及び/又はここで説明される任意の他のエンコーダシステム若しくはサブシステムを実現するために、論理回路47により実装されるようなビデオエンコーダ100を含んでよい。論理回路は、ここで議論されるような種々の動作を実行するよう構成されてよい。
【0126】
ビデオデコーダ30は、図3のデコーダ30に関して議論したような種々のモジュール及び/又はここで説明された任意の他のデコーダシステム若しくはサブシステムを実現するために、論理回路47により実装されるのと同様の方法で実装されてよい。幾つかの例では、ビデオデコーダ30は、論理回路を介して実装されてよく、(例えば、処理ユニット420又はメモリストア44のいずれかによる)画像バッファ、及び(例えば、処理ユニット46による)グラフィック処理ユニットを含んでよい。グラフィック処理ユニットは、画像バッファに通信可能に接続されてよい。グラフィック処理ユニットは、図3に関して議論したような種々のモジュール及び/又はここで説明される任意の他のデコーダシステム若しくはサブシステムを実現するために、論理回路47により実装されるようなビデオデコーダ30を含んでよい。
【0127】
幾つかの例では、ビデオ符号化システム40のアンテナ42は、ビデオデータの符号化ビットストリームを受信するよう構成されてよい。議論したように、符号化ビットストリームは、符号化パーティションに関連するデータ(例えば、変換係数又は量子化済み変換係数、(議論するような)任意的な指示子、及び/又は符号化パーティションを定めるデータ)のような、ここで議論されるビデオフレームの符号化に関連するデータ、指示子、インデックス値、モード選択データ、等を含んでよい。ビデオ符号化システム40は、アンテナ42に接続され符号化ビットストリームを復号するよう構成されるビデオデコーダ30も含んでよい。ディスプレイ装置45は、ビデオフレームを提示するよう構成される。
【0128】
図2は、本願の技術を実施するよう構成される例示的なビデオエンコーダ20の概略的/概念的ブロック図を示す。図2の例では、ビデオエンコーダ20は、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210及び逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタユニット220、復号ピクチャバッファ(decoded picture buffer (DPB))230、予測処理ユニット260、及びエントロピー符号化ユニット270を含む。予測処理ユニット260は、インター予測ユニット244、イントラ予測処理ユニット254、及びモード選択ユニット262を含んでよい。インター予測ユニット244は、動き推定ユニット及び動き補償ユニット(図示しない)を含んでよい。図2に示すようなビデオエンコーダ20は、ハイブリッドビデオエンコーダ又はハイブリッドビデオコーデックに従うビデオエンコーダとも呼ばれてよい。
【0129】
例えば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260、及びエントロピー符号化ユニット270は、エンコーダ20の順方向信号経路を形成する。一方で、例えば、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号ピクチャバッファ(decoded picture buffer (DPB))230、予測処理ユニット260は、エンコーダの逆方向信号経路を形成し、エンコーダの逆方向信号経路はデコーダの信号経路に対応する(図3のデコーダ30を参照)。
【0130】
逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、復号ピクチャバッファ(decoded picture buffer (DPB))230、インター予測ユニット244、及びイントラ予測ユニット254は、ビデオエンコーダ20の「内蔵デコーダ」を形成するとも表される。
【0131】
エンコーダ20は、例えば入力202により、ピクチャ201又はピクチャ201のブロック203、例えばビデオ又はビデオシーケンスを形成するピクチャのシーケンスのピクチャを受信するよう構成される。ピクチャブロック203は、(特に、ビデオ符号化では、現在ピクチャを他のピクチャ、例えば同じビデオシーケンス、つまり現在ピクチャも含むビデオシーケンスの前に符号化され及び/又は復号されたピクチャと区別するために)現在ピクチャブロック又は符号化されるべきピクチャブロックとも、またピクチャ201は、現在ピクチャ又は符号化されるべきピクチャとも呼ばれてよい。
【0132】
(デジタル)ピクチャは、強度値を有するサンプルの2次元配列又は行列と考えられる又は考えることができる。配列の中のサンプルは、ピクセル(pixel)(ピクチャ要素の短縮形)又はペル(pel)とも呼ばれてよい。配列又はピクチャの水平及び垂直方向(又は軸)にあるサンプルの数は、ピクチャのサイズ及び/又は解像度を定める。色の表現のために、標準的に3つの色成分が利用される。つまり、ピクチャは、3つのサンプル配列で表現され又はそれを含んでよい。RBG形式又は色空間では、ピクチャは、対応する赤、緑、及び青色サンプル配列を含む。しかしながら、ビデオ符号化では、各ピクセルは、標準的に、輝度及び色度形式、又は色空間、例えば、Y(時には代わりにLが使用される)により示される輝度成分とCb及びCrにより示される2つの色度成分とを含むYCbCrで表現される。輝度(又は略してluma)成分Yは、明るさ又はグレーレベル強度(例えば、グレイスケールピクチャのような)を表現する。一方で、2つの色度(又は略してchroma)成分Cb及びCrは、色度又は色情報成分を表現する。従って、YCbCr形式のピクチャは、輝度サンプル値(Y)の輝度サンプル配列と、色度値(Cb及びCr)の2つの色度サンプル配列とを含む。RGB形式のピクチャは、YCbCr形式に転換され又は変換されてよく、逆も同様であり、処理は色転換又は色変換としても知られる。ピクチャが単色である場合、ピクチャは、輝度サンプル配列のみを含んでよい。従って、ピクチャは、例えば、単色形式のルマサンプルの配列又はルマサンプルの配列、及び4:2:0、4:2:2、及び4:4:4色形式のクロマサンプルの2つの対応する配列であってよい。
【0133】
パーティショニング
【0134】
エンコーダ20の実施形態は、ピクチャ201を複数の(標準的には重なり合わない)ピクチャブロック203にパーティションするよう構成されるパーティションユニット(図2に示されない)を含んでよい。これらのブロックは、ルートブロック、マクロブロック(H.264/AVC)又は符号化木ブロック(coding tree block (CTB))又は符号化木単位(coding tree unit (CTU))(H.265/HEVC及びVVC)と呼ばれてもよい。パーティションユニットは、同じブロックサイズをビデオシーケンスの全部のピクチャ、及びブロックサイズを定める対応するグリッドに対して使用し、又はピクチャ又はピクチャの部分集合若しくはグループ間のブロックサイズを変更し、各ピクチャを対応するブロックにパーティションするよう構成されてよい。
【0135】
更なる実施形態では、ビデオエンコーダは、ピクチャ201のブロック203、例えばピクチャ201を形成する1つの、幾つかの、又は全部のブロックを直接受信するよう構成されてよい。ピクチャブロック203は、現在ピクチャブロック又は符号化されるべきピクチャブロックとも呼ばれてよい。
【0136】
一例では、ビデオエンコーダ20の予測処理ユニット260は、上述のパーティション技術の任意の組み合わせを実行するよう構成されてよい。
【0137】
ピクチャ201と同様に、ブロック203は、ここでも、強度値(サンプル値)を有するサンプルの2次元配列又は行列であり又は考えることができるが、ピクチャ201より小さい次元である。言い換えると、ブロック203は、例えば1つのサンプル配列(例えば、単色ピクチャ201の場合には、ルマ配列)、又は3つのサンプル配列(例えば、カラーピクチャ201の場合には、ルマ及び2つのクロマ配列)、又は適用される色形式に依存して任意の他の数の及び/又は種類の配列を含んでよい。ブロック203の水平及び垂直方向(又は軸)にあるサンプルの数は、ブロック203のサイズを定める。従って、ブロックは、例えばサンプルのM×N(M列×N行)配列、又は変換係数のM×N配列であってよい。
【0138】
図2に示すようなエンコーダ20は、ブロック毎にピクチャ201を符号化するよう構成される。例えば、符号化及び予測がブロック203毎に実行される。
【0139】
図2に示すようなビデオエンコーダ20の実施形態は、スライス(ビデオスライスとも呼ばれる)を用いてピクチャをパーティション及び/又は符号化するよう更に構成されてよい。ここで、ピクチャは、(標準的に重なり合わない)1つ以上のスライスにパーティションされ又はそれを用いて符号化されてよく、各スライスは、1つ以上のブロック(例えばCTU)又はブロックの1つ以上のグループ(例えば、タイル(H.265/HEVC及びVVC)又はブリック(VVC))を含んでよい。
【0140】
図2に示すようなビデオエンコーダ20の実施形態は、スライス/タイルグループ(ビデオタイルグループとも呼ばれる)及び/又はタイル(ビデオタイルとも呼ばれる)にピクチャをパーティション及び/又は符号化するよう更に構成されてよい。ここで、ピクチャは、(標準的に重なり合わない)1つ以上のスライス/タイルグループにパーティションされ又はそれを用いて符号化されてよく、各スライス/タイルグループは、例えば1つ以上のブロック(例えばCTU)又は1つ以上のタイルを含んでよく、各タイルは、例えば長方形形状であってよく、1つ以上のブロック(例えばCTU)、例えば完全な又は部分的ブロックを含んでよい。
【0141】
残差計算
残差計算ユニット204は、残差ブロック205を、ピクチャブロック203及び予測ブロック265(予測ブロック265に関する更なる詳細は後に提供される)に基づき、例えば予測ブロック265のサンプル値をピクチャブロック203のサンプル値からサンプル毎に(ピクセル毎に)減算してサンプルドメインにおける残差ブロック205を取得することにより、計算するよう構成される。
【0142】
変換
変換処理ユニット206は、変換、例えば離散コサイン変換(discrete cosine transform (DCT))又は離散サイン変換(discrete sine transform (DST))を残差ブロック205のサンプル値に対して適用して、変換ドメインにおける変換係数207を取得するよう構成される。変換係数207は、変換残差係数とも呼ばれ、変換ドメインにおける残差ブロック205を表してよい。
【0143】
変換処理ユニット206は、HEVC/H.265のために指定された変換のようなDCT/DSTの整数近似を適用するよう構成されてよい。直交DCT変換と比べて、このような整数近似は、標準的に、特定の因子によりスケーリングされる。順方向及び逆変換により処理される残差ブロックのノルムを維持するために、追加スケーリング因子が変換処理の部分として適用される。スケーリング因子は、標準的に、スケーリング因子がシフト演算のために2のべき乗であること、変換係数のビット深さ、精度と実装コストとの間のトレードオフ、等のような特定の制約に基づき選択される。特定のスケーリング因子は、例えば、例えばデコーダ30における逆変換処理ユニット212による逆変換(及び例えばエンコーダ20における逆変換処理ユニット212による対応する逆変換)のために指定され、例えばエンコーダ20における変換処理ユニット206による順方向変換のための対応するスケーリング因子が相応して指定されてよい。
【0144】
ビデオエンコーダ20の実施形態(それぞれ、変換処理ユニット206)は、例えば直接又はエントロピー符号化ユニット270により符号化又は圧縮される、変換パラメータ、例えば、変換又は複数の変換のタイプ、を出力するよう構成されてよい。その結果、例えば、ビデオデコーダ30は、復号のために変換パラメータを受信し使用してよい。
【0145】
量子化
量子化ユニット208は、変換係数207を量子化して、例えばスカラー量子化又はベクトル量子化を適用することにより、量子化済み変換係数209を取得するよう構成される。量子化済み変換係数209は、量子化済み残差係数209とも呼ばれてよい。量子化処理は、変換係数207の一部又は全部に関連するビット深さを低減してよい。例えば、nビットの変換係数は、量子化の間、mビットの変換係数に丸め込まれてよい。ここで、nはmより大きい。量子化の程度は、量子化パラメータ(quantization parameter (QP))を調整することにより、変更されてよい。例えば、スカラー量子化では、より精細な又は粗い量子化を達成するために異なるスケーリングが適用されてよい。量子化ステップサイズが小さいほど、精細な量子化に対応する。一方で、量子化ステップサイズが大きいほど、粗い量子化に対応する。適用可能な量子化ステップは、量子化パラメータ(quantization parameter (QP))により示されてよい。量子化パラメータは、例えば、適用可能な量子化ステップサイズの所定のセットに対するインデックスであってよい。例えば、小さい量子化パラメータは、精細な量子化(小さい量子化ステップサイズ)に対応してよく、大きな量子化パラメータは粗い量子化(大きな量子化ステップサイズ)に対応してよく、逆も同様である。量子化は、量子化ステップサイズによる除算を含んでよい。例えば逆量子化210による対応する又は逆の逆量子化は、量子化ステップサイズによる乗算を含んでよい。幾つかの標準、例えばHEVCに従う実施形態は、量子化ステップサイズを決定するために量子化パラメータを使用するよう構成されてよい。通常、量子化ステップサイズは、除算を含む式の不動点近似を用いて、量子化パラメータに基づき計算されてよい。量子化ステップサイズ及び量子化パラメータの式の不動点近似において使用されるスケーリングのために変更され得る残差ブロックのノルムを復元するために、量子化及び逆量子化のための追加のスケーリング因子が導入されてよい。1つの例示的な実装では、逆変換及び逆量子化のスケーリングは結合されてよい。代替として、カスタマイズされた量子化テーブルが使用され、エンコーダからデコーダへ、例えばビットストリームの中でシグナリングされてよい。量子化は、損失動作であり、損失は量子化ステップサイズの増大に伴い増大する。
【0146】
ビデオエンコーダ20の実施形態(それぞれ、量子化ユニット208)は、例えば直接又はエントロピー符号化ユニット270により符号化される、量子化パラメータ(quantization parameters (QP))を出力するよう構成されてよい。その結果、例えば、ビデオデコーダ30は、復号のために量子化パラメータを受信し適用してよい。
【0147】
逆量子化ユニット210は、例えば、量子化ユニット208と同じ量子化ステップサイズに基づき又はそれを用いて、量子化ユニット208により適用された量子化方式の逆を適用することにより、量子化済み係数に対して量子化ユニット208の逆量子化を適用して、逆量子化済み係数211を取得するよう構成される。逆量子化済み係数211は、逆量子化済み残差係数211とも呼ばれ、標準的には量子化による損失のために変換係数と同じではないが、変換係数207に対応してよい。
【0148】
逆変換処理ユニット212は、変換処理ユニット206により適用された変換の逆変換、例えば逆離散コサイン変換(inverse discrete cosine transform (DCT))又は逆離散サイン変換(inverse discrete sine transform (DST))を適用して、サンプルドメインにおける逆変換ブロック213を取得するよう構成される。逆変換ブロック213は、逆変換逆量子化済みブロック213又は逆変換残差ブロック213とも呼ばれてよい。
【0149】
再構成ユニット214(例えば、加算器214)は、逆変換ブロック213(つまり再構成残差ブロック213)を予測ブロック265に加算して、例えば再構成残差ブロック213のサンプル値と予測ブロック265のサンプル値とを加算することにより、サンプルドメインにおける再構成ブロック215を取得するよう構成される。
【0150】
任意で、バッファユニット216(略して「バッファ」216)、例えばラインバッファ216は、再構成ブロック215及びそれぞれのサンプル値を、例えばイントラ予測のためにバッファリングし又は格納するよう構成される。更なる実施形態では、エンコーダは、フィルタリングされていない再構成ブロック及び/又はバッファユニット216に格納されたそれぞれのサンプル値を、任意の種類の推定及び/又は予測、例えばイントラ予測のために使用するよう構成されてよい。
【0151】
エンコーダ20の実施形態は、例えば、バッファユニット216がイントラ予測254のためだけでなく、ループフィルタユニット220(図2に示されない)のためにも再構成ブロック215を格納するために使用されるように、及び/又はバッファユニット216及び復号ピクチャバッファユニット230が1つのバッファを形成するように、構成されてよい。更なる実施形態は、フィルタリング済みブロック221及び/又は復号ピクチャバッファ230からのブロック若しくはサンプル(両方とも図2に示されない)をイントラ予測254のための入力又は基礎として使用するよう構成されてよい。
【0152】
ループフィルタユニット220(又は略して「ループフィルタ」220)は、再構成ブロック215をフィルタリングして、フィルタリング済みブロック221を取得するよう、例えばピクセル遷移を円滑化するよう或いはビデオ品質を向上するよう構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset (SAO))フィルタ又は他のフィルタ、例えばバイラテラルフィルタ又は適応ループフィルタ(adaptive loop filter (ALF))又は先鋭化若しくは円滑化フィルタ又は共同フィルタのような1つ以上のフィルタを表すことを意図する。ループフィルタユニット220はインループフィルタであるとして図2に示されるが、他の構成では、ループフィルタユニット220は後置きループフィルタとして実装されてよい。フィルタリング済みブロック221は、フィルタリング済み再構成ブロック221と呼ばれてもよい。復号ピクチャバッファ230は、ループフィルタユニット220がフィルタリング動作を再構成符号化ブロックに対して実行した後に、再構成符号化ブロックを格納してよい。
【0153】
ループフィルタユニット220(又は略して「ループフィルタ」220)は、再構成ブロック215をフィルタリングして、フィルタリング済みブロック221を取得するよう、又は通常、再構成サンプルをフィルタリングしてフィルタリング済みサンプル値を取得するよう構成される。ループフィルタユニットは、例えば、ピクセル遷移を円滑化し、又はその他の場合にはビデオ品質を向上するよう構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset (SAO))フィルタ又は1つ以上の他のフィルタ、例えば適応ループフィルタ(adaptive loop filter (ALF))、ノイズ抑制フィルタ(noise suppression filter (NSF))又はそれらの任意の組合せのような1つ以上のループフィルタを含んでよい。例では、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、及びALFフィルタを含んでよい。フィルタリング処理の順序は、デブロッキングフィルタ、SAO、及びALFであってよい。別の例では、クロマスケーリングを伴うルママッピング(luma mapping with chroma scaling (LMCS))と呼ばれる処理(つまり、適応型インループリシェーパ)が、追加される。この処理は、デブロッキングの前に実行される。別の例では、デブロッキングフィルタ処理は、内部サブブロックエッジ、例えばアフィンサブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(sub-block transform (SBT))エッジ、及びイントラサブパーティション(intra sub-partition (ISP))エッジにも適用されてよい。ループフィルタユニット220はインループフィルタであるとして図2に示されるが、他の構成では、ループフィルタユニット220は後置きループフィルタとして実装されてよい。フィルタリング済みブロック221は、フィルタリング済み再構成ブロック221と呼ばれてもよい。
【0154】
ビデオエンコーダ20の実施形態(それぞれ、ループフィルタユニット220)は、例えば直接又はエントロピー符号化ユニット270により符号化される、(SAOフィルタパラメータ又はALFフィルタパラメータ又はLMCSパラメータのような)ループフィルタパラメータを出力するよう構成されてよい。その結果、例えば、デコーダ30は、復号のために同じループフィルタパラメータ又はそれぞれのループフィルタを受信し適用してよい。
【0155】
エンコーダ20(それぞれループフィルタユニット220)の実施形態は、例えば直接に又は任意の他のエントロピー符号化ユニット270又は任意の他のエントロピー符号化ユニットによりエントロピー符号化された(サンプル適応オフセット情報のような)ループフィルタパラメータを出力するよう構成されてよい。その結果、例えば、デコーダ30は、同じループフィルタパラメータを受信し、復号のために適用してよい。
【0156】
復号ピクチャバッファ(decoded picture buffer (DPB))230は、ビデオエンコーダ20によるビデオデータの符号化において使用するために、参照ピクチャデータを格納する参照ピクチャメモリであってよい。DPB230は、同期RAM(synchronous DRAM (SDRAM))を含む動的ランダムアクセスメモリ(dynamic random access memory (DRAM))、磁気抵抗RAM(magnetoresistive RAM (MRAM))、抵抗RAM(resistive RAM (RRAM))、又は他の種類のメモリ装置のような、種々のメモリ装置のうちのいずれかにより形成されてよい。DPB230及びバッファ216は、同じメモリ装置又は別個のメモリ装置により提供されてよい。幾つかの例では、復号ピクチャバッファ(decoded picture buffer (DPB))230は、フィルタリング済みブロック221を格納するよう構成される。復号ピクチャバッファ230は、同じ現在ピクチャの又は異なるピクチャ、例えば前の再構成ピクチャの他の前のフィルタリング済みブロック、例えば前の再構成及びフィルタリング済みブロック221を格納するよう更に構成されてよく、完全な前の再構成、つまり復号ピクチャ(及び対応する参照ブロック及びサンプル)、及び/又は部分的な再構成現在ピクチャ(及び対応する参照ブロック及びサンプル)を、例えばインター予測のために提供してよい。幾つかの例では、再構成ブロック215が再構成されるがインループフィルタリングを伴わない場合、復号ピクチャバッファ(decoded picture buffer (DPB))230は、1つ以上のフィルタリングされていない再構成ブロック215、又は一般的には、例えば再構成ブロック215がループフィルタユニット220によりフィルタリングされない場合には、フィルタリングされていない再構成サンプルを、又は再構成ブロック又はサンプルの任意の他の更に処理されたバージョンを格納するよう構成される。
【0157】
予測処理ユニット260は、ブロック予測処理ユニット260とも呼ばれ、ブロック203(現在ピクチャ201の現在ブロック203)及び再構成ピクチャデータ、例えば同じ(現在)ピクチャの参照サンプルをバッファ216から、及び/又は1又は複数の前の復号ピクチャからの参照ピクチャデータ231を復号ピクチャバッファ230から受信し又は取得し、このようなデータを予測のために処理し、つまりインター予測ブロック245又はイントラ予測ブロック255であってよい予測ブロック265を提供するよう構成される。
【0158】
モード選択ユニット262は、予測モード(例えば、イントラ又はインター予測モード)及び/又は残差ブロック205の計算のために及び再構成ブロック215の再構成のために予測ブロック265として使用されるべき対応する予測ブロック245又は255を選択するよう構成されてよい。
【0159】
モード選択ユニット262の実施形態は、最も適する又は言い換えると最小残差(最小残差は送信又は記憶のためのより良い圧縮を意味する)又は最小シグナリングオーバヘッド(最小シグナリングオーバヘッドは送信又は記憶のためのより良い圧縮を意味する)を提供する又は両者を考慮する若しくはバランスを取る予測モードを(例えば、予測処理ユニット260によりサポートされるものから)選択するよう構成されてよい。モード選択ユニット262は、レート歪み最適化(rate distortion optimization (RDO))に基づき、予測モードを決定するよう、つまり、最小のレート歪み最適化を提供する若しくは関連付けられたレート歪みが予測モード選択基準を少なくとも満たす予測モードを選択するよう構成されてよい。
【0160】
以下では、例示的なエンコーダ20により実行される予測処理(例えば、予測処理ユニット260)及び(例えばモード選択ユニット262による)モード選択が更に詳細に説明される。
【0161】
上述の実施形態に追加又は代替として、図17による別の実施形態では、モード選択ユニット260は、パーティションユニット262、インター予測ユニット244、及びイントラ予測ユニット254を含み、元のピクチャデータ、例えば元のブロック203(現在ピクチャ17の現在ブロック203)、及び再構成ピクチャデータ、例えば同じ(現在)ピクチャの及び/又は1つ又は複数の前の復号ピクチャからの、例えば復号ピクチャバッファ230若しくは他のバッファ(例えば、図示されないラインバッファ)からのフィルタリングされた及び/又はフィルタリングされていない再構成サンプル又はブロック、を受信し又は取得するよう構成される。再構成ピクチャデータは、予測ブロック265又は予測子265を取得するために、予測、例えばインター予測又はイントラ予測のために参照ピクチャデータとして使用される。
【0162】
モード選択ユニット260は、(パーティションしないことを含む)現在ブロック予測モードのパーティション、及び予測モード(例えば、イントラ又はインター予測モード)を決定又は選択し、残差ブロック205の計算のため及び再構成ブロック215の再構成のために使用される対応する予測ブロック205を生成するよう構成されてよい。
【0163】
モード選択ユニット260の実施形態は、最良の一致又は言い換えると最小残差(最小残差は送信又は記憶のためのより良い圧縮を意味する)又は最小シグナリングオーバヘッド(最小シグナリングオーバヘッドは送信又は記憶のためのより良い圧縮を意味する)を提供する又は両者を考慮する若しくはバランスを取るパーティション及び予測モードを(例えば、モード選択ユニット260によりサポートされる又は利用可能なものから)選択するよう構成されてよい。モード選択ユニット260は、レート歪み最適化(rate distortion optimization (RDO))に基づき、パーティション及び予測モードを決定するよう、つまり、最小のレート歪みを提供する予測モードを選択するよう構成されてよい。この文脈における「最良」、「最小」、「最適」、等のような用語は、必ずしも全体的な「最良」、「最小」、「最適」、等を表さないが、閾値を超える又はそれより下である値のような終了若しくは選択基準、又は「準最適選択」であるが複雑さ及び処理時間の削減をもたらす可能性のある他の制約の充足を表してもよい。
【0164】
言い換えると、パーティションユニット262は、ビデオシーケンスからのピクチャを符号化木単位(coding tree unit (CTU))のシーケンスにパーティションし、CTU203は、例えば4分木パーティション(quad-tree-partitioning (QT))、2分パーティション(binary partitioning (BT))、又は3分木パーティション(triple-tree-partitioning (TT))、又はそれらの任意の組み合わせを繰り返し使用して、更に小さいブロックパーティション又はサブブロック(これもまたブロックを形成する)に更にパーティションされてよく、例えば各ブロックパーティション又はサブブロックに対して予測を実行するよう更に構成されてよい。ここで、モード選択は、パーティション済みブロック203の木構造の選択を含み、予測モードはブロックパーティション又はサブブロックの各々に適用される。
【0165】
以下では、例示的なビデオエンコーダ20により実行される(例えば、パーティションユニット260による)パーティション及び(インター予測ユニット244及びイントラ予測ユニット254による)予測処理が更に詳細に説明される。
【0166】
パーティショニング
パーティションユニット262は、ビデオシーケンスからのピクチャを、符号化木単位(coding tree unit (CTU)のシーケンスにパーティションするよう構成されてよく、パーティションユニット262は、符号化木単位(coding tree unit (CTU))203を、更に小さいパーティション、例えば更に小さい正方形若しくは長方形ブロックサイズにパーティション(又は分割)してよい。3個のサンプル配列を有するピクチャでは、CTUは、ルマサンプルのN×Nブロックと一緒に、クロマサンプルの2個の対応するブロックで構成される。CTU内のルマブロックの最大許容サイズは、策定中のバーサタイルビデオ符号化(versatile video coding (VVC))128×128であるよう指定されるが、将来には128×128以外の値、例えば256×256であるよう指定され得る。ピクチャのCTUは、スライス/タイルグループ、タイル又はブリックとしてクラスタ化/グループ化されてよい。タイルは、ピクチャの長方形領域をカバーし、タイルは、1つ以上のブリックに分割できる。ブリックは、タイル内の多数のCTU行で構成される。複数のブリックにパーティションされないタイルは、ブリックと呼ぶことができる。しかしながら、ブリックはタイルの真部分集合であり、タイルと呼ばれない。VVCでサポートされるタイルグループの2つのモード、つまりラスタスキャンスライス/タイルグループモード、及び長方形スライスモードがある。ラスタスキャンタイルグループモードでは、スライス/タイルグループは、ピクチャのタイルラスタスキャンの中で、タイルのシーケンスを含む。長方形スライスモードでは、スライスは、ピクチャの長方形領域を集合的に形成する、ピクチャの多数のブリックを含む。長方形スライスの中のブリックは、スライスのブリックラスタスキャンの順である。これらの更に小さいブロック(これは、サブブロックとも呼ばれてよい)は、一層小さいパーティションに更にパーティションされてよい。これは、木パーティション又は階層木パーティションとも呼ばれる。ここで、例えばルート木レベル0(階層レベル0、深さ0)にあるルートブロックは、再帰的にパーティションされて、例えば、次のより下の木レベルにある2つ以上のブロック、例えば木レベル1(階層レベル1、深さ1)にあるノードにパーティションされてよい。ここで、例えば終了基準が充足された、例えば最大木深さ又は最小ブロックサイズに達したために、パーティションが終了するまで、これらのブロックは、再び、次のより下の木レベル、例えば木レベル2(階層レベル2、深さ2)の2つ以上のブロックにパーティションされてよい、等である。更にパーティションされないブロックは、木のリーフブロック又はリーフノードとも呼ばれる。2個のパーティションへのパーティションを用いる木は、2分木(binary-tree (BT))と呼ばれ、3個のパーティションへのパーティションを用いる木は3分木(ternary-tree (TT))と呼ばれ、4個のパーティションへのパーティションを用いる木は4分木(quad-tree (QT))と呼ばれる。
【0167】
例えば、符号化木単位(coding tree unit (CTU))は、ルマサンプルのCTB、3個のサンプル配列を有するピクチャのクロマサンプルの2個の対応するCTB、又は単色ピクチャ又は3個の別個の色平面及びサンプルを符号化するために使用されるシンタックス構造を用いて符号化されるピクチャのサンプルのCTBであり又はそれを含んでよい。相応して、符号化木単位(coding tree block (CTB))は、Nの何らかの値のサンプルのN×Nブロックであってよい。その結果、CTBへのコンポーネントの分割はパーティションである。符号化単位(coding unit (CU))は、ルマサンプルの符号化ブロック、3個のサンプル配列を有するピクチャのクロマサンプルの2個の対応する符号化ブロック、又は単色ピクチャ又は3個の別個の色平面及びサンプルを符号化するために使用されるシンタックス構造を用いて符号化されるピクチャのサンプルの符号化ブロックであり又はそれを含んでよい。相応して、符号木単位(coding block (CB))は、M及びNの何らかの値のサンプルのM×Nブロックであってよい。その結果、符号化ブロックへのCTBの分割はパーティションである。
【0168】
例えばHEVCに従う実施形態では、符号化木単位(coding tree unit (CTU))は、符号化木として示される4分木構造を用いてCUに分割されてよい。ピクチャ領域をインターピクチャ(時間)又はイントラピクチャ(空間)予測を用いて符号化するかどうかの決定は、リーフCUレベルで行われる。各リーフCUは、PU分割タイプに従い、1、2、又は4個のPUに更に分割できる。1個のPU内で、同じ予測処理が適用され、関連情報がPU毎にデコーダへ送信される。PU分割タイプに基づき予測処理を適用することにより、残差ブロックを取得した後に、リーフCUは、CUの符号化木と同様の別の4分木構造に従い、変換ユニット(transform unit (TU))にパーティションすることができる。
【0169】
例えば、バーサタイルビデオ符号化(Versatile Video Coding (VVC))と呼ばれる現在策定中の最新のビデオ符号化標準に従う実施形態では、2分及び3分を用いる結合された4分木ネストマルチタイプ木は、例えば符号化木単位をパーティションするために使用されるセグメント化構造を分割する。符号化木単位の中の符号化木構造では、CUは正方形又は長方形形状のいずれかを有し得る。例えば、符号化木単位(coding tree unit (CTU))は、先ず、4分木によりパーティションされる。次に、4分木リーフノードは、マルチタイプ木構造により更にパーティションされ得る。マルチタイプ木構造には4個の分割タイプ、垂直2分割(SPLIT_BT_VER)、水平2分割(SPLIT_BT_HOR)、垂直3分割(SPLIT_TT_VER)、及び水平3分割(SPLIT_TT_HOR)がある。マルチタイプ木リーフノードは、符号化単位(coding unit (CU))と呼ばれ、CUが最大変換長に対して大きすぎない限り、このセグメント化は、任意の更なるパーティションを伴わずに予測及び変換処理のために使用される。これは、大部分の場合において、CU、PU、及びTUが、ネストマルチタイプ木符号化ブロック構造を有する4分木において同じブロックサイズを有することを意味する。最大のサポートされる変換長がCUの色成分の幅又は高さより小さいとき、例外が生じる。VVCは、ネストマルチタイプ木符号化木構造を有する4分木において、パーティション分割情報のユニークなシグナリングメカニズムを開発する。シグナリングメカニズムでは、符号化木単位(coding tree unit (CTU))は、4分木のルートとして取り扱われ、4分木構造により最初にパーティションされる。各4分木リーフノードは(それを可能にするために十分に大きいとき)、次に、マルチタイプ木構造により更にパーティションされる。マルチタイプ木構造では、第1フラグ(mtt_split_cu_flag)は、ノードが更にパーティションされるかどうかを示すためにシグナリングされる。ノードが更にパーティションされるとき、第2フラグ(mtt_split_cu_vertical_flag)は、分割方向を示すためにシグナリングされる。次に、第3フラグ(mtt_split_cu_binary_flag)は、分割が2分割又は3分割であるかどうかを示すためにシグナリングされる。mtt_split_cu_vertical_flag及びmtt_split_cu_binary_flagの値に基づき、CUのマルチタイプ木分割モード(MttSplitMode)が、所定のルール又はテーブルに基づきデコーダにより導出できる。留意すべきことに、特定の設計、例えばVVCハードウェアデコーダにおける64×64ルマブロック及び32×32クロマパイプライン設計では、図6に示されるように、ルマ符号化ブロックの幅又は高さのいずれかが64より大きいとき、TT分割は禁止される。クロマ符号化ブロックの幅又は高さのいずれかが32より大きいときも、TT分割は禁止される。パイプライン設計は、ピクチャを、ピクチャ内の重なり合わない単位として定義される仮想パイプラインデータ単位(Virtual pipeline data unit (VPDU))に分割する。ハードウェアデコーダでは、連続するVPDUは、複数のパイプライン段により同時に処理される。VPDUサイズは、大部分のパイプライン段においてバッファサイズにほぼ比例する。従って、VPDUサイズを小さく保つことが重要である。大部分のハードウェアデコーダでは、VPDUサイズは、最大変換ブロック(transform block (TB))サイズに設定できる。しかしながら、VVCでは、3分木(ternary tree (TT))及び2分木(binary tree (BT))パーティションは、VPDUサイズの増大をもたらし得る。
【0170】
更に、留意すべきことに、木ノードブロックの一部が下又は右のピクチャ境界を越えると、木ノードブロックは、全ての符号化CUの全部のサンプルがピクチャ境界の内側に位置するまで、強制的に分割される。
【0171】
一例として、イントラサブパーティション(Intra Sub-Partition (ISP))ツールは、ルマイントラ予測ブロックを、ブロックサイズに依存して水平又は垂直に2又は4個のサブパーティションに分割してよい。
【0172】
一例では、ビデオエンコーダ20のモード選択ユニット260は、ここに記載のパーティション技術の任意の組み合わせを実行するよう構成されてよい。
【0173】
上述のように、エンコーダ20は、最良の又は最適な予測モードを決定し又は(予め決定された)予測モードのセットから選択するよう構成される。予測モードのセットは、例えばイントラ予測モード及び/又はインター予測モードを含んでよい。
【0174】
イントラ予測モードのセットは、35個の異なるイントラ予測モード、例えばH.265で定義されたようなDC(又は平均)モード及び平面モードのような無指向性モードを含んでよく、又は67個の異なるイントラ予測モード、例えばVCCのために定義されたようなDC(又は平均)モード及び平面モードのような無指向性モード若しくは指向性モードを含んでよい。一例として、幾つかの従来の角度イントラ予測モードは、例えばVVCで定義されたような非正方形ブロックのための広角イントラ予測モードにより適応して置き換えられる。別の例として、DC予測のための分割操作を回避するために、より長い辺のみが、非正方形ブロックについて平均を計算するために使用される。そして、平面モードのイントラ予測の結果は、位置依存イントラ予測結合(position dependent intra prediction combination (PDPC))方法により更に変更されてよい。
【0175】
イントラ予測ユニット254は、イントラ予測モードのセットのうちのイントラ予測モードに従いイントラ予測ブロック265を生成するために、同じ現在ピクチャの近隣ブロックの再構成サンプルを使用するよう構成される。
【0176】
イントラ予測ユニット254(又は一般的にモード選択ユニット260)は、イントラ予測パラメータ(又は一般的にブロックについて選択されたイントラ予測モードを示す情報)を、エントロピー符号化ユニット270に、符号化ピクチャデータ21に含めるためにシンタックス要素266の形式で出力するよう更に構成される。その結果、例えば、ビデオデコーダ30は、復号のために予測パラメータを受信し及び使用してよい。
【0177】
インター予測モードの(又は可能な)インター予測モードのセットは、利用可能な参照ピクチャ(つまり、例えばDBP230に格納された、前の少なくとも部分的に復号されたピクチャ)及び他のインター予測パラメータに、例えば、参照ピクチャの全体又は部分のみが、例えば参照ピクチャの現在ブロックの領域周辺の検索ウインドウ領域が最良の適合する参照ブロックを検索するために使用されるか、及び/又は、例えば、ピクセル補間、例えばハーフ/セミペル、4分の1ペル、及び/又は16分の1ペル補間が適用されるか否かに依存する。
【0178】
上述の予測モードに加えて、スキップモード、直接モード、及び/又は他のインター予測モードが適用されてよい。
【0179】
例えば、拡張マージ予測、このようなモードのマージ候補リストは、以下の5個のタイプの候補、順に:空間近隣CUからの空間MVP、同一位置のCUからの時間MVP、FIFOテーブルからの履歴に基づくMVP、ペア毎の平均MVP、及びゼロMVPを含むことにより、構成される。そして、双方向一致に基づくデコーダ側動きベクトル精緻化(decoder side motion vector refinement (DMVR))が、マージモードのMVの精度を向上するために適用されてよい。MVDを伴うマージモード(Merge mode with MVD (MMVD))、これは、動きベクトル差を伴うマージモードに由来する。MMVDフラグは、MMVDモードがCUのために使用されるかどうかを指定するために、スキップフラグ及びマージフラグを送信した直後にシグナリングされる。そして、CUレベル適応動きベクトル精度(adaptive motion vector resolution (AMVR))方式が適用されてよい。AMVRは、CUのMVDが異なる正確さで符号化されることを可能にする。現在CUの予測モードに依存して、現在CUのMVDは適応的に選択できる。CUがマージモードで符号化されるとき、結合インター/イントラ予測(combined inter/intra prediction (CIIP))モードは現在CUに適用されてよい。インター及びイントラ予測信号の加重平均が、CIIP予測を取得するために実行される。アフィン動き補償予測、ブロックのアフィン動きフィールドは、2個の制御点(4パラメータ)又は3個の制御点動きベクトル(6パラメータ)の動き情報により記述される。サブブロックに基づく時間動きベクトル予測(Subblock-based temporal motion vector prediction (SbTMVP))、これは、HEVCにおける時間動きベクトル予測(temporal motion vector prediction (TMVP))と同様であるが、現在CUの中のサブCUの動きベクトルを予測する。前にBIOと呼ばれた双方向光フロー(Bi-directional optical flow (BDOF))は、特に乗算の回数及び乗数のサイズの観点で、遙かに少ない計算しか必要としない、より簡易なバージョンである。三角形パーティションモード、このようなモードでは、CUは、対角線分割又は非対角線分割のいずれかを用いて2個の三角形の形状のパーティションに均等に分割される。更に、双予測モードは、2個の予測信号の加重平均を可能にするために、単純な平均を超えて拡張される。
【0180】
上述の予測モードに加えて、スキップモード及び/又は直接モードが適用されてよい。
【0181】
予測処理ユニット260は、例えば4分木パーティション(quad-tree-partitioning (QT))、2分木パーティション(binary partitioning (BT))、3分木パーティション(ternary-tree-partitioning (TT))、又はそれらの任意の組み合わせを繰り返し使用して、ブロック203を更に小さいブロックパーティション又はサブブロックにパーティションし、例えば各ブロックパーティション又はサブブロックに対して予測を実行するよう更に構成されてよい。ここで、モード選択は、パーティション済みブロック203の木構造及びブロックパーティション又はサブブロックの各々に適用される予測モードの選択を含む。
【0182】
インター予測ユニット244は、動き推定(motion estimation (ME))ユニット(図2に示されない)及び動き補償(motion compensation (MC))ユニット(図2に示されない)を含んでよい。動き推定ユニットは、ピクチャブロック203(現在ピクチャ201の現在ブロック203)、及び復号ピクチャ231、又は前の再構成ブロックのうちの少なくとも1つ又は複数、例えば1又は複数の他の/異なる前の復号ピクチャ231のうちの再構成ブロックを、動き推定のために受信し又は取得するよう構成される。例えば、ビデオシーケンスは、現在ピクチャ及び前の復号ピクチャ231を含んでよい。又は、言い換えると、現在ピクチャ及び前の復号ピクチャ231は、ビデオシーケンスを形成するピクチャのシーケンスの一部であり又はそれを形成してよい。
【0183】
エンコーダ20は、例えば、複数の他のピクチャの同じ又は異なるピクチャの複数の参照ブロックから、参照ブロックを選択し、参照ピクチャ(又は参照ピクチャインデックス)及び/又は参照ブロックの位置(x,y座標)と現在ブロックの位置との間のオフセット(空間オフセット)を、インター予測パラメータとして動き推定ユニット(図2に示されない)に提供するよう構成されてよい。このオフセットは、動きベクトル(motion vector (MV))とも呼ばれる。
【0184】
動き補償ユニットは、インター予測パラメータを取得し、例えば受信し、インター予測パラメータに基づき又はそれを用いてインター予測を実行して、インター予測ブロック265を取得するよう構成される。動き補償ユニット(図2に示されない)により実行される動き補償は、動き推定により決定された動き/ブロックベクトルに基づき、予測ブロックをフェッチし又は生成し、場合によってはサブピクセル精度への補間を実行することを含んでよい。補間フィルタリングは、追加ピクセルサンプルを生成してよく、従ってピクチャブロックを符号化するために使用され得る候補予測ブロックの数を増大させる可能性がある。現在ピクチャブロックのPUの動きベクトルを受信すると、動き補償ユニットは、参照ピクチャリストのうちの1つの中で動きベクトルの指す予測ブロックの位置を特定してよい。動き補償ユニットは、ビデオスライスのピクチャブロックを復号する際にビデオデコーダ30による使用のために、ブロック及びビデオスライスに関連するシンタックス要素も生成してよい。
【0185】
イントラ予測ユニット254は、ピクチャブロック203(現在ピクチャブロック)及び同じピクチャの1又は複数の前の再構成ブロック、例えば再構成近隣ブロックを、イントラ推定のために、取得し、例えば受信するよう構成される。エンコーダ20は、例えば、複数の(所定の)イントラ予測モードから、イントラ予測モードを選択するよう構成されてよい。
【0186】
エンコーダ20の実施形態は、最適化基準、例えば最小残差(例えば、現在ピクチャブロック203に最も類似する予測ブロック255を提供するイントラ予測モード)又は最小レート歪みに基づき、イントラ予測モードを選択するよう構成されてよい。
【0187】
イントラ予測ユニット254は、イントラ予測パラメータ、例えば選択されたイントラ予測モードに基づき、イントラ予測ブロック255を決定するよう更に構成される。いずれの場合にも、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット254は、また、イントラ予測パラメータ、つまり、ブロックについて選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット270に提供するよう構成される。一例では、イントラ予測ユニット254は、後述するイントラ予測技術の任意の組み合わせを実行するよう構成されてよい。
【0188】
エントロピー符号化ユニット270は、エントロピー符号化アルゴリズム又は方式(例えば、可変長符号化(variable length coding (VLC))方式、コンテキスト適応型VLC方式(context adaptive VLC (CALVC))、算術符号化方式、コンテキスト適応型バイナリ算術符号化(context adaptive binary arithmetic coding (CABAC))、シンタックスに基づくコンテキスト適応バイナリ算術符号化(syntax-based context-adaptive binary arithmetic coding (SBAC))、確率区間区分エントロピー(probability interval partitioning entropy (PIPE))符号化又は別のエントロピー符号化方法若しくは技術)を量子化済み残差係数209、インター予測パラメータ、イントラ予測パラメータ、及び/又はループフィルタパラメータに、個々に又は一緒に適用して(又は全く適用せず)、出力272により例えば符号化ビットストリーム21の形式で出力され得る符号化ピクチャデータ21を取得するよう構成される。符号化ビットストリーム21は、ビデオデコーダ30へと送信され、又はビデオデコーダ30による後の送信又は読み出しのためにアーカイブされてよい。エントロピー符号化ユニット270は、符号化中の現在ビデオスライスの他のシンタックス要素をエントロピー符号化するよう更に構成され得る。
【0189】
ビデオエンコーダ20の他の構造的変形は、ビデオストリームを符号化するために使用され得る。例えば、非変換に基づくエンコーダ20は、変換処理ユニット206を有しないで、特定のブロック又はフレームについて、残差信号を直接量子化できる。別の実装では、エンコーダ20は、単一のユニットに結合された、量子化ユニット208及び逆量子化ユニット210を有し得る。
【0190】
図3は、本願の技術を実施するよう構成される例示的なビデオデコーダ30を示す。ビデオデコーダ30は、復号ピクチャ131を取得するために、例えばエンコーダ100により符号化ピクチャデータ(例えば、符号化ビットストリーム)21を受信するよう構成される。復号処理の間、ビデオデコーダ30は、ビデオデータ、例えば符号化ビデオスライスのピクチャブロック及び関連するシンタックス要素を表す符号化ビデオストリームを、ビデオエンコーダ100から受信する。
【0191】
図3の例では、デコーダ30は、エントロピー復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(例えば、加算器314)、バッファ316、ループフィルタ320、復号ピクチャバッファ330、及び予測処理ユニット360を含む。予測処理ユニット360は、インター予測ユニット344、イントラ予測ユニット354、及びモード選択ユニット362を含んでよい。ビデオデコーダ30は、幾つかの例では、図2からビデオエンコーダ100に関して説明した符号化経路に対して通常相互的な復号経路を実行してよい。
【0192】
エンコーダ20に関して説明したように、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタ220、復号ピクチャバッファ(decoded picture buffer (DPB))230、インター予測ユニット344、及びイントラ予測ユニット354は、ビデオエンコーダ20の「内蔵デコーダ」を形成するとも表される。従って、逆量子化ユニット310は逆量子化ユニット110と機能的に同一であってよく、逆変換処理ユニット312は逆変換処理ユニット212と機能的に同一であってよく、再構成ユニット314は再構成ユニット214と機能的に同一であってよく、ループフィルタ320はループフィルタ220と機能的に同一であってよく、復号ピクチャバッファ330は復号ピクチャバッファ230と機能的に同一であってよい。従って、それぞれのユニット及びビデオ20エンコーダの機能について提供された説明は、相応して、ビデオデコーダ30のそれぞれのユニット及び機能に適用する。
【0193】
エントロピー復号ユニット304は、エントロピー復号を、符号化ピクチャデータ21に対して実行して、例えば量子化済み係数309、及び/又は復号された符号化パラメータ(図3に示されない)、例えばインター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、及び/又は他のシンタックス要素のうちの(復号された)いずれか又は全部を取得するよう構成される。エントロピー復号ユニット304は、インター予測パラメータ、イントラ予測パラメータ、及び/又は他のシンタックス要素を、予測処理ユニット360に転送するよう更に構成される。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルのシンタックス要素を受信してよい。
【0194】
エントロピー復号ユニット304は、ビットストリーム21(又は一般的に符号化ピクチャデータ21)をパースし、例えば符号化ピクチャデータ21にエントロピー復号を実行して、例えば量子化済み係数309及び/又は復号された符号化パラメータ(図3に示されない)、例えばインター予測パラメータ(例えば、参照ピクチャインデックス及び動きベクトル)、イントラ予測パラメータ(例えば、イントラ予測モード又はインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、及び/又は他のシンタックス要素、のうちのいずれか又は全部を取得するよう構成される。エントロピー復号ユニット304は、エンコーダ20のエントロピー符号化ユニット270に関して説明したような符号化方式に対応する復号アルゴリズム又は方式を適用するよう構成されてよい。エントロピー復号ユニット304は、インター予測パラメータ、イントラ予測パラメータ、及び/又は他のシンタックス要素をモード適用ユニット360に、及び他のパラメータをデコーダ30の他のユニットに提供するよう更に構成されてよい。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルのシンタックス要素を受信してよい。スライス及びそれぞれのシンタックス要素に追加又は代替として、タイルグループ及び/又はタイル及びそれぞれのシンタックス要素が受信され及び/又は使用されてよい。
【0195】
逆量子化ユニット310は逆量子化ユニット110と機能的に同一であってよく、逆変換処理ユニット312は逆変換処理ユニット112と機能的に同一であってよく、再構成ユニット314は再構成ユニット114と機能的に同一であってよく、バッファ316はバッファ116と機能的に同一であってよく、ループフィルタ320はループフィルタ120と機能的に同一であってよく、復号ピクチャバッファ330は復号ピクチャバッファ130と機能的に同一であってよい。
【0196】
デコーダ30の実施形態は、パーティションユニット(図3に示されない)を含んでよい。一例では、ビデオデコーダ30の予測処理ユニット360は、上述のパーティション技術の任意の組み合わせを実行するよう構成されてよい。
【0197】
予測処理ユニット360は、インター予測ユニット344及びイントラ予測ユニット354を含んでよい。ここで、インター予測ユニット344はインター予測ユニット144と機能的に似ていてよく、イントラ予測ユニット354はイントラ予測ユニット154と機能的に似ていてよい。予測処理ユニット360は、標準的に、ブロック予測を実行し、及び/又は予測ブロック365を符号化データ21から取得し、及び予測関連パラメータ及び/又は選択された予測モードに関する情報を、例えばエントロピー復号ユニット304から(明示的に又は暗示的に)受信し又は取得するよう構成される。
【0198】
ビデオスライスがイントラ符号化(intra coded (I))スライスとして符号化されるとき、予測処理ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モード及び現在フレーム又はピクチャの前の復号ブロックからのデータに基づき、現在ビデオスライスのピクチャブロックについて予測ブロック365を生成するよう構成される。ビデオフレームがインター符号化(つまり、B又はP)スライスとして符号化されるとき、予測処理ユニット360のインター予測ユニット344(例えば動き補償ユニット)は、動きベクトル及びエントロピー復号ユニット304から受信した他のシンタックス要素に基づき、現在ビデオスライスのビデオブロックについて予測ブロック365を生成するよう構成される。インター予測では、予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成されてよい。ビデオデコーダ30は、DPB330に格納された参照ピクチャに基づき、規定構成技術を用いて、参照フレームリスト:リスト0及びリスト1を構成してよい。
【0199】
予測処理ユニット360は、動きベクトル及び他のシンタックス要素をパースすることにより、現在ビデオスライスのビデオブロックについて予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックについて予測ブロックを生成するよう構成される。例えば、予測処理ユニット360は、受信したシンタックス要素のうちの幾つかを使用して、ビデオスライスのビデオブロックを符号化するために使用される予測モード(例えば、イントラ又はインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスの参照ピクチャリストのうちの1つ以上の構成情報、スライスの各インター符号化ビデオブロックの動きベクトル、スライスの各インター符号化ビデオブロックのインター予測状態、及び現在ビデオスライス内のビデオブロックを復号するための他の情報を決定する。
【0200】
逆量子化ユニット310は、ビットストリーム内で提供され、エントロピー復号ユニット304により復号された量子化済み変換係数を逆量子化、つまり量子化解除するよう構成される。逆量子化処理は、量子化の程度、及び同様に適用されるべき逆量子化の程度を決定するために、ビデオスライス内の各ビデオブロックに対する、ビデオエンコーダ100により計算された量子化パラメータの使用を含んでよい。
【0201】
逆量子化ユニット310は、量子化パラメータ(quantization parameter (QP))(又は一般的に逆量子化に関する情報)及び量子化済み係数を、符号化ピクチャデータ21から(例えばエントロピー復号ユニット304により例えばパース及び/又は復号することにより)受信し、及び量子化パラメータに基づき逆量子化を復号された量子化済み係数309に適用して、変換係数311とも呼ばれてよい逆量子化済み係数311を取得するよう構成されてもよい。
【0202】
逆変換処理ユニット312は、ピクセルドメインにおいて残差ブロックを生成するために、逆変換、例えば、逆DCT、逆整数変換、又は概念的に類似する逆変換処理を、変換係数に適用するよう構成される。
【0203】
逆変換処理ユニット312は、変換係数311とも呼ばれる逆量子化済み係数311を受信し、サンプルドメインにおいて再構成残差ブロック213を取得するために逆量子化済み係数311に変換を適用するよう構成されてもよい。再構成残差ブロック213は、変換ブロック313とも呼ばれてよい。変換は、逆変換、例えば、逆DCT、逆DST、逆整数変換、又は概念的に同様の逆変換処理であってよい。逆変換処理ユニット312は、変換パラメータ又は対応する情報を、符号化ピクチャデータ21から(例えばエントロピー復号ユニット304により例えばパース及び/又は復号することにより)受信して、逆量子化済み係数311に適用されるべき変換を決定するよう更に構成されてよい。
【0204】
再構成ユニット314(例えば、加算器314)は、逆変換ブロック313(つまり再構成残差ブロック313)を予測ブロック365に加算して、例えば再構成残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することにより、サンプルドメインにおける再構成ブロック315を取得するよう構成される。
【0205】
ループフィルタユニット320(符号化ループ内又は符号化ループの後にある)は、再構成ブロック315をフィルタリングして、フィルタリング済みブロック321を取得するよう、例えばピクセル遷移を円滑化するよう又はその他の場合にはビデオ品質を向上するよう構成される。一例では、ループフィルタユニット320は、後述するフィルタリング技術の任意の組み合わせを実行するよう構成されてよい。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset (SAO))フィルタ又は他のフィルタ、例えばバイラテラルフィルタ又は適応ループフィルタ(adaptive loop filter (ALF))又は先鋭化若しくは円滑化フィルタ又は共同フィルタのような1つ以上のループフィルタを表すことを意図する。ループフィルタユニット320はインループフィルタであるとして図3に示されるが、他の構成では、ループフィルタユニット320は後置きループフィルタとして実装されてよい。
【0206】
ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset (SAO))フィルタ又は1つ以上の他のフィルタ、例えば適応ループフィルタ(adaptive loop filter (ALF))、ノイズ抑制フィルタ(noise suppression filter (NSF))又はそれらの任意の組合せのような1つ以上のループフィルタも含んでもよい。例では、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、及びALFフィルタを含んでよい。フィルタリング処理の順序は、デブロッキングフィルタ、SAO、及びALFであってよい。別の例では、クロマスケーリングを伴うルママッピング(luma mapping with chroma scaling (LMCS))と呼ばれる処理(つまり、適応型インループリシェーパ)が、追加される。この処理は、デブロッキングの前に実行される。別の例では、デブロッキングフィルタ処理は、内部サブブロックエッジ、例えばアフィンサブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(sub-block transform (SBT))エッジ、及びイントラサブパーティション(intra sub-partition (ISP))エッジにも適用されてよい。
【0207】
所与のフレーム又はピクチャ内の復号ビデオブロック321は、次に、後の動き補償のために使用される参照ピクチャを格納する復号ピクチャバッファ330に格納される。
【0208】
ピクチャの復号ビデオブロック321は、次に、他のピクチャのための後の動き補償のための参照ピクチャとして及び/又はそれぞれディスプレイ出力のために復号ピクチャ331を格納する復号ピクチャバッファ330に格納される。
【0209】
デコーダ30は、ユーザへの提示又は閲覧のために、復号ピクチャ331を、例えば出力332を介して出力するよう構成される。
【0210】
ビデオデコーダ30の他の変形は、圧縮ビデオストリームを復号するために使用され得る。例えば、デコーダ30は、ループフィルタユニット320を有しないで、出力ビデオストリームを生成できる。例えば、非変換に基づくデコーダ30は、逆変換処理ユニット312を有しないで、特定のブロック又はフレームについて、残差信号を直接逆量子化できる。別の実装では、ビデオデコーダ30は、単一のユニットに結合された、逆量子化ユニット310及び逆変換処理ユニット312を有し得る。
【0211】
上述の実施形態に追加又は代替として、図18による別の実施形態では、インター予測ユニット344は、インター予測ユニット244と(特に動き補償ユニットと)同一であってよく、イントラ予測ユニット354は、インター予測ユニット254と機能的に同一であってよく、パーティション及び/又は予測パラメータ又は符号化ピクチャデータ21から(例えばエントロピー復号ユニット304により例えばパース及び/又は復号することにより)受信したそれぞれの情報に基づく、分割又はパーティション決定及び予測を実行する。モード適用ユニット360は、再構成ピクチャ、ブロック、又はそれぞれの(フィルタリング済み又はフィルタリングされていない)サンプルに基づき、ブロック毎に予測(イントラ又はインター予測)を実行して、予測ブロック365を取得するよう構成されてよい。
【0212】
ビデオスライスがイントラ符号化(intra coded (I))スライスとして符号化されるとき、モード適用ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モード及び現在ピクチャの前の復号ブロックからのデータに基づき、現在ビデオスライスのピクチャブロックについて予測ブロック365を生成するよう構成される。ビデオピクチャがインター符号化(つまり、B又はP)スライスとして符号化されるとき、モード適用ユニット360のインター予測ユニット344(例えば動き補償ユニット)は、動きベクトル及びエントロピー復号ユニット304から受信した他のシンタックス要素に基づき、現在ビデオスライスのビデオブロックについて予測ブロック365を生成するよう構成される。インター予測では、予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成されてよい。ビデオデコーダ30は、DPB330に格納された参照ピクチャに基づき、規定構成技術を用いて、参照フレームリスト:リスト0及びリスト1を構成してよい。同じ又は同様のことが、スライス(例えば、ビデオスライス)に追加又は代替として、タイルグループ(例えば、ビデオタイルグループ)及び/又はタイル(例えば、ビデオタイル)を用いる実施形態に又はそれにより適用されてよい。例えば、ビデオは、I、P、又はBタイルグループ及び/又タイルを用いて符号化されてよい。
【0213】
モード適用ユニット360は、動きベクトル又は関連情報及び他のシンタックス要素をパースすることにより、現在ビデオスライスのビデオブロックについて予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックについて予測ブロックを生成するよう構成される。例えば、モード適用ユニット360は、受信したシンタックス要素のうちの幾つかを使用して、ビデオスライスのビデオブロックを符号化するために使用される予測モード(例えば、イントラ又はインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスの参照ピクチャリストのうちの1つ以上の構成情報、スライスの各インター符号化ビデオブロックの動きベクトル、スライスの各インター符号化ビデオブロックのインター予測状態、及び現在ビデオスライス内のビデオブロックを復号するための他の情報を決定する。同じ又は同様のことが、スライス(例えば、ビデオスライス)に追加又は代替として、タイルグループ(例えば、ビデオタイルグループ)及び/又はタイル(例えば、ビデオタイル)を用いる実施形態に又はそれにより適用されてよい。例えば、ビデオは、I、P、又はBタイルグループ及び/又タイルを用いて符号化されてよい。
【0214】
図3に示すようなビデオデコーダ30の実施形態は、スライス(ビデオスライスとも呼ばれる)を用いてピクチャをパーティション及び/又は復号するよう構成されてよい。ここで、ピクチャは、(標準的に重なり合わない)1つ以上のスライスにパーティションされ又はそれを用いて復号されてよく、各スライスは、1つ以上のブロック(例えばCTU)又はブロックの1つ以上のグループ(例えば、タイル(H.265/HEVC及びVVC)又はブリック(VVC))を含んでよい。
【0215】
図3に示すようなビデオデコーダ30の実施形態は、スライス/タイルグループ(ビデオタイルグループとも呼ばれる)及び/又はタイル(ビデオタイルとも呼ばれる)を用いてピクチャをパーティション及び/又は復号するよう構成されてよい。ここで、ピクチャは、(標準的に重なり合わない)1つ以上のスライス/タイルグループにパーティションされ又はそれを用いて復号されてよく、各スライス/タイルグループは、例えば1つ以上のブロック(例えばCTU)又は1つ以上のタイルを含んでよく、各タイルは、例えば長方形形状であってよく、1つ以上のブロック(例えばCTU)、例えば完全な又は部分的ブロックを含んでよい。
【0216】
ビデオデコーダ30の他の変形は、符号化ピクチャデータ21を復号するために使用され得る。例えば、デコーダ30は、ループフィルタユニット320を有しないで、出力ビデオストリームを生成できる。例えば、非変換に基づくデコーダ30は、逆変換処理ユニット312を有しないで、特定のブロック又はフレームについて、残差信号を直接逆量子化できる。別の実装では、デコーダ30は、単一のユニットに結合された、逆量子化ユニット310及び逆変換処理ユニット312を有し得る。
【0217】
理解されるべきことに、エンコーダ20及びデコーダ30において、現在ステップの処理結果は、更に処理され、次に次のステップへ出力されてよい。例えば、補間フィルタリング、動きベクトル導出又はループフィルタリングの後に、クリップ又はシフトのような更なる動作が、補間フィルタリング、動きベクトル導出又はループフィルタリングの処理結果に対して実行されてよい。
【0218】
図4は、本開示の実施形態によるビデオ符号化装置400の概略図である。ビデオ符号化装置400は、ここに説明したような開示の実施形態を実施するのに適する。実施形態では、ビデオ符号化装置400は、図1Aのビデオデコーダ30のようなデコーダ、又は図1Aのビデオエンコーダ20のようなエンコーダであってよい。実施形態では、ビデオ符号化装置400は、上述のような図1Aのビデオデコーダ30又は図1Aのビデオエンコーダ20の1つ以上のコンポーネントであってよい。
【0219】
ビデオ符号化装置400は、データを受信するためのイングレスポート410及び受信機ユニット(Rx)420と、データを処理するためのプロセッサ、論理ユニット、又は中央処理ユニット(central processing unit (CPU))430と、データを送信するための送信機ユニット(Tx)440及びイグレスポート450と、データを格納するためのメモリ460と、を含む。ビデオ符号化装置400は、イングレスポート410、受信機ユニット420、送信機ユニット440、及びイグレスポート450に接続された、光若しくは電気信号のイグレス若しくはイングレスのための光-電気(optical-to-electrical (OE))コンポーネント及び電気-光(electrical-to-optical (EO))コンポーネントも含んでよい。
【0220】
プロセッサ430は、ハードウェア及びソフトウェアにより実装される。プロセッサ430は、1つ以上のCPUチップ、コア(例えば、マルチコアプロセッサ)、FPGA、ASIC、及びDSPとして実装されてよい。プロセッサ430は、イングレスポート410、受信機ユニット420、送信機ユニット440、イグレスポート450、及びメモリ460と通信する。プロセッサ430は、符号化モジュール470を含む。符号化モジュール470は、上述の開示の実施形態を実装する。例えば、符号化モジュール470は、種々の符号化動作を実装し、処理し、準備し、又は提供する。符号化モジュール470の中に含まれるものは、従って、ビデオ符号化装置400の機能に実質的な改良を提供し、ビデオ符号化装置400の異なる状態への変換をもたらす。代替として、符号化モジュール470は、メモリ460に格納されプロセッサ430により実行される命令として実装される。
【0221】
メモリ460は、1つ以上のディスク、テープドライブ、及び固体ドライブを含み、プログラムが実行のために選択されるとき該プログラムを格納するため及びプログラムの実行中に読み出される命令及びデータを格納するためのオーバフローデータ記憶装置として使用されてよい。メモリ460は、揮発性及び/又は不揮発性であってよく、読み出し専用メモリ(read-only memory (ROM))、ランダムアクセスメモリ(random access memory (RAM))、三値連想メモリ(ternary content-addressable memory (TCAM))、及び/又は静的ランダムアクセスメモリ(static random-access memory (SRAM))であってよい。
【0222】
図5は、例示的な実施形態による図1からのソース装置310及び宛先装置320の一方又は両方として使用されてよい機器500の簡略ブロック図である。機器500は、上述の本願の技術を実装できる。機器500は、複数のコンピューティング装置を含むコンピューティングシステムの形式、又は単一コンピューティング装置、例えば移動電話機、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、等の形式であり得る。
【0223】
機器500内のプロセッサ502は、中央処理ユニットであり得る。代替として、プロセッサ502は、現在存在する又は今後開発される情報を操作し又は処理できる任意の他の種類の装置又は複数の装置であり得る。開示の実装は示されるように単一のプロセッサ、例えばプロセッサ502により実施できるが、速度及び効率における利益は、1つより多くのプロセッサを用いて達成できる。
【0224】
機器500内のメモリ504は、一実装では、読み出し専用メモリ(read only memory (ROM))装置又はランダムアクセスメモリ(random access memory (RAM))装置であり得る。任意の他の適切な種類の記憶装置が、メモリ504として使用できる。メモリ504は、バス512を用いてプロセッサ502によりアクセスされるコード及びデータ506を含み得る。メモリ504は、オペレーティングシステム508及びアプリケーションプログラム510を更に含み得る。アプリケーションプログラム510は、プロセッサ502がここに記載の方法を実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム510は、ここに記載の方法を実行するビデオ符号化アプリケーションを更に含むアプリケーション1~Nを含むことができる。機器500は、例えばモバイルコンピューティング装置と共に使用されるメモリカードであり得る2次記憶514の形式の追加メモリも含み得る。ビデオ通信セッションは有意な量の情報を含み得るので、それらは、全体又は部分的に2次記憶514に格納され、処理のために必要に応じてメモリ504にロードされ得る。機器500は、ディスプレイ518のような1つ以上の出力装置も含み得る。ディスプレイ518は、一例では、タッチ入力を感知するよう動作するタッチ感応要素とディスプレイを結合するタッチ感応ディスプレイであってよい。ディスプレイ518は、バス512を介してプロセッサ502と結合され得る。
【0225】
機器500は、ディスプレイ518のような1つ以上の出力装置も含み得る。ディスプレイ518は、一例では、タッチ入力を感知するよう動作するタッチ感応要素とディスプレイを結合するタッチ感応ディスプレイであってよい。ディスプレイ518は、バス512を介してプロセッサ502と結合され得る。ユーザが機器500をプログラミングし又はその他の場合に使用することを可能にする他の出力装置は、ディスプレイ518に加えて又はその代替として提供され得る。出力装置がディスプレイである又はそれを含むとき、ディスプレイは、液晶ディスプレイ(liquid crystal display (LCD))、陰極線管(cathode-ray tube (CRT))ディスプレイ、プラズマディスプレイ、又は有機LED(organic LED (OLED))ディスプレイのような発光ダイオード(light emitting diode (LED))ディスプレイを含む種々の方法で実装できる。
【0226】
機器500は、また、画像感知装置520、例えばカメラ、又は機器500を操作しているユーザの画像のような画像を感知できる現存の若しくは今後開発される任意の他の画像感知装置520を含み又はそれと通信できる。画像感知装置520は、機器500を操作するユーザに向けられるように位置決めされ得る。一例では、画像感知装置520の位置及び光軸は、視野がディスプレイ518のすぐ隣にある領域を含み及びそれからディスプレイ518が見えるよう構成され得る。
【0227】
機器500は、また、音声感知装置522、例えばマイクロフォン、又は機器500の近くの音声を感知できる現存の若しくは今後開発される任意の他の音声感知装置を含み又はそれと通信できる。音声感知装置522は、機器500を操作しているユーザに向けられるよう位置決めでき、ユーザが機器500を操作している間にユーザにより生成される音声、例えば会話又は他の発言を受信するよう構成できる。
【0228】
図5は機器500のプロセッサ502及びメモリ504を単一のユニットに統合されているように示すが、他の構成が利用できる。プロセッサ502の動作は、ローカルエリア又は他のネットワークに渡り又は直接結合され得る複数の機械(各機械は1つ以上のプロセッサを有する)に渡り分散できる。メモリ504は、ネットワークに基づくメモリ又は機器500の動作を実行する複数の機械の中のメモリのように、複数の機械に渡り分散できる。ここでは単一のバスとして示されるが機器500のバス512は複数のバスで構成できる。更に、2次記憶514は、機器500の他のコンポーネントに直接結合でき、又はネットワークを介してアクセスでき、メモリカードのような単一の統合ユニット又は複数のメモリカードのような複数のユニットを含むことができる。機器500は、従って、様々な構成で実装できる。
【0229】
次世代ビデオ符号化(Next Generation Video Coding (NGVC))は、CU、PU、及びTU概念の分離を除去し、CUパーティション形状の更なる柔軟性をサポートする。CUのサイズは、符号化ノードのサイズに対応し、正方形又は非正方形(例えば、長方形)の形状であってよい。
【0230】
追加又は代替として、TU又はPUは、CUを分割することによっても取得できる。
【0231】
J. An et al., “Block partitioning structure for next generation video coding”, International Telecommunication Union, COM16-C966, September 2015(以後、“VCEG proposal COM16-C966”)では、HEVC以後の将来のビデオ符号化標準のために4分木2分木(quad-tree-binary-tree (QTBT))パーティション技術が提案された。シミュレーションは、提案されたQTBT構造が使用されるHEVCにおける4分木構造よりも効率的であることを示している。HEVCでは、小さいブロックのインター予測は、動き補償のメモリアクセスを削減するよう制約され、インター予測は4×4ブロックについてサポートされない。JEMのQTBTでは、これらの制約は除去される。
【0232】
QTBTでは、CUは正方形又は長方形形状のいずれかを有し得る。図6に示されるように、符号化木単位(coding tree unit (CTU))は、先ず、4分木構造によりパーティションされる。4分木のリーフノードは、2分木構造により更にパーティションできる。2分木分割には、対称水平分割及び対称垂直分割の2つの分割タイプがある。各々の場合に、ノードは、水平又は垂直のいずれかに、ノードを中央で分割することにより分割される。2分木のリーフノードは符号化単位(coding unit, CU)と呼ばれ、任意の更なるパーティションを伴わず、予測及び変換処理のためにセグメント化が使用される。これは、CU、PU、及びTUが、QTBT符号化ブロック構造において同じブロックサイズを有することを意味する。CUは、時には異なる色成分の符号化ブロック(coding block (CB))で構成され、例えば4:2:0クロマ形式のP及びBスライスの場合には、1個のCUが1個のルマCBと2個のクロマCBとを含み、時には単一の成分のCBで構成され、例えばIスライスの場合には、1個のCUが1個のルマCBのみ又はたった2個のクロマCBを含む。
【0233】
以下のパラメータは、QTBTパーティション方式のために定義される。
-CTUサイズ:4分木のルートノードサイズ、HEVCと同じ概念。
-MinQTSize:最小許容4分木リーフノードサイズ。
-MaxBTSize:最大許容2分木ルートノードサイズ。
-MaxBTDepth:最大許容2分木深さ。
-MinBTSize:最小許容2分木リーフノードサイズ。
【0234】
QTBTパーティション構造の一例では、4分木ノードがMinQTSizeと等しい又はそれより小さいサイズを有するとき、更なる4分木は考慮されない。それは、サイズがMaxBTSizeを超えるので、2分木により更に分割されない。その他の場合、リーフ4分木ノードは、2分木により更にパーティションされ得る。従って、4分木リーフノードは2分木のルートノードでもあり、それは0のような2分木深さを有する。2分木深さがMaxBTDepth(つまり4)に達すると、更なる分割は考慮されない。2分木ノードがMinBTSize(つまり4)に等しい幅を有するとき、更なる水平分割は考慮されない。同様に、2分木ノードがMinBTSizeに等しい高さを有するとき、更なる垂直分割は考慮されない。2分木のリーフノードは、任意の更なるパーティションを伴わず、予測及び変換処理により更に処理される。JEMでは、最大CTUサイズは256×256ルマサンプルである。2分木のリーフノード(CU)は、任意の更なるパーティションを伴わず、(例えば、予測処理及び変換処理を実行することにより)更に処理されてよい。
【0235】
図6は、QTBTパーティション技術を用いてパーティションされたブロック30(例えば、CTB)の例を示す。図6に示されるように、QTBTパーティション技術を用いて、ブロックの各々は、各ブロックの中央を通じて対称的に分割される。図7は、図6のブロックパーティションに対応する木構造を示す。図7の実線は4分木分割を示し、破線は2分木分割を示す。一例では、2分木の各分割(つまり、非リーフ)ノードでは、実行される分割のタイプ(例えば、水平又は垂直)を示すために、シンタックス要素(例えば、フラグ)がシグナリングされる。ここで、0は水平分割を示し、1は垂直分割を示す。4分木分割では、4分木分割が常にブロックを水平及び垂直に等しいサイズを有する4個のサブブロックに分割するので、分割タイプを示す必要がない。
【0236】
図7に示されるように、ノード50で、ブロック30は、図6に示される4個のブロック31、32、33、及び34に、QTパーティションを用いて分割される。ブロック34は、更に分割されず、従ってリーフノードである。ノード52で、ブロック31は、BTパーティションを用いて2個のブロックに更に分割される。図7に示されるように、ノード52は、垂直分割を示す1でマークされる。このように、ノード52における分割は、ブロック37と、ブロック35及び36の両方を含むブロックとを生じる。ブロック35及び36は、ノード54における更なる垂直分割により生成される。ノード56で、ブロック32は、BTパーティションを用いて2個のブロック38及び39に更に分割される。
【0237】
ノード58で、ブロック33は、QTパーティションを用いて4個の等しいサイズのブロックに分割される。ブロック43及び44は、このQTパーティションから生成され、更に分割されない。ノード60で、左上ブロックは、先ず垂直2分木分割を用いて分割されて、ブロック40及び右垂直ブロックを生じる。右垂直ブロックは、次に、水平2分木分割を用いて、ブロック41及び42に分割される。ノード58において4分木分割から生成された右下ブロックは、ノード62において水平2分木分割を用いてブロック45及び46に分割される。図7に示されるように、ノード62は、水平分割を示す0でマークされる。
【0238】
QTBTに加えて、QTBTに基づくCU構造におけるBTを置き換えるためにマルチタイプ木(multi-type-tree (MTT))と称されるブロックパーティション構造が提案される。これは、CTUのブロックを得るためにCTUがQTパーティションにより先ず分割され得、次にブロックがMTTパーティションにより2次的に分割され得ることを意味する。
【0239】
MTTパーティション構造は、なお、再帰的木構造である。MTTでは、複数の異なるパーティション構造(例えば、2つ以上)が使用される。例えば、MTT技術によると、2つ以上の異なるパーティション構造が、木構造の各深さにおいて該木構造のそれぞれの非リーフノードに対して使用されてよい。木構造の中のノードの深さは、該ノードから木構造のルートへのパスの長さ(例えば、分割の数)を表してよい。
【0240】
MTTでは、BTパーティション及び3分木(ternary-tree (TT))パーティションの2つのパーティションタイプがある。パーティションタイプは、BTパーティション及びTTパーティションから選択できる。TTパーティション構造は、TTパーティション構造がブロックを中央で分割しない点で、QT又はBT構造と異なる。ブロックの中央領域は、同じサブブロックの中に一緒に残る。4個のブロックを生じるQT、又は2個のブロックを生じる2分木と異なり、TTパーティション構造による分割は3個のブロックを生じる。TTパーティション構造による例示的なパーティションタイプは、対称パーティションタイプ(水平及び垂直の両方)、並びに非対称パーティションタイプ(水平及び垂直の両方)を含む。更に、TTパーティション構造による対称パーティションタイプは、非一様/非同形又は一様/同形であってよい。TTパーティション構造による非対称パーティションタイプは、非一様/非同形である。一例では、TTパーティション構造は、以下のパーティションタイプ:水平一様/同形対称3分木、垂直一様/同形対称3分木、水平非一様/非同形対称3分木、垂直非一様/非同形対称3分木、水平非一様/非同形非対称3分木、又は垂直非一様/非同形非対称3分木パーティションタイプのうちの少なくとも1つを含んでよい。
【0241】
一般的に、非一様/非同形対称3分木パーティションタイプは、ブロックの中央線に関して対称なパーティションタイプであるが、結果として生じる3個のブロックのうちの少なくとも1つは、他の2個と同じサイズではない。1つの好適な例は、端のブロックがブロックの4分の1のサイズであり、中央ブロックがブロックの2分の1のサイズである場合である。一様/同形対称3分木パーティションタイプは、ブロックの中央線に関して対称なパーティションタイプであるが、結果として生じるブロックは全部同じサイズである。このようなパーティションは、ブロック高さ又は幅が、垂直又は水平分割に依存して、3の倍数である場合に可能である。非一様/非同形非対称3分木パーティションタイプは、ブロックの中央線に関して対称ではないパーティションタイプであり、結果として生じるブロックのうちの少なくとも1つは、他の2個と同じサイズではない。
【0242】
図8は、任意の例示的な水平3分木パーティションタイプを示す概念図である。図9は、任意の例示的な垂直3分木パーティションタイプを示す概念図である。図8及び図9の両方で、hは、ルマ又はクロマサンプルの中のブロックの高さを表し、wは、ルマ又はクロマサンプルの中のブロックの幅を表す。ブロックのそれぞれの中央線は、ブロックの境界を表さないことに留意する(つまり、3分木パーティションは、中央線でブロックを通じて分割しない)。むしろ、中央線は、特定のパーティションタイプが元のブロックの中央線に対して対称又は非対称であるかどうかを示すために使用される。中央線は、また、分割の方向に沿う。
【0243】
図8に示されるように、ブロック71は、水平一様/同形対称パーティションタイプによりパーティションされる。水平一様/同形対称パーティションタイプは、ブロック71の中央線に対して対称の上及び下半分を生成する。水平一様/同形対称パーティションタイプは、それぞれh/3の高さ及びwの幅を有する等しいサイズの3個のサブブロックを生成する。水平一様/同形対称パーティションタイプは、ブロック71の高さが3により均等に分割可能であるとき、可能である。
【0244】
ブロック73は、水平非一様/非同形対称パーティションタイプによりパーティションされる。水平非一様/非同形対称パーティションタイプは、ブロック73の中央線に対して対称の上及び下半分を生成する。水平非一様/非同形対称パーティションタイプは、等しいサイズの2個のブロック(例えば、h/4の高さを有する上及び下ブロック)、及び異なるサイズの中央ブロック(例えば、h/2の高さを有する中央ブロック)を生成する。一例では、水平非一様/非同形対称パーティションタイプに従い、中央ブロックの領域は上及び下ブロックの結合領域と等しい。幾つかの例では、水平非一様/非同形対称パーティションタイプは、2のべき乗(例えば、2、4、8、16、32、等)である高さを有するブロックでは優先されてよい。
【0245】
ブロック75は、水平非一様/非同形非対称パーティションタイプによりパーティションされる。水平非一様/非同形非対称パーティションタイプは、ブロック75の中央線に対して対称な上及び下半分を生成しない(つまり、上及び下半分は非対称である)。図8の例では、水平非一様/非同形非対称パーティションタイプは、h/4の高さを有する上ブロック、3h/8の高さを有する中央ブロック、及び3h/8の高さを有する下ブロックを生成する。勿論、他の非対称構成が使用されてよい。
【0246】
図9に示されるように、ブロック81は、垂直一様/同形対称パーティションタイプによりパーティションされる。垂直一様/同形対称パーティションタイプは、ブロック81の中央線に対して対称の左及び右半分を生成する。垂直一様/同形対称パーティションタイプは、それぞれw/3の幅及びhの幅を有する等しいサイズの3個のサブブロックを生成する。垂直一様/同形対称パーティションタイプは、ブロック81の幅が3により均等に分割可能であるとき、可能である。
【0247】
ブロック83は、垂直非一様/非同形対称パーティションタイプによりパーティションされる。垂直非一様/非同形対称パーティションタイプは、ブロック83の中央線に対して対称の左及び右半分を生成する。垂直非一様/非同形対称パーティションタイプは、83の中央線に対して対称の左及び右半分を生成する。垂直非一様/非同形対称パーティションタイプは、等しいサイズの2個のブロック(例えば、w/4の幅を有する左及右ブロック)、及び異なるサイズの中央ブロック(例えば、w/2の幅を有する中央ブロック)を生成する。一例では、垂直非一様/非同形対称パーティションタイプに従い、中央ブロックの領域は左及び右ブロックの結合領域と等しい。幾つかの例では、垂直非一様/非同形対称パーティションタイプは、2のべき乗(例えば、2、4、8、16、32、等)である幅を有するブロックでは優先されてよい。
【0248】
ブロック85は、垂直非一様/非同形非対称パーティションタイプによりパーティションされる。垂直非一様/非同形非対称パーティションタイプは、ブロック85の中央線に対して対称な左及び右半分を生成しない(つまり、左及び右半分は非対称である)。図9の例では、垂直非一様/非同形非対称パーティションタイプは、w/4の幅を有する左ブロック、3w/8の幅を有する中央ブロック、及び3w/8の幅を有する右ブロックを生成する。勿論、他の非対称構成が使用されてよい。
【0249】
QTBTのパラメータに加えて、以下のパラメータが、MITパーティション方式のために定義される。
-MaxBTSize:最大許容2分木ルートノードサイズ。
-MinBtSize:最小許容2分木ルートノードサイズ。
-MaxMttDepth:最大マルチタイプ木深さ。
-MaxMttDepthオフセット:最大マルチタイプ木深さオフセット。
-MaxTtSize:最大許容3分木ルートノードサイズ。
-MinTtSize:最小許容3分木ルートノードサイズ。
-MinCbSize:最小許容符号化ブロックサイズ。
【0250】
本開示の実施形態は、本願の実施形態に従い、図2のビデオエンコーダ20又は図3のビデオデコーダ30のようなビデオエンコーダ又はビデオデコーダにより実装されてよい。パーティションユニットを含む、ビデオエンコーダ20又はビデオデコーダ30の1つ以上の構造要素は、本開示の実施形態の技術を実行するよう構成されてよい。
【0251】
[JVET-K1001-v4], JVET AHG report, J.-R.Ohm, G.J.Sulivan, http://phenix.int-evry.fr/jvet/では、MinQtSizeYのシンタックス要素(log2_min_qt_size_intra_slices_minus2及びlog2_min_qt_size_inter_slices_minus2)、及びMaxMttDepthのシンタックス要素(max_mtt_hierarchy_depth_inter_slices及びmax_mtt_hierarchy_depth_intra_slices)は、SPSの中でシグナリングされる。
【0252】
ルマCTBサイズとMaxBtSizeYとの間の差のシンタックス要素(log2_diff_ctu_max_bt_size)は、スライスヘッダの中でシグナリングされる。
【0253】
CtbSizeY及び対応するシンタックス要素log2_ctu_size_minus2は、ルマサンプルの数の観点で、最大符号化ブロックサイズのサイズを示す。
【0254】
MinCbSizeYは、CTU(coding tree unit)の4分木分割から生じるリーフブロックの最小ルマサイズとして定義される。サイズは、ブロックの幅又は高さのいずれかをサンプルの数で示すことができる。それは、また、正方形ブロックの場合には、幅及び高さを一緒に示し得る。一例として、MinQtSizeYが16に等しい場合、16より小さい又は等しいサイズを有する符号化ブロックは、4分木分割方法を用いて子ブロックにパーティションできない。従来のMinQtSizeYでは、log2_min_qt_size_intra_slices_minus2及びlog2_min_qt_size_inter_slices_minus2は、最小4分木ブロックサイズを示すために使用される。サイズの指示は、間接指示であることもできることに留意し、log2_min_qt_size_intra_slices_minus2が、最小4分木ブロックのルマサンプルの数の2進対数(基数2)であり得ることを意味する。MaxMttDepthは、4分木リーフ又はCTUのマルチタイプ木分割から生じる符号化単位の最大階層構造深さとして定義される。符号化木単位(又はCTB、Coding Tree Block)は、ピクチャフレームをパーティションするために使用される最大ブロックサイズを記述する。MaxMttDepthは、子ブロックを取得するために適用できる連続する2又は3分割の数の上限を記述する。例として、CTUサイズは128×128であり(幅が128に等しく、高さが128に等しい)、MaxMttDepthが1に等しいと仮定する。この場合、親ブロック(サイズが128×128)は、先ず、2分割を用いて2個の128×64子ブロックに分割できる。しかしながら、許容2分割の最大数に達するので、子ブロックは、(128×32又は64×64子ブロックのいずれかを生じる)任意の連続する2分割を適用できない。MaxMttDepthは、最大2分割深さ又は最大3分割深さ、或いは両方を、同時に制御できることに留意する。2及び3分割の両方を同時に制御する場合、1回の2分割、その後に続く1回の3分割は、2回の階層構造分割として数えることができる。従来のMaxMttDepthでは、max_mtt_hierarchy_depth_inter_slices及びmax_mtt_hierarchy_depth_intra_slicesは、マルチタイプ木から生じる符号化単位の最大階層構造深さを示すために使用される。
【0255】
シンタックス要素の名称は、それらが従来技術において現れるように使用されることに留意する。しかしながら、名称は変更可能であり、従って、重要であると考えられるべきものはシンタックス要素の論理的意味であることが明確にされるべきである。
【0256】
MaxBtSizeYは、サンプルの数の観点で、2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)として定義される。例として、MaxBtSizeYが64に等しい場合、幅又は高さのいずれかにおいてサイズのより大きい符号化ブロックは、2分割を用いて分割できない。これは、サイズ128×128を有するブロックが2分割を用いて分割できないことを意味し、一方で、サイズ64×64を有するブロックは2分割を用いて分割できる。
【0257】
MinBtSizeYは、サンプルの数の観点で、2分割を用いて分割可能な符号化ブロックの最小ルマサイズ(幅又は高さ)として定義される。例として、MinBtSizeYが16に等しい場合、幅又は高さのいずれかにおいてサイズのより小さい又は等しい符号化ブロックは、2分割を用いて分割できない。これは、サイズ8×8を有するブロックが2分割を用いて分割できないことを意味し、一方で、サイズ32×32を有するブロックは2分割を用いて分割できる。
【0258】
MinCbSizeYは、最小符号化ブロックサイズとして定義される。例として、MinCbSizeYは8に等しいことが可能である。これは、結果として生じる子ブロックが幅又は高さのいずれかでMinCbSizeYより小さいことが保証されるので、サイズ8×8を有する親ブロックが分割モードのうちのいずれかを用いて分割できないことを意味する。第2の例によると、MinCbSizeYが8に等しい場合、サイズ8×16を有する親ブロックは、例えば4分木分割を用いてパーティションできない。何故なら、結果として生じる4個の子ブロックが4×8のサイズ(幅が4に等しく、高さが8に等しい)を有することになり得、結果として生じる子ブロックの幅の幅がMinCbSizeYより小さくなり得るからである。第2の例では、幅及び高さを独立して制限するために2個の異なるシンタックス要素が使用できるが、MinCbSizeYがブロックの幅及び高さの両方に適用すると仮定された。
【0259】
MinTbSizeYは、サンプルの数の観点で、3分割を用いて分割可能な符号化ブロックの最小変換ブロックサイズとして定義される。例として、MinTbSizeYが16に等しい場合、幅又は高さのいずれかにおいてサイズのより小さい又は等しい符号化ブロックは、3分割を用いて分割できない。これは、サイズ8×8を有するブロックが3分割を用いて分割できないことを意味し、一方で、サイズ32×32を有するブロックは3分割を用いて分割できる。
【0260】
シーケンスパラメータセットRBSP(Raw Byte Sequence Payload)シンタックス([JVET-K1001-v4]のSection 7.3.2.1)
[Ed.(BB):予備的な基本SPS、更なる研究対象であり、更なる仕様開発中である。]
【表1】
【0261】
これらのシンタックステーブルでは、太字はビットストリームに含まれるシンタックス要素である。太字で示されない要素は、更なるシンタックス単位のための条件又はプレースホルダである。
【0262】
スライスヘッダシンタックス([JVET-K1001-v4]のSection 7.3.3)
[Ed.(BB):予備的な基本スライスヘッダ、更なる研究対象であり、更なる仕様開発中である。]
【表2】
【0263】
シンタックス要素のセマンティクス、つまり、ビットストリームに含まれるシンタックス要素がどのように解釈されるべきかも、標準で提供される。以下では、上述の要素のセマンティクスが提供される。
【0264】
シーケンスパラメータセットRBSPセマンティクス([JVET-K1001-v4]のSection 7.4.3.1)
log2_ctu_size_minus2+2は、各CTUのルマ符号化木ブロックサイズを指定する。
【0265】
変数CtbLog2SizeY、 CtbSizeY、MinCbLog2SizeY、MinCbSizeY、MinTbLog2SizeY、MaxTbLog2SizeY、PicWidthInCtbsY、PicHeightInCtbsY、PicSizeInCtbsY、PicWidthInMinCbsY、PicHeightInMinCbsY、PicSizeInMinCbsY、PicSizeInSamplesY、PicWidthInSamplesC、及びPicHeightInSamplesCは、以下のように導出される。
【数1】
【0266】
log2_min_qt_size_intra_slices_minus2+2は、2(I)に等しいslice_typeを有するスライスの中のCTUの4分木分割から生じるリーフブロックの最小ルマサイズを指定する。log2_min_qt_size_intra_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。
【数2】

[Ed.(BB):4分木のリーフは、符号化単位又はネストマルチタイプ木のルートのいずれかであることができる。]
【0267】
log2_min_qt_size_inter_slices_minus2+2は、0(B)又は1(P)に等しいslice_typeを有するスライスの中のCTUの4分木分割から生じるリーフブロックの最小ルマサイズを指定する。log2_min_qt_size_inter_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。
【数3】
【0268】
max_mtt_hierarchy_depth_inter_slicesは、0(B)又は1(P)に等しいslice_typeを有するスライスの中の4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さを指定する。max_mtt_hierarchy_depth_inter_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。
【0269】
max_mtt_hierarchy_depth_intra_slicesは、2(I)に等しいslice_typeを有するスライスの中の4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。
【0270】
スライスヘッダセマンティクス([JVET-K1001-v4]のSection 7.4.4)
【0271】
log2_diff_ctu_max_bt_sizeは、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差を指定する。log2_diff_ctu_max_bt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。
【0272】
log2_diff_ctu_max_bt_sizeが存在しないとき、log2_diff_ctu_max_bt_sizeの値は2に等しいと推定される。
【0273】
変数MinQtLog2SizeY、MaxBtLog2SizeY、MinBtLog2SizeY、MaxTtLog2SizeY、MinTtLog2SizeY、MaxBtSizeY、MinBtSizeY、MaxTtSizeY、MinTtSizeY、及びMaxMttDepthは、以下のように導出される。
【数4】

[Ed.(BB):現在、Iスライスの最大BTサイズ(CtbLog2SizeY-2、例えば128×128ルマサンプルのCTUサイズでは、32×32ルマサンプル及び対応するクロマサンプル)と同様に、最大TTサイズは固定される(Iスライスでは32×32ルマサンプル及び対応するクロマサンプル、P/Bスライスでは64×64ルマサンプル及び対応するクロマサンプル)。]
【0274】
本開示の実施形態1では:
実施形態1は、SPS(sequence parameter sets)の中での、スライスタイプ毎に個別のパーティション制約関連高レベルシンタックス要素(例えば、MinQtSizeY、MaxMttDepht、MaxBtSizeY)のシグナリング、及び/又は、パーティション制約オーバーライド有効化(又は無効化)フラグのシグナリングに関する。
【0275】
スライスヘッダの中で、パーティション制約オーバーライドフラグをシグナリングすることは、以下を意味する:
フラグが真である場合、
スライスヘッダの中のパーティション制約関連高レベルシンタックス要素をオーバーライドし、ここで、オーバーライドは、スライスヘッダの中の要素を再シグナリングすることを意味する。
その他の場合、
スライスタイプに基づき、SPSからシグナリングされた値により、パーティション制約関連高レベルシンタックス要素を推定する。
【0276】
言い換えると、1つ以上のパーティション制約パラメータがスライスヘッダの中で又はSPSのようなパラメータセットの中でシグナリングされるかどうかを示すために、パーティション制約オーバーライドフラグは、スライスヘッダの中でシグナリングされる。パラメータセットは、必ずしもSPSである必要がないことに留意する。それは、PPS、又は例えば1つより多くのスライスに、例えばビデオの1つ以上のピクチャに関連する任意の他の種類のパラメータセットであることも可能である。
【0277】
代替として、
SPSでは、パーティション制約関連高レベルシンタックス要素(例えば、MinQtSizeY、MaxMttDepht、MaxBtSizeY)は、特徴又はインデックスに基づき個々に組になってシグナリングされ、パーティション制約オーバーライド有効化(又は無効化)フラグがシグナリングされる。
【0278】
スライスヘッダの中で、パーティション制約オーバーライドフラグがシグナリングされ、及び:
フラグが真である場合、
スライスヘッダの中のパーティション制約関連高レベルシンタックス要素をオーバーライドし、ここで、オーバーライドは、スライスヘッダの中の要素を再シグナリングすることを意味する。
その他の場合、
シグナリングを個別化するために使用される特徴又はインデックスに基づき、SPSからシグナリングされた値により、パーティション制約関連高レベルシンタックス要素を推定する。
【0279】
シグナリング及びオーバーライドの位置に関し、代替として、例えば:
パーティション制約関連高レベルシンタックス要素のシグナリングは、パラメータセットの中で実行でき、オーバーライド動作は、スライスヘッダの中で実行できる。
【0280】
パーティション制約関連高レベルシンタックス要素のシグナリングは、パラメータセットの中で実行でき、オーバーライド動作は、タイルヘッダの中で実行できる。
【0281】
パーティション制約関連高レベルシンタックス要素のシグナリングは、第1パラメータセットの中で実行でき、オーバーライド動作は、第2パラメータセットの中で実行できる。
【0282】
パーティション制約関連高レベルシンタックス要素のシグナリングは、スライスヘッダの中で実行でき、オーバーライド動作は、タイルヘッダの中で実行できる。
【0283】
一般的に、パーティション制約関連高レベルシンタックス要素のシグナリングが第1パラメータセットの中で実行され、オーバーライド動作が第2パラメータセットの中で実行されるとき、第1セットが第2パラメータセットより大きな画像/ビデオ領域に関連するという点で、効率的な符号化が達成され得る。
【0284】
技術的利点(例えば、SPS内のシグナリング、スライスヘッダ内のオーバーライド):高レベルパーティション制約は、パーティションの複雑さとパーティションからの符号化効率との間のトレードオフを制御する。本発明は、個々のスライスについてトレードオフを制御する柔軟性を保証する。
【0285】
エンコーダ及び復号の両方は、同じ(対応する)動作を行う。
【0286】
従来技術に基づく対応するシンタックス及びセマンティクス変更は、以下に示される:
変更されたシーケンスパラメータセットRBSPシンタックス([JVET-K1001-v4]のSection 7.3.2.1)
[Ed.(BB):予備的な基本SPS、更なる研究対象であり、更なる仕様開発中である。]
【表3】
【0287】
変更されたスライスヘッダシンタックス([JVET-K1001-v4]のSection 7.3.3)
[Ed.(BB):予備的な基本スライスヘッダ、更なる研究対象であり、更なる仕様開発中である。]
【表4】
【0288】
変更されたシーケンスパラメータセットRBSPセマンティクス([JVET-K1001-v4]のSection 7.4.3.1)
【0289】
1に等しいpartition_constraint_override_enabled_flagは、SPSを参照するスライスについて、スライスヘッダの中のpartition_constraint_override_flagの存在を指定する。0に等しいpartition_constraint_override_enabled_flagは、SPSを参照するスライスについて、スライスヘッダの中のpartition_constraint_override_flagの不存在を指定する。
【0290】
sps_log2_min_qt_size_intra_slices_minus2+2は、CTUの4分木分割から生じるリーフブロックの規定最小ルマサイズがSPSを参照するスライスのスライスヘッダの中に存在するCTUの4分木分割から生じるリーフブロックの最小ルマサイズによりオーバーライドされない限り、SPSを参照する2(I)に等しいslice_typeを有するスライスの中のCTUの4分木分割から生じるリーフブロックの規定最小ルマサイズを指定する。log2_min_qt_size_intra_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。
【数5】
【0291】
sps_log2_min_qt_size_inter_slices_minus2+2は、CTUの4分木分割から生じるリーフブロックの規定最小ルマサイズがSPSを参照するスライスのスライスヘッダの中に存在するCTUの4分木分割から生じるリーフブロックの最小ルマサイズによりオーバーライドされない限り、SPSを参照する0(B)又は1(P)に等しいslice_typeを有するスライスの中のCTUの4分木分割から生じるリーフブロックの規定最小ルマサイズを指定する。log2_min_qt_size_inter_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。
【数6】
【0292】
sps_max_mtt_hierarchy_depth_inter_slicesは、4分木リーフのマルチタイプ木分割から生じる符号化単位の規定最大階層構造深さが、SPSを参照するスライスのスライスヘッダの中に存在する4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さによりオーバーライドされない限り、SPSを参照する0(B)又は1(P)に等しいslice_typeを有するスライスの中の4分木リーフのマルチタイプ木分割から生じる符号化単位の規定最大階層構造深さを指定する。max_mtt_hierarchy_depth_inter_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。
【0293】
sps_max_mtt_hierarchy_depth_intra_slicesは、4分木リーフのマルチタイプ木分割から生じる符号化単位の規定最大階層構造深さが、SPSを参照するスライスのスライスヘッダの中に存在する4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さによりオーバーライドされない限り、SPSを参照する2(I)に等しいslice_typeを有するスライスの中の4分木リーフのマルチタイプ木分割から生じる符号化単位の規定最大階層構造深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。
【0294】
sps_log2_diff_ctu_max_bt_size_intra_slicesは、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差が、ルマCTBサイズとSPSを参照するスライスのスライスヘッダの中に存在する2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差によりオーバーライドされない限り、ルマCTBサイズとSPSを参照する2(I)に等しいslice_typeを有するスライスの中の2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差を指定する。log2_diff_ctu_max_bt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。
【0295】
sps_log2_diff_ctu_max_bt_size_inter_slicesは、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差が、ルマCTBサイズとSPSを参照するスライスのスライスヘッダの中に存在する2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差によりオーバーライドされない限り、ルマCTBサイズとSPSを参照する0(B)又は1(P)に等しいslice_typeを有するスライスの中の2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差を指定する。log2_diff_ctu_max_bt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。
【0296】
変更されたスライスヘッダセマンティクス([JVET-K1001-v4]のSection 7.4.4)
1に等しいpartition_constraint_override_flagは、パーティション制約パラメータがスライスヘッダの中に存在することを指定する。0に等しいpartition_constraint_override_flagは、パーティション制約パラメータがスライスヘッダの中に存在しないことを指定する。存在しないとき、partition_cosntraints_override_flagの値は0に等しいと推定される。
【0297】
log2_min_qt_size_minus2+2は、現在スライスについて、CTUの4分木分割から生じるリーフブロックの最小ルマサイズを指定する。log2_min_qt_size_inter_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。存在しないとき、log2_min_qt_size_minus2の値は、slice_typeが2(I)に等しい場合にsps_log2_min_qt_size_intra_slices_minus2に等しいと推定され、slice_typeが0(B)又は1(P)に等しい場合にsps_log2_min_qt_size_inter_slices_minus2に等しいと推定される。
【0298】
max_mtt_hierarchy_depthは、現在スライスについて、4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、max_mtt_hierarchy_depthの値は、2(I)に等しいslice_typeによりsps_max_mtt_hierarchy_depth_intra_slicesに等しいと推定され、0(B)又は1(P)に等しいslice_typeによりsps_max_mtt_hierarchy_depth_inter_slicesに等しいと推定される。
【0299】
log2_diff_ctu_max_bt_sizeは、現在スライスについて、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差を指定する。log2_diff_ctu_max_bt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、log2_diff_ctu_max_bt_sizeの値は、2(I)に等しいslice_typeによりsps_log2_diff_ctu_max_bt_size_intra_slicesに等しいと推定され、0(B)又は1(P)に等しいslice_typeによりsps_log2_diff_ctu_max_bt_size_inter_slicesに等しいと推定される。
【0300】
変数MinQtLog2SizeY、MaxBtLog2SizeY、MinBtLog2SizeY、MaxTtLog2SizeY、MinTtLog2SizeY、MaxBtSizeY、MinBtSizeY、MaxTtSizeY、MinTtSizeY、及びMaxMttDepthは、以下のように導出される。
【数7】
【0301】
本開示の実施形態1の代替実装では、以下に記載される:
シーケンスパラメータセット(SPS)は、符号化ビデオシーケンス全体に適用し、符号化ビデオシーケンス(略してCVS)内のピクチャ毎に変化しないパラメータを含む。同じCVS内の全部のピクチャは同じSPSを使用する。
【0302】
PPSは、同じ符号化ビデオシーケンス内の異なるピクチャについて変化してよいパラメータを含む。しかしながら、異なるスライス符号化タイプ(I、P、及びB)を有するものでも、複数のピクチャが同じPPSを参照してよい。
【0303】
本開示の実施形態1で言及したように、高レベルパーティション制約は、パーティションの複雑さとパーティションからの符号化効率との間のトレードオフを制御する。個々のピクチャ/スライスにおいて複雑さと符号化効率との間の柔軟な制御の利点に対処するために、実施形態1における方法(パーティション制約シンタックス要素をSPS内でシグナリングし、スライスヘッダの中でシグナリングされるパーティション制約オーバーライドフラグに基づきスライスヘッダ内のパーティション制約シンタックス要素をオーバーライドする)の代わりに、パーティション制約シンタックス要素(MinQtSizeY、MaxMttDepth、MaxBtSizeY、MaxTtSizeY、等)は、パーティションの複雑さとピクチャレベルのパーティションからの符号化効率とのトレードオフを調整するために、PPSの中でシグナリングされる。各ピクチャが個々のPPSを使用する場合、調整は、個々のピクチャに適用される。複数のピクチャが同じPPSを参照する場合、同じ調整がピクチャに対して適用される。
【0304】
パーティション制約シンタックス要素のPPSレベルシグナリングは、1つのグループの中でシグナリングできる。例えば、PPSの中で、MinQtSizeYのための1つの指示子、MaxMttDepthのための1つの指示子、MaxBtSizeYのための1つの指示子、及びMaxTtSizeYのための1つの指示子が、シグナリングされる。この場合、パーティションの複雑さとパーティションからの符号化効率との間のトレードオフの調整可能性は異なるピクチャ毎に個別である。
【0305】
パーティション制約シンタックス要素のPPSレベルのシグナリングは、スライスタイプに基づき2個のグループの中でシグナリングすることもできる。例えば、PPSの中で、MinQtSizeYのための1つのイントラスライス指示子、MinQtSizeYのための1つのインタースライス指示子、MaxMttDepthのための1つのイントラスライス指示子、MaxMttDepthのための1つのインター指示子、MaxBtSizeYのための1つのイントラスライス指示子、MaxBtSizeYのための1つのインタースライス指示子、MaxTtSizeYのための1つのイントラスライス指示子、及びMaxTtSizeYのための1つのインタースライス指示子が、シグナリングされる。この場合、パーティションの複雑さとパーティションからの符号化効率との間のトレードオフの調整可能性はスライスのタイプ(イントラ又はインター)毎に個別である。
【0306】
パーティション制約シンタックス要素のPPSレベルのシグナリングは、スライスの識別(例えば、インデックス)に基づき複数のグループの中でシグナリングできる。例えば、1つのピクチャが3個のスライスに分割される場合、PPSの中で、MinQtSizeYのスライス識別に基づく3個の異なる指示子、MaxMttDepthのスライス識別に基づく3個の異なる指示子、及びMaxBtSizeYのスライス識別に基づく3個の異なる指示子、及びMaxTtSizeYのスライス識別に基づく3個の異なる指示子が、シグナリングされる。この場合、パーティションの複雑さとパーティションからの符号化効率との間のトレードオフの調整可能性はスライス毎に個別である。
【0307】
実施形態1における方法と比較して、この代替実装の利点は、指示構造が簡略化されることである。この方法では、パーティションの複雑さとパーティションからの符号化ゲインとの間のトレードオフを柔軟に調整するために、スライスヘッダの中のパーティション制約シンタックス要素のオーバーライドは必要ない。
【0308】
他方で、実施形態1における方法と比較して、この代替実装は、幾つかのシナリオにおいて限定される。この方法は、PPSの中でパーティション制約をシグナリングするだけである。それは、複数のピクチャが同じPPSを参照する場合、パーティションの複雑さとパーティションからの符号化ゲインとの間のトレードオフをピクチャ毎に個別に調整できないことを意味する。更に、調整が主要ピクチャについてのみ必要である場合、この方法は、PPSの中で冗長な情報をシグナリングするだろう。
【0309】
複数のパーティション制約シンタックス要素が、(PPS、VPS、SPSのような)パラメータセットレベル又は(ピクチャヘッダ、スライスヘッダ、又はタイルヘッダのような)ヘッダにおいてシグナリングされる。
【0310】
本開示の実施形態2では:
実施形態は以下を意味する:
・パーティション高レベルシンタックス制約要素は、SPSの中でシグナリングできる。
・パーティション高レベルシンタックス制約要素は、スライスヘッダの中でオーバーライドできる。
・パーティション高レベルシンタックス制約要素は、規定値を使用できる。
・BT及びTTはSPSの中で無効化できる。
・BT及びTTはスライスヘッダの中で無効化できる。
・BT及びTT有効化(無効化)フラグは、SPSの中でシグナリングされ、スライスヘッダの中でオーバーライドできる。
【0311】
技術的利点(例えば、SPS内のシグナリング、スライスヘッダ内のオーバーライド):高レベルパーティション制約は、パーティションの複雑さとパーティションからの符号化効率との間のトレードオフを制御する。本発明は、個々のスライスについてトレードオフを制御する柔軟性を保証する。規定値及びBtTt有効化(無効化機能)について、要素を制御する更に多くの柔軟性がある。
【0312】
エンコーダ及び復号の両方は、同じ(対応する)動作を行う。
【0313】
従来技術に基づく対応する変更は、以下に示される:
【0314】
変更されたシーケンスパラメータセットRBSPシンタックス([JVET-K1001-v4]のSection 7.3.2.1)
[Ed.(BB):予備的な基本SPS、更なる研究対象であり、更なる仕様開発中である。]
【表5】
【0315】
変更されたスライスヘッダシンタックス([JVET-K1001-v4]のSection 7.3.3)
[Ed.(BB):予備的な基本スライスヘッダ、更なる研究対象であり、更なる仕様開発中である。]
【表6】
【0316】
変更されたシーケンスパラメータセットRBSPセマンティクス([JVET-K1001-v4]のSection 7.4.3.1)
【0317】
1に等しいpartition_constraint_control_present_flagは、SPSの中のパーティション制約制御シンタックス要素の存在を指定する。0に等しいpartition_constraint_control_present_flagは、SPSの中のパーティション制約制御シンタックス要素の不存在を指定する。
【0318】
1に等しいsps_btt_enabled_flagは、マルチタイプ木パーティションの動作が、slice_btt_enable_flagの存在しないSPSを参照するスライスに適用されることを指定する。0に等しいsps_btt_enabled_flagは、マルチタイプ木パーティションの動作が、slice_btt_enable_flagの存在しないSPSを参照するスライスに適用されないことを指定する。存在しないとき、sps_btt_enabled_flagの値は1に等しいと推定される。
【0319】
1に等しいpartition_constraint_override_enabled_flagは、SPSを参照するスライスについて、スライスヘッダの中のpartition_constraint_override_flagの存在を指定する。0に等しいpartition_constraint_override_enabled_flagは、SPSを参照するスライスについて、スライスヘッダの中のpartition_constraint_override_flagの不存在を指定する。存在しないとき、partition_constraint_override_enabled_flagの値は0に等しいと推定される。
【0320】
sps_log2_min_qt_size_intra_slices_minus2+2は、CTUの4分木分割から生じるリーフブロックの最小ルマサイズの初期値がSPSを参照するスライスのスライスヘッダの中に存在するCTUの4分木分割から生じるリーフブロックの最小ルマサイズによりオーバーライドされない限り、SPSを参照する2(I)に等しいslice_typeを有するスライスの中のCTUの4分木分割から生じるリーフブロックのSPSの中の最小ルマサイズの初期値を指定する。log2_min_qt_size_intra_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。存在しないとき、sps_log2_min_qt_size_intra_slices_minus2の値は0に等しいと推定される。
【数8】
【0321】
sps_log2_min_qt_size_inter_slices_minus2+2は、CTUの4分木分割から生じるリーフブロックの最小ルマサイズの初期値がSPSを参照するスライスのスライスヘッダの中に存在するCTUの4分木分割から生じるリーフブロックの最小ルマサイズによりオーバーライドされない限り、SPSを参照する0(B)又は1(P)に等しいslice_typeを有するスライスの中のCTUの4分木分割から生じるリーフブロックのSPSの中の最小ルマサイズの初期値を指定する。log2_min_qt_size_inter_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。存在しないとき、sps_log2_min_qt_size_inter_slices_minus2の値は0に等しいと推定される。
【数9】
【0322】
sps_max_mtt_hierarchy_depth_inter_slicesは、4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さの初期値が、SPSを参照するスライスのスライスヘッダの中に存在する4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さによりオーバーライドされない限り、SPSを参照する0(B)又は1(P)に等しいslice_typeを有するスライスの中の4分木リーフのマルチタイプ木分割から生じる符号化単位のSPSの中の最大階層構造深さの初期値を指定する。max_mtt_hierarchy_depth_inter_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、
sps_btt_enabled_flagが1に等しい場合、
sps_max_mtt_hierarchy_depth_inter_slicesの値は3に等しいと推定される。
その他の場合、
sps_max_mtt_hierarchy_depth_inter_slicesの値は0に等しいと推定される。
【0323】
sps_max_mtt_hierarchy_depth_intra_slicesは、4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さの初期値が、SPSを参照するスライスのスライスヘッダの中に存在する4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さによりオーバーライドされない限り、SPSを参照する2(I)に等しいslice_typeを有するスライスの中の4分木リーフのマルチタイプ木分割から生じる符号化単位のSPSの中の最大階層構造深さの初期値を指定する。max_mtt_hierarchy_depth_intra_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、
sps_btt_enabled_flagが1に等しい場合、
sps_max_mtt_hierarchy_depth_intra_slicesの値は3に等しいと推定される。
その他の場合、
sps_max_mtt_hierarchy_depth_intra_slicesの値は0に等しいと推定される。
【0324】
sps_log2_diff_ctu_max_bt_size_intra_slicesは、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックのSPSの中の最大ルマサイズ(幅又は高さ)との間の差の初期値が、ルマCTBサイズとSPSを参照するスライスのスライスヘッダの中に存在する2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差によりオーバーライドされない限り、ルマCTBサイズとSPSを参照する2(I)に等しいslice_typeを有するスライスの中の2分割を用いて分割可能な符号化ブロックのSPSの中の最大ルマサイズ(幅又は高さ)との間の差の初期値を指定する。log2_diff_ctu_max_bt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、
sps_btt_enabled_flagが1に等しい場合、
sps_log2_diff_ctu_max_bt_size_intra_slicesの値は2に等しいと推定される。
その他の場合、
sps_log2_diff_ctu_max_bt_size_intra_slicesの値はCtbLog2SizeY-MinCbLog2SizeYに等しいと推定される。
【0325】
sps_log2_diff_ctu_max_bt_size_inter_slicesは、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックのSPSの中の最大ルマサイズ(幅又は高さ)との間の差の初期値が、ルマCTBサイズとSPSを参照するスライスのスライスヘッダの中に存在する2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差によりオーバーライドされない限り、ルマCTBサイズとSPSを参照する0(B)又は1(P)に等しいslice_typeを有するスライスの中の2分割を用いて分割可能な符号化ブロックのSPSの中の最大ルマサイズ(幅又は高さ)との間の差の初期値を指定する。log2_diff_ctu_max_bt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、
sps_btt_enabled_flagが1に等しい場合、
sps_log2_diff_ctu_max_bt_size_inter_slicesの値は0に等しいと推定される。
その他の場合、
sps_log2_diff_ctu_max_bt_size_inter_slicesの値はCtbLog2SizeY-MinCbLog2SizeYに等しいと推定される。
【0326】
変更されたスライスヘッダセマンティクス([JVET-K1001-v4]のSection 7.4.4)
1に等しいpartition_constraint_override_flagは、パーティション制約パラメータがスライスヘッダの中に存在することを指定する。0に等しいpartition_constraint_override_flagは、パーティション制約パラメータがスライスヘッダの中に存在しないことを指定する。存在しないとき、partition_constraints_override_flagの値は0に等しいと推定される。
【0327】
1に等しいslice_btt_enabled_flagは、マルチタイプ木パーティションの動作が、現在スライスに適用されることを指定する。0に等しいslice_btt_enabled_flagは、マルチタイプ木パーティションの動作が、現在スライスに適用されないことを指定する。slice_btt_enabled_flagが存在しないとき、それはsps_btt_enabled_flagに等しいと推定される。
【0328】
log2_min_qt_size_minus2+2は、現在スライスについて、CTUの4分木分割から生じるリーフブロックの最小ルマサイズを指定する。log2_min_qt_size_inter_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。存在しないとき、log2_min_qt_size_minus2の値は、2(I)に等しいslice_typeによりsps_log2_min_qt_size_intra_slices_minus2に等しいと推定され、0(B)又は1(P)に等しいslice_typeによりsps_log2_min_qt_size_inter_slices_minus2に等しいと推定される。
【0329】
max_mtt_hierarchy_depthは、現在スライスについて、4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、max_mtt_hierarchy_depthの値は、2(I)に等しいslice_typeによりsps_max_mtt_hierarchy_depth_intra_slicesに等しいと推定され、0(B)又は1(P)に等しいslice_typeによりsps_max_mtt_hierarchy_depth_inter_slicesに等しいと推定される。
【0330】
log2_diff_ctu_max_bt_sizeは、現在スライスについて、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差を指定する。log2_diff_ctu_max_bt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、log2_diff_ctu_max_bt_sizeの値は、2(I)に等しいslice_typeによりsps_log2_diff_ctu_max_bt_size_intra_slicesに等しいと推定され、0(B)又は1(P)に等しいslice_typeによりsps_log2_diff_ctu_max_bt_size_inter_slicesに等しいと推定される。
【0331】
変数MinQtLog2SizeY、MaxBtLog2SizeY、MinBtLog2SizeY、MaxTtLog2SizeY、MinTtLog2SizeY、MaxBtSizeY、MinBtSizeY、MaxTtSizeY、MinTtSizeY、及びMaxMttDepthは、以下のように導出される。
【数10】
【0332】
本開示の実施形態3では:
MaxTTSizeY(3分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ))がSPS(又は他のパラメータセット又はスライスヘッダ)の中でシグナリングされる場合、実施形態1又は実施形態2は、上述のパーティションパラメータについてのものと同じ方法で適用され得る。
【0333】
技術的利点:MaxTtSizeYシンタックス要素の指示子をシグナリングする本発明は、要素の制御に更なる柔軟性があることを保証する。
【0334】
エンコーダ及び復号の両方は、同じ(対応する)動作を行う。
【0335】
シンタックス変更は、実施形態1又は実施形態2に基づく。
【0336】
変更されたシーケンスパラメータセットRBSPシンタックス([JVET-K1001-v4]のSection 7.3.2.1)
【表7】
【0337】
変更されたスライスヘッダシンタックス([JVET-K1001-v4]のSection 7.3.3)
[Ed.(BB):予備的な基本スライスヘッダ、更なる研究対象であり、更なる仕様開発中である。]
【表8】
【0338】
本開示の実施形態4では:
実施形態2のbtt_enabled_flagをbt_enalbed_flag及びtt_eabled_flagとして分けて、bt及びtt分割を別個に有効化又は無効化する。
【0339】
技術的利点:BT有効化フラグ及びTT有効化フラグを別個にシグナリングすることは、パーティション制約シンタックス要素を制御する更なる柔軟性を提供する。
【0340】
エンコーダ及び復号の両方は、同じ(対応する)動作を行う。
【0341】
シンタックス及びセマンティクスは実施形態2に基づき変化する。
【0342】
変更されたシーケンスパラメータセットRBSPシンタックス([JVET-K1001-v4]のSection 7.3.2.1)
[Ed.(BB):予備的な基本SPS、更なる研究対象であり、更なる仕様開発中である。]
【表9】
【0343】
変更されたスライスヘッダシンタックス([JVET-K1001-v4]のSection 7.3.3)
[Ed.(BB):予備的な基本スライスヘッダ、更なる研究対象であり、更なる仕様開発中である。]
【表10】
【0344】
シーケンスパラメータセットRBSPセマンティクス([JVET-K1001-v4]のSection 7.4.3.1)
1に等しいpartition_constraint_control_present_flagは、SPSの中のパーティション制約制御シンタックス要素の存在を指定する。0に等しいpartition_constraint_control_present_flagは、SPSの中のパーティション制約制御シンタックス要素の不存在を指定する。
【0345】
1に等しいsps_bt_enabled_flagは、2分木パーティションの動作が、slice_bt_enable_flagの存在しないSPSを参照するスライスに適用されることを指定する。0に等しいsps_bt_enabled_flagは、2分木パーティションの動作が、slice_bt_enable_flagの存在しないSPSを参照するスライスに適用されないことを指定する。存在しないとき、sps_bt_enabled_flagの値は1に等しいと推定される。
【0346】
1に等しいsps_tt_enabled_flagは、3分木パーティションの動作が、slice_tt_enable_flagの存在しないSPSを参照するスライスに適用されることを指定する。0に等しいsps_tt_enabled_flagは、3分木パーティションの動作が、slice_tt_enable_flagの存在しないSPSを参照するスライスに適用されないことを指定する。存在しないとき、sps_tt_enabled_flagの値は1に等しいと推定される。
【0347】
1に等しいpartition_constraint_override_enabled_flagは、SPSを参照するスライスについて、スライスヘッダの中のpartition_constraint_override_flagの存在を指定する。0に等しいpartition_constraint_override_enabled_flagは、SPSを参照するスライスについて、スライスヘッダの中のpartition_constraint_override_flagの不存在を指定する。存在しないとき、partition_constraint_override_enabled_flagの値は0に等しいと推定される。
【0348】
sps_log2_min_qt_size_intra_slices_minus2+2は、CTUの4分木分割から生じるリーフブロックの規定最小ルマサイズがSPSを参照するスライスのスライスヘッダの中に存在するCTUの4分木分割から生じるリーフブロックの最小ルマサイズによりオーバーライドされない限り、SPSを参照する2(I)に等しいslice_typeを有するスライスの中のCTUの4分木分割から生じるリーフブロックの規定最小ルマサイズを指定する。log2_min_qt_size_intra_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。存在しないとき、sps_log2_min_qt_size_intra_slices_minus2の値は0に等しいと推定される。
【数11】
【0349】
sps_log2_min_qt_size_inter_slices_minus2+2は、CTUの4分木分割から生じるリーフブロックの規定最小ルマサイズがSPSを参照するスライスのスライスヘッダの中に存在するCTUの4分木分割から生じるリーフブロックの最小ルマサイズによりオーバーライドされない限り、SPSを参照する0(B)又は1(P)に等しいslice_typeを有するスライスの中のCTUの4分木分割から生じるリーフブロックの規定最小ルマサイズを指定する。log2_min_qt_size_inter_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。存在しないとき、sps_log2_min_qt_size_inter_slices_minus2の値は0に等しいと推定される。
【数12】
【0350】
sps_max_mtt_hierarchy_depth_inter_slicesは、4分木リーフのマルチタイプ木分割から生じる符号化単位の規定最大階層構造深さが、SPSを参照するスライスのスライスヘッダの中に存在する4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さによりオーバーライドされない限り、SPSを参照する0(B)又は1(P)に等しいslice_typeを有するスライスの中の4分木リーフのマルチタイプ木分割から生じる符号化単位の規定最大階層構造深さを指定する。max_mtt_hierarchy_depth_inter_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、
sps_bt_enabled_flagが1に等しい、又はsps_tt_enabled_flagが1に等しい場合、
sps_max_mtt_hierarchy_depth_inter_slicesの値は3に等しいと推定される。
その他の場合、
sps_max_mtt_hierarchy_depth_inter_slicesの値は0に等しいと推定される。
【0351】
sps_max_mtt_hierarchy_depth_intra_slicesは、4分木リーフのマルチタイプ木分割から生じる符号化単位の規定最大階層構造深さが、SPSを参照するスライスのスライスヘッダの中に存在する4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さによりオーバーライドされない限り、SPSを参照する2(I)に等しいslice_typeを有するスライスの中の4分木リーフのマルチタイプ木分割から生じる符号化単位の規定最大階層構造深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、
sps_btt_enabled_flagが1に等しい、sps_tt_enabled_flagが1に等しい場合、
sps_max_mtt_hierarchy_depth_intra_slicesの値は3に等しいと推定される。
その他の場合、
sps_max_mtt_hierarchy_depth_intra_slicesの値は0に等しいと推定される。
【0352】
sps_log2_diff_ctu_max_bt_size_intra_slicesは、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差が、ルマCTBサイズとSPSを参照するスライスのスライスヘッダの中に存在する2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差によりオーバーライドされない限り、ルマCTBサイズとSPSを参照する2(I)に等しいslice_typeを有するスライスの中の2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差を指定する。log2_diff_ctu_max_bt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、
sps_bt_enabled_flagが1に等しい場合、
sps_log2_diff_ctu_max_bt_size_intra_slicesの値は2に等しいと推定される。
その他の場合、
sps_log2_diff_ctu_max_bt_size_intra_slicesの値はCtbLog2SizeY-MinCbLog2SizeYに等しいと推定される。
【0353】
sps_log2_diff_ctu_max_bt_size_inter_slicesは、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差が、ルマCTBサイズとSPSを参照するスライスのスライスヘッダの中に存在する2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差によりオーバーライドされない限り、ルマCTBサイズとSPSを参照する0(B)又は1(P)に等しいslice_typeを有するスライスの中の2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差を指定する。log2_diff_ctu_max_bt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、
sps_bt_enabled_flagが1に等しい場合、
sps_log2_diff_ctu_max_bt_size_inter_slicesの値は0に等しいと推定される。
その他の場合、
sps_log2_diff_ctu_max_bt_size_inter_slicesの値はCtbLog2SizeY-MinCbLog2SizeYに等しいと推定される。
【0354】
sps_log2_diff_ctu_max_tt_size_intra_slicesは、ルマCTBサイズと3分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差が、ルマCTBサイズとSPSを参照するスライスのスライスヘッダの中に存在する3分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差によりオーバーライドされない限り、ルマCTBサイズとSPSを参照する2(I)に等しいslice_typeを有するスライスの中の3分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差を指定する。sps_log2_diff_ctu_max_tt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、
sps_tt_enabled_flagが1に等しい場合、
sps_log2_diff_ctu_max_tt_size_intra_slicesの値は2に等しいと推定される。
その他の場合、
sps_log2_diff_ctu_max_tt_size_intra_slicesの値はCtbLog2SizeY-MinCbLog2SizeYに等しいと推定される。
【0355】
sps_log2_diff_ctu_max_tt_size_inter_slicesは、ルマCTBサイズと3分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差が、ルマCTBサイズとSPSを参照するスライスのスライスヘッダの中に存在する3分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差によりオーバーライドされない限り、ルマCTBサイズとSPSを参照する0(B)又は1(P)に等しいslice_typeを有するスライスの中の3分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の規定差を指定する。log2_diff_ctu_max_tt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、
sps_tt_enabled_flagが1に等しい場合、
sps_log2_diff_ctu_max_tt_size_inter_slicesの値は1に等しいと推定される。
その他の場合、
sps_log2_diff_ctu_max_tt_size_inter_slicesの値はCtbLog2SizeY-MinCbLog2SizeYに等しいと推定される。
【0356】
変更されたスライスヘッダセマンティクス([JVET-K1001-v4]のSection 7.4.4)
1に等しいpartition_constraint_override_flagは、パーティション制約パラメータがスライスヘッダの中に存在することを指定する。0に等しいpartition_constraint_override_flagは、パーティション制約パラメータがスライスヘッダの中に存在しないことを指定する。存在しないとき、partition_constraints_override_flagの値は0に等しいと推定される。
【0357】
1に等しいslice_btt_enabled_flagは、マルチタイプ木パーティションの動作が、現在スライスに適用されないことを指定する。0に等しいslice_btt_enabled_flagは、マルチタイプ木パーティションの動作が、現在スライスに適用されることを指定する。slice_btt_enabled_flagが存在しないとき、それはsps_btt_enabled_flagに等しいと推定される。
【0358】
log2_min_qt_size_minus2+2は、現在スライスについて、CTUの4分木分割から生じるリーフブロックの最小ルマサイズを指定する。log2_min_qt_size_inter_slices_minus2の値は、0~CtbLog2SizeY-2の両端を含む範囲に包含されるべきである。存在しないとき、log2_min_qt_size_minus2の値は、2(I)に等しいslice_typeによりsps_log2_min_qt_size_intra_slices_minus2に等しいと推定され、0(B)又は1(P)に等しいslice_typeによりsps_log2_min_qt_size_inter_slices_minus2に等しいと推定される。
【0359】
max_mtt_hierarchy_depthは、現在スライスについて、4分木リーフのマルチタイプ木分割から生じる符号化単位の最大階層構造深さを指定する。max_mtt_hierarchy_depth_intra_slicesの値は、0~CtbLog2SizeY-MinTbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、max_mtt_hierarchy_depthの値は、2(I)に等しいslice_typeによりsps_max_mtt_hierarchy_depth_intra_slicesに等しいと推定され、0(B)又は1(P)に等しいslice_typeによりsps_max_mtt_hierarchy_depth_inter_slicesに等しいと推定される。
【0360】
log2_diff_ctu_max_bt_sizeは、現在スライスについて、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差を指定する。log2_diff_ctu_max_bt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、log2_diff_ctu_max_bt_sizeの値は、2(I)に等しいslice_typeによりsps_log2_diff_ctu_max_bt_size_intra_slicesに等しいと推定され、0(B)又は1(P)に等しいslice_typeによりsps_log2_diff_ctu_max_bt_size_inter_slicesに等しいと推定される。
【0361】
log2_diff_ctu_max_tt_sizeは、現在スライスについて、ルマCTBサイズと2分割を用いて分割可能な符号化ブロックの最大ルマサイズ(幅又は高さ)との間の差を指定する。log2_diff_ctu_max_tt_sizeの値は、0~CtbLog2SizeY-MinCbLog2SizeYの両端を含む範囲に包含されるべきである。存在しないとき、log2_diff_ctu_max_tt_sizeの値は、2(I)に等しいslice_typeによりsps_log2_diff_ctu_max_tt_size_intra_slicesに等しいと推定され、0(B)又は1(P)に等しいslice_typeによりsps_log2_diff_ctu_max_tt_size_inter_slicesに等しいと推定される。
【0362】
変数MinQtLog2SizeY、MaxBtLog2SizeY、MinBtLog2SizeY、MaxTtLog2SizeY、MinTtLog2SizeY、MaxBtSizeY、MinBtSizeY、MaxTtSizeY、MinTtSizeY、及びMaxMttDepthは、以下のように導出される。
【数13】
【0363】
図10は、復号装置により実施されるビデオビットストリームの復号の対応する方法を示し、ビデオビットストリームは、画像領域を表すデータと画像領域の画像領域ヘッダとを含む。復号方法は、ビデオビットストリームからオーバーライドフラグ(partition_constraint_override_flag)を取得するステップS110と、オーバーライドフラグの値がオーバーライド値(例えば、1)であるとき、画像領域ヘッダから画像領域の第1パーティション制約情報を取得するステップS120と、第1パーティション制約情報に従い、画像領域のブロックをパーティションするステップS130と、を含む。フラグが設定されない場合、パーティション制約情報は、画像領域ヘッダと異なるソースから取得されてよい。画像領域はスライス又はタイルであってよい。
【0364】
図11は、図10のフローチャートを組み込むフローチャートを示す。更に、フローチャートに示される方法は、ビデオビットストリームからオーバーライド有効化フラグ(partition_constraint_override_enabled_flag)を取得するステップS210と、オーバーライド有効化フラグの値が有効化値(例えば、1)であるとき、ビデオビットストリームからオーバーライドフラグを取得するステップS110と、を含む。更に、オーバーライドフラグの値がオーバーライド値ではないとき(例えば、オーバーライドフラグの値が0である)、画像領域のブロックをパーティションするステップS230は、パラメータセットからのビデオビットストリームについての第2パーティション制約情報に従い実行されてよい。更に、オーバーライド有効化フラグの値が無効化値であるとき(例えば、オーバーライド有効化フラグの値が0である)、画像領域のブロックをパーティションするステップS230は、パラメータセットからのビデオビットストリームについての第2パーティション制約情報に従い実行されてよい。
【0365】
本発明の実施形態における特定の特徴については、上述の関連する復号方法の実施形態を参照する。詳細はここで再び記載されない。
【0366】
図12は、ビデオビットストリームを復号するデコーダ1200を示す。ビデオビットストリームは、画像領域を表すデータと、画像領域の画像領域ヘッダとを含む。デコーダは、ビデオビットストリームからオーバーライドフラグを取得するオーバーライド決定ユニット1210と、オーバーライドフラグの値がオーバーライド値であるとき、画像領域ヘッダから画像領域の第1パーティション制約情報を取得するパーティション制約決定ユニット1220と、第1パーティション制約情報に従い、画像領域のブロックをパーティションするブロックパーティションユニット1230と、を含む。
【0367】
本発明の実施形態におけるデコーダ1200の中のユニットの特定の機能については、本発明の復号方法の実施形態の関連する説明を参照する。詳細はここで再び記載されない。
【0368】
デコーダ1200の中のユニットは、ソフトウェア又は回路により実装されてよい。
【0369】
デコーダ1200は、デコーダ30、ビデオ符号化装置400、若しくは機器500、又はデコーダ30、ビデオ符号化装置400、若しくは機器500の部分であってよい。
【0370】
エンコーダ1300は、エンコーダ20、ビデオ符号化装置400、若しくは機器500、又はエンコーダ20、ビデオ符号化装置400、若しくは機器500の部分であってよい。
【0371】
図13は、ビデオビットストリームを符号化するエンコーダ1300を示し、ビデオビットストリームは、画像領域を表すデータと画像領域の画像領域ヘッダとを含む。エンコーダは、画像領域のブロックのパーティションが画像領域ヘッダの中の第1パーティション制約情報に従うかどうかを決定するパーティション決定ユニット1310と、ブロックのパーティションが第1パーティション制約情報に従うと決定すると、第1パーティション制約情報に従い画像領域のブロックをパーティションするブロックパーティションユニット1320と、オーバーライドフラグの値をオーバーライド値に設定するオーバーライドフラグ設定ユニット1330と、オーバーライドフラグをビデオビットストリームに挿入するビットストリーム生成器1340と、を含む。
【0372】
本発明の実施形態におけるエンコーダ1300の中のユニットの特定の機能については、本発明の符号化方法の実施形態の関連する説明を参照する。詳細はここで再び記載されない。
【0373】
エンコーダ1300の中のユニットは、ソフトウェア又は回路により実装されてよい。
【0374】
エンコーダ1300は、エンコーダ20、ビデオ符号化装置400、若しくは機器500、又はエンコーダ20、ビデオ符号化装置400、若しくは機器500の部分であってよい。
【0375】
図14Aは、符号化装置により実施されるビデオビットストリームの符号化の方法のフロー図を示し、ビデオビットストリームは、画像領域を表すデータと画像領域の画像領域ヘッダとを含む。符号化方法は、画像領域のブロックのパーティションが画像領域ヘッダの中の第1パーティション制約情報に従うかどうかを決定するステップS310と、ブロックのパーティションが第1パーティション制約情報に従うと決定すると(ステップS310で「はい」)、第1パーティション制約情報に従い画像領域のブロックをパーティションするステップS320と、オーバーライドフラグの値をオーバーライド値に設定するステップS325と、オーバーライドフラグのデータをビデオビットストリームに含めるステップS330と、を含む。
【0376】
幾つかの例示的な実施形態では、ブロックをパーティションすることが第1パーティション制約情報に従わないと決定すると(ステップS310で「いいえ」)、第2パーティション制約情報に従い画像領域のブロックをパーティションしS360、オーバーライドフラグの値をオーバーライド値に設定するS365。
【0377】
図14Bは、第1パーティション制約情報に従いブロックをパーティションすることが有効化されるかどうかを決定するステップS370を含む符号化方法を示す。第1パーティション制約情報に従いブロックをパーティションすることが有効化される(べきであると決定される)と決定すると、方法は、オーバーライド有効化フラグの値を有効化値に設定するステップS340と、オーバーライド有効化フラグのデータをビデオビットストリームに含めるステップS350と、を含む。更に、第1パーティション制約情報に従いブロックをパーティションすることが有効化される(べきであると決定される)と決定すると、画像領域のブロックをパーティションすることが、画像領域ヘッダの中の第1パーティション制約情報に従うかどうかを決定するS310。
【0378】
幾つかの例示的な実施形態では、第1パーティション制約情報に従いブロックをパーティションすることが有効化されない(つまり無効化される)(べきであると決定される)と決定すると、方法は、オーバーライド有効化フラグの値を非有効化(無効化)値に設定するステップS380を含む。
【0379】
本発明の実施形態における特定の特徴については、上述の関連する復号方法の実施形態を参照する。詳細はここで再び記載されない。
【0380】
以下は、上述の実施形態で示されたような符号化方法及び復号方法及びそれらを使用するシステムの適用の説明である。
【0381】
図14は、コンテンツ配信サービスを実現するコンテンツ供給システム3100を示すブロック図である。このコンテンツ供給システム3100は、キャプチャ装置3102、端末装置3106を含み、及び任意的にディスプレイ3126を含む。キャプチャ装置3102は、通信リンク3104を介して端末装置3106と通信する。通信リンクは、上述の通信チャネル13を含んでよい。通信リンク3104は、限定ではないが、WIFI、イーサネット、ケーブル、無線(3G/4G/5G)、USB、又はそれらの任意の種類の組み合わせ、等を含む。
【0382】
キャプチャ装置3102は、データを生成し、上述の実施形態で示したような符号化方法によりデータを符号化してよい。代替として、キャプチャ装置3102は、データをストリーミングサーバ(図に示されない)へ配信してよく、サーバは、データを符号化し、符号化データを端末装置3106へ送信する。キャプチャ装置3102は、限定ではないが、カメラ、スマートフォン又はPad、コンピュータ又はラップトップ、ビデオ会議システム、PDA、車載装置、又はそれらのいずれかの組み合わせ、等を含む。例えば、キャプチャ装置3102は、上述のようなソース装置102を含んでよい。データがビデオを含むとき、キャプチャ装置3102に含まれるビデオエンコーダ20は、実際に、ビデオ符号化処理を実行してよい。データがオーディオ(つまり、音声)を含むとき、キャプチャ装置3102に含まれるオーディオエンコーダは、実際に、オーディオ符号化処理を実行してよい。幾つかの実用的なシナリオでは、キャプチャ装置3102は、符号化ビデオ及びオーディオデータを、それらを一緒に多重化することにより、配信する。他の実用的なシナリオでは、例えば、ビデオ会議システムで、符号化オーディオデータ及び符号化ビデオデータは、多重化されない。キャプチャ装置3102は、符号化オーディオデータ及び符号化ビデオデータを端末装置3106へ別個に配信する。
【0383】
コンテンツ供給システム3100では、端末装置310は、符号化データを受信し再生する。端末装置3106は、上述の符号化データを復号する能力を有するスマートフォン又はPad3108、コンピュータ又はラップトップ3110、ネットワークビデオレコーダ(network video recorder (NVR))/デジタルビデオレコーダ(digital video recorder (DVR))3112、TV3114、セットトップボックス(set top box (STB))3116、ビデオ会議システム3118、ビデオ監視システム3120、パーソナルデジタルアシスタント(personal digital assistant (PDA))3122、車載装置3124、又はそれらの任意の組合せ等のような、データ受信及び復元能力を備えた装置であり得る。例えば、端末装置3106は、上述のような宛先装置14を含んでよい。符号化データがビデオを含むとき、端末装置に含まれるビデオデコーダ30は、ビデオ復号を実行するよう優先される。符号化データがオーディオを含むとき、端末装置に含まれるオーディオデコーダは、オーディオ復号処理を実行するよう優先される。
【0384】
自身のディスプレイを備える端末装置、例えば、スマートフォン、又はPad3108、コンピュータ又はラップトップ3110、ネットワークビデオレコーダ(network video recorder (NVR))/デジタルビデオデコーダ(digital video recorder (DVR))3112、TV3114、パーソナルデジタルアシスタント(personal digital assistant (PDA))3122、又は車載装置3124では、端末装置は復号データを自身のディスプレイに供給できる。ディスプレイを備えない端末装置、例えばSTB3116、ビデオ会議システム3118、又はビデオ監視システム3120では、外部ディスプレイ3126が、復号データを受信し表示するためにそれに接続される。
【0385】
このシステム内の各装置が符号化又は復号を実行するとき、上述の実施形態において示されたように、ピクチャ符号化装置又はピクチャ復号装置が使用できる。
【0386】
図15は、端末装置3106の例の構造を示す図である。端末装置3106がキャプチャ装置3102からストリームを受信した後に、プロトコル処理ユニット3202は、ストリームの送信プロトコルを分析する。プロトコルは、限定ではないが、リアルタイムストリーミングプロトコル(Real Time Streaming Protocol (RTSP))、ハイパーテキスト転送プロトコル(Hyper Text Transfer Protocol (HTTP))、HTTPライブストリーミングプロトコル(HTTP Live streaming protocol (HLS))、MPEG-DASH、リアルタイムトランスポートプロトコル(Real-time Transport protocol (RTP))、リアルタイムメッセージングプロトコル(Real Time Messaging Protocol (RTMP))、又は任意の種類のそれらの組み合わせ、等を含む。
【0387】
プロトコル処理ユニット3202がストリームを処理した後に、ストリームファイルが生成される。ファイルは、逆多重化ユニット3204へと出力される。逆多重化ユニット3204は、多重化データを符号化オーディオデータ及び符号化ビデオデータに分離できる。上述のように、幾つかの実用的なシナリオでは、例えば、ビデオ会議システムで、符号化オーディオデータ及び符号化ビデオデータは、多重化されない。この状況では、符号化データは、逆多重化ユニット3204を通らずに、ビデオデコーダ3206及びオーディオデコーダ3208へと送信される。
【0388】
逆多重化処理により、ビデオエレメンタリストリーム(elementary stream (ES))、オーディオES、及任意の代替が生成される。上述の実施形態において説明したようなビデオデコーダ30を含むビデオデコーダ3206は、上述の実施形態において示したような復号方法によりビデオESを復号して、ビデオフレームを生成し、このデータを同期ユニット3212に供給する。オーディオデコーダ3208は、オーディオESを復号してオーディオフレームを生成し、このデータを同期ユニット3212に供給する。代替として、ビデオフレームは、同期ユニット3212に供給する前に、バッファ(図15に示されない)に格納してよい。同様に、オーディオフレームは、同期ユニット3212に供給する前に、バッファ(図15に示されない)に格納してよい。
【0389】
同期ユニット3212は、ビデオフレーム及びオーディオフレームを同期化し、ビデオ/オーディオをビデオ/オーディオディスプレイ3214に供給する。例えば、同期ユニット3212は、ビデオ及びオーディオ情報の提示を同期化する。情報は、符号化オーディオ及び視覚データの提示に関するタイムスタンプ、及びデータストリーム自体の配信に関するタイムスタンプを用いてシンタックス内に符号化してよい。
【0390】
サブタイトルがストリームに含まれる場合、サブタイトルデコーダ3210は、サブタイトルを復号し、それをビデオフレーム及びオーディオフレームと同期化させ、ビデオ/オーディオ/サブタイトルをビデオ/オーディオ/サブタイトルディスプレイ3216に供給する。
【0391】
本発明は、上述のシステムに限定されず、上述の実施形態におけるピクチャ符号化装置又はピクチャ復号装置のいずれも、他のシステム、例えば車両システムに組み込むことができる。
【0392】
数学演算子
本願で使用される数学演算子は、Cプログラミング言語で使用されるものと同様である。しかしながら、整数除算及び算術シフト演算の結果は、より正確に定義され、べき乗と実数値の除算のような追加の演算子が定義される。番号付け及び計数規則は、一般的に0から開始する。例えば、「第1」は0番目と等価であり、「第2」は1番目と等価である、等である。
【0393】
論理演算子
以下の論理演算子は以下のように定義される。
【数14】
【0394】
関係演算子
以下の関係演算子は以下のように定義される。
【数15】
【0395】
関係演算子がシンタックス要素又は値「na」(not applicable)を割り当てられた変数に適用されるとき、値「na」は、シンタックス要素又は変数の個別の値として扱われる。値「na」は、任意の他の値に等しくないと考えられる。
【0396】
ビット演算子
以下のビット演算子は以下のように定義される。
【0397】
& ビット毎の「論理積」。整数引数に作用するとき、2の補数整数表現に作用する。別の引数より少ないビットを含む2値引数に作用するとき、より短い引数は、0に等しいより上位のビットを追加することにより拡張される。
【0398】
| ビット毎の「論理和」。整数引数に作用するとき、2の補数整数表現に作用する。別の引数より少ないビットを含む2値引数に作用するとき、より短い引数は、0に等しいより上位のビットを追加することにより拡張される。
【0399】
^ ビット毎の「排他的論理和」。整数引数に作用するとき、整数値の2の完全な表現に作用する。別の引数より少ないビットを含む2値引数に作用するとき、より短い引数は、0に等しいより上位のビットを追加することにより拡張される。
【0400】
x>>y x×yの2進数の2の補数整数表現の算術右シフト。この関数は、yの非負整数値についてのみ定義される。右シフトの結果としての最上位ビット(most significant bit (MSB))へとシフトされたビットは、シフト演算前のxのMSBに等しい値を有する。
【0401】
x<<y x×yの2進数の2の補数整数表現の算術左シフト。この関数は、yの非負整数値についてのみ定義される。左シフトの結果としての最下位ビット(least significant bit(LSB))へとシフトされたビットは、0に等しい値を有する。
【0402】
1つ以上の例では、説明された関数は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせにより実装されてよい。ソフトウェアで実装される場合、機能は、1つ以上の命令又はコードとしてコンピュータ可読媒体に格納され又はそれを介して送信され、ハードウェアに基づく処理ユニットにより実行されてよい。コンピュータ可読媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ可読記憶媒体、又は例えば通信プロトコルに従いある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体、を含んでよい。この方法では、コンピュータ可読媒体は、一般的に、(1)非一時的である有形コンピュータ可読記憶媒体、又は(2)信号若しくは搬送波のような通信媒体、に対応してよい。データ記憶媒体は、本開示で説明された技術の実装のために命令、コード、及び/又はデータ構造を読み出すために、1つ以上のコンピュータ又は1つ以上のプロセッサによりアクセス可能な任意の利用可能な媒体であってよい。コンピュータプログラムプロダクトは、コンピュータ可読媒体を含んでよい。
【0403】
例により、限定ではなく、このようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM、又は他の光ディスク記憶、磁気ディスク記憶、又は他の磁気記憶装置、フラッシュメモリ、又は所要のプログラムコードを命令又はデータ構造の形式で格納するために使用可能な、コンピュータによりアクセス可能な任意の他の媒体、を含み得る。また、任意の接続は、適正にコンピュータ可読媒体と呼ばれる。命令がウェブサイト、サーバ、又は他のリモートソースから、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者線(digital subscriber line (DSL))、又は赤外線、無線、及びマイクロ波のような無線技術を用いて送信される場合、同軸ケーブル、光ファイバケーブル、より対線、DSL、又は赤外線、無線、及びマイクロ波のような無線技術は、媒体の定義に含まれる。しかしながら、理解されるべきことに、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とする。ディスク(disk)及びディクス(disc)は、ここで使用されるとき、コンパクトディスク(compact disc (CD))、レーザディスク、光ディスク、デジタルバーサタイルディスク(digital versatile disc (DVD))、フロッピーディスク、及びブルーレイディスクを含み、ディスク(disk)は通常データを磁気的に再生し、ディスク(disc)はデータをレーザにより光学的に再生する。前述の結合も、コンピュータ可読媒体の範囲に含まれるべきである。
【0404】
命令は、1つ以上のデジタル信号プロセッサ(digital signal processor (DSP))、汎用マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuit (ASIC))、フィールドプログラマブルロジックアレイ(field programmable logic array (FPGA))、又は他の等価な集積又は個別論理回路、のような1つ以上のプロセッサにより実行されてよい。従って、用語「プロセッサ」は、ここで使用されるとき、前述の構造のうちのいずれか、又はここに記載される技術の実装に適する任意の他の構造を表してよい。更に、幾つかの態様では、ここに説明された機能は、符号化及び復号又は結合されたコーデックに組み込まれるために構成される専用ハードウェア及び/又はソフトウェアモジュール内で提供されてよい。更に、技術は、全部、1つ以上の回路又は論理素子で実装され得る。
【0405】
本開示の技術は、無線ハンドセット、集積回路(integrated circuit (IC))、又はICのセット(例えば、チップセット)を含む種々の装置又は機器の中で実装されてよい。種々のコンポーネント、モジュール、又はユニットは、開示の技術を実行するよう構成される装置の機能的側面を強調するために、本開示で説明されたが、異なるハードウェアユニットによる実現を必ずしも要求しない。むしろ、上述のように、種々のユニットは、適切なソフトウェア及び/又はファームウェアと組み合わせて、コーデックハードウェアユニット内で結合され、又は上述のような1つ以上のプロセッサを含む相互運用ハードウェアユニットの集合により提供されてよい。
【0406】
一例では、符号化装置により実施される符号化の方法であって、パーティション制約情報に従い画像領域のブロックをパーティションするステップと、1つ以上のパーティション制約シンタックス要素を含むビットストリームを生成するステップであって、1つ以上のパーティション制約シンタックス要素はパーティション制約情報を示し、1つ以上のパーティション制約シンタックス要素はピクチャパラメータセット(picture parameter set (PPS))レベルでシグナリングされる、ステップと、を含む方法が提供される。
【0407】
例えば、パーティション制約情報は、以下:最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さの情報(MaxMttDepth)、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報、から選択された1つ以上を含む。
【0408】
例えば、幾つかの実施形態では、パーティション制約情報は、最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報を含む。
【0409】
幾つかの実施形態では、パーティション制約情報は、最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報を含む。
【0410】
上述の任意の方法で、パーティション制約情報は:N個のスライスタイプに対応するN個のセット若しくはグループのパーティション制約情報、又はN個のスライスインデックスに対応するN個のセット若しくはグループのパーティション制約情報、を含む。ここで、各セット若しくはグループのパーティション制約情報は、以下:最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報から選択された1つ以上を含み、Nは正整数である。
【0411】
方法は、パーティション制約情報に従い画像領域のブロックをパーティションするステップと、複数のパーティション制約シンタックス要素を含むビットストリームを生成するステップであって、複数のパーティション制約シンタックス要素はパーティション制約情報を示し、複数のパーティション制約シンタックス要素はパラメータセットレベル又はヘッダでシグナリングされる、ステップと、を含んでよい。
【0412】
例えば、複数のパーティション制約シンタックス要素は、ビデオパラメータセット(video parameter set (VPS))レベル、シーケンスパラメータセット(sequence parameter set (SPS))レベル、ピクチャパラメータセット(picture parameter set (PPS))レベル、ピクチャヘッダ、スライスヘッダ、又はタイルヘッダ、のうちのいずれか1つでシグナリングされる。
【0413】
幾つかの例示的な実装では、パーティション制約情報は、最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、及び最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報を含む。
【0414】
例えば、パーティション制約情報は、最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報を含む。
【0415】
幾つかの実施形態では、パーティション制約情報は、以下:最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さの情報(MaxMttDepth)、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報、から選択された2つ以上を含む。
【0416】
例えば、パーティション制約情報は:N個のスライスタイプに対応するN個のセット若しくはグループのパーティション制約情報、又はN個のスライスインデックスに対応するN個のセット若しくはグループのパーティション制約情報、を含む。ここで、各セット若しくはグループのパーティション制約情報は、以下:最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報から選択された2つ以上を含み、Nは正整数である。
【0417】
実施形態によると、復号装置により実施される復号の方法であって、1つ以上のパーティション制約シンタックス要素をビットストリームからパースするステップであって、1つ以上のパーティション制約シンタックス要素はパーティション制約情報を示し、1つ以上のパーティション制約シンタックス要素は、ビットストリームのピクチャパラメータセット(picture parameter set (PPS))レベルから取得される、ステップと、パーティション制約情報に従い画像領域のブロックをパーティションするステップと、を含む方法が提供される。
【0418】
幾つかの実装では、パーティション制約情報は、以下:最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さの情報(MaxMttDepth)、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報、から選択された1つ以上を含む。
【0419】
例えば、パーティション制約情報は、最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、及び最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報を含む。パーティション制約情報は、最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報を含んでよい。
【0420】
幾つかの実施形態では、パーティション制約情報は:N個のスライスタイプに対応するN個のセット若しくはグループのパーティション制約情報、又はN個のスライスインデックスに対応するN個のセット若しくはグループのパーティション制約情報、を含む。ここで、各セット若しくはグループのパーティション制約情報は、以下:最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報から選択された1つ以上を含み、Nは正整数である。
【0421】
実施形態によると、復号装置により実施される復号の方法であって、複数のパーティション制約シンタックス要素をビットストリームからパースするステップであって、複数のパーティション制約シンタックス要素はパーティション制約情報を示し、複数のパーティション制約シンタックス要素は、ビットストリームのパラメータセットレベル又はビットストリームのヘッダから取得される、ステップと、パーティション制約情報に従い画像領域のブロックをパーティションするステップと、を含む方法が提供される。
【0422】
例えば、複数のパーティション制約シンタックス要素は、ビデオパラメータセット(video parameter set (VPS))レベル、シーケンスパラメータセット(sequence parameter set (SPS))レベル、ピクチャパラメータセット(picture parameter set (PPS))レベル、ピクチャヘッダ、スライスヘッダ、又はタイルヘッダ、のうちのいずれか1つから取得される。
【0423】
例えば、パーティション制約情報は、最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、及び最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報を含む。
【0424】
幾つかの実施形態では、パーティション制約情報は、最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報を含む。
【0425】
幾つかの実装では、パーティション制約情報は、以下:最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さの情報(MaxMttDepth)、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報、から選択された2つ以上を含む。
【0426】
例えば、パーティション制約情報は:N個のスライスタイプに対応するN個のセット若しくはグループのパーティション制約情報、又はN個のスライスインデックスに対応するN個のセット若しくはグループのパーティション制約情報、を含む。ここで、各セット若しくはグループのパーティション制約情報は、以下:最小許容4分木リーフノードサイズ(MinQtSizeY)の情報、最大マルチタイプ木深さ(MaxMttDepth)の情報、最大許容2分木ルートノードサイズ(MaxBtSizeY)の情報、及び最大許容3分木ルートノードサイズ(MaxTtSizeY)の情報から選択された2つ以上を含み、Nは正整数である。
【0427】
幾つかの例では、パーティション制約情報は、異なるスライスタイプに対応する又は異なるスライスインデックスに対応するパーティション制約情報を含む。
【0428】
例えば、パーティション制約情報は、イントラモードにおけるパーティション制約情報、及び/又はインターモードにおけるパーティション制約情報を含む。
【0429】
実施形態のうちの任意のものにおいて、画像領域は、ピクチャ、又はピクチャの部分を含む。
【0430】
幾つかの実施形態では、ピクチャパラメータセット(picture parameter set (PPS))からのマルチタイプ木パーティション有効化フラグの値が、ブロックのマルチタイプ木パーティションを有効化するとき、ピクチャパラメータセットからのパーティション制約情報をパースし、パーティション制約情報に従いマルチタイプ木パーティションを画像領域のブロックに適用する。
【0431】
実施形態によると、エンコーダであって、上述の方法のうちのいずれかを実行するための処理回路を含むエンコーダが提供される。
【0432】
実施形態によると、デコーダであって、上述の方法のうちのいずれかを実行するための処理回路を含むデコーダが提供される。
【0433】
実施形態によると、コンピュータプログラムプロダクトであって、上述の方法のうちのいずれかに従う方法を実行するためのプログラムコードを含むコンピュータプログラムプロダクトが提供される。
【0434】
実施形態によると、デコーダであって、1つ以上のプロセッサと、プロセッサに接続されプロセッサによる実行のためのプログラミングを格納する非一時的コンピュータ可読記憶媒体であって、プログラミングは、プロセッサにより実行されると、上述の復号方法のいずれかによる方法を実行するようデコーダを構成する、非一時的コンピュータ可読記憶媒体と、を含むデコーダが提供される。
【0435】
実施形態によると、エンコーダであって、1つ以上のプロセッサと、プロセッサに接続されプロセッサによる実行のためのプログラミングを格納する非一時的コンピュータ可読記憶媒体であって、プログラミングは、プロセッサにより実行されると、上述の復号方法のいずれかによる方法を実行するようエンコーダを構成する、非一時的コンピュータ可読記憶媒体と、を含むエンコーダが提供される。
【0436】
第1の態様によると、本発明は、復号装置により実施されるビデオビットストリームの復号の方法であって、前記ビデオビットストリームは、画像領域を表すデータと、前記画像領域の画像領域ヘッダとを含み、前記復号方法は、
前記ビデオビットストリームからオーバーライドフラグを取得するステップと、
前記オーバーライドフラグ(例えば、partition_constraint_override_flag)の前記値がオーバーライド値であるとき、前記画像領域ヘッダから前記画像領域の第1パーティション制約情報を取得するステップと、
前記第1パーティション制約情報に従い、前記画像領域のブロックをパーティションするステップと、を含む方法に関する。
【0437】
可能な実装では、前記第1パーティション制約情報に従い前記画像領域のブロックをパーティションする前記ステップは、前記第1パーティション制約情報に従い、前記画像領域のブロックをサブブロックにパーティションするステップを含む。前記復号方法は、前記サブブロックを再構成するステップを更に含む。
【0438】
可能な実装では、前記復号方法は、
前記ビデオビットストリームからオーバーライド有効化フラグを取得するステップ、を更に含み、
前記オーバーライド有効化フラグ(例えば、partition_constraint_override_enabled_flag)の前記値が有効化値であるとき、前記ビデオビットストリームから前記オーバーライドフラグを取得する。
【0439】
可能な実装では、前記復号方法は、
前記ビデオビットストリームからパーティション制約制御存在フラグを取得するステップ、を更に含み、
前記パーティション制約制御存在フラグ(例えば、partition_constraint_control_present_flag)の前記値が真であるとき、前記ビデオビットストリームから前記オーバーライド有効化フラグを取得する。
【0440】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記パーティション制約制御存在フラグの前記値が偽であることは、前記パラメータセットの中のパーティション制約制御シンタックス要素の不存在を指定する。
【0441】
可能な実装では、前記パラメータセットは、ピクチャパラメータセット又はシーケンスパラメータセットである。
【0442】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記復号方法は、
前記オーバーライド有効化フラグの前記値が無効化値であるとき、前記パラメータセットからの前記ビデオビットストリームの第2パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするステップ、を更に含む。
【0443】
可能な実装では、前記第2パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含む。
【0444】
可能な実装では、前記第2パーティション制約情報は、画像領域に関連する異なるパラメータに対応する又は異なるインデックスに対応する、パーティション制約情報を含む。
【0445】
可能な実装では、前記第2パーティション制約情報は、イントラモードにおけるパーティション制約情報、又はインターモードにおけるパーティション制約情報を含む。
【0446】
可能な実装では、前記第2パーティション制約情報は、ルマブロックのパーティション制約情報、又はクロマブロックのパーティション制約情報を含む。
【0447】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記ビデオビットストリームからオーバーライド有効化フラグを取得する前記ステップは、前記パラメータセットから前記オーバーライド有効化フラグを取得するステップを含む。
【0448】
可能な実装では、前記ビデオビットストリームからオーバーライドフラグを取得する前記ステップは、前記画像領域ヘッダから前記オーバーライドフラグを取得するステップを含む。
【0449】
可能な実装では、前記第1パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含む。
【0450】
可能な実装では、前記画像領域は、スライス又はタイルを含み、前記画像領域ヘッダは、前記スライスのスライスヘッダ、又は前記タイルのタイルヘッダを含む。
【0451】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記復号方法は、
前記オーバーライドフラグの前記値が前記オーバーライド値ではないとき、前記パラメータセットからの前記ビデオビットストリームの第2パーティション制約情報に従い、前記画像領域の前記ブロックをパーティションするステップ、を更に含む。
【0452】
可能な実装では、前記画像領域ヘッダからのマルチタイプ木パーティション有効化フラグ(例えば、slice_btt_enabled_flag)の値が、前記ブロックのマルチタイプ木パーティションを有効化するとき、第1パーティション制約情報を取得し、前記第1パーティション制約情報に従いマルチタイプ木パーティションを前記画像領域の前記ブロックに適用する。
【0453】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームのパラメータセットを表すデータを更に含み、前記画像領域ヘッダからの前記マルチタイプ木パーティション有効化フラグが存在せず、前記パラメータセットからのマルチタイプ木パーティション有効化フラグ(例えば、sps_btt_enabled_flag)の値が、記ブロックのマルチタイプ木パーティションを有効化するとき、前記パラメータセットから前記ビデオビットストリームの第2パーティション制約情報を取得し、前記第2パーティション制約情報に従い前記画像領域の前記ブロックにマルチタイプ木パーティションを適用する。
【0454】
第2の態様によると、本発明は、復号装置により実施されるビデオビットストリームの復号の方法であって、前記ビデオビットストリームは、ブロックを表すデータと、前記ビデオビットストリームの第1パラメータセットとを含み、前記復号方法は、
前記ビデオビットストリームからオーバーライドフラグを取得するステップと、
前記オーバーライドフラグの前記値がオーバーライド値であるとき、前記第1パラメータセットから前記ブロックの第1パーティション制約情報を取得するステップと、
前記第1パーティション制約情報に従い、前記ブロックをパーティションするステップと、を含む方法に関する。
【0455】
可能な実装では、前記第1パーティション制約情報に従い前記ブロックをパーティションする前記ステップは、前記第1パーティション制約情報に従い、前記ブロックをサブブロックにパーティションするステップを含む。前記復号方法は、前記サブブロックを再構成するステップを更に含む。
【0456】
可能な実装では、前記復号方法は、
前記ビデオビットストリームからオーバーライド有効化フラグを取得するステップ、を更に含み、
前記オーバーライド有効化フラグの前記値が有効化値であるとき、前記ビデオビットストリームから前記オーバーライドフラグを取得する。
【0457】
可能な実装では、前記復号方法は、
前記ビデオビットストリームからパーティション制約制御存在フラグを取得するステップ、を更に含み、
前記パーティション制約制御存在フラグの前記値が真であるとき、前記ビデオビットストリームから前記オーバーライド有効化フラグを取得する。
【0458】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームの第2パラメータセットを表すデータを更に含み、前記パーティション制約制御存在フラグの前記値が偽であることは、前記パラメータセットの中のパーティション制約制御シンタックス要素の不存在を指定する。
【0459】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームの第2パラメータセットを表すデータを更に含み、前記復号方法は、
前記オーバーライド有効化フラグの前記値が無効化値であるとき、前記第2パラメータセットからの前記ビデオビットストリームの第2パーティション制約情報に従い、前記ブロックをパーティションするステップ、を更に含む。
【0460】
可能な実装では、前記第2パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含む。
【0461】
可能な実装では、前記第2パーティション制約情報は、前記ビデオビットストリームにより表される画像領域に関連する異なるパラメータセットに対応する又は異なるインデックスに対応する、パーティション制約情報を含む。
【0462】
可能な実装では、前記第2パーティション制約情報は、イントラモードにおけるパーティション制約情報、又はインターモードにおけるパーティション制約情報を含む。
【0463】
可能な実装では、前記第2パーティション制約情報は、ルマブロックのパーティション制約情報、又はクロマブロックのパーティション制約情報を含む。
【0464】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームの第2パラメータセットを表すデータを更に含み、前記ビデオビットストリームからオーバーライド有効化フラグを取得する前記ステップは、前記第2パラメータセットから前記オーバーライド有効化フラグを取得するステップを含む。
【0465】
可能な実装では、前記ビデオビットストリームからオーバーライドフラグを取得する前記ステップは、前記第1パラメータセットから前記オーバーライドフラグを取得するステップを含む。
【0466】
可能な実装では、前記第1パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含む。
【0467】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームの第2パラメータセットを表すデータを更に含み、
第1パラメータセットはピクチャパラメータセットであり、前記第2パラメータセットはシーケンスパラメータセットである。
【0468】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームの第2パラメータセットを表すデータを更に含み、前記復号方法は、
前記オーバーライドフラグの前記値がオーバーライド値ではないとき、前記第2パラメータセットからの前記ビデオビットストリームの第2パーティション制約情報に従い、前記ブロックをパーティションするステップ、を更に含む。
【0469】
可能な実装では、前記第1パラメータセットからのマルチタイプ木パーティション有効化フラグの値が、前記ブロックのマルチタイプ木パーティションを有効化するとき、第1パーティション制約情報を取得し、前記第1パーティション制約情報に従いマルチタイプ木パーティションを前記ブロックに適用する。
【0470】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームの第2パラメータセットを表すデータを更に含み、前記第1パラメータセットからの前記マルチタイプ木パーティション有効化フラグが存在せず、前記第2パラメータセットからのマルチタイプ木パーティション有効化フラグの値が、記ブロックのマルチタイプ木パーティションを有効化するとき、前記第2パラメータセットから前記ビデオビットストリームの第2パーティション制約情報を取得し、前記第2パーティション制約情報に従い前記ブロックにマルチタイプ木パーティションを適用する。
【0471】
第3の態様によると、本発明は、復号装置により実施されるビデオビットストリームの復号の方法であって、前記ビデオビットストリームは、第1画像領域を表すデータと、前記第1画像領域の第1画像領域ヘッダとを含み、前記復号方法は、
前記ビデオビットストリームからオーバーライドフラグを取得するステップと、
前記オーバーライドフラグの前記値がオーバーライド値であるとき、前記第1画像領域ヘッダから前記第1画像領域の第1パーティション制約情報を取得するステップと、
前記第1パーティション制約情報に従い、前記第1画像領域のブロックをパーティションするステップと、を含む方法に関する。
【0472】
可能な実装では、前記第1パーティション制約情報に従い前記第1画像領域の前記ブロックをパーティションする前記ステップは、前記第1パーティション制約情報に従い、前記第1画像領域の前記ブロックをサブブロックにパーティションするステップを含む。前記復号方法は、前記サブブロックを再構成するステップを更に含む。
【0473】
可能な実装では、前記復号方法は、
前記ビデオビットストリームからオーバーライド有効化フラグを取得するステップ、を更に含み、
前記オーバーライド有効化フラグの前記値が有効化値であるとき、前記ビデオビットストリームから前記オーバーライドフラグを取得する。
【0474】
可能な実装では、前記復号方法は、
前記ビデオビットストリームからパーティション制約制御存在フラグを取得するステップ、を更に含み、
前記パーティション制約制御存在フラグの前記値が真であるとき、前記ビデオビットストリームから前記オーバーライド有効化フラグを取得する。
【0475】
可能な実装では、前記ビデオビットストリームは、第2画像領域を表すデータと、前記第2画像領域の第2画像領域ヘッダと、を更に含み、前記パーティション制約制御存在フラグの前記値が偽であることは、前記第2画像領域ヘッダの中のパーティション制約制御シンタックス要素の不存在を指定する。
【0476】
可能な実装では、前記ビデオビットストリームは、第2画像領域を表すデータと、前記第2画像領域の第2画像領域ヘッダと、を更に含み、前記復号方法は、
前記オーバーライド有効化フラグの前記値が無効化値であるとき、前記第2画像領域ヘッダからの前記ビデオビットストリームの第2パーティション制約情報に従い、前記第1画像領域の前記ブロックをパーティションするステップであって、前記第2画像領域は前記第1画像領域の前記ブロックを含む、ステップ、を更に含む。
【0477】
可能な実装では、前記第2パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含む。
【0478】
可能な実装では、前記第2パーティション制約情報は、前記ビデオビットストリームにより表される画像領域に関連する異なるパラメータセットに対応する又は異なるインデックスに対応する、パーティション制約情報を含む。
【0479】
可能な実装では、第2パーティション制約情報は、イントラモードにおけるパーティション制約情報、又はインターモードにおけるパーティション制約情報を含む。
【0480】
可能な実装では、前記第2パーティション制約情報は、ルマブロックのパーティション制約情報、又はクロマブロックのパーティション制約情報を含む。
【0481】
可能な実装では、前記ビデオビットストリームは、第2画像領域を表すデータと、前記第2画像領域の第2画像領域ヘッダと、を更に含み、前記ビデオビットストリームからオーバーライド有効化フラグを取得する前記ステップは、前記第2画像領域ヘッダから前記オーバーライド有効化フラグを取得するステップを含む。
【0482】
可能な実装では、前記ビデオビットストリームからオーバーライドフラグを取得する前記ステップは、前記第1画像領域ヘッダから前記オーバーライドフラグを取得するステップを含む。
【0483】
可能な実装では、前記第1パーティション制約情報は、最小許容4分木リーフノードサイズの情報、最大マルチタイプ木深さの情報、最大許容3分木ルートノードサイズの情報、又は最大許容2分木ルートノードサイズの情報を含む。
【0484】
可能な実装では、前記ビデオビットストリームは、第2画像領域を表すデータと、前記第2画像領域の第2画像領域ヘッダと、を更に含み、
前記第1画像領域ヘッダはスライスヘッダであり、前記第2画像領域ヘッダはタイルヘッダであり、前記第1画像領域はスライスであり、前記第2画像領域はタイルであり、前記タイルは前記スライスを含む、又は、
前記第1画像領域ヘッダはタイルヘッダであり、前記第2画像領域ヘッダはスライスヘッダであり、前記第1画像領域はタイルであり、前記第2画像領域はスライスであり、前記スライスは前記タイルを含む。
【0485】
可能な実装では、前記ビデオビットストリームは、第2画像領域を表すデータと、前記第2画像領域の第2画像領域ヘッダと、を更に含み、前記復号方法は、
前記オーバーライドフラグの前記値がオーバーライド値ではないとき、前記第2画像領域ヘッダからの前記ビデオビットストリームの第2パーティション制約情報に従い、前記第1画像領域の前記ブロックをパーティションするステップであって、前記第2画像領域は前記第1画像領域の前記ブロックを含む、ステップ、を更に含む。
【0486】
可能な実装では、前記第1画像領域ヘッダからのマルチタイプ木パーティション有効化フラグの値が、前記ブロックのマルチタイプ木パーティションを有効化するとき、第1パーティション制約情報を取得し、前記第1パーティション制約情報に従いマルチタイプ木パーティションを前記第1画像領域の前記ブロックに適用する。
【0487】
可能な実装では、前記ビデオビットストリームは、前記ビデオビットストリームの第2画像領域ヘッダを表すデータを更に含み、前記第1画像領域ヘッダからの前記マルチタイプ木パーティション有効化フラグが存在せず、前記第2画像領域ヘッダからのマルチタイプ木パーティション有効化フラグの値が、記ブロックのマルチタイプ木パーティションを有効化するとき、前記第2画像領域ヘッダから前記ビデオビットストリームの第2パーティション制約情報を取得し、前記第2パーティション制約情報に従い前記画像領域の前記ブロックにマルチタイプ木パーティションを適用する。
【0488】
第4の態様によると、本発明は、プロセッサとメモリとを含む、ビデオストリームを復号する機器に関する。メモリは、前記プロセッサに、第1の態様、第2の態様、若しくは第3の態様、又は第1の態様、第2の態様、若しくは第3の態様の任意の可能な実施形態による方法を実行させる命令を格納している。
【0489】
第5の態様によると、実行されると1つ以上のプロセッサをビデオデータを符号化するよう構成させる命令を格納したコンピュータ可読記憶媒体が提案される。前記命令は、前記1つ以上のプロセッサに、第1の態様、第2の態様、若しくは第3の態様、又は第1の態様、第2の態様、若しくは第3の態様の任意の可能な実施形態による方法を実行させる。
【0490】
第6の態様によると、本発明は、コンピュータ上で実行されると、第1の態様、第2の態様、若しくは第3の態様又は第1の態様、第2の態様、若しくは第3の態様の任意の可能な実施形態による方法を実行するためのプログラムコードを含むコンピュータプログラムに関する。
【0491】
纏めると、本開示は、符号化及び復号機器、並びに符号化及び復号方法を提供する。特に、本開示は、ブロックパーティション及びビットストリームの中でパーティションパラメータをシグナリングすることに関する。画像領域ヘッダの中のオーバーライドフラグはブロックが第1パーティション制約情報に従いパーティションされるか否かを示す。オーバーライドフラグは、ビットストリームに含まれ、ブロックは相応してパーティションされる。
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14A
図14B
図15
図16
図17
図18