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

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

▶ フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオの特許一覧

特許7719076サブピクチャに関連するビデオコーディング
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-28
(45)【発行日】2025-08-05
(54)【発明の名称】サブピクチャに関連するビデオコーディング
(51)【国際特許分類】
   H04N 19/33 20140101AFI20250729BHJP
   H04N 19/70 20140101ALI20250729BHJP
【FI】
H04N19/33
H04N19/70
【請求項の数】 12
(21)【出願番号】P 2022536874
(86)(22)【出願日】2020-12-18
(65)【公表番号】
(43)【公表日】2023-02-20
(86)【国際出願番号】 EP2020086937
(87)【国際公開番号】W WO2021123101
(87)【国際公開日】2021-06-24
【審査請求日】2023-12-13
(31)【優先権主張番号】19218973.6
(32)【優先日】2019-12-20
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】サンチェス デ ラ フエンテ ヤゴ
(72)【発明者】
【氏名】ズーリング カルステン
(72)【発明者】
【氏名】ヘルゲ コーネリアス
(72)【発明者】
【氏名】ツェル トーマス
(72)【発明者】
【氏名】スクピン ロベルト
(72)【発明者】
【氏名】ウィーガンド トーマス
【審査官】大桃 由紀雄
(56)【参考文献】
【文献】Adrian Browne et al.,Slice/tile level CABAC zero-word constraints,JVET-O0517,2019年07月04日
【文献】Ye-Kui Wang et al.,AHG12: Sub-picture based motion-constrained independent regions,JVET-O0141-v2,2019年06月25日
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
複数のサブピクチャを備える、ビデオのピクチャをデータストリームに符号化するためのエンコーダであって、
前記ピクチャの符号化は、前記複数のサブピクチャのうちの第1のサブピクチャを、前記第1のサブピクチャのBinCountsInNalUnitsが、(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるように前記データストリームに符号化するように構成された、少なくとも1つのハードウェアプロセッサを備え、前記第1のサブピクチャの符号化は、
前記第1のサブピクチャに関連付けられたsubpic_treated_as_pic_flagに値1を符号化することと、
前記第1のサブピクチャのBinCountsInNalUnitsが、(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32より大きいと判断することであって、RawMinCuBits=MinCbSizeY×MinCbSizeY×(BitDepth+2×BitDepth/(SubWidthC×SubHeightC))である、判断することと、
前記第1のサブピクチャに関連付けられたsubpic_treated_as_pic_flagの値が1であることと、前記第1のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32より大きいとの判断と、に基づいて、前記第1のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるまで1以上のcabac_zero_wordsを前記データストリームに追加することと、
を備える、エンコーダ。
【請求項2】
前記少なくとも1つのハードウェアプロセッサは、前記複数のサブピクチャのうちの第2のサブピクチャを、前記第2のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるように前記データストリームに符号化するようにさらに構成された、請求項1に記載のエンコーダ。
【請求項3】
前記少なくとも1つのハードウェアプロセッサは、前記複数のサブピクチャのうちの第2のサブピクチャを、前記第2のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるように前記データストリームに符号化するようにさらに構成された、請求項に記載のエンコーダ。
【請求項4】
前記第2のサブピクチャの符号化は、前記第2のサブピクチャに関連付けられたsubpic_treated_as_pic_flagに対して値1を符号化することを備える、請求項に記載のエンコーダ。
【請求項5】
前記第2のサブピクチャの符号化は、
前記第2のサブピクチャのBinCountsInNalUnitsが、(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32より大きいと判断することであって、RawMinCuBits=MinCbSizeY×MinCbSizeY×(BitDepth+2×BitDepth/(SubWidthC×SubHeightC))である、判断することと、
前記第2のサブピクチャに関連付けられたsubpic_treated_as_pic_flagの値が1であり、前記第2のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32より大きいとの判断に基づいて、前記第2のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるまで1以上のcabac_zero_wordsをデータストリームに追加することと、
を備える、請求項に記載のエンコーダ。
【請求項6】
複数のサブピクチャを備えるピクチャをビデオビットストリームから復号するためのデコーダであって、前記デコーダは、
前記複数のサブピクチャ第1のサブピクチャを、BinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるように前記ビデオビットストリームから復号するように構成された少なくとも1つのハードウェアプロセッサを備え、前記第1のサブピクチャの復号は、
前記第1のサブピクチャに関連付けられたsubpic_treated_as_pic_flagに対して値1を復号することと、
前記第1のサブピクチャのBinCountsInNalUnitsが、(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32より大きいと判断することであって、RawMinCuBits=MinCbSizeY×MinCbSizeY×(BitDepth+2×BitDepth/(SubWidthC×SubHeightC))である、判断することと、
前記第1のサブピクチャに関連付けられたsubpic_treated_as_pic_flagの値が1であることと、前記第1のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32より大きいとの判断と、に基づいて、前記第1のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるまで1以上のcabac_zero_wordsを挿入することと、
を備える、デコーダ。
【請求項7】
前記複数のサブピクチャは、第2のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるように前記第2のサブピクチャを備える、請求項に記載のデコーダ。
【請求項8】
複数のサブピクチャを備える、ビデオのピクチャをデータストリームに符号化するための方法であって
記複数のサブピクチャのうちの第1のサブピクチャを、前記第1のサブピクチャのBinCountsInNalUnitsが、(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるように前記データストリームに符号化することを備え、前記第1のサブピクチャの符号化は、
前記第1のサブピクチャに関連付けられたsubpic_treated_as_pic_flagに値1を符号化することと、
前記第1のサブピクチャのBinCountsInNalUnitsが、(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32より大きいと判断することであって、RawMinCuBits=MinCbSizeY×MinCbSizeY×(BitDepth+2×BitDepth/(SubWidthC×SubHeightC))である、判断することと、
前記第1のサブピクチャに関連付けられたsubpic_treated_as_pic_flagの値が1であることと、前記第1のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32より大きいとの判断と、に基づいて、前記第1のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるまで1以上のcabac_zero_wordsを前記データストリームに追加することと、を備える、
法。
【請求項9】
前記ビデオの前記ピクチャを前記データストリームに符号化することは、前記複数のサブピクチャのうちの第2のサブピクチャを、前記第2のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるように前記データストリームに符号化することを備える、請求項に記載の方法。
【請求項10】
ビデオビットストリームから複数のサブピクチャを備えるピクチャを復号するための方法であって、
前記複数のサブピクチャ第1のサブピクチャを、BinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるように前記ビデオビットストリームから復号することを備え、前記第1のサブピクチャの復号は、
前記第1のサブピクチャに関連付けられたsubpic_treated_as_pic_flagに対して値1を復号することと、
前記第1のサブピクチャのBinCountsInNalUnitsが、(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32より大きいと判断することであって、RawMinCuBits=MinCbSizeY×MinCbSizeY×(BitDepth+2×BitDepth/(SubWidthC×SubHeightC))である、判断することと、
前記第1のサブピクチャに関連付けられたsubpic_treated_as_pic_flagの値が1であることと、前記第1のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32より大きいとの判断と、に基づいて、前記第1のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるまで1以上のcabac_zero_wordsを挿入することと、
を備える、方法。
【請求項11】
前記複数のサブピクチャは、第2のサブピクチャのBinCountsInNalUnitsが(32÷3)×NumBytesInVclNalUnits+(RawMinCuBits×PicSizeInMinCbsY)÷32以下となるように前記第2のサブピクチャを備える、請求項10に記載の方法。
【請求項12】
コンピュータ上で実行されると、請求項8から11のいずれか一項に記載の方法を実行するように構成されたプログラムコードが格納された、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、ビデオコーディングの概念、特にサブピクチャに関する。
【0002】
複数のコード化されたビデオビットストリームまたはデータストリームが共同で復号される特定のビデオベースのアプリケーションが存在する。例えば共同ビットストリームにマージされ、複数の参加者からのコード化されたビデオストリームが単一のエンドポイントで処理されるマルチパーティ会議などの単一のデコーダ、または例えばVR(仮想現実)のアプリケーションでの360度のタイルビデオ再生用のタイルベースのストリーミングに供給される。
【0003】
高効率ビデオコーディング(HEVC)の場合、モーション制約タイルセットが定義され、モーションベクトルは、現在のタイルセット(またはタイル)とは異なるタイルセット(またはタイル)を参照しないように制約された。したがって、問題のタイルセット(またはタイル)は、復号の結果に影響を与えることなく、ビットストリームから抽出するか、別のビットストリームにマージすることができ、例えば復号されたサンプルは、問題のタイルセット(またはタイル)が単独で復号されるか、各画像に対してより多くのタイルセット(またはタイル)を有するビットストリームの一部として復号されるかに関係なく、完全に一致する。
【0004】
後者では、そのような技術が役立つ360度ビデオの例が示されている。ビデオは空間的にセグメント化され、各空間セグメントは、図1に示すように、さまざまな空間解像度の複数の表現で、ストリーミングするクライアントに提供される。この図は、2つの解像度で6×4の空間セグメントに分割された360度のビデオを投影したキューブマップを示している。簡単にするために、これらの独立した復号可能な空間セグメントは、この説明ではタイルと呼ばれる。
【0005】
ユーザは通常、90×90度の視野を表す青の中実の視野の境界を介して、図2の左側に示されているように、最新のヘッドマウントディスプレイを使用する場合、360度ビデオ全体を構成するタイルのサブセットのみを表示する。図2で緑色で網掛けされている対応するタイルは、最高の解像度でダウンロードされる。
【0006】
ただし、クライアントのアプリケーションはまた、ユーザの突然の向きの変更を処理するために、図2で赤で網掛けされている現在のビューポートの外側にある他のタイルの表現をダウンロードして復号する必要がある。したがって、このようなアプリケーションのクライアントは、現在のビューポートを最高の解像度でカバーするタイルと、現在のビューポートの外側のタイルを比較的低い解像度でダウンロードするが、タイルの解像度の選択は常にユーザの向きに合わせて調整される。クライアント側でダウンロードした後、ダウンロードしたタイルを単一のビットストリームにマージして単一のデコーダで処理することは、限られた計算リソースと電力リソースを備える一般的なモバイルデバイスの制約に対処する手段である。図3は、上記の例のジョイントビットストリームで可能なタイルの配置を示している。ジョイントビットストリームを生成するためのマージ操作は、圧縮ドメイン処理を介して実行する必要がある、例えばトランスコーディングによるピクセルドメインでの処理を回避する。
【0007】
HEVCビットストリームは主にインターコーディングツールに関係するいくつかの制約に従って符号化しているため、マージプロセスを実行できる、例えば上記のようにモーションベクトルを制約する。
【0008】
新たに登場したコーデックVVCは、同じ目標を達成するためのより効果的な他の手段、つまりサブピクチャを提供する。サブピクチャを使用すると、全体画像よりも小さい領域を、境界が画像であるかのように扱われるという意味で、画像と同様に扱うことができる、例えば運動補償のために境界拡張を適用し、例えば運動ベクトルが領域の外側を指している場合、領域の最後のサンプル(交差する境界)が繰り返され、画像の境界で行われるのとまったく同じように、予測に使用される参照ブロックにサンプルが生成される。これにより、モーションベクトルはHEVC MCTSのようにエンコーダで制約されず、対応する効率が低下する。
【0009】
新しいVVCコーディング標準は、マルチレイヤサポート用のメインプロファイルでスケーラブルなコーディングツールを提供することも想定している。したがって、上記のアプリケーションシナリオのさらに効率的な構成は、低解像度のコンテンツ全体をより少ない頻度のRAPで符号化することによって実現できる。ただし、これには、常にベースレイヤに低解像度のコンテンツが含まれ、拡張レイヤに幾ばくか高解像度のコンテンツが含まれるレイヤコーディング構造を使用する必要がある。階層化されたコーディング構造を図1に示す。
【0010】
ただし、ビットストリームの単一領域の抽出を可能にするいくつかのユースケースには依然として関心があり得る。例えば、エンドツーエンドの遅れが高次のユーザは、360度のビデオ全体を低解像度(すべてのタイル)でダウンロードするが、エンドツーエンドの遅れが低次のユーザは、低解像度コンテンツのタイルを少なくダウンロードする、例えばダウンロードする高解像度タイルと同じ数である。
【0011】
したがって、階層化されたサブピクチャの抽出は、ビデオコーディングの標準によって適切に処理される必要がある。これには、デコーダ側またはエクストラクター側で適切な知識を保証する追加のシグナリングが必要である。
【0012】
したがって、本発明の目的は、現在利用可能なメカニズムを改善するこの追加のシグナリングを提供することである。
【0013】
本願の独立請求項の主題によってこの目的が達成される。
【0014】
本願の第1の態様によれば、データストリームは、ビデオの複数の画像に復号され、データストリームは、少なくとも2つのレイヤに複数の画像を含む。この場合、少なくとも1つのレイヤの画像は、所定のレイヤ固有の数のサブピクチャ、1つまたは複数の他の層の1つの画像またはサブピクチャに対応する1つのレイヤの画像前記画像またはサブピクチャの1つまたは複数に分割され、サブピクチャの少なくとも1つは、運動補償のための境界拡張のための境界を含む。その中の表示は、言い換えれば、データストリームから復号または解析し、異なるレイヤの対応するサブピクチャまたは対応する画像の境界の少なくとも1つが、互いに一直線化しているという表示を解釈する。
【0015】
本願の第2の態様によれば、一定のビットレートのデータストリームが処理され、複数の画像のそれぞれが所定の数のサブピクチャに分割される方法で、中に符号化された前記複数の画像を有し、各サブピクチャは、運動補償のための境界拡張の境界を含む。サブピクチャデータストリームは、少なくとも1つのサブピクチャのデータストリームに含まれるダミーデータを保持すること、及び抽出されたデータストリームが関係しない別のサブピクチャのデータストリームに含まれるダミーデータを削除することによって、一定のビットレートで少なくとも1つのサブピクチャに関連するデータストリームから生成する。
【0016】
本発明の第3の態様によれば、サブピクチャ抽出が、複数のレイヤに符号化されたビデオの複数の画像を有するデータストリームに対して実行され、この場合、すべてのレイヤの複数の画像のそれぞれが所定の数のサブピクチャに分割され、各サブピクチャは運動補償のための境界拡張のための境界を含む。サブピクチャ抽出は、1つまたは複数のサブピクチャに対応しないデータストリームのNALユニットをドロップすること、及びパラメータセット及び/またはピクチャヘッダを書き換えることによって、関心のある1つまたは複数のサブピクチャに関連する抽出されたデータストリームへデータストリームに対して実行される。
【0017】
本発明の第4の態様によれば、ビデオの複数の画像がデータストリームに符号化され、複数の画像のそれぞれは、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、各サブピクチャは、運動補償のための境界拡張のための境界を含む。複数の画像は、スライスの単位で符号化され、スライスのスライスヘッダに書き込まれ、第1の構文要素及びサブピクチャ識別情報パラメータがあり、第1の構文要素及びサブピクチャ識別情報パラメータは、1ずつ増加し、ビットで区切られ、1に設定され、スライスの少なくとも1つのスライスヘッダでデータストリームに書き込まれる。
【0018】
本発明の第5の態様によれば、ビデオの複数の画像がデータストリームに符号化され、複数の画像のそれぞれは、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、各サブピクチャは、運動補償のための境界拡張のための境界を含む。複数の画像がスライスの単位で符号化され、スライスのスライスヘッダに第1の構文要素及びサブピクチャ識別情報パラメータが書き込まれる。その中で、第1の構文要素及びサブピクチャ識別情報パラメータがデータストリームに書き込まれるので、第1の構文要素は第1のビットの長さで書き込まれ、サブピクチャ識別情報パラメータは第2のビットの長さで書き込まれ、第1の構文要素はサブピクチャ識別情報パラメータに先行し、第1の構文要素が1つ増加したデータストリームに書き込まれるように、またサブピクチャ識別情報パラメータが特定の値だけ増加したデータストリームに書き込まれ、その後に少しで続き、1に設定するようにする。
【0019】
特定の値は、第1のビットの長さと第2のビットの長さの合計が31ビットより小さいかどうかをチェックし、第1のビットの長さと第2のビットの長さの合計が31ビットより小さい場合は、特定の値を値1に設定すること、また第1及び第2のビットの長さの合計が31ビット以上の場合は、特定の値を値4に設定することに決定される。
【0020】
本発明の第6の態様によれば、ビデオの複数の画像がデータストリームに符号化され、複数の画像のそれぞれは、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、各サブピクチャは、運動補償のための境界拡張のための境界を含む。各サブピクチャは、コンテキスト適応型バイナリ算術コーディングを使用して符号化され、この場合、ビデオエンコーダは、サブピクチャのいずれかが所定ビンとビットの比率を超えることを回避するように、ゼロワードの各サブピクチャの1つまたは複数のスライスの終わりに少なくとも1つのサブピクチャのデータストリームを提供するように構成される。
【0021】
上記のすべての態様は、符号化または復号に限定されず、符号化及び復号のそれぞれの他の態様は、同じ原理に基づいている。本願の前述の態様に関して、すべての態様などの前述の態様の2つ以上がビデオコーデックに同時に実装されるように、同じものを組み合わせることができることに留意されたい。
【0022】
本願の好ましい実施形態が、図に関して以下に説明される。
【図面の簡単な説明】
【0023】
図1】2つの解像度で6x4のタイルに並べられた、立方体地図投影法の360度のビデオを示している。
図2】360度ビデオストリーミングのユーザビューポートとタイルの選択を示している。
図3】マージ操作後のジョイントビットストリームにおける結果として生じるタイル配置(パッキング)を示している。
図4】スケーラブルなサブピクチャベースのビットストリームを示している。
図5】例示的な構文要素を示す。
図6】例示的な構文要素を示す。
図7】例示的な構文要素を示す。
図8】例示的な構文要素を示す。
図9】例示的な構文要素を示す。
図10】例示的な構文要素を示す。
図11】例示的な構文要素を示す。
図12】サブピクチャに分割された異なる層の画像を示している。
図13】下位レイヤと上位レイヤの間で一直線化された境界である境界と、下位レイヤで対応がない上位レイヤの境界を示している。
図14】例示的な構文要素を示す。
図15】高解像度層ではなく低解像度層で提供される例示的な関心領域(RoI)を示している。
図16】例示的なレイヤ及びサブピクチャ構成を示す。
図17】例示的な構文要素を示す。
図18】例示的な構文要素を示す。
図19】サブピクチャ抽出のために、サブピクチャがダミーデータで埋められている、一定のビットレートを有するデータストリームを示す。
図20】サブピクチャ抽出のために、サブピクチャがダミーデータで埋められている、一定のビットレートを有するデータストリームを示す。
図21】例示的な構文要素を示す。
図22】例示的な構文要素を示す。
図23】例示的な構文要素を示す。
図24】例示的な構文要素を示す。
図25】例示的な構文要素を示す。
図26】cabacゼロワードを使用した符号化を示している。
【発明を実施するための形態】
【0024】
以下では、本発明の追加の実施形態及び態様が説明され、これらは、個別に、または本明細書に記載の特徴及び機能及び詳細のいずれかと組み合わせて使用することができる。
【0025】
第1の実施形態は、層及びサブピクチャ、特にサブピクチャの境界一直線化(2.1)に関する。
【0026】
サブピクチャの境界がレイヤ間で一直線化していることが通知される、例えばレイヤごとに同じ数のサブピクチャが存在し、すべてのサブピクチャの境界はサンプルが正確に併置されている。これは、例えば図4に示されている。このようなシグナリングは、例えばsps_subpic_treatment_as_pic_flagによって実装できる。このフラグsps_subpic_treatment_as_pic_flag[i]が設定されている場合、例えば1に等しい値を持つ場合、コード化されたレイヤワイズビデオシーケンスCLVSの各コード化された画像のi番目のサブピクチャは、ループ内フィルタリング操作を除く、復号プロセスの画像として扱われるように指定される。sps_subpic_treatment_as_pic_flag[i]が設定されていない場合、例えば値が0の場合、CLVS内の各コード化画像のi番目のサブピクチャは、ループ内フィルタリング操作を除く復号プロセスで画像として扱われないように指定される。フラグが存在しない場合は、例えばsps_subpic_treatment_as_pic_flag[i]の値は1に等しいと推測される設定されていると見なすことができる。
【0027】
抽出器/受信機はスライスヘッダに存在するサブピクチャIDを検索して、対象のサブピクチャに属していないすべてのNALユニットをドロップできるため、シグナリングは抽出に有用である。サブピクチャが一直線化されると、サブピクチャIDはレイヤ間で1対1でマッピングされる。これは、サブピクチャID Aによって識別されるエンハンスメント層サブピクチャAのすべてのサンプルについて、ベース層サブピクチャBの併置されたサンプルが、サブピクチャID Bnによって識別される単一のサブピクチャに属することを意味する。
【0028】
説明されているように一直線化がない場合、参照レイヤの各サブピクチャに対して、参照レイヤに複数のサブピクチャが存在する可能性があり、ビットストリームの抽出または並列化の観点、レイヤのサブピクチャの部分的なオーバーラップから、遥かに劣悪であることに留意されたい。
【0029】
特定の実装では、サブピクチャの一直線化の表示は、これがレイヤ固有のシグナリングであるため、VPSで示されるprofile_tier_level()のgeneral_constraint_info()構造の制約フラグによって行うことができる。これは、例えば図5に示されている。
【0030】
構文は、出力レイヤセット(OLS)内のレイヤがサブピクチャを一直線化していることを示すことができる。別のオプションは、ビットストリームの全レイヤの一直線化を示すことであり、例えばすべてのOLSに対して、シグナリングOLSを独立させることが挙げられる。
【0031】
言い換えれば、この実施形態では、データストリームは、ビデオの複数の画像に復号され、データストリームは、少なくとも2つのレイヤに複数の画像を含む。この例では、1つのレイヤがベースレイヤ(図4の「低解像度」)で、もう1つのレイヤが拡張レイヤ(図4の「高解像度」)である。両方のレイヤの画像は、タイルとも時に呼ばれるサブピクチャに分割され、少なくとも図4の例では、ベースレイヤの各サブピクチャには、エンハンスメントレイヤにおいて対応するサブピクチャがある。図4に示すサブピクチャの境界は、運動補償の境界拡張に使用される。
【0032】
復号では、異なるレイヤの対応するサブピクチャの境界の少なくとも1つが互いに一直線化していると解釈される表示がある。簡単な注記として、本明細書の説明全体を通して、異なる層のサブピクチャは、それらのコロケーションのために互いに対応していると理解され、すなわち、それらは、それらが含まれる画像の中の同じ位置に配置されることに留意されたい。サブピクチャは、それが含まれている同じピクチャ内の他のいずれかのサブピクチャから独立してコード化される。しかしながら、そのレイヤの画像の相互に対応するサブピクチャを説明する用語の特定の層のサブピクチャ及びこれらの相互に対応するサブピクチャは、これらの相互に対応するサブピクチャの外側の領域からの符号化依存性が不要であるように、また、例えば、境界の拡張がこれらの相互に対応するサブピクチャ内のブロックの運動ベクトルによって指し示される運動補償参照部分、すなわち、サブピクチャの境界を超えて延びるこれらの参照部分の一部分に使用されるよう、運動補償予測及び時間予測を使用して符号化される。そのようなレイヤの画像のサブピクチャへの細分割は、互いに重なり合うサブピクチャが互いに対応し、一種の独立してコード化されたサブビデオを形成するような方法で行われる。サブピクチャは、層間予測に関連して機能する場合もあることに留意されたい。コーディング/デコーディングにレイヤ間予測が利用できる場合、あるレイヤの1つの画像が、下のレイヤの別の画像から予測され、両方の画像が同じ時刻になる。あるレイヤの1つの画像の1つのブロックと呼ばれる領域は、別の層の参照画像のサブピクチャの境界を超えて広がり、1つのブロックが併置されている、つまり領域がオーバーレイされている領域は、境界で埋められる拡張、つまり、参照画像の併置されたサブピクチャの外部からのコンテンツを使用しないことによる。
【0033】
画像が1つのサブピクチャにのみ分割されている場合、つまり画像がサブピクチャとして扱われている場合、画像はレイヤ間で相互に対応し、画像の境界が一直線化され、運動補償の境界拡張に使用されていることを示す。
【0034】
少なくとも2つの層内の複数の画像のそれぞれは、1つまたは複数のサブピクチャに分割することもでき、異なる層内の対応するサブピクチャのすべての境界が互いに一直線化する程度まで表示を解釈することができる。
【0035】
以下は、サブピクチャIDの対応(2.2)に関するものである。
【0036】
サブピクチャの境界の一直線化に加えて、サブピクチャが一直線化されている場合に、レイヤ間で互いに対応するサブピクチャIDの検出を容易にすることも必要である。
【0037】
最初のオプションでは、ビットストリームのサブピクチャIDは異なる、例えば各サブピクチャIDは、OLSの1つのレイヤでのみ使用できる。これにより、各レイヤサブピクチャは独自のIDによって一意に識別できる。これは、例えば図6に示されている。
【0038】
これは、2つのレイヤが1つのOLSに属しているかどうかに関係なく、ビットストリーム全体で一意のID、例えばビットストリームの任意のOLSにも当てはまる可能性があることに留意されたい。したがって、一実施形態では、任意のサブピクチャIDの値は、ビットストリーム内で一意である(例えば、unique_ids_in_bitstream_flag)。
【0039】
2番目のオプションでは、レイヤ内のサブピクチャは、(OLSまたはビットストリーム全体の)別のレイヤ内の対応する一直線化されたサブピクチャと同じID値を有する。これにより、サブピクチャID値を照合するだけで、対応するサブピクチャを非常に簡単に識別できる。また、抽出プロセスは、対象のサブピクチャごとに1つのIDのみが抽出器で必要とされるため、簡略化されている。これは、例えば図7に示されている。aligned_subpictures_ids_in_ols_unique_flagの代わりに、SubpicIdVal制約を使用することもできる。
【0040】
以下は、サブピクチャのシグナリング順序(2.3)に関するものである。
【0041】
サブピクチャIDのシグナリング順序、位置、及び寸法も制約されている場合、サブピクチャIDの対応の処理を大幅に簡素化できる。これは、対応する一直線化されたサブピクチャと一意のサブピクチャIDが示されている場合(例えば、フラグsubpictures_in_ols_aligned_flagとaligned_subpictures_ids_in_ols_unique_flagが1に設定されている場合)、サブピクチャの定義(位置、幅、高さ、境界線の処理、その他のプロパティを含む)をOLS上のすべてのSPSにわたって一直線化させる必要があることを意味する。
【0042】
例えば、構文要素sps_num_subpics_minus1は、可能なリサンプリング要素を考慮して、レイヤとそのすべての参照レイヤ、及びsubpic_ctu_top_left_x [i]、subpic_ctu_top_left_y [i]、subpic_width_minus1 [i]、subpic_height_minus1[i]で同じ値を有する必要がある。
【0043】
この実施形態では、すべての層のSPS内のサブピクチャの順序(SPS内の構文要素の緑色のマーキングを参照)は、同じになるように制約されている。これにより、サブピクチャとレイヤ間の位置の簡単な照合と検証が可能になる。これは、例えば図8に示されている。
【0044】
サブピクチャIDシグナリングは、以下に示すように、SPS、PPS、またはPHのそれぞれの上書き機能で発生する可能性があり、aligned_subpictures_ids_in_ols_flagが1の場合、サブピクチャIDの値はすべてのレイヤで同じである必要がある。unique_subpictures_ids_in_ols_flagが1の場合、サブピクチャIDの値は複数のレイヤで発生しないようにする必要がある。これは、例えば図9から11に示されている。
【0045】
言い換えれば、この実施形態では、相対的なサブピクチャ位置及びサブピクチャの寸法は、すべての層の対応するサブピクチャについて同じであるという指示が解釈される。例えば、データストリーム内のシグナリング順序を表す対応するサブピクチャの位置と次元を示す構文要素のインデックスは同じである。表示は、データストリームの層ごとに1つのフラグ、フラグがデータストリームに存在する層を含む層のサブピクチャ一直線化を示すフラグ、及び参照画像としてのそのフラグのレイヤの画像のいずれかを使用するものなどの1つまたは複数の上位層を含み得る。
【0046】
図12はこれを示す。その中に、階層化されたデータストリームのレイヤの写真が示されている。レイヤ1の画像1211は、例示的に、サブピクチャに分割されておらず、言い換えれば、1つのサブピクチャのみに分割されていないため、(サブ)画像L1(1)が存在する。レイヤ2の画像1212は、4つのサブピクチャL2(1)からL2(4)に分割される。ここでは3から4の上位レイヤの画像は、同じ方法で分割される。画像は層間予測を使用してコード化されている、つまり、層間予測はコーディング/復号に使用できることに留意されたい。ある層の1つの画像は、下の層の別の画像から予測でき、両方の画像は、同じ時刻の場合である。ここでも、サブピクチャの境界は、相互予測で境界の彼方を引き起こす、つまり、ある層の1つの画像の1つのブロックと呼ばれる領域は、別の層の参照画像のサブピクチャの境界を超えて広がり、1つのブロックが併置され、参照画像の併置されたサブピクチャの外部からのコンテンツを使用しないことによって埋められる。さらに、サブピクチャに分割される各レイヤでは、画像は一定のサイズである必要がある場合がある、つまり、各レイヤの画像のサイズは変化しない、つまり、RPRは使用されない。レイヤL1などの単一サブピクチャレイヤの場合、さまざまなピクチャサイズとRPRの適用が許可される場合がある。次に、表示のフラグは、上記のように、レイヤ2以上のサブピクチャが一直線化していることを示し得る。つまり、上位層の画像1213、1214、層3以上は、すべて層2と同じサブピクチャ分割を有している。層3以上のサブピクチャも、層3と同じサブピクチャIDを有している。結果として2超のレイヤには、サブピクチャLX(1)からLX(4)もあり、この場合Xはレイヤの番号である。図12は、いくつかのより高い層3及び4についてこれを例示的に示しているが、1つまたは2つ以上のより高い層も存在することができ、その場合、表示もそれに関連する。したがって、表示が行われたレイヤ(ここではレイヤ2)の上の各レイヤのサブピクチャ、つまりフラグが設定されているサブピクチャは、同じインデックスを有する。レイヤ2の対応するサブピクチャとして1、2、3、または4であり、レイヤ2の対応するサブピクチャと同じサイズ及び併置された境界を有する。対応するサブピクチャは、ピクチャ内で互いに併置されているものである。この場合も、このような表示のフラグは、他の各レイヤにも存在する可能性があり、ここで、レイヤ3やレイヤ4などの上位レイヤにも同じサブピクチャの細分を設定することができる。
【0047】
少なくとも2つの層の複数の画像のそれぞれが1つまたは複数のサブピクチャに分割されるとき、表示は、1つまたは複数の層のそれぞれについて、それぞれの層よりも高い1つまたは複数のより高い層の画像がサブピクチャに分割されることを示し、所定の層固有のサブピクチャの数がそれぞれの層及び1つまたは複数の上位層に対して等しくなり、所定の層固有の数のサブピクチャの境界がそれぞれの層と1つまたは複数の上位層との間で空間的に一致するようにする。
【0048】
特に、これを図12の画像に当てはめると、レイヤ2以上のサブピクチャが一直線化していることが示されれば、レイヤ3以上も対応して一直線化したサブピクチャを有することが明らかになる。
【0049】
1つまたは複数の上位層は、予測のためにそれぞれの層の画像を使用することができる。
【0050】
また、サブピクチャのIDは、それぞれのレイヤと1つ以上の上位レイヤの間で同じである。
【0051】
また、図12には、サブピクチャ抽出器1210が示されており、これは、今議論したレイヤがコード化されているビットストリームから、レイヤ2~4の1つまたは複数のサブピクチャの特定のセットに固有の抽出ビットストリームをコーディングするためのものである。完全なビットストリームから、レイヤ化された画像の関心領域に関連する部分を抽出し、ここでは、サブピクチャの例として、画像の右上隅を抽出する。したがって、抽出器1210は、タイRoIに関連するビットストリーム全体の部分、すなわち、上記の表示がサブピクチャ調整を示さない、すなわち、上記のフラグが設定されていない任意の層の画像全体に関連する部分を抽出し、及び相互に一直線化されたレイヤ内の画像のサブピクチャに関連する部分、つまり、フラグが設定されている部分と、サブピクチャがRoIをオーバーレイするいずれかの上位レイヤ、ここでは例としてL2(2)、L3(2)、及びL4(2)である。言い換えれば、出力層セットにあり、サブピクチャ層、ここでは2~4である、の参照として機能する、図12の場合のL1などの任意の単一サブピクチャ層は、抽出器1210によって抽出されたビットストリームに含まれ、抽出されたビットストリームでは、HLSの層間予測パラメータがそれに応じて調整される、つまり、抽出されたビットストリームでは、レイヤ2~4の以前のサブピクチャに分割された上位層の画像がRoI内のサブピクチャにのみトリミングされるほど小さいことを反映するために、スケーリングウィンドウの条件が調整される。サブピクチャが互いに一直線化していることを表示が示しているため、抽出は簡単である。サブピクチャ一直線化の表示を利用する別の方法は、復号をより簡単に編成するデコーダである可能性がある。
【0052】
以下は、下位層(2.4)のサブピクチャの境界サブセットに関するものである。
【0053】
符号化を高速化するためのレイヤ内の領域の完全並列符号化など、他のユースケースが存在する可能性があり、この場合、解像度が高く、レイヤが高次であるほどサブピクチャの数が多くなる(空間スケーラビリティ)。このような場合、一直線化も望ましい。さらなる実施形態は、上位層のサブピクチャの数が下位(参照)層のサブピクチャの数よりも多い場合、下位層のすべてのサブピクチャの境界が上位層(同じ場所に配置された境界)に対応するものを有することである。図13は、下位層と上位層の間で一直線化された境界である境界と、下位層で対応がない上位層の境界を示している。
【0054】
そのプロパティを通知するための例示的な構文を図14に示す。
【0055】
以下は、サブピクチャの境界の層状運動補償予測の影響(2.5)に関するものである。
【0056】
サブピクチャがレイヤ内のみであるか、レイヤ間でも独立したサブピクチャであるかは、ビットストリームに示される。より具体的には、この表示は、レイヤ間で実行される運動補償予測がサブピクチャの境界も考慮に入れるかどうかを示す。一例には、図15に示されているように、RoIがコンテンツの低解像度バージョン(低次のレイヤ)で設けられ(例えば、1080pコンテンツ内の720p RoI)、高解像度コンテンツ(例えば、4k解像度の高次のレイヤ)では設けられない場合がある。
【0057】
別の実施形態では、レイヤ間で実行される運動補償予測がサブピクチャの境界をまた考慮に入れるかどうかは、サブピクチャがレイヤ間で一直線化されているかどうかという事実に依存する。そうである場合、中間層予測などの運動補償を考慮して境界が考慮される。例えば、運動補償では境界の外側のサンプル位置を使用すること、またはそのようなサンプル位置のサンプル値は境界内のサンプル値から外挿されることが、許容されない。それ以外の場合、境界は層間運動補償予測では無視される。
【0058】
以下は、サブピクチャ縮小参照OLS(2.6)に関するものである。
【0059】
レイヤ付きのサブピクチャの使用について検討できるもう1つのユースケースは、RoIスケーラビリティである。このようなユースケースの潜在的なレイヤとサブピクチャの構成の図を図16に示す。このような場合、下位レイヤのRoI部分またはサブピクチャのみが上位レイヤに必要である、つまり、RoIにのみ関心があるときに、つまり、指定された例のベースレイヤまたは拡張レイヤで720pバージョンを復号しているときに復号されることが必要なサンプルが少なくて済むことを意味している。それでも、ビットストリームのサブセットのみ復号する必要があること、したがって、RoIに関連付けられたサブビットストリームのレベルはベースレイヤ全体及びエンハンスメントレイヤよりも低次である(復号されるサンプルが少ない)ことを、デコーダに示す必要がある。
【0060】
この例では、1080+4Kの代わりに、720+4Kのみを復号する必要がある。
【0061】
一実施形態では、OLSシグナリングは、1つのレイヤが完全に必要とされるのではなく、そのサブピクチャのみが必要であることを示す。各出力レイヤについて、表示がなされると(reduced_subpic_reference_flagが1に等しい)、参照に使用される関連するサブピクチャIDのリストが与えられる(num_sub_pic_ids、subPicIdToDecodeForReference)。これは、例えば図17に示されている。
【0062】
別の実施形態では、OLS内の層の不要なサブピクチャがOLSビットストリームから削除される場合に必要とされるであろうPTLを示す追加のPTLシグナリングが提示される。オプションを図18に示しており、この場合、それぞれの構文がVPSに追加されている。
【0063】
以下は、一定のビットレート(CBR)とサブピクチャ(3)に関するものである。
【0064】
態様によれば、ビデオ処理装置は、複数の画像を含むデータストリームから復号されたビデオの複数の画像を処理するように構成され得、複数の画像、例えばすべてのレイヤの各々が、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、またビデオ処理装置は、ダミーデータを維持することによって、データストリームから一定のビットレートで少なくとも1つのサブピクチャを生成するように構成され、そのデータの例は、サブピクチャの直後のサブピクチャのためのデータストリームに含まれるか、またはデータストリームで別のサブピクチャが発生するまでサブピクチャに隣接していないがサブピクチャの表示、例えばサブピクチャ識別情報を含むデータストリームに含まれる、FD_NUT及びフィラーペイロード補足拡張情報、SEIのメッセージがある。データスチームが層状データストリームである場合、このコード化された画像は1つの層に関連する可能性があり、サブピクチャごとのビットレート制御が各層に適用され得ることに留意されたい。
【0065】
別の態様によれば、ビデオエンコーダは、複数の画像を含むデータストリームにビデオの複数の画像を符号化するように構成され得、すべてのレイヤの複数の画像の各々が、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、またビデオエンコーダは、データストリームのダミーデータ、例えばFD_NUT及びフィラーペイロード補足拡張情報、SEIのメッセージを包含することによって、一定のビットレートで少なくとも1つのサブピクチャをデータストリームに生成するように構成され、各サブピクチャについて、各サブピクチャの直後であるか、サブピクチャに隣接していないがサブピクチャの表示、例えばサブピクチャ識別情報を含む。
【0066】
別の態様によれば、ビデオを処理するための方法は、複数の画像を含むデータストリームから復号されたビデオの複数の画像を処理するステップを有し得、複数の画像、例えばすべてのレイヤの各々が、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、また方法は、ダミーデータを維持することによって、データストリームから一定のビットレートで少なくとも1つのサブピクチャを生成するステップを含み、そのデータの例は、サブピクチャの直後のサブピクチャのためのデータストリームに含まれるか、またはデータストリームで別のサブピクチャが発生するまでサブピクチャに隣接していないがサブピクチャの表示、例えばサブピクチャ識別情報を含むデータストリームに含まれる、FD_NUT及びフィラーペイロード補足拡張情報、SEIのメッセージがある。
【0067】
別の態様によれば、ビデオを符号化するための方法は、複数の画像を含むデータストリームにビデオの複数の画像を符号化するステップを有し得、複数の画像、例えばすべてのレイヤの複数の画像の各々が、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、また方法は、データストリームのダミーデータ、例えばFD_NUT及びフィラーペイロード補足拡張情報、SEIのメッセージを包含することによって、一定のビットレートで少なくとも1つのサブピクチャをデータストリームに符号化するステップを含み、各サブピクチャについて、各サブピクチャの直後であるか、サブピクチャに隣接していないがサブピクチャの表示、例えばサブピクチャ識別情報がある。
【0068】
サブピクチャを含むビットストリームが符号化され、関連するHRD構文要素が固定ビットレート(CBR)ビットストリームを定義する場合がある、例えば少なくとも1つのスケジューリング値に対してcbr_flagは1に設定され、ビットストリームが一定のビットレートビットストリームに対応し、頻繁に、いわゆるフィラーデータ、VCL NALユニットまたはフィラーペイロードSEI(非VCL NALユニット)、例えばFD_NUT及びフィラーペイロードSEIメッセージを使用することによることを示す。
【0069】
ただし、サブピクチャビットストリームが抽出された場合、このプロパティが引き続き適用されるかどうかは明確ではない。
【0070】
一実施形態では、サブピクチャの抽出プロセスは、常にVBRビットストリームをもたらす方法で定義される。CBRケースを示す/保証する可能性はない。その場合、FD_NUT及びフィラーペイロードSEIメッセージは、抽出プロセス中に単に破棄される。
【0071】
別の実施形態では、各サブピクチャのCBR「動作点」は、サブピクチャを構成するVCL NALユニットの直後、したがってサブピクチャのCBR「動作点」の抽出中に、それぞれのFD_NUT及びフィラーペイロードSEIメッセージを配置することによって保証されることが示され、サブピクチャVCL NALユニットに関連付けられたそれぞれのFD_NUT及びフィラーペイロードSEIメッセージは、サブピクチャのサブビットストリームが抽出プロセス中に抽出されるときに保持され、抽出プロセスが別のサブピクチャを対象とする抽出プロセス中または非CBRの「動作点」にて保持される。このような表示は、例えばsli_cbr_constraint_flagを使用して実行できる。したがって、例えば、sli_cbr_constraint_flagが0に等しい場合、nal_unit_typeがFD_NUTに等しいすべてのNALユニットと、フィラーペイロードSEIメッセージを含むSEINALユニットが削除される。
【0072】
説明されているプロセスでは、FD_NUTまたはフィラーペイロードSEIメッセージがドロップされたかどうかを知るために、VCL NALユニットとそれに関連する非VCLNALユニットの状態を保持する必要があり、直接先行するVCLNALユニットのサブピクチャIDが何であったかを知る必要がある。このプロセスを容易にするために、FD_NUTとFiller Payload SEIにシグナリングが追加され、それらが特定のサブピクチャIDに属していることを表示する。あるいは、別の実施形態では、次のSEIメッセージまたはNALユニットが、別のサブピクチャIDを示す別のSEIメッセージの存在まで、サブピクチャIDを有する所与のサブピクチャに属することを示すSEIメッセージがビットストリームに追加される。
【0073】
言い換えれば、複数の画像のそれぞれが所定の数のサブピクチャに分割され、各サブピクチャが運動補償のための境界の拡張のための境界を含むように、中に符号化された複数の画像を有する一定のビットレートのデータストリームが処理され、処理により、一定のビットレートの少なくとも1つのサブピクチャに関連するサブピクチャのデータストリームは、少なくとも1つのサブピクチャのデータストリームに含まれるダミーデータを保持し、抽出されたデータストリームが関係しない別のサブピクチャのデータストリームに含まれるダミーデータを除去することによって、データストリームから生成される。
【0074】
これは、図19及び20で見ることができ、処理されたデータストリームにコード化されたビデオの例示的な2つの画像1910及び1920が示されている。これらの画像は、それぞれサブピクチャ1911、1912、1913、及び1921、1922、及び1923に分割され、いくつかのエンコーダ1930によってビットストリーム1945の対応するアクセスユニット1940及び1950に符号化される。
【0075】
サブピクチャへの細分化は、単に例示のために示されている。説明のために、アクセスユニットAUは、それぞれ、いくつかのヘッダ情報部分、HI1及びHI2も含むように示されているが、これは単に説明のためであり、画像は、いくつかの部分に断片化されたビットストリーム1945にコード化されるように示され、例えばそれぞれ、VCL NALユニット、1941、1942、1943、1951、1952、及び1953などであり、1940及び1950の画像のサブピクチャごとに1つのVCLユニットが存在するが、これは説明のみを目的として行われ、1つのサブピクチャが複数のそのような部分またはVCLNALユニットに断片化/コード化することによるものであり得る。
【0076】
エンコーダは、サブピクチャを表す各データ部分の最後にダミーデータdを含めることによって、一定のビットレートのデータストリームを作成する、つまり、各サブピクチャのダミーデータ1944、1945、1946、1954、1955、及び1956になる。ダミーデータは、図19に十字を使用して示されている。それにおいて、ダミーデータ1944はサブピクチャ1911に対応し、1945はサブピクチャ1912に対応し、1946はサブピクチャ1913に対応し、1954はサブピクチャ1921に対応し、1955はサブピクチャ1922に対応し、1956はサブピクチャ1923に対応する。一部のサブピクチャでは、ダミーデータが必要ない可能性がある。
【0077】
オプションで、前述のように、サブピクチャを複数のNALユニットに分散させることもできる。この場合、ダミーデータは、各NALユニットの最後、またはそのサブピクチャの最後のNALユニットの最後に挿入できる。
【0078】
次に、一定のビットレートのデータストリーム1945は、サブピクチャ抽出器1960によって処理され得、サブピクチャ抽出器1960は、例として、サブピクチャ1911及び対応するサブピクチャ1921、つまり併置されているため、ビットストリーム1945でコード化された相互に対応するビデオのサブピクチャに関連する情報を抽出する。抽出されたサブピクチャのセットは複数である可能性がある。抽出の結果、抽出されたビットストリーム1955になる。抽出のために、抽出されたサブピクチャ1911/1921のNALユニット1941及び1951が抽出され、抽出されたビットストリーム1955に引き継がれ、他のサブピクチャの他のVCL NALユニットは、抽出されないものが無視またはドロップされ、抽出されたサブピクチャ(2)に対応するダミーデータdのみが抽出されたビットストリーム1955に引き継がれ、他のすべてのサブピクチャのダミーデータもドロップされる。つまり、他のVCL NALユニットの場合、ダミーデータdが削除される。必要に応じて、ヘッダ部分HI3及びHI4は、以下に詳述するように変更され得る。それらは、PPS及び/またはSPS及び/またはVPS及び/またはAPSなどのパラメータセットに関連するか、またはそれらを含み得る。
【0079】
したがって、抽出されたビットストリーム1955は、ビットストリーム1945のアクセスユニット1940及び1950に対応するアクセスユニット1970及び1980を含み、一定のビットレートである。次に、抽出器1960によってかように生成されたビットストリームは、デコーダ1990によって復号されて、サブビデオ、すなわち、抽出されたサブピクチャ1911及び1921のみから構成されるサブピクチャを含むビデオを生成することができる。抽出は、当然、ビットストリーム1945のビデオの画像の複数のサブピクチャに影響を及ぼし得る。
【0080】
別の代替案として、1つまたは複数のサブピクチャが1つまたは複数のNALユニットにコード化されているかどうかに関係なく、ダミーデータは、データストリームの最後にある各アクセスユニット内で順序付けられ得るが、各ダミーデータがそれぞれのアクセスユニットにコード化された対応するサブピクチャと関連する。これは、1940と1950の代わりに図20に示されて、アクセスユニット2040と2050と名付けている。
【0081】
ダミーデータは、VCL NALユニットと区別できるように、特定のNALユニットタイプのNALユニットである場合があることに留意されたい。
【0082】
一定のビットレートであるとしてビットストリーム1945を取得する別の方法も図20で説明され得るが、ここでは、一定のビットレートはサブピクチャごとに作成されない。むしろ、それはグローバルに作られている。図20に示すように、ダミーデータは、ここで、AUの終わりにあるすべてのサブピクチャに完全に含めることができ、図19に対応するデータストリーム部分のみを例示的に示す。その中で、アクセスユニット2040及び2050において。サブピクチャを表すデータ部分、それぞれ2044、2045、2046、2054、2055、及び2056は互いに直接続き、ダミーデータはサブピクチャの最後、それぞれのアクセスユニットの最後に追加される。
【0083】
サブピクチャ選択ダミーデータ削除を実行するかどうか、つまり、サブピクチャビットストリームを抽出するときにすべてのダミーデータを削除する必要があるかどうか、または関心のあるサブピクチャのダミーデータ(複数可)、つまり抽出されるものは、図19に示すように保持する必要があるかどうか、ということを抽出器によって処理されるビットストリームで表示される。
【0084】
また、データストリームがサブピクチャごとに一定のビットレートではないことが示されている場合、抽出器1960は、すべてのNALユニットのすべてのダミーデータdを削除することができ、結果として抽出されるサブピクチャビットストリームは、一定のビットレートではない。
【0085】
ダミーデータの配置は、アクセスユニット内で、今説明した例に比べて変更される可能性があり、VCLユニット間またはアクセスユニットの先頭に配置される可能性があることに留意されたい。
【0086】
処理装置または抽出器1960の上記及び下記のプロセスは、例えば、デコーダによっても実行できることに留意されたい。
【0087】
言い換えれば、データストリームは、解釈、例えば復号及び解析によって処理することができ、データストリームのサブピクチャの少なくとも1つの抽出可能なセットが、抽出されたサブピクチャのビットストリームが一定のビットレートになるように抽出可能であることを示す。この表示は、例えば、ビデオパラメータセット、VPS、またはSEIメッセージから処理するか、それらに含めることができ、例えば、cbr_flagまたはsli_cbr_constraint_flagにすることができる。
【0088】
データストリームはまた、データストリームの1つまたは複数のサブピクチャの抽出可能なセットが一定のビットレートでコード化されていないという表示を解釈して処理することができ、その表示は、例えば、ビデオパラメータセット、VPS、またはSEIメッセージにおけるものであり、そのように示される場合は、すべてのダミーデータが削除される。
【0089】
前述のように、ダミーデータにはFD_NUT、特別なNALユニットが含まれる場合がある。追加的または代替的に、ダミーデータは、フィラーペイロード補足拡張情報、SEI、メッセージを含み得る。
【0090】
データストリームは、解釈を使用して処理することもでき、例えば、生成が一定のビットレートの抽出されたデータストリームになるかどうか、この場合、ビデオ処理装置はダミーデータdの保持と削除を実行する、または、生成が一定のビットレートである抽出されたデータストリームに終わらないかどうか、この場合、ビデオ処理装置はすべてのダミーデータの削除を実行するということの、抽出されたデータストリームの生成のためのデータストリームからの表示を復号する。
【0091】
最後に、前述のダミーデータは、例えば、FD_NUT及びフィラーペイロード補足拡張情報、SEI、メッセージを含むことができる。
【0092】
以下は、サブピクチャ抽出の完了に関するもの、パラメータセットの書き換え(4)である。
【0093】
別の態様によれば、ビデオ処理装置は、ビデオの複数の画像を含むデータストリームに対してサブピクチャ抽出を実行するように構成され得、この場合、すべてのレイヤの複数の画像のそれぞれは、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、データストリームでサブピクチャ抽出を実行するときにデータストリームのパラメータセット及び/またはピクチャヘッダを書き換えることが許可されるというデータストリーム内の表示を解釈する。
【0094】
前の態様を参照するときの別の態様によれば、ビデオ処理装置は、HRD関連情報、画像サイズ、及び/または複数の画像の細分化に関する情報をサブピクチャに書き換えるための追加情報を提供するデータストリームの表示を解釈するようにさらに構成され得る。
【0095】
さらに別の態様によれば、ビデオエンコーダは、ビデオの複数の画像をデータストリームに符号化するように構成され得、データストリームは、複数の画像を含み、この場合、すべてのレイヤの複数の画像のそれぞれは、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、データストリームでサブピクチャ抽出を実行するときにデータストリームのパラメータセット及び/またはピクチャヘッダを書き換えることが、データストリームにおいてサブピクチャ抽出を実行するときに許可される、という表示する。
【0096】
前の態様を参照するときの別の態様によれば、ビデオエンコーダは、HRD関連情報、画像サイズ、及び/または複数の画像の細分化に関する情報をサブピクチャに書き換えるための追加情報を提供するデータストリームの表示を解釈するようにさらに構成され得る。
【0097】
別の態様によれば、ビデオを処理するための方法は、ビデオの複数の画像を含むデータストリームに対してサブピクチャ抽出を実行するように構成され得、この場合、すべてのレイヤの複数の画像のそれぞれは、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、データストリームでサブピクチャ抽出を実行するときにデータストリームのパラメータセット及び/またはピクチャヘッダを書き換えることが許可されるというデータストリーム内の表示を解釈する。
【0098】
前の態様を参照するときの別の態様によれば、ビデオを処理するための方法は、HRD関連情報、画像サイズ、及び/または複数の画像の細分化に関する情報をサブピクチャに書き換えるための追加情報をデータストリームに表示するようにさらに構成され得る。
【0099】
別の態様によれば、ビデオを処理するための方法は、ビデオの複数の画像を含むデータストリームにてサブピクチャ抽出実行するステップであって、この場合、すべてのレイヤの複数の画像のそれぞれは、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含む、実行するステップ、及びデータストリームでサブピクチャ抽出を実行するときにデータストリームのパラメータセット及び/またはピクチャヘッダを書き換えることが、データストリームにおいて許可される、という表示を解釈するステップを有し得る。
【0100】
前の態様を参照するときの別の態様によれば、ビデオを処理するための方法は、HRD関連情報、画像サイズ、及び/または複数の画像の細分化に関する情報をサブピクチャに書き換えるための追加情報を提供するデータストリームの表示を解釈するステップをさらに有し得る。
【0101】
別の態様は、データストリームについて言及し得、それに対しビデオが符号化され、ビデオは複数の画像を含み、この場合、すべてのレイヤの複数の画像のそれぞれは、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、データストリームでサブピクチャ抽出を実行するときにデータストリームのパラメータセット及び/またはピクチャヘッダを書き換えることが許可される、という表示する。
【0102】
通常、ビットストリーム抽出プロセスは、(サブ)レイヤに対して次のように指定されている。
- 対象の(サブ)レイヤに対応しないNALユニットをドロップする
- SEIメッセージをドロップする(Picture Timing SEI、Buffering Period SEIなど)
- オプションで、対象の(サブ)レイヤに関連付けられたネストされたSEIメッセージから適切なSEIメッセージを取得する
【0103】
ただし、上で説明したように、NALユニットを(サブ)レイヤごとよりも細かい粒度でドロップする、例えばサブピクチャ抽出では、これまでに解決されていない問題が発生する可能性がある。例は、上記のCBRのFD_NUTの説明を参照されたい。別の問題はパラメータセットから発生する。(サブ)レイヤ抽出では、パラメータセットには、抽出された(サブ)レイヤに関係のない追加情報が含まれる可能性があり、例えば、ドロップされた(サブ)レイヤに関する情報が含まれるが、抽出されたサブビットストリームの(サブ)レイヤを依然記述しているという意味で正しいということがある。ドロップされた(サブ)レイヤのその追加情報は、まさに無視し得る。サブピクチャ抽出に関しては、この設計原理は複雑すぎて維持できず、そのため、例えばHEVCでは、MCTSをネストするSEIメッセージに置換パラメータセットが含まれる。ただし、VVCでは、状況をさらに複雑にし、SEIメッセージをネストするHEVCスタイルのソリューションを実行不可能にする画像ヘッダが定義されている。
【0104】
したがって、サブピクチャ抽出を実行するときにパラメータセットが変更される。パラメータセットには、サブピクチャ抽出を実行するときに変更する必要がある、画像サイズ、profile_level情報、タイリング/スライスグリッド(画像ヘッダにも存在する可能性がある)などの情報が含まれていることに留意されたい。
【0105】
一実施形態では、抽出プロセスは次のように定義される。
- 対象のサブピクチャに対応しないNALユニットをドロップする
- SEIメッセージをドロップする(Picture Timing SEI、Buffering Period SEIなど)
- 対象の(サブ)レイヤに関連付けられたネストされたSEIメッセージから適切なSEIメッセージを取得する
- パラメータセットをドロップする
- 適切なパラメータセットを追加する
- 画像ヘッダをドロップする
- 適切な画像ヘッダを追加する
【0106】
「適切な」パラメータセットと画像ヘッダを生成する必要がある。抽出前のパラメータセットと画像ヘッダを書き直すことによるのが最も見込みがある。
変更が必要な情報は次のとおりである。
- レベルとHRD関連
- 画像のサイズ
- タイリング/スライス/サブピクチャグリッド
【0107】
結果として得られるレベル及びHRD関連の情報は、それぞれのSEIメッセージ(サブピクチャレベル情報SEIメッセージ)から抽出して、パラメータセットの書き換えに使用できる。
【0108】
各サブピクチャのサイズはSPSで簡単に見つけられるため、プロセスで抽出された単一のサブピクチャがある場合、結果の画像サイズを簡単に導き出すことができる。ただし、ビットストリームから複数のサブピクチャが抽出される場合、例えば、結果のビットストリームには複数のサブピクチャが含まれ、結果の画像サイズは、外的手段によって定義された配置によって異なる。
【0109】
一実施形態では、ビットストリームは、元のビットストリーム内の長方形の領域に対応するサブピクチャの抽出のみが許可され、元のビットストリーム内のそれらの相対的な配置が変更されないように保たれることを制約した。したがって、抽出された領域内での並べ替えやギャップは許可されない。
【0110】
サブピクチャの座標は現在、図21に示すように、top_leftの座標と幅及び高さを表すパラメータによって定義されている。これにより、左上、右上、左下、右下のコーナーまたは領域を簡単に導出できる。したがって、抽出プロセスは、抽出されたすべてのサブピクチャに対して実行され、さらに小さい座標が見つかった場合(最小値の検索など)、top_left座標の最小の「x」及び「y」の座標を更新し、さらに小さい座標が見つかった場合(最大値の検索など)、右下の座標の最大の「x」及び「y」の座標を更新する。例えば、以下が挙げられる。
【0111】
MinTopLeftX=PicWidth
MinTopLeftY= PicHeight
MaxBottomRightX=0
MaxBottomRightY=0
For i=0..NumExtSubPicMinus1
If(subpic_ctu_top_left_x[ i ]<MinTopLeftX)
MinTopLeftX= subpic_ctu_top_left_x[ i ]
If(subpic_ctu_top_left_y[ i ]<MinTopLeftY)
MinTopLeftY= subpic_ctu_top_left_y[ i ]
If(subpic_ctu_top_left_x[ i ]+ subpic_width_minus1[i]>MaxBottomRightX)
MaxBottomRightX= subpic_ctu_top_left_x[ i ]+ subpic_width_minus1[i]
If(subpic_ctu_top_left_y[ i ]+ subpic_height_minus1[i]> MaxBottomRightY)
MaxBottomRightY= subpic_ctu_top_left_y[ i ]+ subpic_height_minus1[i]
【0112】
次に、この値を使用して、MinTopLeftXまたはMinTopLeftYのそれぞれの値を差し引くことにより、最大画像サイズと、各抽出されたサブピクチャのsubpic_ctu_top_left_x [i]、subpic_ctu_top_left_y[i]の新しい値を導出できる。
【0113】
代替の実施形態では、議論された値を必要とせずに、または導出することなく、パラメータセット及び画像ヘッダを書き換えることを可能にするシグナリングが提供される。抽出されるサブピクチャの潜在的な組み合わせごとに、パラメータセットで書き換える必要のある画像サイズを提供できる。これは、例えばSEIメッセージの形式で実行できる。SEIメッセージには、再書き込みに役立つ情報が内部にあることを示すparameter_type構文要素を含めることができる。例えば、タイプ0は、画像サイズ、抽出されたビットストリームのタイプ1レベル、画像ヘッダ内のタイプ2情報、それらの組み合わせなどである。
【0114】
言い換えると、複数のレイヤに符号化されたビデオの複数の画像を有するデータストリームに対してサブピクチャ抽出を実行し、この場合、すべてのレイヤの複数の画像のそれぞれが所定の数のサブピクチャに分割され、各サブピクチャは運動補償のための境界拡張のための境界を含む。サブピクチャ抽出は、1つまたは複数のサブピクチャに対応しないデータストリームのNALユニットをドロップすること、及びパラメータセット及び/またはピクチャヘッダを書き換えることによって、関心のある1つまたは複数のサブピクチャに関連する抽出されたデータストリームへデータストリームに対して実行される。
【0115】
これを図19に関してもう一度説明していく。サブピクチャ1912、1913、1922、1923は、対象のサブピクチャ(複数可)に属していないため、サブピクチャ抽出1960では必要なく、対応するNALユニット1942、1943、1952、1953は、抽出によって完全にドロップすることができる。今回、図19のダミーデータの存在は任意であると理解されるべきであり、または存在する場合、図20で説明されているように、同じことがサブピクチャによって非特異的である可能性がある。
【0116】
しかしながら、図19に関して今説明した例では、抽出器1960は、ヘッダ情報HI1及びHI2をそれぞれHI3及びHI4に書き換えることができる。サブピクチャを抽出するときに同時に行うことができるこのプロセスにおいて、ヘッダ情報は、例えば、ビデオパラメータセット、VPS、及び/またはシーケンスパラメータセット、SPS、及び/または画像パラメータセット、PPSなどであり得、その特定の変数値を書き換えることによって変更できる。
【0117】
書き換えのための情報は、データストリームから導出され得、データストリームに存在することができ、実際のヘッダ情報HI1及びHI2に加えて、追加情報は、HRD関連情報、画像サイズ、及び/またはサブピクチャへの細分割に関連し得る。書き換えが許可されていること、または追加が存在することの表示、及び/または追加情報は、データストリームで示すことができ、例えば、補足の拡張情報、SEI、メッセージを伴う。
【0118】
サブピクチャ抽出は、抽出されたデータストリームが抽出されたサブピクチャのセットからなるように実行でき、そのそれぞれがデータストリーム内の長方形の領域に対応するという点で長方形であるようさらに構成される。
【0119】
書き換え可能な値には、輝度サンプルのサブピクチャ幅、輝度サンプルのサブピクチャ高さ、レベル情報、HRD関連パラメータ、及びピクチャサイズがある。
【0120】
以下は、sub_pic_id(5)のエミュレーション防止の廃止に関するものである。
【0121】
サブピクチャIDは、現在VVCのスライスヘッダに通知される。これは、例えば図22に示されている。
【0122】
ただし、それらはスライスヘッダの第1の構文要素の1つとして記述されているため、その値に簡単にアクセスできる。抽出プロセス(またはIDを変更/チェックする必要があるマージプロセス)では、サブピクチャIDの値を読み書きする必要があるため、簡単にアクセスできることが望ましいことに留意されたい。その値に簡単にアクセスするためにまだ欠けている1つの側面は、エミュレーションの防止である。構文要素slice_pic_order_cnt_lsbは最大16ビットの長さであり、値0、例えば0x0000をとることができる。slice_sub_pic_idの長さは16ビットである。したがって、slice_pic_order_cnt_lsb値とslice_sub_pic_id値の組み合わせによっては、エミュレーション防止が行われる可能性があり、これにより、上位レイヤの適用によるサブピクチャIDの解析がより複雑になり、上位レイヤの適用の変更または変更がさらに困難になる、なぜならslice_headerにエミュレートされた防止の長さは、slice_sub_pic_idの値がslice_sub_pic_id*の別の値に変更された場合に変更される可能性がある。
【0123】
一実施形態では、slice_pic_order_cnt_lsbがslice_pic_order_cnt_lsb_plus1に変更され、slice_sub_pic_idがslice_sub_pic_id_plus1に変更されるため、slice_pic_order_cnt_lsbとslice_sub_pic_idの間でエミュレーション防止が発生することはない。これはslice_sub_pic_idの解析には役立つが、slice_sub_pic_idの値を変更する必要があるユースケースの解決策にはならない。slice_sub_pic_id_plus1は、slice_sub_pic_id_plus1を含むスライスヘッダの最後のバイトにあるslice_sub_pic_id_plus1の最下位ビットがゼロでないことを保証しないことに留意されたい。したがって、そのバイトで0x00が発生し、次の2バイトの構文要素の値に応じてエミュレーション防止がトリガーされる可能性がある。
【0124】
別の実施形態では、1つの1ビット構文要素が、図23の例のように、slic_sub_pic_id_plus1の後に続き、これは、説明された問題を解決するであろう。
【0125】
明らかに、提供されるソリューションにはオーバーヘッドが伴う。例えば、追加の1ビットとx_plus1構文要素である。さらに、説明されている問題は次の場合にのみ発生する。
【0126】
・ slice_pic_order_cnt_lsbとslice_sub_pic_idの間で発生するエミュレーション防止の場合:両方の構文要素を合わせた長さが24ビットより大きい場合。
・ slice_sub_pic_id_plus1及び次の構文要素で発生するエミュレーション防止の場合:slice_sub_pic_id_plus1が複数のバイトにわたる場合。
【0127】
説明されている問題はあまり頻繁に発生しない可能性があるため、説明されている変更は、画像ヘッダのいずれかのパラメータセットのいくつかのゲーティングフラグに条件付けられる可能性がある。これは、例えば図24に示されている。ここで、Val(subpiuc idへのオフセット)は、slice_pic_order_cnt_lsb_plus1とslice_subpic_id_plusValのコード化された長さの組み合わせから次のように決定される。
【0128】
Val = codedLength(slice_pic_order_cnt_lsb_plus1 + slice_subpic_id_plusVal) < 31 ? 1 : 4.
【0129】
これは、slice_pic_order_cnt_lsb_plus1とslice_subpic_id_plusValのコード化された長さが一緒にしても31ビットより短い場合、Valが「1」の値に設定され、それ以外の場合は「4」の値に設定されると読み取れる。
【0130】
以下は、CABACゼロワードに関するものである(6)。
【0131】
cabac_zero_wordは、各スライスの最後に挿入できる。それらは、画像のどのスライスにも配置できる。現在のビデオの仕様では、ビンとビットの比率が高すぎる場合にcabac_zero_wordsが挿入されることを保証する、画像レベルの制約について説明している。
【0132】
サブピクチャが抽出され、これらが特定のプロファイルとレベルに準拠していることが示されている場合、AUに適用される次の条件が各サブピクチャにも個別に適用されることが要件である必要がある。
【0133】
変数RawMinCuBitsを次のように導出する。
RawMinCuBits =
MinCbSizeY*MinCbSizeY* (BitDepth + 2 * BitDepth/( SubWidthC * SubHeightC ))
【0134】
BinCountsInNalUnitsの値は、(32÷3)* NumBytesInVclNalUnits +(RawMinCuBits * PicSizeInMinCbsY)÷32以下である必要がある。
【0135】
したがって、ビットストリーム制約または表示は、各サブピクチャが個別に上記の条件を満たすことを示す。
【0136】
第1の実施形態として、フラグは、サブピクチャが言及された制約を満たすことを示す制約フラグとしてシグナリングすることができる。これは、例えば図25に示されている。
【0137】
別の実施形態では、そのような制約の履行は、以下の条件の一方または両方に基づく。
1) サブピクチャのsubpic_treatment_as_pic_flagが1に等しい
2) ビットストリームには、サブピクチャのレベル適合性表示が含まれ、例えば SEIメッセージ(既存のsubpic_level_info SEIメッセージ)による。
【0138】
言い換えると、ビデオの複数の画像をデータストリームに符号化することにおいて、複数の画像のそれぞれは、所定の数のサブピクチャに分割され、各サブピクチャは、運動補償のための境界拡張のための境界を含み、各サブピクチャは、コンテキスト適応型バイナリ算術コーディングを使用して符号化され得る。
【0139】
この場合、データストリームは、サブピクチャのいずれかが所定のビンとビットの比率を超えることを回避するように、ゼロワードの各サブピクチャの1つまたは複数のスライスまたは VCL NALユニットの終わりに少なくとも1つのサブピクチャを提供する。
【0140】
図26に見られるように、エンコーダは、以下の方法でビットストリーム2605を生成することができる。2つのアクセスユニット2620または2630の部分が例示的に示されている。それらのそれぞれは、図19の画像について例示的に示されるように、サブピクチャに細分されるようにその中に符号化された画像を有する。しかしながら、図26は、各画像の正確に1つのサブピクチャに関連するビットストリームのそれらの部分に集中している。AU2621の場合、符号化は、例示的に、そのAU2610の画像のサブピクチャがコード化された1つのスライス2621のみをもたらし、AU260の場合、3つのスライス、すなわち、2631、2632、及び2633が生じ、そのAU2630のサブピクチャがコーディングされている。
【0141】
エンコーダは、CABACなどのバイナリ算術コーディングを使用する。つまり、構文要素を使用して、ビデオまたは画像のコンテンツを説明するために生成された構文要素を符号化する。まだバイナリ値が設定されていないものは、ビン文字列に2値化される。したがって、画像は構文要素に符号化され、順次一連のビンに符号化され、順次データストリームに算術的にコード化され、ビットストリームの各部分に至り、その各々は、サブピクチャなど、そこに符号化されたビデオの特定の部分を有する。この部分は特定のビット数を消費し、順次ビンの場合に特定の数を算術的にコード化することによって生成され、ビンとビットの比率が得られる。デコーダは逆のことを行い、1つのサブピクチャに関連付けられた部分が算術的に復号されてビンのシーケンスが生成され、次に2値化されて構文要素が生成され、そこから順次デコーダがサブピクチャを再構築できる。そのため、「bin-to-bitratio」の「bin」は、コード化される2値化されたシンボルのビット数または桁数を表し、「bit」は、CABACビットストリームの書き込み/読み取りビット数を表す。
【0142】
所定のビン対ビット比を超えることを回避するために、エンコーダは、各サブピクチャについて、それぞれのサブピクチャがコード化された1つまたは複数のスライスのCABACコード化部分のビンとビットの比率をチェックし、比率が高すぎる場合、それぞれのサブピクチャがコード化されている1つまたは複数のスライスの1つまたは複数の終わりにCABACコード化されるゼロワードをできるだけ多くCABACエンコーディングエンジンに供給し、レーションがもはや超えられないようにする。これらのcabacゼロワードは、図26ではゼロ、つまり「0」で示されている。それらは、サブピクチャ2621の終わり、すなわち最後のスライスの終わりに追加されるか、またはサブピクチャのスライス2631、2632、及び2633の1つまたは複数の端に分散される方法で追加され得る。つまり、図26図26の分散的なバリアントを示しているが、代わりにゼロワードを最後のスライス2613の最後に完全に追加することもできる。
【0143】
データストリーム2605は、デコーダ2640に到達すると、デコーダがデータストリーム、または少なくとも上記のサブピクチャに関連するその部分を復号し、AU2620及び2630内の対応するデータ部分を解析する。そうすることで、デコーダ2640は、ビンとビットの比率を超えないために必要なゼロワードの数を決定することによって、特定のサブピクチャの1つまたは複数のスライスの終わりにコード化されたゼロワードの量または数を決定でき、cabacゼロワードを破棄することができる。しかしながら、デコーダ2640が、他の手段によってゼロワードを他の構文要素から区別し、その後ゼロワードを破棄することができるような方法でスライスを解析することができることも可能であろう。すなわち、デコーダは、特定の所定の範囲に比率を得るのに必要な数のゼロワードをCABAC復号し続けるために、特定のサブピクチャの1つまたは複数のスライスのビンとビットの比率をチェックする場合もしない場合もある。そうでない場合、デコーダは、構文的に他の構文要素から、CABAC復号されたゼロワードを区別することができる。
【0144】
比率条件が満たされない場合、デコーダ2640は特定のエラーモードに陥り、所定のエラーの処理がデコーダによってトリガーされ得る。
【0145】
最後に、サブピクチャの数は任意の数であり得ることに留意されたい。言い換えれば、少なくとも1つは、特に2つ以上のサブピクチャを意味することができる。
【0146】
独立性のプロパティ、例えばsubpic_treatment_as_pic_flagについて、及び対応するレベルの適合性の表示、例えば、補足拡張情報、SEI、メッセージについて、各サブピクチャを評価することが出来る。そのとき、評価に応じて、評価に従ってのみ、サブピクチャにゼロワードを提供することができる。
【0147】
少なくとも1つのサブピクチャの各サブピクチャの1つまたは複数のスライスの終わりにゼロワードでデータストリームを提供することができ、コンテキスト適応算術コーディングを使用するデータストリームへのそれぞれのサブピクチャに対するコード化されたビンの数は、所定の係数と、それぞれのサブピクチャに関連付けられたデータストリームの1つまたは複数のVCL NALユニットのバイト長との間の積を使用して決定される数以下である。
【0148】
少なくとも1つのサブピクチャの各サブピクチャの1つまたは複数のスライスの終わりにゼロワードでデータストリームを提供することもでき、コンテキスト適応算術コーディングを使用するデータストリームへのそれぞれのサブピクチャに対するコード化されたビンの数は、第1の所定の係数と、それぞれのサブピクチャに関連付けられたデータストリームの1つまたは複数のVCL NALユニットのバイト長との間の第1の積、及び第2の所定の係数と、コーディングブロックごとの最小ビット数とそれぞれのサブピクチャを構成するコーディングブロックの数の間の第2の積の合計を使用して決定される数以下である。
【0149】
いくつかの態様が装置の観点で説明されているが、これらの態様が対応する方法の説明も表すことが明らかであり、ブロックまたはデバイスは方法ステップ、または方法ステップの特徴に対応する。同様に、方法ステップの観点で説明された態様もまた、対応するブロックもしくは項目、または対応する装置の特徴の説明を表す。いくつかの、またはすべての方法ステップは、例えば、マイクロプロセッサ、プログラマブルコンピュータまたは電子回路などのハードウェア装置によって(またはそれを使用して)実行され得る。いくつかの実施形態では、ほとんどの重要な方法ステップのうちの1つ以上は、そのような装置によって実行されてもよい。
【0150】
発明のデータストリームは、デジタル記憶媒体に記憶されてもよく、またはインターネットなどの無線伝送媒体または有線伝送媒体などの伝送媒体上で伝送されてもよい。
【0151】
特定の実装要件に応じて、発明の実施形態は、ハードウェアまたはソフトウェアにおいて実装されてもよい。実装態様は、それぞれの方法が実行されるようにプログラマブルコンピュータシステムと協働する(または、協働することが可能な)、そこに記憶された電子可読制御信号を有する、デジタル記憶媒体、例えば、フロッピーディスク、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROM、またはフラッシュメモリを使用して実行されてもよい。したがって、デジタル記憶媒体は、コンピュータ可読であり得る。
【0152】
本発明による、いくつかの実施形態は、電子的に可読な制御信号を有するデータキャリアを含み、これらの制御信号がプログラム可能なコンピュータシステムと協働することができることで、本明細書に記載の方法のうちの1つが実行される。
【0153】
概して、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装され得、このプログラムコードは、コンピュータプログラム製品がコンピュータ上で実行するときに方法のうちの1つを実行するように動作可能である。プログラムコードは、例えば、機械可読キャリアに格納され得る。
【0154】
他の実施形態は、本明細書に記載の方法のうちの1つを実行し、機械可読キャリアに格納されるコンピュータプログラムを含む。
【0155】
換言すれば、本発明の方法の一実施形態は、したがって、コンピュータプログラムがコンピュータ上で実行するときに、本明細書に記載の方法のうちの1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0156】
したがって、発明の方法の更なる実施形態は、そこに記録された、本明細書で説明される方法の1つを実行するためのコンピュータプログラムを含むデータキャリア(または、デジタル記憶媒体またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、または記録された媒体は典型的には、有形であり、及び/または非一時的である。
【0157】
したがって、発明の方法の更なる実施形態は、本明細書で説明される方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは一連の信号である。データストリームまたは信号シーケンスは、例えば、インターネットを介してなど、データ通信接続を介して転送されるように構成され得る。
【0158】
さらなる実施形態は、例えば、本明細書に記載の方法のうちの1つを実行するように構成される、または適合されるコンピュータ、またはプログラマブルロジックデバイスなどの処理手段を含む。
【0159】
さらなる実施形態は、コンピュータを含み、その上には、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムがインストールされている。
【0160】
本発明による、さらなる実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを受信器に転送する(例えば、電子的に、または光学的に)ように構成される、装置またはシステムを含む。受信器は、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどであってよい。装置またはシステムは、例えば、コンピュータプログラムを受信器に転送するためのファイルサーバを含み得る。
【0161】
いくつかの実施形態では、プログラマブルロジックデバイス(例えば、フィールドプログラマブルゲートアレイ)は、本明細書に記載の方法の機能の一部またはすべてを実行するために使用され得る。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書に記載の方法のうちの1つを実行するためにマイクロプロセッサと協働し得る。概して、方法は、いずれかのハードウェア装置によって好ましくは実行される。
【0162】
本明細書で説明される装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置及びコンピュータの組み合わせを使用して実装されてもよい。
【0163】
本明細書で説明される装置、または本明細書で説明される装置のいずれかの構成要素は、ハードウェア及び/またはソフトウェアにおいて少なくとも部分的に実装されてもよい。
【0164】
本明細書で説明される方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置及びコンピュータの組み合わせを使用して実行されてもよい。
【0165】
本明細書で説明される方法、または本明細書で説明される装置のいずれかの構成要素は、ハードウェア及び/またはソフトウェアにおいて少なくとも部分的に実装されてもよい。
【0166】
上述の実施形態は、本発明の原理の例示に過ぎない。構成及び詳細の修正や変更が、当業者に明らかであろうことが理解される。したがって、本明細書の実施形態の記述及び説明として提示された具体的な詳細によってではなく、差し迫る特許請求の範囲によってのみ限定されることが意図される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26