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

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

▶ テレフオンアクチーボラゲット エル エム エリクソン(パブル)の特許一覧

特許7284285矩形タイルグループシグナリングを含むビデオコーディング
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-22
(45)【発行日】2023-05-30
(54)【発明の名称】矩形タイルグループシグナリングを含むビデオコーディング
(51)【国際特許分類】
   H04N 19/70 20140101AFI20230523BHJP
【FI】
H04N19/70
【請求項の数】 16
(21)【出願番号】P 2021552788
(86)(22)【出願日】2020-03-05
(65)【公表番号】
(43)【公表日】2022-04-27
(86)【国際出願番号】 SE2020050247
(87)【国際公開番号】W WO2020185146
(87)【国際公開日】2020-09-17
【審査請求日】2021-11-05
(31)【優先権主張番号】62/816,563
(32)【優先日】2019-03-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(74)【代理人】
【識別番号】100109726
【弁理士】
【氏名又は名称】園田 吉隆
(74)【代理人】
【識別番号】100161470
【弁理士】
【氏名又は名称】冨樫 義孝
(74)【代理人】
【識別番号】100194294
【弁理士】
【氏名又は名称】石岡 利康
(74)【代理人】
【識別番号】100194320
【弁理士】
【氏名又は名称】藤井 亮
(74)【代理人】
【識別番号】100150670
【弁理士】
【氏名又は名称】小梶 晴美
(72)【発明者】
【氏名】ショバーリ, リキャルド
(72)【発明者】
【氏名】ダムガニアン, ミトラ
(72)【発明者】
【氏名】ペッテション, マルティン
(72)【発明者】
【氏名】ストレム, ヤコブ
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】DESHPANDE, Sachin et al.,On Tile Grouping,JVET-M0853 (version 2),ITU,2019年01月12日,pp.1-8,JVET-M0853-r1.docx
【文献】CHEN, Lulin et al.,AHG17: Flexible Tile Grouping for VVC,JVET-M0160 (version 2),ITU,2019年01月06日,pp.1-8,JVET-M0160-v2-clean.docx
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビットストリームからピクチャを復号するための方法(1400)であって、前記方法は、
前記ビットストリーム中の1つまたは複数のシンタックスエレメントからタイル区分構造を復号すること(1410)と、
前記ピクチャ中のタイルの数Nを決定すること(1420)と、
前記ピクチャ中の区分の数を復号すること(1430)であって、各区分が整数個のタイルを備える、区分の数を復号すること(1430)と、
現在の区分についてのサイズおよびロケーションを導出すること(1440)であって、前記現在の区分についての前記サイズおよびロケーションを導出することが、
前記現在の区分の幅をタイルの数で表すシンタックスエレメントと、前記現在の区分の高さをタイルの数で表すシンタックスエレメントとから、前記現在の区分についての前記サイズを導出すること(1442)と、
1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、前記現在の区分の左上位置を導出すること(1444)と
を含む、現在の区分についてのサイズおよびロケーションを導出すること(1440)と、
前記ピクチャを復号するために、前記導出されたサイズおよびロケーションを使用すること(1450)と
を含む、方法。
【請求項2】
ピクチャをビットストリームに符号化するための方法(1500)であって、前記方法は、
前記ビットストリーム中の1つまたは複数のシンタックスエレメントとしてタイル区分構造を符号化すること(1510)と、
前記ピクチャ中のタイルの数Nを決定すること(1520)と、
前記ピクチャ中の区分の数を符号化すること(1530)であって、各区分が整数個のタイルを備える、区分の数を符号化すること(1530)と、
現在の区分についてのサイズおよびロケーションを導出すること(1540)であって、前記現在の区分についての前記サイズおよびロケーションを導出することが、
前記現在の区分についての前記サイズを、前記現在の区分の幅をタイルの数で表すシンタックスエレメントと、前記現在の区分の高さをタイルの数で表すシンタックスエレメントとに符号化すること(1542)と、
1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、前記現在の区分の左上位置を導出すること(1544)と
を含む、現在の区分についてのサイズおよびロケーションを導出すること(1540)と、
前記ピクチャを符号化するために、前記導出されたサイズおよびロケーションを使用すること(1550)と
を含む、方法。
【請求項3】
前記現在の区分がタイルグループである、請求項に記載の方法。
【請求項4】
前記タイル区分構造が少なくとも3つの矩形区分を備え、少なくとも1つの矩形区分の少なくとも1つの境界が、少なくとも2つの他の矩形区分と共通する部分を有する、請求項1または3に記載の方法。
【請求項5】
前記1つまたは複数の前に導出された区分が、ラスタ走査順序で導出された、請求項1、3およびのうちのいずれか一項に記載の方法。
【請求項6】
スタックデータ構造が、前記ピクチャ中の矩形区分の位置を決定するために使用される、または
アレイデータ構造が、前記ピクチャ中の前記矩形区分の前記位置を決定するために使用される、
請求項1および3から5のうちのいずれか一項に記載の方法。
【請求項7】
再帰的方法が、前記ピクチャを矩形区分に区分するために使用される、請求項1および3から5のうちのいずれか一項に記載の方法。
【請求項8】
現在の区分についてのサイズおよびロケーションを導出することが、前記現在の区分に属する前記ピクチャ中の前記タイルを決定することを含む、請求項1および3から7のうちのいずれか一項に記載の方法。
【請求項9】
前記タイル区分構造が復号されたとき、前記タイル区分構造の左境界全体および上境界全体の各々が、ピクチャ境界または隣接する1つまたは複数の前に復号された区分にある、請求項1および3から8のうちのいずれか一項に記載の方法。
【請求項10】
前記現在の区分が、ラスタ走査順序で最後の矩形区分である場合、シンタックスエレメントが復号されない、請求項1および3から9のうちのいずれか一項に記載の方法。
【請求項11】
前記現在の区分の前記左上位置を導出することが、左上ロケーションを示すことに専用のシンタックスエレメントを復号することなしに行われる、請求項1および3から10のうちのいずれか一項に記載の方法。
【請求項12】
処理回路(1802)によって実行されたとき、前記処理回路(1802)に、請求項1および3から11のうちのいずれか一項に記載の方法を行わせる命令(1844)を備える、コンピュータプログラム(1843)。
【請求項13】
請求項12に記載のコンピュータプログラムを含んでいるコンピュータ可読記憶媒体。
【請求項14】
ビットストリームからピクチャを復号するためのデコーダ(1602)であって、前記デコーダは、
前記ビットストリーム中の1つまたは複数のシンタックスエレメントからタイル区分構造を復号することと、
前記ピクチャ中のタイルの数Nを決定することと、
前記ピクチャ中の区分の数を復号することであって、各区分が整数個のタイルを備える、区分の数を復号することと、
現在の区分についてのサイズおよびロケーションを導出することであって、前記現在の区分についての前記サイズおよびロケーションを導出することが、
前記現在の区分の幅をタイルの数で表すシンタックスエレメントと、前記現在の区分の高さをタイルの数で表すシンタックスエレメントとから、前記現在の区分についての前記サイズを導出することと、
1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、前記現在の区分の左上位置を導出することと
を含む、現在の区分についてのサイズおよびロケーションを導出することと、
前記ピクチャを復号するために、前記導出されたサイズおよびロケーションを使用することと
を行うように適応された、デコーダ(1602)。
【請求項15】
前記デコーダが、請求項3から11のいずれか一項に記載の方法を実施するように設定された、請求項14に記載のデコーダ。
【請求項16】
ピクチャをビットストリームに符号化するためのエンコーダ(1702)であって、前記エンコーダは、
前記ビットストリーム中の1つまたは複数のシンタックスエレメントとしてタイル区分構造を符号化することと、
前記ピクチャ中のタイルの数Nを決定することと、
前記ピクチャ中の区分の数を符号化することであって、各区分が整数個のタイルを備える、区分の数を符号化することと、
現在の区分についてのサイズおよびロケーションを導出することであって、前記現在の区分についての前記サイズおよびロケーションを導出することが、
前記現在の区分についての前記サイズを、前記現在の区分の幅をタイルの数で表すシンタックスエレメントと、前記現在の区分の高さをタイルの数で表すシンタックスエレメントとに符号化することと、
1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、前記現在の区分の左上位置を導出することと
を含む、現在の区分についてのサイズおよびロケーションを導出することと、
前記ピクチャを符号化するために、前記導出されたサイズおよびロケーションを使用することと
を行うように適応された、エンコーダ(1702)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、高効率ビデオコーディング(HEVC)および多用途ビデオコーディング(VVC)に関する。
【背景技術】
【0002】
HEVCおよび次世代ビデオコーディング
【0003】
高効率ビデオコーディング(HEVC)、別名H.265は、時間予測と空間予測の両方を利用する、ITU-TおよびMPEGによって規格化されたブロックベースビデオコーデックである。空間予測は、現在ピクチャ内からのイントラ(I)予測を使用して達成される。時間予測は、前に復号された参照ピクチャを使用して、ブロックレベルでのインター(P)予測または双方向インター(B)予測を使用して達成される。残差と呼ばれる、元のサンプルまたはピクセルデータと予測されたサンプルまたはピクセルデータとの間の差は、周波数ドメインに変換され、量子化され、次いで、予測モードおよび動きベクトルなど、必要な予測パラメータとともに送信される前にエントロピーコーディングされ、それらの予測パラメータもエントロピーコーディングされる。変換された残差を量子化することによって、ビットレートとビデオの品質との間のトレードオフが、制御され得る。量子化レベルは、量子化パラメータ(QP)によって決定される。デコーダは、エントロピー復号と、逆量子化と、逆方向変換とを実施して残差を取得し、次いで、その残差をイントラ予測またはインター予測に追加してピクチャを再構築する。
【0004】
MPEGおよびITU-Tは、ジョイントビデオエキスプロラトリチーム(JVET:Joint Video Exploratory Team)内でHEVCの後継に取り組んでいる。開発中のこのビデオコーデックの名前は、多用途ビデオコーディング(VCC)である。
【0005】
成分
【0006】
ビデオシーケンスは、各ピクチャが1つまたは複数の成分からなる一連のピクチャからなる。各成分は、サンプル値の2次元矩形アレイとして説明され得る。ビデオシーケンス中のピクチャは、3つの成分、すなわち、サンプル値がルーマ値である1つのルーマ成分Yと、サンプル値がクロマ値である2つのクロマ成分CbおよびCrとからなることが一般的である。クロマ成分の次元は、各次元においてルーマ成分の次元よりも1/2だけ小さいことが一般的である。たとえば、HDピクチャのルーマ成分のサイズは1920×1080となり、クロマ成分は、各々、960×540の次元を有するであろう。成分は色成分と呼ばれることがある。
【0007】
ブロック
【0008】
ブロックは、サンプルの1つの2次元アレイである。ビデオコーディングでは、各成分がブロックにスプリットされ、コード化ビデオビットストリームは一連のブロックからなる。ビデオコーディングでは、ピクチャは、ピクチャの特定のエリアをカバーするユニットにスプリットされることが一般的である。各ユニットは、その特定のエリアをなす、すべての成分からのすべてのブロックからなり、各ブロックは、1つのユニットに完全に属する。H.264におけるマクロブロック、およびHEVCにおけるコーディングユニット(CU)が、ユニットの例である。
【0009】
コーディングツリーユニット
【0010】
HEVCでは、各ピクチャは、コーディングツリーユニット(CTU)に区分される。CTUは、ルーマサンプルのN×Nブロックと2つのM×Mの対応するクロマブロックとからなる。HEVCにおけるCTUは、H.264および以前の規格におけるマクロブロックのようなものであるが、マクロブロックとは対照的に、CTUサイズが設定可能である。しかしながら、ほとんどの場合、HEVCにおけるCTUサイズは64×64ルーマサンプルにセットされる。各CTUは、再帰的に4分木スプリットされ得る。4分木のルートは、その場合、CTUに関連付けられる。4分木は、リーフに達するまでスプリットされ、リーフは、コーディングユニット(CU)と呼ばれる。HEVCにおけるCUは、常に、等しい高さおよび幅をもつルーマブロックからなる。各CTUがどのようにスプリットされるかが、ビットストリーム中で伝達される。
【0011】
NALユニット
【0012】
HEVCとVVCの両方が、ネットワークアブストラクションレイヤ(NAL)を規定する。HEVCおよびVVCのすべてのデータ、すなわちビデオデータと非ビデオデータの両方が、NALユニット中にカプセル化される。NALユニットは、トランスポートおよび記憶に好適なパケットとして見られ得る。NALユニットは、NALユニットヘッダから始まり、NALユニットヘッダは、特に、どんなタイプのデータがNALユニット中で搬送されるかを識別するNALユニットタイプを含んでいる。NALユニットタイプは、NALユニットヘッダ中のnal_unit_typeコードワード中で送信され、そのタイプは、NALユニットがどのようにパースおよび復号されるべきであるかを示し、規定する。ビットストリームは、一連の連結されたNALユニットからなる。
【0013】
パラメータセット
【0014】
HEVCは、3つのタイプのパラメータセット、すなわち、ピクチャパラメータセット(PPS)と、シーケンスパラメータセット(SPS)と、ビデオパラメータセット(VPS)とを指定する。PPSは、ピクチャ全体について共通であるデータを含んでおり、SPSは、コード化ビデオシーケンス(CVS)について共通であるデータを含んでおり、VPSは、複数のCVSについて共通であるデータを含んでいる。
【0015】
タイル
【0016】
HEVCビデオコーディング規格は、ピクチャを矩形の空間的に独立した領域に分割する、タイルと呼ばれるツールを含む。タイルを使用して、HEVCにおけるピクチャがサンプルの行および列に区分され得、ここで、タイルは行と列との交差部である。HEVCにおけるタイルは、常に、CTU境界と整合される。
【0017】
HEVCにおけるスライス
【0018】
HEVCにおけるスライスの概念は、ピクチャを、独立してコーディングされたスライスに分割し、各スライスは、CTUの単位でラスタ走査順序で読み取られる。各スライスは、それ自体のNALユニット中にカプセル化される。異なるコーディングタイプが同じピクチャのスライスのために使用され得る、すなわち、スライスは、Iスライス、Pスライス、またはBスライスのいずれかであり得る。スライスの主要な目的は、データ損失の場合に再同期を可能にすることである。
【0019】
VVCにおけるタイルグループ
【0020】
ドラフトVVC仕様は、スライスを含まないが、タイルグループと呼ばれる同様の概念を含む。HEVCでは、タイルが1つまたは複数のスライスを含んでいることがあるか、またはスライスが1つまたは複数のタイルを含んでいることがあるが、それらの両方ではない。VVCでは、概念はより簡単であり、タイルグループが、1つまたは複数の完全なタイルを含んでいることがある。タイルグループは、各タイルのオーバーヘッドを低減するために、複数のタイルをグループ化するために使用される。各タイルグループは、それ自体のNALユニット中にカプセル化される。ピクチャについて、タイルグループは、矩形形状のものであるか、またはラスタ走査順序で1つまたは複数のタイルを備えるかのいずれかであり得る。矩形タイルグループは、V×H個のタイルからなり、ここで、このタイルグループにおいて、Vは垂直方向のタイルの数であり、Hは水平方向のタイルの数である。
【0021】
JVET-M0853におけるタイルグループ化
【0022】
最近のJVET会議において、JVET-M0853提案に従って、矩形タイルグループ化が採用された。JVET-M0853に記載の提案されたテキストが、以下に示されている。JVET-L1001-v7、マカオ、2018年12月において指定された多用途ビデオコーディング(ドラフト3)に関する変更が、以下に示されている。詳細には、追加された部分は下線を引かれ、削除された部分は取り消し線を引かれている。
(式1)
#1 記述子
【0023】
上記で示された新しい/修正されたエレメントについての意味論が、以下に示されている。
【0024】
1に等しいsingle_tile_per_tile_groupは、このPPSを参照する各タイルグループが1つのタイルを含むことを指定する。0に等しいsingle_tile_per_tile_groupは、このPPSを参照するタイルグループが2つ以上のタイルを含み得ることを指定する。
【0025】
0に等しいrect_tile_group_flagは、各タイルグループ内のタイルがラスタ走査順序でのものであり、タイルグループ情報がPPS中でシグナリングされないことを指定する。1に等しいrect_tile_group_flagは、各タイルグループ内のタイルがピクチャの矩形領域をカバーし、タイルグループ情報がPPS中でシグナリングされることを指定する。single_tile_per_tile_group_flagが1に等しいとき、rect_tile_group_flagは、1に等しいと推論される。
【0026】
num_tile_groups_in_pic_minus1+1は、PPSを参照する各ピクチャ中のタイルグループの数を指定する。num_tile_groups_in_pic_minus1の値は、両端値を含む0~(NumTilesInPic-1)の範囲内にあるものとする。存在しないとき、およびsingle_tile_per_tile_group_flagの値が1に等しいとき、num_tile_groups_in_pic_minus1の値は、(NumTilesInPic-1)に等しいと推論される。
【0027】
top_left_tile_idx[i]は、i番目のタイルグループの左上隅に位置するタイルのタイルインデックスを指定する。top_left_tile_idx[i]の値は、jに等しくないiの場合、top_left_tile_idx[j]の値に等しくないものとする。存在しないとき、top_left_tile_idx[i]はiに等しいと推論される。top_left_tile_idx[i]シンタックスエレメントの長さは、Ceil(Log2(NumTilesInPic)ビットである。
【0028】
bottom_right_tile_idx[i]は、i番目のタイルグループの右下隅に位置するタイルのタイルインデックスを指定する。single_tile_per_tile_group_flagが1に等しいとき、bottom_right_tile_idx[i]は、top_left_tile_idx[i]に等しいと推論される。bottom_right_tile_idx[i]シンタックスエレメントの長さは、Ceil(Log2(NumTilesInPic))ビットである。
【0029】
特定のタイルが1つのタイルグループ中にのみ含まれるものとすることが、ビットストリーム適合性の要件である。
【0030】
タイルグループ中のタイルの数を指定する変数NumTilesInTileGroup[i]、および関係する変数が、以下のように導出される。
(式2)
【0031】
1に等しいsignalled_tile_group_id_flagは、各タイルグループについてのタイルグループIDがシグナリングされることを指定する。0に等しいsignalled_tile_group_index_flagは、タイルグループIDがシグナリングされないことを指定する。rect_tile_group_flagが0に等しいとき、signalled_tile_group_index_flagの値は0に等しいと推論される。
【0032】
signalled_tile_group_id_length_minus1+1は、タイルグループヘッダ中で、存在するときにシンタックスエレメントtile_group_id[i]を表し、、シンタックスエレメントtile_group_addressを表すために使用されるビット数を指定する。signalled_tile_group_index_length_minus1の値は、両端値を含む0~15の範囲内にあるものとする。存在しないとき、signalled_tile_group_index_length_minus1の値は、Ceil(Log2(num_tile_groups_in_pic_minus1+1))-1に等しいと推論される。
【0033】
tile_group_id[i]は、i番目のタイルグループのタイルグループIDを指定する。tile_group_id[i]シンタックスエレメントの長さは、tile_set_id_length_minus1+1ビットである。存在しないとき、tile_group_id[i]は、両端値を含む0~num_tile_groups_in_pic_minus1の範囲内の各iについて、iに等しいと推論される。
【発明の概要】
【0034】
一態様では、ビットストリームからピクチャを復号するための方法が提供される。本方法は、ビットストリーム中の1つまたは複数のシンタックスエレメントからタイル区分構造を復号することを含む。本方法は、ピクチャ中のタイルの数Nを決定することを含む。本方法は、ピクチャ中の区分の数を復号することであって、各区分が整数個のタイルを備える、区分の数を復号することを含む。本方法は、現在の区分についてのサイズおよび/またはロケーションを導出することを含み、現在の区分についてのサイズおよび/またはロケーションを導出することは、ビットストリームから現在の区分についての1つまたは複数のロケーションシンタックスエレメントを復号することと、1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、現在の区分の左上位置を導出することと、1つまたは複数の前に導出された区分のサイズおよび/またはロケーションとともに1つまたは複数のロケーションシンタックスエレメントの値から、現在の区分のサイズおよび/またはロケーションを導出することとを含む。本方法は、ピクチャを復号するために、導出されたサイズおよび/またはロケーションを使用することを含む。
【0035】
いくつかの実施形態では、現在の区分は、タイルグループである。
【0036】
いくつかの実施形態では、タイル区分構造は少なくとも3つの矩形区分を備え、少なくとも1つの矩形区分の少なくとも1つの境界が、少なくとも2つの他の矩形区分と共通する部分を有する。
【0037】
いくつかの実施形態では、1つまたは複数の前に導出された区分が、ラスタ走査順序で導出された。
【0038】
いくつかの実施形態では、区分構造は、復号されたとき、ピクチャ境界または隣接する1つまたは複数の前に復号された区分におけるそれの左境界全体および上境界全体の各々を有する。
【0039】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、タイルインデックスを表すシンタックスエレメントを備え、タイルインデックスが、両端値を含む0~N-1の範囲内の数であり、Nがピクチャ中のタイルの数を示し、タイルインデックスが現在の区分の右下タイルのロケーションを示す。
【0040】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の右下タイルのロケーションのy座標を表す1つのシンタックスエレメントと、現在の区分の右下タイルのロケーションのx座標を表す1つのシンタックスエレメントとを備える。いくつかの実施形態では、現在の区分のサイズおよび/またはロケーションを導出することは、座標値に基づいて現在の区分の右下ロケーションを導出することを含む。
【0041】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の幅をタイルの数で表す1つのシンタックスエレメントと、現在の区分の高さをタイルの数で表す1つのシンタックスエレメントとを備える。いくつかの実施形態では、現在の区分のサイズおよび/またはロケーションを導出することは、現在の区分の右下ロケーションを導出することを含み、現在の区分の右下ロケーションを導出することは、幅および高さシンタックスエレメントの値を、現在の区分の導出された左上ロケーションに加算することを含む。
【0042】
いくつかの実施形態では、現在の区分が、ラスタ走査順序で最後の矩形区分である場合、シンタックスエレメントが復号されない。
【0043】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の右下隅とポイントBとの間の距離を指定する1つまたは複数のシンタックスエレメントを備え、ポイントBは、前にシグナリングされた矩形区分によって決定される。
【0044】
いくつかの実施形態では、スタックデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される。
【0045】
いくつかの実施形態では、アレイデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される。
【0046】
いくつかの実施形態では、再帰的方法が、ピクチャを矩形区分に区分するために使用される。
【0047】
いくつかの実施形態では、本方法は、サイズNのリストLを初期化することであって、リストLがN個のエントリを備え、リストL中の各エントリがピクチャ中のタイルに対応し、1つまたは複数のエントリは、L中のn番目のエントリがラスタ走査順序でピクチャ中のn番目のタイルに対応するように、ラスタ走査順序で配列され、リストL中のN個のエントリの各々は、対応するタイルが区分に属さないことを表す値に初期化される、サイズNのリストLを初期化することと、現在の区分の左上位置を導出することであって、現在の区分の左上位置を導出することは、対応するタイルが区分に属さないことを表す値をもつエントリが見つけられるまで、リストL中のエレメントにわたってforループを実行することを含む、現在の区分の左上位置を導出することと、導出された左上位置と右下ロケーションとを使用して、現在の区分中に含まれるタイルを識別することと、現在の区分に属するタイルに対応するリストL中のエントリが、対応するタイルが区分に属することを表す値にセットされるように、リストLを更新することとを含む。
【0048】
いくつかの実施形態では、ピクチャ中の矩形区分iの右下隅の位置が、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである。
【0049】
いくつかの実施形態では、ピクチャ中の矩形区分iの幅および高さが、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである。
【0050】
いくつかの実施形態では、ピクチャ中の矩形区分iの右下隅のアドレスまたはロケーションが、走査順序で他の矩形区分jによって規定されるアドレスのサブセットに制限され、ここで、j<iである。
【0051】
いくつかの実施形態では、空間区分構造は、各矩形区分について右下隅とポイントBとの距離を指定する1つまたは複数のシンタックスエレメントによってシグナリングされ、ポイントBは固定される。
【0052】
いくつかの実施形態では、現在の区分についてのサイズおよび/またはロケーションを導出することは、ピクチャ中のどのタイルが現在の区分に属するかを導出することを含む。
【0053】
いくつかの実施形態では、処理回路によって実行されたとき、処理回路に、上記で説明された方法のいずれかを実施させる命令を備えるコンピュータプログラムが提供される。
【0054】
別の実施形態では、上記で説明された方法のいずれかを実施するように適応されたデコーダが提供される。
【0055】
いくつかの実施形態では、現在の区分の左上位置を導出することは、左上ロケーションを示すことに専用のシンタックスエレメントを復号することなしに行われる。
【0056】
別の態様では、ピクチャをビットストリームに符号化するための方法が提供される。本方法は、ビットストリーム中の1つまたは複数のシンタックスエレメントとしてタイル区分構造を符号化することを含む。本方法は、ピクチャ中のタイルの数Nを決定することを含む。本方法は、ピクチャ中の区分の数を符号化することであって、各区分が整数個のタイルを備える、区分の数を符号化することを含む。本方法は、現在の区分についてのサイズおよび/またはロケーションを導出することを含み、現在の区分についてのサイズおよび/またはロケーションを導出することは、現在の区分についての1つまたは複数のロケーションシンタックスエレメントをビットストリームに符号化することと、1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、現在の区分の左上位置を導出することと、1つまたは複数の前に導出された区分のサイズおよび/またはロケーションとともに1つまたは複数のロケーションシンタックスエレメントの値から、現在の区分のサイズおよび/またはロケーションを導出することとを含む。本方法は、ピクチャを符号化するために、導出されたサイズおよび/またはロケーションを使用することを含む。
【0057】
いくつかの実施形態では、矩形区分が、タイルグループを備える。
【0058】
いくつかの実施形態では、タイル区分構造は少なくとも3つの矩形区分を備え、少なくとも1つの矩形区分の少なくとも1つの境界が、少なくとも2つの他の矩形区分と共通する部分を有する。
【0059】
いくつかの実施形態では、1つまたは複数の前に導出された区分は、ラスタ走査順序で導出された。
【0060】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、タイルインデックスを表すシンタックスエレメントを備え、タイルインデックスが、両端値を含む0~N-1の範囲内の数であり、Nがピクチャ中のタイルの数を示し、タイルインデックスが現在の区分の右下タイルのロケーションを示す。
【0061】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の右下タイルのロケーションのy座標を表す1つのシンタックスエレメントと、現在の区分の右下タイルのロケーションのx座標を表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、座標値から導出される。
【0062】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の幅をタイルの数で表す1つのシンタックスエレメントと、現在の区分の高さをタイルの数で表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、幅および高さシンタックスエレメントの値を、現在の区分の導出された左上ロケーションに加算することによって導出される。
【0063】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の右下隅とポイントBとの間の距離を指定する1つまたは複数のシンタックスエレメントを備え、ポイントBは、前にシグナリングされた矩形区分によって決定される。
【0064】
いくつかの実施形態では、スタックデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される。
【0065】
いくつかの実施形態では、アレイデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される。
【0066】
いくつかの実施形態では、再帰的方法が、ピクチャを矩形区分に区分するために使用される。
【0067】
いくつかの実施形態では、本方法は、サイズNのリストLを初期化することであって、リストLがN個のエントリを備え、リストL中の各エントリがピクチャ中のタイルに対応し、1つまたは複数のエントリは、L中のn番目のエントリがラスタ走査順序でピクチャ中のn番目のタイルに対応するように、ラスタ走査順序で配列され、リストL中のN個のエントリの各々は、対応するタイルが区分に属さないことを表す値に初期化される、サイズNのリストLを初期化することと、現在の区分の左上位置を導出することであって、現在の区分の左上位置を導出することは、対応するタイルが区分に属さないことを表す値をもつエントリが見つけられるまで、リストL中のエレメントにわたってforループを実行することを含む、現在の区分の左上位置を導出することと、導出された左上位置と右下ロケーションとを使用して、現在の区分中に含まれるタイルを識別することと、現在の区分に属するタイルに対応するリストL中のエントリが、対応するタイルが区分に属することを表す値にセットされるように、リストLを更新することとをさらに含む。
【0068】
いくつかの実施形態では、ピクチャ中の矩形区分iの右下隅の位置が、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである。
【0069】
いくつかの実施形態では、ピクチャ中の矩形区分iの幅および高さが、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである。
【0070】
いくつかの実施形態では、ピクチャ中の矩形区分iの右下隅のアドレスまたはロケーションが、走査順序で他の矩形区分jによって規定されるアドレスのサブセットに制限され、ここで、j<iである。
【0071】
いくつかの実施形態では、空間区分構造は、各矩形区分について右下隅とポイントBとの距離を指定する1つまたは複数のシンタックスエレメントによってシグナリングされ、ポイントBは固定される。
【0072】
いくつかの実施形態では、現在の区分についてのサイズおよび/またはロケーションを導出することは、ピクチャ中のどのタイルが現在の区分に属するかを導出することを含む。
【0073】
いくつかの実施形態では、処理回路によって実行されたとき、処理回路に、上記で説明された方法のいずれかを実施させる命令を備えるコンピュータプログラムが提供される。
【0074】
いくつかの実施形態では、上記で説明された方法のいずれかを実施するように適応されたエンコーダが提供される。
【0075】
本明細書で開示されるいくつかの実施形態は、タイルグループレイアウトの新規のシグナリングを含む。いくつかの実施形態では、現在のタイルグループのロケーションは、各タイルグループの左上位置と右下位置の両方をシグナリングする代わりに、前にシグナリングおよび導出されたタイルグループロケーションに基づいて導出される。一実施形態は、新規のシンタックスと新規の導出方法の両方を含んでいる。
【0076】
前にシグナリングおよび導出されたタイルグループロケーションに基づいてタイルグループのロケーションを導出することによって、本明細書で開示される実施形態は、ビットコストに関して現在のソリューションよりも効率的である。
【0077】
いくつかの実施形態では、現在の区分についてのサイズおよび/またはロケーションを導出することは、ピクチャ中のどのタイルが現在の区分に属するかを導出することからなり得る。これは、ピクチャ中の各タイルTについて、タイルTがどの区分に属するかを示すことによって、たとえば、値を長さNのリストに割り振ること(ここで、Nはピクチャ中のタイルの数である)によって実現され得、ここで、リスト中の各エントリは、リストがN個のタイルの各々を区分に関連付けるような、区分数である。
【0078】
本明細書で開示されるいくつかの実施形態は、矩形タイルグループが、JVET-M_Notes_dAにおいて指定されている要件に準拠するための手段をさらに提供し、詳細には、矩形タイルグループ区分が、規定されたアドレス順序で復号されたとき、各タイルが、ピクチャ境界または(1つまたは複数の)前に復号されたタイルからなるそれの左境界全体および上境界全体を有するものとする、タイルグループのみを含むことを保証する。ピクチャ中の薄い(pale)黄色および明るい(light)緑色タイルグループを禁止することについての所望の要件は、本明細書で開示される実施形態を使用して満たされる。
【0079】
デコーダの場合、本明細書で開示される実施形態は、ビットストリームがこれらのルールに従っていることをデコーダが検査する必要がないので、処理を簡略化する。代わりに、任意の可能なシグナリングが、それらのルールに自動的に従うことになる。
【0080】
本明細書に組み込まれ、明細書の一部をなす添付の図面は、様々な実施形態を示している。
【図面の簡単な説明】
【0081】
図1】いくつかの実施形態による、タイルグループをもつピクチャを示す図である。
図2】いくつかの実施形態による、タイルグループをもつピクチャを示す図である。
図3】いくつかの実施形態による、タイルグループをもつピクチャを示す図である。
図4】いくつかの実施形態による、タイルグループをもつピクチャを示す図である。
図5】いくつかの実施形態による、タイルグループをもつピクチャを示す図である。
図6】いくつかの実施形態による、タイルグループをもつピクチャを示す図である。
図7】いくつかの実施形態による、タイルグループをもつピクチャを示す図である。
図8】いくつかの実施形態による、スタックを示す図である。
図9】いくつかの実施形態による、スタックを示す図である。
図10】いくつかの実施形態による、ユニットをもつピクチャを示す図である。
図11】いくつかの実施形態による、ユニットをもつピクチャを示す図である。
図12】いくつかの実施形態による、タイルグループをもつピクチャを示す図である。
図13A】いくつかの実施形態による、ラスタ走査順序を示す図である。
図13B】いくつかの実施形態による、Z順序を示す図である。
図14A】一実施形態による、プロセスを示すフローチャートである。
図14B】一実施形態による、プロセスを示すフローチャートである。
図15A】一実施形態による、プロセスを示すフローチャートである。
図15B】一実施形態による、プロセスを示すフローチャートである。
図16】一実施形態による、デコーダの機能ユニットを示す図である。
図17】一実施形態による、エンコーダの機能ユニットを示す図である。
図18】いくつかの実施形態による、ノードのブロック図である。
【発明を実施するための形態】
【0082】
矩形タイルグループのサポートは、2019年1月に、マラケシュでの第13回JVET会議において採用された。同じ会議において、いくつかの制約が、矩形タイルグループについてセットされた。これらの制約を指定する第13回JVET会議中での議事録(JVET-M_Notes_dA)の部分が、以下に再現される。
1.タイルグループ中のタイルは、ラスタ走査順序でのものである必要がある。
2.タイルグループは、アドレス昇順でのものである必要がある(下記参照。暗い(dark)橙色、次いで明るい青色、次いで薄い黄色、次いで暗い青色、次いで明るい橙色、...)。
3.タイルグループ形状は、復号されたとき、各タイルが、ピクチャ境界または(1つまたは複数の)前に復号されたタイルからなるそれの左境界全体および上境界全体を有するものとするようなものである。言い換えれば、以下の図中の明るい黄色および明るい緑色タイルは、許容されない。
【0083】
上記で引用された「下記参照」および「以下の図」は、本開示の図1を参照していることに留意されたい。上記の第2の黒丸において「タイルグループについてアドレス昇順」として述べられた順序は、図1中のタイルグループをマークする番号によって示されている。1とマークされたタイルグループは、順序が最初のものであり、その後に2とマークされたタイルグループが続き、その後に3とマークされたタイルグループが続く、などである。上記の第3の黒丸において、タイルグループ3および7は、「明るい黄色および明るい緑色タイル」と呼ばれるが、JVET_M_Notes_dAが、「明るい黄色および明るい緑色タイル」ではなく「薄い黄色および明るい緑色タイルグループ」に言及することを意図した可能性があることに、さらに留意されたい。最後に、JVET_M_Notes_dAが、異なるタイルグループ、たとえば、2つの暗い青色タイルグループおよび2つのグレータイルグループについて、同様の色を使用することに留意されたい。
【0084】
本開示のコンテキストにおける説明の目的で、JVET_M_Notes_dAにおける上記で引用された制約は、以下で示されるように言い直される。
【0085】
制約1。タイルグループ中のタイルは、図1に示されているように、ラスタ走査順序である必要がある。図1を参照すると、タイルグループ1は暗い橙色タイルグループを表し、タイルグループ2は明るい青色タイルグループを表し、タイルグループ3は薄い黄色タイルグループを表し、タイルグループ4は暗い青色タイルグループを表し、タイルグループ5は明るい橙色タイルグループを表し、タイルグループ6はグレータイルグループを表し、タイルグループ7は明るい緑色タイルグループを表し、タイルグループ8は暗い緑色タイルグループを表し、タイルグループ9はグレータイルグループを表し、タイルグループ10は暗い青色タイルグループを表す。
【0086】
制約2。タイルグループは、アドレス昇順でのものである必要がある。タイルグループについてのアドレス昇順は、図1に示されているように各タイルグループに関連付けられた番号によって示されている。たとえば、暗い橙色タイルグループ1は、順序が最初のものであり、その後に明るい青色タイルグループ2が続き、その後に薄い黄色タイルグループ3が続く、などである。
【0087】
制約3。タイルグループ形状は、復号されたとき、各タイルが、ピクチャ境界または(1つまたは複数の)前に復号されたタイルからなるそれの左境界全体および上境界全体を有するものとするようなものである。言い換えれば、図1中の薄い黄色タイルグループ3および明るい緑色タイルグループ7は、許容されない。
【0088】
矩形タイルグループをシグナリングするためのJVET-M0853における提案されたシンタックスおよび意味論は、区分制約、詳細には、マラケシュでの議事録(JVET-M_Notes_dA)において指定された(上述の)第3の制約に準拠しない。JVET-M0853について、議事録からの制約が含まれる必要がある。しかし、これは、JVET-M0853のシンタックスおよび意味論が、それらがそうである必要があるほどは効率的でないことを意味するであろう。上記の制約を念頭に置いてシンタックスおよび意味論を設計することによって、本明細書で開示される実施形態は、タイルグループレイアウトのより効率的なシグナリングを提供する。
【0089】
一態様では、マラケシュでのVVC議事録において指定されたタイルグループ区分構造要件に準拠する区分構造のみを本質的に許容する、区分構造をシグナリングするための方法が提供される。これらの要件は、制約1~3として上記で示されたように議事録JVET-M_Notes_dAから引用される。
【0090】
本開示のコンテキストでは、区分構造(partition structure)という用語は、タイルグループ化(tile-grouping)構造、タイルグループ区分構造(partitioning structure)、非グリッドベースタイル区分構造など、異なる解釈を指す。いくつかの実施形態では、区分(partition)は、タイルグループを指し得る。
【0091】
一実施形態では、ピクチャの幅および高さと区分の数とが知られていると仮定される。
【0092】
以下の実施形態では、上記で説明された従来の方法に関する問題を解決する様々な方法が説明される。
【0093】
本開示のコンテキストでは、境界は、いくつかの実施形態では、矩形区分、ピクチャ、および/またはタイルの辺全体を示す。本開示のコンテキストにおいて、ピクチャのボーダー(border)は、いくつかの実施形態では、ピクチャ境界を示す。
【0094】
実施形態1.一般的概念
【0095】
第1の実施形態では、1つまたは複数のピクチャの復号は、複数の矩形区分の空間ロケーションを導出することを含む。導出は、最初に、(1つまたは複数の)ピクチャを構成する区分の数を復号することと、次いで、各区分のロケーションおよび/またはサイズを、ビットストリーム中のシンタックスエレメントから、ならびにロケーションおよび/またはサイズがすでに導出された区分のロケーションおよび/またはサイズに関する知識から導出することとによって行われる。これは、最初に、ビットストリームから1つまたは複数のシンタックスエレメントを復号することによって、ピクチャ中の最初の区分についてのロケーションおよび/またはサイズを導出することによって行われる。導出の順序およびビットストリーム中のシンタックスエレメントの順序は、決定された順序であり、好ましくは、タイルラスタ走査順序であり得る。これは、導出されるべきピクチャ中の最初の区分が、ラスタ走査順序でピクチャ中の最初のタイルを含まなければならないことを意味する。これは、導出されるべきピクチャ中の2番目の区分が、最初の区分中に含まれないラスタ走査順序で最初のタイルを含まなければならないことをも意味する。概して、ピクチャ中のn番目の区分は、n番目の区分に先行した区分のいずれの中にも含まれないラスタ走査順序で最初のタイルを含まなければならない。この特性は、左上ロケーションを示すことに専用のシンタックスエレメントを復号することなしに現在の区分の左上ロケーションを導出するためにこの特性を使用することによって、現在の区分のロケーションおよび/またはサイズの導出において使用される。
【0096】
デコーダは、ピクチャを復号するために、この実施形態では、以下のステップのすべてまたはサブセットを実施し得る。
【0097】
1.ビットストリーム中の1つまたは複数のシンタックスエレメントからタイル区分構造を復号する。シンタックスは、好ましくは、ピクチャパラメータセットに位置する。
【0098】
2.ビットストリーム中のシンタックスエレメントから、ピクチャ中にあるタイルの数を決定する。シンタックスは、好ましくは、ピクチャパラメータセットに位置する。
【0099】
3.ピクチャ中にある区分の数を復号し、各区分が整数個のタイルから構成される。区分は、各区分のサイズが、タイルの数に関する高さおよび幅によって説明され得るように、形状がすべて矩形であり得る。たとえば、区分は、3つのタイルの高さと、4つのタイルの幅とを有し得る。ここで、区分はタイルグループであり得る。
【0100】
4.以下のサブステップによって、現在の区分についてのサイズおよび/またはロケーションを導出する。
a. ビットストリームから現在の区分についての1つまたは複数のロケーションシンタックスエレメントを復号する。
b. 前に導出された区分の(1つまたは複数の)サイズおよび/または(1つまたは複数の)ロケーションとともに(1つまたは複数の)ロケーションシンタックスエレメントの(1つまたは複数の)値から、現在の区分のサイズおよび/またはロケーションを導出し、以下の任意のサブセットが適用され得る。
i. 現在の区分の左上位置は、走査順序がラスタ走査順序であり得るかどうかにかかわらず、前に導出された区分中に含まれないタイル走査順序で最初のタイルのロケーションとして導出される。
ii. 現在の区分は、少なくとも2つの他の区分と共通する部分を有する少なくとも1つの境界を有し、ここで、境界は区分の1つの辺である。
iii. 現在の区分の上および左境界の各々が、ピクチャ境界にあるか、1つまたは複数の前に導出された区分に接しているかのいずれかであり、ここで、境界は現在の区分の1つの辺である。
iv. 前に導出された区分の数は、2よりも大きい。
v. 少なくとも1つの前に導出された区分の幅および高さは、現在の区分の幅および高さに等しくない。
vi. 前に導出された区分は、ラスタ走査順序で導出された。
【0101】
5.ピクチャを復号するために、導出されたサイズおよび/またはロケーションを使用する。
【0102】
いくつかの実施形態では、現在の区分内のタイルは、後で、現在の区分内のタイルラスタ走査順序で復号され得る。
【0103】
実施形態2.右下隅のみをシグナリングすること
【0104】
第2の実施形態では、実施形態1からの現在の区分のロケーションが、現在の区分の1つの隅の位置を指定する1つまたは複数のシンタックスエレメントによって、シグナリングされる。いくつかの実施形態では、1つの隅の位置は、たとえば、原点に対するxおよびyとして、または、たとえば、アドレスとして指定され得る。
【0105】
現在の区分についてのシグナリングされたシンタックスは、現在の区分の右下隅のアドレスまたはロケーションを指定し得、区分は、ラスタ走査順序で導出される。次いで、現在の区分の一意の位置が、ラスタ走査順序で前に導出された区分と、シグナリングされたシンタックス値とから導出される。一実施形態では、区分は、区分の左上隅のロケーションに基づいて、ラスタ走査順序で走査される。
【0106】
(a)現在の区分の右下隅を導出するためのシグナリングされたシンタックス値は、各区分が、復号されたとき、ピクチャ境界または隣接する1つまたは複数の前に復号された区分におけるそれの左境界全体および上境界全体の各々を有することを保証する範囲に制限され得る。境界は、本開示では、好ましくは、矩形区分の辺全体である。現在の区分の右下隅についての許容されるアドレスの範囲は、現在の矩形区分の左上隅に等しい左上隅T=(X,Y)と、以下のように規定されたポイントB=(X,Y)に等しい右下隅とをもつ、(以下の図中の斜めストライプで示されている)矩形領域内のアドレスとして指定され得る。
【0107】
(b)Tが、ピクチャの左ボーダー上に位置する場合、Bは、ピクチャの右下隅に等しい。
【0108】
(c)Tが、ピクチャの左ボーダー上に位置しない場合、以下が適用される。図2に示されているように、現在の区分中の最初のタイルは、Tでマークされ、座標(X,Y)を有する。Tのすぐ左のタイルは、Uでマークされ、座標(X-1,Y)を有する。Uの下方のタイルは、座標(X-1,Y+k)を有することになり、k>0である。Vを、Vが依然としてUと同じ区分の部分であるような、最も大きいkをもつタイルとする。次いで、(Bでマークされた)ポイントBは、座標(X,Y)を有することになり、ここで、Xはタイル単位でのピクチャの幅であり、ここで、Y=Y+kである。
【0109】
図2では、グレー部分は、区分されたエリアを示し、残り(ストライプ部分および白い部分)は、区分されることになるエリアである。図2中のストライプ部分は、現在の区分の右下隅についての許容されるポイントの範囲を示す。タイルSがシグナリングされた場合、現在の区分は、点線輪郭でマークされた矩形であることになり、そこで、Tが左上タイルであり、Sが右下タイルである。
【0110】
図2に示されているように、ストライプエリアは、現在の区分の右下座標についての可能な位置を示す。左上タイルTは、まだ区分の部分でない、ラスタ走査順序で最初のタイルである。右下タイルBは、タイルVと同じy座標Yを有するタイルであり、タイルVは、Uを含んでいる区分(partitioning)中の最も下のタイルである。タイルBのx座標は、ピクチャの右エッジである。図2に示されているように、タイルSの座標は、現在の区分の右下タイルとしてシグナリングされ、現在の区分は、点線矩形でマークされる。
【0111】
この実施形態の別の変形態では、現在の区分についての右下隅の位置は、アドレス値として指定される。一例が図3に示されており、グレー部分は、区分されたエリアを示し、残り(ストライプ部分および白い部分)は、区分されることになるエリアを示す。ストライプ部分は、現在の区分の右下隅について許容される位置を示し、現在の区分の右下隅の位置は、この例では、25に等しい左上隅アドレスと49に等しい右下隅とをもつストライプ矩形内のアドレス値として指定される。
【0112】
この実施形態の別の変形態では、現在の区分についての右下隅の位置は、現在の区分の左上隅に対して指定される。一例が図4に示されている。この例では、現在の区分の左上隅はTとしてマークされ、右下隅はSとしてマークされ、現在の区分についての右下隅Sの位置は、現在の区分の左上隅Tに対して指定され、値S-T=37-25=12が、シグナリングされる。
【0113】
この実施形態の別の変形態では、現在の区分についての右下隅Sの位置は、Sの位置がストライプ部分内になければならないことを利用して、現在の区分の左上隅Tに対して指定される。これは、TからSまであるストライプされたものである内のラスタ走査順序でのタイルの数を表す値をシグナリングすることによって行われる。図4では、その数は7に等しい。
【0114】
この実施形態の別の変形態では、ピクチャ中の最後の矩形区分は、区分構造の残りから推論され得、したがって、シンタックスエレメントは、最後の区分についてシグナリングされないことがある。
【0115】
デコーダは、ピクチャを復号するために、この第2の実施形態では、実施形態1において上記で説明されたステップ1~5のすべてまたはサブセットを実施し得、ここで、ビットストリームから現在の区分についての1つまたは複数のロケーションシンタックスエレメントを復号することは、以下のうちの1つを含む。
【0116】
(a)タイルインデックスを指定するシンタックスエレメントを復号し、ここで、タイルインデックスは、両端値を含む0~N-1の範囲内の数であり、ここで、Nはピクチャ中のタイルの数である。ピクチャ中のタイルは、ラスタ走査順序で0からN-1まで番号を付けられ、復号されたタイルインデックスは、タイルインデックスで番号を付けられたタイルを識別する。識別されたタイルは、現在の区分の右下タイルのロケーションを指定する。タイルインデックスを指定するシンタックスエレメントは、右下タイルのロケーションを、現在の区分の左上隅に対して指定し得る。タイルインデックスを指定するためのコードワードは、ceil(log2(n))ビットの固定長コードを使用してシグナリングされ得るか、またはUVLCコードワードを使用してシグナリングされ得る。次いで、現在の区分の右下ロケーションは、タイルインデックスから導出される。
【0117】
(b)ストライプエリアとして示されている許容されるエリア内のラスタ走査順序でのタイルの数Nを指定するシンタックスエレメントを復号する。ピクチャ中のタイルは、ラスタ走査順序で0からn-1まで番号を付けられる。現在の区分についての右下タイルは、左上隅Tからラスタ走査順序で、許容されるエリア内のタイルの走査を開始することによって、識別される。走査は、N個のタイルが走査された後に停止され、走査がそこで終了するタイルは、現在の区分についての右下タイルとして識別される。次いで、現在の区分の右下ロケーションは、識別された右下タイルについての座標またはタイルインデックスにセットされる。
【0118】
(c)現在の区分の右下タイルのロケーションのy座標を指定する1つのシンタックスエレメントを復号し、現在の区分の右下タイルのロケーションのx座標を指定する1つのシンタックスエレメントを復号する。座標は、ピクチャの左上隅に対するものであるか、または、制限はしないが、上記で説明された矩形領域の左上隅Tを含む、別のロケーションに対するものである。次いで、現在の区分の右下ロケーションは、復号された座標から導出される。
【0119】
実施形態3.幅および高さをシグナリングすること
【0120】
第3の実施形態では、実施形態1からの現在の区分のサイズは、現在の区分構造の幅および高さを指定する1つまたは複数のシンタックスエレメントによってシグナリングされる。
【0121】
シグナリングされたシンタックスは、現在の区分の幅および高さを指定し得、現在の区分の一意の位置が、ラスタ走査順序で前に導出された区分から導出され得る。好ましい実施形態では、区分は、区分の左上隅のロケーションに基づいて、ラスタ走査順序など、あらかじめ規定された順序で走査される。
【0122】
現在の区分についてのシンタックスは、1つの幅シンタックスエレメントと、1つの高さシンタックスエレメントとからなり、ここで、幅シンタックスエレメントは、現在の区分の幅をタイルの数で表し、高さシンタックスエレメントは、現在の区分の高さをタイルの数で表す。幅シンタックスエレメントは、ceil(log2(W))ビットの固定長コードを使用してシグナリングされ得、ここで、Wは、ピクチャ中のタイル列の数であるか、またはピクチャ中のタイル列の数-1である。同様に、高さシンタックスエレメントは、ceil(log2(H))ビットの固定長コードを使用してシグナリングされ得、ここで、Hは、ピクチャ中のタイル行の数であるか、またはピクチャ中のタイル行の数-1である。
【0123】
現在の区分の幅および高さを導出するためのシグナリングされたシンタックス値は、各区分が、復号されたとき、ピクチャ境界および/または隣接する1つまたは複数の前に復号された区分におけるそれの左境界全体および上境界全体の各々を有することを保証する範囲に制限され得る。許容される値の範囲は、X-Xに等しい幅Wと、Y-Yに等しい高さHとをもつ、(図5中の斜めストライプで示されている)矩形領域内の値として指定され得る。図5では、T=(X,Y)が、左上隅であり、B=(X,Y)が、WおよびHについての許容される値を決定するために使用される矩形領域の右下隅である。Tは、前に区分されたエリアと知られている走査順序とから導出され得、Bは、以下のように規定され得る。
【0124】
(a)Tが、ピクチャの左ボーダー上に位置する場合、Bは、ピクチャの右下隅に等しい。
【0125】
(b)Tが、ピクチャの左ボーダー上に位置しない場合、Bは、ピクチャの右ボーダー上、およびピクチャの上ボーダーから最も遠い行に位置し、この場合、(X-1,Y)および(X-W-1,Y)は、同じ矩形区分に属する。
【0126】
図5では、グレー部分は、区分されたエリアを示し、残り(ストライプ部分および白い部分)は、これから区分されることになるエリアである。
【0127】
この実施形態の変形態では、走査順序での最後の矩形区分は、区分構造の残りから推論され得、したがって、シンタックスエレメントは、この最後の矩形区分についてシグナリングされないことがある。
【0128】
デコーダは、ピクチャを復号するために、この第3の実施形態では、実施形態1において説明されたステップ1~5のすべてまたはサブセットを実施し得、ここで、ビットストリームから現在の区分についての1つまたは複数のロケーションシンタックスエレメントを復号することは、以下を含む。
【0129】
(a)現在の区分の幅をタイルの数で表す1つのシンタックスエレメントを復号し、現在の区分の高さをタイルの数で表す1つのシンタックスエレメントを復号する。次いで、現在の区分の右下ロケーションは、現在の区分の導出された左上ロケーションに、現在の区分の復号された高さおよび幅を加算することによって導出される。
【0130】
実施形態4.位置Bまでの距離をシグナリングすること
【0131】
第4の実施形態では、実施形態1からの現在の区分のロケーションは、現在の区分の1つの隅の位置を指定する1つまたは複数のシンタックスエレメントによってシグナリングされ、この隅の位置は、ポイントBに対して指定され得、ここで、ポイントBは、1つまたは複数の前に導出された区分から導出される。第1の矩形区分について、ポイントBは、たとえばピクチャの右下ロケーションを表す、デフォルト値を有し得る。
【0132】
本開示のコンテキストでは、以下の表記が、タイルTのために使用される。
T:タイルの名前
(X,Y):タイルTについての座標
:タイルTのアドレス(ラスタ走査インデックス)。
【0133】
現在の区分についてのシグナリングされたシンタックスは、区分がラスタ走査順序で導出されるとき、現在の区分の右下隅のアドレスまたはロケーションを指定し得る。次いで、現在の区分の一意の位置が、ラスタ走査順序で前に導出された区分と、現在の区分の右下隅を指定するシグナリングされたシンタックス値とから導出され得る。一実施形態では、区分は、区分の左上隅のロケーションに基づいて、ラスタ走査順序で走査される。
【0134】
現在の区分の右下隅を導出するためのシグナリングされたシンタックス値は、現在の区分が、復号されたとき、ピクチャ境界または隣接する1つまたは複数の前に導出された区分におけるそれの左境界全体および上境界全体の各々を有することを保証する範囲に制限され得る。現在の区分の右下隅についての許容される値の範囲は、現在の矩形区分の左上隅としての左上隅Tと、以下のように規定された右下隅Bとをもつ、(図6中の斜めストライプで示されている)矩形領域内の値として指定され得る。
【0135】
(a)Tが、ピクチャの左ボーダー上に位置する(たとえば、図6中のT=20)場合、Bは、ピクチャの右下隅に等しい(図6中のB=69)。
【0136】
Tが、ピクチャの左ボーダー上に位置しない場合(たとえば、図7中のA=25)、Bは、ピクチャの最右ブロック列中に配置されたブロックを示し、Aは最も高い値であり、この場合、(A-1)と(A-W)とが同じ矩形区分に属し、ここで、Wは矩形領域の幅である。Wは、ピクチャの幅およびTの位置が知られるので、知られる。以下の例では、W=5であり、A-1=24とA-W=44とを有する。
【0137】
図6図7では、グレー部分は、区分されたエリアを示し、残り(ストライプ部分および白い部分)は、区分されることになるエリアである。
【0138】
現在の区分の右下位置のロケーションは、位置Bのタイルインデックス値(それぞれ、図6および図7中の69および49)から、現在の区分についてシグナリングされた復号された値を減算することによって、導出され得る。S=37が現在の区分の右下ロケーションのロケーションを示す例では、ロケーションは、値32を69から減算することによって導出され、ここで、32はビットストリーム中でシグナリングされる。代替的に、許容されるエリア内の逆方向ラスタ走査順序でタイルの数Nを表す値が復号される。現在の区分についての右下タイルが、タイルBから逆ラスタ走査順序で、許容されるエリア内のタイルの走査を開始することによって、識別される。走査は、N個のタイルが走査された後に停止され、走査がそこで終了するタイルは、現在の区分についての右下タイルとして識別される。上記の例では、S=37である場合、逆順でタイルの数Nを表す値は7に等しい。次いで、現在の区分の右下ロケーションは、識別された右下タイルについての座標またはタイルインデックスにセットされる。
【0139】
この実施形態の別の変形態では、現在の区分についての右下隅の位置は、アドレス値として指定される。
【0140】
この実施形態の別の変形態では、走査順序での最後の矩形区分は、区分構造の残りから推論され得、したがって、シンタックスエレメントは、最後の矩形区分についてシグナリングされないことがある。
【0141】
実施形態5.スタックを使用するプロセス
【0142】
第5の実施形態では、スタックが、作成され、ピクチャ中の現在の区分の位置を決定するために使用される。スタック中の各エントリが、矩形区分を規定するための情報を含んでいることがある。現在の区分の位置は、矩形区分の2つの対向する隅、たとえば矩形区分の左上隅および右下隅の位置を用いて指定されるか、あるいは矩形区分の幅および長さを指定することまたは他の手段によって指定され得る。
【0143】
この実施形態では、スタックは、後入れ先出し(LIFO)スタックであり得、スタックへの各エントリは、(図8中のTとして指定された)左上隅の位置と、図8中のBとして指定された現在の区分構造の対応する潜在的右下隅とからなり得る。ポイントCは、対応する矩形区分の実際の右下隅である。ポイントBは、左上隅としてのTと右下隅としてのBとで規定される矩形領域中のCのような任意のポイントが、次のステップにおいて現在の区分の実際の右下隅として規定され得るので、潜在的右下隅として規定される。
【0144】
図9は、左上(T)隅と潜在的右下隅(B)との別のペアを示す。ポイントCは、この場合も、対応する矩形区分の実際の右下隅の一例を示す。
【0145】
矩形区分は、アドレス昇順でのものであり、スタックは、各矩形区分が導出された後に更新され得る。更新は、エントリを除去すること、または新しいエントリをスタックに追加することを含み得る。各矩形区分についての実際の右下隅位置は、区分構造における各矩形についてのスタッキングされた情報およびシグナリングされた情報シンタックスから導出され得る。
【0146】
この実施形態の一変形態では、潜在的右下ポイントと実際の右下ポイントとの間の距離が、1つのコードワードを使用してシグナリングされる。図10に示されている一例は、潜在的ポイント(B)と実際のポイント(C)との間の距離を、CからBまでの走査順序でのユニットの数として示す。この実施形態では、ポイントの実際の位置は、シグナリングされた値とピクチャ幅とを使用して計算され得る。
【0147】
この実施形態の別の変形態では、潜在的ポイントと実際のポイントとの間の距離は、水平距離のために1つと、垂直距離のために1つとの、2つのコードワードを使用してシグナリングされる。図11に示されている例では、1つのコードワード(X)が、水平方向における潜在的ポイント(B)と実際のポイント(C)との間の距離を指定し、第2のコードワード(Y)が、垂直方向における潜在的ポイント(B)と実際のポイント(C)との間の距離を指定する。コードワードXは、ceil(log2(picture_width))に等しい長さをもつFLCであり得、コードワードYは、ceil(log2(picture_height))に等しい長さをもつFLCであり得る。
【0148】
図10図11に示されている2つの事例は、互換性があり、ピクチャ幅を知っている。
【0149】
この実施形態の一変形態では、各矩形区分(たとえば矩形タイルグループ)についての幅および高さの代わりに、右下隅の潜在的位置(スタックに保たれる、B)と所望の右下隅(C)との間の差のみが、各矩形区分(たとえば矩形タイルグループ)についてシグナリングされる。このようにして、所望の右下隅位置は、(スタックから出された)右下隅の潜在的位置と、シグナリングされた差値とから取得される。このステップ後に、スタックは、左上隅と右下隅との次の潜在的ペアで更新される。
【0150】
いくつかの実施形態では、デコーダが、以下のすべてまたはサブセットを実施し得る。
【0151】
1.最初の矩形区分の潜在的左上および右下隅として2つのエントリおよびピクチャサイズをもつスタックを初期化する。
【0152】
2.(おそらく最後を除く)矩形区分のアドレス順序付けされたリスト中の各矩形区分について、以下、すなわち、a)ビデオビットストリームからの現在の区分の潜在的右下隅と所望の右下隅との間の差を指定する(1つまたは複数の)シンタックスエレメントをパースすることと、b)スタック情報とパースされたシンタックスエレメントとを使用して、ピクチャ中の矩形区分の位置を決定することと、c)場合によってはピクチャ中の区分の将来可能な左上および右下隅位置についての新しいエントリを追加することによって、スタックを更新することとを行う。
【0153】
3.矩形区分構造に従ってピクチャまたはピクチャ部分を復号し、矩形区分構造は、ピクチャ境界または前に復号された矩形区分からなるそれの左境界全体および上境界全体を有する少なくとも1つの矩形区分を含んでいる。
【0154】
以下の表は、JVET-M0853に加えて実施形態1についての例示的なシンタックスを示す。JVET-M0853に対する修正がマークされ、ここで、追加されたシンタックスは下線を引かれ、削除された部分は取り消し線を引かれている。
(式3)
#1 記述子
【0155】
新しい/修正されたエレメントについての意味論が、以下に示されている。
【0156】
bottom_right_tile_offset[i]は、以下のプロセスを使用してi番目のタイルグループの右下隅を指定する(計算のための単位は、タイルグリッド中のタイル数であり、Aは、次の矩形区分の潜在的左上隅のリストであり、Bは、次の矩形区分の潜在的右下隅のリストである)。
(式4)
#1 %tile_group[i]左上および右下を決定する
#2 %tile_group[i]幅および高さを決定する。必要ではないが、後のステップにとって有用である
#3 %新しい潜在的(左上、右下)ペアを、最も遠いものから開始して、リストAおよびBに追加する。
#4 %第1に、左下隅の下のタイルがピクチャ内にあることと、左下隅の前のタイルが、前の矩形区分の右下隅でないこととを検査する。条件が成り立つ場合、左下隅の下のタイルを次の潜在的開始ポイントとしてリストAに追加し、次の潜在的下終端ポイントは、同じままである。
#5 %B[index]は、前の潜在的右下としてのもののままである
#6 第2に、右上隅の後のタイルがピクチャの左ボーダーに位置しないことを検査する。条件が成り立つ場合、右上隅の後のタイルを次の潜在的開始ポイントとしてリストAおよびBに追加する。
#7 %Bは、このtile_groupの最後の行の終端にあるタイルのインデックスにセットされる
【0157】
埋込みコメントなしの上記に記載されたコードが、以下で提供される。
(式5)
【0158】
この実施形態の変形態では、最後の矩形グループの右下隅は、for(){}ループ中で決定されないが、最後の矩形区分の右下隅は、ピクチャの終端によって指定される。
【0159】
この実施形態の1つのバージョンでは、スタックの深度が、ある整数値に制限される。
【0160】
この実施形態の1つの代替形態では、スタックの機能は、アレイデータ構造を使用して実装される。これは、矩形区分の数に等しい最大サイズをもつアレイと、たとえば、次の矩形区分をポイントするために使用されるべきアクティブアレイエレメントの位置をポイントするためのポインタとを使用して、実装され得る。ポインタ値は、エレメントがアレイに追加されるかまたはエレメントがアレイから読み取られるたびに、更新されることになる。
【0161】
実施形態6.再帰的プロセス
【0162】
第6実施形態では、ピクチャの矩形区分は、再帰的方法を使用して導出される。代替的に、現在の区分の左上位置の導出が、再帰的方法を使用して行われる。
【0163】
一例では、再帰的方法は、以下のように規定される。
- 再帰的方法Rが、2つの入力、すなわち、矩形エリアPと矩形エリア中の位置Cとを受け付ける。
- Rへの各呼出しにおける位置Cについての値が、所与のリストLから選出される。
- 再帰的方法Rでは、Cがピクチャの右下隅である場合、方法Rは矩形区分としてPを出力する。Cがピクチャの右下隅でない場合、プロセスは以下のように続く。
〇 方法Rは、矩形区分として、矩形Qの左上隅としてのPの左上隅とQの右下隅としてのCとによって規定される、Qを出力する。
〇 方法Rは、新しい入力パラメータP’およびC’を用いてRへの再帰的呼出しを行い、パラメータP’およびC’は、以下のように規定される。
・ P’は、まだ区分されていないエリア中の矩形であり、左上隅Tは、まだ区分されていないエリア中で最も小さいアドレスに等しく、右下隅Bは、以下のように規定される。Tが、ピクチャの左ボーダー上に配置された場合、Bは、ピクチャの右下隅である。Tがピクチャの左ボーダー上に配置されない場合、Bは、ピクチャの右ボーダー上に配置された最も大きいアドレスであり、アドレスT-1と、Bと同じ行上の少なくとも1つのアドレスとが、同じ矩形区分に属する。
・ C’は、リストLにおいて指定される。C’の値は、P’の矩形エリア内にあるものとする。
【0164】
すべての再帰的呼出しが実行されると、ピクチャは区分される。
【0165】
この実施形態は、矩形区分がどのようにシグナリングされるかに応じて、実施形態2から4のいずれかと組み合わせられ得、たとえば、矩形区分は、左上隅および右下隅を使用して、左上と幅および高さとを使用して、ならびに固定ポイントまでの距離を使用してシグナリングされる。
【0166】
この実施形態の1つのバージョンでは、再帰の深度が、ある整数値に制限される。
【0167】
実施形態7.forループを使用するプロセス
【0168】
第7の実施形態では、現在の区分の左上位置の導出は、forループを使用して行われる。実施形態1において説明されたように、デコーダは、タイルラスタ走査順序で区分のロケーションおよび/またはサイズを導出する。この導出の前に、デコーダは、ピクチャ中のどんなタイルが、区分にこれから関連付けられることになるかを追跡するリストを初期化する。リストのサイズはピクチャ中のタイルの数に等しく、リストは、ピクチャ中のすべてのタイルが、区分にこれから関連付けられることになるものとして示されるように、初期化される。
【0169】
現在の区分では、ラスタ走査順序でタイルにわたって反復するforループが、使用される。forループは、リストにわたって反復し、forループは、区分にこれから関連付けられることになるタイルが発見されたとき、停止する。区分にこれから関連付けられることになる、ラスタ走査順序でのこの発見された最初のタイルは、発見されたタイルが現在の区分中に含まれる左上タイルであるという点で、現在の区分の左上ロケーションを識別する。次いで、現在の区分のサイズまたは右下タイルが、本開示の他の場所で説明されたように決定される。その後、現在の区分に属する(または含まれる)タイルが識別され、リストは、現在の区分に属するタイルが区分に関連付けられるべきであると示されるように、更新される。
【0170】
デコーダは、ピクチャを復号するために、この実施形態では、以下のステップのすべてまたはサブセットを実施し得る。
【0171】
1.ビットストリーム中の1つまたは複数のシンタックスエレメントからタイル区分構造を復号する。シンタックスは、好ましくは、ピクチャパラメータセットに位置する。
【0172】
2.ビットストリーム中のシンタックスエレメントから、ピクチャ中にあるタイル列の数とタイル行の数とタイルの数Nとを決定する。シンタックスは、好ましくは、ピクチャパラメータセットに位置する。
【0173】
3.ピクチャ中にある区分の数を復号し、各区分が整数個のタイルから構成される。区分は、各区分のサイズが、タイルの数に関する高さおよび幅によって説明され得るように、形状がすべて矩形であり得る。たとえば、区分は、3つのタイルの高さと、4つのタイルの幅とを有し得る。
【0174】
4.サイズNのリストLを初期化し、ここで、リストL中の各エントリがピクチャ中のタイルに対応し、エントリは、L中のn番目のエントリがラスタ走査順序でピクチャ中のn番目のタイルに対応するように、ラスタ走査順序で配列される。リストL中のN個のエントリの各々は、対応するタイルが区分に属さないことを表す値にセットされる。
【0175】
5.以下のサブステップによって、現在の区分についてのサイズおよび/またはロケーションを導出する。
a. ビットストリームから現在の区分についての1つまたは複数のロケーションシンタックスエレメントを復号する。
b. 以下の順序付けされたステップによって、前に導出された区分の(1つまたは複数の)サイズおよび/または(1つまたは複数の)ロケーションとともに、(1つまたは複数の)ロケーションシンタックスエレメントの(1つまたは複数の)値から現在の区分のサイズおよび/またはロケーションを、導出する。
i. 現在の区分の左上位置は、前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして導出される。これは、対応するタイルが区分に属さないことを表す値をもつエントリが見つけられるまで、リストL中のエレメントにわたってforループを実行することによって行われる。
ii. 現在の区分のサイズおよび/または右下タイルロケーションが、本開示の他の場所で説明されたように決定される。
iii. 現在の区分に属する(または現在の区分中に含まれる)タイルが、本開示の他の場所で説明されたように、導出された左上位置とサイズおよび/または右下タイルロケーションとを使用して識別される。次いで、リストLは、現在の区分に属するタイルに対応するリストL中のエントリが、対応するタイルが区分に属することを表す値にセットされるように、更新される。
【0176】
6.ピクチャを復号するために、導出されたサイズおよび/またはロケーションを使用する。
【0177】
この実施形態は、矩形区分がどのように規定されるかに応じて、実施形態2から4のいずれかと組み合わせられ得、たとえば、矩形タイル区分は、左上隅および右下隅を使用して、左上と幅および高さとを使用して、ならびに固定ポイントまでの距離を使用してシグナリングされる。
【0178】
実施形態7を実施形態2と組み合わせること。
【0179】
いくつかの実施形態では、実施形態7は実施形態2と組み合わせられる。JVET-M0853に加えての例示的なシンタックスおよび意味論は、以下の通りである。
【0180】
以下の表は、JVET-M0853に加えて実施形態2と組み合わせられた実施形態7についての例示的なシンタックスを提供する。JVET-M0853に対する修正がマークされる。
(式6)
#1 記述子
【0181】
新しい/修正されたエレメントについての意味論が、以下に示されている。
【0182】
bottom_right_tile_idx[i]は、i番目のタイルグループの右下隅に位置するタイルのタイルインデックスを指定する。存在しないとき、変数top_left_tile_idx[i]とbottom_right_tile_idx[i]とは、両方ともiにセットされる。bottom_right_tile_idx[i]シンタックスエレメントの長さは、Ceil(Log2(NumTilesInPic))ビットである。
【0183】
特定のタイルが1つのタイルグループ中にのみ含まれるものとすることが、ビットストリーム適合性の要件である。
【0184】
タイルグループ中のタイルの数を指定する変数NumTilesInTileGroup[i]、および関係する変数が、以下のように導出される。
(式7)
【0185】
実施形態7を実施形態3と組み合わせること。
【0186】
以下のシンタックスおよび意味論は、実施形態7が実施形態3とどのように組み合わせられ得るかを示す。シグナリングは、区分ごとに1つの幅および1つの高さコードワードを使用して行われ、プロセスは、現在の区分の左上ロケーションを見つけるためのforループに基づく。
【0187】
JVET-M0853に対する修正がマークされ、ここで、追加されたシンタックスは下線を引かれ、削除された部分は取り消し線を引かれている。
(式8)
#1 記述子
【0188】
新しい/修正されたエレメントについての意味論が、以下に示されている。
【0189】
tile_group_height_minus1[i]+1は、タイルグループの高さをタイルの数で指定する。tile_group_height_minus1[i]シンタックスエレメントの長さは、Ceil(Log2(num_tile_rows_minus1+1))ビットである。存在しないとき、またはnum_tile_rows_minus1が0に等しいとき、tile_group_height_minus1[i]は、0に等しいと推論される。
【0190】
tile_group_width_minus1[i]+1は、タイルグループの幅をタイルの数で指定する。tile_group_width_minus1[i]シンタックスエレメントの長さは、Ceil(Log2(num_tile_columns_minus1+1))ビットである。存在しないとき、またはnum_tile_columns_minus1が0に等しいとき、tile_group_width_minus1[i]は、0に等しいと推論される。
【0191】
特定のタイルが1つのタイルグループ中にのみ含まれるものとすることが、ビットストリーム適合性の要件である。
【0192】
タイルグループ中のタイルの数を指定する変数NumTilesInTileGroup[i]、および関係する変数が、以下のように導出される。
(式9)
【0193】
実施形態8.制限
【0194】
この実施形態は、JVET-M_Notes_dAにおいて述べられている第3の矩形区分要件を保証するために、M0853に加えて意味論における制限を説明する。
【0195】
この実施形態の一変形態では、制限は、走査順序でピクチャ中の次の矩形区分の右下隅の位置についての許容される範囲を規定する。
【0196】
この実施形態の別の変形態では、制限は、走査順序でピクチャ中の次の矩形区分の幅および高さについての許容される範囲を規定する。
【0197】
この実施形態の別の変形態では、制限は、走査順序でピクチャ中の次の矩形区分の右下隅についてのアドレスの許容される範囲を規定する。
【0198】
以下は、M0853に加えて仕様テキストに追加される、例示的な提案された制限である。
【0199】
いくつかの実施形態では、デコーダが、上記で指定された制限の検査を実施し得、制限が満たされない場合、デコーダは、ビットストリームが誤っていると決定し得、エラーが生じたことを検出したことに応答して、エラー隠蔽(error concealment)を実施し、および/または通信ネットワーク上で符号化ビットストリームのソースに、または通知としてユーザにエラーを報告する。
【0200】
実施形態9.固定ポイントに対する距離
【0201】
第9の実施形態では、実施形態1の場合のような空間区分構造が、ピクチャ中の固定ポイントに対する矩形区分の右下隅の距離を指定する1つまたは複数のシンタックスエレメントによって、シグナリングされる。
【0202】
実施形態10.他の順序
【0203】
第10の実施形態では、前の実施形態のいずれかからの方法が使用されるが、別のあらかじめ規定されたまたはシグナリングされた順序が、ラスタ走査順序の代わりに使用される。一例として、あらかじめ規定された順序は、Z順序であり得る。図13Aはラスタ走査順序を示し、図13BはZ順序を示す。
【0204】
一例として、この変形態では、実施形態1は、現在の区分の左上位置が、前に導出された区分中に含まれない、あらかじめ規定された順序で最初のタイルのロケーションとして導出されることになる。
【0205】
一実施形態では、Z順序は、あらかじめ規定された順序として使用され、現在の区分の左上位置は、前に導出された区分中に含まれないZ順序で最初のタイルのロケーションとして導出される。
【0206】
実施形態11.
【0207】
上記で提供された実施形態、たとえば実施形態1~10の任意の組合せ。
【0208】
図14Aは、一実施形態による、プロセス1400を示すフローチャートである。プロセス1400は、ビットストリームからピクチャを復号するための方法である。方法は、ビットストリーム中の1つまたは複数のシンタックスエレメントからタイル区分構造を復号すること(1410)と、ピクチャ中のタイルの数Nを決定すること(1420)と、ピクチャ中の区分の数を復号することであって、各区分が整数個のタイルを備える、区分の数を復号すること(1430)と、現在の区分についてのサイズおよび/またはロケーションを導出すること(1440)とを含み、方法が、ピクチャを復号するために、導出されたサイズおよび/またはロケーションを使用することを含む。図14Bに示されているように、現在の区分についてのサイズおよび/またはロケーションを導出すること(1440)は、ビットストリームから現在の区分についての1つまたは複数のロケーションシンタックスエレメントを復号すること(1442)と、1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、現在の区分の左上位置を導出すること(1444)と、1つまたは複数の前に導出された区分のサイズおよび/またはロケーションとともに1つまたは複数のロケーションシンタックスエレメントの値から、現在の区分のサイズおよび/またはロケーションを導出すること(1446)とを含む。
【0209】
いくつかの実施形態では、矩形区分が、タイルグループを備える。
【0210】
いくつかの実施形態では、タイル区分構造は少なくとも3つの矩形区分を備え、少なくとも1つの矩形区分の少なくとも1つの境界が、少なくとも2つの他の矩形区分と共通する部分を有する。
【0211】
いくつかの実施形態では、1つまたは複数の前に導出された区分は、ラスタ走査順序で導出された。
【0212】
いくつかの実施形態では、区分構造は、復号されたとき、ピクチャ境界または隣接する1つまたは複数の前に復号された区分におけるそれの左境界全体および上境界全体の各々を有する。
【0213】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、タイルインデックスを表すシンタックスエレメントを備え、タイルインデックスが、両端値を含む0~N-1の範囲内の数であり、Nがピクチャ中のタイルの数を示し、タイルインデックスが現在の区分の右下タイルのロケーションを示す。
【0214】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の右下タイルのロケーションのy座標を表す1つのシンタックスエレメントと、現在の区分の右下タイルのロケーションのx座標を表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、座標値から導出される。
【0215】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の幅をタイルの数で表す1つのシンタックスエレメントと、現在の区分の高さをタイルの数で表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、幅および高さシンタックスエレメントの値を、現在の区分の導出された左上ロケーションに加算することによって導出される。
【0216】
いくつかの実施形態では、現在の区分が、ラスタ走査順序で最後の矩形区分である場合、シンタックスエレメントが復号されない。
【0217】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の右下隅とポイントBとの間の距離を指定する1つまたは複数のシンタックスエレメントを備え、ポイントBは、前にシグナリングされた矩形区分によって決定される。
【0218】
いくつかの実施形態では、スタックデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される。
【0219】
いくつかの実施形態では、アレイデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される。
【0220】
いくつかの実施形態では、再帰的方法が、ピクチャを矩形区分に区分するために使用される。
【0221】
いくつかの実施形態では、本方法は、サイズNのリストLを初期化することであって、リストLがN個のエントリを備え、リストL中の各エントリがピクチャ中のタイルに対応し、1つまたは複数のエントリは、L中のn番目のエントリがラスタ走査順序でピクチャ中のn番目のタイルに対応するように、ラスタ走査順序で配列され、リストL中のN個のエントリの各々は、対応するタイルが区分に属さないことを表す値に初期化される、サイズNのリストLを初期化することと、現在の区分の左上位置を導出することであって、現在の区分の左上位置を導出することは、対応するタイルが区分に属さないことを表す値をもつエントリが見つけられるまで、リストL中のエレメントにわたってforループを実行することを含む、現在の区分の左上位置を導出することと、導出された左上位置と右下ロケーションとを使用して、現在の区分中に含まれるタイルを識別することと、現在の区分に属するタイルに対応するリストL中のエントリが、対応するタイルが区分に属することを表す値にセットされるように、リストLを更新することとを含む。
【0222】
いくつかの実施形態では、ピクチャ中の矩形区分iの右下隅の位置が、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである。
【0223】
いくつかの実施形態では、ピクチャ中の矩形区分iの幅および高さが、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである。
【0224】
いくつかの実施形態では、ピクチャ中の矩形区分iの右下隅のアドレスまたはロケーションが、走査順序で他の矩形区分jによって規定されるアドレスのサブセットに制限され、ここで、j<iである。
【0225】
いくつかの実施形態では、空間区分構造は、各矩形区分について右下隅とポイントBとの距離を指定する1つまたは複数のシンタックスエレメントによってシグナリングされ、ポイントBは固定される。
【0226】
いくつかの実施形態では、現在の区分についてのサイズおよび/またはロケーションを導出することは、ピクチャ中のどのタイルが現在の区分に属するかを導出することを含む。
【0227】
図15Aは、一実施形態による、プロセス1500を示すフローチャートである。プロセス1500は、ピクチャをビットストリームに符号化するための方法である。本方法は、ビットストリーム中の1つまたは複数のシンタックスエレメントとしてタイル区分構造を符号化すること(1510)と、ピクチャ中のタイルの数Nを決定すること(1520)と、ピクチャ中の区分の数を符号化することであって、各区分が整数個のタイルを備える、区分の数を符号化すること(1530)と、現在の区分についてのサイズおよび/またはロケーションを導出すること(1540)と、ピクチャを符号化するために、導出されたサイズおよび/またはロケーションを使用すること(1550)とを含む。図15Bに示されているように、現在の区分についてのサイズおよび/またはロケーションを導出すること(1540)は、現在の区分についての1つまたは複数のロケーションシンタックスエレメントをビットストリームに符号化すること(1542)と、1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、現在の区分の左上位置を導出すること(1544)と、1つまたは複数の前に導出された区分のサイズおよび/またはロケーションとともに1つまたは複数のロケーションシンタックスエレメントの値から、現在の区分のサイズおよび/またはロケーションを導出すること(1546)とを含む。
【0228】
いくつかの実施形態では、矩形区分が、タイルグループを備える。
【0229】
いくつかの実施形態では、タイル区分構造は少なくとも3つの矩形区分を備え、少なくとも1つの矩形区分の少なくとも1つの境界が、少なくとも2つの他の矩形区分と共通する部分を有する。
【0230】
いくつかの実施形態では、1つまたは複数の前に導出された区分は、ラスタ走査順序で導出された。
【0231】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、タイルインデックスを表すシンタックスエレメントを備え、タイルインデックスが、両端値を含む0~N-1の範囲内の数であり、Nがピクチャ中のタイルの数を示し、タイルインデックスが現在の区分の右下タイルのロケーションを示す。
【0232】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の右下タイルのロケーションのy座標を表す1つのシンタックスエレメントと、現在の区分の右下タイルのロケーションのx座標を表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、座標値から導出される。
【0233】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の幅をタイルの数で表す1つのシンタックスエレメントと、現在の区分の高さをタイルの数で表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、幅および高さシンタックスエレメントの値を、現在の区分の導出された左上ロケーションに加算することによって導出される。
【0234】
いくつかの実施形態では、1つまたは複数のロケーションシンタックスエレメントは、現在の区分の右下隅とポイントBとの間の距離を指定する1つまたは複数のシンタックスエレメントを備え、ポイントBは、前にシグナリングされた矩形区分によって決定される。
【0235】
いくつかの実施形態では、スタックデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される。
【0236】
いくつかの実施形態では、アレイデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される。
【0237】
いくつかの実施形態では、再帰的方法が、ピクチャを矩形区分に区分するために使用される。
【0238】
いくつかの実施形態では、本方法は、サイズNのリストLを初期化することであって、リストLがN個のエントリを備え、リストL中の各エントリがピクチャ中のタイルに対応し、1つまたは複数のエントリは、L中のn番目のエントリがラスタ走査順序でピクチャ中のn番目のタイルに対応するように、ラスタ走査順序で配列され、リストL中のN個のエントリの各々は、対応するタイルが区分に属さないことを表す値に初期化される、サイズNのリストLを初期化することと、現在の区分の左上位置を導出することであって、現在の区分の左上位置を導出することは、対応するタイルが区分に属さないことを表す値をもつエントリが見つけられるまで、リストL中のエレメントにわたってforループを実行することを含む、現在の区分の左上位置を導出することと、導出された左上位置と右下ロケーションとを使用して、現在の区分中に含まれるタイルを識別することと、現在の区分に属するタイルに対応するリストL中のエントリが、対応するタイルが区分に属することを表す値にセットされるように、リストLを更新することとをさらに含む。
【0239】
いくつかの実施形態では、ピクチャ中の矩形区分iの右下隅の位置が、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである。
【0240】
いくつかの実施形態では、ピクチャ中の矩形区分iの幅および高さが、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである。
【0241】
いくつかの実施形態では、ピクチャ中の矩形区分iの右下隅のアドレスまたはロケーションが、走査順序で他の矩形区分jによって規定されるアドレスのサブセットに制限され、ここで、j<iである。
【0242】
いくつかの実施形態では、空間区分構造は、各矩形区分について右下隅とポイントBとの距離を指定する1つまたは複数のシンタックスエレメントによってシグナリングされ、ポイントBは固定される。
【0243】
いくつかの実施形態では、現在の区分についてのサイズおよび/またはロケーションを導出することは、ピクチャ中のどのタイルが現在の区分に属するかを導出することを含む。
【0244】
図16は、いくつかの実施形態による、デコーダ1602の機能ユニットを示す図である。図16に示されているように、デコーダ1602は、ビットストリーム中の1つまたは複数のシンタックスエレメントからタイル区分構造を復号するための第1の復号ユニット1604と、ピクチャ中のタイルの数Nを決定するための決定ユニット1606と、ピクチャ中の区分の数を復号するための第2の復号ユニット1608であって、各区分が整数個のタイルを備える、第2の復号ユニット1608と、現在の区分についてのサイズおよび/またはロケーションを導出するための第1の導出ユニット1610と、ビットストリームから現在の区分についての1つまたは複数のロケーションシンタックスエレメントを復号するための第3の復号ユニット1612と、1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、現在の区分の左上位置を導出するための第2の導出ユニット1614と、1つまたは複数の前に導出された区分のサイズおよび/またはロケーションとともに1つまたは複数のロケーションシンタックスエレメントの値から、現在の区分のサイズおよび/またはロケーションを導出するための第3の導出ユニット1616と、ピクチャを復号するために、導出されたサイズおよび/またはロケーションを使用するための使用ユニット1618とを含む。
【0245】
図17は、いくつかの実施形態による、エンコーダ1702の機能ユニットを示す図である。図17に示されているように、エンコーダ1702は、ビットストリーム中の1つまたは複数のシンタックスエレメントとしてタイル区分構造を符号化するための第1のエンコーディングユニット1704と、ピクチャ中のタイルの数Nを決定するための決定ユニット1706と、ピクチャ中の区分の数を符号化するための第2のエンコーディングユニット1708であって、各区分が整数個のタイルを備える、第2のエンコーディングユニット1708と、現在の区分についてのサイズおよび/またはロケーションを導出するための第1の導出ユニット1710と、現在の区分についての1つまたは複数のロケーションシンタックスエレメントをビットストリームに符号化するための第3のエンコーディングユニット1712と、1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、現在の区分の左上位置を導出するための第2の導出ユニット1714と、1つまたは複数の前に導出された区分のサイズおよび/またはロケーションとともに1つまたは複数のロケーションシンタックスエレメントの値から、現在の区分のサイズおよび/またはロケーションを導出するための第3の導出ユニット1716と、ピクチャを符号化するために、導出されたサイズおよび/またはロケーションを使用するための使用ユニット1718とを含む。
【0246】
図18は、いくつかの実施形態による、ノード(たとえば、デコーダ1602およびエンコーダ172)のブロック図である。図18に示されているように、ノードは、1つまたは複数のプロセッサ(P)1855(たとえば、汎用マイクロプロセッサ、および/または、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、1つまたは複数の他のプロセッサ)を含み得る処理回路(PC)1802と、ネットワークインターフェース1848であって、ノードが、ネットワークインターフェース1848が接続されるネットワーク1110(たとえば、インターネットプロトコル(IP)ネットワーク)に接続された他のノードにデータを送信し、他のノードからデータを受信することを可能にするための送信機(Tx)1845および受信機(Rx)1847を備える、ネットワークインターフェース1848と、1つまたは複数の不揮発性記憶デバイスおよび/または1つまたは複数の揮発性記憶デバイスを含み得るローカル記憶ユニット(別名「データ記憶システム」)1808とを備え得る。PC1802がプログラマブルプロセッサを含む実施形態では、コンピュータプログラム製品(CPP)1841が提供され得る。CPP1841はコンピュータ可読媒体(CRM)1842を含み、CRM1842は、コンピュータ可読命令(CRI)1844を備えるコンピュータプログラム(CP)1843を記憶する。CRM1842は、磁気媒体(たとえば、ハードディスク)、光媒体、メモリデバイス(たとえば、ランダムアクセスメモリ、フラッシュメモリ)など、非一時的コンピュータ可読媒体であり得る。いくつかの実施形態では、コンピュータプログラム1843のCRI1844は、PC1802によって実行されたとき、CRIが、ノードに、本明細書で説明されるステップ(たとえば、フローチャートを参照しながら本明細書で説明されるステップ)を実施させるように設定される。他の実施形態では、ノードは、コードの必要なしに本明細書で説明されるステップを実施するように設定され得る。すなわち、たとえば、PC1802は、単に1つまたは複数のASICからなり得る。したがって、本明細書で説明される実施形態の特徴は、ハードウェアおよび/またはソフトウェアで実装され得る。
【0247】
様々な実施形態の概要
【0248】
A1.ビットストリームからピクチャを復号するための方法であって、方法は、ビットストリーム中の1つまたは複数のシンタックスエレメントからタイル区分構造を復号することと、ピクチャ中のタイルの数Nを決定することと、ピクチャ中の区分の数を復号することであって、各区分が整数個のタイルを備える、区分の数を復号することと、現在の区分についてのサイズおよび/またはロケーションを導出することであって、現在の区分についてのサイズおよび/またはロケーションを導出することは、ビットストリームから現在の区分についての1つまたは複数のロケーションシンタックスエレメントを復号することと、1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、現在の区分の左上位置を導出することと、1つまたは複数の前に導出された区分のサイズおよび/またはロケーションとともに1つまたは複数のロケーションシンタックスエレメントの値から、現在の区分のサイズおよび/またはロケーションを導出することとを含む、現在の区分についてのサイズおよび/またはロケーションを導出することと、ピクチャを復号するために、導出されたサイズおよび/またはロケーションを使用することとを含む、方法。
【0249】
A2.矩形区分がタイルグループを備える、実施形態A1に記載の方法。
【0250】
A3.タイル区分構造が少なくとも3つの矩形区分を備え、少なくとも1つの矩形区分の少なくとも1つの境界が、少なくとも2つの他の矩形区分と共通する部分を有する、実施形態A1またはA2に記載の方法。
【0251】
A4.1つまたは複数の前に導出された区分が、ラスタ走査順序で導出された、実施形態A1からA3のいずれか1つに記載の方法。
【0252】
A5.区分構造が、復号されたとき、ピクチャ境界または隣接する1つまたは複数の前に復号された区分におけるそれの左境界全体および上境界全体の各々を有する、実施形態A1からA4のいずれか1つに記載の方法。
【0253】
A6.1つまたは複数のロケーションシンタックスエレメントが、タイルインデックスを表すシンタックスエレメントを備え、タイルインデックスが、両端値を含む0~N-1の範囲内の数であり、Nがピクチャ中のタイルの数を示し、タイルインデックスが現在の区分の右下タイルのロケーションを示す、実施形態A1からA5のいずれか1つに記載の方法。
【0254】
A7.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の右下タイルのロケーションのy座標を表す1つのシンタックスエレメントと、現在の区分の右下タイルのロケーションのx座標を表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、座標値から導出される、実施形態A1からA5のいずれか1つに記載の方法。
【0255】
A8.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の幅をタイルの数で表す1つのシンタックスエレメントと、現在の区分の高さをタイルの数で表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、幅および高さシンタックスエレメントの値を、現在の区分の導出された左上ロケーションに加算することによって導出される、実施形態A1からA5のいずれか1つに記載の方法。
【0256】
A9.現在の区分が、ラスタ走査順序で最後の矩形区分である場合、シンタックスエレメントが復号されない、実施形態A8に記載の方法。
【0257】
A10.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の右下隅とポイントBとの間の距離を指定する1つまたは複数のシンタックスエレメントを備え、ポイントBが、前にシグナリングされた矩形区分によって決定される、実施形態A1からA5のいずれか1つに記載の方法。
【0258】
A11.スタックデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される、実施形態A1からA10のいずれか1つに記載の方法。
【0259】
A12.アレイデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される、実施形態A1からA10のいずれか1つに記載の方法。
【0260】
A13.再帰的方法が、ピクチャを矩形区分に区分するために使用される、実施形態A1からA10のいずれか1つに記載の方法。
【0261】
A14.サイズNのリストLを初期化することであって、リストLがN個のエントリを備え、リストL中の各エントリがピクチャ中のタイルに対応し、1つまたは複数のエントリは、L中のn番目のエントリがラスタ走査順序でピクチャ中のn番目のタイルに対応するように、ラスタ走査順序で配列され、リストL中のN個のエントリの各々は、対応するタイルが区分に属さないことを表す値に初期化される、サイズNのリストLを初期化することと、現在の区分の左上位置を導出することであって、現在の区分の左上位置を導出することは、対応するタイルが区分に属さないことを表す値をもつエントリが見つけられるまで、リストL中のエレメントにわたってforループを実行することを含む、現在の区分の左上位置を導出することと、導出された左上位置と右下ロケーションとを使用して、現在の区分中に含まれるタイルを識別することと、現在の区分に属するタイルに対応するリストL中のエントリが、対応するタイルが区分に属することを表す値にセットされるように、リストLを更新することとをさらに含む、実施形態A5からA10のいずれか1つに記載の方法。
【0262】
A15.ピクチャ中の矩形区分iの右下隅の位置が、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである、実施形態A1からA14のいずれか1つに記載の方法。
【0263】
A16.ピクチャ中の矩形区分iの幅および高さが、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである、実施形態A1からA15のいずれか1つに記載の方法。
【0264】
A17.ピクチャ中の矩形区分iの右下隅のアドレスまたはロケーションが、走査順序で他の矩形区分jによって規定されるアドレスのサブセットに制限され、ここで、j<iである、実施形態A1からA16のいずれか1つに記載の方法。
【0265】
A18.空間区分構造が、各矩形区分について右下隅とポイントBとの距離を指定する1つまたは複数のシンタックスエレメントによってシグナリングされ、ポイントBが固定される、実施形態A1からA8のいずれか1つに記載の方法。
【0266】
A19.現在の区分についてのサイズおよび/またはロケーションを導出することが、ピクチャ中のどのタイルが現在の区分に属するかを導出することを含む、実施形態A1からA18のいずれか1つに記載の方法。
【0267】
A20.処理回路によって実行されたとき、処理回路に、実施形態A1からA19のいずれか1つに記載の方法を行わせる命令を備える、コンピュータプログラム。
【0268】
A21.実施形態A20に記載のコンピュータプログラムを含んでいるキャリアであって、キャリアが、電子信号、光信号、無線信号、およびコンピュータ可読記憶媒体のうちの1つである、キャリア。
【0269】
B1.ピクチャをビットストリームに符号化するための方法であって、方法は、ビットストリーム中の1つまたは複数のシンタックスエレメントとしてタイル区分構造を符号化することと、ピクチャ中のタイルの数Nを決定することと、ピクチャ中の区分の数を符号化することであって、各区分が整数個のタイルを備える、区分の数を符号化することと、現在の区分についてのサイズおよび/またはロケーションを導出することであって、現在の区分についてのサイズおよび/またはロケーションを導出することは、現在の区分についての1つまたは複数のロケーションシンタックスエレメントをビットストリームに符号化することと、1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、現在の区分の左上位置を導出することと、1つまたは複数の前に導出された区分のサイズおよび/またはロケーションとともに1つまたは複数のロケーションシンタックスエレメントの値から、現在の区分のサイズおよび/またはロケーションを導出することとを含む、現在の区分についてのサイズおよび/またはロケーションを導出することと、ピクチャを符号化するために、導出されたサイズおよび/またはロケーションを使用することとを含む、方法。
【0270】
B2.矩形区分がタイルグループを備える、実施形態B1に記載の方法。
【0271】
B3.タイル区分構造が少なくとも3つの矩形区分を備え、少なくとも1つの矩形区分の少なくとも1つの境界が、少なくとも2つの他の矩形区分と共通する部分を有する、実施形態B1またはB2に記載の方法。
【0272】
B4.1つまたは複数の前に導出された区分が、ラスタ走査順序で導出された、実施形態B1からB3のいずれか1つに記載の方法。
【0273】
B5.1つまたは複数のロケーションシンタックスエレメントが、タイルインデックスを表すシンタックスエレメントを備え、タイルインデックスが、両端値を含む0~N-1の範囲内の数であり、Nがピクチャ中のタイルの数を示し、タイルインデックスが現在の区分の右下タイルのロケーションを示す、実施形態B1からB4のいずれか1つに記載の方法。
【0274】
B6.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の右下タイルのロケーションのy座標を表す1つのシンタックスエレメントと、現在の区分の右下タイルのロケーションのx座標を表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、座標値から導出される、実施形態B1からB4のいずれか1つに記載の方法。
【0275】
B7.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の幅をタイルの数で表す1つのシンタックスエレメントと、現在の区分の高さをタイルの数で表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、幅および高さシンタックスエレメントの値を、現在の区分の導出された左上ロケーションに加算することによって導出される、実施形態B1からB5のいずれか1つに記載の方法。
【0276】
B8.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の右下隅とポイントBとの間の距離を指定する1つまたは複数のシンタックスエレメントを備え、ポイントBが、前にシグナリングされた矩形区分によって決定される、実施形態B1からB4のいずれか1つに記載の方法。
【0277】
B9.スタックデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される、実施形態B1からB8のいずれか1つに記載の方法。
【0278】
B10.アレイデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される、実施形態B1からB8のいずれか1つに記載の方法。
【0279】
B11.再帰的方法が、ピクチャを矩形区分に区分するために使用される、実施形態B1からB8のいずれか1つに記載の方法。
【0280】
B12.サイズNのリストLを初期化することであって、リストLがN個のエントリを備え、リストL中の各エントリがピクチャ中のタイルに対応し、1つまたは複数のエントリは、L中のn番目のエントリがラスタ走査順序でピクチャ中のn番目のタイルに対応するように、ラスタ走査順序で配列され、リストL中のN個のエントリの各々は、対応するタイルが区分に属さないことを表す値に初期化される、サイズNのリストLを初期化することと、現在の区分の左上位置を導出することであって、現在の区分の左上位置を導出することは、対応するタイルが区分に属さないことを表す値をもつエントリが見つけられるまで、リストL中のエレメントにわたってforループを実行することを含む、現在の区分の左上位置を導出することと、導出された左上位置と右下ロケーションとを使用して、現在の区分中に含まれるタイルを識別することと、現在の区分に属するタイルに対応するリストL中のエントリが、対応するタイルが区分に属することを表す値にセットされるように、リストLを更新することとをさらに含む、実施形態B5からB8のいずれか1つに記載の方法。
【0281】
B13.ピクチャ中の矩形区分iの右下隅の位置が、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである、実施形態B1からB12のいずれか1つに記載の方法。
【0282】
B14.ピクチャ中の矩形区分iの幅および高さが、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである、実施形態B1からB13のいずれか1つに記載の方法。
【0283】
B15.ピクチャ中の矩形区分iの右下隅のアドレスまたはロケーションが、走査順序で他の矩形区分jによって規定されるアドレスのサブセットに制限され、ここで、j<iである、実施形態B1からB14のいずれか1つに記載の方法。
【0284】
B16.空間区分構造が、各矩形区分について右下隅とポイントBとの距離を指定する1つまたは複数のシンタックスエレメントによってシグナリングされ、ポイントBが固定される、実施形態B1からB7のいずれか1つに記載の方法。
【0285】
B17.現在の区分についてのサイズおよび/またはロケーションを導出することが、ピクチャ中のどのタイルが現在の区分に属するかを導出することを含む、実施形態B1からB16のいずれか1つに記載の方法。
【0286】
B18.処理回路によって実行されたとき、処理回路に、実施形態B1からB17のいずれか1つに記載の方法を行わせる命令を備える、コンピュータプログラム。
【0287】
B19.実施形態B18に記載のコンピュータプログラムを含んでいるキャリアであって、キャリアが、電子信号、光信号、無線信号、およびコンピュータ可読記憶媒体のうちの1つである、キャリア。
【0288】
C1.ビットストリームからピクチャを復号するためのデコーダであって、デコーダは、ビットストリーム中の1つまたは複数のシンタックスエレメントからタイル区分構造を復号することと、ピクチャ中のタイルの数Nを決定することと、ピクチャ中の区分の数を復号することであって、各区分が整数個のタイルを備える、区分の数を復号することと、現在の区分についてのサイズおよび/またはロケーションを導出することであって、現在の区分についてのサイズおよび/またはロケーションを導出することは、ビットストリームから現在の区分についての1つまたは複数のロケーションシンタックスエレメントを復号することと、1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、現在の区分の左上位置を導出することと、1つまたは複数の前に導出された区分のサイズおよび/またはロケーションとともに1つまたは複数のロケーションシンタックスエレメントの値から、現在の区分のサイズおよび/またはロケーションを導出することとを含む、現在の区分についてのサイズおよび/またはロケーションを導出することと、ピクチャを復号するために、導出されたサイズおよび/またはロケーションを使用することとを行うように適応された、デコーダ。
【0289】
C2.矩形区分がタイルグループを備える、実施形態C1に記載のデコーダ。
【0290】
C3.タイル区分構造が少なくとも3つの矩形区分を備え、少なくとも1つの矩形区分の少なくとも1つの境界が、少なくとも2つの他の矩形区分と共通する部分を有する、実施形態C1またはC2に記載のデコーダ。
【0291】
C4.1つまたは複数の前に導出された区分が、ラスタ走査順序で導出された、実施形態C1からC3のいずれか1つに記載のデコーダ。
【0292】
C5.区分構造が、復号されたとき、ピクチャ境界または隣接する1つまたは複数の前に復号された区分におけるそれの左境界全体および上境界全体の各々を有する、実施形態C1からC4のいずれか1つに記載のデコーダ。
【0293】
C6.1つまたは複数のロケーションシンタックスエレメントが、タイルインデックスを表すシンタックスエレメントを備え、タイルインデックスが、両端値を含む0~N-1の範囲内の数であり、Nがピクチャ中のタイルの数を示し、タイルインデックスが現在の区分の右下タイルのロケーションを示す、実施形態C1からC5のいずれか1つに記載のデコーダ。
【0294】
C7.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の右下タイルのロケーションのy座標を表す1つのシンタックスエレメントと、現在の区分の右下タイルのロケーションのx座標を表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、座標値から導出される、実施形態C1からC5のいずれか1つに記載のデコーダ。
【0295】
C8.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の幅をタイルの数で表す1つのシンタックスエレメントと、現在の区分の高さをタイルの数で表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、幅および高さシンタックスエレメントの値を、現在の区分の導出された左上ロケーションに加算することによって導出される、実施形態C1からC5のいずれか1つに記載のデコーダ。
【0296】
C9.現在の区分が、ラスタ走査順序で最後の矩形区分である場合、シンタックスエレメントが復号されない、実施形態C8に記載のデコーダ。
【0297】
C10.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の右下隅とポイントBとの間の距離を指定する1つまたは複数のシンタックスエレメントを備え、ポイントBが、前にシグナリングされた矩形区分によって決定される、実施形態C1からC5のいずれか1つに記載のデコーダ。
【0298】
C11.スタックデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される、実施形態C1からC10のいずれか1つに記載のデコーダ。
【0299】
C12.アレイデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される、実施形態C1からC10のいずれか1つに記載のデコーダ。
【0300】
C13.再帰的方法が、ピクチャを矩形区分に区分するために使用される、実施形態C1からC10のいずれか1つに記載のデコーダ。
【0301】
C14.デコーダは、サイズNのリストLを初期化することであって、リストLがN個のエントリを備え、リストL中の各エントリがピクチャ中のタイルに対応し、1つまたは複数のエントリは、L中のn番目のエントリがラスタ走査順序でピクチャ中のn番目のタイルに対応するように、ラスタ走査順序で配列され、リストL中のN個のエントリの各々は、対応するタイルが区分に属さないことを表す値に初期化される、サイズNのリストLを初期化することと、現在の区分の左上位置を導出することであって、現在の区分の左上位置を導出することは、対応するタイルが区分に属さないことを表す値をもつエントリが見つけられるまで、リストL中のエレメントにわたってforループを実行することを含む、現在の区分の左上位置を導出することと、導出された左上位置と右下ロケーションとを使用して、現在の区分中に含まれるタイルを識別することと、現在の区分に属するタイルに対応するリストL中のエントリが、対応するタイルが区分に属することを表す値にセットされるように、リストLを更新することとを行うようにさらに適応された、実施形態C5からC10のいずれか1つに記載のデコーダ。
【0302】
C15.ピクチャ中の矩形区分iの右下隅の位置が、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである、実施形態C1からC14のいずれか1つに記載のデコーダ。
【0303】
C16.ピクチャ中の矩形区分iの幅および高さが、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである、実施形態C1からC15のいずれか1つに記載のデコーダ。
【0304】
C17.ピクチャ中の矩形区分iの右下隅のアドレスまたはロケーションが、走査順序で他の矩形区分jによって規定されるアドレスのサブセットに制限され、ここで、j<iである、実施形態C1からC16のいずれか1つに記載のデコーダ。
【0305】
C18.空間区分構造が、各矩形区分について右下隅とポイントBとの距離を指定する1つまたは複数のシンタックスエレメントによってシグナリングされ、ポイントBが固定される、実施形態A1からA8のいずれか1つに記載のデコーダ。
【0306】
C19.現在の区分についてのサイズおよび/またはロケーションを導出することが、ピクチャ中のどのタイルが現在の区分に属するかを導出することを含む、実施形態C1からC18のいずれか1つに記載のデコーダ。
【0307】
D1.ピクチャをビットストリームに符号化するためのエンコーダであって、エンコーダは、ビットストリーム中の1つまたは複数のシンタックスエレメントとしてタイル区分構造を符号化することと、ピクチャ中のタイルの数Nを決定することと、ピクチャ中の区分の数を符号化することであって、各区分が整数個のタイルを備える、区分の数を符号化することと、現在の区分についてのサイズおよび/またはロケーションを導出することであって、現在の区分についてのサイズおよび/またはロケーションを導出することは、現在の区分についての1つまたは複数のロケーションシンタックスエレメントをビットストリームに符号化することと、1つまたは複数の前に導出された区分中に含まれないラスタ走査順序で最初のタイルのロケーションとして、現在の区分の左上位置を導出することと、1つまたは複数の前に導出された区分のサイズおよび/またはロケーションとともに1つまたは複数のロケーションシンタックスエレメントの値から、現在の区分のサイズおよび/またはロケーションを導出することとを含む、現在の区分についてのサイズおよび/またはロケーションを導出することと、ピクチャを符号化するために、導出されたサイズおよび/またはロケーションを使用することとを行うように適応された、エンコーダ。
【0308】
D2.矩形区分がタイルグループを備える、実施形態D1に記載のエンコーダ。
【0309】
D3.タイル区分構造が少なくとも3つの矩形区分を備え、少なくとも1つの矩形区分の少なくとも1つの境界が、少なくとも2つの他の矩形区分と共通する部分を有する、実施形態D1またはD2に記載のエンコーダ。
【0310】
D4.1つまたは複数の前に導出された区分が、ラスタ走査順序で導出された、実施形態D1からD3のいずれか1つに記載のエンコーダ。
【0311】
D5.1つまたは複数のロケーションシンタックスエレメントが、タイルインデックスを表すシンタックスエレメントを備え、タイルインデックスが、両端値を含む0~N-1の範囲内の数であり、Nがピクチャ中のタイルの数を示し、タイルインデックスが現在の区分の右下タイルのロケーションを示す、実施形態D1からD4のいずれか1つに記載のエンコーダ方法。
【0312】
D6.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の右下タイルのロケーションのy座標を表す1つのシンタックスエレメントと、現在の区分の右下タイルのロケーションのx座標を表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、座標値から導出される、実施形態D1からD4のいずれか1つに記載のエンコーダ。
【0313】
D7.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の幅をタイルの数で表す1つのシンタックスエレメントと、現在の区分の高さをタイルの数で表す1つのシンタックスエレメントとを備え、現在の区分の右下ロケーションが、幅および高さシンタックスエレメントの値を、現在の区分の導出された左上ロケーションに加算することによって導出される、実施形態D1からD5のいずれか1つに記載のエンコーダ。
【0314】
D8.1つまたは複数のロケーションシンタックスエレメントが、現在の区分の右下隅とポイントBとの間の距離を指定する1つまたは複数のシンタックスエレメントを備え、ポイントBが、前にシグナリングされた矩形区分によって決定される、実施形態D1からD4のいずれか1つに記載のエンコーダ。
【0315】
D9.スタックデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される、実施形態D1からD8のいずれか1つに記載のエンコーダ。
【0316】
D10.アレイデータ構造が、ピクチャ中の矩形区分の位置を決定するために使用される、実施形態D1からD8のいずれか1つに記載のエンコーダ。
【0317】
D11.再帰的方法が、ピクチャを矩形区分に区分するために使用される、実施形態D1からD8のいずれか1つに記載のエンコーダ。
【0318】
D12.エンコーダは、サイズNのリストLを初期化することであって、リストLがN個のエントリを備え、リストL中の各エントリがピクチャ中のタイルに対応し、1つまたは複数のエントリは、L中のn番目のエントリがラスタ走査順序でピクチャ中のn番目のタイルに対応するように、ラスタ走査順序で配列され、リストL中のN個のエントリの各々は、対応するタイルが区分に属さないことを表す値に初期化される、サイズNのリストLを初期化することと、現在の区分の左上位置を導出することであって、現在の区分の左上位置を導出することは、対応するタイルが区分に属さないことを表す値をもつエントリが見つけられるまで、リストL中のエレメントにわたってforループを実行することを含む、現在の区分の左上位置を導出することと、導出された左上位置と右下ロケーションとを使用して、現在の区分中に含まれるタイルを識別することと、現在の区分に属するタイルに対応するリストL中のエントリが、対応するタイルが区分に属することを表す値にセットされるように、リストLを更新することとを行うようにさらに適応された、実施形態D5からD8のいずれか1つに記載のエンコーダ。
【0319】
D13.ピクチャ中の矩形区分iの右下隅の位置が、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである、実施形態D1からD12のいずれか1つに記載のエンコーダ。
【0320】
D14.ピクチャ中の矩形区分iの幅および高さが、走査順序で他の矩形区分jによって規定される矩形エリアに制限され、ここで、j<iである、実施形態D1からD13のいずれか1つに記載のエンコーダ。
【0321】
D15.ピクチャ中の矩形区分iの右下隅のアドレスまたはロケーションが、走査順序で他の矩形区分jによって規定されるアドレスのサブセットに制限され、ここで、j<iである、実施形態D1からD14のいずれか1つに記載のエンコーダ。
【0322】
D16.空間区分構造が、各矩形区分について右下隅とポイントBとの距離を指定する1つまたは複数のシンタックスエレメントによってシグナリングされ、ポイントBが固定される、実施形態D1からD7のいずれか1つに記載のエンコーダ。
【0323】
D17.現在の区分についてのサイズおよび/またはロケーションを導出することが、ピクチャ中のどのタイルが現在の区分に属するかを導出することを含む、実施形態D1からD16のいずれか1つに記載のエンコーダ。
【0324】
様々な実施形態が(もしあれば、添付の書類を含む)本明細書で説明されたが、それらの実施形態は、限定ではなく、例として提示されたにすぎないことを理解されたい。したがって、本開示の広さおよび範囲は、上記で説明された例示的な実施形態のいずれによっても限定されるべきでない。その上、本明細書で別段に指示されていない限り、またはコンテキストによって明確に否定されていない限り、上記で説明されたエレメントのそれらのすべての考えられる変形形態における任意の組合せが、本開示によって包含される。
【0325】
さらに、上記で説明され、図面に示されたプロセスは、ステップのシーケンスとして示されたが、これは、説明のためにのみ行われた。したがって、いくつかのステップが追加され得、いくつかのステップが省略され得、ステップの順序が並べ替えられ得、いくつかのステップが並行して実施され得ることが企図される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13A
図13B
図14A
図14B
図15A
図15B
図16
図17
図18