(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-26
(54)【発明の名称】サブピクチャ、スライス、およびタイルをサポートするビデオ符号化
(51)【国際特許分類】
H04N 19/70 20140101AFI20221219BHJP
【FI】
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022508944
(86)(22)【出願日】2020-12-17
(85)【翻訳文提出日】2022-04-15
(86)【国際出願番号】 EP2020086719
(87)【国際公開番号】W WO2021122956
(87)【国際公開日】2021-06-24
(32)【優先日】2019-12-20
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】ウエドラオゴ, ナエル
(72)【発明者】
【氏名】ラロシュ, ギローム
(72)【発明者】
【氏名】オンノ, パトリス
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159RB09
5C159RC11
5C159SS26
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
本発明は、1つまたは複数の画像の画像データを処理する方法であって、各画像は1つまたは複数のタイルで構成され且つ1つまたは複数の画像部分に分割可能であり、画像は、1つまたは複数のサブピクチャに分割可能であり、方法は、サブピクチャに含まれる1つまたは複数の画像部分を決定することと、決定から得られた情報を使用して1つまたは複数の画像を処理することと、を含む方法を提供する。
【特許請求の範囲】
【請求項1】
1つまたは複数の画像の画像データを処理する方法であって、各画像は1つまたは複数のタイルで構成され且つ1つまたは複数の画像部分に分割可能であり、画像部分はタイルの一部を含むことができ、前記画像は1つまたは複数のサブピクチャに分割可能であり、
サブピクチャに含まれる1つまたは複数の画像部分を決定することと、
前記決定から得られた情報を使用して前記1つまたは複数の画像を処理することと
を含むことを特徴とする方法。
【請求項2】
タイルの前記一部は、タイル内の整数個の連続した完全なコーディングツリーユニット(CTU)列であることを特徴とする請求項1に記載の方法。
【請求項3】
前記決定することは、サブピクチャの識別子を用いて前記1つまたは複数の画像部分を定義することを含むことを特徴とする請求項1または請求項2に記載の方法。
【請求項4】
前記決定することは、前記サブピクチャのサイズ、幅、または高さを用いて、前記1つまたは複数の画像部分を定義することを含むことを特徴とする請求項1乃至3の何れか1項に記載の方法。
【請求項5】
前記決定することは、単一の画像部分のみが前記サブピクチャに含まれるかどうかに基づいて、前記1つまたは複数の画像部分を定義することを含むことを特徴とする請求項1乃至4の何れか1項に記載の方法。
【請求項6】
前記決定することは、前記サブピクチャに含まれている画像部分の数を用いて、前記1つまたは複数の画像部分を定義することを含むことを特徴とする請求項1乃至5の何れか1項に記載の方法。
【請求項7】
画像部分がタイルの1つまたは複数の部分を含む場合には、前記画像部分は、そこに含まれるべきコーディングツリーユニットCTUの行又は列の数に基づいて決定されることを特徴とする請求項1乃至6の何れか1項に記載の方法。
【請求項8】
前記処理は、単一の画像部分のみが前記サブピクチャに含まれるか否か、前記サブピクチャに含まれる画像部分の数、のうちの1つまたは複数を決定するための情報をビットストリームに提供すること、または該ビットストリームから取得することを含む、ことを特徴とする請求項1乃至7の何れか1項に記載の方法。
【請求項9】
決定するための前記情報は、ピクチャパラメータセットPPSに提供されるか、または該ピクチャパラメータセットPPSから取得されることを特徴とする請求項8に記載の方法。
【請求項10】
決定するための前記情報は、シーケンスパラメータセットSPS内に提供されるか、または該シーケンスパラメータセットSPSから取得されることを特徴とする請求項8又は9のいずれか1項に記載の方法。
【請求項11】
前記サブピクチャは2つ以上の画像部分を含み、各画像部分はタイルの1つまたは複数の部分を含むことを特徴とする請求項1乃至10の何れか1項に記載の方法。
【請求項12】
タイルの前記1つ以上の部分は、同じ単一タイルからのものであることを特徴とする請求項11に記載の方法。
【請求項13】
画像部分は1つまたは複数のタイルからなり、前記画像部分は前記画像内の矩形領域を形成することを特徴とする請求項1乃至12の何れか1項に記載の方法。
【請求項14】
1つまたは複数の画像の画像データを処理する方法であって、各画像は1つまたは複数のタイルで構成され且つ1つまたは複数の画像部分に分割可能であり、前記画像は1つまたは複数のサブピクチャに分割可能であり、
サブピクチャに含まれる1つまたは複数の画像部分を決定することと、
前記決定から得られた情報を使用して前記1つまたは複数の画像を処理することと
を含むことを特徴とする方法。
【請求項15】
画像部分はスライスであることを特徴とする請求項1乃至14の何れか1項に記載の方法。
【請求項16】
1つまたは複数の画像を符号化する方法であって、前記方法は、請求項1乃至15の何れか1項に記載の画像データを処理することを含む、ことを特徴とする方法。
【請求項17】
1つまたは複数の画像を復号する方法であって、前記方法は、請求項1乃至15の何れか1項に記載の画像データを処理することを含む、ことを特徴とする方法。
【請求項18】
単一の画像部分のみが前記サブピクチャに含まれるか否かを決定するための情報を、前記ピクチャパラメータセット(PPS)におけるビットストリームに提供するか、または該ピクチャパラメータセット(PPS)からのビットストリームから取得する、ことを更に含むことを特徴とする請求項16又は17に記載の方法。
【請求項19】
前記サブピクチャに含まれる画像部分の数を決定するための情報を、前記ピクチャパラメータセット(PPS)におけるビットストリームに提供するか、または該ピクチャパラメータセット(PPS)からのビットストリームから取得する、ことを更に含むことを特徴とする請求項16乃至18の何れか1項に記載の方法。
【請求項20】
サブピクチャがビデオシーケンスにおいて用いられているか否かを示す情報を、前記シーケンスパラメータセット(SPS)におけるビットストリームに提供するか、または該前記シーケンスパラメータセット(SPS)からのビットストリームから取得する、ことを更に含むことを特徴とする請求項16乃至19の何れか1項に記載の方法。
【請求項21】
1つまたは複数の画像の画像データを処理するデバイスであって、前記デバイスは、請求項1乃至15の何れか1項に記載の前記方法を実行することを特徴とするデバイス。
【請求項22】
1つまたは複数の画像を符号化するデバイスであって、前記デバイスは、請求項16および18乃至20に記載の符号化の前記方法を実行することを特徴とするデバイス。
【請求項23】
1つまたは複数の画像を復号するデバイスであって、前記デバイスは、請求項17乃至20のいずれかに記載の復号の前記方法を実行することを特徴とするデバイス。
【請求項24】
コンピュータまたはプロセッサ上で実行される場合に、請求項1乃至20の何れか1項に記載の前記方法を、前記コンピュータまたはプロセッサに実行させるプログラム。
【請求項25】
請求項24のプログラムを搬送するキャリア媒体。
【請求項26】
ビットストリームによって表され且つ請求項16および18乃至20の何れかに記載の符号化の前記方法を用いて符号化された画像の情報データセットを搬送する信号であって、前記画像は1つまたは複数のタイルからなり且つ1つまたは複数の画像部分に分割可能であり、画像部分はタイルの一部を含むことができ、前記画像は1つまたは複数のサブピクチャに分割可能であり、前記情報データセットは、サブピクチャに含まれる1つまたは複数の画像部分を決定するためのデータを含むことを特徴とする信号。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像のパーティショニング、及び画像又は画像を含む画像のシーケンスの符号化又は復号に関する。本発明の実施形態は、画像の1つまたは複数のサブピクチャへの第1パーティショニング、および画像の1つまたは複数のスライスへの第2パーティショニングを使用して、画像のシーケンスを符号化または復号するときに、特に使用されるが、これに限定されない。
【背景技術】
【0002】
ビデオ符号化は、画像符号化を含む(画像がビデオまたはピクチャの単一フレームに相当する)。ビデオ符号化では、動き補償/予測(例えば、インター予測)またはイントラ予測などのいくつかの符号化ツールを画像上で使用することができる前に、符号化ツールを画像部分上で使用して適用することができるように、画像を最初に1つまたは複数の画像部分に区分(partitioned)(例えば、分割(divided))する。本発明は特に、ビデオ符号化エキスパートグループ/動画エキスパートグループ(VCEG/MPEG)標準化グループによって研究され、汎用ビデオ符号化(VVC)標準での使用が検討されている、2つのタイプの画像部分、サブピクチャおよびスライスへの画像のパーティショニングに関する。
【0003】
サブピクチャは、異なるビットストリームからの独立した空間領域(または画像部分)のビットストリーム抽出およびマージ動作を可能にするために、VVCに導入された新しい概念である。「独立」とは、ここではそれらの領域(又は画像部分)が別の領域又は画像部分を符号化/復号することから得られる情報を参照することなく符号化/復号されることを意味する。例えば、独立した空間領域(すなわち、同じ画像からの別の領域/画像部分の符号化/復号を参照することなく符号化/復号される領域または画像部分)は、関心領域(ROI)ストリーミング(例えば、3Dビデオストリーミング中)のために、または全方向性ビデオコンテンツのストリーミング(例えば、Omnidirectional MediA Format(OMAF)規格を使用してストリーミングされている画像のシーケンス)のために、特にビューポート依存ストリーミング手法がストリーミングに使用される場合に使用される。全方向性ビデオコンテンツからの各画像は(例えば、画質又は解像度に関して)その異なるバージョンで符号化された独立した領域に分割される。次いで、クライアント端末(例えば、携帯電話などのディスプレイを有するデバイス)は、適切なバージョンの独立領域を選択して、メインの視線方向における高品質バージョンの独立領域を取得することができ、一方で、符号化効率を改善するために、全方向性ビデオコンテンツの残りの部分について低品質バージョンの残りの領域を依然として使用することができる。
【0004】
高効率ビデオ符号化(HEVCまたはH.265)は、独立して符号化された領域を示すために、動きが制約されたタイルセット(Motion constrained tile set)シグナリングを提供する(例えば、ビットストリームは、画像の別の領域から「独立」にするように制限されたその動き予測を有するタイルセットを指定または決定するためのデータを含む)。HEVCでは、このシグナリングがSEI(Supplemental Enhancement Information)メッセージで行われ、オプションにすぎない。しかしながら、HEVCでは、スライスシグナリングがこのSEIメッセージから独立して行われ、その結果、1つまたは複数のスライスへの画像のパーティショニングは1つまたは複数のタイルセットへの同じ画像のパーティショニングとは独立して定義される。これは、スライスパーティショニングがそれに課された同じ動き予測制約を有しないことを意味する。
【0005】
汎用ビデオ符号化ドラフト4(VVC4)の古いドラフトに基づく提案は、サブピクチャシグナリングに依存するタイルグループパーティショニングをシグナリングすることを含んでいた。タイルグループは、単一のネットワーク抽象化レイヤ(NAL)ユニットに排他的に含まれるピクチャの整数個の完了タイルである。この提案(JVET-N0107: AHG12: Sub-picture-based coding for VVC、Huawei)は、VVCのサブピクチャ概念を導入するためのシンタックス変更提案であった。サブピクチャ位置は、シーケンスパラメータセット(SPS)内のルマサンプル位置を使用してシグナリングされる。次に、SPS内のフラグは、動き予測は制約されているが、タイルグループパーティショニング(すなわち、ピクチャの1つまたは複数のタイルグループへのパーティショニング)がピクチャパラメータセット(PPS)内でシグナリングされるかどうかを各サブピクチャについて示し、各PPSはサブピクチャごとに定義される。PPSがサブピクチャごとに提供されるので、タイルグループパーティショニングは、JVET-N0107においてサブピクチャごとにシグナリングされる。
【0006】
しかしながら、最新の多用途ビデオ符号化ドラフト7(VVC7)は、このタイルグループパーティショニング概念をもはや有していない。VVC7は、SPS内のCTUユニット内のサブピクチャレイアウトをシグナリングする。SPS内のフラグは、動き予測がサブピクチャに対して制約されているかどうかを示す。これらのSPSシンタックス要素は次のとおりである。
【0007】
【0008】
VVC7では、PPSにおいて、以下のように、タイルパーティションに基づいてスライスパーティショニングが定義される。
【0009】
【0010】
これは、スライスパーティショニングがVVC7におけるサブピクチャパーティショニングとは独立に定義されることを意味する。スライスパーティショニングのためのVVC7シンタックスは、サブピクチャのこの独立性が符号化/復号処理中のサブピクチャのための任意の特定の処理を回避し、結果としてサブピクチャのためのより単純な処理をもたらすので、サブピクチャを参照することなくタイル構造の上で行われる。
【発明の概要】
【0011】
上述したように、VVC7は、ピクチャを画素(又は成分サンプル)の領域に区分するための幾つかのツールを提供する。これらのツールのいくつかの例は、サブピクチャ、スライス及びタイルである。それらの機能を維持しながらこれら全てのツールを収容するために、VVC7は、これらの領域へのピクチャのパーティショニングに幾つかの制約を課す。例えば、タイルは長方形でなければならず、タイルはグリッドを形成しなければならない。スライスは整数個のタイル又はタイルのフラクション(即ち、スライスはタイルの一部分のみ、又は「部分タイル」又は「フラクションタイル」を含む)のいずれかとすることができる。サブピクチャは、1つまたは複数のスライスを含まなければならない矩形領域である。しかしながら、VVC7では、サブピクチャパーティショニングのシグナリングがスライス及びタイルグリッドシグナリングとは無関係である。したがって、VVC7におけるこのシグナリングはデコーダがピクチャパーティショニングがVVC7の制約に適合することをチェックし、保証することを必要とし、これは、複雑であり、デコーダ側で不必要な時間またはリソース消費につながる可能性がある。
【0012】
本発明の実施形態の目的は、前述の画像のパーティショニング、および画像または前記画像を含む画像のシーケンスの符号化または復号の1つまたは複数の問題または欠点に対処することである。例えば、本発明の1つまたは複数の実施形態は、VVC7におけるチェックを必要とする制約のうちの少なくともいくつかが、シグナリングまたは符号化処理中にデザインによって満たされる/満たされることを保証しつつ、(例えば、VVC7文脈内の)ピクチャパーティショニングのシグナリングを改善し、最適化することを目的とする。
【0013】
本発明の態様によれば、添付の特許請求の範囲に記載されるような装置/デバイス、方法、プログラム、コンピュータ可読記憶媒体、およびキャリア媒体/信号が提供される。本発明の他の特徴は、従属請求項および説明から明らかになるのであろう。本発明の他の態様によれば、システム、そのようなシステムを制御するための方法、添付の特許請求の範囲に記載された方法を実行するための装置/デバイス、処理するための装置/デバイス、添付の特許請求の範囲に記載された信号を格納する媒体記憶デバイス、添付の特許請求の範囲に記載されたプログラムを格納するコンピュータ可読記憶媒体または非一時的コンピュータ可読記憶媒体、および添付の特許請求の範囲に記載された符号化方法を使用して生成されたビットストリーム、が提供される。本発明の他の特徴は、従属請求項および以下の説明から明らかになるのであろう。
【0014】
本発明の第1の態様によれば、1つまたは複数の画像の画像データを処理する方法であって、各画像は1つまたは複数のタイルからなり、1つまたは複数の画像部分に分割可能であり、画像は1つまたは複数のサブピクチャに分割可能であり、方法は、サブピクチャに含まれる1つまたは複数の画像部分を決定することと、決定から得られた情報を使用して1つまたは複数の画像を処理することと、を含む、方法が提供される。
【0015】
本発明の第2の態様によれば、1つまたは複数の画像をパーティショニングする方法であって、画像を1つまたは複数のタイルにパーティショニングすることと、前記画像を1つまたは複数のサブピクチャにパーティショニングすることと、第1の態様に従って画像の画像データを処理することによって、前記画像を1つまたは複数の画像部分にパーティショニングすることと、を含む方法が提供される。
【0016】
本発明の第3の態様によれば、1つまたは複数の画像のパーティショニングをシグナリングする方法であって、この方法は、第1の態様に従って1つまたは複数の画像の画像データを処理することと、ビットストリーム内のパーティショニングを決定するための情報をシグナリングすることと、を含む方法が提供される。
【0017】
本発明の前述の態様について、以下の特徴が、本発明の実施形態に従って提供されてもよい。好適には、画像部分が部分タイルを含むことができる。適切には、画像部分が単一の論理ユニット(例えば、1つのネットワーク抽象化レイヤユニットまたは1つのNALユニット)に符号化されるか、または単一の論理ユニットから復号される(例えば、単一の論理ユニットにシグナリングされる、単一の論理ユニットに通信される、単一の論理ユニットに提供される、または単一の論理ユニットから取得される)。適切には、タイル及び/又はサブピクチャが単一の論理ユニット(例えば、1つのNALユニット)に符号化されず、又は単一の論理ユニット(例えば、1つのNALユニット)から復号されない(例えば、単一の論理ユニットにシグナリングされる、単一の論理ユニットに通信される、単一の論理ユニットに提供される、又は単一の論理ユニットから取得される)。
【0018】
本発明の第4の態様によれば、1つまたは複数の画像の画像データを処理する方法であって、各画像は1つまたは複数のタイルからなり、1つまたは複数の画像部分に分割可能であり、画像部分はタイルの一部(部分タイル)を含むことができ、画像は1つまたは複数のサブピクチャに分割可能であり、方法は、サブピクチャに含まれる1つまたは複数の画像部分を決定することと、決定から得られた情報を使用して1つまたは複数の画像を処理することと、を含む方法が提供される。タイルの一部(部分タイル)は、タイル内の整数個の連続した完全なコーディングツリーユニット(CTU)行である。
【0019】
本発明の前述の態様について、以下の特徴が、本発明の実施形態に従って提供されてもよい。適切には、決定することは、サブピクチャの識別子、サブピクチャのサイズ、幅、または高さ、単一の画像部分のみがサブピクチャに含まれるかどうか、サブピクチャに含まれる画像部分の数、のうちの1つまたは複数を使用して、1つまたは複数の画像部分を定義することを含む。
【0020】
好適には、サブピクチャに含まれる画像部分の数が1よりも多い場合、各画像部分はその中に含まれるタイルの数に基づいて決定される。
【0021】
好適には、画像部分がタイルの1つ以上の部分(部分タイル)を含む場合、前記画像部分はそこに含まれるべきコーディングツリーユニットCTUの行又は列の数に基づいて決定される。
【0022】
適切には、処理が、ピクチャパラメータセットPPSにおいて、又はピクチャパラメータセットPPSから、タイルの数に基づいて画像部分を決定するための情報を提供すること、又は取得することと、画像部分がタイルの1つ以上の部分(部分タイル)を含む場合、前記画像部分の符号化データを含む1つまたは複数の論理ユニットのヘッダにおいて、又はヘッダから、タイルの1つ以上の部分(部分タイル)を含む前記画像部分を識別するための情報を提供すること、又は取得することとを含む。
【0023】
好適には、画像部分がタイルラスタスキャンオーダーのタイルのシーケンスからなる。
【0024】
適切には、処理が、単一の画像部分のみがサブピクチャに含まれるかどうか、サブピクチャに含まれる画像部分の数、のうちの1つまたは複数を決定するための情報を、ビットストリームに提供すること、またはビットストリームから取得することを含む。適切には、処理が、1つまたは複数の画像を処理するときに、タイルの一部(部分タイル)を含む画像部分の使用が許可されるかどうかを、ビットストリームに提供すること、又はビットストリームから取得することを含む。
【0025】
適切には、ビットストリーム内に提供される、またはビットストリームから取得される情報は、サブピクチャがビデオシーケンス内で使用されるか否かを示す情報を含み、ビデオシーケンスの1つまたは複数の画像部分は、サブピクチャがビデオシーケンス内で使用されないことを情報が示す場合、タイルの一部(部分タイル)を含むことが許可されないと判定される。
【0026】
適切には、決定するための情報が、ピクチャパラメータセットPPSに提供されるか、またはピクチャパラメータセットPPSから取得される。
【0027】
適切には、決定するための情報が、シーケンスパラメータセットSPS内に提供されるか、またはシーケンスパラメータセットSPSから取得される。
【0028】
好適には、決定するための情報が、サブピクチャに含まれる画像部分の数が1であることを示す場合、サブピクチャはタイルの一部(部分タイル)を含まない単一の画像部分からなる。
【0029】
好適には、サブピクチャが2つ以上の画像部分を含み、各画像部分はタイルの1つ以上の部分(部分タイル)を含む。
【0030】
好適には、タイルの1つ以上の部分(部分タイル)が同じ単一タイルからのものである。
【0031】
好適には、2つ以上の画像部分が2つ以上のタイルからのタイルの1つ以上の部分(部分タイル)を含むことができる。
【0032】
好適には、画像部分が複数のタイルからなり、前記画像部分は画像内の矩形領域を形成する。
【0033】
適切には、画像部分はスライスである(1つ以上の画像部分は1つ以上のスライスである)。
【0034】
本発明の第5の態様によれば、1つまたは複数の画像を符号化する方法が提供され、この方法は、第1の態様または第4の態様による画像データの処理、第2の態様によるパーティショニング、および/または第3の態様によるシグナリング、のいずれかを含む。
【0035】
適切には、方法は、画像を受信することと、第1の態様または第4の態様に従って、受信された画像の画像データを処理することと、受信された画像を符号化することと、ビットストリームを生成することと、をさらに含む。
【0036】
適切には、方法はさらに、ビットストリームにおいて、ピクチャパラメータセットPPS内のタイルの数に基づいて画像部分を決定するための情報、および画像部分がタイルの1つ以上の部分(部分タイル)を含む場合、前記画像部分、スライスセグメントヘッダ、またはスライスヘッダの符号化されたデータを含む1つまたは複数の論理ユニットのヘッダ内のタイルの1つまたは複数の部分(部分タイル)を含む前記画像部分を識別するための情報、PPSにおいて、単一の画像部分のみがサブピクチャ内に含まれるか否かを決定するための情報、PPSにおいて、サブピクチャ内に含まれる画像部分の数を決定するための情報、シーケンスパラメータセットSPSにおいて、1つまたは複数の画像を処理するときに、タイルの部分(部分タイル)を含む画像部分の使用が許可されるか否かを決定するための情報、およびSPSにおいて、サブピクチャがビデオシーケンス内で使用されるか否かを示す情報、のうち1つまたは複数を提供すること、を含む。
【0037】
本発明の第6の態様によれば、1つまたは複数の画像を復号する方法が提供され、この方法は、第1の態様または第4の態様による画像データを処理することと、第2の態様によってパーティショニングすることと、および/または第3の態様によるシグナリング、のいずれかを含む。
【0038】
好適には、本方法が、ビットストリームを受信することと、受信されたビットストリームから情報を復号することと、第1の態様または第4の態様のいずれかに従って画像データを処理することと、復号された情報および処理された画像データを使用して画像を取得することと、をさらに含む。
【0039】
適切には、方法はさらに、ビットストリームから、ピクチャパラメータセットPPSからのタイルの数に基づいて画像部分を決定するための情報、および画像部分がタイルの1つまたは複数の部分(部分タイル)を含む場合、前記画像部分、スライスセグメントヘッダ、またはスライスヘッダの符号化されたデータを含む1つまたは複数の論理ユニットのヘッダからのタイルの1つまたは複数の部分(部分タイル)を含む前記画像部分を識別するための情報、PPSから、単一の画像部分のみがサブピクチャ内に含まれるか否かを決定するための情報、PPSから、サブピクチャ内に含まれる画像部分の数を決定するための情報、シーケンスパラメータセットSPSから、1つまたは複数の画像を処理するときに、タイルの部分(部分タイル)を含む画像部分の使用が許可されるか否かを決定するための情報、およびSPSから、サブピクチャがビデオシーケンス内で使用されるか否かを示す情報、のうち1つまたは複数を取得すること、を含む。
【0040】
本発明の第7の態様によれば、第1の態様、第4の態様、第2の態様、または第3の態様のいずれかに記載の方法を実行するように構成された、1つまたは複数の画像の画像データを処理するためのデバイスが提供される。
【0041】
本発明の第8の態様によれば、第7の態様による処理デバイスを有する、1つまたは複数の画像を符号化するためのデバイスが提供される。好適には、デバイスが第5の態様による方法を実行するように構成される。
【0042】
本発明の第9の態様によれば、第7の態様による処理デバイスを有する、1つまたは複数の画像を復号するためのデバイスが提供される。好適には、デバイスが第6の態様による方法を実行するように構成される。
【0043】
本発明の第10の態様によれば、コンピュータまたはプロセッサ上で実行されるときに、コンピュータまたはプロセッサに、第1の態様、第4の態様、第2の態様または第3の態様、第5の態様または第6の態様による方法を実行させるプログラムが提供される。
【0044】
本発明の第11の態様によれば、第10の態様のプログラムを搬送/格納するキャリア媒体又はコンピュータ読み取り可能な記憶媒体が提供される。
【0045】
本発明の第12の態様によれば、第5の態様による方法を使用して符号化され、ビットストリームによって表される画像のための情報データセットを搬送する信号が提供され、画像は1つまたは複数のタイルからなり、1つまたは複数の画像部分に分割可能であり、画像部分はタイルの部分(部分タイル)を含むことができ、画像は1つまたは複数のサブピクチャに分割可能であり、情報データセットは、サブピクチャに含まれる1つまたは複数の画像部分を決定するためのデータを含む。
【0046】
本発明のさらに別の態様は、コンピュータまたはプロセッサによって実行されると、コンピュータまたはプロセッサに前述の態様の方法のいずれかを実行させるプログラムに関する。プログラムは、それ自体で提供されてもよく、またはキャリア媒体上で、キャリア媒体によって、またはキャリア媒体内で搬送されてもよい。キャリア媒体は非一時的であってもよく、例えば、記憶媒体、特にコンピュータ読み取り可能な記憶媒体であってもよい。キャリア媒体はまた、一時的なもの、例えば、信号または他の伝送媒体であってもよい。信号は、インターネットを含む任意の適切なネットワークを介して送信されてもよい。
【0047】
本発明のさらに別の態様は、前述のデバイス態様のいずれかによるデバイスを備えるカメラに関する。本発明のさらに別の態様によれば、前述のデバイス態様のいずれかによるデバイスおよび/または前述のカメラ態様を具現化するカメラを備えるモバイルデバイスが提供される。
【0048】
本発明の一態様における任意の特徴は、任意の適切な組み合わせで、本発明の他の態様に適用されてもよい。特に、方法の態様は、装置の態様に適用されてもよく、逆もまた同様である。さらに、ハードウェアで実施される特徴は、ソフトウェアで実施されてもよく、その逆も可能である。ここでのソフトウェアおよびハードウェアの機能についての言及は、それに応じて解釈される必要がある。本明細書に記載されるような任意の装置特徴は、方法特徴として提供されてもよく、逆もまた同様である。本明細書で使用されるように、ミーンズプラスファンクション特徴は、適切にプログラムされたプロセッサおよび関連するメモリなど、それらの対応する構造に関して代替的に表現されてもよい。また、本発明の任意の態様において説明され、定義された様々な特徴の特定の組合せは、独立して実装および/または供給および/または使用されることができることを理解されたい。
【0049】
本発明のさらなる特徴、態様、および利点は、添付の図面を参照した以下の実施形態の説明から明らかになるのであろう。以下に説明する本発明の実施形態のそれぞれは、単独で実現してもよいし、複数の実施形態の組み合わせとして実現してもよい。また、様々な実施形態からの特徴は、必要な場合、または単一の実施形態における個々の実施形態からの要素または特徴の組み合わせが有益である場合に組み合わせることができる。
【図面の簡単な説明】
【0050】
ここで、本発明の実施形態を、単なる例として、以下の図面を参照して説明する:
【
図1】
図1は、本発明の一実施形態による、ピクチャをタイル及びスライスにパーティショニングすることを示す。
【
図2】
図2は、本発明の一実施形態によるピクチャのサブピクチャパーティショニングを示す。
【
図3】
図3は、本発明の一実施形態によるビットストリームを示す。
【
図4】
図4は、本発明の一実施形態による符号化処理を示すフローチャートである。
【
図5】
図5は、本発明の一実施形態による復号処理を示すフローチャートである。
【
図6】
図6は、本発明の一実施形態によるスライスパーティショニングのシグナリングに使用される判定ステップを示すフローチャートである。
【
図7】
図7は、本発明の一実施形態によるサブピクチャおよびスライスパーティショニングの例を示す。
【
図8】
図8は、本発明の一実施形態によるサブピクチャおよびスライスパーティショニングの例を示す。
【
図9a】
図9aは、本発明の実施形態による符号化方法のステップを示すフローチャートである。
【
図9b】
図9bは、本発明の実施形態による復号方法のステップを示すフローチャートである。
【
図10】
図10は、本発明の実施形態による符号化方法のステップを示すブロック図である。
【
図11】
図11は、本発明の実施形態による復号方法のステップを示すブロック図である。
【
図12】
図12は、本発明の1つまたは複数の実施形態を実施することができるデータ通信システムを概略的に示すブロック図である。
【
図13】
図13は、本発明の1つまたは複数の実施形態を実施することができる処理デバイスの構成要素を示すブロック図である。
【
図14】
図14は、本発明の1つまたは複数の実施形態を実施することができるネットワークカメラシステムを示す図である。
【
図15】
図15は、本発明の1つまたは複数の実施形態を実施することができるスマートフォンを示す図である。
【発明を実施するための形態】
【0051】
以下に説明する本発明の実施形態は、画像(またはピクチャ)の符号化および復号を改善することに関する。
【0052】
本明細書では、「シグナリング」は、1つまたは複数のパラメータまたはシンタックス要素に関する情報、例えば、サブピクチャの識別子、サブピクチャのサイズ/幅/高さ、単一の画像部分(例えば、スライス)のみがサブピクチャに含まれるかどうか、スライスが矩形スライスであるかどうか、および/またはサブピクチャに含まれるスライスの数、のうちの任意の1つまたは複数を決定するための情報を、ビットストリームに挿入すること(提供すること/含むこと/符号化すること)、またはビットストリームから抽出すること/取得すること(復号すること)を指すことができる。本明細書では、「処理」は、データに対して実行される任意の種類の動作、例えば、1つまたは複数の画像/ピクチャの画像データを符号化または復号することを指すことができる。
【0053】
本明細書では、「スライス」という用語が画像部分の例として使用される(そのような画像部分の他の例が1つまたは複数のコーディングツリーユニットを含む画像部分である)。本発明の実施形態は、スライスの代わりに画像部分、および画像部分のためのヘッダ(スライスヘッダまたはスライスセグメントヘッダの代わりに)などの適切に修正されたパラメータ/値/シンタックスに基づいて実装されてもよいことが理解される。スライスヘッダ、スライスセグメントヘッダ、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)内でシグナリングされるものとして本明細書に記載される様々な情報は、それらがそれらの媒体内でシグナリングすることによって提供されるのと同じ機能性を提供することができる限り、他の場所でシグナリングされてもよいことも理解されたい。スライス、タイルグループ、タイル、コーディングツリーユニット(CTU)/最大コーディングユニット(LCU)、コーディングツリーブロック(CTB)、コーディングユニット(CU)、予測ユニット(PU)、変換ユニット(TU)、またはピクセル/サンプルのブロック、のいずれかを画像部分と呼ぶことができることも理解される。
【0054】
コンポーネントまたはツールが「アクティブ」と記述されている場合、コンポーネント/ツールは「使用可能」または「使用のために利用可能」または「使用中」であり、「非アクティブ」と記述されている場合、コンポーネント/ツールは「使用不可」または「使用のために利用不可」または「使用されていない」であり、「推論可能」とは、ビットストリーム内で明示的にシグナリングすることなく、関連する値またはパラメータを他の情報から決定/取得できることを指す。さらに、フラグが「アクティブ」として記述される場合、それは、フラグが関連するコンポーネント/ツールが「アクティブ」(すなわち、「有効」)であることを示すことを意味することも理解される。
【0055】
本明細書において、以下の用語は特に断らない限り、VVC7において定義されているものと同じ、または機能的に等価な定義のために使用される。VVC7で使用される定義を以下に示す。
【0056】
スライス:1つのNALユニットに排他的に含まれる、ピクチャのタイル内の整数個の連続した完全なCTU行、または整数個の完全なタイル。
【0057】
スライスヘッダ:スライス内に表されるタイル内のすべてのタイルまたはCTU行に関係するデータ要素を含む、符号化されたスライスの部分。
【0058】
タイル:ピクチャ内の特定のタイル列および特定のタイル行内のCTUの矩形領域。
【0059】
サブピクチャ:ピクチャ内の1つまたは複数のスライスの矩形領域。
【0060】
ピクチャ(または画像):単色フォーマットのルマサンプルのアレイ、またはルマサンプルのアレイ、および4:2:0、4:2:2、および4:4:4カラーフォーマットのクロマサンプルの2つの対応するアレイ。
【0061】
符号化ピクチャ:AU内のnuh_layer_idの特定の値を有するVCL NALユニットを含み、ピクチャのすべてのCTUを含むピクチャの符号化表現。
【0062】
符号化表現:符号化された形式で表現されるデータ要素。
【0063】
ラスタスキャン:1次元パターンの第1のエントリが、左から右にスキャンされた2次元パターンの第1の最上行からであり、同様に、左から右にそれぞれスキャンされたパターンの第2、第3などの行(下に行く)が続くような、1次元パターンへの矩形2次元パターンのマッピング。
【0064】
ブロック:サンプルのMxN(M列×N行)アレイ(配列)、または変換係数のMxNアレイ。
【0065】
符号化ブロック:CTBをコーディングブロックに分割することがパーティショニング(partitioning)であるような、MおよびNのある値に対するサンプルのMxNブロック。
【0066】
コーディングツリーブロック(CTB):構成要素のCTBへの分割がパーティショニング(partitioning)であるような、Nのある値に対するサンプルのN×Nブロック。
【0067】
コーディングツリーユニット(CTU):ルマサンプルのCTB、3つのサンプルアレイを有するピクチャのクロマサンプルの2つの対応するCTB、またはモノクロピクチャのサンプルのCTB、またはサンプルを符号化するために使用される3つの別個のカラープレーンおよびシンタックス構造を使用して符号化されるピクチャ。
【0068】
コーディングユニット(CU):ルマサンプルのコーディングブロック、3つのサンプルアレイを有するピクチャのクロマサンプルの2つの対応するコーディングブロック、またはモノクロピクチャのサンプルのコーディングブロック、またはサンプルを符号化するために使用される3つの別個のカラープレーンおよびシンタックス構造を使用して符号化されるピクチャ。
【0069】
構成要素:4:2:0、4:2:2、または4:4:4のカラーフォーマットでピクチャを構成する3つのアレイ(ルマおよび2つのクロマ)のうちの1つからのアレイまたは単一のサンプル、またはモノクロフォーマットでピクチャを構成するアレイのアレイまたは単一のサンプル。
【0070】
ピクチャパラメータセット(PPS):各スライスヘッダにあるシンタックス要素によって決定される、ゼロ個以上の符号化ピクチャ全体に適用されるシンタックス要素を含むシンタックス構造。
【0071】
シーケンスパラメータセット(SPS):各スライスヘッダにあるシンタックス要素によって参照されるPPSにあるシンタックス要素の内容によって決定される、0個以上のCVS全体に適用されるシンタックス要素を含むシンタックス構造。
【0072】
本明細書において、以下の用語はまた、別段の記載がない限り、以下に定義されるように、同じ、または機能的に等価な定義のために使用される。
【0073】
タイルグループ:単一のNALユニットに排他的に含まれるピクチャの整数個の完全な(すなわち、全体の)タイル。
【0074】
「タイルフラクション」、「部分タイル」、「タイルの部分」、又は「タイルのフラクション」:完全(即ち、全体の)タイルを形成しないピクチャのタイル内の整数個の連続した完全CTU行。
【0075】
スライスセグメント:1つのNALユニットに排他的に含まれるピクチャのタイル内の整数個の連続した完全CTU行、または整数個の完全タイル。
【0076】
スライスセグメントヘッダ:スライスセグメント内に表されるタイル内のすべてのタイルまたはCTU行に関係するデータ要素を含む符号化スライスセグメントの部分。
【0077】
スライスセグメントが存在するときのスライス:整数個の完全タイルまたはピクチャのタイルを集合的に表す1つまたは複数のスライスセグメントのセット。
本発明の実施形態
ピクチャ/画像とビットストリームのパーティショニング
3.1 ピクチャのタイルおよびスライスへのパーティショニング
ビデオの圧縮は、HEVC又は出現しつつあるVVC標準のようなほとんどの符号化システムにおけるブロックベースのビデオ符号化に依存する。これらの符号化システムでは、ビデオが異なる時点で(例えば、ビデオ内の異なる時間的位置で)表示され得るフレーム又はピクチャ又は画像又はサンプルのシーケンスから構成される。多層ビデオ(例えば、スケーラブル、ステレオ、または3Dビデオ)の場合、特定の時点で表示される最終/結果画像を形成することができるように、いくつかのピクチャを復号する必要がある場合がある。ピクチャは2つ以上の画像構成要素から構成することもできる(すなわち、ピクチャの画像データは2つ以上の画像構成要素を含む)。そのような画像構成要素の一例は、輝度、色差または深度情報を符号化するための構成要素であろう。
【0078】
ビデオシーケンスの圧縮は、各ピクチャのためのいくつかの異なるパーティショニング技法(すなわち、ピクチャをパーティショニング(partitioning)/分割(diving)するための異なる方式/フレームワーク/アレンジメント/メカニズム)と、これらのパーティショニング技法が圧縮処理中にどのように実施されるかと、を使用する。
【0079】
図1は、VVC7と互換性のある、本発明の一実施形態による、ピクチャのタイルおよびスライスへのパーティショニングを示す。ピクチャ101,102は、点線で示すコーディングツリーユニット(CTU)に分割されている。CTUは、VVC7の符号化および復号の基本単位である。例えば、VVC7では、CTUが128×128画素の領域を符号化することができる。
【0080】
コーディングツリーユニット(CTU)はまた、(ピクセルまたは構成要素サンプル(値)の)ブロック、マクロブロック、またはコーディングブロックとも呼ばれ得る。これはピクチャの異なる画像構成要素を同時に符号化/復号するために使用することができ、あるいはピクチャの異なる画像構成要素を別々に/個別に符号化/復号することができるように、1つの画像構成要素のみに限定することができる。画像のデータが構成要素ごとに別々のデータを含む場合、CTUは複数のコーディングツリーブロック(CTB)をグループ化し、各構成要素に対して1つのCTBをグループ化する。
【0081】
図1に示すように、ピクチャは細い実線で表されるタイルの格子に従って(すなわち、タイルの1つまたは複数の格子に)区分することもできる。タイルは、CTUパーティショニングとは独立に定義可能な長方形領域(ピクセル/構成要素サンプルの)であるピクチャ部分(ピクチャのパーツ/部分)である。タイルはまた、
図1に示された例のように、例えばVVC7におけるCTUのシーケンスに対応することができ、パーティショニング技術(partitioning technique)は、CTUの境界と一致/整列するようにタイルの境界を制限することができる。
【0082】
タイルは、タイル境界が符号化/復号処理の空間依存性を破るように定義される(すなわち、所与のピクチャにおいて、タイルは、同じピクチャの別の空間的に「隣接する」タイルから独立して符号化/復号され得るように定義/指定される)。これは、タイル内のCTUの符号化/復号が同じピクチャ内の別のタイルからのピクセル/サンプルまたは参照データに基づいていないことを意味する。
【0083】
いくつかの符号化/復号システム、例えば、本発明の実施形態またはVVC7のためのシステムは、スライスの概念を提供する(すなわち、1つまたは複数のスライスに基づくパーティショニング技法も使用する)。このメカニズムは、ピクチャをタイルの1つ又は幾つかのグループに区分することを可能にし、タイルのグループは、集合的にスライスと呼ばれる。各スライスは、1つまたは複数のタイルまたは部分タイルから構成される。2つの異なる種類のスライスが、ピクチャ101および102によって示されるように提供される。第1の種類のスライスは、ピクチャ101内の太い実線で表されるように、ピクチャ内に矩形の領域(area)/領域(region)を形成するスライスに制限される。ピクチャ101は、6つの異なる矩形スライス(0)~(5)へのピクチャのパーティショニングを示す。第2の種類のスライスは、ピクチャ102内の太い実線で表されるように、ラスタスキャン順序で連続するタイルに制限される(その結果、スライスはタイルのシーケンスを形成する)。ピクチャ102は、ピクチャを、ラスタスキャン順序で連続するタイルから構成される3つの異なるスライス(0)~(2)に区分することを示す。多くの場合、矩形スライスは、ビデオ内の注目領域(RoI)を処理するための選択の構造/アレンジメント/構成である。スライスは、1つまたは複数のネットワーク抽象化レイヤ(NAL)ユニットとしてビットストリームに符号化(またはビットストリームから復号)できる。NALユニットは、符号化/復号ビットストリーム内のデータのカプセル化のためのデータの論理ユニットである(例えば、整数バイト数を含むパケットであり、複数のパケットがまとめて符号化ビデオデータを形成する)。VVC7の符号化/復号システムでは、スライスが通常、単一のNALユニットとして符号化される。スライスがビットストリーム内でいくつかのNALユニットとして符号化される場合、スライスのための各NALユニットは、スライスセグメントと呼ばれる。スライスセグメントは、そのスライスセグメントの符号化パラメータを含むスライスセグメントヘッダを含む。変形例によれば、スライスの第1のスライスセグメントNALユニットのヘッダは、スライスのための全ての符号化パラメータを含む。スライスの後続のNALユニットのスライスセグメントヘッダは、第1のNALユニットよりも少ないパラメータを含むことができる。そのような場合、第1のスライスセグメントは独立したスライスセグメントであり、後続のセグメントは従属スライスセグメントである(それらは第1のスライスセグメントのNALユニットからの符号化パラメータに依存するので)。
【0084】
3.2 サブピクチャへのパーティショニング
図2は、本発明の一実施形態によるピクチャの、すなわちピクチャの1つまたは複数のサブピクチャへのサブピクチャパーティショニングを示す。サブピクチャは、ピクチャの矩形領域をカバーするピクチャ部分(ピクチャの一部または部分)を表す。各サブピクチャは、別のサブピクチャとは異なるサイズおよび符号化パラメータを有することができる。サブピクチャレイアウト、すなわちピクチャ内のサブピクチャのジオメトリ(例えば、サブピクチャの位置および寸法/幅/高さを使用して定義されるよう)は、ピクチャのスライスのセットをグループ化することを可能にし、2つのピクチャ間の時間的動き予測を制約する(すなわち、制約を課す)ことができる。
【0085】
図2において、ピクチャ201のタイルパーティショニングは、4×5タイルグリッドである。スライスパーティショニングは、各タイルが2つのスライスに分割される(すなわち、スライスが部分タイルを含む)右側の最後のタイル列を除いて、1つのタイル当たり1つのスライスからなる24個のスライスを定義する。ピクチャ201はまた、2つのサブピクチャ202および203に分割される。サブピクチャは、矩形領域を形成する1つまたは複数のスライスとして定義される。サブピクチャ202(点線領域として示されている)は、最初の3つのタイル列(左から始まる)のスライスと、残りのスライス(右側の最後の2つのタイル列)のサブピクチャ203(それらに対角線が付いたハッチング領域として示されている)とを含む。
図2に示されるように、VVC7および本発明の実施形態はピクチャレベルで(例えば、PPSで提供されるシンタックス要素を使用してピクチャごとに)単一スライスパーティショニングおよび単一タイルパーティショニングを定義することを可能にするパーティショニングスキームを提供する。サブピクチャパーティショニングは、タイル及びスライスパーティショニングの上に適用される。サブピクチャの別の態様は、各サブピクチャがフラグのセットに関連付けられることである。これは、時間的予測が同じサブピクチャの部分である参照フレームからのデータを使用するように制約される(例えば、サブピクチャの予測子が別のサブピクチャからの参照データを使用できないように時間的予測が制約される)ことを示すことを可能にする(フラグのセットのうちの1つまたは複数を使用する)。例えば、
図2を参照すると、CTB204はサブピクチャ202に属する。時間的予測がサブピクチャ202に対して制約されていることが示されると、サブピクチャ202に対する時間的予測は、サブピクチャ203から来る参照ブロック(または参照データ)を使用することができない。その結果、サブピクチャ202のスライスは、サブピクチャ203のスライスとは独立に符号可能/復号可能である。この特性/属性/特性/能力は、全方向性ビデオシーケンスを空間部分にセグメント化することを含むビューポート依存ストリーミングにおいて有用であり、各空間部分は、360(度)コンテンツの特定のビューイング方向を表す。次いで、視聴者は所望の/関連する視聴方向に対応するセグメントを選択することができ、サブピクチャのこの特性を使用して、360コンテンツの残りの部分からのデータにアクセスすることなく、セグメントを符号化/復号することができる。
【0086】
サブピクチャの別の使用法は、注目領域を有するストリームを生成することである。サブピクチャは、独立して符号化/復号することができる、これらの注目領域のための空間表現を提供する。サブピクチャは、これらの領域に対応する符号化データへの容易なアクセスを可能にする/可能にするように設計される。その結果、サブピクチャに対応する符号化データを抽出し、単一のサブピクチャのみのデータ、または1つまたは複数の他のサブピクチャとのサブピクチャの組合せ/合成を含む新しいビットストリームを生成することが可能であり、すなわち、サブピクチャベースのビットストリーム生成を使用して柔軟性およびスケーラビリティを改善することができる。
【0087】
3.3 ビットストリーム
図3は、VVC7の符号化システムの要件に適合する本発明の一実施形態によるビットストリームの構成(すなわち、構造、構成、またはアレンジメント)を示す。ビットストリーム300は、シンタックス要素の順序付けられたシーケンスと符号化(画像)データとを表す/示すデータから構成される。シンタックス要素および符号化(画像)データは、NALユニット301~308に配置(すなわち、パッケージ化/グループ化)される。異なるNALユニットタイプがある。ネットワーク抽象化レイヤ(NAL)は、リアルタイムプロトコル/インターネットプロトコル(RTP/IP)、ISOベースメディアファイルフォーマットなど、のようなさまざまなプロトコルのパケットにビットストリームをカプセル化する機能/機能を提供する。ネットワーク抽象化レイヤは、パケット損失回復力のためのフレームワークも提供する。
【0088】
NALユニットは、VCL NALユニットと非VCL NALユニットに分割され、VCLはビデオ符号化層を表す。VCL NALユニットは、実際の符号化されたビデオデータを含む。非VCL NALユニットは追加情報を含む。この追加情報は、符号化されたビデオデータの復号に必要なパラメータ、または復号されたビデオデータの使い勝手を向上させることができる補足データである。
図3のNALユニット306はスライスに対応し(すなわち、スライスの実際の符号化ビデオデータを含む)、ビットストリームのVCL NALユニットを構成する。
【0089】
異なるNALユニット301~305は、異なるパラメータセットに対応し、これらのNALユニットは非VCL NALユニットである。DPS NALユニット301は、デコーディングパラメータセットNALユニットを表し、所与の復号処理に対して一定であるパラメータを含む。VPS NALユニット302、VPSはビデオパラメータセットNALユニットを表し、ビデオ全体について定義されたパラメータを含み(例えば、ビデオ全体は、ピクチャ/画像の1つまたは複数のシーケンスを含む)、したがって、ビットストリーム全体の符号化されたビデオデータを復号するときに適用可能である。DPS NALユニットはVPS NALユニット内のパラメータよりも静的な(それらが安定しており、復号処理中にそれほど変化しないという意味で)パラメータを定義することができる。換言すれば、DPS NALユニットのパラメータは、VPS NALユニットのパラメータよりも頻繁には変化しない。SPS NALユニット303、SPSはシーケンスパラメータセットを意味し、ビデオシーケンス(すなわち、ピクチャまたは画像のシーケンス)に対して定義されたパラメータを含む。特に、SPS NALユニットは、ビデオシーケンスの関連するパラメータおよびサブピクチャレイアウトを定義することができる。各サブピクチャに関連するパラメータは、サブピクチャに適用される符号化制約を指定する。変形例によれば、それはサブピクチャ間の時間的予測が制限されていることを示すフラグを含み、その結果、同じサブピクチャから来るデータは時間的予測処理中に使用するために利用可能である。別のフラグはサブピクチャ境界を横切るループフィルタ(すなわち、ポストフィルタリング)をイネーブルまたはディスエーブルすることができる。
【0090】
PPS NALユニット304、PPSはピクチャパラメータセットを表し、ピクチャまたはピクチャのグループに対して定義されたパラメータを含む。APS NALユニット305、APSは適応パラメータセットを表し、ループフィルタ、典型的には、適応ループフィルタ(ALF)または再成形モデル(またはクロマスケーリングモデルによるルママッピング)またはスライスレベルで使用されるスケーリング行列、のためのパラメータを含む。ビットストリームはまた、SEI NALユニット(
図3には示されていない)を含むことができ、これは、補足拡張情報(Supplemental Enhancement Information)NALユニットを表している。ビットストリームにおけるこれらのパラメータセット(またはNALユニット)の発生の周期性(または包含の頻度)は可変である。ビットストリーム全体に対して定義されるVPSは、ビットストリーム内で1回のみ発生する可能性がある。対照的に、スライスに対して定義されるAPSは、各ピクチャ内の各スライスに対して1回発生することができる。実際には、異なるスライスが同じAPSに依存する(例えば、参照する)ことができ、したがって、一般に、ピクチャのためのビットストリーム内のスライスよりも少ないAPS NALユニットが存在する。
【0091】
AUD NALユニット307は、2つのアクセスユニットを分離するアクセスユニットデリミタNALユニットである。アクセスユニットは同じ復号タイムスタンプを有する1つまたは複数の符号化ピクチャを備えることができるNALユニットのセット(すなわち、同じタイムスタンプを有する1つまたは複数の符号化ピクチャに関連するNALユニットのグループ)である。
【0092】
PH NALユニット308は、単一の符号化ピクチャのスライスのセットに共通のパラメータをグループ化するピクチャヘッダNALユニットである。ピクチャは、AFLパラメータ、再形成モデル、およびピクチャのスライスによって使用されるスケーリング行列を示すために、1つ以上のAPSを参照することがある。
【0093】
VCL NALユニット306の各々は、スライスのためのビデオ/画像データを含む。スライスは、ピクチャ全体またはサブピクチャ、単一のタイル、または複数のタイル、またはタイルのフラクション(部分タイル)に対応することができる。例えば、
図3のスライスは、幾つかのタイル320を含む。スライスは、スライスヘッダ310と、符号化ブロック340として符号化された符号化画素/構成要素サンプルデータを含む生バイトシーケンスペイロード(RBSP)311とから構成される。
【0094】
VVC7のようなPPSのシンタックスは、ルマサンプルのピクチャのサイズを指定するシンタックス要素を含み、タイルおよびスライスの各ピクチャのパーティショニングを指定するシンタックス要素をも含む。
【0095】
PPSは、ピクチャ/フレーム内のスライス位置を決定することを可能にする(すなわち、決定することができる)シンタックス要素を含む。サブピクチャはピクチャ/フレームにおいて矩形領域を形成するので、パラメータセットNALユニット(すなわち、DPS、VPS、SPS、PPS、及びAPS NALユニットのうちの1つまたは複数)から、サブピクチャに属するスライスのセット、タイルの部分、又はタイルを決定することが可能である。
【0096】
符号化および復号処理
3.4 符号化処理
図4は、本発明の一実施形態による、ビデオのピクチャをビットストリームに符号化するための符号化方法を示す。
【0097】
最初のステップ401において、ピクチャはサブピクチャに分割される。各サブピクチャについて、サブピクチャのサイズはアプリケーションによって必要とされる空間アクセス粒度の関数として決定される(例えば、サブピクチャサイズはアプリケーション/使用シナリオが必要とするピクチャ内の領域/空間部分/エリアのサイズ/スケール/粒度レベルの関数として表すことができ、サブピクチャサイズは、単一の領域/空間部分/エリアを含むのに十分に小さくすることができる)。通常、ビューポート依存ストリーミング手法では、サブピクチャサイズが視野の所定の範囲(例えば、60°水平視野の範囲)をカバーするように設定される。注目領域の適応ストリーミングのために、各サブピクチャの幅及び高さは、入力ビデオシーケンスに存在する注目領域に依存するようになされる。典型的には、各サブピクチャのサイズは、1つの注目領域を含むようになされる。サブピクチャのサイズは、ルマサンプルユニットで、またはCTBのサイズの倍数で決定される。さらに、ステップ401において、符号化ピクチャ内の各サブピクチャの位置が決定される。サブピクチャの位置およびサイズは、通常、パラメータセットNALユニットなどの非VCL NALユニットでシグナリングされるサブピクチャレイアウト情報を形成する。例えば、サブピクチャレイアウト情報は、ステップ402でSPS NALユニットに符号化される。
【0098】
このようなSPS NALユニットのSPSシンタックスには、通常、次のシンタックス要素が含まれる。
【0099】
【0100】
ディスクリプタ列はシンタックス要素を符号化するために使用される符号化方式を与え、例えば、u(n)、ここでnは整数値である、は、シンタックス要素がnビットを使用して符号化されることを意味し、ue(v)はシンタックス要素が可変長符号化である左ビットが最初である符号なし整数0次Exp-Golomb符号化シンタックス要素を使用して符号化されることを意味する。se(v)はue(v)と同等であるが、符号整数である。u(v)は、シンタックス要素が他のパラメータから決定されるビット単位の特定の長さをもつ固定長符号化を使用して符号化されることを意味する。
【0101】
ピクチャについてビットストリームにシグナリングするサブピクチャの存在は、フラグsubpics_present_flagの値に応じている。このフラグが0の場合、ビットストリームには、ピクチャを1つまたは複数のサブピクチャにパーティショニングすることに関連する情報が含まれていないことを示す。このような場合、ピクチャ全体をカバーする単一のサブピクチャがあると推測される。このフラグが1に等しいとき、シンタックス要素のセットはフレーム内のサブピクチャのレイアウト(すなわち、ピクチャ)を指定する:シグナリングは、ループ(すなわち、特定の条件が満たされるまで、命令のシーケンスを繰り返すためのプログラミング構造)を用いて、ピクチャのサブピクチャを決定/定義/指定することを含み(ピクチャ内のサブピクチャの数は、sps_num_subpics_minus1シンタックス要素で符号化される)、これは各サブピクチャの位置とサイズを定義することを含む。この「for loop」のインデックスは、サブピクチャインデックスである。シンタックス要素subpic_ctu_top_left_x[i]とsubpic_ctu_top_left_y[i]は、i番目のサブピクチャの最初のCTUの列インデックスと行インデックスにそれぞれ対応する。subpic_width_minus1[i]およびsubpic_height_minus[i]シンタックス要素は、CTU単位でi番目のサブピクチャの幅と高さをシグナリングする。
【0102】
サブピクチャレイアウトに加えて、SPSはサブピクチャ境界に対する制約を規定する:例えば、1に等しいsubpic_treated_as_pic_flag[i]は、i番目のサブピクチャの境界が時間的予測のためのピクチャ境界として扱われることを示す。これは、i番目のサブピクチャの符号化されたブロックが同じサブピクチャに属する参照ピクチャのデータから予測されることを保証する。0に等しい場合、このフラグは、時間的予測が制約されても制約されなくてもよいことを示す。2番目のフラグ(loop_filter_across_subpic_enabled_flag[i])は、ループフィルタリング処理が別のサブピクチャからのデータ(通常はピクセル値)を使用できるかどうかを指定する。これらの2つのフラグは、サブピクチャが他のサブピクチャから独立して符号化されるか否かを示すことを可能にする。この情報は、サブピクチャが他のサブピクチャから抽出され、導出され、または他のサブピクチャとマージされ得るかどうかを決定する際に有用である。
【0103】
ステップ403において、エンコーダは、ビデオシーケンスのピクチャにおけるタイル及びスライスにおけるパーティションを決定し、PPSなどの1つの非VCL NALユニットにおけるこれらのパーティショニングを記述する。このステップは、
図6を参照してさらに後述する。スライス及びタイルパーティショニングのシグナリングは、各サブピクチャが少なくとも1つのスライス及びタイルの一部(即ち、部分タイル)又は1つまたは複数のタイルを含むように、サブピクチャによって制約される。
【0104】
ステップ404において、サブピクチャを形成する少なくとも1つのスライスがビットストリームに符号化される。
【0105】
3.5 復号処理
図5は、本発明の一実施形態によるスライスの一般的な復号処理を示す。各VCL NALユニットについて、デコーダは、現在のスライスに適用されるPPSおよびSPSを決定する。通常、現在のピクチャに使用されているPPSとSPSの識別子を決定する。例えば、スライスのピクチャヘッダは、使用中のPPSの識別子をシグナリングする。このPPS識別子に関連付けられたPPSは、別の識別子(SPSの識別子)を使用してSPSも参照する。
【0106】
ステップ501において、デコーダはサブピクチャパーティションを決定し、例えば、サブピクチャレイアウトを記述/指示するパラメータセットを構文解析することによって、ピクチャ/フレームのサブピクチャのサイズ、典型的にはその幅と高さを決定する。VVC7およびVVC7のこの部分に準拠する実施形態では、このサブピクチャパーティションを決定するための情報を含むパラメータセットはSPSである。第2のステップ502において、デコーダは、ピクチャのタイルへのパーティショニングに関連する1つのパラメータセットNALユニット(又は非VCL NALユニット)のシンタックス要素を解析する。例えば、VVC7準拠ストリームの場合、タイルパーティショニングシグナリングは、PPS NALユニット内にある。この決定ステップの間、デコーダは、各サブピクチャに存在するタイルの特性を記述/定義する変数のセットを初期化する。例えば、i番目のサブピクチャについて以下の情報を決定することができる(
図6のステップ601参照)。
・ サブピクチャがタイルのフラクション、すなわち部分タイルを含むかどうかを示すフラグ(
図6のステップ603参照)
・ サブピクチャ内のタイルの数を示す整数値(
図6のステップ602)
・ サブピクチャの幅をタイル単位で指定する整数値(
図6のステップ604)
・ サブピクチャの高さをタイル単位で指定する整数値(
図6のステップ604)
・ ラスタスキャン順序でサブピクチャ内に存在するタイルインデックスのリスト(
図6のステップ605)
この
図6は、本発明の一実施形態によるスライスパーティショニングのシグナリングを示しており、これは、符号化処理および復号処理の両方で使用することができる判定ステップを含む。
【0107】
ステップ503において、デコーダは各サブピクチャのスライスパーティショニングを推論(すなわち、導出または決定)するために、スライスパーティションのシグナリング(1つの非VCL NALユニット内、例えば、典型的にはVVC7のためのPPS内)および以前に決定された情報に依存する。具体的には、デコーダは、スライスの数、スライスのうちの1つまたは複数の高さおよび幅を推論(すなわち、導出または決定)することができる。デコーダは、スライスヘッダ内に存在する情報を取得して、スライスデータ内に存在するCTBの復号位置を決定することもできる。
【0108】
最後のステップ504では、デコーダがステップ503で決定された位置でピクチャを形成するサブピクチャのスライスを復号する。
【0109】
パーティショニングのシグナリング
3.6 スライスパーティショニングのシグナリング
本発明の一実施形態によれば、スライスはピクチャのタイル内の整数個の完全および連続的なCTU行又は列、または整数個の完全タイル、から構成することが可能である(後者の可能性が部分タイルが連続的なCTU行又は列を含む限り、スライスが部分タイルを含むことが可能であることを意味する)。
【0110】
使用のために、スライスの2つのモード、すなわちラスタースキャンスライスモードおよび矩形スライスモードをサポート/提供することもできる。ラスタスキャンスライスモードでは、スライスがピクチャのタイルラスタスキャン順序の完全タイルのシーケンスを含む。矩形スライスモードでは、スライスがピクチャの矩形領域を集合的に形成する複数の完全タイル、又はピクチャの矩形領域を集合的に形成する1つのタイルの複数の連続した完全CTU行(又は列)のいずれかを含む。矩形スライス内のタイルは、そのスライスに対応する矩形領域内でタイルラスタスキャン順序でスキャンされる。
【0111】
スライス構造(レイアウトおよび/またはパーティショニング)を指定するためのVVC7のシンタックスは、サブピクチャに対するVVC7のシンタックスとは無関係である。例えば、スライスパーティショニング(すなわち、ピクチャのスライスへのパーティショニング)は、サブピクチャを参照することなく(すなわち、サブピクチャを形成するために使用されるシンタックス要素を参照することなく)、タイル構造/パーティショニングの上に(すなわち、それに基づいて、またはそれを参照して)行われる。一方、VVC7はサブピクチャにいくつかの制約(すなわち制約)を課し、例えば、サブピクチャは、1つまたは複数のスライスを含まなければならず、スライスヘッダは、そのサブピクチャに関するスライスのインデックスであるslice_addressシンタックス要素(すなわち、サブピクチャ内のスライスのうちのスライスのインデックスなどの関連するサブピクチャについて定義されたインデックス)を含む。VVC7はまた、矩形スライスモードにおいて部分タイルを含むスライスを許容するだけであり、ラスタスキャンスライスモードは部分タイルを含むそのようなスライスを規定しない。VVC7で使用される現在のシンタックスシステムは、設計によってこれらの制約のすべてを実施するわけではなく、したがって、このシンタックスシステムの実装はVVC7明細書/要件に準拠しないビットストリームを生成する傾向があるシステムにつながる。
【0112】
したがって、本発明の実施形態はサブピクチャレイアウト定義からの情報を使用して、スライスパーティションを指定し、サブピクチャ、タイル、およびスライスシグナリングのためのより良好な符号化効率を提供しようとする。
【0113】
タイル内に複数のスライス(「タイルフラクション」スライスまたは部分タイルを含むスライスとも呼ばれる)を定義する能力を有するための要件は、全方向ストリーミング要件に由来する。OMAFストリームのBEAMER(Bitstream Extraction And MERging)動作のためにタイル内にスライスを定義する必要があることが確認された。これは「タイルフラクション」スライスが異なるサブピクチャに存在してBEAMER動作を可能にすることができることを意味し、このことは複数のスライスを有する1つの完全なタイルを含むサブピクチャを有することがほとんど意味をなさないことを意味する。
【0114】
本発明の最初の3つの実施形態(実施形態1、実施形態2および実施形態3)に続いて、サブピクチャに基づくスライスパーティション決定およびシグナリングを定義する。最初の実施形態1は、サブピクチャが複数の「タイルフラクション」スライスを含むことを禁止/禁止/禁止するシンタックスシステムを含むが、2番目の実施例2はサブピクチャが最大1つのタイルを含む場合(すなわち、サブピクチャが複数のタイルを含む場合、そのすべてのスライスは整数個の完全タイルを含む)にのみ許可/許可するシンタックスシステムを含む。実施形態3は、「タイルフラクション」スライスの使用の明示的なシグナリングを提供する。「タイルフラクション」スライスが使用されないとき、それはそのようなスライスに関連するシンタックス要素をシグナリングすることを回避し、それはスライスパーティションのシグナリングの符号化効率を改善することができる。実施形態1~3は、矩形スライスモードにおいてのみタイルフラクションスライスの使用を許可/許可する。
【0115】
4番目の実施形態4は、最初の3つの実施形態の代替であり、統一シンタックスシステムを使用して、ラスタスキャンおよび矩形スライスモードの両方でタイルフラクションスライスの使用を許可/許可する。5番目の実施形態5は、他の実施形態の代替であり、サブピクチャレイアウト及びスライスパーティショニングは、ビットストリームにおいてシグナリングされず、タイルシグナリングから推論される(すなわち、決定又は導出される)。
【0116】
実施形態1
最初の実施形態、第1の実施形態では、VVC7のスライスパーティションのためのシンタックスが、正しく実施することが困難な多数の制約を指定することを回避するために、また、スライスパーティショニングのためのパラメータ、例えばスライスのサイズを推論/導出するためにサブピクチャレイアウトに依存するために、修正される。サブピクチャは完全なスライスのセット/グループによって表される(すなわちから構成される)ので、サブピクチャが単一のスライスを含むときに、スライスのサイズを推論することが可能である。同様に、サブピクチャ内のスライスの数およびサブピクチャ内の以前に処理/遭遇したスライスのサイズから、最後のスライスのサイズを推論/導出/決定することができる。
【0117】
実施形態1では、スライスが全部/全体サブピクチャをカバーする(言い換えれば、サブピクチャ内に単一のスライスがある)場合にのみ、スライスがタイルのフラクション/部分(すなわち、部分タイル)を含むことが許される。スライスサイズのシグナリングは、サブピクチャ内に2つ以上のスライスがある場合に必要である。一方、スライスサイズは、サブピクチャ内に1つのスライスが存在する場合のサブピクチャサイズと同じである。その結果、スライスがタイルのフラクションを含む場合、スライスサイズは、(サブピクチャサイズと同じであるため)パラメータセットNALユニットにおいてシグナリングされない。そのため、スライス幅および高さがスライスサイズのシグナリングシナリオの場合のみタイル単位になるように制約することが可能である。
【0118】
この実施形態のためのPPSのシンタックスは、各サブピクチャに含まれるスライスの数を指定することを含む。スライスの数が1より大きい場合、スライスのサイズ(幅及び高さ)はタイル単位で表される。最後のスライスのサイズは上述のように、サブピクチャレイアウトからシグナリングされず、推論/導出/決定されない。
【0119】
本実施形態の変形例によれば、PPSシンタックスは以下のセマンティクス(すなわち、定義または関数)をもつ以下のシンタックス要素を含む。
【0120】
PPSシンタックス
【0121】
【0122】
PPSセマンティクス
スライスは、サブピクチャ毎に定義される。”for loop”は、num_slices_in_subpic_minus1シンタックス要素と共に使用され、その特定のサブピクチャ内の正しい数のスライスを形成/処理する。シンタックス要素num_slices_in_subpic_minus1[i]は、スライスの数(iと等しいサブピクチャインデックスを持つサブピクチャ内)から1を引いた数を示し、つまり、シンタックス要素は、サブピクチャ内のスライスの数より1少ない値を示す。0に等しいとき、それは、サブピクチャがサブピクチャサイズに等しいサイズの単一のスライスを含むことを示す。スライスの数が1より大きい場合、スライスのサイズは、整数個のタイルの単位で表される。最後のスライスのサイズは、サブピクチャサイズ(及びサブピクチャ内の他のタイルのサイズ)から推論される。このアプローチでは、シンタックス要素に対して以下のセマンティクスを持つ完全サブピクチャをカバーする場合に、”タイルフラクション”スライスを定義することができる。
【0123】
pps_num_subpics_minus1プラス1は、PPSを参照する符号化ピクチャ内のサブピクチャの数を指定する。pps_num_subpic_minus1の値がsps_num_subpics_minus1(SPSレベルで定義されるサブピクチャの数)に等しいことは、ビットストリーム適合性の要件である。
【0124】
1に等しいsingle_slice_per_subpic_flagは、各サブピクチャが1つおよび1つのみの矩形スライスで構成されることを指定する。0に等しいsingle_slice_per_subpic_flagは、各サブピクチャが1つまたは複数の矩形スライスで構成されることを指定する。subpics_present_flagが0に等しいとき、single_slice_per_subpic_flagは0に等しい。single_slice_per_subpic_flagが1に等しい場合、num_slices_in_pic_minus1はsps_num_subpics_minus1(SPSレベルで定義されるサブピクチャの数)と等しいと推測される。
【0125】
num_slices_in_subpic_minus1[i]プラス1は、i番目のサブピクチャ内の矩形スライスの数を指定する。num_slices_in_subpic_minus1の値は、包括的な、0からMaxSlicesPerPicture-1までの範囲内でなければならず、ここで、MaxSlicesPerPictureはAnnex Aで指定されている。no_pic_partition_flagが1に等しい場合、num_slices_in_subpic_minus1[0]の値は0に等しいと推測される。
【0126】
このシンタックス要素は、Ceil(log2(num_slices_in_subpic_minus1[SubPicIdx]+1))ビットであるスライスヘッダのslice_addressの長さを決定する(ここで、SubPicIdxはスライスのサブピクチャのインデックスである)。slice_addressの値は、包括的な、0からnum_slices_in_subpic_minus1[SubPicIdx]までの範囲内である。
【0127】
0に等しいtile_idx_delta_present_flagは、tile_idx_delta値がPPSに存在せず、PPSを参照するピクチャのすべてのサブピクチャ内のすべての矩形スライスがラスタ順序で指定されることを指定する。1に等しいtile_idx_delta_present_flagは、tile_idx_delta値がPPSに存在する可能性があり、PPSを参照するピクチャのすべてのサブピクチャ内のすべての矩形スライスがtile_idx_deltaの値によって示される順序で指定されることを指定する。
【0128】
slice_width_in_tiles_minus1[i][j]プラス1は、i番目のサブピクチャにおけるタイル列単位のj番目の矩形スライスの幅を指定する。slice_width_in_tiles_minus1[i][j]の値は、包括的な、0からNumTileColumns-1(ここで、NumTileColumnsはタイルグリッド内のタイル列の数)の範囲内にある必要がある。存在しない場合、slice_width_in_tiles_minus1[i][j]の値は、サブピクチャサイズの関数として推論される。
【0129】
slice_height_in_tiles_minus1[i][j]プラス1は、i番目のサブピクチャにおけるタイル行単位でj番目の矩形スライスの高さを指定する。slice_height_in_tiles_minus1[i][j]の値は、包括的な、0からNumTileRows-1(ここで、NumTileRowsはタイルグリッド内のタイル行の数)までの範囲内である。存在しない場合、slice_height_in_tiles_minus1[i][j]の値は、i番目のサブピクチャサイズの関数として推論される。
【0130】
tile_idx_delta[i][j]は、i番目のサブピクチャのj番目の矩形スライスと(j+1)番目の矩形スライスとの間のタイルインデックスの差を指定する。tile_idx_delta[i][j]の値は、包括的な、-NumTilesInPic[i]+1~NumTilesInPic[i]-1の範囲内でなければならない(ここで、NumTilesInPic[i]はピクチャ内のタイルの数である。存在しない場合、tile_idx_delta[i][j]の値は0に等しいと推論される。他のすべての場合、tile_idx_delta[i][j]の値は0に等しくない。
【0131】
したがって、この変形例によれば、
・ サブピクチャは、ピクチャ内の1つまたは複数のスライスの矩形領域である。スライスのアドレスは、サブピクチャに関連して定義される。サブピクチャとそのスライスとの間のこの関連/関係は、各サブピクチャに適用される「for loop」内のスライスを定義するシンタックスシステムに反映される。
・ 設計により、同じサブピクチャ内の2つの異なるタイルから2つ以上のタイルフラクションスライスを有することにつながり得る望ましくないパーティショニングを回避する。
・ タイルおよびサブピクチャパーティショニングの両方からスライスパーティショニングを推論することが可能であり、これはシグナリングの符号化効率を改善する。
・ この変形例のさらなる変形例によれば、スライスパーティショニングのこの推論/導出は、以下の処理を使用して実行される。矩形スライスの場合、包括的な、0からnum_slices_in_pic_minus1までの範囲のiのリストNumCtuInSlice[i]は、i番目のスライスのCTUの数を指定し、包括的な、0からnum_slices_in_pic_minus1までの範囲のiおよび包括的な、0からNumCtuInSlice[i]-1までの範囲のjの行列CtbAddrInSlice[i][j]は、i番目のスライス内のj番目のCTBのピクチャラスタスキャンアドレスを指定し、single_slice_per_subpic_flagが0に等しい場合、次のように導出される。
【0132】
【0133】
ここで、関数AddCtbsToSlice(sliceIdx、startX、stopX、startY、stopY)は、スライスのCtbAddrInSliceアレイをSliceIdxに等しいインデックスで満たす。CTB行の垂直アドレスがstartYとstopYとの間にあり、CTB列の水平アドレスがstartXとstopXとの間にある状態で、CTBのラスタスキャン順序でアレイをCTBアドレスで満たす。
【0134】
この処理は、各サブピクチャに処理ループを適用することを含む。サブピクチャごとに、サブピクチャ内の第1のタイルのタイルインデックスは、サブピクチャの第1のタイルの水平アドレスおよび垂直アドレス(すなわち、subpicTileTopLeftX[i]およびsubpicTileTopLeftX[i]変数)と、タイルパーティション情報によって指定されるタイル列の数とから決定される。この値は、サブピクチャの第1のスライスにおける第1のタイルのインデックスを推論/示す/表す。各サブピクチャに対して、第2の処理ループがサブピクチャの各スライスに適用される。スライスの数は、1にnum_slices_in_subpics_minus1[i][j]変数を加えたものに等しく、PPSにおいて符号化されるか、ビットストリームに含まれる他の情報から推論/導出/決定される。スライスがサブピクチャの最後のものである場合、タイル内のスライスの幅は、タイル内のサブピクチャ幅からスライスの第1のタイルの列の水平アドレスを引いたものにサブピクチャの第1のタイルの列の水平アドレスを加えたものに等しいと推論/推論/導出/決定される。同様に、タイル内のスライスの高さは、タイル内のサブピクチャ高さから、スライスの第1のタイルの行の垂直アドレスを引いたものにサブピクチャの第1のタイルの行の垂直アドレスを加えたものに等しいと推論/推論/導出/決定される。前のスライスの第1のタイルのインデックスは、スライスパーティショニング情報において(例えば、前のスライスの第1のタイルのタイルインデックスとの差として)符号化されるか、又はサブピクチャにおけるタイルのラスタスキャン順序における次のタイルに等しいと推定/推定/導出/決定される。
【0135】
サブピクチャがタイルのフラクション(すなわち、部分タイル)を含む場合、スライスのCTUにおける幅及び高さは、CTU単位でのサブピクチャの幅及び高さに等しいと推定/推定/導出/決定される。CtbAddrInSlice[sliceIdx]アレイは、ラスタスキャン順序でサブピクチャのCTUで満たされる。そわない場合、サブピクチャは1つまたは複数のタイルを含み、CtbAddrInSlice[sliceIdx]アレイは、スライスに含まれるタイルのCTUで満たされる。サブピクチャのスライスに含まれるタイルは、タイル列の垂直アドレス、[tileX、tileX + slice_width_in_tiles_minus1[i][j]]の範囲から定義される垂直アドレス、およびタイル列の水平アドレス、[tileY、tileY + slice_height_in_tiles_minus1[i][j]]の範囲から定義される水平アドレス、を有するタイルであり、ここでtileXは、スライスの第1のタイルのタイル列の垂直アドレスであり、tileYは、スライスの第1のタイルのタイル行の水平アドレスであり、サブピクチャ内のスライスのjインデックスおよびiサブピクチャインデックス。
【0136】
最後に、スライスに対する処理ループは、サブピクチャの次のスライスにおける第1のタイルを決定する決定ステップを含む。タイルインデックスオフセット(tile_idx_delat[i][j])が符号化されると(tile_idx_delta_present_flag[i]は1に等しい)、次のスライスのタイルインデックスは、現在のスライスの第1のタイルのインデックスにタイルインデックスオフセット値の値を加えたものに等しく設定される。そわない場合(すなわち、タイルインデックスオフセットが符号化されていない場合)、tileIdxはサブピクチャの第1のタイルのタイルインデックスに、ピクチャ内のタイル列の数とタイル単位の高さとの積を加えたものから、現在のスライスの1を引いたものに等しく設定される。
【0137】
さらなる変形例によれば、サブピクチャが部分タイルを含む場合、PPS内のサブピクチャに含まれるスライスの数をシグナリングする代わりに、サブピクチャは、この部分タイルからなると推論/推論/導出/決定される。例えば、これを行うために、以下の代替PPSシンタックスが代わりに使用される可能性がある。
【0138】
代替のPPSシンタックス
さらなる変形例では、サブピクチャがタイルのフラクションを表す(すなわち、サブピクチャが部分タイルを含む)場合、サブピクチャ内のスライスの数は1に等しいと推論される。シンタックス要素の符号化データサイズは、タイルフラクションを表すサブピクチャの数(すなわち、部分タイルを含むサブピクチャの数)が増加することにつれて、さらに低減され、ストリームの圧縮を改善する。PPSのシンタックスは、たとえば次のようになる。
【0139】
【0140】
num_slices_in_subpic_minus1[i]の新しいセマンティック/定義は次のとおりである。
【0141】
num_slices_in_subpic_minus1[i]プラス1は、i番目のサブピクチャ内の矩形スライスの数を指定する。num_slices_in_subpic_minus1の値は、包括的な、0からMaxSlicesPerPicture-1までの範囲内であり、ここで、MaxSlicesPerPictureはAnnex Aで指定されている。存在しない場合、num_slices_in_subpic_minus1[i]の値は、包括的な、0からpps_num_subpic_minus1までの範囲内のiに対して0に等しいと推測される。
【0142】
tileFractionSubpicture[i]変数は、i番目のサブピクチャがタイルのフラクション(部分タイル)をカバーするかどうか、すなわち、サブピクチャのサイズがサブピクチャの最初のCTUが属するタイルよりも厳密に小さい(すなわち、小さい)かどうかを指定する。
【0143】
デコーダは、サブピクチャレイアウト及びタイルグリッド情報からこの変数を次のように決定する:サブピクチャの上部及び下部水平境界の両方がタイル境界である場合、tileFractionSubpicture[i]は0に等しく設定される。対照的に、上部または下部水平サブピクチャ境界の少なくとも1つがタイル境界でない場合、tileFractionSubpicture[i]は1に等しく設定される。
【0144】
さらに別の変形例では、slice_width_in_tiles_minus1[i][j]およびslice_height_in_tiles_minus1[i][j]の存在、またはその欠如は、タイル単位でのサブピクチャの幅と高さから推測される。例えば、変数subPictureWidthInTiles[i]およびsubPictureHeightInTiles[i]は、タイル単位でi番目のサブピクチャの幅および高さをそれぞれ定義する。サブピクチャがタイルのフラクションである場合、サブピクチャの幅は1に設定され(タイルのフラクションはタイルの幅に等しい幅を有するので)、高さは、サブピクチャの高さが1つの完全なタイルよりも低いことを示すために、慣例によって0に設定される。任意の他のプリセット/所定の値を使用することができ、主な制約は、2つの値がタイル内の可能なサブピクチャサイズを表さないように設定/決定されることであることを理解されたい。例えば、値は、ピクチャ内のタイルの最大数に1を加えたものに等しく設定されてもよい。その場合、タイルの最大数よりも大きいサブピクチャの幅または高さは可能ではないため、サブピクチャはタイルのフラクションであると推論することができる。
【0145】
これらの変数は、タイルパーティショニングが決定されると初期化される(通常、num_exp_tile_columns_minus1、num_exp_tile_rows_minus1、tile_column_width_minus1[i]、およびtile_row_height_minus1[i]シンタックス要素に基づいている)。処理は、各サブピクチャに対して処理ループを実行することを含むことができる。すなわち、各サブピクチャについて、サブピクチャがタイルのフラクションをカバーする場合、サブピクチャのタイル単位の幅および高さは、それぞれ1および0に設定される。そわなければ、サブピクチャのタイルにおける幅の決定は、次のように決定される:サブピクチャの最初のCTUのCTU列の水平アドレス(i番目のサブピクチャに対するサブピクチャレイアウトシンタックス要素subpic_ctu_top_left_x[i]から決定される)が、サブピクチャにおける最初のタイルのタイル列の水平アドレスを決定するために使用される。
【0146】
次に、タイルグリッドの各タイル列について、タイル列の最右CTU列および最左の水平アドレスが決定される。サブピクチャの第1のCTUのCTU列の水平アドレスがこれら2つのアドレスの間にある場合、水平アドレスは、サブピクチャ内の第1のタイルのタイル列の水平アドレスを示す。同じ処理が、サブピクチャの最右のCTU列を含むタイル列の水平アドレスを決定するために適用される。右端のCTU列は、サブピクチャの最初のCTUのCTU列の水平アドレスと、CTU単位でのサブピクチャの幅(subpic_width_minus1[i]+1)と、の和に等しいCTU列の水平アドレスを有する。タイル内のサブピクチャの幅は、最後のCTU列のタイル列の水平アドレスとサブピクチャの最初のCTUの水平アドレスとの差に等しい。同じ原理が、タイル単位でサブピクチャの高さを決定するときに適用される。処理は、サブピクチャの最初のCTUのタイル行とサブピクチャの最後のCTU行との垂直アドレスの差として、タイル内のサブピクチャ高さを決定する。
【0147】
1つのさらなる変形例では、サブピクチャ内のタイルの数がサブピクチャ内のスライスの数と等しい場合、slice_width_in_tiles_minus1[i][j]およびslice_height_in_tiles_minus1[i][j]は存在せず、0に等しいと推測される。実際に、等価の場合、サブピクチャ及びスライス制約は、各スライスが正確に1つのタイルを含むことを課す。サブピクチャ内のタイルの数は、サブピクチャがタイルフラクションである場合に1に等しい(tileFractionSubpicture[i]は1に等しい)。そわなければ、subPictureHeightInTiles[i]とsubPictureWidthInTiles[i]の積に等しい。
【0148】
別のさらなる変形例では、タイル単位におけるサブピクチャの幅が1に等しい場合、slice_width_in_tiles_minus1[i][j]は存在せず、0に等しいと推論される。
【0149】
別のさらなる変形例では、タイル単位のサブピクチャの高さが1に等しい場合、slice_height_in_tiles_minus1[i][j]は存在せず、0に等しいと推測される。
【0150】
さらに別の変形例では、3つの先行するさらなる変形例の任意の組合せが使用される。
【0151】
以前の変形例のいくつかでは、シンタックス要素の存在がサブピクチャパーティション情報から推測される。サブピクチャパーティショニングが異なるパラメータセットNALユニットで定義される場合、スライスパーティショニングの構文解析は他のパラメータセットNALユニットからの情報に依存する。この依存性により、特定のアプリケーションでの変形例の使用が制限される可能性があり、これは、スライスパーティショニングを含むパラメータセットの構文解析が別のパラメータセットからの情報を格納することなく実行できないためである。パラメータの復号、即ち、シンタックス要素によって符号化された値の決定に関して、この依存性は、デコーダがピクセルサンプルを任意の方法で復号するために使用される全てのパラメータセットを必要とするので、制限ではない(しかし、全ての関連パラメータセットが復号されるのを待たなければならないことから、ある程度のレイテンシがあるかもしれない)。その結果、更なる変形例では、シンタックス要素の存在の推論がサブピクチャ、タイル、及びスライスパーティショニングが同じパラメータセットNALユニット内でシグナリングされるときにのみイネーブルされる。たとえば、タイル単位でi番目のサブピクチャの幅を指定する変数subPictureWidthInTiles[i]、タイル単位でi番目のサブピクチャの高さを指定するsubPictureHeightInTiles[i]、i番目のサブピクチャの最初のタイルの列の水平アドレスを指定するsubpicTileTopLeftX[i]、およびi番目のサブピクチャの最初のタイルの行の垂直アドレスを指定するsubpicTileTopLeftY[i]、は、包括的な、0からpps_num_subpicture_minus1の範囲内のiについて、以下のように決定される。
【0152】
【0153】
サブピクチャがタイルのフラクションを含むかどうかを指定するtileFractionSubpicture[i]変数は、次のように導出される。
【0154】
【0155】
i番目のサブピクチャにおける矩形スライスの数と、i番目のサブピクチャにおけるk番目のスライスのピクチャレベルスライスインデックスと、を指定するリストSliceSubpicToPicIdx[i][k]は、以下のように導出される。
【0156】
【0157】
ここで、
・ CtbToTileRowBd[ctbAddrY]は、垂直CTBアドレス(ctbAddrY)をCTB単位の先頭タイル列境界に変換する
・ CtbToTileColBd[ctbAddrX]は、水平CTBアドレス(ctbAddrX)をCTB単位の左タイル列境界に変換する
・ ColWidth[i]は、CTBにおけるi番目のタイル列の幅である
・ RowHeight[i]は、CTBにおけるi番目のタイル行の高さである
・ tileColBd[i]は、CTBにおけるi番目のタイル列境界の位置である
・ tileRowBd[i]は、CTBにおけるi番目のタイル行境界の位置である
・ NumTileColumnsはタイル列の数である
・ NumTileRowsはタイル行の数である
図7は、上述の実施形態/変形例/さらなる変形例のシグナリングを使用するサブピクチャおよびスライスパーティショニングの例を示す。この例では、ピクチャ700が(1)~(9)とラベル付けされた9つのサブピクチャと、4×5タイルグリッド(太い実線で示されたタイル境界)とに分割される。スライスパーティショニング(各スライスに含まれる領域は、スライス境界の直内側の細い実線で示される)は、サブピクチャ毎に次のようになる:
・ サブピクチャ(1):それぞれ1タイル、2タイル及び3タイルを含む3つのスライス。スライスの高さは1タイルに等しく、その幅はタイル単位でそれぞれ1、2および3である(すなわち、3つのスライスは水平方向に配列されたタイルの列からなる)
・ サブピクチャ(2):等しいサイズの2つのスライスであり、サイズは幅が1タイル、高さが1タイルである(すなわち、2つのスライスの各々は単一のタイルからなる)
・ サブピクチャ(3)~(6):1つの「タイルフラクション」スライス、すなわち、単一の部分タイルからなるスライス
・ サブピクチャ(7):2つのタイルの列のサイズを有する2つのスライス(すなわち、2つのスライスの各々は、垂直方向に配列された2つのタイルの列からなる)
・ サブピクチャ(8):3タイルの行の1スライス
・ サブピクチャ(9):1タイルの行と2タイルの行のサイズを有する2つのスライス
サブピクチャ(1)の場合、2つの最初のスライスの幅および高さが符号化され、最後のスライスのサイズが推定される。
【0158】
サブピクチャ(2)では、サブピクチャ内に2つのタイルに対して2つのスライスがあるので、2つの最初のスライスの幅及び高さが推論される。
【0159】
サブピクチャ(3)~(6)については、各サブピクチャ内のスライスの数は1に等しく、各サブピクチャはタイルのフラクションであるので、スライスの幅および高さはサブピクチャサイズに等しいと推測される。
【0160】
サブピクチャ(7)については、最初のスライスの幅および高さ、ならびに最後のスライスの幅および高さが、サブピクチャサイズから推論される。
【0161】
サブピクチャ(8)では、サブピクチャ内に単一のスライスがあるので、スライスの幅および高さはサブピクチャサイズに等しいと推測される。
【0162】
サブピクチャ(9)では、スライスの高さは1に等しいと推定され(タイル内のサブピクチャの高さは1に等しいため)、第1のスライスの幅が符号化され、一方、最後のスライスの幅はサブピクチャの幅から第1のスライスの幅を引いたものに等しい。
【0163】
実施形態2
2番目の実施形態、実施形態2では、「タイルフラクション」スライス(すなわち、部分タイルであるスライス)がサブピクチャ全体をカバーするという制約/制約が緩和/除去される。その結果、サブピクチャは1つまたは複数のスライスを含むことができ、各スライスは1つまたは複数のタイルを含むが、1つまたは複数の「タイルフラクション」スライスを含むこともできる。
【0164】
この実施形態では、サブピクチャパーティショニングがスライス位置およびサイズの予測/導出/決定を可能にする/可能にする。
【0165】
この実施形態の変形例によれば、以下のPPSシンタックスを使用してこれを行うことができる。
【0166】
PPSシンタックス
たとえば、PPSシンタックスは次のようになる。
【0167】
【0168】
シンタックス要素single_slice_per_subpic_flag、tile_idx_delta_present_flag、num_slices_in_subpic_minus1[i]およびtile_idx_delta[i][j]のセマンティクスは、前の実施形態と同じである。
【0169】
slice_width_minus1およびslice_height_minus1シンタックス要素(パラメータ)は、サブピクチャパーティショニングに応じて、スライスサイズをタイル単位またはCTU単位で指定する。
【0170】
変数newTileIdxDeltaRequiredは、スライスの最後のCTUがタイルの最後のCTUである場合に1に等しく設定される。スライスが「タイルフラクション」スライスでない場合、newTileIdxDeltaRequiredは、1に等しい。スライスが「タイルフラクション」スライスである場合、スライスがスライス内のタイルの最後のものでない場合、newTileIdxDeltaRequiredは0に設定される。それ以外の場合はタイルの最後になり、newTileIdxDeltaRequiredは1に設定される。
【0171】
第1の更なる変形例では、サブピクチャが単一のタイルのフラクションタイルスライスを含むように制約/制限される。この場合、サブピクチャが2つ以上のタイルを含む場合、サイズはタイル単位である。そわない場合、サブピクチャは、単一のタイル又はタイルの一部を含む(部分タイル_及びスライス高さはCTU単位で定義される。スライスの幅は必然的にサブピクチャ幅に等しく、したがって、推論することができ、PPSで符号化する必要はない。
【0172】
slice_width_minus1[i][j]プラス1は、j番目の矩形スライスの幅を指定する。slice_width_in_tiles_minus1[i][j]の値は、包括的な、0からNumTileColumns-1(ここで、NumTileColumnsはタイルグリッド内のタイル列の数である)の範囲内にある必要がある。存在しない場合(すなわち、subPictureWidthInTiles[i]*subPictureHeightInTiles[i]==1またはsubPictureWidthInTiles[i]が1に等しい場合)、slice_width_in_tiles_minus1[i][j]の値は0に等しいと推測される。
【0173】
slice_height_in_tiles_minus1[i][j]プラス1は、i番目のサブピクチャにおけるj番目の矩形スライスの高さを指定する。slice_height_in_tiles_minus1[i][j]の値は、包括的な、0からNumTileRows-1(ここで、NumTileRowsはタイルグリッド内のタイル行の数である)の範囲内である。存在しない場合(すなわち、subPictureHeightInTiles[i]が1に等しい、およびnum_slices_in_subpic_minus1[i]==0の場合)、slice_height_in_tiles_minus1[i][j]の値は0に等しいと推測される。
【0174】
0~pps_num_subpic_minus1の範囲内のi、および0~num_slices_in_subpic_minus1[i]の範囲内のjについて、i番目のサブピクチャのj番目の矩形スライスのタイル単位の幅を指定する変数SliceWidthInTiles[i][j]、i番目のサブピクチャのj番目の矩形スライスのタイル単位の高さを指定するSliceHeightInTiles[i][j]、i番目のサブピクチャのj番目の矩形スライスのCTB単位の高さを指定するSliceHeightInCTU[i][j]、は以下のように導出される。
【0175】
【0176】
このアルゴリズムでは、SliceHeightInCTU[i][j]は、sliceHeightInTiles[i][j]が0に等しい場合にのみ有効である。
【0177】
代替の更なる変形例では、サブピクチャは、全てのサブピクチャのスライスがタイルフラクションスライスでなければならないという制限/制約/条件を伴って、幾つかのタイルからのタイルフラクションスライス(すなわち、2つ以上のタイルからの部分タイルを含むスライス)を含むことができる。したがって、第1のタイルの部分タイルを含む第1のタイルフラクションスライスと、第1のタイルとは異なる第2のタイルの部分タイルを含む第2のタイルフラクションスライスとを含み、別のスライスが第3の(異なる)タイル全体をカバーする(すなわち、第3のタイルが完全/全体タイルである)サブピクチャを定義することは不可能である。この場合、サブピクチャがサブピクチャのタイルよりも多くのスライスを含む場合、slice_height_minus1[i][j]シンタックス要素はCTU単位であり、slice_width_minus1[i][j]はCTU単位のサブピクチャ幅と等しいと推測される。そわない場合、スライスのサイズはタイル単位である。
【0178】
さらなる変形例では、スライスPPSシンタックスは以下の通りである。
【0179】
【0180】
このさらなる変形例では、スライスがCTU単位で定義されるかどうかに応じて、別個のシンタックス要素がタイル単位でスライス幅および高さを、またはCTU単位でスライス高さを定義することを除いて、同じ原理が適用される。スライスの幅および高さは、スライスがタイル単位でシグナリングされる場合には、slice_width_in_tiles_minus1[i][j]とslice_height_in_tiles_minus1[i][j]で定義され、幅がCTU単位である場合には、slice_width_in_ctu_minus1[i][j]が使用される。1に等しい変数sliceInCtuFlag[i]は、i番目のサブピクチャがタイルフラクションスライスのみを含む(すなわち、サブピクチャ内に全部の/完全なタイルスライスがない)ことを示す。0に等しいことは、i番目のサブピクチャが1つまたは複数タイルを含むスライスを含むことを示す。
【0181】
変数sliceInCtuFlag[i]は、0からpps_num_subpic_minus1の範囲内のiについて、次のように導出される。
【0182】
【0183】
sliceInCtuFlag[i]変数の決定は、スライスとサブピクチャパーティショニング情報の間の構文解析依存性を導入する。その結果、変形例では、スライス、タイル、及びサブピクチャパーティショニングが異なるパラメータセットNALユニットでシグナリングされる場合に、sliceInCtuFlag[i]がシグナリングされ、推論されない。
【0184】
さらなる変形例では、サブピクチャは特定の制約/限定なしに、いくつかのタイルからのタイルフラクションスライスを含むことができる。したがって、第1のタイルの部分タイルを含む第1のタイルフラクションスライスと、第1のタイルとは異なる第2のタイルの部分タイルを含む第2のタイルフラクションスライスとを含み、別のスライスが第3の(異なる)タイル全体をカバーする(すなわち、第3のタイルが完全/全体タイルである)サブピクチャを定義することが可能である。この場合、サブピクチャ内のタイル数が1より大きい場合、フラグは、スライスサイズがCTU単位で指定されているかタイル単位で指定されているかを示す。例えば、PPSの以下のシンタックスは、i番目のサブピクチャのスライスサイズがCTU単位またはタイル単位で表されているか否か、を示すslice_in_ctu_flag[i]シンタックス要素をシグナリングする。0に等しいslice_in_ctu_flag[i]は、slice_width_in_tiles_minus1[i][j]およびslice_height_in_tiles_minus1[i][j]シンタックス要素が存在し、slice_height_in_ctu_minus1[i][j]が存在しないことを示し、すなわち、スライスサイズはタイル単位で表される。1に等しいslice_in_ctu_flag[i]は、slice_height_in_ctu_minus1[i][j]は存在し、slice_width_in_tiles_minus1[i][j]およびslice_height_in_tiles_minus1[i][j]シンタックス要素は存在しない、ことを示し、すなわち、スライスサイズはCTU単位で表される。
【0185】
【0186】
図8は、上述の実施形態/変形例/さらなる、のシグナリングを使用するサブピクチャおよびスライスパーティショニングの例を示す。この例では、ピクチャ800は(1)~(6)とラベル付けされた6つのサブピクチャと、4×5タイルグリッド(太い実線で示されたタイル境界)とに分割される。スライスパーティショニング(各スライスに含まれる領域を、スライス境界の直内側の細い実線で示す)は、サブピクチャ毎に次のようになる:
・ サブピクチャ(1):1タイル、2タイル及び3タイルの行のサイズを有する3つのスライス(即ち、水平方向に配列されたタイルの行からなる3つのスライス)
・ サブピクチャ(2):等しいサイズの2つのスライスであり、サイズは1タイルである(すなわち、2つのスライスの各々は単一のタイルからなる)
・ サブピクチャ(3):4つの「タイルフラクション」スライス、すなわち、各々が単一の部分タイルからなる4つのスライス
・ サブピクチャ(4):2つのタイルの列のサイズを有する2つのスライス(すなわち、2つのスライスの各々は、垂直方向に配列された2つのタイルの列からなる)
・ サブピクチャ(5):3タイルの行の1スライス
・ サブピクチャ(6):1タイルの行と2タイルの行のサイズを有する2つのスライス
サブピクチャ(3)の場合、サブピクチャ内のスライスの数は4に等しく、サブピクチャは2つのタイルのみを含む。スライスの幅はサブピクチャ幅に等しいと推定され、スライスの高さはCTU単位で指定される。
【0187】
サブピクチャ(1)、(2)、(4)、および(5)の場合、スライスの数はサブピクチャ内のタイルよりも少なく、したがって、幅および高さは、必要な場合、すなわち、他の情報から推論/導出/決定することができない場合、タイル単位で指定される。
【0188】
サブピクチャ(1)の場合、2つの最初のスライスの幅および高さが符号化され、最後のスライスのサイズが推定される。
【0189】
サブピクチャ(2)では、サブピクチャ内に2つのタイルに対して2つのスライスがあるので、2つの最初のスライスの幅及び高さが推論される。
【0190】
サブピクチャ(4)の場合、最初のスライスの幅および高さ、ならびに最後のスライスのサイズは、サブピクチャサイズから推論される。
【0191】
サブピクチャ(5)では、サブピクチャ内に単一のスライスがあるので、幅および高さはサブピクチャサイズに等しいと推測される。
【0192】
サブピクチャ(5)の場合、スライスの高さは1に等しいと推定され(タイル単位のサブピクチャ高さは1に等しいため)、第1のスライスの幅が符号化され、一方、最後のスライスの幅はサブピクチャの幅から第1のスライスのサイズを引いたものに等しいと推定される。
【0193】
実施形態3
この3番目の実施形態、実施形態3では、ビットストリームにおいて、タイルフラクションスライスがイネーブルされているか若しくはディスエーブルされているか、を指定する。原理はパラメータセットNALユニット(または非VCL NALユニット)のうちの1つに、「タイルフラクション」スライスの使用が許可されるか否かを示すシンタックス要素を含めることである。
【0194】
変形例によれば、SPSは「タイルフラクション」スライスが許可されるか否かを示すフラグを含み、したがって、「タイルフラクション」シグナリングは、このフラグが「タイルフラクション」スライスが許可されないことを示す場合にスキップされ得る。例えば、フラグが0に等しい場合、「タイルフラクション」スライスが許可されないことを示す。フラグが1に等しい場合、「タイルフラクション」スライスが許可される。NALユニットは、「タイルフラクション」スライスの位置を示すシンタックス要素を含むことができる。例えば、以下のSPSシンタックス要素およびそのセマンティクスを使用して、これを行うことができる。
【0195】
SPSシンタックス:タイルフラクションスライスをイネーブル/ディスエーブルする
【0196】
【0197】
SPSセマンティクス
sps_tile_fraction_slices_enabled_flagは、符号化されたビデオシーケンスで「タイルフラクション」スライスをイネーブルにするかどうかを指定する。0に等しいsps_tile_fraction_slices_enabled_flagは、スライスは整数個のタイルを含むことを示す。1に等しいsps_tile_fraction_slices_enabled_flagは、スライスが整数個のタイルまたは1つのタイルからの整数個のCTU行を含むことができることを示す。
【0198】
さらなる変形例では、sps_tile_fraction_slices_enabled_flagがPPSレベルで指定され、「タイルフラクション」スライスの存在を適応的に適用/定義するためのより細分性を提供する。さらに別の変形例では、フラグがピクチャヘッダNALユニット内に配置されて、ピクチャベースでの「タイルフラクション」スライスの存在の適応を可能にする/可能にすることができる。フラグは、より高いレベルのパラメータセットの中で定義される構成を無効にすることを可能にするために、異なる値をもつ複数のNALユニットの中に存在することがある。たとえば、ピクチャヘッダのフラグの値は、SPSの値をオーバーライドする、PPSの値をオーバーライドする。
【0199】
代替の変形例では、sps_tile_fraction_slices_enabled_flagの値が他のシンタックス要素から制約または推論される可能性がある。たとえば、sps_tile_fraction_slices_enabled_flagは、サブピクチャがビデオシーケンスで使用されていない場合(すなわち、subpics_present_flagが0に等しい)、0に等しいと推論される。
【0200】
実施形態1および実施形態2の変形例は、同様の方法でシグナリングするタイルフラクションスライスの有無を推論するためにsps_tile_fraction_slices_enabled_flagの値を考慮することができる。例えば、上記のPPSは、以下のように修正することができる。
【0201】
【0202】
スライス高さのシグナリングは、sps_tile_fraction_slices_enabled_flagが0に等しい場合にタイル単位で推論される。
【0203】
実施形態4
VVC7では、タイルフラクションスライスは矩形スライスモードでのみ有効になる。以下に説明する実施形態4は、ラスタスキャンスライスモードにおいてもタイルフラクションスライスの使用を可能にするという利点を有している。これは、スライス境界がVVC7のようにタイル境界に整列するように制約されていないので、符号化されたスライスのビット長をより正確に調整することができる可能性を提供する。
【0204】
この原理は、スライスパーティショニングを2つの場所で定義する(または関連情報を提供する)ことを含む。パラメータセットは、スライスをタイル単位で定義する。タイルフラクションスライスは、スライスヘッダにおいてシグナリングされる。変形例では、sps_tile_fraction_slices_enabled_flagは1に等しいと事前に決定され、スライスヘッダでシグナリングする「タイルフラクション」が常に存在する。
【0205】
これを達成するために、実際には、スライスのセマンティクスがVVC7及び前述の実施形態/変形例/更なる変形例のセマンティクスから修正される:スライスは、ピクチャのタイル又は整数個の完全タイルを集合的に表す1つまたは複数のスライスセグメントのセットである。スライスセグメントは、単一のNALユニットに排他的に含まれるピクチャのタイル内の整数個の完全タイル又は整数個の連続する完全CTU行(即ち、「タイルフラクション」)、即ち、1つまたは複数のタイル又は「タイルフラクション」を表す。「タイルフラクション」スライスは、1つのタイルの連続するCTU行のセットである。スライスセグメントは、タイルの全てのCTU行を含むことが可能である。このような場合、スライスセグメントは単一のスライスセグメントを含む。
【0206】
変形例によれば、任意の以前の実施形態のPPSシンタックスは、タイルフラクション特有のシグナリングを含むように修正される。このようなPPSシンタックス変更の例を以下に示す。
【0207】
PPSシンタックス
任意の先の実施形態のPPSシンタックスは、タイルフラクション特有のシグナリングを除去するように修正される。たとえば、PPSシンタックスは次のようになる。
【0208】
【0209】
シンタックス要素と同じセマンティクスを使用する。
【0210】
スライスセグメントシンタックス
【0211】
【0212】
スライスセグメントNALユニットは、スライスセグメントヘッダおよびスライスセグメントデータからなり、これは、スライスのVVC7NALユニット構造と同様である。以前の実施形態からのスライスヘッダは、スライスヘッダと同じシンタックス要素を有するスライスセグメントヘッダになるが、スライスセグメントヘッダとして、スライス内のスライスセグメントを配置/識別するための追加のシンタックス要素を含む(例えば、PPSに記載/定義される)。
【0213】
【0214】
スライスセグメントヘッダは、どのCTU行でスライスセグメントがスライス内で開始するかを指定するためのシグナリングを含む。slice_ctu_row_offsetは、スライス内の最初のCTUのCTUラインオフセットを指定する。
【0215】
rect_slice_flagが0に等しい場合(つまり、スライスモードがラスタースキャンスライスモード)、CTUラインオフセットは、slice_addressに等しいインデックスを持つタイルの最初の行に対して相対的である。rect_slice_flagが1に等しい場合(つまり、矩形スライスモード)、CTUラインオフセットは、slice_subpic_idで識別されるサブピクチャのslice_addressに等しいインデックスを持つスライスの最初のCTUに対して相対的である。CTUラインオフセットは、可変または固定長符号化を使用して符号化される。固定長の場合、スライス内のCTU行の数はPPSから決定され、シンタックス要素のビット長は、CTU行の数から1を引いたもののlog2に等しい。
【0216】
スライスセグメントのエンドを示すには2つの方法がある。
【0217】
第1の方法では、スライスセグメントがスライスセグメント内のCTU行の数(-1)を示す。CTU行の数は、可変長符号化または固定長符号化を使用して符号化される。固定長符号化の場合、スライス内のCTU行の数は、PPSから決定される。シンタックス要素のビット長は、スライス内のCTU行の数の差からCTU行オフセットを引いたもののlog2から1を引いたものに等しい。
【0218】
スライスヘッダのシンタックスは、たとえば次のようになる。
【0219】
【0220】
num_ctu_rows_in_slice_minus1プラス1は、スライスセグメントNALユニットのCTU行の数を指定する。num_ctu_rows_in_slice_minus1の範囲は、0から、スライスに含まれるタイルのCTU行の数から2を引いたもの、までである。
【0221】
sps_tile_fraction_slices_enabled_flagが1に等しく、num_tiles_in_slice_segment_minus1が0に等しい場合、現在のスライスのCTUの数を指定する変数NumCtuInCurrSliceは、CTU行の数にCTU単位のスライスに存在するタイルの幅を乗算したものに等しい。
【0222】
第2の方法では、スライスセグメントデータは、各CTU行の終わりに、スライスセグメントが終了するかどうかを指定するためのシグナリングを含む。この第2の方法の利点は、エンコーダが所与のスライスセグメント内のCTUの数を事前に決定する必要がないことである。これは、リアルタイムでスライスヘッダを出力することができるエンコーダのレイテンシを低減し、一方、第1の方法ではスライスヘッダをバッファリングして、スライスセグメントの符号化のエンド時にスライスセグメント内のCTU行の数を示す必要がある。
【0223】
実施形態5
実施形態5は、サブピクチャレイアウトのシグナリングに対する修正であり、これは、特定の状況における改善につながり得る。実際に、ビデオシーケンスにおけるサブピクチャ又はスライス又はタイルの数を増加させることは、時間的及びイントラ予測メカニズムの有効性/効率を制限/制限する。その結果、ビデオシーケンスの圧縮効率を低下させることができる。この理由のために、サブピクチャレイアウトがアプリケーション要件(例えば、ROIのサイズ)の関数として予め決定/決定/予測/推定され得る確率が高い。符号化処理では、サブピクチャレイアウトに最適なタイルパーティショニングが生成される。最良の場合のシナリオでは、各サブピクチャが正確に1つのタイルを含む。圧縮効率への影響を制限するために、エンコーダはサブピクチャごとに単一スライスを使用することにより、サブピクチャあたりのスライスの数を最小化しようとする。その結果、エンコーダの最良のオプションは、サブピクチャ毎に1つのスライス及び1つのタイルを定義することである。
【0224】
このような場合、サブピクチャレイアウトとスライスレイアウトは同じである。この実施形態は、そのような特定のケース/シナリオ/状況を示すためにSPSにフラグを追加する。このフラグが1に等しい場合、サブピクチャレイアウトは存在せず、スライスパーティションと同じであると推論/導出/決定することができる。そわなければ、フラグが0に等しい場合、サブピクチャレイアウトは、前の実施形態/変形例/さらなる変形例に関して上述したことに従って、ビットストリームにおいて明示的にシグナリングされる。
【0225】
変形例によれば、SPSは、この目的のためにsps_single_slice_per_subpictureフラグを含む。
【0226】
【0227】
1に等しいsps_single_slice_per_subpictureは、各サブピクチャが単一のスライスを含み、包括的な、0からsps_num_subpics_minus1までの範囲内のiに対してsubpic_ctu_top_left_x[i]、subpic_ctu_top_left_y[i]、subpic_width_minus1[i]およびsubpic_height_minus1[i]はないことを示す。0に等しいsps_single_slice_per_subpictureは、サブピクチャが単一のスライスを含む場合または含まない場合があり、かつ包括的な、0からsps_num_subpics_minus1までの範囲内のiに対してsubpic_ctu_top_left_x[i]、subpic_ctu_top_left_y[i]、subpic_width_minus1[i]、およびsubpic_height_minus1[i]が存在することを示す。
【0228】
さらに別の変形例によれば、PPSシンタックスは、サブピクチャレイアウトがスライスレイアウトから推論可能であることを示すために、以下のシンタックス要素を含む。
【0229】
【0230】
pps_single_slice_per_subpic_flagまたはsps_single_slice_per_subpic_flagのいずれかが1に等しい場合、サブピクチャごとに単一のスライスがある。sps_single_slice_per_subpic_flagが1に等しい場合、スライスレイアウトはSPSになく、pps_single_slice_per_subpic_flagは0に等しくなければならない。次に、PPSは、スライスパーティションを指定する。i番目のサブピクチャはi番目のスライスに対応するサイズおよび位置を有する(すなわち、i番目のサブピクチャおよびi番目のスライスは、同じサイズおよび位置を有する)。
【0231】
sps_single_slice_per_subpic_flagが0に等しい場合、スライスレイアウトはSPSに存在し、pps_single_slice_per_subpic_flagは1または0に等しい場合がある。sps_single_slice_per_subpic_flagが1に等しい場合、SPSはサブピクチャパーティションを指定する。i番目のスライスは、i番目のサブピクチャに対応するサイズおよび位置を有する(すなわち、i番目のスライスおよびi番目のサブピクチャは、同じサイズおよび位置を有する)。
【0232】
符号化されたビデオシーケンスに対して同じサブピクチャレイアウトを維持するために、エンコーダは、1に等しいsps_single_slice_per_subpic_flagのSPSを参照するすべてのPPSを、同一のスライスパーティショニングを記述/定義/課すように制約することがある。
【0233】
変形例では、PPSにタイルごとに1つのスライスがあることを示す別のフラグ(pps_single_slice_per_tile)が提供される。このフラグが1に等しい場合、スライスパーティショニングはタイルパーティショニングと等しい(つまり同じ)と推論される。このような場合、sps_ single_slice_per_subpic_flagが1に等しい場合、サブピクチャおよびスライスパーティショニングはタイルパーティショニングと同じであると推測される。
【0234】
本発明の実施形態の実施
前述の実施形態/変形例のうちの1つまたは複数は、1つまたは複数の前述の実施形態/変形例の方法ステップを実行するエンコーダまたはデコーダの形態で実装され得る。以下の実施形態は、そのような実装を例示する。
【0235】
図9aは、本発明の実施形態/変形例による符号化方法のステップを示すフローチャートであり、
図9bは、本発明の実施形態/変形例による復号方法のステップを示すフローチャートである。
【0236】
図9aの符号化方法によれば、9911でサブピクチャパーティション情報が取得され、9912でスライスパーティション情報が取得される。9915で、この取得された情報を使用して、サブピクチャ内のスライスの数、単一のスライスのみがサブピクチャに含まれるかどうか、および/またはスライスがタイルフラクションを含むことができるかどうか、のうちの1つまたは複数を決定するための情報が決定される。この決定された情報を得るためのデータは次に、例えばビットストリームでデータを提供することによって、9919で符号化される。
【0237】
図9bの復号方法によれば、9961において、データは、サブピクチャ内のスライスの数、単一スライスのみがサブピクチャ内に含まれるかどうか、および/またはスライスがタイルフラクションを含むことができるかどうか、を決定するための情報を取得するために、(例えば、ビットストリームから)復号される。9964において、この取得された情報は、:サブピクチャ内のスライスの数、単一スライスのみがサブピクチャ内に含まれるかどうか、および/またはスライスがタイルフラクションを含むことができるかどうか、のうちの1つまたは複数を決定するために使用される。次に、9967において、この決定およびその結果に基づいて、サブピクチャパーティション情報および/またはスライスパーティション情報が決定される。
【0238】
前述の実施形態/変形例のいずれも、
図10のエンコーダ(例えば、ブロック9402への分割、エントロピー符号化9409、および/またはビットストリーム生成9410を実行するとき)または
図11のデコーダ(例えば、ビットストリーム処理9561、エントロピー復号9562、および/またはビデオ信号生成9569を実行するとき)によって使用され得ることが理解される。
【0239】
図10は、本発明の一実施形態によるエンコーダのブロック図を示す。エンコーダは、接続されたモジュールによって表され、各モジュールは例えば、デバイスの中央処理装置(CPU)によって実行されるべきプログラム命令の形態で、本発明の1つまたは複数の実施形態/変形例による画像のシーケンスの画像を符号化する少なくとも1つの実施形態を実施する方法の少なくとも1つの対応するステップを実施するように適合される。
【0240】
デジタル画像i0~in9401のオリジナルシーケンスは、エンコーダ9400によって入力として受信される。各デジタル画像は、時には画素(以下、画素と呼ぶ)とも呼ばれるサンプルのセットによって表される。ビットストリーム9410は、符号化処理の実施後にエンコーダ9400によって出力される。ビットストリーム9410は、複数の、スライスなどの画像部分または符号化ユニットのデータを含み、各スライスは、スライスを符号化するために使用される符号化パラメータの符号化値を送信するためのスライスヘッダと、符号化されたビデオデータを含むスライスボディーとを含む。入力デジタル画像i0~in9401は、モジュール9402によってピクセルのブロックに分割される。ブロックは、画像部分に対応し(以下、画像部分はタイル、スライス、スライスセグメント、又はサブピクチャなどの画像の一部の任意のタイプを表す)、可変サイズ(例えば、4×4、8×8、16×16、32×32、64×64、128×128ピクセル、及び幾つかの矩形ブロックサイズも考慮することができる)であってもよい。符号化モードは、各入力ブロックに対して選択される。
【0241】
空間的予測符号化(イントラ予測)に基づく符号化モードと、時間的予測(例えば、インター符号化、MERGE、SKIP)に基づく符号化モードと、の2つのファミリの符号化モードが提供される。可能な符号化モードがテストされる。モジュール9403は、符号化されるべき所与のブロックが符号化されるべき前記ブロックの近傍の画素から計算された予測子によって予測されるイントラ予測処理を実施する。選択されたイントラ予測子の指示、および所与のブロックとその予測子との間の差は、イントラ符号化が選択された場合に残差を提供するために符号化される。時間的予測は、動き推定モジュール9404および動き補償モジュール9405によって実装される。最初に、参照画像9416のセットの中から参照画像が選択され、符号化されるべき所与のブロックに最も近い領域(画素値類似性に関して最も近い)である、参照領域または画像部分とも呼ばれる参照画像の部分が、動き推定モジュール9404によって選択される。次に、動き補償モジュール9405は、選択された領域を使用して、符号化されるブロックを予測する。選択された参照領域と、残差ブロック/データとも呼ばれる所与のブロックとの間の差は、動き補償モジュール9405によって計算される。選択された参照領域は、動き情報(例えば、動きベクトル)を用いて示される。したがって、両方の場合(空間的予測および時間的予測)において、残差は、元のブロックがスキップモードにない場合に、元のブロックから予測子を減算することによって計算される。モジュール9403によって実施されるイントラ予測では、予測方向が符号化される。モジュール9404、9405、9416、9418、9417によって実施されるインター予測では、そのような動きベクトルを識別するための少なくとも1つの動きベクトルまたは情報(データ)が、時間的予測のために符号化される。インター予測が選択された場合、動きベクトルおよび残差ブロックに関連する情報が符号化される。ビットレートをさらに低減するために、動きが均一であると仮定すると、動きベクトルは、動きベクトル予測子に対する差によって符号化される。動き情報予測子候補のセットからの動きベクトル予測子は、動きベクトル予測符号化モジュール9417によって動きベクトルフィールド9418から得られる。エンコーダ9400はさらに、レート歪み基準などの符号化コスト基準を適用することによって、符号化モードを選択するための選択モジュール9406を含む。冗長性をさらに低減するために、変換モジュール9407によって変換(DCTなど)が残差ブロックに適用され、得られた変換データは、次いで、量子化モジュール9408によって量子化され、エントロピー符号化モジュール9409によってエントロピー符号化される。最後に、符号化されている現在のブロックの符号化された残差ブロックは、それがスキップモードにない場合にビットストリーム9410に挿入され、選択された符号化モードは残差ブロックの符号化を必要とする。
【0242】
また、エンコーダ9400は、後続の画像の動き推定のための参照画像(例えば、参照画像/ピクチャ9416内のもの)を生成するために、符号化画像の復号を実行する。これは、ビットストリームを受信するエンコーダ及びデコーダが同じ参照フレームを有することを可能にする(例えば、再構成された画像又は再構成された画像部分が使用される)。逆量子化(「逆量子化」)モジュール9411は、量子化されたデータの逆量子化(「逆量子化」)を実行し、その後、逆変換モジュール9412によって実行される逆変換が続く。イントラ予測モジュール9413は予測情報を使用して、所与のブロックにどの予測子を使用すべきかを決定し、動き補償モジュール9414は、モジュール9412によって得られた残差を、参照画像9416のセットから得られた参照領域に実際に加算する。その後、モジュール9415によってポストフィルタリングが適用され、画素の再構成フレーム(画像または画像部分)をフィルタリングして、参照画像9416のセットに対する別の参照画像を得る。
【0243】
図11は、本発明の一実施形態による、エンコーダからデータを受信するために使用され得るデコーダ9560のブロック図を示す。デコーダは、接続されたモジュールによって表され、各モジュールは例えば、デバイスのCPUによって実行されるプログラム命令の形態で、デコーダ9560によって実施される方法の対応するステップを実施するように適合される。
【0244】
デコーダ9560は、符号化ユニット(例えば、画像部分、ブロックまたは符号化ユニットに対応するデータ)を含むビットストリーム9561を受信し、各符号化ユニットは、符号化パラメータに関する情報を含むヘッダと、符号化されたビデオデータを含むボディーと、から構成される。
図10に関して説明したように、符号化されたビデオデータはエントロピー符号化され、動き情報(例えば、動きベクトル予測子のインデックス)は所与の画像部分(例えば、ブロックまたはCU)について、所定のビット数で符号化される。受信された符号化ビデオデータは、モジュール9562によってエントロピー復号される。次いで、残差データは、モジュール9563によって逆量子化され、次いで、逆変換がモジュール9564によって適用され、ピクセル値を得る。
【0245】
符号化モードを示すモードデータもエントロピー復号され、このモードに基づいて、画像データの符号化ブロック(ユニット/セット/グループ)に対してイントラタイプ復号またはインタータイプ復号が行われる。イントラモードの場合、イントラ予測子はビットストリームにおいて指定されたイントラ予測モードに基づいてイントラ予測モジュール9565によって決定される(例えば、イントラ予測モードは、ビットストリームにおいて提供されるデータを使用して決定可能である)。モードがインターモードである場合、エンコーダによって使用される参照領域を見つける(識別する)ために、動き予測情報がビットストリームから抽出/取得される。動き予測情報は例えば、参照フレームインデックスと、動きベクトル残差と、を含む。動きベクトル予測子は動きベクトルを得るために、動きベクトル復号モジュール9570によって動きベクトル残差に加算される。動きベクトル復号モジュール9570は、動き予測によって符号化された各画像部分(例えば、現在のブロックまたはCU)に対して動きベクトル復号を適用する。現在のブロックの動きベクトル予測子のインデックスが得られると、画像部分(例えば、現在のブロックまたはCU)に関連する動きベクトルの実際の値を復号し、モジュール9566によって動き補償を適用するために使用することができる。復号された動きベクトルによって示される参照画像部分は、モジュール9566が動き補償を実行することができるように、参照画像9568のセットから抽出/取得される。動きベクトルフィールドデータ9571は後に復号される動きベクトルの予測に使用されるために、復号された動きベクトルで更新される。最後に、復号されたブロックが得られる。適切な場合、ポストフィルタリングは、ポストフィルタリングモジュール9567によって適用される。復号されたビデオ信号9569が最終的に得られ、デコーダ9560によって提供される。
【0246】
図12は、本発明の1つまたは複数の実施形態を実施することができるデータ通信システムを示す。データ通信システムは、データ通信ネットワーク9200を介して、データストリーム9204のデータパケットを受信装置、この場合はクライアント端末9202に送信するように動作可能な送信装置、この場合はサーバ9201を含む。データ通信ネットワーク9200は、ワイドエリアネットワーク(WAN)またはローカルエリアネットワーク(LAN)であってもよい。このようなネットワークは例えば、無線ネットワーク(Wifi /802.11aまたはbまたはg)、イーサネットネットワーク、インターネットネットワーク、または幾つかの異なるネットワークから構成される混合ネットワークであってもよい。本発明の特定の実施形態では、データ通信システムがサーバ9201が同じデータコンテンツを複数のクライアントに送信するデジタルテレビ放送システムであってもよい。サーバ9201によって提供されるデータストリーム9204は、ビデオおよびオーディオデータを表すマルチメディアデータから構成されてもよい。オーディオおよびビデオデータストリームは、本発明のいくつかの実施形態では、それぞれマイクロフォンおよびカメラを使用してサーバ9201によってキャプチャされ得る。いくつかの実施形態において、データストリームはサーバ9201上に格納されてもよく、あるいは別のデータプロバイダからサーバ9201によって受信されてもよく、あるいはサーバ9201で生成されてもよい。サーバ9201は特に、エンコーダへの入力として提示されるデータのよりコンパクトな表現である送信のための圧縮ビットストリームを提供するために、ビデオおよびオーディオストリームを符号化するためのエンコーダを備える。伝送されるデータの品質対伝送されるデータの量のより良好な比を得るために、ビデオデータの圧縮は例えば、高効率ビデオ符号化(HEVC)フォーマット、またはH.264/AVC(Advanced video Coding)フォーマット、またはVVC(Versatile video Coding)フォーマットに従ってもよい。クライアント9202は、送信されたビットストリームを受信し、再構成されたビットストリームを復号して、表示装置上でビデオ画像を再生し、スピーカによってオーディオデータを再生する。この実施形態ではストリーミングシナリオが考慮されるが、本発明のいくつかの実施形態では、エンコーダとデコーダとの間のデータ通信が例えば、光ディスクなどの媒体記憶デバイスを使用して実行され得ることが理解されるのであろう。本発明の1つまたは複数の実施形態では、ビデオ画像が画像の再構成されたピクセルに適用して最終画像内にフィルタリングされたピクセルを提供するために、補償オフセットを表すデータと共に送信され得る。
【0247】
図13は、本発明の少なくとも1つの実施形態/変形例を実施するように構成された処理デバイス9300を概略的に示す。処理装置9300は、マイクロコンピュータ、ワークステーション、ユーザ端末、またはライトポータブルデバイスなどのデバイスとすることができる。デバイス/装置9300は:-CPUで示されるマイクロプロセッサなどの中央処理装置9311;-デバイス9300を動作させるおよび/または本発明を実施するためのコンピュータプログラム/命令を格納するためのROMで示される読み出し専用メモリ9307;-本発明の実施形態/変形例の方法の実行可能コード、ならびに本発明の実施形態/変形例に従ったデジタル画像のシーケンスを符号化する方法および/またはビットストリームを復号する方法を実施するために必要な変数およびパラメータを記録するために適合されたレジスタを格納するための、RAMで示されるランダムアクセスメモリ9312;および処理されるデジタルデータが送受信される通信ネットワーク9303に接続された通信インターフェース9302、に接続された通信バス9313を備える。
【0248】
任意選択で、装置9300は以下の構成要素:本発明の1つまたは複数の実施形態/変形例の方法を実施するためのコンピュータプログラム、および本発明の1つまたは複数の実施形態/変形例の実施中に使用または生成されるデータ、を格納するための、ハードディスクなどのデータ格納手段9304;ディスク9306(例えば、記憶媒体)のためのディスクドライブ9305、ディスク9306からデータを読み取るか、または前記ディスク9306にデータを書き込むように適合されたディスクドライブ9305;またはキーボード9310、タッチスクリーン、または任意の他の指示/入力手段によって、データを表示し、かつ/またはユーザとのグラフィカルインターフェースとして働くスクリーン9309、も含むことができる。装置9300は例えば、ディジタルカメラ9320またはマイクロフォン9308などの様々な周辺機器に接続することができ、各周辺機器は、マルチメディアデータを装置9300に供給するように入力/出力カード(図示せず)に接続される。通信バス9313は、装置9300に含まれる、またはそれに接続された様々な要素間の通信および相互運用性を提供する。バスの表現は限定されず、特に、中央処理装置9311は、装置9300の任意の要素に直接または装置9300の別の要素によって命令を通信するように動作可能である。ディスク9306は例えばコンパクトディスク(CD-ROM)、書き換え可能またはそわない、ZIPディスクまたはメモリカードなどの任意の情報媒体に置き換えることができ、一般的に言えば、マイクロコンピュータまたはプロセッサによって読み取ることができる情報格納手段によって、装置に統合または非統合され、可能であればリムーバブルであり、実行がデジタル画像のシーケンスを符号化する方法および/または実施される本発明によるビットストリームを復号する方法を可能にする1つまたは複数のプログラムを格納するように構成される。実行可能コードは、読み出し専用メモリ9307、ハードディスク9304、または先に説明したような例えばディスク9306などのリムーバブルデジタル媒体のいずれかに格納することができる。変形例によれば、プログラムの実行可能コードは、例えばハードディスク9304内で実行される前に装置9300の格納手段の1つに格納されるために、インターフェース9302を介して、通信ネットワーク9303によって受信することができる。中央処理装置9311は、前述の格納手段の1つに格納された命令で、本発明によるプログラムまたはプログラムのソフトウェアコードの命令または部分の実行を制御し、指示するように構成されている。電源を入れると、例えばハードディスク9304、ディスク9306、または読み出し専用メモリ9307上の不揮発性メモリに格納されているプログラムまたはプログラムが、ランダムアクセスメモリ9312に転送され、その後、プログラムまたはプログラムの実行可能コード、ならびに本発明を実施するために必要な変数およびパラメータを格納するためのレジスタを含む。この実施形態では、装置が本発明を実施するためにソフトウェアを使用するプログラマブル装置である。しかしながら、代替的に、本発明はハードウェア(例えば、特定用途向け集積回路またはASICの形態)で実施されてもよい。
【0249】
本発明の実施形態の実施
本発明の他の実施形態によれば、前述の実施形態/変形例によるデコーダがコンピュータ、携帯電話(携帯電話)、タブレット、またはコンテンツをユーザに提供/表示することができる任意の他のタイプのデバイス(例えば、ディスプレイ装置)などのユーザ端末に提供されることも理解される。さらに別の実施形態によれば、前述の実施形態/変形例によるエンコーダが、エンコーダが符号化するためのコンテンツをキャプチャして提供するカメラ、ビデオカメラ、またはネットワークカメラ(例えば、閉回路テレビまたはビデオ監視カメラ)も備える画像キャプチャ装置に提供される。2つのこのような実施形態が、
図14および15を参照して以下に提供される。
【0250】
図14は、ネットワークカメラ9452およびクライアント装置9454を備えるネットワークカメラシステム9450を図示する図である。ネットワークカメラ9452は、撮像ユニット9456、符号化ユニット9458、通信ユニット9460、および制御ユニット9462を含む。ネットワークカメラ9452とクライアント装置9454とは、ネットワーク9200を介して相互に通信可能に相互に接続されている。撮像ユニット9456は、レンズおよびイメージセンサ(例えば、電荷結合デバイス(CCD)または相補型金属酸化膜半導体(CMOS))を含み、物体の画像を撮像し、その画像に基づいて画像データを生成する。この画像は静止画像であってもよいし、ビデオ画像であってもよい。撮像ユニットはまた、ズーム手段および/またはパン手段を備えてもよく、これらは、(光学的またはデジタル的に)それぞれズームまたはパンするように適合されている。符号化ユニット9458は、前述の実施形態/変形例のうちの1つまたは複数で説明された前記符号化方法を使用することによって、画像データを符号化する。符号化ユニット9458は、上記の実施形態/変形例で説明した符号化方法の少なくとも1つを用いる。別の例として、符号化ユニット9458は、前述の実施形態/変形例で説明した符号化方法の組合せを使用することができる。ネットワークカメラ9452の通信ユニット9460は、符号化ユニット9458により符号化された符号化画像データをクライアント装置9454に送信する。さらに、通信ユニット9460は、クライアント装置9454からのコマンドを受信してもよい。コマンドは、符号化ユニット9458による符号化のためのパラメータを設定するコマンドを含む。制御ユニット9462は、通信ユニット9460が受信したコマンドやユーザ入力に応じて、ネットワークカメラ9452内の他のユニットを制御する。クライアント装置9454は、通信ユニット9464と、復号ユニット9466と、制御ユニット9468とを備える。クライアント装置9454の通信ユニット9464は、ネットワークカメラ9452にコマンドを送信してもよい。さらに、クライアント装置9454の通信ユニット9464は、ネットワークカメラ9452から符号化画像データを受信する。復号ユニット9466は、前述の実施形態/変形例のうちの1つまたは複数で説明された前記復号方法を使用することによって、符号化画像データを復号する。別の例として、復号ユニット9466は、前述の実施形態/変形例で説明した復号方法の組合せを使用することができる。クライアント装置9454の制御ユニット9468は、通信ユニット9464が受信したユーザ操作やコマンドに従って、クライアント装置9454内の他のユニットを制御する。また、クライアント装置9454の制御ユニット9468は、復号ユニット9466により復号された画像を表示するように、表示装置9470を制御してもよい。また、クライアント装置9454の制御ユニット9468は、ネットワークカメラ9452のパラメータの値、例えば、符号化ユニット9458による符号化のためのパラメータの値を指定するGUI(Graphical User Interface)を表示するように、表示装置9470を制御してもよい。また、クライアント装置9454の制御ユニット9468は、表示装置9470によって表示されるGUIに対するユーザの操作入力に応じて、クライアント装置9454内の他のユニットを制御してもよい。また、クライアント装置9454の制御ユニット9468は、表示装置9470によって表示されるGUIに対するユーザ操作入力に応じて、ネットワークカメラ9452のパラメータの値を指定するコマンドをネットワークカメラ9452に送信するように、クライアント装置9454の通信ユニット9464を制御してもよい。
【0251】
図15は、スマートフォン9500を示す図である。スマートフォン9500は、通信ユニット9502と、復号/符号化ユニット9504と、制御ユニット9506と、表示ユニット9508と、を備える。通信ユニット9502は、ネットワーク9200を介して符号化画像データを受信する。復号/符号化ユニット9504は、通信ユニット9502が受信した符号化画像データを復号する。復号/符号化ユニット9504は、前述の実施形態/変形例のうちの1つまたは複数で説明された前記復号方法を使用することによって、符号化画像データを復号する。復号/符号化ユニット9504は、前述の実施形態/変形例で説明した符号化方法または復号方法のうちの少なくとも1つを使用することもできる。別の例では、復号/符号化ユニット9504は、前述の実施形態/変形例で説明した復号方法または符号化方法の組合せを使用することができる。制御ユニット9506は、通信ユニット9502が受信したユーザ操作やコマンドに応じて、スマートフォン9500内の他のユニットを制御する。例えば、制御ユニット9506は復号/符号化ユニット9504によって復号された画像を表示するように、表示ユニット9508を制御する。スマートフォンは、画像またはビデオを記録するための画像記録デバイス9510(例えば、デジタルカメラおよび関連する回路)をさらに備えることができる。このような記録された画像やビデオは、制御ユニット9506の指示の下、復号/符号化ユニット9504によって符号化されてもよい。スマートフォンは、モバイルデバイスの向きを感知するように構成されたセンサ9512をさらに備えてもよい。このようなセンサは、加速度計、ジャイロスコープ、コンパス、全地球測位(GPS)ユニット又は同様の位置センサを含むことができる。そのようなセンサ9512は、スマートフォンが向きを変更するかどうかを判定することができ、そのような情報は、ビデオストリームを符号化するときに使用され得る。
【0252】
本発明は、実施形態およびその変形例を参照して説明されてきたが、本発明は開示された実施形態/変形例に限定されないことを理解されたい。添付の特許請求の範囲に定義されるように、本発明の範囲から逸脱することなく、様々な変更および修正を行うことができることは、当業者には理解されよう。本明細書(任意の添付の特許請求の範囲、要約書、および図面を含む)に開示された特徴のすべて、および/またはそのように開示された任意の方法またはプロセスのステップのすべては、そのような特徴および/またはステップの少なくともいくつかが相互に排他的である組合せを除いて、任意の組合せで組み合わせることができる。本明細書(任意の添付の特許請求の範囲、要約書、および図面を含む)に開示される各特徴は、特に断らない限り、同じ、同等の、または同様の目的を果たす代替の特徴によって置き換えることができる。したがって、特に断らない限り、開示される各特徴は、同等または同様の特徴の一般的なシリーズの一例にすぎない。
【0253】
また、上述の比較、決定、推論、評価、選択、実行、実行、または考慮の任意の結果、例えば、符号化、処理、または分割処理中に行われる選択は、ビットストリーム内のデータ、例えば、結果を示すフラグまたは情報に示されるか、またはそれらから決定可能/推論可能であってもよく、その結果、示されるか、または決定された/推論された結果は例えば、復号または分割処理中に、比較、決定、評価、選択、実行、実行、または考慮を実際に実行する代わりに、処理において使用され得ることが理解される。「テーブル」または「ルックアップテーブル」が使用される場合、アレイなどの他のデータ型も、そのデータ型が同じ機能(例えば、異なる要素間の関係/マッピングを表す)を実行できる限り、同じ機能を実行するために使用されてもよいことが理解される。
【0254】
特許請求の範囲において、単語「有する」は、他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は複数を排除するものではない。異なる特徴が相互に異なる従属請求項に記載されているという単なる事実は、これらの特徴の組合せが有利に使用されることができないことを示すものではない。特許請求の範囲に記載されている参照番号は、例示のみを目的としたものであり、クレームの範囲に限定的な影響を及ぼさない。
【0255】
前述の実施形態/変形例では、説明された機能がハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実施される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶され、またはそれを介して送信され、ハードウェアベースの処理ユニットによって実行されてもよい。
【0256】
コンピュータ可読媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ可読記憶媒体、または例えば通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は一般に、(1)非一時的である有形のコンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に対応することができる。データ記憶媒体は、本開示に記載される技術の実施のための命令、コードおよび/またはデータ構造を検索するために、1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセス可能な任意の利用可能な媒体であってもよい。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【0257】
限定ではなく、一例として、このようなコンピュータ可読記憶媒体はRAM、ROM、EEPROM、CD-ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置、又は他の磁気記憶装置、フラッシュメモリ、又は所望のプログラムコードを命令又はデータ構造の形式で記憶するために使用することができ、コンピュータによってアクセスすることができる他の任意の媒体を含むことができる。また、任意のコネクションは、コンピュータ可読媒体と適切に呼ばれる。例えば、命令が同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まず、代わりに非一時的な有形の記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスクおよびディスクはコンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク(登録商標)、およびブルーレイディスクを含み、ここで、ディスクは通常、磁気的にデータを再生し、ディスクは、レーザで光学的にデータを再生する。上記の組合せは、コンピュータ読み取り可能な媒体の範囲内にも含まれるべきである。
【0258】
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲート/論理アレイ(FPGA)、または他の同等の集積またはディスクリート論理回路などの1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造のいずれか、または本明細書で説明される技術の実装に適した他の任意の構造を指すことがある。さらに、いくつかの態様では、本明細書に記載する機能性が、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内で提供されてもよく、あるいは結合されたコーデックに組み込まれてもよい。また、本技術は、1つまたは複数の回路または論理素子で完全に実装することができる。
【手続補正書】
【提出日】2022-04-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像
のデータを
復号する方法であって、
前記画像は1つまたは複数の
スライスを含むことができ、前記画像は1つまたは複数のサブピクチャ
を含むことができ、
前記方法は、
サブピクチャの幅を示す第1の情報と、該サブピクチャの高さを示す第2の情報と、をシーケンスパラメータセットから取得することと、
前記第1の情報と前記第2の情報とを用いて、該サブピクチャに含まれる
スライスに関連するパラメータを決定することと、
少なくとも前記決定
されたパラメータを用いて、前記画像を
復号することと
を含むことを特徴とする方法。
【請求項2】
前記
スライスは、タイル内の整数個の連続した完全なコーディングツリーユニット
行に対応することができることを特徴とする請求項1に記載の方法。
【請求項3】
前記決定すること
において、サブピクチャの識別子を
更に用いて前記
スライスに関連するパラメータを決定することを特徴とする請求項1または請求項2に記載の方法。
【請求項4】
前記決定すること
において、単一の
スライスのみが前記サブピクチャに含まれるかどうかに基づいて、前記
スライスに関連するパラメータを決定することを特徴とする請求項1乃至
3の何れか1項に記載の方法。
【請求項5】
前記決定すること
において、前記サブピクチャに含まれている
スライスの数を
更に用いて、前記
スライスに関連するパラメータを決定することを特徴とする請求項1乃至
4の何れか1項に記載の方法。
【請求項6】
前記サブピクチャは2つ以上の
スライスを含むことを特徴とする請求項1乃至
5の何れか1項に記載の方法。
【請求項7】
前記スライスは1つまたは複数のタイルから
構成されることが可能であり、前記
スライスは前記画像内
において矩形領域を形成することを特徴とする請求項1乃至
6の何れか1項に記載の方法。
【請求項8】
画像を符号化する方法であって、
前記画像は1又は複数のスライスを含むことができ、
前記画像は1又は複数のサブピクチャを含むことができ、
前記方法は、
サブピクチャの幅を示す第1の情報と、該サブピクチャの高さを示す第2の情報と、をシーケンスパラメータセットに符号化することと、
前記第1の情報と前記第2の情報とを用いて、該サブピクチャに含まれるスライスに関連するパラメータを決定することと、
少なくとも前記決定されたパラメータを用いて、前記画像を符号化することと
を含むことを特徴とする方法。
【請求項9】
前記スライスは、タイル内の整数個の連続した完全なコーディングツリーユニット行に対応することができることを特徴とする請求項8に記載の方法。
【請求項10】
前記決定することにおいて、サブピクチャの識別子を更に用いて前記スライスに関連するパラメータを決定することを特徴とする請求項8又は9に記載の方法。
【請求項11】
前記決定することにおいて、単一のスライスのみが前記サブピクチャに含まれるかどうかに基づいて、前記スライスに関連するパラメータを決定することを特徴とする請求項8乃至10の何れか1項に記載の方法。
【請求項12】
前記決定することにおいて、前記サブピクチャに含まれているスライスの数を更に用いて、前記スライスに関連するパラメータを決定することを特徴とする請求項8乃至11の何れか1項に記載の方法。
【請求項13】
前記サブピクチャは2つ以上のスライスを含むことを特徴とする請求項8乃至12の何れか1項に記載の方法。
【請求項14】
前記スライスは1又は複数のタイルから構成されることが可能であり、前記スライスは前記画像内において矩形領域を形成することを特徴とする請求項8乃至13の何れか1項に記載の方法。
【請求項15】
画像のデータを復号する装置であって、
前記画像は1又は複数のスライスを含むことができ、
前記画像は1又は複数のサブピクチャを含むことができ、
前記装置は、
サブピクチャの幅を示す第1の情報と、該サブピクチャの高さを示す第2の情報と、をシーケンスパラメータセットから取得する取得手段と、
前記第1の情報と前記第2の情報とを用いて、該サブピクチャに含まれるスライスに関連するパラメータを決定する決定手段と、
少なくとも前記決定されたパラメータを用いて、前記画像を復号する復号手段と
を含むことを特徴とする装置。
【請求項16】
画像を符号化する装置であって、
前記画像は1又は複数のスライスを含むことができ、
前記画像は1又は複数のサブピクチャを含むことができ、
前記装置は、
サブピクチャの幅を示す第1の情報と、該サブピクチャの高さを示す第2の情報と、をシーケンスパラメータセットに符号化する第1符号化手段と、
前記第1の情報と前記第2の情報とを用いて、該サブピクチャに含まれるスライスに関連するパラメータを決定する決定手段と、
少なくとも前記決定されたパラメータを用いて、前記画像を符号化する第2符号化手段と
を含むことを特徴とする装置。
【請求項17】
コンピュータに、請求項1ないし7のいずれか1項に記載の方法を実行させることを特徴とするプログラム。
【請求項18】
コンピュータに、請求項8ないし14のいずれか1項に記載の方法を実行させることを特徴とするプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正の内容】
【0013】
本発明の態様によれば、添付の特許請求の範囲に記載されるような装置/デバイス、方法、プログラム、コンピュータ可読記憶媒体、およびキャリア媒体/信号が提供される。本発明の他の特徴は、従属請求項および説明から明らかになるのであろう。本発明の他の態様によれば、システム、そのようなシステムを制御するための方法、添付の特許請求の範囲に記載された方法を実行するための装置/デバイス、処理するための装置/デバイス、添付の特許請求の範囲に記載された信号を格納する媒体記憶デバイス、添付の特許請求の範囲に記載されたプログラムを格納するコンピュータ可読記憶媒体または非一時的コンピュータ可読記憶媒体、および添付の特許請求の範囲に記載された符号化方法を使用して生成されたビットストリーム、が提供される。本発明の他の特徴は、従属請求項および以下の説明から明らかになるのであろう。
本発明のある態様によれば、画像のデータを復号する方法であって、前記画像は1つまたは複数のスライスを含むことができ、前記画像は1つまたは複数のサブピクチャを含むことができ、前記方法は、サブピクチャの幅を示す第1の情報と、該サブピクチャの高さを示す第2の情報と、をシーケンスパラメータセットから取得することと、前記第1の情報と前記第2の情報とを用いて、該サブピクチャに含まれるスライスに関連するパラメータを決定することと、少なくとも前記決定されたパラメータを用いて、前記画像を復号することとを含む。
また、本発明のある態様によれば、画像を符号化する方法であって、前記画像は1又は複数のスライスを含むことができ、前記画像は1又は複数のサブピクチャを含むことができ、前記方法は、サブピクチャの幅を示す第1の情報と、該サブピクチャの高さを示す第2の情報と、をシーケンスパラメータセットに符号化することと、前記第1の情報と前記第2の情報とを用いて、該サブピクチャに含まれるスライスに関連するパラメータを決定することと、少なくとも前記決定されたパラメータを用いて、前記画像を符号化することとを含む。
【国際調査報告】