JP2021528879A - ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング - Google Patents

ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング Download PDF

Info

Publication number
JP2021528879A
JP2021528879A JP2020558017A JP2020558017A JP2021528879A JP 2021528879 A JP2021528879 A JP 2021528879A JP 2020558017 A JP2020558017 A JP 2020558017A JP 2020558017 A JP2020558017 A JP 2020558017A JP 2021528879 A JP2021528879 A JP 2021528879A
Authority
JP
Japan
Prior art keywords
segment group
bitstream
segment
value
decoding
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.)
Granted
Application number
JP2020558017A
Other languages
English (en)
Other versions
JP7158497B2 (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 JP2021528879A publication Critical patent/JP2021528879A/ja
Priority to JP2022162914A priority Critical patent/JP2023024970A/ja
Application granted granted Critical
Publication of JP7158497B2 publication Critical patent/JP7158497B2/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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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/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
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

ビットストリームから画像をデコードするための方法が提供され、その画像は、複数のセグメントグループへと区分される。この方法は、セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するためにビットストリームの第1の部分をデコードすることと、ビットストリームの第2の部分をデコードすることとを含む。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をデコードすることは、第1のセグメントグループをデコードすることを含む。第1のセグメントグループをデコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値をデコードすることと、2)第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを決定することと、3)第1のセグメントグループアドレスに基づいて第1のセグメントグループに関する第1の空間ロケーションを決定することであって、第1の空間ロケーションが、画像内の第1のセグメントグループのロケーションを表す、第1の空間ロケーションを決定することと、4)第1のセグメントグループに関する少なくとも1つのサンプル値をデコードし、第1の空間ロケーションによって与えられたデコードされた画像におけるロケーションに少なくとも1つのサンプル値を割り振ることとを含む。
【選択図】図9

Description

ビデオエンコーディングおよびデコーディングに関連した実施形態が開示される。
高効率ビデオコーディング(HEVC)は、時間的なおよび空間的な予測の両方を利用するITU−TおよびMPEGによって標準化されているブロックベースのビデオコーデックである。エンコーダにおいて、最初のピクセルデータと、予測されたピクセルデータとの間における差(残差と呼ばれる)が、周波数ドメインへと変換され、量子化され、次いでエントロピーコーディングされ、その後に予測モードおよびモーションベクトルなどの必要な予測パラメータ(これらの予測パラメータもエントロピーコーディングされる)とともに送信される。変換された残差を量子化することによって、ビットレートと、ビデオの品質との間におけるトレードオフが制御されることが可能である。デコーダは、エントロピーデコーディング、逆量子化、および逆方向変換を実行して、残差を得て、次いでその残差を画面内または画面間予測に加えて、画像を再構築する。
MPEGおよびITU−Tは、共同ビデオ探索チーム(JVET)内で、HEVCに取って代わるものについて作業している。開発中のこのビデオコーデックの名前は、バーサタイルビデオコーディング(VVC)である。
ドラフトVVCビデオコーディング標準は、クワッドツリープラスバイナリーツリープラスターナリーツリーブロック構造(QTBT+TT)と呼ばれるブロック構造を使用しており、そこでは、それぞれの画像が最初に、コーディングツリーユニット(CTU)と呼ばれる正方形のブロックへと区分される。すべてのCTUのサイズは同じであり、区分は、それを制御するいかなるシンタックスも伴わずに行われる。それぞれのCTUは、正方形または長方形の形状を有することが可能であるコーディングユニット(CU)へとさらに区分される。CTUは、最初にクワッドツリー構造によって区分され、次いでバイナリー構造において、垂直にまたは水平に、等しいサイズのパーティションを用いてさらに区分されて、CUを形成することが可能である。ブロックは、このように正方形または長方形の形状を有することが可能である。クワッドツリーおよびバイナリーツリーの深さは、ビットストリームにおいてエンコーダによって設定されることが可能である。QTBTを使用してCTUを分割することの一例が、図1において示されている。この構造のターナリーツリー(TT)部分は、CUを2つの等しいサイズのパーティションの代わりに3つのパーティションへと分割する可能性を加え、これによって、画像におけるコンテンツ構造によりよくフィットするブロック構造を使用する可能性が高まる。
ドラフトVVCビデオコーディング標準は、画像を長方形の空間的に独立した領域へと分割するタイルと呼ばれるツールを含む。ドラフトVVCコーディング標準におけるタイルは、HEVCにおいて使用されるタイルに非常に似ている。タイルを使用すると、VVCにおける画像が、サンプルの行および列へと区分されることが可能であり、そこでは1つのタイルが、1つの行と1つの列との交わり部分である。図2は、画像に関して4つのタイル行および5つのタイル列、結果として合計で20個のタイルを使用するタイル区分の一例を示している。
タイル構造は、行の厚さおよび列の幅を指定することによって画像パラメータセット(PPS)においてシグナリングされる。個々の行および列は、別々のサイズを有することが可能であるが、区分は常に、左から右へ、および上から下へそれぞれ、画像全体にわたる。
ドラフトVVC標準においてタイル構造を指定するために使用されるPPSシンタックスが、テーブル1において列挙されている。最初に、タイルが使用されるか否かを示すsingle_tile_in_pic_flagというフラグがある。このフラグが0に等しく設定される場合には、タイル列およびタイル行の数が指定される。uniform_tile_spacing_flagは、列の幅および行の高さが明示的にシグナリングされるかどうか、またはタイル境界の間隔を均一にするための事前に規定された方法が使用されるべきであるかどうかを指定するフラグである。明示的なシグナリングが示される場合には、列の幅が、順に行の高さを伴ってシグナリングされる。最後に、loop_filter_across_tiles_enabled_flagは、タイル境界にわたるインループフィルタが画像におけるすべてのタイル境界に関してオンにされるかまたはオフにされるかを指定する。タイルシンタックスはまた、ローバイトシーケンスペイロード(RBSP)トレーリングビットを含む。
Figure 2021528879
同じ画像のタイルの間には、デコーディングの依存関係はない。これは、画面内予測、エントロピーコーディングのためのコンテキスト選択、およびモーションベクトル予測を含む。1つの例外は、インループフィルタリングの依存関係がタイル間において一般に認められているということである。
VVCにおけるコーディングされている画像のビットは、tile_group_layer_rbsp()というデータチャンクへと区分され、この場合、それぞれのそのようなチャンクは、それ自体のグループのネットワーク抽象化レイヤ(NAL)ユニット内に封入される。このデータチャンクは、タイルグループヘッダおよびタイルグループデータから構成され、タイルグループデータは、整数個のコーディングされている完全なタイルから構成される。テーブル2は、関連したドラフトVVC仕様標準シンタックスを示している。tile_group_header()およびtile_group()のデータシンタックスが、以降でさらに記述されている。
Figure 2021528879
タイルグループヘッダは、tile_group_pic_parameter_set_idというシンタックス要素で開始する。この要素は、タイルグループをデコードするためにアクティブ化されて使用されるべきである画像パラメータセット(PPS)を指定する(テーブル1を参照されたい)。タイルグループアドレスコードワードは、タイルグループにおける第1のタイルのタイルアドレスを指定する。そのアドレスは、0とn−1との間における数としてシグナリングされ、その場合、nは画像におけるタイルの数である。一例として図2を使用すると、存在するタイルの数は20に等しく、それによって、この画像に関する有効なタイルグループアドレス値は、0と19との間である。タイルアドレスは、タイルをラスタ走査順で指定し、図2の下部において示されている。デコーダが、このアドレス値をデコードし、アクティブなPPSからデコードされたタイル構造情報を使用することによって、デコーダは、画像における第1のタイルの空間座標を導出することが可能である。たとえば、図2におけるタイルがすべて、同じサイズの256×256のルマサンプルを有すると想定する場合には、8というタイルアドレスは、タイルグループにおける第1のタイルのy座標が、int(8/5)*256=1*256=256であり、x座標が、ルマサンプルにおける(8%5)*256=3*256=768であるということを意味する。
タイルグループヘッダにおける次のコードワード、num_tiles_in_tile_group_minus1は、タイルグループ内にあるタイルの数を指定する。タイルグループにおいて複数のタイルがある場合には、第1のタイルを除くタイルのエントリーポイントがシグナリングされる。最初に、オフセットのうちのそれぞれをシグナリングするために使用されるビットの数を指定するoffset_len_minus1というコードワードがある。次いで、エントリーポイントオフセットコードワードのリスト、entry_point_offset_minus1がある。これらは、それぞれのタイルを並行してデコードする目的でそれぞれのタイルの開始ポイントを見つけ出すためにデコーダによって使用されることが可能であるビットストリームにおけるバイトオフセットを指定する。これらのオフセットがなければ、デコーダは、ビットストリームにおいてそれぞれのタイルがどこで開始するかを見つけ出すためにタイルデータを解析しなければならないであろう。タイルグループにおける第1のタイルは、タイルグループヘッダのすぐ後に続き、したがって、そのタイルのために送られるバイトオフセットはない。これは、オフセットの数がタイルグループにおけるタイルの数よりも1少ないということを意味している。
Figure 2021528879
タイルグループデータは、タイルグループにおけるすべてのCTUを含む。最初に、タイルグループにおけるすべてのタイルにわたるforループがある。そのループの内側に、タイルにおけるすべてのCTUにわたるforループがある。別々のタイルにおけるCTUの数は異なる場合があるということに留意されたい。なぜなら、タイル行の高さおよびタイル列の幅は等しくなくてもよいからである。エントロピーコーディングの理由のために、それぞれのタイルの終わりに1に設定されたビットがある。それぞれのタイルは、バイトアラインメントを伴って終了し、これは、タイルグループにおけるそれぞれのタイルに関するデータが、ビットストリームにおける偶数バイトアドレス上で開始するということを意味する。これは、エントリーポイントがバイトの数で指定される上で必要である。タイルグループヘッダも、バイトアラインメントを伴って終了するということに留意されたい。
Figure 2021528879
タイルに関するヘッダオーバーヘッドは、シグナリングアドレス、タイルグループにおけるタイルの数、バイトアラインメント、およびそれぞれのタイルに関するエントリーポイントオフセットから構成される。ドラフトVVC標準においては、タイルが有効にされる場合には、タイルグループヘッダにエントリーポイントオフセットを含めることが必須である。
エントリーポイントオフセットはまた、タイルグループまたはタイルを出力ストリームへと再構成するためのそれらのタイルグループまたはタイルの抽出およびスティッチングを簡略化する。これは、タイルグループまたはタイルを時間的に独立させるためのいくらかのエンコーダ側の制約を必要とする。エンコーダの制約のうちの1つとして、モーションベクトルは、タイルグループまたはタイルに関する動き補償が、前の画像の空間的に同一場所に配置されている領域に含まれているサンプルを使用するだけであるように制限される必要がある。別の制約は、このプロセスが、同一場所に配置されていない領域から時間的に独立させられるように時間的動きベクトル予測(TMVP)を制限することである。完全な独立のためには、タイルグループまたはタイルの間におけるインループフィルタリングを無効にすることも必要とされる。
タイルは、ヘッドマウントディスプレイ(HMD)デバイスを使用した消費用に意図されている360度ビデオの抽出およびスティッチングのために使用される場合がある。今日のHMDデバイスを使用しているときの視界は、全範囲の約20%に限定され、それは、360度ビデオ全体の20%しかユーザによって消費されていないということを意味している。360度ビデオの範囲全体が、HMDデバイスにとって利用可能にされるということ、およびデバイスは次いで、ユーザのためにレンダリングされる部分を切り取るということが一般的である。その部分は、すなわち、その範囲のどの部分をユーザが見るかは、ビューポートと呼ばれる。リソースのよく知られている最適化は、頭の動きと、ユーザが見ている方向とをHMDデバイスビデオシステムに認識させることであり、それによって、ユーザに対してレンダリングされないビデオサンプルを処理する上で費やされるリソースが少なくなる。ここでのリソースは、サーバからクライアントへの帯域幅またはデバイスのデコーディング能力であることが可能である。現況技術よりも大きな視野を有する将来のHMDデバイスに関しては、不均一なリソース割り当てが、依然として有益であろう。なぜなら、人間の視覚システムは、中央の視覚エリア(約18°の水平ビュー)においては、より高いイメージ品質を需要し、その一方で周辺領域(快適な水平ビューに関しては、約120°以上)におけるイメージ品質上には、より低い需要を置くからである。
関心領域(ROI)に対してリソースを最適化することが、タイルに関する別の使用事例である。ROIが、コンテンツにおいて指定されること、またはアイトラッキングなどの方法によって抽出されることが可能である。
必要とされるリソースの量を低減するために頭の動きを使用する現況技術の一方法が、タイルを使用することである。これは、最初にビデオシーケンスを複数回にわたってエンコードすることによって行われることが可能であり、この場合、タイル区分構造は、すべてのエンコーディングにおいて同じである。エンコーディングは、別々のビデオ品質で行われ、その結果、少なくとも1つの高品質のエンコーディングおよび1つの低品質のエンコーディングがもたらされる。これは、特定の時点におけるそれぞれのタイルロケーションに関して、少なくとも1つの高品質のタイル表示および少なくとも1つの低品質のタイル表示があるということを意味している。高品質のタイルと低品質のタイルとの間における差は、高品質のタイルが、低品質のタイルよりも高いビットレートでエンコードされているということ、または高品質のタイルが、低品質のタイルよりも高い解像度のものであるということであり得る。
図3は、高品質のタイルを有する1つのストリーム302、および低品質のタイルを有する別のストリーム304へのビデオのエンコーディングの一例を示している。ここでは、それぞれのタイルが自分自身のタイルグループに置かれていると想定する。タイルは、VVCドラフトにおいては、ラスタ走査順に番号付けられ、それは、ここでは白色のテキストを使用して示されている。これらのタイル番号は、タイルグループアドレスとして使用される。どこをユーザが見ているかに応じて、クライアントは、別々の品質のタイルを要求し、それによって、ユーザが見ている場所に対応するタイルは、高い品質で受信され、ユーザが見ていないタイルは、低い品質で受信される。クライアントは次いで、ビットストリームドメインにおいてタイルをスティッチし、出力ビットストリームをビデオデコーダへフィードする。たとえば、図3は、スティッチング後の出力ストリーム306を示しており、そこでは、タイル列310および316(外側の2つの列)が、低い品質のストリーム304からのタイルで構成されており、またそこでは、タイル列312および316(内側の2つの列)が、高い品質のストリーム302からのタイルで構成されている。出力画像の幅は、入力よりも小さいということに留意されたい。その理由は、ユーザが見ている場所の後ろのエリアに関してはタイルがまったく要求されないとここでは想定していることである。
スティッチングは、出力ビットストリームがビットストリーム仕様(将来発行されるVVC仕様など)に準拠しているように行われることが重要であり、それによって、いかなる標準に準拠しているデコーダも、いかなる修正も伴わずに、出力ストリームをデコードするために使用されることが可能である。図3において示されているスティッチングの例がVVCドラフト仕様に準拠しているためには、タイルグループアドレス(タイルグループヘッダにおけるtile_group_addressというコードワード)が、スティッチャーによって更新される必要がある。たとえば、出力画像における右下のタイルグループに関するタイルグループアドレスは、15に等しく設定されなければならず、その一方で、入力された低品質のストリームおよび高品質のストリームにおけるそのタイルに関するタイルグループアドレスは、19に等しい。
たとえばタイルのスティッチングを改善するために、ビデオをエンコードおよびデコードすることを改善する実施形態が提供されている。本開示はまた、セグメントグループ、セグメント、およびユニットという用語を導入している。本明細書において使用される際には、セグメントという用語は、タイル(VVCドラフトにおいて使用されているもの)よりも一般的な用語であり、実施形態は、HEVCおよびVVCドラフトから知られているタイルパーティションだけでなく、さまざまな種類の画像区分スキームに適用可能であるということに留意されたい。本明細書において使用される際には、これらのドラフトからの「タイル」は、セグメントの一例であるが、セグメントのその他の例もあり得る。
図4において示されているように、ビデオストリームの単一の画像402が、さまざまな方法で区分される。たとえば、画像402は、ユニット410、セグメント412、およびセグメントグループ414へと区分される。示されているように、画像402は、64個のユニット410(図4の上部)、16個のセグメント412(図4の中部)、および8個のセグメントグループ414(図4の下部)を含む。示されているように、画像402のパーティション構造413(破線によって示されている)が、セグメント412を規定している。それぞれのセグメント412は、複数のユニット410を含む。1つのセグメント412は、整数個の完全なユニット、または完全なユニットと部分的なユニットとの組合せを含むことが可能である。複数のセグメント412が、1つのセグメントグループ414を形成している。セグメントグループは、セグメントをラスタ走査順に含むことが可能である。あるいは、セグメントグループは、ともに長方形を形成するセグメントの任意のグループを含むことが可能である。あるいは、セグメントグループは、セグメントの任意のサブセットから構成されることが可能である。
図5において示されているように、画像402が、パーティション構造(破線で示されている)によって複数のセグメントへと区分されることが可能であり、ここでは、セグメント502および504を含めて、示されている4つのセグメントがある。図5はまた、3つのユニット510、512、および514を示しており、これらのユニットのうちの2つ(512および514)は、現在のセグメント504に属しており、それらのユニットのうちの1つ(510)は、異なる隣のセグメント502に属している。それらのセグメントは、その他のセグメントに対して独立しており、これは、ユニットをデコードする際にセグメント境界が画像境界と同様に取り扱われるということを意味している。これは、たとえば、画面内予測モードの導出、および量子化パラメータ値の導出など、デコーディング中の要素の導出プロセスに影響を与える。
画面内予測モードは、現在の当技術分野においてよく知られており、サンプル予測のために現在の画像の以前にデコードされたサンプルからの予測を使用するだけであるユニットのために使用されシグナリングされる。現在のユニット512における画面内予測モードの導出は、その他の隣のユニット514における以前に導出された画面内予測モードに依存するということが一般的である。セグメントが独立していることに伴って、現在のユニット512における画面内予測モードの導出は、現在のセグメント504に属しているユニット514における以前に導出された画面内予測モードに依存するだけであることが可能であり、異なるセグメント502に属しているいずれのユニット510におけるいずれの画面内予測モードにも依存しないことが可能である。
これは、図5におけるパーティション構造が、異なるセグメント502におけるユニット510における画面内予測モードを、現在のセグメント504におけるユニット512に関する画面内予測モードの導出のために利用できなくするということを意味している。したがってセグメント境界は、現在のセグメント504におけるユニット512に関する画像境界と同じ効果を画面内予測モードの導出上に及ぼすことが可能である。異なるセグメント502におけるいくつかのユニット510におけるモードは、現在のセグメント504におけるユニット512における画面内予測モードの導出のために使用されていた可能性が当然ある(それらのユニットが、同じセグメントに属していたであろう場合)ということに留意されたい。
本明細書において使用される際には、セグメントは、(いくつかのケースにおいては)タイルまたはスライスと同等であることが可能であり、これらの用語はしたがって、言い換え可能に使用されることが可能である。同様に、セグメントグループは、(いくつかのケースにおいては)タイルグループと同等であることが可能であり、ユニットは、(いくつかのケースにおいては)CTUと同等であることが可能である。
上で説明されているように、プロセスは、入力として1つまたは複数のビットストリームを取り、それらの1つまたは複数の入力ビットストリームからタイルを選択することによって出力ビットストリームを生成することを希望する場合があり、そのようなプロセスは、スティッチングプロセスと呼ばれる場合がある。既存のビデオエンコーディングおよびデコーディングソリューションに伴う問題は、将来発行されるVVC仕様などのビットストリーム仕様に準拠している出力ビットストリームを生成するためにタイルグループレイヤのデータがスティッチングプロセスによって修正されることを必要とされる場合があるということである。これは、スティッチングを高度に計算の面で複雑にする。なぜなら、書き直されなければならない毎秒のパケットの数が、非常に多くなる可能性があるからである。たとえば、60フレーム/秒(fps)のフレームレートを考えていただきたい。この場合、それぞれの画像は、16個のタイルグループを含む。それぞれのタイルが自分自身のパケットに置かれている場合には、毎秒960(=60*16)個のパケットが書き直されることを必要とする場合がある。
既存のビデオエンコーディングおよびデコーディングソリューションに伴う別の問題は、ビットストリームのタイルグループレイヤ部分を修正することを伴わないビットストリームにおけるタイルの抽出、スティッチング、および/またはリロケーションが可能ではないということである。
実施形態は、現在のタイルアドレスシグナリングをタイルグループヘッダにおけるインデックス値によって置き換えることによって、およびそのようなインデックス値の間におけるマッピングをタイルアドレスに伝達することによって、これらおよびその他の問題を克服する。このマッピングは、たとえばPPSなどのパラメータセットにおいて、伝達されることが可能である。エンコーディング中にスティッチングを念頭においてインデックス値が設定される場合には、それらのインデックス値は、スティッチング中に現状のまま保たれることが可能である(たとえば、異なる品質のものなどのバージョンをエンコードする際に、エンコーダは、インデックス値が別々のバージョンにわたって一意であるという条件を強制することが可能である)。次いでパラメータセットにおけるタイルアドレスへのインデックス値のマッピングを修正するだけで、タイルグループアドレスの変更が行われることが可能である。
ビットストリームのタイルグループレイヤ部分を修正することを伴わないビットストリームにおけるタイルの抽出、スティッチング、および/またはリロケーションを容易にするために、実施形態は、インデックス値と、パラメータセットにおけるタイルグループにおけるタイルの数との間におけるマッピングを提供し、この場合、インデックスは、タイルグループヘッダにおいて送られる。
実施形態の利点は、タイルグループヘッダが現状のまま保たれる一方でパラメータセットのみを書き直すことによってスティッチングが実行されることを可能にすることを含む。上記の60fpsの例を取り上げ、パラメータセットがビットストリームにおいて毎秒1回パケットとして送られると想定した場合には、実施形態は、毎秒961個のパケットの代わりに毎秒最大で1つのパケットを書き直すことを必要とするであろう。したがって、スティッチングの計算上の複雑さは、著しく低減される。
第1の態様によれば、ビットストリームから画像をデコードするための方法が提供され、その画像は、複数のセグメントグループへと区分される。この方法は、セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するためにビットストリームの第1の部分をデコードすることと、ビットストリームの第2の部分をデコードすることとを含む。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をデコードすることは、第1のセグメントグループをデコードすることを含む。第1のセグメントグループをデコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値をデコードすることと、2)第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを決定することと、3)第1のセグメントグループアドレスに基づいて第1のセグメントグループに関する第1の空間ロケーションを決定することであって、第1の空間ロケーションが、画像内の第1のセグメントグループのロケーションを表す、第1の空間ロケーションを決定することと、4)第1のセグメントグループに関する少なくとも1つのサンプル値をデコードし、第1の空間ロケーションによって与えられたデコードされた画像におけるロケーションに少なくとも1つのサンプル値を割り振ることとを含む。
いくつかの実施形態においては、アドレスマッピングは、配列および/またはリスト、配列および/またはリストの並行セット、ハッシュマップ、ならびに連想配列のうちの1つまたは複数を含む。実施形態においては、アドレスマッピングを形成するためにビットストリームの第1の部分をデコードすることは、リスト値の数を示す第1の値をビットストリームからデコードすることと、リスト値の数をビットストリームからデコードすることによってリストを形成することであって、リスト値の数が第1の値に等しい、リストを形成することとを含む。実施形態においては、第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを決定することは、第1のセグメントグループインデックス値を使用してルックアップ演算を実行することを含む。
いくつかの実施形態においては、アドレスマッピングを形成するためにビットストリームの第1の部分をデコードすることは、リスト値の数を示す第1の値をビットストリームからデコードすることと、キー/値ペアkおよびvを表す値の数をビットストリームからデコードすることによって第1のリスト(KEY)および第2のリスト(VALUE)を形成することであって、キー/値ペアの数が、第1の値に等しい、第1のリスト(KEY)および第2のリスト(VALUE)を形成することとを含む。第1のリストは、キーkを含み、第2のリストは、キー/値ペアの値vを含み、第1のリストおよび第2のリストの順序付けが、所与のキー/値ペアに関して、第1のリストにおける所与のキーkに関するインデックスが第2のリストにおける所与の値vに関するインデックスに対応するようになる。実施形態においては、アドレスマッピングを形成するためにビットストリームの第1の部分をデコードすることは、ハッシュ値の数を示す第1の値をビットストリームからデコードすることと、キー/値ペアkおよびvを表す値の数をビットストリームからデコードすることによってハッシュマップを形成することであって、キー/値ペアの数が、第1の値に等しく、所与のキー/値ペアに関して、所与のキーkに関するインデックスが、ハッシュマップによって所与の値vにマップされる、ハッシュマップを形成することとを含む。
いくつかの実施形態においては、第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを決定することは、インデックス(i)を、第1のリストにおけるそのインデックスに対応する値(KEY[i])が第1のセグメントグループインデックス値にマッチするように決定することと、第1のセグメントグループアドレスが、第2のリストにおけるそのインデックスに対応する値(VALUE[i])であると決定することとを含む。いくつかの実施形態においては、第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを決定することは、第1のセグメントグループインデックス値を使用してハッシュルックアップ演算を実行することを含む。いくつかの実施形態においては、デコードされるキー/値ペアkおよびvを表す値は、キーkを表すデルタ値を含み、それによって、第1のキー/値ペアに関して、キーkはデルタ値によって決定され、その他のキー/値ペアに関して、キーkは、以前に決定されたキー値にデルタ値を加えて現在のキーkを生成することによって決定される。
いくつかの実施形態においては、セグメントグループは、タイルグループ、サブピクチャー、および/またはスライスに対応する。いくつかの実施形態においては、セグメントグループは、1つまたは複数のセグメントを含み、いくつかの実施形態においては、セグメントグループは、1つのセグメントのみを含む。
実施形態においては、セグメントグループは、タイルグループに対応する。実施形態においては、ビットストリームの第1の部分は、パラメータセットに含まれ、この方法はさらに、さらなるセグメントグループをデコードすることを含み、アドレスマッピングは、さらなるセグメントグループをデコードするために使用される。実施形態においては、ビットストリームの第1の部分は、パラメータセットに含まれ、この方法はさらに、さらなる画像をデコードすることを含み、アドレスマッピングは、さらなる画像をデコードするために使用される。
第2の態様によれば、ビットストリームから画像をデコードするための方法が提供され、その画像は、複数のセグメントグループへと区分される。この方法は、セグメントグループインデックス値を、第1のセグメントグループに関してデコードされることになるセグメントの数にマップする、サイズマッピングを形成するためにビットストリームの第1の部分をデコードすることと、ビットストリームの第2の部分をデコードすることとを含む。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をデコードすることは、第1のセグメントグループをデコードすることを含む。第1のセグメントグループをデコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値をデコードすることと、2)第1のセグメントグループインデックス値およびサイズマッピングに基づいて第1のセグメントグループに関する第1のサイズを決定することと、3)デコードされた画像を形成するためにセグメントの数をデコードすることであって、セグメントの数が第1のサイズに等しい、セグメントの数をデコードすることとを含む。
いくつかの実施形態においては、サイズマッピングは、配列および/またはリスト、配列および/またはリストの並行セット、ハッシュマップ、ならびに連想配列のうちの1つまたは複数を含む。実施形態においては、サイズマッピングを形成するためにビットストリームの第1の部分をデコードすることは、リスト値の数を示す第1の値をビットストリームからデコードすることと、リスト値の数をビットストリームからデコードすることによってリストを形成することであって、リスト値の数が第1の値に等しい、リストを形成することとを含む。実施形態においては、第1のセグメントグループインデックス値およびサイズマッピングに基づいて第1のセグメントグループに関する第1のサイズを決定することは、第1のセグメントグループインデックス値を使用してルックアップ演算を実行することを含む。
いくつかの実施形態においては、セグメントグループは、タイルグループ、サブピクチャー、および/またはスライスに対応する。いくつかの実施形態においては、セグメントグループは、1つまたは複数のセグメントを含み、いくつかの実施形態においては、セグメントグループは、1つのセグメントのみを含む。
第3の態様によれば、画像をビットストリームへとエンコードするための方法が提供され、その画像は、複数のセグメントグループへと区分される。この方法は、セグメントグループインデックス値を複数のセグメントグループに関するセグメントグループアドレスにマップするアドレスマッピングを決定することと、ビットストリームの第1の部分をエンコードすることと、ビットストリームの第2の部分をエンコードすることとを含む。ビットストリームの第1の部分をエンコードすることは、セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、複数のセグメントグループを表すコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、第1のセグメントグループをエンコードすることを含む。第1のセグメントグループをエンコードすることは、1)第1のセグメントグループに関する第1のセグメントグループアドレスから第1のセグメントグループインデックス値を決定することであって、アドレスマッピングが、第1のセグメントグループインデックス値を第1のセグメントグループアドレスにマップする、第1のセグメントグループインデックス値を決定することと、2)第1のセグメントグループに関する第1のセグメントグループインデックス値をエンコードすることと、3)第1のセグメントグループに関するサンプル値をエンコードすることとを含む。
第4の態様によれば、画像をビットストリームへとエンコードするための方法が提供され、その画像は、複数のセグメントグループへと区分される。この方法は、セグメントグループインデックス値を、第1のセグメントグループに関してエンコードされることになるセグメントの数にマップするサイズマッピングを決定することと、ビットストリームの第1の部分をエンコードすることと、ビットストリームの第2の部分をエンコードすることとを含む。ビットストリームの第1の部分をエンコードすることは、セグメントグループインデックス値を、第1のセグメントグループに関してエンコードされることになるセグメントの数にマップするサイズマッピングを形成するコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、複数のセグメントグループを表すコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、第1のセグメントグループをエンコードすることを含む。第1のセグメントグループをエンコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値を決定することであって、サイズマッピングが、第1のセグメントグループに関する第1のセグメントグループインデックス値を第1のサイズにマップし、第1のサイズが、第1のセグメントグループに関してエンコードされることになるセグメントの数である、第1のセグメントグループインデックス値を決定することと、2)第1のセグメントグループに関する第1のセグメントグループインデックス値をエンコードすることと、3)第1のセグメントグループに関するセグメントの数をエンコードすることであって、セグメントの数が第1のサイズに等しい、セグメントの数をエンコードすることとを含む。
いくつかの実施形態においては、第1のセグメントグループインデックス値をエンコードすることは、第1のセグメントグループインデックス値を表す1つまたは複数のコードワードを生成することを含む。
第5の態様によれば、デコーダが、第1または第2の態様の実施形態のうちのいずれか1つを実行するように適合されている。
第6の態様によれば、エンコーダが、第3または第4の態様の実施形態のうちのいずれか1つを実行するように適合されている。
いくつかの実施形態においては、エンコーダおよびデコーダは、同じノードにおいて同一場所に配置されることが可能であり、またはそれらは、互いから離れていることが可能である。実施形態においては、エンコーダおよび/またはデコーダは、ネットワークノードの部分であり、実施形態においては、エンコーダおよび/またはデコーダは、ユーザ機器の部分である。
第7の態様によれば、ビットストリームから画像をデコードするためのデコーダが提供され、その画像は、複数のセグメントグループへと区分される。このデコーダは、デコーディングユニットおよび決定ユニットを含む。デコーディングユニットは、セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するためにビットストリームの第1の部分をデコードするように設定されており、ビットストリームの第2の部分をデコードするようにさらに設定されている。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をデコードすることは、第1のセグメントグループをデコードすることを含む。第1のセグメントグループをデコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値を(デコーディングユニットによって)デコードすることと、2)第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを(決定ユニットによって)決定することと、3)第1のセグメントグループアドレスに基づいて第1のセグメントグループに関する第1の空間ロケーションを(決定ユニットによって)決定することであって、第1の空間ロケーションが、画像内の第1のセグメントグループのロケーションを表す、第1の空間ロケーションを(決定ユニットによって)決定することと、4)第1のセグメントグループに関する少なくとも1つのサンプル値を(デコーディングユニットによって)デコードし、第1の空間ロケーションによって与えられたデコードされた画像におけるロケーションに少なくとも1つのサンプル値を割り振ることとを含む。
第8の態様によれば、ビットストリームから画像をデコードするためのデコーダが提供され、その画像は、複数のセグメントグループへと区分される。このデコーダは、デコーディングユニットおよび決定ユニットを含む。デコーディングユニットは、セグメントグループインデックス値を、第1のセグメントグループに関してデコードされることになるセグメントの数にマップする、サイズマッピングを形成するためにビットストリームの第1の部分をデコードするように設定されており、ビットストリームの第2の部分をデコードするようにさらに設定されている。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をデコードすることは、第1のセグメントグループをデコードすることを含む。第1のセグメントグループをデコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値を(デコーディングユニットによって)デコードすることと、2)第1のセグメントグループインデックス値およびサイズマッピングに基づいて第1のセグメントグループに関する第1のサイズを(決定ユニットによって)決定することと、3)デコードされた画像を形成するためにセグメントの数を(デコーディングユニットによって)デコードすることであって、セグメントの数が第1のサイズに等しい、セグメントの数を(デコーディングユニットによって)デコードすることとを含む。
第9の態様によれば、ビットストリームからの画像をエンコードするためのエンコーダが提供され、その画像は、複数のセグメントグループへと区分される。エンコーダは、エンコーディングユニットおよび決定ユニットを含む。決定ユニットは、セグメントグループインデックス値を複数のセグメントグループに関するセグメントグループアドレスにマップするアドレスマッピングを決定するように設定されている。エンコーディングユニットは、ビットストリームの第1の部分をエンコードするように設定されており、ビットストリームの第2の部分をエンコードするようにさらに設定されている。ビットストリームの第1の部分をエンコードすることは、セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、複数のセグメントグループを表すコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、第1のセグメントグループをエンコードすることを含む。第1のセグメントグループをエンコードすることは、1)第1のセグメントグループに関する第1のセグメントグループアドレスから第1のセグメントグループインデックス値を(決定ユニットによって)決定することであって、アドレスマッピングが、第1のセグメントグループインデックス値を第1のセグメントグループアドレスにマップする、第1のセグメントグループインデックス値を(決定ユニットによって)決定することと、2)第1のセグメントグループに関する第1のセグメントグループインデックス値を(エンコーディングユニットによって)エンコードすることと、3)第1のセグメントグループに関するサンプル値を(エンコーディングユニットによって)エンコードすることとを含む。
第10の態様によれば、ビットストリームへと画像をエンコードするためのエンコーダが提供され、その画像は、複数のセグメントグループへと区分される。エンコーダは、エンコーディングユニットおよび決定ユニットを含む。決定ユニットは、セグメントグループインデックス値を、第1のセグメントグループに関してエンコードされることになるセグメントの数にマップするサイズマッピングを決定するように設定されている。エンコーディングユニットは、ビットストリームの第1の部分をエンコードするように設定されており、ビットストリームの第2の部分をエンコードするようにさらに設定されている。ビットストリームの第1の部分をエンコードすることは、セグメントグループインデックス値を、第1のセグメントグループに関してエンコードされることになるセグメントの数にマップするサイズマッピングを形成するコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、複数のセグメントグループを表すコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、第1のセグメントグループをエンコードすることを含む。第1のセグメントグループをエンコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値を(決定ユニットによって)決定することであって、サイズマッピングが、第1のセグメントグループに関する第1のセグメントグループインデックス値を第1のサイズにマップし、第1のサイズが、第1のセグメントグループに関してエンコードされることになるセグメントの数である、第1のセグメントグループインデックス値を(決定ユニットによって)決定することと、2)第1のセグメントグループに関する第1のセグメントグループインデックス値を(エンコーディングユニットによって)エンコードすることと、3)第1のセグメントグループに関するセグメントの数を(エンコーディングユニットによって)エンコードすることであって、セグメントの数が第1のサイズに等しい、セグメントの数を(エンコーディングユニットによって)エンコードすることとを含む。
第11の態様によれば、ノードの処理回路によって実行されたときに、第1、第2、第3、および第4の態様のうちのいずれか1つの方法をノードに実行させる命令を含むコンピュータプログラムが提供される。
第12の態様によれば、第11の態様のいずれの実施形態のコンピュータプログラムを含むキャリアが提供され、このキャリアは、電子信号、光信号、無線信号、およびコンピュータ可読ストレージメディアのうちの1つである。
本明細書に組み込まれていて本明細書の部分を形成している添付の図面が、さまざまな実施形態を示している。
関連した技術分野によるクワッドツリープラスバイナリーツリープラスターナリーツリーブロック構造を示す図である。 関連した技術分野による、ラスタ走査順にラベル付けされている4つのタイル行および5つのタイル列を使用したタイル区分の一例を示す図である。 高品質のストリームおよび低品質のストリームを単一の出力ストリームへとスティッチすることの一例を示す図である。 一実施形態による、画像を区分することの一例を示す図である。 一実施形態による、画像を区分することの一例を示す図である。 一実施形態による、エンコードされているビットストリームをデコードすることの一例を示す図である。 一実施形態による、2つの入力ストリームを単一の出力ストリームへとスティッチすることの一例を示す図である。 一実施形態による、セグメントグループインデックスをセグメントグループアドレスにマップするアドレスマッピングの一例を示す図である。 一実施形態によるプロセスを示すフローチャートである。 一実施形態によるプロセスを示すフローチャートである。 一実施形態によるプロセスを示すフローチャートである。 一実施形態によるプロセスを示すフローチャートである。 実施形態によるエンコーダおよびデコーダの機能ユニットを示す図である。 実施形態によるエンコーダおよび/またはデコーダのブログ図である。
図6は、ビットストリーム602と、ビットストリーム602をデコードすることから生じる対応するデコードされた画像402とを示している。この例におけるビットストリーム602は、パラメータセット604と、8つのコーディングされているセグメントグループ606とを含み、セグメントグループ606はそれぞれ、デコードされた画像402におけるセグメントグループ414に対応する。すなわち、デコードされた場合には、コーディングされているセグメントグループ606は、デコードされた画像402におけるセグメントグループ414をもたらす。典型的なビットストリームは、複数の画像を含むが、例示のために、この図は、1つの画像のみを示している。
パラメータセット604は、セグメントグループアドレス値のリストとしてデコーダによってデコードされるシンタックス要素616を含む。そのリストは、セグメントグループアドレス値の配列として実装されることが可能である。この記述においては、配列およびリストという用語は、言い換え可能に使用されることが可能である。パラメータセット604はまた、画像402がセグメント(たとえば図4において示されているセグメント412)へとどのようにして区分されるかを指定するパーティション構造(たとえば図4において示されているパーティション構造413)へとデコーダによってデコードされるシンタックス要素614を含む。この情報(614および616)は、いくつかの実施形態においては、(図6において示されているのと)同じパラメータセットの部分であることが可能であり、別々のパラメータセットの部分であることが可能であり、またはその他の何らかの方法でエンコードされることが可能である。たとえば、シンタックス要素614および616のうちの一方は、シーケンスパラメータセットの部分であることが可能であり、他方は、画像パラメータセットの部分であることが可能である。シンタックス要素614および616は、ビットストリームにおける任意の場所に配置されることも可能であり、または帯域外で伝達されることさえ可能である。実施形態においては、シンタックス要素614および616のいずれも、コーディングされているセグメントグループ606に置かれていないということが重要であり、たとえばそれによって、個々のコーディングされているセグメントグループ606を修正する必要なく、情報が修正されることが可能である。
それぞれのコーディングされているセグメントグループ606は、セグメントグループヘッダ608およびセグメントグループデータ608を含む。セグメントグループデータ608は、セグメントグループに属するセグメントに関するサンプル値へとデコードされるコーディングされているビットを含む。本明細書において記述されている実施形態においては、セグメントグループヘッダ608は、インデックス値iへとデコーダによってデコードされる1つまたは複数のコードワード612を含む。インデックス値iは、セグメントグループに関するセグメントグループアドレスを導出するためにセグメントグループアドレス値のリストにおけるインデックスとして使用される。デコーダは、セグメントグループにおける第1のセグメントに関する画像における空間ロケーションを決定するためにセグメントグループアドレスを使用する。
パラメータセットにおけるセグメントグループアドレス値のリストと、そのリストへのインデックスとをセグメントグループヘッダにおいて使用することによって、セグメントグループヘッダを修正することなく、セグメントグループのスティッチングが行われることが可能である。これは、間接のレイヤによって、セグメントグループアドレス値が、コーディングされているセグメントグループデータから切り離されるようになるからである。(上述されている)図3における例を使用して、下記のテーブル5は、インデックスとセグメントグループアドレス値との間におけるマッピングがどのように見え得るかを示している。テーブル5における真ん中の列は、ビデオを高品質および低品質へとエンコードする際のインデックスとセグメントグループアドレスとの間における例示的なマッピングを示している。このマッピングは、セグメントグループアドレス値のリストを伝達するシンタックス要素616を使用して最初のエンコーディング中にパラメータセット604へと書き込まれる。テーブル5における最も右の列は、スティッチング後の出力ビットストリームにおいてインデックスとセグメントグループアドレス値との間におけるマッピングがどのように見え得るかを示している。エンコーディング中にセグメントグループへと書き込まれるインデックスは、現状のまま保たれることが可能であり、セグメントグループアドレス値のリストを伝達するシンタックス要素616を使用して、最も右の列において示されているマッピングを含む新たなパラメータセット604を書き込むことによって、スティッチングが行われることが可能である。次いで、tile_group_layer_rbsp()というチャンクを、修正されていない状態でコピーまたは転送することによって、コーディングされているセグメントグループ606のスティッチングが行われることが可能である。
Figure 2021528879
ここで記述されているように、アドレスを有するのは、セグメントグループである。いくつかの実施形態においては、アドレスは、代替として、または追加として、それぞれのセグメントグループに関してだけでなく、それぞれのセグメントに関してシグナリングされることが可能である。
いくつかの実施形態によれば、ビデオコーディングレイヤ(VCL)NALユニットデータを書き直すことなく、2つ以上の画像からのセグメントグループを1つの画像へとスティッチすることが可能である。これは、図7において示されており、図7では、最初の画像702および704のそれぞれのセグメントグループは、パラメータセットにおけるセグメントグループアドレス値への一意のインデックスマッピングを有する。セグメントグループを新たな画像706へとスティッチする際に、セグメントグループにおけるインデックスは保存されるが、パラメータセットにおける新たなセグメントグループアドレスにマップされる。
いくつかの例が、次いで記述される。
第1の例は、下記のとおりである。第1の例は、パラメータセットに格納されているセグメントグループアドレスに関する単一のリストを使用することを含む。この実施形態においては、セグメントグループアドレス値は、単一のリスト(本明細書においては、LISTと呼ぶ)としてパラメータセットに格納される。シンタックス要素616は、このケースにおいては、LISTのコーディングされている表示であり、LISTにおいていくつのエントリーがあるか、すなわち、LISTの長さを指定する数字Nへとデコードされるコードワードから構成されることが可能である。シンタックス要素616はさらに、セグメントグループアドレス値を指定するNの数字へとデコードされる、エントリーごとの1つまたは複数のコードワードから構成される。たとえば、LISTは、セグメントグループアドレス値のシーケンシャル配列としてビットストリームにおいてエンコードされることが可能である。
下記の疑似コードは、どのようにしてLISTがビットストリームからデコードされ構築されることが可能であるかを示している。
Figure 2021528879
decode_n_value_from_bitstream()およびdecode_value_from_bitstream()という関数は、次の1つまたは複数のコードワードをビットストリームから読み取り、値を返す。コードワードは、固定長のコードワード、可変長のコードワード、エントロピーエンコードされているコードワード、またはその他の任意のタイプのコードワードであることが可能である。コードワードは、シンタックス要素と呼ばれる場合もある。
次いで、パラメータセットからセグメントグループアドレス値のLISTをデコードした後に、セグメントグループがデコードされることが可能である。それぞれのセグメントグループヘッダにおいては、デコーダによってインデックス値iへとデコードされる1つまたは複数のコードワード612がある。インデックス値iは、アドレスがLIST[i]に等しくなるなど、セグメントグループに関するセグメントグループアドレス値を導出するためのLISTへのインデックスとして使用される。
上記の例を実施するために、セグメントグループアドレス値がリストに格納されていて、セグメントグループヘッダがそのリストへのインデックスを含む場合には、エンコーダが、画像パラメータセットをエンコードする一環としてセグメントグループアドレス値をエンコードすることが可能である。たとえば、最初にリストのサイズをエンコードすることによって、続いてリストのアドレス値のうちのそれぞれを順にエンコードすることによって、リストがエンコードされることが可能である。さらに、セグメントグループデータをエンコードする際に、エンコーダは、アドレス値リストへのインデックスをセグメントグループヘッダへとエンコードすることが可能であり、この場合、そのインデックスによって表されるアドレス値は、画像内のセグメントグループの空間ロケーションに対応する。リストサイズをエンコードすること、および/またはアドレス値をエンコードすることは、1つまたは複数のコードワードをビットストリームへとエンコードすることを含むことが可能であり、たとえば、エンコーダは、固定幅のエンコーディング、可変幅のエンコーディング、エントロピーベースのエンコーディングなどを使用することが可能である。同様に、リストサイズをデコードすること、および/またはアドレス値をデコードすることは、ビットストリームから1つまたは複数のコードワードをデコードすることを含むことが可能である。
記述されたばかりの様式でエンコードされているビットストリームをデコードする際に、デコーダは、セグメントグループアドレス値リストをデコードすることが可能である。たとえば、デコーダは、ビットストリームからリストのサイズをデコードして、次いで、リストを表すアドレス値のうちのそれぞれをデコードすることが可能である。リストをデコードすることの一環として、デコーダは、たとえば、LIST[e]=valueによって表されるリストまたは配列データ構造(たとえば)にアドレス値を格納することが可能であり、この場合、eは、0〜デコードされたリストのサイズ−1にわたり、valueは、デコードされた対応するアドレス値である。アドレス値は、e番目のデコードされたアドレス値がリストにおけるe番目のエントリーとして格納されるようにリストに格納されることが可能である(どのようにしてリストがエンコードされているかに基づいて、その他の表示も可能であるが)。デコーダは次いで、画像におけるセグメントグループのうちのそれぞれに関するセグメントグループデータをデコードすることが可能である。現在のセグメントグループをデコードする際に、デコーダは、現在のセグメントグループに対応するセグメントグループヘッダをデコードすることが可能である。セグメントグループヘッダをデコードすることは、ビットストリームから(たとえば1つまたは複数のコードワードから)インデックス値iをデコードすることを含むことが可能であり、この場合、インデックス値iは、セグメントグループアドレス値リストへのインデックスを表す。いったんインデックス値iがデコードされると、デコーダは、現在のセグメントグループに関するアドレス値を、リストにおけるi番目のエントリーに関するアドレス値に設定することによって、そのセグメントグループに関するアドレス値を導出することが可能である。たとえば、デコーダは、この値を決定するためにルックアップ演算を実行することが可能である。デコーダは、現在のセグメントグループに関してデコードされている画像における空間ロケーションを決定するために、そのアドレス値を使用することも可能である。これは、現在のセグメントグループにおける第1のセグメントに関してデコードされている画像における空間ロケーションを決定することを含むことが可能である。デコーダは次いで、現在のセグメントグループに関するセグメントデータを、デコードされたサンプル値へとデコードする際に、決定された空間ロケーションを使用することが可能である。たとえば、空間ロケーションは、デコードされたサンプル値を、デコードされた画像における正しいロケーションに格納するためにデコーダによって使用されることが可能である。
下記のテーブル6およびテーブル7は、上述の例に関する例示的なシンタックスを示しており、その後に例示的なセマンティクスが続いている。このシンタックスおよびセマンティクスは、現在のVVCドラフト仕様に対する修正とみなされることを意図されている。現在のVVCドラフト仕様は、JVET−L0686−v2−SpecText.docx JVET input contributionにおいて提供されている。しかしながら、VVC標準の使用は、上述の例を適用する上で必須ではなく、それに対する言及は、例示の目的のためである。
Figure 2021528879
num_tile_group_addresses_minus1+1は、PPSに関連付けられているタイルグループアドレスの数を指定する。num_tile_group_addresses_minus1の値は、両端値を含めて0〜maxNbrOfTileGroupAddressesの範囲にあるものとする。[編集者注: maxNbrOfTileGroupAddressesは、たとえば、例示的な数として2046に設定されることが可能である。]
pps_tile_group_address[i]は、PPSに関連付けられているi番目のタイルグループアドレスを指定するために使用される。
pps_tile_group_address[i]の長さは、Ceil(Log2(NumTilesInPic))ビットであり、この場合、Ceilは、天井演算子を指す。[編集者注:NumTilesInPicは、画像におけるタイルの数を示す変数である。この数は、パラメータセットにおけるその他のコードワードから導出される。]
pps_tile_group_address[i]の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。
pps_tile_group_address[i]の値が、iに等しくないjのいずれの値に関してもpps_tile_group_address[j]の値に等しくならないということが、ビットストリーム適合性の要件である。
Figure 2021528879
tile_group_address_idcは、タイルグループにおける第1のタイルのタイルアドレスを指定するために使用される。
tile_group_address_idcの値は、両端値を含めて0〜num_tile_group_addresses_minus1の範囲にあるものとする。
変数TileGroupAddressは、pps_tile_group_address[tile_group_address_idc]に等しく設定される。
TileGroupAddressの値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。
TileGroupAddressの値は、同じコーディングされている画像のその他のいずれのコーディングされているタイルグループNALユニットのTileGroupAddressの値にも等しくならない。
num_tiles_in_tile_group_minus1+1が、タイルグループにおけるタイルの数を指定する。num_tiles_in_tile_group_minus1の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。[編集者注: この記述は、現在のVVCドラフト仕様に存在している。]
第1の例の代替バージョンにおいては、pps_tile_group_address[i]に関する最大値の制限は、異なる方法で、たとえば、NumTilesInPicの倍数など、固定された最大値を使用して、またはビットストリームにおいてシグナリングされて規定される。代替バージョンにおいては、pps_tile_group_address[i]というコードワードが、固定長のコードワードの代わりに可変長のコードワードによってシグナリングされる。その可変長のコードワードは、ユニバーサル可変長コード(UVLC)コードワードであることが可能である。
同様に、第1の例の代替バージョンにおいては、num_tile_group_addresses_minus_1に関する最大値の制限は、異なる方法で、たとえば、NumTilesInPicの倍数として、固定された最大値を使用して、またはビットストリームにおいてシグナリングされて規定される。
第2の例が、次に続く。第2の例は、パラメータセットに格納されているセグメントグループアドレスに関する辞書を使用することを含む。この実施形態においては、セグメントグループアドレス値は、辞書としてパラメータセットに格納されている。その辞書は、適切なデータ構造、たとえばハッシュマップまたは連想配列によって実装されることが可能である。
この例の1つのバージョンにおいては、辞書は、単一のリストとしてエンコードされることが可能であり、この場合、その単一のリストにおけるそれぞれのエントリーは、値のペアから構成され、その場合、そのペアにおける第1の要素は、辞書キー値であり、そのペアにおける第2の要素は、辞書値である(別名、キー/値ペア)。別のバージョンにおいては、2つのリストが使用され、第1のリストは、キーのリストであり、第2のリストは、値のリストである。それらの2つのリストは、リストの並行セットと呼ばれる場合がある。なぜなら、それらは、一方のリストにおけるi番目のエントリーが、他方のリストのi番目のエントリーに関連付けられているという意味で並行であるからである。それらの2つのリストは、2つの配列、または配列の並行セットとして実装されることが可能である。辞書のその他のエンコーディングおよび表示も可能である。2つのリストを使用するバリエーションは、本明細書においては例示の目的のために記述されている。単一のリストを使用する例に勝るこの例にとっての1つの利点として、複数のストリームをスティッチする際に、この例は、(潜在的に多くの)空のスロット、すなわち、最終的な出力ストリームにおいて使用されないリスト値を有することを回避することが可能である。
シンタックス要素616は、この例においては、本明細書においてKEYおよびVALUEと呼ばれる2つのリストのコーディングされている表示である。いくつかの実施形態においては、それらのリストは、同じサイズであり、したがって、そのサイズを表す単一のコードワードで十分である。シンタックス要素616はしたがって、リストサイズと、それに続くKEYリストおよびVALUEリストに関する値とから構成されることが可能である。それぞれの値は、固定長、可変長、エントロピーコーディング、またはその他のコーディング技術を使用して、1つまたは複数のコードワードとしてエンコードされることが可能である。一実施形態においては、VALUEリストまたはKEYリストに関するデコードされたコードワードは、それらがデコードされる順序でそれらのリスト内に置かれ、たとえばそれによって、KEYに関する第2のデコードされた値は、KEYにおける第2の要素として置かれる。いくつかの実施形態においては、VALUEリストに関する順にエンコードされた値の前に、KEYリストに関する値が順にエンコードされ、その他の実施形態においては、その順序は逆にされ、その他の実施形態においては、KEYリストおよびVALUEリストの対応する要素は、一緒にエンコードされる。
辞書をデコードすることの例が、以降で提供されている。辞書をビットストリームへとエンコードすることも同様であり、基本的にはデコーディングの逆のオペレーションである。上記の第1の例と同様に、セグメントグループアドレス値情報のエンコーディングおよびデコーディングは、セグメントグループを含むセグメントに関するサンプル値を表すセグメントグループデータのエンコーディングおよびデコーディングとは別に(たとえば、その前に)生じることが可能である。
この例を実施するために、最初にデコーダは、アドレス値情報をデコードすることが可能である。2つのバリエーションが、以降で提示されている。
KEYに置かれるすべての値が、VALUEに置かれるあらゆる値の前にデコードされる変形に関しては、下記の疑似コードが、どのようにしてデコーダが機能することが可能であるかを記述している。
Figure 2021528879
別の変形においては、KEYに置かれる値と、VALUEに置かれる値とが、下記の疑似コードにおいて示されているようにインターリーブされる。
Figure 2021528879
decode_n_value_from_bitstream()、decode_key_value_from_bitstream()、およびdecode_value_from_bitstream()という関数はそれぞれ、次の1つまたは複数のコードワードをビットストリームから読み取り、値を返す。コードワードは、固定長のコードワード、可変長のコードワード、エントロピーエンコードされているコードワード、またはその他の任意のタイプのコードワードであることが可能である。
いったんアドレス値情報がデコードされると、デコーダは次いで、画像におけるセグメントグループのうちのそれぞれに関するセグメントグループデータをデコードすることが可能である。現在のセグメントグループをデコードする際に、デコーダは、現在のセグメントグループに対応するセグメントグループヘッダをデコードすることが可能である。セグメントグループヘッダをデコードすることは、ビットストリームから(たとえば1つまたは複数のコードワードから)インデックス値iをデコードすることを含むことが可能であり、この場合、インデックス値iは、VALUEリストへのさらなるインデックスを含むKEYリストへのインデックスを表す。いったんインデックス値iがデコードされると、デコーダは、リスト値KEY[pos]がインデックス値iにマッチするリストKEYにおける位置posを決定して、次いで現在のセグメントグループアドレス値がVALUE[pos]であると決定することによって、そのセグメントグループに関するアドレス値を導出することが可能である。
キー値に関連付けられている値を、そのキー値を提供することによって取り出すオペレーションは、キー値を使用したルックアップ演算と呼ばれる。この実施形態においては、たとえばキー値としてKEY[k]を使用することによる、ルックアップ演算は、任意の適切な方法を使用して、たとえばハッシュ関数を採用することによって、またはその他の形で実施されることが可能である。
この例におけるインデックスiからのセグメントグループアドレスの導出は、図8において示されている。図8は、KEYリストおよびVALUEリストを有する辞書を含むパラメータセットを示している。図8はまた、2つのセグメントグループヘッダを示しており、1つのセグメントグループヘッダは、インデックスi=4を有しており、別のセグメントグループヘッダは、インデックスi=1を有している。示されているように、インデックスi=4は、第1のセグメントグループヘッダからデコードされる。値4は、第1のセグメントグループのセグメントグループアドレス(ここでは3である)を決定するために使用されるVALUE[1]=3に対応するパラメータセット、KEY[1]における辞書において見受けられる。第2のセグメントグループにおいては、インデックスi=1がデコードされ、この場合、1は、辞書におけるKEY[0]に関して見受けられる。対応するVALUE[0]=5はしたがって、第2のセグメントグループのセグメントグループアドレス(ここでは5である)を決定するために使用される。これは、図8においては、セグメントグループヘッダから、対応するKEYエントリーへの矢印と、次いで、対応するKEYエントリーから、デコードされた画像における対応するセグメントグループアドレスへの矢印とによって示されている。
あるいは、KEYリストおよびVALUEリストがデコードされているときに、ハッシュマップMAPが投入されることが可能であり、それによって、リストKEYにおける位置posを有するKEYにおけるそれぞれのキーkに関して、MAP{k}=vであり、この場合、v=VALUE[pos]である。このハッシュマップを使用すると、MAP{i}などのハッシュマップルックアップ演算を実行することによって、インデックスiからセグメントグループアドレスを決定することが達成されることが可能である。このデータ構造の利点として、このデータ構造は、セグメントグループデータのデコーディング中にセグメントグループアドレスを決定する際にKEYリストの線形探索を回避することが可能である。
この第1の例におけるように、デコーダは、セグメントデータを、デコードされたサンプルへとデコードする際に空間ロケーションを決定するために、セグメントグループアドレスを使用することが可能である。
テーブル8およびテーブル9は、この例に関する例示的なシンタックスを示しており、その後に例示的なセマンティクスが続いている。このシンタックスおよびセマンティクスは、現在のVVCドラフト仕様に対する修正とみなされることを意図されている。現在のVVCドラフト仕様は、JVET−L0686−v2−SpecText.docx JVET input contributionにおいて提供されている。しかしながら、VVC標準の使用は、上述の例を適用する上で必須ではなく、それに対する言及は、例示の目的のためである。
Figure 2021528879
num_tile_group_addresses_minus1+1は、PPSに関連付けられているタイルアドレスの数を指定する。num_tile_group_addresses_minus1の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。
pps_tile_group_idc[i]は、PPSに関連付けられているi番目のタイルグループidcを指定するために使用される。
pps_tile_group_idcは、8*NumTilesInPic以下であるものとする。
pps_tile_group_idc[i]の値が、iに等しくないjのいずれの値に関してもpps_tile_group_idc[j]の値に等しくならないということが、ビットストリーム適合性の要件である。
pps_tile_group_address[i]は、PPSに関連付けられているi番目のタイルグループアドレスを指定するために使用される。
pps_tile_group_address[i]の長さは、Ceil(Log2(NumTilesInPic))ビットである。
pps_tile_group_address[i]の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。
pps_tile_group_address[i]の値が、iに等しくないjのいずれの値に関してもpps_tile_group_address[j]の値に等しくならないということが、ビットストリーム適合性の要件である。
Figure 2021528879
tile_group_address_idcは、タイルグループにおける第1のタイルのタイルアドレスを指定するために使用される。
変数TileGroupAddressは、pps_tile_group_address[i]に等しく設定され、この場合、iは、pps_tile_group_idc[i]がtile_group_address_idcに等しくなる値である。
pps_tile_group_address[i]がtile_group_address_idcに等しくなる、両端値を含めて0〜num_tile_group_addresses_minus1の範囲にある値iがあるということが、ビットストリーム適合性の要件である。
TileGroupAddressの値は、同じコーディングされている画像のその他のいずれのコーディングされているタイルグループNALユニットのTileGroupAddressの値にも等しくならないということが、ビットストリーム適合性の要件である。
num_tiles_in_tile_group_minus1+1が、タイルグループにおけるタイルの数を指定する。num_tiles_in_tile_group_minus1の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。[編集者注:この記述は、現在のVVCドラフト仕様に存在している。]
この例の代替バージョンにおいては、pps_tile_group_address[i]に関する最大値の制限は、異なる方法で、たとえば、NumTilesInPicの倍数として、固定された最大値を使用して、またはビットストリームにおいてシグナリングされて規定される。代替バージョンにおいては、pps_tile_group_address[i]というコードワードが、固定長のコードワードの代わりに可変長のコードワードによってシグナリングされる。その可変長のコードワードは、UVLCコードワードであることが可能である。
同様に、この例の代替バージョンにおいては、num_tile_group_addresses_minus_1に関する最大値の制限は、異なる方法で、たとえば、NumTilesInPicの倍数として、固定された最大値を使用して、またはビットストリームにおいてシグナリングされて規定される。
第3の例が、次に続く。第3の例は、第2の例に類似しており、パラメータセットに格納されているセグメントグループアドレスに関する辞書を使用することを含み、この場合、その辞書は、デルタシグナリングを使用してエンコードおよびデコードされる。
この例においては、辞書キー値は、ビットストリームへと、またはビットストリームからデルタ値としてエンコードおよびデコードされる。たとえば、リストKEYおよびVALUEのデコーディングは、下記の疑似コードによって記述されることが可能である。
Figure 2021528879
上記の第2の例におけるように、値は、任意の順序でデコードされることが可能であり、上記の疑似コードにおいて記述されている順序に限定されなくてよい。実施形態においては、デコードする値の数は、2*n(KEYに関する1つの値、およびVALUEに関する対応する値)であり、それらの値をデコードする順序は静的であり、それによってエンコーダが、あいまいさを伴わずに正しく2つのリストKEYおよびVALUEを伝達することが可能である。
上記の第2の例に勝るこの例の1つの利点として、この例はビットを保存する。なぜなら、絶対値に比較してデルタ値をシグナリングすることは一般に、ビットの点でより安価であるからである。別の利点として、デルタ値が1以上であるように制限されている場合、そのケースにおいては、それぞれの辞書キー値が、規定によって一意に指定されるであろう。
テーブル10およびテーブル11は、この実施形態に関する例示的なシンタックスを示しており、その後に例示的なセマンティクスが続いている。前述されているように、VVC標準の使用は、上述の例を適用する上で必須ではなく、それに対する言及は、例示の目的のためである。
Figure 2021528879
num_tile_group_addresses_minus1+1は、PPSに関連付けられているタイルアドレスの数を指定する。num_tile_group_addresses_minus1の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。
pps_tile_group_idc_delta_minus1[i]+1は、PPSに関連付けられているi番目のタイルグループidcを指定するために使用される。
変数TileGroupAddressIdcPPS[i]は、下記のように導出される。
1. TileGroupAddressIdcPPS[0]が、pps_tile_group_idc_delta_minus1[0]に等しく設定される。
2. 0よりも大きいiの値に関しては、TileGroupAddressIdcPPS[i]が、TileGroupAddressIdcPPS[i−1]+pps_tile_group_idc_delta_minus1[i]+1に等しく設定される。
TileGroupAddressIdcPPS[num_tile_group_addresses_minus1]は、8*NumTilesInPic以下であるものとする。
pps_tile_group_address[i]は、PPSに関連付けられているi番目のタイルグループアドレスを指定するために使用される。
pps_tile_group_address[i]の長さは、Ceil(Log2(NumTilesInPic))ビットである。
pps_tile_group_address[i]の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。
pps_tile_group_address[i]の値が、iに等しくないjのいずれの値に関してもpps_tile_group_address[j]の値に等しくならないということが、ビットストリーム適合性の要件である。
Figure 2021528879
tile_group_address_idcは、タイルグループにおける第1のタイルのタイルアドレスを指定するために使用される。
TileGroupAddressは、pps_tile_address[i]に等しく設定され、この場合、iは、TileGroupAddressIdcPPS[i]がtile_group_address_idcに等しくなる値である。
あるいは、変数TileGroupAddressは、下記のように導出される。
1. tile_group_address_idcがタイルグループヘッダに存在していない場合には、TileGroupAddressの値は、0に等しく設定される。
2. そうでない場合には、TileGroupAddressは、pps_tile_address[i]に等しく設定され、この場合、iは、TileGroupAddressIdcPPS[i]がtile_group_address_idcに等しくなる値である。
TileGroupAddressIdcPPS[i]がtile_group_address_idcに等しくなる、両端値を含めて0〜num_tile_group_addresses_minus1の範囲にある値iがあるということが、ビットストリーム適合性の要件である。
TileGroupAddressの値は、同じコーディングされている画像のその他のいずれのコーディングされているタイルグループNALユニットのTileGroupAddressの値にも等しくならないということが、ビットストリーム適合性の要件である。
num_tiles_in_tile_group_minus1+1が、タイルグループにおけるタイルの数を指定する。num_tiles_in_tile_group_minus1の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。[編集者注: この記述は、現在のVVCドラフト仕様に存在している。]
この例の代替バージョンにおいては、第1のタイルグループインデックスは、pps_tile_group_idc_delta_minus1[0]シンタックス要素を使用して設定されず、自分自身のシンタックス要素において明示的に指定される。テーブル12は、例示的なパラメータセットシンタックスを示しており、その後に代替バージョンに関するセマンティクスが続いている。
Figure 2021528879
pps_first_tile_group_idcおよびpps_tile_group_idc_delta_minus1[i]+1は、PPSに関連付けられているi番目のタイルグループidcを指定するために使用される。
変数TileGroupAddressIdcPPS[i]は、下記のように導出される。
1. TileGroupAddressIdcPPS[0]が、pps_first_tile_group_idcに等しく設定される。
2. 0よりも大きいiの値に関しては、TileGroupAddressIdcPPS[i]が、TileGroupAddressIdcPPS[i−1]+pps_tile_group_idc_delta_minus1[i]+1に等しく設定される。
TileGroupAddressIdcPPS[num_tile_group_addresses_minus1]は、2046以下であるものとする。
現在の例のその他の代替バージョンにおいては、pps_tile_group_address[i]に関する最大値の制限は、異なる方法で、たとえば、NumTilesInPicの倍数として、固定された最大値を使用して、またはビットストリームにおいてシグナリングされて規定される。
同様に、現在の実施形態のその他の代替バージョンにおいては、num_tile_group_addresses_minus_1に関する最大値の制限は、異なる方法で、たとえば、NumTilesInPicの倍数として、固定された最大値を使用して、またはビットストリームにおいてシグナリングされて規定される。
代替バージョンにおいては、pps_tile_group_address[i]というコードワードが、固定長のコードワードの代わりに可変長のコードワードによってシグナリングされる。その可変長のコードワードは、UVLCコードワードであることが可能である。
第4の例が、次に続く。第4の例は、セグメントグループアドレス値以外の値を格納するためにリストもしくは辞書またはその他の間接のレイヤを使用することを含む。以前の例は、たとえば、ビットストリームにおけるタイルグループのリロケーションを可能にする。ビットストリームのタイルグループレイヤ部分を修正することを伴わないビットストリームにおけるタイルの抽出、スティッチング、またはリロケーションを容易にするために、次いでタイルグループと、タイルグループにおけるタイルの数との間におけるマッピング(たとえばPPSにおける)を紹介する。
マッピングは、上記の例1〜3と同様に、たとえば、マッピングをエンコードおよびデコードするためのリスト、辞書、またはデルタシグナリングを伴う辞書を使用することによって行われることが可能である。たとえば、上記の例1によれば、アドレス値は、タイルグループにおけるタイルの数を表す値のために代用されることが可能である。例示の目的のために、例2と同様の辞書を使用して、以降のさらなる詳細が提供されている。
現在のVVCドラフト仕様においては、タイルグループにおけるタイルの数は、num_tiles_in_tile_group_minus1というコードワードを使用してシグナリングされる。この例は、その特定のコードワードを使用することを必要とせず、タイルグループ内にあるタイルの数を伝達するいかなる単一のまたは複数のコードワードも適切であろう。num_tiles_in_tile_group_minus1を使用することに対する代替シグナリングの一例は、タイルのユニットにおけるタイルグループの高さおよび幅をシグナリングする2つのコードワードを使用することである。タイルグループにおけるタイルの数は次いで、それらの2つのコードワードから導出される2つの値を乗じたものである。
num_tiles_in_tile_group_minus1が使用されると想定すると、PPS辞書をデコードするために下記の疑似コードが使用されることが可能である。
Figure 2021528879
decode_n_value_from_bitstream()、decode_key_value_from_bitstream()、decode_address_value_from_bitstream()、およびdecode_size_value_from_bitstream()という関数はそれぞれ、次の1つまたは複数のコードワードをビットストリームから読み取り、値を返す。コードワードは、固定長のコードワード、可変長のコードワード、エントロピーエンコードされているコードワード、またはその他の任意のタイプのコードワードであることが可能である。
次いで、それぞれのセグメントグループヘッダにおいては、デコーダによってインデックス値iへとデコードされる1つまたは複数のコードワード612がある。次いで、リスト値KEY[k]がインデックス値iと同じになる、リストKEYにおける位置kが決定される。アドレス値は次いで、ADDRESS[k]に等しく設定され、サイズ値は、SIZE[k]に等しく設定される。
テーブル13およびテーブル14は、この実施形態に関する例示的なシンタックスを示しており、その後に例示的なセマンティクスが続いている。このシンタックスおよびセマンティクスは、現在のVVCドラフト仕様に対する修正とみなされることを意図されている。現在のVVCドラフト仕様は、JVET−L0686−v2−SpecText.docx JVET input contributionにおいて提供されている。しかしながら、VVC標準の使用は、上述の例を適用する上で必須ではなく、それに対する言及は、例示の目的のためである。
Figure 2021528879
num_tile_group_addresses_minus1+1は、PPSに関連付けられているタイルアドレスの数を指定する。num_tile_group_addresses_minus1の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。
pps_tile_group_idc[i]は、PPSに関連付けられているi番目のタイルグループidcを指定するために使用される。
pps_tile_group_idcは、8*NumTilesInPic以下であるものとする。
pps_tile_group_idc[i]の値が、iに等しくないjのいずれの値に関してもpps_tile_group_idc[j]の値に等しくならないということが、ビットストリーム適合性の要件である。
pps_tile_group_address[i]は、PPSに関連付けられているi番目のタイルグループアドレスを指定するために使用される。
pps_tile_group_address[i]の長さは、Ceil(Log2(NumTilesInPic))ビットである。
pps_tile_group_address[i]の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。
pps_tile_group_address[i]の値が、iに等しくないjのいずれの値に関してもpps_tile_group_address[j]の値に等しくならないということが、ビットストリーム適合性の要件である。
pps_tiles_in_tile_group_minus1[i]+1は、PPSに関連付けられているi個目のタイルを指定する。num_tiles_in_tile_group_minus1[i]の値は、両端値を含めて0〜NumTilesInPic−1の範囲にあるものとする。
Figure 2021528879
tile_group_address_idcは、タイルグループにおける第1のタイルのタイルアドレス、ならびにタイルグループにおけるタイルの数を指定するために使用される。
変数TileGroupAddressは、pps_tile_group_address[i]に等しく設定され、この場合、iは、pps_tile_group_idc[i]がtile_group_address_idcに等しくなる値である。
pps_tile_group_address[i]がtile_group_address_idcに等しくなる、両端値を含めて0〜num_tile_group_addresses_minus1の範囲にある値iがあるということが、ビットストリーム適合性の要件である。
TileGroupAddressの値は、同じコーディングされている画像のその他のいずれのコーディングされているタイルグループNALユニットのTileGroupAddressの値にも等しくならないということが、ビットストリーム適合性の要件である。
変数NumTilesInTileGroupは、pps_tiles_in_tile_group_minus1[i]+1の値に等しく設定され、この場合、iは、pps_tile_group_idc[i]がtile_group_address_idcに等しくなる値である。
辞書においてシグナリングするためのその他の潜在的な値は、それぞれのタイルグループに関するバイトまたはビットカウント、タイルグループにおけるそれぞれのタイルに関するバイトまたはビットカウント、タイルグループにおけるそれぞれのタイルの高さおよび幅などを含む。
図9は、一実施形態によるプロセスを示すフローチャートである。プロセス900は、ビットストリームから画像をデコードするための方法であり、その画像は、複数のセグメントグループへと区分される。この方法は、セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するためにビットストリームの第1の部分をデコードすること(ステップ902)と、ビットストリームの第2の部分をデコードすること(ステップ904)とを含む。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をデコードすることは、第1のセグメントグループをデコードすること(ステップ906)を含む。第1のセグメントグループをデコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値をデコードすること(ステップ908)と、2)第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを決定すること(ステップ910)と、3)第1のセグメントグループアドレスに基づいて第1のセグメントグループに関する第1の空間ロケーションを決定することであって、第1の空間ロケーションが、画像内の第1のセグメントグループのロケーションを表す、第1の空間ロケーションを決定すること(ステップ912)と、4)第1のセグメントグループに関する少なくとも1つのサンプル値をデコードし、第1の空間ロケーションによって与えられたデコードされた画像におけるロケーションに少なくとも1つのサンプル値を割り振ること(ステップ914)とを含む。
いくつかの実施形態においては、アドレスマッピングは、配列および/またはリスト、配列および/またはリストの並行セット、ハッシュマップ、ならびに連想配列のうちの1つまたは複数を含む。実施形態においては、アドレスマッピングを形成するためにビットストリームの第1の部分をデコードすることは、リスト値の数を示す第1の値をビットストリームからデコードすることと、リスト値の数をビットストリームからデコードすることによってリストを形成することであって、リスト値の数が第1の値に等しい、リストを形成することとを含む。実施形態においては、第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを決定することは、第1のセグメントグループインデックス値を使用してルックアップ演算を実行することを含む。
いくつかの実施形態においては、アドレスマッピングを形成するためにビットストリームの第1の部分をデコードすることは、リスト値の数を示す第1の値をビットストリームからデコードすることと、キー/値ペアkおよびvを表す値の数をビットストリームからデコードすることによって第1のリスト(KEY)および第2のリスト(VALUE)を形成することであって、キー/値ペアの数が、第1の値に等しい、第1のリスト(KEY)および第2のリスト(VALUE)を形成することとを含む。第1のリストは、キーkを含み、第2のリストは、キー/値ペアの値vを含み、第1のリストおよび第2のリストの順序付けは、所与のキー/値ペアに関して、第1のリストにおける所与のキーkに関するインデックスが第2のリストにおける所与の値vに関するインデックスに対応するようになっている。実施形態においては、アドレスマッピングを形成するためにビットストリームの第1の部分をデコードすることは、ハッシュ値の数を示す第1の値をビットストリームからデコードすることと、キー/値ペアkおよびvを表す値の数をビットストリームからデコードすることによってハッシュマップを形成することであって、キー/値ペアの数が、第1の値に等しく、所与のキー/値ペアに関して、所与のキーkに関するインデックスが、ハッシュマップによって所与の値vにマップされる、ハッシュマップを形成することとを含む。
いくつかの実施形態においては、第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを決定することは、インデックス(i)を、第1のリストにおけるそのインデックスに対応する値(KEY[i])が第1のセグメントグループインデックス値にマッチするように決定することと、第1のセグメントグループアドレスが、第2のリストにおけるそのインデックスに対応する値(VALUE[i])であると決定することとを含む。いくつかの実施形態においては、第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを決定することは、第1のセグメントグループインデックス値を使用してハッシュルックアップ演算を実行することを含む。いくつかの実施形態においては、デコードされるキー/値ペアkおよびvを表す値は、キーkを表すデルタ値を含み、それによって、第1のキー/値ペアに関して、キーkはデルタ値によって決定され、その他のキー/値ペアに関して、キーkは、以前に決定されたキー値にデルタ値を加えて現在のキーkを生成することによって決定される。
いくつかの実施形態においては、セグメントグループは、タイルグループ、サブピクチャー、および/またはスライスに対応する。いくつかの実施形態においては、セグメントグループは、1つまたは複数のセグメントを含み、いくつかの実施形態においては、セグメントグループは、1つのセグメントのみを含む。
実施形態においては、セグメントグループは、タイルグループに対応する。実施形態においては、ビットストリームの第1の部分は、パラメータセットに含まれ、この方法はさらに、さらなるセグメントグループをデコードすることを含み、アドレスマッピングは、さらなるセグメントグループをデコードするために使用される。実施形態においては、ビットストリームの第1の部分は、パラメータセットに含まれ、この方法はさらに、さらなる画像をデコードすることを含み、アドレスマッピングは、さらなる画像をデコードするために使用される。すなわち、画像が、複数のセグメントグループへとエンコードされることが可能であり、その画像のそれぞれのセグメントグループは、パラメータセットにおいて送信された同じアドレスマッピングを使用することによってデコードされることが可能である。さらに、複数の画像が、ストリームの部分としてエンコードされることが可能であり、それぞれのそのような画像もまた、パラメータセットにおいて送信された同じアドレスマッピングを使用することによってデコードされることが可能である。
図10は、一実施形態によるプロセスを示すフローチャートである。プロセス1000は、ビットストリームから画像をデコードするための方法であり、その画像は、複数のセグメントグループへと区分される。この方法は、セグメントグループインデックス値を、第1のセグメントグループに関してデコードされることになるセグメントの数にマップする、サイズマッピングを形成するためにビットストリームの第1の部分をデコードすること(ステップ1002)と、ビットストリームの第2の部分をデコードすること(ステップ1004)とを含む。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をデコードすることは、第1のセグメントグループをデコードすること(ステップ1006)を含む。第1のセグメントグループをデコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値をデコードすること(ステップ1008)と、2)第1のセグメントグループインデックス値およびサイズマッピングに基づいて第1のセグメントグループに関する第1のサイズを決定すること(ステップ1010)と、3)デコードされた画像を形成するためにセグメントの数をデコードすることであって、セグメントの数が第1のサイズに等しい、セグメントの数をデコードすること(ステップ1012)とを含む。
いくつかの実施形態においては、サイズマッピングは、配列および/またはリスト、配列および/またはリストの並行セット、ハッシュマップ、ならびに連想配列のうちの1つまたは複数を含む。実施形態においては、サイズマッピングを形成するためにビットストリームの第1の部分をデコードすることは、リスト値の数を示す第1の値をビットストリームからデコードすることと、リスト値の数をビットストリームからデコードすることによってリストを形成することであって、リスト値の数が第1の値に等しい、リストを形成することとを含む。実施形態においては、第1のセグメントグループインデックス値およびサイズマッピングに基づいて第1のセグメントグループに関する第1のサイズを決定することは、第1のセグメントグループインデックス値を使用してルックアップ演算を実行することを含む。
いくつかの実施形態においては、セグメントグループは、タイルグループ、サブピクチャー、および/またはスライスに対応する。いくつかの実施形態においては、セグメントグループは、1つまたは複数のセグメントを含み、いくつかの実施形態においては、セグメントグループは、1つのセグメントのみを含む。
図11は、一実施形態によるプロセスを示すフローチャートである。プロセス1100は、画像をビットストリームへとエンコードするための方法であり、その画像は、複数のセグメントグループへと区分される。この方法は、セグメントグループインデックス値を複数のセグメントグループに関するセグメントグループアドレスにマップするアドレスマッピングを決定すること(ステップ1102)と、ビットストリームの第1の部分をエンコードすること(ステップ1104)と、ビットストリームの第2の部分をエンコードすること(ステップ1106)とを含む。ビットストリームの第1の部分をエンコードすることは、セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、複数のセグメントグループを表すコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、第1のセグメントグループをエンコードすること(ステップ1108)を含む。第1のセグメントグループをエンコードすることは、1)第1のセグメントグループに関する第1のセグメントグループアドレスから第1のセグメントグループインデックス値を決定することであって、アドレスマッピングが、第1のセグメントグループインデックス値を第1のセグメントグループアドレスにマップする、第1のセグメントグループインデックス値を決定すること(ステップ1110)と、2)第1のセグメントグループに関する第1のセグメントグループインデックス値をエンコードすること(ステップ1112)と、3)第1のセグメントグループに関するサンプル値をエンコードすること(ステップ1114)とを含む。
アドレスマッピングは、たとえば、入力としてインデックス値を取って、出力としてアドレス値を返すことによって、インデックス値をアドレス値にマップすることが可能である。たとえば、配列またはリストは、配列またはリストのi番目の要素を返すことによって、インデックス値iを所与のアドレス値にマップすることが可能であり、同様にハッシュマップは、キーiに関連付けられている値を返すことによって、インデックス値iを所与のアドレスにマップすることが可能である。インデックスを値にマップするその他の方法も可能であり、本明細書において提供されている実施形態によって包含される。
図12は、一実施形態によるプロセスを示すフローチャートである。プロセス1200は、画像をビットストリームへとエンコードするための方法であり、その画像は、複数のセグメントグループへと区分される。この方法は、セグメントグループインデックス値を、第1のセグメントグループに関してエンコードされることになるセグメントの数にマップするサイズマッピングを決定すること(ステップ1202)と、ビットストリームの第1の部分をエンコードすること(ステップ1204)と、ビットストリームの第2の部分をエンコードすること(ステップ1206)とを含む。ビットストリームの第1の部分をエンコードすることは、セグメントグループインデックス値を、第1のセグメントグループに関してエンコードされることになるセグメントの数にマップするサイズマッピングを形成するコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、複数のセグメントグループを表すコードワードを生成することを含む。ビットストリームの第2の部分をエンコードすることは、第1のセグメントグループをエンコードすること(ステップ1208)を含む。第1のセグメントグループをエンコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値を決定することであって、サイズマッピングが、第1のセグメントグループに関する第1のセグメントグループインデックス値を第1のサイズにマップし、第1のサイズが、第1のセグメントグループに関してエンコードされることになるセグメントの数である、第1のセグメントグループインデックス値を決定すること(ステップ1210)と、2)第1のセグメントグループに関する第1のセグメントグループインデックス値をエンコードすること(ステップ1212)と、3)第1のセグメントグループに関するセグメントの数をエンコードすることであって、セグメントの数が第1のサイズに等しい、セグメントの数をエンコードすること(ステップ1214)とを含む。
いくつかの実施形態においては、第1のセグメントグループインデックス値をエンコードすることは、第1のセグメントグループインデックス値を表す1つまたは複数のコードワードを生成することを含む。
図13は、実施形態によるデコーダ1302およびエンコーダ1304の機能ユニットを示す図である。デコーダ1302は、デコーディングユニット1310および決定ユニット1312を含む。エンコーダ1304は、エンコーディングユニット1314および決定ユニット1316を含む。
一実施形態においては、デコーディングユニット1310は、セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するためにビットストリームの第1の部分をデコードするように設定されており、ビットストリームの第2の部分をデコードするようにさらに設定されている。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をデコードすることは、第1のセグメントグループをデコードすることを含む。第1のセグメントグループをデコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値を(デコーディングユニット1310によって)デコードすることと、2)第1のセグメントグループインデックス値およびアドレスマッピングに基づいて第1のセグメントグループに関する第1のセグメントグループアドレスを(決定ユニット1312によって)決定することと、3)第1のセグメントグループアドレスに基づいて第1のセグメントグループに関する第1の空間ロケーションを(決定ユニット1312によって)決定することであって、第1の空間ロケーションが、画像内の第1のセグメントグループのロケーションを表す、第1の空間ロケーションを(決定ユニット1312によって)決定することと、4)第1のセグメントグループに関する少なくとも1つのサンプル値を(デコーディングユニット1310によって)デコードし、第1の空間ロケーションによって与えられたデコードされた画像におけるロケーションに少なくとも1つのサンプル値を割り振ることとを含む。
一実施形態においては、デコーディングユニット1310は、セグメントグループインデックス値を、第1のセグメントグループに関してデコードされることになるセグメントの数にマップする、サイズマッピングを形成するためにビットストリームの第1の部分をデコードするように設定されており、ビットストリームの第2の部分をデコードするようにさらに設定されている。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をデコードすることは、第1のセグメントグループをデコードすることを含む。第1のセグメントグループをデコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値を(デコーディングユニット1310によって)デコードすることと、2)第1のセグメントグループインデックス値およびサイズマッピングに基づいて第1のセグメントグループに関する第1のサイズを(決定ユニット1312によって)決定することと、3)デコードされた画像を形成するためにセグメントの数を(デコーディングユニット1310によって)デコードすることであって、セグメントの数が第1のサイズに等しい、セグメントの数を(デコーディングユニット1310によって)デコードすることとを含む。
一実施形態においては、決定ユニット1316は、セグメントグループインデックス値を複数のセグメントグループに関するセグメントグループアドレスにマップするアドレスマッピングを決定するように設定されている。エンコーディングユニット1314は、ビットストリームの第1の部分をエンコードするように設定されており、ビットストリームの第2の部分をエンコードするようにさらに設定されている。ビットストリームの第1の部分は、セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するコードワードを含む。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をエンコードすることは、第1のセグメントグループをエンコードすることを含む。第1のセグメントグループをエンコードすることは、1)第1のセグメントグループに関する第1のセグメントグループアドレスから第1のセグメントグループインデックス値を(決定ユニット1316によって)決定することであって、アドレスマッピングが、第1のセグメントグループインデックス値を第1のセグメントグループアドレスにマップする、第1のセグメントグループインデックス値を(決定ユニット1316によって)決定することと、2)第1のセグメントグループに関する第1のセグメントグループインデックス値を(エンコーディングユニット1314によって)エンコードすることと、3)第1のセグメントグループに関するサンプル値を(エンコーディングユニット1314によって)エンコードすることとを含む。
一実施形態においては、決定ユニット1316は、セグメントグループインデックス値を、第1のセグメントグループに関してエンコードされることになるセグメントの数にマップするサイズマッピングを決定するように設定されている。エンコーディングユニット1314は、ビットストリームの第1の部分をエンコードするように設定されており、ビットストリームの第2の部分をエンコードするようにさらに設定されている。ビットストリームの第1の部分は、セグメントグループインデックス値を、第1のセグメントグループに関してエンコードされることになるセグメントの数にマップするサイズマッピングを形成するコードワードを含む。ビットストリームの第2の部分は、複数のセグメントグループを表すコードワードを含む。ビットストリームの第2の部分をエンコードすることは、第1のセグメントグループをエンコードすることを含む。第1のセグメントグループをエンコードすることは、1)第1のセグメントグループに関する第1のセグメントグループインデックス値を(決定ユニット1316によって)決定することであって、サイズマッピングが、第1のセグメントグループに関する第1のセグメントグループインデックス値を第1のサイズにマップし、第1のサイズが、第1のセグメントグループに関してエンコードされることになるセグメントの数である、第1のセグメントグループインデックス値を(決定ユニット1316によって)決定することと、2)第1のセグメントグループに関する第1のセグメントグループインデックス値を(エンコーディングユニット1314によって)エンコードすることと、3)第1のセグメントグループに関するセグメントの数を(エンコーディングユニット1314によって)エンコードすることであって、セグメントの数が第1のサイズに等しい、セグメントの数を(エンコーディングユニット1314によって)エンコードすることとを含む。
図14は、いくつかの実施形態によるノード(たとえば、エンコーダ1302および/またはデコーダ1304)のブロック図である。図Xにおいて示されているように、ノードは、1つまたは複数のプロセッサ(P)1455(たとえば、汎用マイクロプロセッサおよび/または1つもしくは複数のその他のプロセッサ、たとえば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など)を含むことが可能である処理回路(PC)1402と、ノードが、ネットワークインターフェース1448が接続されているネットワーク1410(たとえば、インターネットプロトコル(IP)ネットワーク)に接続されているその他のノードへデータを送信することおよびそれらのその他のノードからデータを受信することを可能にするための送信機(Tx)1445および受信機(Rx)1447を含むネットワークインターフェース1448と、1つもしくは複数の不揮発性ストレージデバイスおよび/または1つもしくは複数の揮発性ストレージデバイスを含むことが可能であるローカルストレージユニット(別名、「データストレージシステム」)1408とを含むことが可能である。PC1402がプログラマブルプロセッサを含む実施形態においては、コンピュータプログラム製品(CPP)1441が提供されることが可能である。CPP1441は、コンピュータ可読命令(CRI)1444を含むコンピュータプログラム(CP)1443を格納しているコンピュータ可読メディア(CRM)1442を含む。CRM1042は、磁気メディア(たとえば、ハードディスク)、光メディア、メモリデバイス(たとえば、ランダムアクセスメモリ、フラッシュメモリ)等などの非一時的コンピュータ可読メディアであることが可能である。いくつかの実施形態においては、コンピュータプログラム1443のCRI1444は、PC1402によって実行されたときに、CRIが、本明細書において記述されているステップ(たとえば、フローチャートを参照しながら本明細書において記述されているステップ)をノードに実行させるように設定されている。その他の実施形態においては、ノードは、コードに対する必要性を伴わずに、本明細書において記述されているステップを実行するように設定されることが可能である。すなわち、たとえば、PC1402は、単に1つまたは複数のASICから構成されることが可能である。したがって、本明細書において記述されている実施形態の特徴は、ハードウェアおよび/またはソフトウェアで実施されることが可能である。
本開示のさまざまな実施形態が本明細書において記述されているが、それらは、限定ではなく、単なる例として提示されているということを理解されたい。したがって、本開示の広がりおよび範囲は、上述の例示的な実施形態のうちのいずれによっても限定されるべきではない。その上、上述の要素の、それらのすべての可能なバリエーションでのあらゆる組合せが、本開示によって包含されている。ただし、本明細書において別段の記載がある場合、またはその他の形で文脈によって明らかに矛盾される場合は除く。
加えて、図面において示されている上述のプロセスは、一連のステップとして示されているが、これは、もっぱら例示のために行われたものである。したがって、いくつかのステップが加えられることが可能であり、いくつかのステップが省略されることが可能であり、ステップの順序がアレンジし直されることが可能であり、いくつかのステップが並行して実行されることが可能であると考えられる。

Claims (37)

  1. ビットストリームから画像をデコードするための方法であって、前記画像が複数のセグメントグループへと区分されており、
    セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するために前記ビットストリームの第1の部分をデコードすることと、
    前記ビットストリームの第2の部分をデコードすることとを含み、
    前記ビットストリームの前記第2の部分が、前記複数のセグメントグループを表すコードワードを含み、
    前記ビットストリームの前記第2の部分をデコードすることが、第1のセグメントグループをデコードすることを含み、
    前記第1のセグメントグループをデコードすることが、
    1)前記第1のセグメントグループに関する第1のセグメントグループインデックス値をデコードすることと、
    2)前記第1のセグメントグループインデックス値および前記アドレスマッピングに基づいて前記第1のセグメントグループに関する第1のセグメントグループアドレスを決定することと、
    3)前記第1のセグメントグループアドレスに基づいて前記第1のセグメントグループに関する第1の空間ロケーションを決定することであって、前記第1の空間ロケーションが、前記画像内の前記第1のセグメントグループのロケーションを表す、第1の空間ロケーションを決定することと、
    4)前記第1のセグメントグループに関する少なくとも1つのサンプル値をデコードし、前記第1の空間ロケーションによって与えられた前記デコードされた画像におけるロケーションに前記少なくとも1つのサンプル値を割り振ることとを含む、方法。
  2. 前記アドレスマッピングが、配列および/またはリスト、配列および/またはリストの並行セット、ハッシュマップ、ならびに連想配列のうちの1つまたは複数を含む、請求項1に記載の方法。
  3. 前記アドレスマッピングを形成するために前記ビットストリームの前記第1の部分をデコードすることが、
    リスト値の数を示す第1の値を前記ビットストリームからデコードすることと、
    リスト値の数を前記ビットストリームからデコードすることによってリストを形成することであって、リスト値の前記数が前記第1の値に等しい、リストを形成することとを含む、請求項1または2に記載の方法。
  4. 前記第1のセグメントグループインデックス値および前記アドレスマッピングに基づいて前記第1のセグメントグループに関する前記第1のセグメントグループアドレスを決定することが、前記第1のセグメントグループインデックス値を使用してルックアップ演算を実行することを含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記アドレスマッピングを形成するために前記ビットストリームの前記第1の部分をデコードすることが、
    リスト値の数を示す第1の値を前記ビットストリームからデコードすることと、
    キー/値ペアkおよびvを表す値の数を前記ビットストリームからデコードすることによって第1のリスト(KEY)および第2のリスト(VALUE)を形成することであって、キー/値ペアの前記数が、前記第1の値に等しく、前記第1のリストが、前記キー/値ペアの前記キーkを含み、前記第2のリストが、前記キー/値ペアの前記値vを含み、前記第1のリストおよび前記第2のリストの順序付けは、所与のキー/値ペアに関して、前記第1のリストにおける前記所与のキーkに関するインデックスが前記第2のリストにおける前記所与の値vに関するインデックスに対応するようになっている、第1のリスト(KEY)および第2のリスト(VALUE)を形成することとを含む、請求項1または2に記載の方法。
  6. 前記アドレスマッピングを形成するために前記ビットストリームの前記第1の部分をデコードすることが、
    ハッシュ値の数を示す第1の値を前記ビットストリームからデコードすることと、
    キー/値ペアkおよびvを表す値の数を前記ビットストリームからデコードすることによってハッシュマップを形成することであって、キー/値ペアの前記数が、前記第1の値に等しく、所与のキー/値ペアに関して、前記所与のキーkに関するインデックスが、前記ハッシュマップによって所与の値vにマップされる、ハッシュマップを形成することとを含む、請求項1または2に記載の方法。
  7. 前記第1のセグメントグループインデックス値および前記アドレスマッピングに基づいて前記第1のセグメントグループに関する前記第1のセグメントグループアドレスを決定することが、
    インデックス(i)を、前記第1のリストにおける前記インデックスに対応する前記値(KEY[i])が前記第1のセグメントグループインデックス値にマッチするように決定することと、
    前記第1のセグメントグループアドレスが、前記第2のリストにおける前記インデックスに対応する前記値(VALUE[i])であると決定することとを含む、請求項5に記載の方法。
  8. 前記第1のセグメントグループインデックス値および前記アドレスマッピングに基づいて前記第1のセグメントグループに関する前記第1のセグメントグループアドレスを決定することが、前記第1のセグメントグループインデックス値を使用してハッシュルックアップ演算を実行することを含む、請求項5または6に記載の方法。
  9. デコードされるキー/値ペアkおよびvを表す前記値が、前記キーkを表すデルタ値を含み、それによって、前記第1のキー/値ペアに関して、前記キーkが前記デルタ値によって決定され、その他のキー/値ペアに関して、前記キーkが、以前に決定されたキー値に前記デルタ値を加えて前記現在のキーkを生成することによって決定される、請求項5から7のいずれか一項に記載の方法。
  10. セグメントグループがタイルグループに対応する、請求項1から9のいずれか一項に記載の方法。
  11. セグメントグループがサブピクチャーに対応する、請求項1から10のいずれか一項に記載の方法。
  12. セグメントがスライスに対応する、請求項1から11のいずれか一項に記載の方法。
  13. セグメントグループが、1つまたは複数のセグメントを含む、請求項1から12のいずれか一項に記載の方法。
  14. セグメントグループが、1つのセグメントのみを含む、請求項1から12のいずれか一項に記載の方法。
  15. 前記ビットストリームの前記第1の部分が、パラメータセットに含まれ、前記方法がさらに、さらなるセグメントグループをデコードすることを含み、前記アドレスマッピングが、前記さらなるセグメントグループをデコードするために使用される、請求項1から14のいずれか一項に記載の方法。
  16. 前記ビットストリームの前記第1の部分が、パラメータセットに含まれ、前記方法がさらに、さらなる画像をデコードすることを含み、前記アドレスマッピングが、前記さらなる画像をデコードするために使用される、請求項1から15のいずれか一項に記載の方法。
  17. ビットストリームから画像をデコードするための方法であって、前記画像が複数のセグメントグループへと区分されており、
    セグメントグループインデックス値を、第1のセグメントグループに関してデコードされることになるセグメントの数にマップする、サイズマッピングを形成するために前記ビットストリームの第1の部分をデコードすることと、
    前記ビットストリームの第2の部分をデコードすることとを含み、
    前記ビットストリームの前記第2の部分が、前記複数のセグメントグループを表すコードワードを含み、
    前記ビットストリームの前記第2の部分をデコードすることが、第1のセグメントグループをデコードすることを含み、
    前記第1のセグメントグループをデコードすることが、
    1)前記第1のセグメントグループに関する第1のセグメントグループインデックス値をデコードすることと、
    2)前記第1のセグメントグループインデックス値および前記サイズマッピングに基づいて前記第1のセグメントグループに関する第1のサイズを決定することと、
    3)前記デコードされた画像を形成するためにセグメントの数をデコードすることであって、セグメントの前記数が前記第1のサイズに等しい、セグメントの数をデコードすることとを含む、方法。
  18. 前記サイズマッピングが、配列および/またはリスト、配列および/またはリストの並行セット、ハッシュマップ、ならびに連想配列のうちの1つまたは複数を含む、請求項17に記載の方法。
  19. 前記サイズマッピングを形成するために前記ビットストリームの前記第1の部分をデコードすることが、
    リスト値の数を示す第1の値を前記ビットストリームからデコードすることと、
    リスト値の数を前記ビットストリームからデコードすることによってリストを形成することであって、リスト値の前記数が前記第1の値に等しい、リストを形成することとを含む、請求項17または18に記載の方法。
  20. 前記第1のセグメントグループインデックス値および前記サイズマッピングに基づいて前記第1のセグメントグループに関する前記第1のサイズを決定することが、前記第1のセグメントグループインデックス値を使用してルックアップ演算を実行することを含む、請求項19に記載の方法。
  21. セグメントグループがタイルグループに対応する、請求項17から20のいずれか一項に記載の方法。
  22. セグメントグループがサブピクチャーに対応する、請求項17から21のいずれか一項に記載の方法。
  23. セグメントがスライスに対応する、請求項17から22のいずれか一項に記載の方法。
  24. セグメントグループが、1つまたは複数のセグメントを含む、請求項17から23のいずれか一項に記載の方法。
  25. セグメントグループが、1つのセグメントのみを含む、請求項17から23のいずれか一項に記載の方法。
  26. 画像をビットストリームへとエンコードするための方法であって、前記画像が複数のセグメントグループへと区分されており、
    セグメントグループインデックス値を前記複数のセグメントグループに関するセグメントグループアドレスにマップするアドレスマッピングを決定することと、
    前記ビットストリームの第1の部分をエンコードすることと、
    前記ビットストリームの第2の部分をエンコードすることとを含み、
    前記ビットストリームの前記第1の部分をエンコードすることが、セグメントグループインデックス値をセグメントグループアドレスにマップする前記アドレスマッピングを形成するコードワードを生成することを含み、
    前記ビットストリームの前記第2の部分をエンコードすることが、前記複数のセグメントグループを表すコードワードを生成することを含み、
    前記ビットストリームの前記第2の部分をエンコードすることが、第1のセグメントグループをエンコードすることを含み、
    前記第1のセグメントグループをエンコードすることが、
    1)前記第1のセグメントグループに関する第1のセグメントグループアドレスから第1のセグメントグループインデックス値を決定することであって、前記アドレスマッピングが、前記第1のセグメントグループインデックス値を前記第1のセグメントグループアドレスにマップする、第1のセグメントグループインデックス値を決定することと、
    2)前記第1のセグメントグループに関する前記第1のセグメントグループインデックス値をエンコードすることと、
    3)前記第1のセグメントグループに関するサンプル値をエンコードすることとを含む、方法。
  27. 前記第1のセグメントグループインデックス値をエンコードすることが、前記第1のセグメントグループインデックス値を表す1つまたは複数のコードワードを生成することを含む、請求項26に記載の方法。
  28. 画像をビットストリームへとエンコードするための方法であって、前記画像が複数のセグメントグループへと区分されており、
    セグメントグループインデックス値を、第1のセグメントグループに関してエンコードされることになるセグメントの数にマップするサイズマッピングを決定することと、
    前記ビットストリームの第1の部分をエンコードすることと、
    前記ビットストリームの第2の部分をエンコードすることとを含み、
    前記ビットストリームの前記第1の部分をエンコードすることが、セグメントグループインデックス値を、前記第1のセグメントグループに関してエンコードされることになるセグメントの数にマップする、前記サイズマッピングを形成するコードワードを生成することを含み、
    前記ビットストリームの前記第2の部分をエンコードすることが、前記複数のセグメントグループを表すコードワードを生成することを含み、
    前記ビットストリームの前記第2の部分をエンコードすることが、第1のセグメントグループをエンコードすることを含み、
    前記第1のセグメントグループをエンコードすることが、
    1)前記第1のセグメントグループに関する第1のセグメントグループインデックス値を決定することであって、前記サイズマッピングが、前記第1のセグメントグループに関する前記第1のセグメントグループインデックス値を第1のサイズにマップし、前記第1のサイズが、前記第1のセグメントグループに関してエンコードされることになるセグメントの数である、第1のセグメントグループインデックス値を決定することと、
    2)前記第1のセグメントグループに関する前記第1のセグメントグループインデックス値をエンコードすることと、
    3)前記第1のセグメントグループに関するセグメントの数をエンコードすることであって、セグメントの前記数が前記第1のサイズに等しい、セグメントの数をエンコードすることとを含む、方法。
  29. 前記第1のセグメントグループインデックス値をエンコードすることが、前記第1のセグメントグループインデックス値を表す1つまたは複数のコードワードを生成することを含む、請求項28に記載の方法。
  30. 請求項1から25のいずれか一項を実行するように適合されているデコーダ。
  31. 請求項26から29のいずれか一項を実行するように適合されているエンコーダ。
  32. ビットストリームから画像をデコードするためのデコーダであって、前記画像が複数のセグメントグループへと区分されており、
    デコーディングユニットおよび決定ユニットを含み、
    前記デコーディングユニットが、セグメントグループインデックス値をセグメントグループアドレスにマップするアドレスマッピングを形成するために前記ビットストリームの第1の部分をデコードするように設定されており、
    前記デコーディングユニットがさらに、前記ビットストリームの第2の部分をデコードするように設定されており、
    前記ビットストリームの前記第2の部分が、前記複数のセグメントグループを表すコードワードを含み、前記ビットストリームの前記第2の部分をデコードすることが、第1のセグメントグループをデコードすることを含み、前記第1のセグメントグループをデコードすることが、
    1)前記第1のセグメントグループに関する第1のセグメントグループインデックス値を(前記デコーディングユニットによって)デコードすることと、
    2)前記第1のセグメントグループインデックス値および前記アドレスマッピングに基づいて前記第1のセグメントグループに関する第1のセグメントグループアドレスを(前記決定ユニットによって)決定することと、
    3)前記第1のセグメントグループアドレスに基づいて前記第1のセグメントグループに関する第1の空間ロケーションを(前記決定ユニットによって)決定することであって、前記第1の空間ロケーションが、前記画像内の前記第1のセグメントグループのロケーションを表す、第1の空間ロケーションを(前記決定ユニットによって)決定することと、
    4)前記第1のセグメントグループに関する少なくとも1つのサンプル値を(前記デコーディングユニットによって)デコードし、前記第1の空間ロケーションによって与えられた前記デコードされた画像におけるロケーションに前記少なくとも1つのサンプル値を割り振ることとを含む、デコーダ。
  33. ビットストリームから画像をデコードするためのデコーダであって、前記画像が複数のセグメントグループへと区分されており、
    デコーディングユニットおよび決定ユニットを含み、
    前記デコーディングユニットが、セグメントグループインデックス値を、第1のセグメントグループに関してデコードされることになるセグメントの数にマップする、サイズマッピングを形成するために前記ビットストリームの第1の部分をデコードするように設定されており、
    前記デコーディングユニットがさらに、前記ビットストリームの第2の部分をデコードするように設定されており、
    前記ビットストリームの前記第2の部分が、前記複数のセグメントグループを表すコードワードを含み、前記ビットストリームの前記第2の部分をデコードすることが、第1のセグメントグループをデコードすることを含み、前記第1のセグメントグループをデコードすることが、
    1)前記第1のセグメントグループに関する第1のセグメントグループインデックス値を(前記デコーディングユニットによって)デコードすることと、
    2)前記第1のセグメントグループインデックス値および前記サイズマッピングに基づいて前記第1のセグメントグループに関する第1のサイズを(前記決定ユニットによって)決定することと、
    3)前記デコードされた画像を形成するためにセグメントの数を(前記デコーディングユニットによって)デコードすることであって、セグメントの前記数が前記第1のサイズに等しい、セグメントの数を(前記デコーディングユニットによって)デコードすることとを含む、デコーダ。
  34. ビットストリームからの画像をエンコードするためのエンコーダであって、前記画像が、複数のセグメントグループへと区分されており、
    エンコーディングユニットおよび決定ユニットを含み、
    前記決定ユニットが、セグメントグループインデックス値を前記複数のセグメントグループに関するセグメントグループアドレスにマップするアドレスマッピングを決定するように設定されており、
    前記エンコーディングユニットが、前記ビットストリームの第1の部分をエンコードするように設定されており、
    前記エンコーディングユニットがさらに、前記ビットストリームの第2の部分をエンコードするように設定されており、
    前記ビットストリームの前記第1の部分をエンコードすることが、セグメントグループインデックス値をセグメントグループアドレスにマップする前記アドレスマッピングを形成するコードワードを生成することを含み、
    前記ビットストリームの前記第2の部分をエンコードすることが、前記複数のセグメントグループを表すコードワードを生成することを含み、
    前記ビットストリームの前記第2の部分をエンコードすることが、第1のセグメントグループをエンコードすることを含み、前記第1のセグメントグループをエンコードすることが、
    1)前記第1のセグメントグループに関する第1のセグメントグループアドレスから第1のセグメントグループインデックス値を(前記決定ユニットによって)決定することであって、前記アドレスマッピングが、前記第1のセグメントグループインデックス値を前記第1のセグメントグループアドレスにマップする、第1のセグメントグループインデックス値を(前記決定ユニットによって)決定することと、
    2)前記第1のセグメントグループに関する前記第1のセグメントグループインデックス値を(前記エンコーディングユニットによって)エンコードすることと、
    3)前記第1のセグメントグループに関するサンプル値を(前記エンコーディングユニットによって)エンコードすることとを含む、エンコーダ。
  35. 画像をビットストリームへとエンコードするためのエンコーダであって、前記画像が、複数のセグメントグループへと区分されており、
    エンコーディングユニットおよび決定ユニットを含み、
    前記決定ユニットが、セグメントグループインデックス値を、第1のセグメントグループに関してエンコードされることになるセグメントの数にマップするサイズマッピングを決定するように設定されており、
    前記エンコーディングユニットが、前記ビットストリームの第1の部分をエンコードするように設定されており、
    前記エンコーディングユニットがさらに、前記ビットストリームの第2の部分をエンコードするように設定されており、
    前記ビットストリームの前記第1の部分をエンコードすることが、セグメントグループインデックス値を、前記第1のセグメントグループに関してエンコードされることになるセグメントの数にマップする、前記サイズマッピングを形成するコードワードを生成することを含み、
    前記ビットストリームの前記第2の部分をエンコードすることが、前記複数のセグメントグループを表すコードワードを生成することを含み、
    前記ビットストリームの前記第2の部分をエンコードすることが、第1のセグメントグループをエンコードすることを含み、前記第1のセグメントグループをエンコードすることが、
    1)前記第1のセグメントグループに関する第1のセグメントグループインデックス値を(前記決定ユニットによって)決定することであって、前記サイズマッピングが、前記第1のセグメントグループに関する前記第1のセグメントグループインデックス値を第1のサイズにマップし、前記第1のサイズが、前記第1のセグメントグループに関してエンコードされることになるセグメントの数である、第1のセグメントグループインデックス値を(前記決定ユニットによって)決定することと、
    2)前記第1のセグメントグループに関する前記第1のセグメントグループインデックス値を(前記エンコーディングユニットによって)エンコードすることと、
    3)前記第1のセグメントグループに関するセグメントの数を(前記エンコーディングユニットによって)エンコードすることであって、セグメントの前記数が前記第1のサイズに等しい、セグメントの数を(前記エンコーディングユニットによって)エンコードすることとを含む、エンコーダ。
  36. ノードの処理回路によって実行されたときに、請求項1から29のいずれか一項に記載の方法を前記ノードに実行させる命令を含むコンピュータプログラム。
  37. 請求項36に記載のコンピュータプログラムを含むキャリアであって、電子信号、光信号、無線信号、およびコンピュータ可読ストレージメディアのうちの1つであるキャリア。
JP2020558017A 2018-12-20 2019-12-13 ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング Active JP7158497B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022162914A JP2023024970A (ja) 2018-12-20 2022-10-11 ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862782722P 2018-12-20 2018-12-20
US62/782,722 2018-12-20
PCT/SE2019/051275 WO2020130912A1 (en) 2018-12-20 2019-12-13 Improved tile address signalling in video encoding and decoding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022162914A Division JP2023024970A (ja) 2018-12-20 2022-10-11 ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング

Publications (2)

Publication Number Publication Date
JP2021528879A true JP2021528879A (ja) 2021-10-21
JP7158497B2 JP7158497B2 (ja) 2022-10-21

Family

ID=71101533

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020558017A Active JP7158497B2 (ja) 2018-12-20 2019-12-13 ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング
JP2022162914A Pending JP2023024970A (ja) 2018-12-20 2022-10-11 ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022162914A Pending JP2023024970A (ja) 2018-12-20 2022-10-11 ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング

Country Status (8)

Country Link
US (2) US11272178B2 (ja)
EP (2) EP3766245A4 (ja)
JP (2) JP7158497B2 (ja)
KR (1) KR102569347B1 (ja)
CN (1) CN112088531A (ja)
BR (1) BR112020021892A2 (ja)
CO (1) CO2020013102A2 (ja)
WO (1) WO2020130912A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102279486B1 (ko) * 2014-03-13 2021-07-20 삼성전자 주식회사 무선 통신 시스템에서 연결을 생성하는 방법 및 장치
US11863789B2 (en) * 2020-03-31 2024-01-02 Tencent America LLC Method for signaling rectangular slice partitioning in coded video stream
CN116737248B (zh) * 2023-08-09 2023-11-14 武汉凌久微电子有限公司 一种硬解码器的休眠和唤醒方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014030187A (ja) * 2012-07-02 2014-02-13 Canon Inc メディアファイル生成方法、メディアファイル生成プログラム
WO2015012225A1 (ja) * 2013-07-22 2015-01-29 ソニー株式会社 情報処理装置および方法
JP2015533051A (ja) * 2012-09-18 2015-11-16 ヴィド スケール インコーポレイテッド タイルおよびタイル群を使用した関心領域ビデオ符号化

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300976B2 (en) 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
US9584819B2 (en) 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US10013474B2 (en) * 2011-10-25 2018-07-03 The United States Of America, As Represented By The Secretary Of The Navy System and method for hierarchical synchronization of a dataset of image tiles
US9124895B2 (en) * 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
GB2513303B (en) 2013-04-16 2017-06-07 Canon Kk Method and device for partitioning an image
JPWO2014196055A1 (ja) * 2013-06-06 2017-02-23 株式会社日立製作所 情報処理システム、データ処理方法
WO2015101716A1 (en) * 2014-01-03 2015-07-09 Nokia Technologies Oy Parameter set coding
US10694192B2 (en) 2014-06-27 2020-06-23 Koninklijke Kpn N.V. HEVC-tiled video streaming
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
WO2016108188A1 (en) * 2014-12-31 2016-07-07 Nokia Technologies Oy Inter-layer prediction for scalable video coding and decoding
US10891264B2 (en) * 2015-04-30 2021-01-12 Vmware, Inc. Distributed, scalable key-value store
US10419768B2 (en) * 2016-03-30 2019-09-17 Qualcomm Incorporated Tile grouping in HEVC and L-HEVC file formats
US10291923B2 (en) 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
EP3293981A1 (en) * 2016-09-08 2018-03-14 Koninklijke KPN N.V. Partial video decoding method, device and system
US10917564B2 (en) 2016-10-12 2021-02-09 Qualcomm Incorporated Systems and methods of generating and processing files for partial decoding and most interested regions
KR102424829B1 (ko) * 2017-02-22 2022-07-25 에스케이텔레콤 주식회사 비디오 데이터가 부호화된 비트스트림을 처리하는 방법
US11062738B2 (en) 2017-03-23 2021-07-13 Qualcomm Incorporated Signalling of video content including sub-picture bitstreams for video coding
US10649969B2 (en) * 2017-06-13 2020-05-12 Western Digital Technologies, Inc. Memory efficient persistent key-value store for non-volatile memories
US11436353B2 (en) * 2017-09-13 2022-09-06 Vmware, Inc. Merge updates for key value stores

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014030187A (ja) * 2012-07-02 2014-02-13 Canon Inc メディアファイル生成方法、メディアファイル生成プログラム
JP2015533051A (ja) * 2012-09-18 2015-11-16 ヴィド スケール インコーポレイテッド タイルおよびタイル群を使用した関心領域ビデオ符号化
WO2015012225A1 (ja) * 2013-07-22 2015-01-29 ソニー株式会社 情報処理装置および方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SJOBERG, RICKARD ET AL.: "AHG12: Merge friendly tile group address signalling", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: MARR, vol. JVET-M0373 (version 1), JPN6022005065, 3 January 2019 (2019-01-03), ISSN: 0004702346 *
SKUPIN, R. AND SANCHEZ, Y.: "MCTS extraction with slice reordering", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JCTVC-AA0029 (version 2), JPN6022005069, 1 April 2017 (2017-04-01), ISSN: 0004702347 *
WU, YONGJUN ET AL.: "Motion-constrained tile sets SEI message", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JCTVC-M0235 (version 3), JPN6022005071, 25 April 2013 (2013-04-25), ISSN: 0004702348 *

Also Published As

Publication number Publication date
KR20210002601A (ko) 2021-01-08
CO2020013102A2 (es) 2020-11-10
BR112020021892A2 (pt) 2021-07-27
US11272178B2 (en) 2022-03-08
US20220150495A1 (en) 2022-05-12
EP3766245A4 (en) 2021-01-27
EP3766245A1 (en) 2021-01-20
US20210144372A1 (en) 2021-05-13
JP7158497B2 (ja) 2022-10-21
WO2020130912A1 (en) 2020-06-25
CN112088531A (zh) 2020-12-15
JP2023024970A (ja) 2023-02-21
KR102569347B1 (ko) 2023-08-22
EP3866471A1 (en) 2021-08-18

Similar Documents

Publication Publication Date Title
CN112703736B (zh) 视频译码方法,视频译码设备以及非瞬时性计算机可读介质
TWI586179B (zh) 用以自資料串流重構圖像的解碼器及方法、用以將圖像編碼入資料串流的編碼器及方法、與相關電腦程式及機器可存取媒體
CN107211122B (zh) 对自包含式编码结构进行编码或解码时的调色板预测结果初始化程序
KR102644707B1 (ko) 비디오 코딩에서 타일 관련 어드레싱을 위한 방법 및 장치
TWI652940B (zh) 於視訊寫碼中用於基於子解碼圖像緩衝器(sub-dpb)之解碼圖像緩衝器操作之傳信
JP2022525329A (ja) 混合されたnalユニットタイプを有するピクチャ
JP2021528879A (ja) ビデオエンコーディングおよびデコーディングにおける改善されたタイルアドレスシグナリング
JP7048755B2 (ja) 柔軟なツリー構造
JP2015526973A (ja) Hevcおよび拡張のためのビデオパラメータセット
JP2017528987A (ja) 予測符号化、復号化方法、対応するエンコーダ、デコーダ及び電子機器
KR20220114088A (ko) 비디오 인코딩 및 비디오 디코딩을 위한 방법, 장치 및 컴퓨터 프로그램 제품
US20230262221A1 (en) Method and device for video coding and decoding
KR101476532B1 (ko) Hevc nal 유닛 구문 구조의 확장
US20240171755A1 (en) Picture Tile Attributes Signaled Per-Tile
CN113243110A (zh) 视频译码中的显式地址指示
JP2023506878A (ja) サブピクチャに関連するビデオコーディング
CN114641988A (zh) 改进的用信号表示亮度块的增量角度的方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221011

R150 Certificate of patent or registration of utility model

Ref document number: 7158497

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150