JP7285857B2 - リマインダをもつ均一なタイルスプリットを含むビデオコーディング - Google Patents

リマインダをもつ均一なタイルスプリットを含むビデオコーディング Download PDF

Info

Publication number
JP7285857B2
JP7285857B2 JP2020558583A JP2020558583A JP7285857B2 JP 7285857 B2 JP7285857 B2 JP 7285857B2 JP 2020558583 A JP2020558583 A JP 2020558583A JP 2020558583 A JP2020558583 A JP 2020558583A JP 7285857 B2 JP7285857 B2 JP 7285857B2
Authority
JP
Japan
Prior art keywords
segment
value
tile
picture
equal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020558583A
Other languages
English (en)
Other versions
JP2021524683A (ja
Inventor
ミトラ ダムガニアン,
マルティン ペッテション,
リキャルド ショバーリ,
Original Assignee
テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テレフオンアクチーボラゲット エルエム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Publication of JP2021524683A publication Critical patent/JP2021524683A/ja
Application granted granted Critical
Publication of JP7285857B2 publication Critical patent/JP7285857B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本開示は高効率ビデオコーディング(HEVC)およびバーサタイルビデオコーディング(VVC)に関する。
HEVCおよび次世代ビデオコーディング
高効率ビデオコーディング(HEVC)、別名H.265は、時間予測と空間予測の両方を利用する、ITU-TおよびMPEGによって標準化されたブロックベースのビデオコーデックである。空間予測は、現在ピクチャ内からのイントラ(I)予測を使用して達成される。時間予測は、前に復号された参照ピクチャからのブロックレベルのインター(P)予測または双方向インター(B)予測を使用して達成される。残差(residual)と呼ばれる、元のピクセルデータと予測ピクセルデータとの間の差は、周波数領域に変換され、量子化され、次いで、予測モードおよび動きベクトルなど、同じくエントロピーコーディングされる必要な予測パラメータと一緒に送信される前に、エントロピーコーディングされる。変換された残差を量子化することによって、ビデオのビットレートと品質との間のトレードオフが制御され得る。量子化のレベルは量子化パラメータ(QP)によって決定される。デコーダは、残差を取得するために、エントロピー復号、逆量子化、および逆方向変換(inverse transformation)を実行する。デコーダは、次いで、ピクチャを再構成するためにイントラ予測またはインター予測に残差を加算する。
MPEGおよびITU-Tは、ジョイントビデオエクスプロラトリーチーム(JVET)内でHEVCの後継に関する作業を行っている。開発中のこのビデオコーデックの名称はVCCである。
スライス
HEVCにおけるスライスの概念は、ピクチャを個々にコーディングされたスライスに分割し、ここで各スライスは、コーディングツリーユニット(CTU)のユニット中でラスタ走査順序で読み取られる。異なるコーディングタイプが同じピクチャのスライスのために使用され得、すなわち、スライスは、Iスライス、PスライスまたはBスライスのいずれかであり得る。スライスの主要な目的は、データ損失の場合に再同期を可能にすることである。
タイル
HEVCビデオコーディング規格は、ピクチャを矩形の空間的に独立した領域に分割する、タイルと呼ばれるツールを含む。タイルを使用すると、HEVCにおけるピクチャは、タイルが行と列との交差部である、サンプルの行と列とに区分され得る。HEVCにおけるタイルはCTU境界と常に整合させられる。
図1は、ピクチャについて合計20個のタイルを生じる、4つのタイル行と5つのタイル列とを使用するタイル区分の例を示す。
タイル構造は、行の厚さと列の幅とを指定することによってピクチャパラメータセット(PPS)中でシグナリングされる。個々の行および列は異なるサイズを有することができるが、区分は、それぞれ左から右におよび上部から下部に、常にピクチャ全体にわたって行われる。同じピクチャのタイル間の復号依存性はない。このことは、イントラ予測と、エントロピーコーディングのためのコンテキスト選択と、動きベクトル予測とを含む。1つの例外は、インループ(in-loop)フィルタ処理依存性が一般にタイル間で許容されることである。
HEVCにおけるタイル構造を指定するために使用されるPPSシンタックスは、以下の表1に記載されている。フラグ、たとえばtiles_enabled_flagは、タイルが使用されるか否かを示す。フラグが設定された場合、タイル列およびタイル行の数が指定される。uniform_spacing_flagは、列幅および行高さが明示的にシグナリングされるかどうか、またはタイル境界線を均等に離間させるための事前規定された方法が使用されるべきであるかどうかを指定するフラグである。明示的なシグナリングが示された場合、列幅は1つずつシグナリングされ、その後行高さが1つずつシグナリングされる。そのような列幅および行高さはCTUユニット中でシグナリングされる。loop_filter_across_tiles_enabled_flagフラグは、タイル境界を横断するインループフィルタが、ピクチャ中のすべてのタイル境界についてオンまたはオフにされるかどうかを指定する。
Figure 0007285857000001
HEVCにおけるタイル構造を指定するためのセマンティクスについて、以下でさらに詳細に説明する。
1に等しいtiles_enabled_flagは、PPSを参照する各ピクチャ中に2つ以上のタイルがあることを指定する。0に等しいtiles_enabled_flagは、PPSを参照する各ピクチャ中にただ1つのタイルがあることを指定する。
num_tile_columns_minus1+1は、ピクチャを区分するタイル列の数を指定する。num_tile_columns_minus1は、両端値を含む、0からPicWidthInCtbsY-1の範囲内であるとする。存在しないとき、num_tile_columns_minus1の値は0に等しいと推論される。
num_tile_rows_minus1+1は、ピクチャを区分するタイル行の数を指定する。num_tile_rows_minus1は、両端値を含む、0からPicHeightInCtbsY-1の範囲内であるとする。存在しないとき、num_tile_rows_minus1の値は0に等しいと推論される。
tiles_enabled_flagが1に等しいとき、num_tile_columns_minus1とnum_tile_rows_minus1の両方が0に等しくならないとする。
1に等しいuniform_spacing_flagは、タイル列境界、および同様にタイル行境界がピクチャにわたって均一に分配されることを指定する。0に等しいuniform_spacing_flagは、タイル列境界、および同様にタイル行境界がピクチャにわたって均一に分配されないが、シンタックス要素column_width_minus1[i]およびrow_height_minus1[i]を使用して明示的にシグナリングされることを指定する。存在しないとき、uniform_spacing_flagの値は1に等しいと推論される。
column_width_minus1[i]+1はCTBのユニット中のi番目のタイル列の幅を指定する。
row_height_minus1[i]+1はCTBのユニット中のi番目のタイル行の高さを指定する。
1に等しいloop_filter_across_tiles_enabled_flagは、インループフィルタ処理演算が、PPSを参照するピクチャ中のタイル境界を横断して実行され得ることを指定する。0に等しいloop_filter_across_tiles_enabled_flagは、インループフィルタ処理演算が、PPSを参照するピクチャ中のタイル境界を横断して実行されないことを指定する。インループフィルタ処理演算は、デブロッキングフィルタ演算と、サンプル適応オフセットフィルタ(sample adaptive offset filter)演算とを含む。存在しないとき、loop_filter_across_tiles_enabled_flagの値は1に等しいと推論される。
VVCは、HEVCの場合と同様に、旧来のスライスを使用しないことが予想される。代わりに、タイルは、VRストリーミングを含む、ビデオサービスからの空間ランダムアクセスの需要の増加により、VVCにおいてより大きい役割を果たすことが予想される。
タイルグループの概念は、最近のJVET会議において、現在のVVCドラフト中に含められることが承認された。タイルグループは、各タイルのオーバーヘッドを低減するように複数のタイルをグループ化するために使用される。
現在のVVCドラフトにおけるタイルグループは矩形であり、M×N個のタイルからなり得、ここで、Mは垂直方向のタイルの数であり、Nは水平方向のタイルの数である。
HEVCにおける均一なタイル区分
HEVCタイル区分では、すべてのタイル境界がCTUグリッドと整合させられる必要がある。そのことは、すべてのタイルが完全なCTUからなり、タイル中で許容される不完全なCTUのみが、ピクチャの右縁部または下縁部に位置するタイルであることを意味する。HEVCにおいて、1に等しいシンタックス要素uniform_spacing_flagは、タイル列境界、および同様にタイル行境界がピクチャにわたって均一に分配されることを指定する。しかしながら、この均一性はCTU細分性(granularity)によって制限される。HEVCにおいて、両端値を含む、0からnum_tile_columns_minus1にわたるiについてのリストcolWidth[i]は、コーディングツリーブロック(coding tree block)(CTB)のユニット中のi番目のタイル列の幅を指定し、以下の式(A)のように導出される。
Figure 0007285857000002
同様の式(B)は、タイル行の高さ(rowHeight[i])を決定するために使用される。
Figure 0007285857000003
フレキシブルタイルスプリッティング(flexible tile splitting)
JVET-K0155と、その後のJVET-L0359において導入されたフレキシブルタイルスプリッティングは、ピクチャを区分タイルにスプリットする機能を与え、ここで、各タイルの幅または高さは、CTUサイズよりも微細なユニットサイズの倍数である。フレキシブルタイルスプリッティングは、(ピクチャの右縁部および下縁部のみではなく)タイルごとの右縁部および下縁部における不完全なCTUの使用を許容する。図2A~図2Bは、タイルユニットサイズがCTUサイズの1/4である、JVET-L0359の場合と同様にフレキシブルタイルスプリッティングを使用する2×2タイルセグメンテーションについての例を与える。
図2A~図2Bでは、タイルは太い黒線によって示されており、CTUは薄い黒線によって示されている。図2Aは、ピクチャ中に20個のCTUがあるHEVC方法を示す。図2Bは、ピクチャ中に24個のCTUがあり、タイルユニットサイズが、破線グレー線によって示されている、CTUサイズの1/4に等しい、JVET-L0359における提案された方法を示す。
フレキシブルタイルスプリッティングは、負荷分散や、CTUサイズの倍数でないことが望ましいフェイスサイズをもつ360°ビデオなどの適用例のために有用であり得る。
本開示に関連がある、JVET-L0359からのシンタックスおよびセマンティクスを以下に記載し、ここで、イタリック体の部分は、L0359において提案された、追加されたテキストである。
Figure 0007285857000004
tile_unit_size_idcは、ルーマサンプル(luma sample)中のタイルユニットブロックのサイズを指定する。変数TileUnitSizeY、変数PicWidthInTileUnitsYおよび変数PicHeightInTileUnitsYは以下のように導出される。
Figure 0007285857000005
num_tile_columns_minus1+1は、タイルユニットブロックのユニット中のピクチャを区分するタイル列の数を指定する。num_tile_columns_minus1は、両端値を含む、0からPicWidthInTileUnitsY-1の範囲内とする。存在しないとき、num_tile_columns_minus1の値は0に等しいと推論される。
num_tile_rows_minus1+1は、タイルユニットブロックのユニット中のピクチャを区分するタイル行の数を指定する。num_tile_rows_minus1は、両端値を含む、0からPicHeightInTileUnitsY-1の範囲内とする。存在しないとき、num_tile_rows_minus1の値は0に等しいと推論される。
変数NumTilesInPicは以下のように導出される。
Figure 0007285857000006
両端値を含む、0からnum_tile_columns_minus1にわたるiについてのリストcolWidth[i]は、タイルユニットブロックのユニット中のi番目のタイル列の幅を指定し、以下のように導出される。
Figure 0007285857000007
両端値を含む、0からnum_tile_rows_minus1にわたるjについてのリストrowHeight[j]は、タイルユニットブロックのユニット中のj番目のタイル行の高さを指定し、以下のように導出される。
Figure 0007285857000008
両端値を含む、0からnum_tile_columns_minus1+1にわたるiについてのリストTileColX[i]は、ルーマサンプルのユニット中のi番目のタイル列の左上ルーマサンプルのXロケーションを指定し、以下のように導出される。
Figure 0007285857000009
両端値を含む、0からnum_tile_rows_minus1+1にわたるjについてのリストTileRowY[j]は、ルーマサンプルのユニット中のj番目のタイル行の左上ルーマサンプルのYロケーションを指定し、以下のように導出される。
Figure 0007285857000010
セグメントグループ、セグメントおよびユニット
次に、セグメントグループ、セグメント、およびユニットについて説明する。本開示におけるソリューションは、異なる種類のピクチャ区分方式に適用され得、HEVCおよびVVCドラフトから知られているタイルパーティションに限られないので、セグメントという用語は、タイルよりも一般的な用語として使用される。本開示において、タイルはセグメントの一実施形態であるが、セグメントの他の実施形態もあり得る。
図3は、ビデオストリームのピクチャ(10)と、ユニット(8)、セグメント(11)およびセグメントグループ(12)へのピクチャの例示的な区分とを示す。図3(a)は、64個のユニット(8)からなるピクチャ(10)を示す。図3(b)は、16個のセグメント(11)からなる、同じピクチャ(10)のセグメントパーティション構造(13)を示す。パーティション構造(13)は一点鎖線によって示されている。各セグメント(11)はいくつかのユニットからなる。セグメントは、整数個の完全なユニット、または完全なユニットと部分ユニットとの組合せのいずれかからなることができる。いくつかのセグメントがセグメントグループを形成する。図3(c)は、8個のセグメントグループからなる、同じピクチャ(10)のセグメントグループ区分を示す。セグメントグループはラスタ走査順序のセグメントからなり得る。代替的に、セグメントグループは、一緒に矩形を形成する、セグメントの任意のグループからなり得る。代替的に、セグメントグループはセグメントの任意のサブセットからなり得る。
図4は、一点鎖線が、ピクチャ(10)を4つのセグメントに分割するパーティション構造を示す、ピクチャ(10)を示す。図4はまた、3つのユニット(16、17、18)を示す。図に示されているように、2つのユニット(16、17)は1つの現在セグメント(15)に属し、1つのユニット(18)は異なる隣接セグメント(14)に属する。セグメントは他のセグメントに対して独立しており、そのことは、ユニットを復号するときに、セグメント境界がピクチャ境界と同様に処理されることを意味する。このことは、たとえば、イントラ予測モードの導出および量子化パラメータ値の導出など、復号中の要素の導出プロセスに影響を及ぼす。
イントラモードは、現在の技術においてよく知られており、サンプル予測のための現在ピクチャの前に復号されたサンプルからの予測のみを使用するユニットのために使用され、シグナリングされる。現在ユニット(16)におけるイントラ予測モードの導出は、他の隣接ユニット(17)における前に導出されたイントラ予測モードに依存することが一般的である。セグメントが独立しているので、現在ユニット(16)におけるイントラ予測モードの導出は、現在セグメント(15)に属するユニット(17)における前に導出されたイントラ予測モードのみに依存することがあり、異なるセグメント(14)に属するいかなるユニット(18)におけるいかなるイントラ予測モードにも依存することがない。
このことは、図4におけるパーティション構造が、異なるセグメント(14)中のユニット(18)におけるイントラ予測モードを、現在セグメント(15)中のユニット(16)のためのイントラ予測モードの導出のために利用不可能にすることを意味する。異なるセグメント中のあるユニット(18)と現在セグメント(15)中のユニット(16)とが同じセグメントに属していたのであれば、異なるセグメント中のあるユニット(18)におけるモードは、現在セグメント(15)中のユニット(16)におけるイントラ予測モードの導出のために多分に使用されていたであろうことに留意されたい。代わりに、セグメント境界は、現在セグメント(15)中のユニット(16)のためのピクチャ境界と同じ効果をイントラモード導出に対して有し得る。
本開示の文脈では、セグメントはタイルまたはスライスであり得、セグメントグループはタイルグループであり得る。本開示において、「タイル」と「セグメント」という用語は互換的に使用され得る。いくつかの実施形態では、ユニットはCTUと等価であり得る。
HEVC式(A)およびHEVC式(B)によると、タイル列幅(および行高さ)は
Figure 0007285857000011
の形態で2つの項を互いから減算することによって計算され、ここで、iは非負整数であり、kは、PicWidthInCtbsYに等しい分子と、num_tile_columns_minus1+1に等しい分母とをもつ有理数である。kが整数でないときの、そのような計算の出力は、kおよびiの値に応じて
Figure 0007285857000012
に等しくなり得る。この固有の特徴は、タイル列幅サイズおよびタイル行高さサイズに1個のCTUほど大きい変動を引き起こす。本開示の文脈では、そのような変動はタイルサイズリップル(tile size ripple)と呼ばれる(いくつかの例について以下の表2参照)。このリップルのパターンは一定でなく、kの値を与える、CTUにおけるピクチャの幅ならびにタイル列およびタイル行の数と、iによって決定されるタイルグリッド上のタイルの配置とに依存する。1に等しいuniform_spacing_flagをもつHEVCタイル区分を使用するタイル列幅におけるリップルのいくつかの例が表2に示されている。同じ例はタイル行高さにも適用され得る。
Figure 0007285857000013
表2は、1に等しいuniform_spacing_flagと、PicWidthInCtbsYおよびnum_tile_columns_minus1についての所与の値とをもつHEVCタイル区分を使用して計算されたタイル列幅を示す。colWidth[i]の値におけるリップルは可視である。
最後のタイルサイズにおけるこの不一致は、最後のタイルサイズ値を予測するために入力値およびコードの詳細を調査する必要があるので、望ましくない。リップル問題は水平方向と垂直方向の両方において起こり得る。このことは、詳細を検査することなしに、タイルグリッド中の特定のタイルの正しい水平サイズおよび垂直サイズを決定することをより困難にする。
別の問題は、タイルの均一な離間のためのHEVCの現在の実装において、ピクチャ中のタイルのいくつかの行または列が削除された場合、ピクチャの残っている一部の内側のタイル境界が新しいリップルパターンに応じて移動し得ることである。このことは、タイル抽出プロセスにおけるタイルサイズおよびアドレスを再計算することを必要とする。表500として図5に示された例は、uniform_spacing_flagが1に等しいとき、いくつかのタイルが元のピクチャから抽出された場合、HEVC均一タイル間隔(uniform tile spacing)においてタイル列境界、したがってタイルサイズがどのように変化し得るかを示す。元のピクチャ中のタイル境界と比較して、いくつかのタイル列を削除した場合に変化するタイル境界は太線で示されている。
図5における表500は、HEVC均一タイル間隔を使用するタイル境界を示す。内部タイル境界は、元のピクチャと、元のピクチャからいくつかのタイルを削除した後との間で変化する。元のピクチャについてのパラメータは以下のように設定されている。uniform_spacing_flag=1、PicWidthInCtbsY=10、num_tile_columns_minus1=3、num_tile_rows_minus1=1。
JVET-L0359は、(ピクチャの右縁部および下縁部のみではなく)タイルごとの右縁部および下縁部において不完全なCTUを使用する可能性を与えることによって、より微細なタイルユニットサイズ細分性を可能にする、フレキシブルタイルスプリッティングを提案する。図2は、タイルユニットサイズがCTUサイズの1/4であり、uniform_spacing_flagが1に等しい、JVET-L0359の場合と同様にフレキシブルタイルスプリッティングを使用する、2×2タイルセグメンテーションについての例を与える。
JVET-L0359において提案されているように、uniform_spacing_flagが1に等しい場合、タイル列の幅は以下の式を使用して決定される。
Figure 0007285857000014
同様の式が、タイル行の高さ(rowHeight[i])を決定するために使用される。
上記の実装形態は、JVET-L0359提案についてもリップル問題が存在することを示す。CTU細分性よりも微細な細分性をもつタイルサイズを規定する可能性がもたらされたことにより、ここで説明するように、一貫性のないタイルサイズのまた別のアーティファクトがもたらされる。L0359において提案されたアルゴリズムを使用すると、タイルユニットサイズが、たとえば1/2または1/4に変化したとき、タイル区分は、いくつかのピクチャ幅およびタイルユニットサイズ値について一貫したままではない。理由は、L0359における均一タイルスプリッティングについての提案された式は、異なるタイルユニットサイズを許容するが、タイルグリッド中のわずかにより大きいまたはより小さいタイルの構成を正則化しないことである。以下の表3は、ピクチャサイズが固定され、タイルユニットサイズが変更される、たとえば、L0359において提案されたフレキシブルタイルスプリッティングを使用して1/2または1/4に分割されるケースについてのいくつかの例を示す。最後のタイル列幅は、より大きいタイル幅がピクチャの左側にあるときもあり、ピクチャの右側にあるときもあるようなタイルユニットサイズの変更の結果として、反転する。この予測不可能性は望ましくない。
Figure 0007285857000015
表3は、uniform_spacing_flagが1に設定されたときに、L0359の場合と同様にフレキシブルタイルスプリッティングを使用して計算されたタイル列幅を示す。
タイルサイズに対する丸め効果の不一致を編成するためのルールにより、コードおよび入力値の詳細な調査の必要なしに、最後のタイルサイズを決定することが容易になると結論することができる。タイルサイズリップルを正則化するためのシステマティックな手法はまた、元のピクチャと、元のピクチャからのタイルのサブセットとについての一貫したタイル区分結果を与える。
別個の問題は、均一なタイルスプリットから生じるタイルのサイズが著しく変動し得ることである。図6に示された表600では、たとえば、HEVC均一タイル間隔のための元のピクチャ中のタイルは4つの異なるサイズを有し、最も小さいものは2×3CTUであり、最も大きいものは3×4CTUである。
分割の制限された細分性に応じて、セグメントサイズが厳密になることができないとき、好ましいオーダーをもつセグメントのサイズでリップルを正則化するソリューションが本明細書で提案されている。提案されたソリューションでは、丸め効果に応じて、わずかに小さいサイズまたはわずかに大きいサイズをもつタイルが好ましい構成を有する。一実施形態では、左から右の走査方向におけるタイル幅は同じにとどまるか、または減少するのみである。本明細書で開示する、提案されたソリューションは、タイルグリッド中のタイル列幅および/またはタイル行高さ、または個々のタイルの幅および高さに適用され得る。一実施形態では、(所与の細分性および丸め効果により)わずかに大きいサイズをもつタイルはピクチャの左上部に位置し、わずかに小さいサイズをもつタイルはピクチャの右下部に位置する。
代替ソリューションでは、得られたタイルサイズが可能な限り等しいサイズを有する、均一なタイルについての方法が本明細書で提案されている。
したがって、一態様では、ピクチャを復号するための方法が提供される。本方法は、ビットストリーム中の1つまたは複数のシンタックス要素に基づいて、ピクチャが2つ以上のセグメントに区分されるという情報を復号することを含む。本方法はまた、ビットストリーム中の1つまたは複数のシンタックス要素に基づいて、空間セグメンテーションが均一であるという情報を復号することを含む。本方法はまた、1つまたは複数のシンタックス要素に基づいて、または事前規定されたセグメントユニットサイズに基づいて、セグメントユニットサイズを決定することを含む。本方法はまた、ビットストリーム中の1つまたは複数のコードワードから、セグメント幅を示す第1の値を復号することを含む。本方法はまた、ビットストリーム中の1つまたは複数のコードワードから、セグメント高さを示す第2の値を復号することを含む。本方法はまた、セグメントユニットの数におけるピクチャ幅および第1の値に基づいてセグメント列幅を導出することを含む。本方法はまた、セグメントユニットの数におけるピクチャ高さおよび第2の値に基づいてセグメント行高さを導出することを含む。本方法はまた、導出されたセグメント列幅および導出されたセグメント行高さに基づいて、現在ブロックについての空間ロケーションを導出することを含む。本方法はまた、導出された空間ロケーションに基づいて現在ブロックを復号することを含む。
提案されたソリューションは、現在タイルの幅を前のタイルとは無関係に保つが、残っている数のタイルに区分されることになる(列または行における)残っている数のユニット上でのみである。結果として、タイルの均一な離間のための提案されたソリューションは、タイルが抽出された場合に、抽出されたおよび残っているタイルについてタイル区分をそのままに保つ。これにより、ピクチャスプリットまたはタイル抽出の場合にタイルサイズを再計算する必要がなくなる。タイルの均一な離間のためのHEVCの現在の実装では、ピクチャ中のタイルのいくつかの行または列が削除された場合、リップルパターンが変化することがあり、ピクチャの残っている一部の内側のタイル境界が新しいリップルパターンに応じて移動することがある。
一貫性は、提案されたソリューションの別の利点である。タイルの均一な離間のための提案されたソリューションは、入力パラメータまたはコードの詳細な調査なしに、タイルサイズ(たとえばタイル列幅およびタイル行高さ)を編成し、タイルサイズの最終構成についてのルールを与える。たとえば、提案されたソリューションの一実施形態では、タイルユニットにおけるピクチャ幅/高さがタイル列/行の数によって割り切れないとき、より大きいサイズに丸められたすべてのタイルはピクチャの左/上部に見つけられる。提案されたソリューションはまた、タイルユニットサイズの変更の場合、均一タイル間隔におけるタイルサイズのリップルを調整する。
提案された方法はまた、HEVC、およびJVET-L0359において提案されたフレキシブルタイルスプリットと比較して、複雑さを低減する。提案された方法は、乗算を有さず、タイル列の幅とタイル行の高さとを決定するための繰り返し当たり1回のみの除算を有するが、HEVC方法は、繰り返し当たり2回の乗算と2回の除算とを使用する。
代替ソリューションでは、得られたタイルサイズは可能な限り均一である。
本明細書に組み込まれ、本明細書の一部を形成する添付の図面は、様々な実施形態を示す。
一実施形態による、タイル区分の例を示す図である。 HEVCタイル区分を使用したタイルセグメンテーションを示す図である。 フレキシブルタイルスプリッティングを使用したタイルセグメンテーションを示す図である。 ビデオストリームのピクチャと、例示的な区分とを示す図である。 いくつかの実施形態による、ピクチャを示す図である。 いくつかの実施形態による、テーブルを示す図である。 いくつかの実施形態による、テーブルを示す図である。 一実施形態による、プロセスを示すフローチャートを示す図である。 一実施形態による、プロセスを示すフローチャートを示す図である。 一実施形態による、デコーダの機能ユニットを示すダイヤグラムである。 一実施形態による、エンコーダの機能ユニットを示すダイヤグラムである。 いくつかの実施形態による、ノードのブロック図である。 一実施形態による、ピクチャを示す図である。 一実施形態による、均一なタイル構造を示す図である。 一実施形態による、タイル構造を示す図である。 一実施形態による、プロセスを示すフローチャートを示す図である。 一実施形態による、デコーダの機能ユニットを示すダイヤグラムである。
実施形態について説明するために、以下の用語を使用した。
算術演算子「/」は、0に向かう結果の切り捨てがある、整数除算のために使用される。たとえば、7/4および-7/-4は切り捨てられて1になり、-7/4および7/-4は切り捨てられて-1になる。
算術演算子「÷」は、切り捨てまたは丸めが意図されない、数式における除算のために使用される。
Ceil(x)は、xよりも大きいかまたはそれに等しい、最も小さい整数を与える。
Floor(x)は、xよりも小さいかまたはそれに等しい、最も大きい整数を与える。
「タイル列幅」という用語と「タイル幅」という用語は互換的に使用され、そのことは、ソリューションが、タイル列幅がタイルグリッド中で計算されているとき、または(たとえばタイルグリッドがない場合)タイル幅が個々に計算されているときに適用され得ることを意味する。
「タイル行高さ」という用語と「タイル高さ」という用語は互換的に使用され、そのことは、ソリューションが、タイル行高さがタイルグリッド中で計算されているとき、または(たとえばタイルグリッドがない場合)タイル高さが個々に計算されているときに適用され得ることを意味する。
いくつかの実施形態によれば、uniform_spacing_flag=1についてのタイルの幅(および同等に高さ)を規定するための、本明細書で開示する、提案されたソリューションは以下の要素を有する。
- 各タイルの幅を規定するためのループにおいて、タイルの幅は、タイルにまだ割り振られていない行におけるユニットサイズの数を意味する、利用可能な残っているユニットサイズを使用して規定される。
- 残っているユニットサイズの数は、次いで、行における残っているタイルの数によって除算される。
- 得られたタイルサイズは、タイルの幅を整えるための所与のルールに従って、より大きいまたはより小さい整数(Ceil()関数またはFloor()関数)に向かって丸められる。
- 各タイルの幅を規定するためのループの繰り返しごとに、残っているユニットサイズ(たとえばCTU)の数を再計算するための随意の要素。
同じ要素は、タイルの高さを規定することに適用される。
本明細書で開示する、提案されたソリューションは、ビットストリームからのピクチャ10を復号するためのデコーダ方法について説明しており、本方法は、ビットストリームからのピクチャ中のすべてのセグメントについてのサイズおよび/またはロケーションを導出することを含み、ピクチャ10はいくつかのユニット8からなり、パーティション構造13は、ピクチャを少なくとも2つのセグメント11に区分し、デコーダは、ビットストリーム中の1つまたは複数のコードワードを復号することによって、空間セグメンテーションが均一であることを決定し、デコーダは、ビットストリーム中の1つまたは複数のコードワードを復号することによって、空間セグメントの数を決定し、デコーダはタイルユニットサイズを決定し、セグメントを均一な幅または高さに区分することは、空間セグメントの数とは無関係な固定のリップルパターンに従い、セグメントサイズの導出は、セグメントの数にわたるループ中で行われ、ループ内部で、セグメント化されるべき残っているタイルユニットの数と、残っているセグメントの数とが計算される。
一例では、提案されたソリューションは、以下のHEVCのライン
Figure 0007285857000016
を以下のラインと置き換える。
Figure 0007285857000017
提案された方法はまた、HEVC、およびJVET-L0359において提案されたフレキシブルタイルスプリットと比較して、複雑さを低減する。提案された方法は、乗算を有さず、タイル列の幅とタイル行の高さとを決定するための繰り返し当たり1回のみの除算を有するが、HEVC方法は、繰り返し当たり2回の乗算と2回の除算とを使用する。
実施形態1.単調リップル
一実施形態では、行中のセグメントの幅または列中のセグメントの高さは、事前規定された走査方向に従う昇順でも決してなく、降順でも決してない。セグメントはピクチャ中のタイルであり得、したがって、タイルサイズは走査方向において単調である(決して上昇もせず、決して下降もしない)。たとえば、タイル幅が左から右の走査方向において決して上昇しないことは、タイルの幅が、第1のタイルの左側に空間的に位置する同じ行上の別のタイルの幅よりも決して大きくならないことを意味する。
第1の実施形態では、HEVCの上の決して上昇しないタイル列幅(左から右への走査方向)およびタイル行高さ(上から下への走査方向)について、以下のHEVC関数
Figure 0007285857000018
は、以下の関数と置き換えられる。
Figure 0007285857000019
colWidthリストおよびrowHeightリスト中の得られた値はルーマコーディングツリーブロックの単位である。たとえば、CTUサイズが128×128に等しい場合、値は128個のルーマサンプルの単位であり、したがって、2の値は256個のルーマサンプルを意味する。
colWidthリストおよびrowHeightリストは、次いで、ピクチャ中のブロックの走査順序を決定するためにデコーダによって使用される。ブロックデータが復号されるとき、ブロックの空間位置はcolWidthリストおよびrowHeightリスト中の値に基づく。デコーダは、colWidthおよびrowHeightの値を使用して、タイル走査アドレスからラスタ走査アドレスへの変換リスト、およびその逆の変換リストを構築し得る。デコーダは、次いで、ブロックの空間位置を決定するために復号中に変換リストを使用し得る。HEVCでは、変換リストが使用され、CtbAddrRsToTsおよびCtbAddrTsToRsと呼ばれる。
図6は、HEVCのためのタイルサイズ割振りと第1の実施形態の上記の例示的な実装形態とを比較する表600を示す。表600に示されているように、提案されたソリューションでは、タイル列がピクチャの左側もしくは右側または両側から削除されたとき、タイル境界は元のピクチャと同じに保たれる。丸め効果は、タイル列幅を決定するために、タイルにわたるループの繰り返しごとに、Ceil()関数を使用し、残っているタイルユニットの数を再計算して、すべての場合において、ピクチャの左側にわずかに広いタイルを置くように定められる。
表600は、本明細書で提案されたソリューションにおいて内部タイル境界がそのままに保たれる間、HEVC均一タイル間隔を使用して元のピクチャからいくつかのタイル列を削除した後に内部タイル境界がどのように変化するかを示す。元のピクチャについてのパラメータは以下のように設定されている。uniform_spacing_flag=1、PicWidthInCtbsY=10、num_tile_columns_minus1=3、num_tile_rows_minus1=1。
以下は、CTUサイズよりも小さいタイルサイズ細分性をサポートする、JVET-L0359において提案された式の上に構築された、第1の実施形態の別の例である。以下の式変更はJVET-L0359の上に提案されており、
Figure 0007285857000020
タイル行高さについて同等に、以下の変更が提案されている。
Figure 0007285857000021
colWidthリストおよびrowHeightリスト中の得られた値はルーマタイルユニットの単位である。たとえば、タイルユニットサイズが32×32に等しい場合、値は32個のルーマサンプルの単位であり、したがって、2の値は64個のルーマサンプルを意味する。
表4は、異なるピクチャ幅値について、JVET-L0359と実施形態1における提案されたソリューションとの間でタイルの幅についての結果を比較している。JVET-L0359についての結果は、タイルユニットサイズが変化したときに、タイル列の幅(colWidth[i])の不一致を示すが、実施形態1における提案されたソリューションは、わずかに大きいタイルにピクチャの左側に置かれるように一貫して優先度を付けるので、その提案されたソリューションは、タイルユニットサイズが変化したときに、タイル列の一貫した幅(colWidth[i])を与える。
Figure 0007285857000022
表4は、第1の実施形態における提案されたソリューションと比較してJVET-L0359の場合と同様にフレキシブルタイルスプリッティングを使用して、uniform_spacing_flag=1、num_tile_columns_minus1=1のときに計算されたタイル列幅を示す。
第1の実施形態では、デコーダは以下のステップのすべてまたはサブセットを実行し得る。
1.ビットストリーム中の1つまたは複数のシンタックス要素から、1つまたは複数のピクチャが2つ以上のセグメントに区分されるという情報を復号する。シンタックスは、好ましくは、ピクチャパラメータセット中に位置する。シンタックスは、セグメント行の数を示す数Rと、セグメント列の数を示す数Cとを指定し得る。
2.ビットストリーム中の1つまたは複数のシンタックス要素から、空間セグメンテーションが均一であるという情報を復号する。シンタックスは、好ましくは、ピクチャパラメータセット中に位置する。シンタックスは、空間セグメンテーションが均一であるか否かを指定する1ビットフラグからなり得る。
3.1つまたは複数のシンタックス要素から、または事前規定されたセグメントユニットサイズを使用することによって、セグメントユニットサイズSを決定する。事前規定されたユニットサイズが使用される場合、事前規定されたユニットサイズは、CTUのサイズ、または1つの次元におけるCTUのサイズに等しくなり得る。たとえば、CTUサイズが128×128に等しい場合、セグメントユニットサイズSは128(または128×128)に等しくなり得る。
4.セグメントユニットの数におけるピクチャのサイズを計算する。計算は、水平サイズ(HS)が、セグメントユニットサイズSによって除算された、ルーマサンプル中のピクチャ幅に等しく設定されるように、ピクチャの高さと幅とについて別個に行われ得る。垂直サイズ(VS)は、セグメントユニットサイズによって除算された、ルーマサンプル中のピクチャ高さに等しく設定され得る。
5.ピクチャ中のセグメントの数およびセグメントユニットサイズSからすべてのセグメントの幅および高さを導出する。導出は、まだセグメント化されていないセグメントの数と、セグメントユニットの数におけるまだセグメント化されていないピクチャのサイズとがループの各繰り返しにおいて更新される、セグメントの数にわたるループ中で行われる。
導出は2つの別個のループ中で行われ得る。
a.以下のサブステップによって、タイルユニットの数におけるピクチャ幅およびセグメント列の数Cからセグメント列幅を導出する。
i.まだセグメント化されていないピクチャ幅(A)を値HSに等しく設定する。
ii.まだセグメント化されていないセグメント列の数(B)を値Cに等しく設定する。
iii.繰り返し当たり1つの幅値が導出され、まだセグメント化されていないセグメント列の数(B)とまだセグメント化されていないピクチャ幅(A)の両方が各繰り返し中に更新される、ループ中で列幅を導出する。繰り返しはC回実行され得る。
1.導出された列幅WはCeil(A÷B)に等しく設定され得る。
2.変数Aは、次いで、A-Wに更新され得、変数BはB-1に更新され得る。
b.以下のサブステップによって、タイルユニットの数におけるピクチャ高さおよびセグメント列の数Rからセグメント行高さを導出する。
i.まだセグメント化されていないピクチャ高さ(A)を値VSに等しく設定する。
ii.まだセグメント化されていないセグメント行の数(B)を値Rに等しく設定する。
iii.繰り返し当たり1つの高さ値が導出され、まだセグメント化されていないセグメント行の数(B)とまだセグメント化されていないピクチャ高さ(A)の両方が各繰り返し中に更新される、ループ中で行高さを導出する。繰り返しはR回実行され得る。
1.導出された行高さHはCeil(A÷B)に等しく設定され得る。
2.変数Aは、次いで、A-Hに更新され得、変数BはB-1に更新され得る。
6.導出されたセグメント幅および導出されたセグメント高さを使用して、現在ブロックについての空間ロケーションを導出する。
7.導出された空間ロケーションを使用して現在ブロックを復号する。現在ブロックのための復号されたサンプル値を、導出された空間ロケーションに対応するメモリ位置におけるメモリに記憶する。
この実施形態の変形態では、関数Ceil()は、水平方向のみもしくは垂直方向のみ、または両方の方向において関数Floor()によって置き換えられ得る。
この実施形態の変形態では、フラグは2つの関数Ceil()とFloor()との間で選定し得る。いくつかの実施形態では、水平方向および垂直方向のための2つの独立したフラグがあり得る。
実施形態2.指定された順序
第2の実施形態では、行中のセグメントの幅または列中のセグメントの高さは、指定された順序に従う。この指定された順序は、ビットのシーケンスの形態のテンプレートパターンを使用してビットストリーム中でシグナリングされ得る。セグメントはピクチャ中のタイルであり得、したがって、この実施形態では、タイルサイズに関する好ましいリップルの形状が指定される。たとえば、すべてのわずかに広いタイルはピクチャの左側にある。このことは、タイル幅(または高さ)を指定するためにタイルにわたるループの繰り返しごとにCeil()関数またはFloor()関数を指定する、ビットのシーケンスの形態で表現される、テンプレートパターンによって行われ得る。テンプレートビットシーケンス中で、関数Ceil()は1によって表され得、関数Floor()は0によって表され得る。例として、テンプレート110は、タイルサイズを指定するためのループの、最初の2つのタイル中でCeil()関数を指定し、第3の繰り返し中で関数Floor()を指定するであろう。タイルの数がテンプレートビットシーケンスの長さよりも大きい場合、パターンは周期的に繰り返され得る。
実施形態3.バイナリタイルスプリット(binary tile split)
第3の実施形態では、セグメント幅または高さの明示的な順序付けをもつバイナリセグメントスプリットがピクチャの幅または高さに適用される。セグメントはピクチャ中のタイルであり得、したがって、ピクチャを均一なタイルサイズをもつ2個のタイルに区分するために、バイナリ区分が使用される。(第2の実施形態の場合と同様の)事前規定されたリップルパターンが、この実施形態と組み合わせて使用され得る。バイナリ区分は、アルゴリズムが、指定された数のセグメントに到達するまで、または規定された数のステップまでのみ、階層的に継続し得、セグメント分割の残りは他の方法によって実行される。例として、合計サイズが第1のステップにおいて2によって除算され、そこで、より小さいまたはより大きいセグメントを左側または右側に割り当てるように指定される。後続のステップの各々において、左側セグメントと右側セグメントの各々は、次のバイナリ区分レベル、およびより小さいまたはより大きい可能性があるセグメントの位置についての指定されたルールを使用して、2つの部分に分割される。
実施形態4.リップルのデフォルト順序付け
第4の実施形態では、ピクチャの行中のセグメントの幅または列中のセグメントの高さは、セグメントの幅または高さのための指定されたデフォルト順序に従う。セグメントはピクチャ中のタイルであり得、したがって、セグメントサイズにおけるリップルを管理するためのデフォルトの好ましい順序付けが規定される。デフォルトリップルパターンはビットストリーム中でシグナリングされ得る。この実施形態の変形態では、デフォルトパターンは上書きされ得る。この実施形態の別の変形態では、フラグは、デフォルト順序付けが使用されているか、または別の指定された順序付けが使用されているかを指定することができる。
実施形態5.
第5の実施形態では、目的は、均一間隔方法を使用することによって、多くの大きい等しいサイズのタイルとして達成することである。
このことは、ビットストリーム中の1つまたは複数のコードワードからTileWidth値を復号することによって達成され得る。次いで、1つを除く、ピクチャ中のすべてのタイル列の幅値が、復号されたTileWidth値に等しく設定される。1つの残っているタイル列の幅値は、ピクチャ幅値-1つの残っているタイル列を除くすべてのタイル列の幅値の和に等しく設定される。1つの残っている列の幅値もTileWidth値に等しくなり得る。
代替的に、またはさらに、ビットストリーム中の1つまたは複数のコードワードからTileHeight値が復号される。次いで、1つを除く、ピクチャ中のすべてのタイル行の高さ値が、導出されたTileHeight値に等しく設定される。1つの残っているタイル行の高さ値は、ピクチャ高さ値-1つの残っているタイル行を除くすべてのタイル行の高さ値の和に等しく設定される。1つの残っている行の高さ値もTileHeight値に等しくなり得る。
この実施形態における方法では、たとえば、大部分のタイルが4×4CTUまたはタイルユニットのサイズである、図12に示されたピクチャ1200に示されているように、大部分のタイルが等しいサイズになる。
本実施形態は、HEVCv5またはドラフトVVC規格から以下のテキストを削除することによってHEVCv5または現在のVVCドラフト中に実装され得る。
Figure 0007285857000023
上記の削除されたテキストは、それぞれ、HEVCv5またはVVCドラフト規格において以下のテキストによって置き換えられる。
Figure 0007285857000024
tile_widthおよびtile_heightのためのシンタックスおよびセマンティクスは以下のように見え得る。
Figure 0007285857000025
シンタックスおよびセマンティクスについて以下でさらに詳細に説明する。
num_tile_columns_minus1+1は、ピクチャを区分するタイル列の数を指定する。num_tile_columns_minus1は、両端値を含む、0からPicWidthInCtbsY-1の範囲内とする。tiles_enabled_flagが0に等しいとき、num_tile_columns_minus1の値は0に等しいと推論される。さもなければ、uniform_spacing_flagが1に等しい場合、num_tile_columns_minus1の値は上記に示したように導出される。
num_tile_rows_minus1+1は、ピクチャを区分するタイル行の数を指定する。num_tile_rows_minus1は、両端値を含む、0からPicHeightInCtbsY-1の範囲内とする。tiles_enabled_flagが0に等しいとき、num_tile_rows_minus1の値は0に等しいと推論される。さもなければ、uniform_spacing_flagが1に等しい場合、num_tile_rows_minus1の値は上記に示したように導出される。
tiles_enabled_flagが1に等しいとき、num_tile_columns_minus1とnum_tile_rows_minus1の両方が0に等しくならないとする。
tile_widthは、最後のタイル列に属していないすべてのタイルの幅を指定する。tile_widthは、両端値を含む、1からPicWidthInCtbsY-1の範囲内とする。
tile_heightは、最後のタイル行に属していないすべてのタイルの高さを指定する。tile_heightは、両端値を含む、1からPicHeightInCtbsY-1の範囲内とする。
デコーダは、この実施形態のための以下のステップのすべてまたはサブセットを実行し得る。
1.ビットストリーム中の1つまたは複数のシンタックス要素から、1つまたは複数のピクチャが2つ以上のセグメントに区分されるという情報を復号する。シンタックスは、好ましくは、ピクチャパラメータセット中に位置する。
2.ビットストリーム中の1つまたは複数のシンタックス要素から、空間セグメンテーションが均一であるという情報を復号する。シンタックスは、好ましくは、ピクチャパラメータセット中に位置する。シンタックスは、空間セグメンテーションが均一であるか否かを指定する1ビットフラグからなり得る。
3.1つまたは複数のシンタックス要素から、または事前規定されたセグメントユニットサイズを使用することによって、セグメントユニットサイズSを決定する。事前規定されたユニットサイズが使用される場合、事前規定されたユニットサイズはコーディングツリーユニットに等しくなり得る。たとえば、CTUサイズが128×128に等しい場合、セグメントユニットサイズSは128(または128×128)に等しくなり得る。
4.セグメントユニットの数におけるピクチャのサイズを計算する。計算は、水平サイズHSが、ルーマサンプル中のピクチャ幅÷セグメントユニットサイズに等しく設定されるように、高さと幅とについて別個に行われ得る。垂直サイズVSは、ルーマサンプル中のピクチャ高さ÷セグメントユニットサイズに等しく設定され得る。
5.ビットストリーム中のコードワードから、S個のユニットにおけるタイル幅を表す値TileWidthを復号する。コードワードはUVLCコードワードであり得る。コードワードはタイル幅-1として復号され得、値TileWidthは、したがって、復号された値+1に等しく設定され得る。
6.ビットストリーム中のコードワードから、S個のユニットにおけるタイル高さを表す値TileHeightを復号する。コードワードはUVLCコードワードであり得る。コードワードはタイル高さ-1として復号され得、値TileWidthは、したがって、復号された値+1に等しく設定され得る。
7.タイルユニットの数におけるピクチャ幅からセグメント列幅を導出し、以下のサブステップによってTileWidth変数を導出する。
a.まだセグメント化されていないピクチャ幅(A)を値HSに等しく設定する。
b.変数iを値0に等しく設定する。
c.まだセグメント化されていないピクチャ幅(A)が値TileWidthよりも大きい限り、以下のサブステップを繰り返し実行する。
i.i番目のセグメント列の列幅をTileWidthに設定する。
ii.値Aから値TileWidthを減算する。
iii.変数iの値を1だけ増加させる。
d.i番目のセグメント列の列幅を値Aに設定する。
e.変数num_tile_columns_minus1を変数iの値に等しく設定するか、または代替的に、ピクチャ中のタイル列の数を表す変数を変数iの値+1に等しく設定する。
8.タイルユニットの数におけるピクチャ高さからセグメント行高さを導出し、以下のサブステップによってTileHeight変数を導出する。
a.まだセグメント化されていないピクチャ高さ(A)を値VSに等しく設定する。
b.変数iを値0に等しく設定する。
c.まだセグメント化されていないピクチャ高さ(A)が値TileHeightよりも大きい限り、以下のサブステップを繰り返し実行する。
i.i番目のセグメント行の行高さをTileHeightに設定する。
ii.値Aから値TileHeightを減算する。
iii.変数iの値を1だけ増加させる。
d.i番目のセグメント行の行高さを値Aに設定する。
e.変数num_tile_rows_minus1を変数iの値に等しく設定するか、または代替的に、ピクチャ中のタイル行の数を表す変数を変数iの値+1に等しく設定する。
9.導出されたセグメント幅および導出されたセグメント高さを使用して、現在ブロックについての空間ロケーションを導出する。
10.導出された空間ロケーションを使用して現在ブロックを復号する。現在ブロックのための復号されたサンプル値を、導出された空間ロケーションに対応するメモリ位置におけるメモリに記憶する。
実施形態6.
第6の実施形態では、均一なタイル区分のための複数の方法のうちの1つが使用され得る。一実施形態では、複数の方法のうちのどの方法を使用すべきかを示す1つまたは複数のシンタックス要素がある。1つまたは複数のシンタックス要素は、2つの方法のうちのどちらが使用されるかを指定するフラグであり得る。1つまたは複数のシンタックス要素は、ピクチャパラメータセットなど、パラメータセット中に存在し得るが、この実施形態はそのロケーションのみに制約されない。複数の方法のセットは、本明細書で開示する任意の方法、ならびにHEVCv5規格およびドラフトVVC規格に記載されている方法など、当技術分野で知られている方法を含み得る。
実施形態7.小さいものを左側または上部に
本開示において上記で説明した実施形態5~6では、タイルは、フルサイズのタイルがピクチャのタイル構造中の左側および上部に位置するように順序付けされている。
第7の実施形態では、タイルは、実施形態5~6の場合と反対の形で順序付けられる、すなわち、タイル幅リマインダ(remainder)は均一なタイル構造中の左端タイルの幅である、および/またはタイル高さリマインダは均一なタイル構造中の一番上のタイルの高さである。換言すると、フルサイズのタイルは右側および/または下部に位置し、タイル幅リマインダに等しい幅をもつ、および/またはタイル高さに等しい高さをもつ、より小さいサイズのタイルは、タイル構造中の左側および/または上部に位置する。このことは、896×640ピクセルであるピクチャ1300とともに図13に例示されている。実線はタイル境界線を表し、一点鎖線はCTU境界線を表す。各CTUは64×64ピクセルである。図13は、フルサイズのタイルが下部および右側にあり、より小さいタイルが左側および上部に位置する、均一なタイル構造の例を示す。
実施形態8.タイルグループ境界との整合
第8の実施形態では、タイルのサイズは、前述の実施形態のいずれかに従って順序付けされるが、各タイルグループが、タイル高さ/幅リマインダに等しいタイル幅/高さをもつタイルの行/列を含んでいることがある、タイルグループに、タイルがグループ化されることが追加される。
このことは図14に示されており、図14では、タイルグループが大きい点線を用いて表され、タイルが実線を用いて表され、CTUが一点鎖線を用いて表されている。すべてのタイルグループが、合計リマインダがCTUの数によって等しく分割可能であるかどうかに応じて、等しいタイル幅リマインダをもつタイルを有するとは限らないことに留意されたい。図14は、各タイルグループが、タイル幅/高さリマインダ値に等しい幅および/または高さをもつタイルを含んでいることがある、タイルグループをもつタイル構造の例を示す。
図14に示された例では、タイルグループ幅は5CTUであり、タイル幅は2CTUである。ピクチャの幅が14CTUであるので、ピクチャは、それぞれ5個のタイルと、5個のタイルと、4個のタイルとをもつ、水平方向における3つのタイルグループに分割される。2つの最初のタイルグループは、2CTUの2個のフルサイズのタイルと、1CTUのリマインダタイル幅をもつ1個のタイルとに水平方向に分割される。左端のタイルグループは2CTUによって等しく分割可能であり、したがって、リマインダタイル幅をもつタイルは必要とされない。また、より大きいタイルがより多くのCTUを含んでおり(たとえば水平方向に4個のタイル)、リマインダが3、3、2になる、すなわち、すべてのタイルグループが、タイル幅リマインダをもつタイルを有するが、タイル幅リマインダがすべてのタイルグループについて同じでない、シナリオがあり得る。
図15は、一実施形態による、プロセス1500を示すフローチャートである。プロセス1500は、ピクチャを復号するための方法である。1500方法は、ビットストリーム中の1つまたは複数のシンタックス要素に基づいて、ピクチャが2つ以上のセグメントに区分されるという情報を復号すること(ステップ1502)と、ビットストリーム中の1つまたは複数のシンタックス要素に基づいて、空間セグメンテーションが均一であるという情報を復号すること(ステップ1504)と、1つまたは複数のシンタックス要素に基づいて、または事前規定されたセグメントユニットサイズに基づいて、セグメントユニットサイズを決定すること(ステップ1506)と、ビットストリーム中の1つまたは複数のコードワードから、セグメント幅を示す第1の値を復号すること(ステップ1508)と、ビットストリーム中の1つまたは複数のコードワードから、セグメント高さを示す第2の値を復号すること(ステップ1510)と、セグメントユニットの数におけるピクチャ幅および第1の値に基づいてセグメント列幅を導出すること(ステップ1512)と、セグメントユニットの数におけるピクチャ高さおよび第2の値に基づいてセグメント行高さを導出すること(ステップ1514)と、導出されたセグメント列幅および導出されたセグメント高さに基づいて、現在ブロックについての空間ロケーションを導出すること(ステップ1516)と、導出された空間ロケーションに基づいて現在ブロックを復号すること(ステップ1518)とを含む。
いくつかの実施形態では、セグメント列幅を導出することは、1つの列を除く、ピクチャ中のすべてのセグメント列の列幅値を第1の値に等しく設定することと、1つの残っているセグメント列の列幅値を、ピクチャ幅-1つのセグメント列を除くすべてのセグメント列の幅値の和に等しく設定することとを含む。
いくつかの実施形態では、セグメント行高さを導出することは、1つの行を除く、ピクチャ中のすべてのセグメント行の行高さ値を第2の値に等しく設定することと、1つの残っているセグメント行の行高さ値を、ピクチャ高さ-1つのセグメント行を除くすべてのセグメント行の高さ値の和に等しく設定することとを含む。
いくつかの実施形態では、1つまたは複数のシンタックス要素はピクチャパラメータセット中に位置する。
いくつかの実施形態では、1つまたは複数のシンタックス要素は、空間セグメンテーションが均一であるかどうかを指定する1ビットフラグを含む。
いくつかの実施形態では、事前規定されたセグメントユニットサイズはコーディングツリーユニットに等しい。
いくつかの実施形態では、セグメント中のピクチャのサイズを計算することは、ピクチャセグメントのサイズを高さについて計算することと、ピクチャセグメントのサイズを幅について計算することとを含む。
いくつかの実施形態では、第1の値は、セグメントユニットにおけるタイル幅を表すTileWidth値であり、第2の値は、セグメントユニットにおけるタイル高さを表すTileHeightである。
図16は、いくつかの実施形態による、デコーダ1602の機能ユニットを示すダイヤグラムである。図16に示されているように、デコーダ1602は、ビットストリーム中の1つまたは複数のシンタックス要素に基づいて、ピクチャが2つ以上のセグメントに区分されるという情報を復号するための第1の復号ユニット1604と、ビットストリーム中の1つまたは複数のシンタックス要素に基づいて、空間セグメンテーションが均一であるという情報を復号するための第2の復号ユニット1606と、1つまたは複数のシンタックス要素に基づいて、または事前規定されたセグメントユニットサイズに基づいて、セグメントユニットサイズを決定するための決定ユニット1608と、ビットストリーム中の1つまたは複数のコードワードから、セグメント幅を示す第1の値を復号するための第3の復号ユニット1610と、ビットストリーム中の1つまたは複数のコードワードから、セグメント高さを示す第2の値を復号するための第4の復号ユニット1612と、セグメントユニットの数におけるピクチャ幅および第1の値に基づいてセグメント列幅を導出するための第1の導出ユニット1614と、セグメントユニットの数におけるピクチャ高さおよび第2の値に基づいて、セグメント行高さを導出するための第2の導出ユニット1616と、導出されたセグメント列幅および導出されたセグメント高さに基づいて、現在ブロックについての空間ロケーションを導出するための第3の導出ユニット1618と、導出された空間ロケーションに基づいて現在ブロックを復号するための第5の復号ユニット1620とを含む。
図7は、一実施形態による、プロセス700を示すフローチャートである。プロセス700は、ビットストリームから、いくつかのユニット(8)を含むピクチャ(10)を復号するための方法であり、ピクチャは、パーティション構造(13)によって、少なくとも2つの空間セグメント(11)に区分される。本方法は、ビットストリーム中の1つまたは複数のコードワードを復号すること(ステップ710)と、1つまたは複数のコードワードに基づいて、パーティション構造が均一であることを決定すること(ステップ720)と、1つまたは複数のコードワードに基づいて空間セグメントの数を決定すること(ステップ730)と、セグメントユニットサイズを決定すること(ステップ740)と、1つまたは複数のコードワードから、ピクチャ中のすべての空間セグメントについてのサイズおよび/またはロケーションを導出すること(ステップ750)とを含み、セグメントサイズおよび/またはロケーションの導出は、第1の次元または方向における空間セグメントの数にわたる第1のループを含み、セグメント化されるべき、第1の次元または方向における残っているセグメントユニットの数、および第1の次元における残っているセグメントの数は、第1のループ内で計算される。
いくつかの実施形態では、セグメントサイズおよび/またはロケーションの導出は、第1の次元または方向以外の第2の次元または方向における空間セグメントの数にわたる第2のループを含み、セグメント化されるべき、第2の次元または方向における残っているセグメントユニットの数、および第2の次元または方向における残っているセグメントの数は、第2のループ内で計算される。
いくつかの実施形態では、第1の次元または方向は水平の次元または方向であり、第2の次元または方向は垂直の次元または方向である。
いくつかの実施形態では、行中のセグメントの幅または列中のセグメントの高さは、指定された順序に従う。
いくつかの実施形態では、行中のセグメントの幅または列中のセグメントの高さは決して昇順でもなく、決して降順でもない。
いくつかの実施形態では、セグメント幅または高さの明示的な順序付けをもつバイナリセグメントスプリットがピクチャの幅または高さに適用される。
いくつかの実施形態では、ピクチャの行中のセグメントの幅または列中のセグメントの高さは、セグメントの幅または高さのための指定されたデフォルト順序に従う。
いくつかの実施形態では、セグメントユニットサイズはコーディングツリーユニット(CTU)のサイズに等しい。
いくつかの実施形態では、セグメントユニットサイズはコーディングツリーユニット(CTU)のサイズよりも小さい。いくつかの実施形態では、セグメントユニットサイズはCTUのサイズよりも大きい。いくつかの実施形態では、任意のセグメントがタイルである。
いくつかの実施形態では、サイズを導出することは、
A=PicWidthInTileUnits
B=NumberOfSegmentColumns
for(i=0;i<NumberOfSegmentColumns;i++){
Sizes[i]=Round(A÷B)
A=A-Sizes[i]
B=B-1

としてリストSizes[]を導出することを含み、
ここで、NumberOfSegmentColumnsはセグメント列の数であり、PicWidthInTileUnitsはタイルユニットにおけるピクチャの幅であり、Round()はFloor()関数またはCeil()関数のいずれかであり、÷は切り捨てまたは丸めなしの除算である。
いくつかの実施形態では、サイズを導出することは、
A=PicHeightInTileUnits
B=NumberOfSegmentRows
for(i=0;i<NumberOfSegmentRows;i++){
Sizes[i]=Round(A÷B)
A=A-Sizes[i]
B=B-1

としてリストSizes[]を導出することを含み、
ここで、NumberOfSegmentRowsはセグメント行の数であり、PicHeightInTileUnitsはタイルユニットにおけるピクチャの高さであり、Round()はFloor()関数またはCeil()関数のいずれかであり、÷は切り捨てまたは丸めなしの除算である。
いくつかの実施形態では、セグメント(11)は他のセグメント(11)に対して独立しており、したがって、現在セグメント(15)中の任意のユニット(16)のための任意のイントラ予測モードの導出は、現在セグメント(15)に属するユニット(17)における前に導出されたイントラ予測モードのみに依存し、異なるセグメント(14)に属するいかなるユニット(18)におけるいかなるイントラ予測モードにも依存しない。
いくつかの実施形態では、本方法は、空間セグメントの数とは無関係な固定のリップルパターンに従う、セグメントを均一な幅または高さに区分するさらなるステップを含む。
図8は、一実施形態による、プロセス800を示すフローチャートである。プロセス800は、いくつかのユニット(8)を含むピクチャ(10)をビットストリームに符号化するための方法であり、ピクチャは、均一なパーティション構造(13)によって少なくとも2つの空間セグメント(11)に区分される。本方法は、1つまたは複数のコードワードをビットストリームに符号化することによって、パーティション構造(13)が均一であるという情報を符号化すること(ステップ810)と、1つまたは複数のコードワードをビットストリームに符号化することによって空間セグメントの数を符号化すること(ステップ820)と、セグメントユニットサイズを決定すること(ステップ830)と、ピクチャ中のすべての空間セグメントについてのサイズおよび/またはロケーションを導出し、それらのサイズおよび/またはロケーションをビットストリームに符号化すること(ステップ840)とを含み、セグメントサイズの導出は、第1の次元または方向における空間セグメントの数にわたる第1のループを含み、セグメント化されるべき、第1の次元または方向における残っているセグメントユニットの数、および第1の次元または方向における残っているセグメントの数は、第1のループ内で計算される。
いくつかの実施形態では、セグメントサイズおよび/またはロケーションの導出は、第1の次元または方向以外の第2の次元または方向における空間セグメントの数にわたる第2のループを含み、セグメント化されるべき、第2の次元または方向における残っているセグメントユニットの数、および第2の次元または方向における残っているセグメントの数は、第2のループ内で計算される。
いくつかの実施形態では、第1の次元または方向は水平の次元または方向であり、第2の次元または方向は垂直の次元または方向である。
図9は、いくつかの実施形態による、デコーダ902の機能ユニットを示すダイヤグラムである。図9に示されているように、デコーダ902は、ビットストリーム中の1つまたは複数のコードワードを復号するための復号ユニット904と、1つまたは複数のコードワードに基づいて、パーティション構造が均一であることを決定するための第1の決定ユニット906と、1つまたは複数のコードワードに基づいて空間セグメントの数を決定するための第2の決定ユニット908と、セグメントユニットサイズを決定するための第3の決定ユニット910と、1つまたは複数のコードワードから、ピクチャ中のすべての空間セグメントについてのサイズおよび/またはロケーションを導出するための導出ユニット912とを含み、セグメントサイズおよび/またはロケーションの導出は、第1の次元における空間セグメントの数にわたる第1のループと、第2の次元における空間セグメントの数にわたる第2のループとを含み、セグメント化されるべき、第1の次元における残っているセグメントユニットの数、および第1の次元における残っているセグメントの数は、第1のループ内で計算され、セグメント化されるべき、第2の次元における残っているセグメントユニットの数、および第2の次元における残っているセグメントの数は、第2のループ内で計算される。
図10は、いくつかの実施形態による、エンコーダ1002の機能ユニットを示すダイヤグラムである。図10に示されているように、エンコーダ1002は、1つまたは複数のコードワードをビットストリームに符号化することによって、パーティション構造(13)が均一であるという情報を符号化するための第1の符号化ユニット1004と、1つまたは複数のコードワードをビットストリームに符号化することによって空間セグメントの数を符号化するための第2の符号化ユニット1006と、セグメントユニットサイズを決定するための決定ユニット1008と、ピクチャ中のすべての空間セグメントについてのサイズおよび/またはロケーションを導出し、それらのサイズおよび/またはロケーションをビットストリームに符号化するための導出ユニット1010とを含み、セグメントサイズの導出は、第1の次元における空間セグメントの数にわたる第1のループと、第2の次元における空間セグメントの数にわたる第2のループとを含み、セグメント化されるべき、第1の次元における残っているセグメントユニットの数、および第1の次元における残っているセグメントの数は、第1のループ内で計算され、セグメント化されるべき、第2の次元における残っているセグメントユニットの数、および第2の次元における残っているセグメントの数は、第2のループ内で計算される。
いくつかの実施形態では、エンコーダは、ピクチャをいくつかの均一な空間セグメントに分割することであって、各空間セグメントは少なくとも1つのユニットを含み、セグメントサイズの導出は、第1の次元における空間セグメントの数にわたる第1のループ、および第2の次元における空間セグメントの数にわたる第2のループ中で実行され、セグメント化されるべき、第1の次元における残っているセグメントユニットの数、および第1の次元における残っているセグメントの数は、第1のループ内で計算され、セグメント化されるべき、第2の次元における残っているセグメントユニットの数、および第2の次元における残っているセグメントの数は、第2のループ内で計算される、ピクチャをいくつかの均一な空間セグメントに分割することと、複数のコーディングされた空間セグメントを生成するためのパーティション構造に従って複数の空間セグメントを符号化することであって、各々のコーディングされた空間セグメントはパーティション構造の空間セグメントのうちの1つに対応し、各々のコーディングされた空間セグメントは独立しており、したがって、第1の空間セグメントの第1のユニットのための任意のイントラ予測モードの導出は、第1の空間セグメントの第2のユニットのための導出されたイントラ予測モードに依存し、パーティション構造の他の空間セグメントのユニットのためのいかなるイントラ予測モードとも無関係である、複数の空間セグメントを符号化することと、複数のコーディングされた空間セグメントと、ピクチャを複数の空間セグメントに分割するために使用される均一なパーティション構造を示す情報とを含むビットストリームを生成することとを行う、パーティション構造を規定するように設定される。
図11は、いくつかの実施形態による、デコーダ902、1602および/またはエンコーダ1002を実装するための装置1100のブロック図である。装置1100がデコーダを実装するとき、装置1100は「復号装置1100」と呼ばれることがあり、装置1100がエンコーダを実装するとき、装置1100は「符号化装置1100」と呼ばれることがある。図11に示されているように、装置1100(別名「ノード」)は、1つまたは複数のプロセッサ(P)1155(たとえば、汎用マイクロプロセッサ、および/または特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など、1つまたは複数の他のプロセッサ)を含み得る、処理回路(PC)1102と、装置1100が、ネットワークインターフェース1148が接続されたネットワーク1110(たとえばインターネットプロトコル(IP)ネットワーク)に接続された他のノードにデータを送信し、それらのノードからデータを受信することを可能にするための送信機(Tx)1145と受信機(Rx)1147とを含む、ネットワークインターフェース1148と、1つまたは複数の不揮発性記憶デバイスおよび/または1つまたは複数の揮発性記憶デバイスを含み得る、ローカルストレージユニット(別名、「データ記憶システム」)1108とを備え得る。PC1102がプログラマブルプロセッサを含む実施形態では、コンピュータプログラム製品(CPP)1141が提供され得る。CPP1141は、コンピュータ可読命令(CRI)1144を含むコンピュータプログラム(CP)1143を記憶するコンピュータ可読媒体(CRM)1142を含む。CRM1142は、磁気媒体(たとえばハードディスク)、光媒体、メモリデバイス(たとえば、ランダムアクセスメモリ、フラッシュメモリ)など、非一時的コンピュータ可読媒体であり得る。いくつかの実施形態では、コンピュータプログラム1143のCRI1144は、PC1102によって実行されたとき、CRIが装置1100に本明細書で説明されたステップ(たとえば、フローチャートを参照して本明細書で説明されたステップ)を実行させるように設定される。他の実施形態では、装置1100は、コードの必要なしに、本明細書で説明されるステップを実行するように設定され得る。すなわち、たとえば、PC1102は1つまたは複数のASICのみからなり得る。したがって、本明細書で説明された実施形態の特徴はハードウェアおよび/またはソフトウェアにおいて実装され得る。
様々な実施形態の概要
A1.ピクチャを復号するための方法であって、本方法は、ビットストリーム中の1つまたは複数のシンタックス要素に基づいて、ピクチャが2つ以上のセグメントに区分されるという情報を復号することと、ビットストリーム中の1つまたは複数のシンタックス要素に基づいて、空間セグメンテーションが均一であるという情報を復号することと、1つまたは複数のシンタックス要素に基づいて、または事前規定されたセグメントユニットサイズに基づいて、セグメントユニットサイズを決定することと、ビットストリーム中の1つまたは複数のコードワードから、セグメント幅を示す第1の値を復号することと、ビットストリーム中の1つまたは複数のコードワードから、セグメント高さを示す第2の値を復号することと、セグメントユニットの数におけるピクチャ幅および第1の値に基づいてセグメント列幅を導出することと、セグメントユニットの数におけるピクチャ高さおよび第2の値に基づいてセグメント行高さを導出することと、導出されたセグメント列幅および導出されたセグメント行高さに基づいて、現在ブロックについての空間ロケーションを導出することと、導出された空間ロケーションに基づいて現在ブロックを復号することとを含む、方法。
A2.セグメント列幅を導出することが、1つの列を除く、ピクチャ中のすべてのセグメント列の列幅値を第1の値に等しく設定することと、1つの残っているセグメント列の列幅値を、ピクチャ幅-1つのセグメント列を除くすべてのセグメント列の幅値の和に等しく設定することとを含む、実施形態A1に記載の方法。
A3.セグメント行高さを導出することが、1つの行を除く、ピクチャ中のすべてのセグメント行の行高さ値を第2の値に等しく設定することと、1つの残っているセグメント行の行高さ値を、ピクチャ高さ-1つのセグメント行を除くすべてのセグメント行の高さ値の和に等しく設定することとを含む、実施形態A1またはA2に記載の方法。
A4.1つまたは複数のシンタックス要素がピクチャパラメータセット中に位置する、実施形態A1からA3のいずれか1つに記載の方法。
A5.1つまたは複数のシンタックス要素は、空間セグメンテーションが均一であるかどうかを指定する1ビットフラグを含む、実施形態A1からA4のいずれか1つに記載の方法。
A6.セグメントユニットがコーディングツリーユニットまたはコーディングツリーブロックである、実施形態A1からA5のいずれか1つに記載の方法。
A7.セグメントユニットの数におけるピクチャのサイズを計算することをさらに含む、実施形態A1からA6のいずれか1つに記載の方法。
A8.セグメントユニットの数におけるピクチャのサイズを計算することが、ピクチャセグメントのサイズを高さについて計算することと、ピクチャセグメントのサイズを幅について計算することとを含む、実施形態A7に記載の方法。
A9.第1の値がセグメントユニットにおけるタイル幅を表し、第2の値がセグメントユニットにおけるタイル高さを表す、実施形態A1からA8のいずれか1つに記載の方法。
A10.ビットストリーム中の1つまたは複数のコードワードから第1の値を復号することが、ビットストリーム中の特定のコードワードの値を復号することと、復号された値に1を加算することとからなる、実施形態A1からA9のいずれか1つに記載の方法。
A11.セグメント列幅を導出することが、
変数(A)を残っている幅値に設定することと、
TileWidthが第1の値に等しい、(A-TileWidth)に等しい値がTileWidthよりも小さいかどうかを決定することと
を含む、実施形態A1からA10のいずれか1つに記載の方法。
A12.(A-TileWidth)の値が第1の値よりも小さくないことが決定された場合、
第1の列幅変数をTileWidthに等しく設定するステップと、
(A-(2×TileWidth))に等しい値がTileWidthよりも小さいかどうかを決定するステップと
を実行する、実施形態A11に記載の方法。
A13.値(A-TileWidth)がTileWidthよりも小さいかどうかを決定することが、
Aを(A-TileWidth)に等しく設定することと、
AをTileWidthと比較することと
を含む、実施形態A11またはA12に記載の方法。
A14.A-TileWidthがTileWidthよりも小さいことが決定された場合、第2の列幅変数をA-TileWidthに等しく設定することをさらに含む、実施形態A12またはA13に記載の方法。
A15.第2の列幅変数をA-TileWidthに等しく設定することは、A-TileWidthが0よりも大きい場合にのみ実行される、実施形態A14に記載の方法。
A16.ピクチャ中のタイル列の数を表す変数を変数iの値に等しくまたは変数iの値+1に等しく設定することであって、iは、値(A-((i-1)×TileWidth))がTileWidthよりも小さくないが、値(A-(i×TileWidth))がTileWidthよりも小さくなるような整数である、ピクチャ中のタイル列の数を表す変数を変数iの値に等しくまたは変数iの値+1に等しく設定することをさらに含む、実施形態A14またはA15に記載の方法。
A17.セグメント列幅を導出することが、
1)変数(A)を残っている幅値に設定することと、
2)変数(i)を初期値に設定することと、
3)TileWidthが第1の値に等しい、(A-(i×TileWidth))に等しい値がTileWidthよりも小さいかどうかを決定することと、
4)(A-(i×TileWidth))に等しい値がTileWidthよりも小さくないことが決定された場合、変数col_width[i]をTileWidthに等しく設定するステップと、iを増分するステップと、ステップ3)およびステップ4)を繰り返すステップとを実行することと
を含む、実施形態A1からA10のいずれか1つに記載の方法。
A18.(A-(i×TileWidth))に等しい値がTileWidthよりも小さいことが決定された後に、col_width[i]をAに等しく設定することと、iを増分することとを実行する、実施形態A17に記載の方法。
様々な実施形態について本明細書(もしあれば、付属書類を含む)で説明したが、それらの実施形態は限定ではなく、例としてのみ提示されていることを理解されたい。したがって、本開示の広さおよび範囲は、上記で説明した例示的な実施形態のいずれかによって限定されるべきでない。その上、上記で説明した要素のすべての可能な変形形態におけるそれらの要素の任意の組合せは、本明細書で別段に示されていない限り、またはさもなければ、文脈によって明らかに否定されない限り、本開示によって包含される。
さらに、上記で説明され、図面に示されたプロセスはステップのシーケンスとして示されているが、このことは例示のために行われたに過ぎない。したがって、いくつかのステップは追加され得、いくつかのステップは省略され得、ステップの順序は並べ替えられ得、いくつかのステップは並行して実行され得ることが企図される。

Claims (14)

  1. ピクチャ(10)を復号するための方法(1500)であって、前記方法は、
    ビットストリーム中の1つまたは複数のシンタックス要素に基づいて、前記ピクチャが2つ以上のセグメントに区分されるという情報を復号すること(1502)と、
    前記ビットストリーム中の前記1つまたは複数のシンタックス要素に基づいて、空間セグメンテーションが均一であるという情報を復号すること(1504)と、
    前記1つまたは複数のシンタックス要素に基づいて、または事前規定されたセグメントユニットサイズに基づいて、セグメントユニットサイズを決定すること(1506)と、
    前記ビットストリーム中の1つまたは複数のコードワードから、セグメント幅を示す第1の値を復号すること(1508)と、
    前記ビットストリーム中の前記1つまたは複数のコードワードから、セグメント高さを示す第2の値を復号すること(1510)と、
    グメントユニットの数におけるピクチャ幅および前記第1の値に基づいてセグメント列幅を導出すること(1512)であって、セグメント列幅を導出することが、
    1つの列を除く、前記ピクチャ中のすべてのセグメント列の列幅値を前記第1の値に等しく設定することと、
    前記1つの残っているセグメント列の列幅値を、前記ピクチャ幅マイナス前記1つのセグメント列を除くすべてのセグメント列の前記幅値の和に等しく設定することと
    前記セグメント列の数に基づいてタイル列の数を表す変数を設定することと、を含み、
    1つの列を除く、前記ピクチャ中のすべてのセグメント列の列幅値を前記第1の値に等しく設定することは、まだセグメント化されていないピクチャ幅を示す第1の変数値が前記第1の値より大きい間、各セグメント列の列幅値を前記第1の値に等しく設定し、前記まだセグメント化されていないピクチャ幅を示す第1の変数値から前記第1の値を減算する処理を繰り返すことを含む、
    ことと、
    グメントユニットの数におけるピクチャ高さおよび前記第2の値に基づいてセグメント行高さを導出すること(1514)であって、セグメント行高さを導出することが、
    1つの行を除く、前記ピクチャ中のすべてのセグメント行の行高さ値を前記第2の値に等しく設定することと、
    前記1つの残っているセグメント行の行高さ値を、前記ピクチャ高さマイナス前記1つのセグメント行を除くすべてのセグメント行の前記高さ値の和に等しく設定することと
    前記セグメント行の数に基づいてタイル行の数を表す変数を設定することと、を含み、
    1つの行を除く、前記ピクチャ中のすべてのセグメント行の行高さ値を前記第2の値に等しく設定することは、まだセグメント化されていないピクチャ高さを示す第2の変数値が前記第2の値より大きい間、各セグメント行の行高さ値を前記第2の値に等しく設定し、前記まだセグメント化されていないピクチャ高さを示す第2の変数値から前記第2の値を減算する処理を繰り返すことを含む、
    ことと、
    前記導出されたセグメント列幅および前記導出されたセグメント行高さに基づいて、現在ブロックについての空間ロケーションを導出すること(1516)と、
    前記導出された空間ロケーションに基づいて前記現在ブロックを復号すること(1518)と
    を含む、方法(1500)。
  2. 前記1つまたは複数のシンタックス要素がピクチャパラメータセット中に位置する、請求項1に記載の方法。
  3. 前記1つまたは複数のシンタックス要素は、前記空間セグメンテーションが均一であるかどうかを指定する1ビットフラグを含む、請求項1または2に記載の方法。
  4. セグメントユニットがコーディングツリーユニットまたはコーディングツリーブロックである、請求項1から3のいずれか一項に記載の方法。
  5. セグメントユニットの数における前記ピクチャのサイズを計算することをさらに含む、請求項1から4のいずれか一項に記載の方法。
  6. セグメントユニットの数における前記ピクチャの前記サイズを計算することが、前記ピクチャセグメントのサイズを高さについて計算することと、前記ピクチャセグメントのサイズを幅について計算することとを含む、請求項5に記載の方法。
  7. 前記第1の値がセグメントユニットにおけるタイル幅を表し、前記第2の値がセグメントユニットにおけるタイル高さを表す、請求項1から6のいずれか一項に記載の方法。
  8. 前記ビットストリーム中の1つまたは複数のコードワードから前記第1の値を復号することが、前記ビットストリーム中の特定のコードワードの値を復号することと、前記復号された値に1を加算することとからなる、および/または
    前記ビットストリーム中の1つまたは複数のコードワードから前記第2の値を復号することが、前記ビットストリーム中の第2の特定のコードワードの値を復号することと、前記復号された値に1を加算することとからなる、
    請求項1から7のいずれか一項に記載の方法。
  9. セグメント列幅を導出することが、(A-TileWidth)に等しい値をTileWidthと比較することを含み、TileWidthが前記第1の値に等しく、Aが残っている幅値に等しく、
    (A-TileWidth)の前記値がTileWidthよりも大きいことが決定された場合、
    セグメント列幅変数をTileWidthに等しく設定し、
    Aを(A-TileWidth)に等しく設定し、かつ/または
    セグメント行高さを導出することが、(A-TileHeight)に等しい値をTileHeightと比較することを含み、TileHeightが前記第2の値に等しく、Aが残っている高さ値に等しく、
    (A-TileHeight)の前記値がTileHeightよりも大きいことが決定された場合、
    セグメント行高さ変数をTileHeightに等しく設定し、
    Aを(A-TileHeight)に等しく設定する、
    請求項1から8のいずれか一項に記載の方法。
  10. 前記残っている幅値が前記ピクチャ幅に等しい、および/または
    前記残っている高さ値が前記ピクチャ高さに等しい、
    請求項9に記載の方法。
  11. 命令(1144)を含むコンピュータプログラム(1143)であって、前記命令(1144)が処理回路(1102)によって実行されたとき、前記処理回路(1102)に請求項1から10のいずれか一項に記載の方法を実行させる、コンピュータプログラム(1143)。
  12. 請求項11に記載のコンピュータプログラムを含んでいるコンピュータ可読記憶媒体(1142)。
  13. ピクチャ(10)を復号するための復号装置(1100)であって、前記復号装置(1100)は、請求項1から10のいずれか一項に記載の方法を実行するように設定された、復号装置(1100)。
  14. ピクチャ(10)を復号するための復号装置(1100)であって、前記復号装置(1100)は、
    コンピュータ可読記憶媒体(1142)と、
    前記コンピュータ可読記憶媒体に結合された処理回路(1102)であって、前記処理回路が、前記復号装置(1100)に請求項1から10のいずれか一項に記載の方法を実行させるように設定された、処理回路(1102)と
    を備える、復号装置(1100)。
JP2020558583A 2019-01-16 2020-01-16 リマインダをもつ均一なタイルスプリットを含むビデオコーディング Active JP7285857B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962793353P 2019-01-16 2019-01-16
US62/793,353 2019-01-16
PCT/SE2020/050037 WO2020149783A1 (en) 2019-01-16 2020-01-16 Video coding comprising uniform tile split with remainder

Publications (2)

Publication Number Publication Date
JP2021524683A JP2021524683A (ja) 2021-09-13
JP7285857B2 true JP7285857B2 (ja) 2023-06-02

Family

ID=71614583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020558583A Active JP7285857B2 (ja) 2019-01-16 2020-01-16 リマインダをもつ均一なタイルスプリットを含むビデオコーディング

Country Status (12)

Country Link
US (3) US11570435B2 (ja)
EP (1) EP3769522A4 (ja)
JP (1) JP7285857B2 (ja)
KR (1) KR102259186B1 (ja)
CN (1) CN112292856B (ja)
BR (1) BR112020022109A2 (ja)
CA (1) CA3104069C (ja)
CL (1) CL2020003142A1 (ja)
MX (1) MX2020011124A (ja)
PH (1) PH12020551793A1 (ja)
RU (1) RU2751552C1 (ja)
WO (1) WO2020149783A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022548220A (ja) * 2019-09-10 2022-11-17 エックスリス、コーポレーション 映像信号符号化/復号化方法及びそのための装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6561278B2 (en) * 2001-02-20 2003-05-13 Henry L. Restarick Methods and apparatus for interconnecting well tool assemblies in continuous tubing strings
JP5340091B2 (ja) * 2008-12-19 2013-11-13 キヤノン株式会社 画像符号化装置及びその制御方法
US10244239B2 (en) * 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
EP2533537A1 (en) * 2011-06-10 2012-12-12 Panasonic Corporation Transmission of picture size for image or video coding
JP5893346B2 (ja) * 2011-11-07 2016-03-23 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
TWI613907B (zh) * 2011-11-08 2018-02-01 三星電子股份有限公司 用於解碼視訊的方法
US9332259B2 (en) * 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
CA2868255C (en) 2012-04-13 2018-04-17 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
PT2842313T (pt) * 2012-04-13 2016-12-22 Ge Video Compression Llc Fluxo de dados escaláveis e entidade de rede
WO2014003676A1 (en) * 2012-06-29 2014-01-03 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and methods thereof for video processing
US9161039B2 (en) * 2012-09-24 2015-10-13 Qualcomm Incorporated Bitstream properties in video coding
WO2014057131A1 (en) * 2012-10-12 2014-04-17 Canon Kabushiki Kaisha Method and corresponding device for streaming video data
US9602829B2 (en) * 2012-12-06 2017-03-21 Sony Corporation Decoding device, decoding method, and program
CN116366835A (zh) * 2013-01-04 2023-06-30 Ge视频压缩有限责任公司 高效可伸缩编码概念
US9648335B2 (en) 2013-07-12 2017-05-09 Qualcomm Incorporated Bitstream restrictions on picture partitions across layers
WO2015083575A1 (ja) * 2013-12-06 2015-06-11 シャープ株式会社 画像復号装置、画像符号化装置、および、符号化データ変換装置
GB201322919D0 (en) 2013-12-23 2014-02-12 Agco Int Gmbh Brake arrangement
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
US10397666B2 (en) * 2014-06-27 2019-08-27 Koninklijke Kpn N.V. Determining a region of interest on the basis of a HEVC-tiled video stream
EP3313079B1 (en) * 2015-06-18 2021-09-01 LG Electronics Inc. Image filtering method in image coding system
JP6675475B2 (ja) 2015-08-20 2020-04-01 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ メディア・ストリームに基づくタイルド・ビデオの形成
US10743000B2 (en) * 2016-07-01 2020-08-11 Sk Telecom Co., Ltd. Video bitstream generation method and device for high-resolution video streaming
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
EP3531700B1 (en) * 2016-10-18 2022-04-06 Panasonic Intellectual Property Management Co., Ltd. Image coding method, transmission method and image coding device
JP2019021968A (ja) * 2017-07-11 2019-02-07 キヤノン株式会社 画像符号化装置及びその制御方法
WO2019047763A1 (en) * 2017-09-08 2019-03-14 Mediatek Inc. METHODS AND APPARATUSES FOR PROCESSING IMAGES IN AN IMAGE OR VIDEO ENCODING SYSTEM

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Damghanian M.,et al.,"AHG12:On uniform tile spacing"、Joint Video Experts Team(JVET) of ITU-T SG16/WP3 and ISO/IEC JTC1/SC29/WG11 14th Meeting:Marrakesh,MA,9-18 January 2019 Document:JVET-M0375-v1、米国、2019年1月3日発行
Fuldseth,A. et al., "Tiles", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting:Geneva.CH.16-23 March. 2011、Document:JCTVC-E408_r1(Version 2)、スイス、2011年3月31日発行

Also Published As

Publication number Publication date
JP2021524683A (ja) 2021-09-13
US20210152824A1 (en) 2021-05-20
KR20200130487A (ko) 2020-11-18
CA3104069A1 (en) 2020-07-23
CN112292856B (zh) 2023-10-27
MX2020011124A (es) 2021-01-29
US11265542B2 (en) 2022-03-01
EP3769522A1 (en) 2021-01-27
RU2751552C1 (ru) 2021-07-14
BR112020022109A2 (pt) 2021-07-27
CA3104069C (en) 2023-04-11
US11570435B2 (en) 2023-01-31
US20230239472A1 (en) 2023-07-27
CN112292856A (zh) 2021-01-29
KR102259186B1 (ko) 2021-06-01
CL2020003142A1 (es) 2021-04-30
US20210195190A1 (en) 2021-06-24
EP3769522A4 (en) 2021-01-27
PH12020551793A1 (en) 2021-06-14
WO2020149783A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
JP6931690B2 (ja) コンテンツをエンコードする方法及び計算装置
CN110720217B (zh) 用于支持各种块大小的图像编码或解码的设备和方法
CN117201819A (zh) 对视频数据进行编码或解码的方法和存储比特流的方法
US20230283774A1 (en) Uniform segment split
US11438614B2 (en) Encoding method and apparatus therefor, and decoding method and apparatus therefor
KR20200005648A (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN113545088A (zh) 用于帧内子分区编码模式的方法和设备
CN111279698B (zh) 图像编码的非对称划分装置和方法
US20230239472A1 (en) Uniform tile split with remainder
KR20180009048A (ko) 영상의 부호화/복호화 방법 및 이를 위한 장치
OA20342A (en) Video coding comprising uniform tile split with remainder.
CN110944174A (zh) 小尺寸块的变换选择

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210120

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220531

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220531

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220608

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220614

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20220805

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20220809

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220830

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20221025

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230301

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20230328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230523

R150 Certificate of patent or registration of utility model

Ref document number: 7285857

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150