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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特表2023-544723サブピクチャ分割及びスケーリングウィンドウ情報
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-25
(54)【発明の名称】サブピクチャ分割及びスケーリングウィンドウ情報
(51)【国際特許分類】
   H04N 19/70 20140101AFI20231018BHJP
   H04N 19/33 20140101ALI20231018BHJP
【FI】
H04N19/70
H04N19/33
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023519757
(86)(22)【出願日】2022-06-28
(85)【翻訳文提出日】2023-03-29
(86)【国際出願番号】 US2022073240
(87)【国際公開番号】W WO2023279011
(87)【国際公開日】2023-01-05
(31)【優先権主張番号】63/215,937
(32)【優先日】2021-06-28
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/850,608
(32)【優先日】2022-06-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ビョンドゥ・チェ
(72)【発明者】
【氏名】ステファン・ヴェンガー
(72)【発明者】
【氏名】シアン・リ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159KK13
5C159MA04
5C159MA05
5C159MA17
5C159MA21
5C159MA32
5C159MC11
5C159ME01
5C159RB09
5C159RC12
5C159RC24
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
本開示の態様は、ビデオデコーディングのための方法、装置、及び非一時的コンピュータ可読記憶媒体を提供する。この装置は、コーディングされたビデオシーケンス(CVS)における第1のピクチャのための構文構造における第1のフラグ又は第2のフラグのうちの少なくとも1つをデコーディングするように構成された処理回路を含む。第1のフラグは、第1のピクチャの第1のサブピクチャ分割情報が構文構造においてシグナリングされるかどうかを示すことができる。第2のフラグは、第1のピクチャに含まれる第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が構文構造においてシグナリングされるかどうかを示すことができる。処理回路は、第1のピクチャの第1のサブピクチャ分割情報が、構文構造においてシグナリングされることを示す第1のフラグ、又は第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が、構文構造においてシグナリングされることを示す第2のフラグのうちの少なくとも1つに基づいて、第1のサブピクチャを再構成する。
【特許請求の範囲】
【請求項1】
ビデオデコーダにおけるビデオデコーディングのための方法であって、
コーディングされたビデオシーケンス(CVS)における第1のピクチャのための構文構造における第1のフラグ又は第2のフラグのうちの少なくとも1つをデコーディングするステップであって、前記第1のピクチャは、第1のサブピクチャを含み、前記第1のフラグは、前記第1のピクチャの第1のサブピクチャ分割情報が前記構文構造においてシグナリングされるかどうかを示し、前記第2のフラグは、前記第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が前記構文構造においてシグナリングされるかどうかを示す、ステップと、
前記第1のピクチャの前記第1のサブピクチャ分割情報が前記構文構造においてシグナリングされることを示す前記第1のフラグ、又は前記第1のサブピクチャのための前記第1のサブピクチャスケーリングウィンドウ情報が前記構文構造においてシグナリングされることを示す前記第2のフラグのうちの少なくとも1つに基づいて、前記第1のサブピクチャを再構成するステップと
を含む方法。
【請求項2】
前記構文構造は、第1のピクチャパラメータセット(PPS)構文構造である、請求項1に記載の方法。
【請求項3】
前記第1のフラグ及び前記第2のフラグのうちの前記少なくとも1つは、前記第1のフラグを含み、
前記第1のフラグは、前記第1のピクチャのための前記第1のサブピクチャ分割情報が、前記構文構造においてシグナリングされることを示す、請求項1に記載の方法。
【請求項4】
前記第1のピクチャは、複数のサブピクチャを含み、前記複数のサブピクチャは、前記第1のサブピクチャを含み、
前記方法は、前記第1のサブピクチャ分割情報に基づいて、前記第1のピクチャにおける前記複数のサブピクチャの各々のサイズ及び位置を含む、前記第1のピクチャにおける前記複数のサブピクチャの第1のサブピクチャレイアウトを決定するステップをさらに含む、請求項3に記載の方法。
【請求項5】
前記構文構造における前記第1のサブピクチャ分割情報に基づいて、前記第1のピクチャにおける各々のサブピクチャのサブピクチャ識別子(ID)を決定するステップ
をさらに含む、請求項4に記載の方法。
【請求項6】
前記構文構造は、第1のピクチャパラメータセット(PPS)構文構造であり、
前記方法は、
前記CVSにおける第2のピクチャのための第2のPPS構文構造においてシグナリングされた第2のサブピクチャ分割情報をデコーディングするステップと、
前記第2のサブピクチャ分割情報に基づいて、前記第2のピクチャにおける第2のサブピクチャを再構成するステップであって、前記第2のピクチャの第2のサブピクチャレイアウトは、前記第1のピクチャの前記第1のサブピクチャレイアウトとは異なる、ステップと
をさらに含む、請求項4に記載の方法。
【請求項7】
前記第1のピクチャは、前記CVSにおける第1のレイヤにあり、
前記方法は、
前記CVSにおける第2のレイヤにおける第2のピクチャのための別の構文構造においてシグナリングされた第2のサブピクチャ分割情報をデコーディングするステップであって、前記第2のサブピクチャ分割情報は、前記第1のサブピクチャ分割情報とは異なる、ステップと、
前記第2のサブピクチャ分割情報に基づいて、前記第2のピクチャにおける第2のサブピクチャを再構成するステップと
をさらに含む、請求項1に記載の方法。
【請求項8】
前記第1のフラグ及び前記第2のフラグのうちの前記少なくとも1つは、前記第2のフラグを含み、
前記第2のフラグは、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報が前記構文構造においてシグナリングされることを示す、請求項1に記載の方法。
【請求項9】
前記方法は、前記構文構造に基づいて、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報をデコーディングするステップをさらに含み、
前記第1のサブピクチャを再構成する前記ステップは、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報に基づくサブピクチャごとの参照ピクチャリサンプリングを使用して、前記第1のサブピクチャを再構成するステップを含む、請求項8に記載の方法。
【請求項10】
前記第1のフラグ及び前記第2のフラグのうちの前記少なくとも1つは、前記第1のフラグをさらに含み、
前記第1のフラグは、前記第1のサブピクチャ分割情報が前記構文構造においてシグナリングされることを示し、
前記方法は、
前記構文構造に基づいて、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報をデコーディングするステップと、
前記第1のサブピクチャ分割情報に基づいて、前記第1のサブピクチャの寸法情報及び位置情報を決定するステップと
をさらに含み、
前記第1のサブピクチャを再構成する前記ステップは、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報、前記第1のサブピクチャの前記寸法情報、及び前記第1のサブピクチャの前記位置情報に基づいて、前記第1のサブピクチャを再構成するステップを含む、請求項8に記載の方法。
【請求項11】
ビデオデコーディングのための装置であって、
コーディングされたビデオシーケンス(CVS)における第1のピクチャのための構文構造における第1のフラグ又は第2のフラグのうちの少なくとも1つをデコーディングするように構成され、前記第1のピクチャは、第1のサブピクチャを含み、前記第1のフラグは、前記第1のピクチャの第1のサブピクチャ分割情報が前記構文構造においてシグナリングされるかどうかを示し、前記第2のフラグは、前記第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が前記構文構造においてシグナリングされるかどうかを示し、
前記第1のピクチャの前記第1のサブピクチャ分割情報が前記構文構造においてシグナリングされることを示す前記第1のフラグ、又は前記第1のサブピクチャのための前記第1のサブピクチャスケーリングウィンドウ情報が前記構文構造においてシグナリングされることを示す前記第2のフラグのうちの前記少なくとも1つに基づいて、前記第1のサブピクチャを再構成するように構成された処理回路
を備える装置。
【請求項12】
前記構文構造は、第1のピクチャパラメータセット(PPS)構文構造である、請求項11に記載の装置。
【請求項13】
前記第1のフラグ及び前記第2のフラグのうちの前記少なくとも1つは、前記第1のフラグを含み、
前記第1のフラグは、前記第1のピクチャのための前記第1のサブピクチャ分割情報が、前記構文構造においてシグナリングされることを示す、請求項11に記載の装置。
【請求項14】
前記第1のピクチャは、複数のサブピクチャを含み、前記複数のサブピクチャは、前記第1のサブピクチャを含み、
前記処理回路は、前記第1のサブピクチャ分割情報に基づいて、前記第1のピクチャにおける前記複数のサブピクチャの各々のサイズ及び位置を含む、前記第1のピクチャにおける前記複数のサブピクチャの第1のサブピクチャレイアウトを決定するように構成された、請求項13に記載の装置。
【請求項15】
前記処理回路は、前記構文構造における前記第1のサブピクチャ分割情報に基づいて、前記第1のピクチャにおける各々のサブピクチャのサブピクチャ識別子(ID)を決定するように構成された、請求項14に記載の装置。
【請求項16】
前記構文構造は、第1のピクチャパラメータセット(PPS)構文構造であり、
前記処理回路は、
前記CVSにおける第2のピクチャのための第2のPPS構文構造においてシグナリングされた第2のサブピクチャ分割情報をデコーディングし、
前記第2のサブピクチャ分割情報に基づいて、前記第2のピクチャにおける第2のサブピクチャを再構成するように構成され、前記第2のピクチャの第2のサブピクチャレイアウトは、前記第1のピクチャの前記第1のサブピクチャレイアウトとは異なる、請求項14に記載の装置。
【請求項17】
前記第1のピクチャは、前記CVSにおける第1のレイヤにあり、
前記処理回路は、
前記CVSにおける第2のレイヤにおける第2のピクチャのための別の構文構造においてシグナリングされた第2のサブピクチャ分割情報をデコーディングするように構成され、前記第2のサブピクチャ分割情報は、前記第1のサブピクチャ分割情報とは異なり、
前記第2のサブピクチャ分割情報に基づいて、前記第2のピクチャにおける第2のサブピクチャを再構成するように構成された、請求項11に記載の装置。
【請求項18】
前記第1のフラグ及び前記第2のフラグのうちの前記少なくとも1つは、前記第2のフラグを含み、
前記第2のフラグは、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報が前記構文構造においてシグナリングされることを示す、請求項11に記載の装置。
【請求項19】
前記第1のフラグ及び前記第2のフラグのうちの前記少なくとも1つは、前記第1のフラグをさらに含み、
前記第1のフラグは、前記第1のサブピクチャ分割情報が前記構文構造においてシグナリングされることを示し、
前記処理回路は、
前記構文構造に基づいて、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報をデコーディングし、
前記第1のサブピクチャ分割情報に基づいて、前記第1のサブピクチャの寸法情報及び位置情報を決定し、
前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報、前記第1のサブピクチャの前記寸法情報、及び前記第1のサブピクチャの前記位置情報に基づいて、前記第1のサブピクチャを再構成するように構成された、請求項18に記載の装置。
【請求項20】
コーディングされたビデオシーケンス(CVS)における第1のピクチャのための構文構造における第1のフラグ又は第2のフラグのうちの少なくとも1つをデコーディングすることであって、前記第1のピクチャは、第1のサブピクチャを含み、前記第1のフラグは、前記第1のピクチャの第1のサブピクチャ分割情報が前記構文構造においてシグナリングされるかどうかを示し、前記第2のフラグは、前記第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が前記構文構造においてシグナリングされるかどうかを示す、前記デコーディングすることと、
前記第1のピクチャの前記第1のサブピクチャ分割情報が、前記構文構造においてシグナリングされることを示す前記第1のフラグ、又は前記第1のサブピクチャのための前記第1のサブピクチャスケーリングウィンドウ情報が、前記構文構造においてシグナリングされることを示す前記第2のフラグのうちの前記少なくとも1つに基づいて、前記第1のサブピクチャを再構成することと
を実行するために、少なくとも1つのプロセッサによって実行可能なプログラムを記憶する非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年6月28日に出願された米国仮出願第63/215,937号「Techniques for subpicture-wise reference picture resampling and scalability for video streaming」の優先権の利益を主張する、2022年6月27日に出願された米国特許出願第17/850,608号「SUBPICTURE PARTITIONING AND SCALING WINDOW INFORMATION」の優先権の利益を主張する。先行出願の開示は、それらの全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、ビデオコーディングに関係する実施形態を記載する。
【背景技術】
【0003】
本明細書において提供される背景技術の説明は、本開示の文脈を大まかに提示することを目的としている。ここに記名された発明者の仕事は、その仕事がこの背景技術セクションに記載されている程度まで、並びにさもなければ出願時に従来技術として適格ではない可能性がある説明の態様は、本開示に対する従来技術として、明示的にも黙示的にも認められていない。
【0004】
画像並びに/又はビデオコーディング及びデコーディングは、動き補償を伴うインターピクチャ予測を使用して実行することができる。非圧縮デジタル画像及び/又はビデオは一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080の輝度サンプル及び関連する彩度サンプルの空間次元を有する。一連のピクチャは、例えば毎秒60ピクチャ又は60Hzの固定又は可変の(非公式にはフレームレートとしても知られる)ピクチャレートを有することができる。非圧縮画像及び/又はビデオは特有のビットレート要件を有する。例えば、サンプルあたり8ビットでの1080p60 4:2:0ビデオ(60Hzのフレームレートで1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600Gバイトを超える記憶空間を必要とする。
【0005】
画像及び/又はビデオのコーディング及びデコーディングの1つの目的は、圧縮を介して入力画像及び/又はビデオ信号内の冗長性を低減することであり得る。圧縮は、前述の帯域幅及び/又は記憶空間の要件を、場合によっては、2桁以上削減するのに役立つことができる。本明細書の説明では、ビデオエンコーディング/デコーディングを例示的な例として使用するが、本開示の趣旨を逸脱しない限り、同様の方式が画像のエンコーディング/デコーディングに適用され得る。可逆圧縮と非可逆圧縮の両方、並びにそれらの組み合わせを採用することができる。可逆圧縮は、圧縮された元の信号から元の信号の正確なコピーを再構成することができる技法を指す。非可逆圧縮を使用すると、再構成された信号は元の信号と同一ではない可能性があるが、元の信号と再構成された信号との間の歪みは、再構成された信号を目的の用途に有用なものにするほど十分小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミング用途のユーザは、テレビ配信用途のユーザよりも高い歪みを許容し得る。達成可能な圧縮比は、より高い容認可能/許容可能な歪みが、より高い圧縮比をもたらし得ることを反映し得る。
【0006】
ビデオエンコーダ及びデコーダは、例えば、動き補償、変換、量子化、及びエントロピーコーディングを含む、いくつかの広範なカテゴリからの技術を利用し得る。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技術を含み得る。イントラコーディングでは、サンプル値は、以前に再構成された参照ピクチャからのサンプル又は他のデータを参照することなく表される。一部のビデオコーデックでは、ピクチャは空間的にサンプルのブロックに細分化される。サンプルのすべてのブロックがイントラモードデコーディングされるとき、そのピクチャはイントラピクチャであり得る。イントラピクチャ、及び独立デコーダリフレッシュピクチャなどのそれらの派生物は、デコーダ状態をリセットするために使用することができるので、コーディングされたビデオビットストリーム及びビデオセッション内の最初のピクチャとして、又は静止画像として使用し得る。イントラブロックのサンプルは、変換にさらされる可能性があり、変換係数は、エントロピーコーディングの前に量子化され得る。イントラ予測は、変換前領域内のサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さいほど、かつAC係数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップのサイズにおいて必要とされるビットは少なくなる。
【0008】
例えば、MPEG-2生成コーディング技術から知られているような従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に隣接し、デコーディング順で先行する、データブロックのエンコーディング及び/又はデコーディング中に取得された周囲のサンプルデータ及び/又はメタデータから試行する技術を含む。そのような技法は、以後「イントラ予測」技法と呼ばれる。少なくともいくつかの場合では、イントラ予測は再構成中の現在のピクチャからの参照データのみを使用し、参照ピクチャからは使用しないことに留意されたい。
【0009】
イントラ予測には多くの異なる形式があり得る。そのような技法のうちの2つ以上が所与のビデオコーディング技術において使用され得るとき、使用中の技術は、イントラ予測モードでコーディングされ得る。特定の場合には、モードはサブモード及び/又はパラメータを有することができ、それらを個別にコーディングするか、又はモードのコードワードに含め得る。所与のモード、サブモード、及び/又はパラメータの組み合わせに、どのコードワードを使用するかは、イントラ予測を介したコーディング効率向上に影響を与える可能性があり、そのため、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術も影響を与える可能性がある。
【0010】
イントラ予測の特定のモードは、H.264で導入され、H.265において改良され、共同探索モデル(JEM:joint exploration model)、多用途ビデオコーディング(VVC:versatile video coding)及びベンチマークセット(BMS:benchmark set)などのより新しいコーディング技術においてさらに改良された。予測子ブロックは、既に利用可能なサンプルに属する隣接サンプル値を使用して形成することができる。隣接サンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリーム内でコーディングされ得るか、又はそれ自体が予測されてもよい。
【0011】
図1Aを参照すると、右下に描写されているのは、H.265の(35個のイントラモードのうちの33個の角度モードに対応する)33個の可能な予測子方向から知られる9つの予測子方向のサブセットである。矢印が収束する点(101)は、予測されているサンプルを表す。矢印は、そこからサンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が水平から45度の角度で右上にある1つ又は複数のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が水平から22.5度の角度でサンプル(101)の左下にある1つ又は複数のサンプルから予測されることを示す。
【0012】
さらに図1Aを参照すると、左上には、(太い破線によって示された)4×4サンプルの正方形ブロック(104)が描写されている。正方形ブロック(104)は16個のサンプルを含み、各々、「S」、Y次元のその位置(例えば、行インデックス)及びX次元のその位置(例えば、列インデックス)でラベル付けされている。例えば、サンプルS21は、Y次元の(上から)2番目のサンプルであり、X次元の(左から)1番目のサンプルである。同様に、サンプルS44は、ブロック(104)内のY次元及びX次元の両方の4番目のサンプルである。ブロックはサイズが4×4サンプルなので、S44は右下にある。同様の番号付け方式に従う参照サンプルがさらに示されている。参照サンプルは、ブロック(104)に対してR、そのY位置(例えば、行インデックス)及びX位置(列インデックス)でラベル付けされている。H.264及びH.265の両方において、予測サンプルは再構成中のブロックに隣接するので、負の値が使用される必要はない。
【0013】
イントラピクチャ予測は、シグナリングされた予測方向によって割り当てられるように、隣接サンプルからの参照サンプル値をコピーすることによって機能し得る。例えば、コーディングされたビデオビットストリームが、このブロックに関して、矢印(102)と一致する予測方向を示すシグナリングを含む、すなわち、サンプルが水平から45度の角度で右上にある1つ又は複数の予測サンプルから予測されると仮定する。その場合、同じ参照サンプルR05からサンプルS41、S32、S23、及びS14が予測される。次いで、参照サンプルR08からサンプルS44が予測される。
【0014】
特定の場合には、参照サンプルを計算するために、特に方向が45度によって均等に割り切れないときは、複数の参照サンプルの値は、例えば補間によって組み合わされてもよい。
【0015】
可能な方向の数は、ビデオコーディング技術が発展するにつれて増加している。H.264(2003年)では、9つの異なる方向を表すことができた。それがH.265(2013年)では33に増加し、本開示の時点では、JEM/VVC/BMSは最大65個の方向をサポートし得る。最も可能性が高い方向を識別するために実験が行われており、エントロピーコーディングの特定の技術は、それらの可能性が高い方向を少数のビットで表すために使用され、可能性が低い方向に関しては一定のペナルティを受け入れている。さらに、方向自体は、隣接する既にデコーディングされたブロックにおいて使用された隣接方向から予測され得る場合もある。
【0016】
図1Bは、経時的に増加する数の予測方向を示すために、JEMによる65個のイントラ予測方向を描写する概略図(110)を示す。
【0017】
方向を表す、コーディングされたビデオビットストリーム内のイントラ予測方向ビットのマッピングは、ビデオコーディング技術ごとに異なってもよく、例えば、予測方向のイントラ予測モードへの単純な直接マッピングから、コードワード、最も可能性が高いモードを含む複雑な適応方式、及び同様の技術まで及び得る。しかしながら、すべての場合において、ビデオコンテンツ内で特定の他の方向よりも統計的に発生する可能性が低い特定の方向が存在し得る。ビデオ圧縮の目的は冗長性の低減であるので、それらの可能性が低い方向は、うまく機能するビデオコーディング技術では、可能性が高い方向よりも多いビット数によって表される。
【0018】
動き補償は、非可逆圧縮技術であり得、以前に再構成されたピクチャ又はその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以降、MV)によって示された方向に空間的にシフトされた後に、新しく再構成されるピクチャ又はピクチャの一部の予測に使用される技術に関し得る。場合によっては、参照ピクチャは、現在再構成中のピクチャと同じであり得る。MVは、2つの次元X及びY、又は3つの次元を有することができ、3番目の次元は、使用中の参照ピクチャの指示である(後者は、間接的に時間次元であり得る)。
【0019】
いくつかのビデオ圧縮技術では、サンプルデータの特定の領域に適用可能なMVは、他のMVから、例えば、再構成中の領域に空間的に隣接し、デコーディング順でそのMVに先行するサンプルデータの別の領域に関連するMVから予測され得る。そうすることにより、MVのコーディングに必要なデータ量を大幅に削減することができ、それによって冗長性が排除され、圧縮率が増加する。例えば、(ナチュラルビデオとして知られている)カメラから導出された入力ビデオ信号をコーディングするとき、単一のMVが適用可能な領域よりも大きい領域が同様の方向に移動する統計的な可能性が存在するので、MV予測は効果的に機能することができ、したがって、場合によっては、隣接する領域のMVから導出された同様の動きベクトルを使用して予測することができる。その結果、所与の領域について検出されたMVは、周囲のMVから予測されたMVと同様又は同じであり、エントロピーコーディング後、直接MVをコーディングする場合に使用されるビット数より少ないビット数で表すことができる。場合によっては、MV予測は、元の信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例であり得る。他の場合には、例えば、いくつかの周囲のMVから予測器を計算するときの丸め誤差のために、MV予測自体は非可逆であり得る。
【0020】
様々なMV予測メカニズムが、H.265/HEVC(ITU-T Rec.H.265、「High Efficiency Video Coding」、2016年12月)に記載されている。H.265が提供する多くのMV予測メカニズムのうち、本明細書に記載されるのは、以降「空間マージ」と呼ばれる技法である。
【0021】
図2を参照すると、現在のブロック(201)は、動き検索プロセス中にエンコーダにより、空間的にシフトされた同じサイズの以前のブロックから予測可能であることが見出されたサンプルを含む。直接そのMVをコーディングする代わりに、MVは、A0、A1、及びB0、B1、B2(それぞれ、202~206)と表記された5つの周囲サンプルのいずれか1つに関連付けられたMVを使用して、1つ又は複数の参照ピクチャに関連付けられたメタデータから、例えば、(デコーディング順序で)最新の参照ピクチャから導出することができる。H.265では、MV予測は、隣接するブロックが使用している同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【課題を解決するための手段】
【0022】
本開示の態様は、ビデオエンコーディング及びビデオデコーディングのための方法及び装置を提供する。いくつかの例では、ビデオデコーディングのための装置は処理回路を含む。処理回路は、コーディングされたビデオシーケンス(CVS)における第1のピクチャのための構文構造における第1のフラグ又は第2のフラグのうちの少なくとも1つをデコーディングするように構成される。第1のピクチャは、第1のサブピクチャを含む。第1のフラグは、第1のピクチャの第1のサブピクチャ分割情報が構文構造においてシグナリングされるかどうかを示すことができる。第2のフラグは、第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が構文構造においてシグナリングされるかどうかを示すことができる。処理回路は、第1のピクチャの第1のサブピクチャ分割情報が、構文構造においてシグナリングされることを示す第1のフラグ、又は第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が、構文構造においてシグナリングされることを示す第2のフラグのうちの少なくとも1つに基づいて、第1のサブピクチャを再構成することができる。
【0023】
一実施形態では、構文構造は、第1のピクチャパラメータセット(PPS)構文構造である。
【0024】
一実施形態では、第1のフラグ及び第2のフラグのうちの少なくとも1つは、第1のフラグを含む。第1のフラグは、第1のピクチャのための第1のサブピクチャ分割情報が、構文構造においてシグナリングされることを示す。
【0025】
一実施形態では、第1のピクチャは、複数のサブピクチャを含み、複数のサブピクチャは、第1のサブピクチャを含む。処理回路は、第1のサブピクチャ分割情報に基づいて、第1のピクチャにおける複数のサブピクチャの各々のサイズ及び位置を含む、第1のピクチャにおける複数のサブピクチャの第1のサブピクチャレイアウトを決定することができる。
【0026】
一実施形態では、第1のピクチャにおける各々のサブピクチャのサブピクチャ識別子(ID)は、構文構造における第1のサブピクチャ分割情報に基づいて決定することができる。
【0027】
一実施形態では、構文構造は、第1のピクチャパラメータセット(PPS)構文構造である。処理回路は、CVSにおける第2のピクチャのための第2のPPS構文構造においてシグナリングされた第2のサブピクチャ分割情報をデコーディングすることができる。処理回路は、第2のサブピクチャ分割情報に基づいて、第2のピクチャにおける第2のサブピクチャを再構成することができる。第2のピクチャの第2のサブピクチャレイアウトは、第1のピクチャの第1のサブピクチャレイアウトとは異なり得る。
【0028】
一実施形態では、第1のピクチャは、CVSにおける第1のレイヤにある。処理回路は、CVSにおける第2のレイヤにおける第2のピクチャのための別の構文構造においてシグナリングされた第2のサブピクチャ分割情報をデコーディングすることができる。第2のサブピクチャ分割情報は、第1のサブピクチャ分割情報とは異なり得る。処理回路は、第2のサブピクチャ分割情報に基づいて、第2のピクチャにおける第2のサブピクチャを再構成することができる。
【0029】
一実施形態では、第1のフラグ及び第2のフラグのうちの少なくとも1つは、第2のフラグを含み、第2のフラグは、第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報が構文構造においてシグナリングされることを示す。
【0030】
一実施形態では、処理回路は、構文構造に基づいて、第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報をデコーディングする。処理回路は、第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報に基づくサブピクチャごとの参照ピクチャリサンプリングを使用して、第1のサブピクチャを再構成することができる。
【0031】
一実施形態では、第1のフラグ及び第2のフラグのうちの少なくとも1つは、第1のフラグをさらに含む。第1のフラグは、第1のサブピクチャ分割情報が構文構造においてシグナリングされることを示す。処理回路は、構文構造に基づいて、第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報をデコーディングすることができる。処理回路は、第1のサブピクチャ分割情報に基づいて、第1のサブピクチャの寸法情報及び位置情報を決定することができる。処理回路は、第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報、第1のサブピクチャの寸法情報、及び第1のサブピクチャの位置情報に基づいて、第1のサブピクチャを再構成することができる。
【0032】
本開示の態様は、非一時的コンピュータ可読記憶媒体も提供し、非一時的コンピュータ可読記憶媒体は、ビデオデコーディングのための方法を実行するために少なくとも1つのプロセッサによって実行可能なプログラムを記憶する。
【0033】
開示された主題のさらなる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0034】
図1A】イントラ予測モードの例示的なサブセットの概略図である。
図1B】例示的なイントラ予測方向の図である。
図2】一実施形態による現在のブロック(201)及び周囲のサンプルを示す図である。
図3】一実施形態による、通信システム(300)の簡略化されたブロック図の概略図である。
図4】一実施形態による、通信システム(400)の簡略化されたブロック図の概略図である。
図5】一実施形態による、デコーダの簡略化されたブロック図の概略図である。
図6】一実施形態による、エンコーダの簡略化されたブロック図の概略図である。
図7】別の実施形態による、エンコーダを示すブロック図である。
図8】別の実施形態による、デコーダを示すブロック図である。
図9】本開示の一実施形態による、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)及びビデオパラメータセット(VPS)への参照を含むスライスヘッダーの一例を示す。
図10】本開示の一実施形態による、複数のピクチャ・イン・ピクチャを含む例示的な画像を示す。
図11】本開示の一実施形態による、局所領域の強化された表示の一例を示す。
図12】本開示の一実施形態による、サブピクチャ及びマルチレイヤを伴う例示的な体系的設計を示す。
図13】本開示の一実施形態による、参照ピクチャ内の参照サブピクチャスケーリングウィンドウ及びサブピクチャ内のサブピクチャスケーリングウィンドウの一例を示す。
図14A】本開示の一実施形態による、コーディングされたビデオシーケンス(CVS)内の例示的なサブピクチャレイアウト更新プロセスを示す。
図14B】本開示の一実施形態による、CVS内の例示的なサブピクチャレイアウト更新プロセスを示す。
図15】本開示の一実施形態による、CVS内の異なるレイヤ内の例示的なサブピクチャレイアウトを示す。
図16】本開示の一実施形態による、エンコーディングプロセスを概説するフローチャートを示す。
図17】本開示の一実施形態による、デコーディングプロセスを概説するフローチャートを示す。
図18】一実施形態による、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0035】
図3は、本開示の一実施形態による、通信システム(300)の簡略化されたブロック図を示す。通信システム(300)は、例えば、ネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された端末デバイス(310)及び(320)の第1のペアを含む。図3の例では、端末デバイス(310)及び(320)の第1のペアは、データの単方向送信を実行する。例えば、端末デバイス(310)は、ネットワーク(350)を介して他の端末デバイス(320)に送信するためのビデオデータ(例えば、端末デバイス(310)によって取り込まれたビデオピクチャのストリーム)をコーディングすることができる。エンコーディングされたビデオデータは、1つ又は複数のコーディングされたビデオビットストリームの形式で送信することができる。端末デバイス(320)は、ネットワーク(350)からコーディングされたビデオデータを受信し、コーディングされたビデオデータをデコーディングしてビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示することができる。単方向データ送信は、メディア提供用途などにおいて一般的であり得る。
【0036】
別の例では、通信システム(300)は、例えばビデオ会議中に発生する可能性があるコーディングされたビデオデータの双方向送信を実行する端末デバイス(330)及び(340)の第2のペアを含む。データの双方向送信の場合、一例では、端末デバイス(330)及び(340)の各端末デバイスは、ネットワーク(350)を介して端末デバイス(330)及び(340)のうちの他の端末デバイスに送信するためのビデオデータ(例えば、端末デバイスによって取り込まれたビデオピクチャのストリーム)をコーディングすることができる。端末デバイス(330)及び(340)の各端末デバイスはまた、端末デバイス(330)及び(340)のうちの他の端末デバイスによって送信されたコーディングされたビデオデータを受信することができ、コーディングされたビデオデータをデコーディングしてビデオピクチャを復元することができ、復元されたビデオデータに従ってアクセス可能な表示デバイスにビデオピクチャを表示することができる。
【0037】
図3の例では、端末デバイス(310)、(320)、(330)及び(340)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示される場合があるが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ、及び/又は専用ビデオ会議機器を用いるアプリケーションを見出す。ネットワーク(350)は、例えば、ワイヤ線(有線)及び/又はワイヤレスの通信ネットワークを含む、端末デバイス(310)、(320)、(330)及び(340)の間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換チャネル及び/又はパケット交換チャネルでデータを置換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットが含まれる。本説明の目的のために、ネットワーク(350)のアーキテクチャ及びトポロジーは、本明細書で以下に説明されない限り、本開示の動作にとって重要でない可能性がある。
【0038】
図4は、開示された主題についてのアプリケーション用の一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮ビデオの記憶などを含む、他のビデオ対応アプリケーションに等しく適用可能であり得る。
【0039】
ストリーミングシステムは、例えば、圧縮されていないビデオピクチャのストリーム(402)を作成するビデオソース(401)、例えば、デジタルカメラを含むことができるキャプチャサブシステム(413)を含んでもよい。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮影されたサンプルを含む。エンコーディングされたビデオデータ(404)(又はコーディングされたビデオビットストリーム)と比較したときに多いデータ量を強調するために太い線として描写されたビデオピクチャのストリーム(402)は、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理することができる。ビデオエンコーダ(403)は、以下でより詳細に記載されるように、開示された主題の態様を可能にするか又は実装するために、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。ビデオピクチャのストリーム(402)と比較したときに少ないデータ量を強調するために細い線として描写されたエンコーディングされたビデオデータ(404)(又はエンコーディングされたビデオビットストリーム)は、将来の使用のためにストリーミングサーバ(405)に記憶することができる。図4のクライアントサブシステム(406)及び(408)などの1つ又は複数のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、エンコーディングされたビデオデータ(404)のコピー(407)及び(409)を取り出すことができる。クライアントサブシステム(406)は、例えば、電子デバイス(430)内のビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、エンコーディングされたビデオデータの入力コピー(407)をデコーディングし、ディスプレイ(412)(例えば、表示画面)又は他のレンダリングデバイス(描写せず)上でレンダリングすることができるビデオピクチャの出力ストリーム(411)を作成する。いくつかのストリーミングシステムでは、エンコーディングされたビデオデータ(404)、(407)及び(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従ってエンコーディングすることができる。それらの規格の例には、ITU-T勧告H.265が含まれる。一例では、開発中のビデオコーディング規格は、非公式に多用途ビデオコーディング(VVC:Versatile Video Coding)として知られている。開示された主題は、VVCの文脈で使用され得る。
【0040】
電子デバイス(420)及び(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(420)はビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)もビデオエンコーダ(図示せず)を含むことができる。
【0041】
図5は、本開示の一実施形態による、ビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれ得る。電子デバイス(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、図4の例のビデオデコーダ(410)の代わりに使用することができる。
【0042】
受信機(531)は、ビデオデコーダ(510)によってデコーディングされる1つ又は複数のコーディングされたビデオシーケンス、同じか又は別の実施形態では、一度に1つのコーディングされたビデオシーケンスを受信することができ、各コーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、チャネル(501)から受信されてもよく、チャネル(501)は、エンコーディングされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであってもよい。受信機(531)は、それらのそれぞれの使用エンティティ(描写せず)に転送され得る他のデータ、例えば、コーディングされたオーディオデータ及び/又は補助データストリームとともにエンコーディングされたビデオデータを受信することができる。受信機(531)は、コーディングされたビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(515)は、受信機(531)とエントロピーデコーダ/パーサー(520)(以下、「パーサー(520)」)との間に結合されてもよい。特定のアプリケーションでは、バッファメモリ(515)はビデオデコーダ(510)の一部である。他のアプリケーションでは、それはビデオデコーダ(510)の外側にあり得る(描写せず)。さらに他のアプリケーションでは、例えば、ネットワークジッタに対抗するために、ビデオデコーダ(510)の外側にバッファメモリ(描写せず)があり、加えて、例えば、プレイアウトタイミングを処理するために、ビデオデコーダ(510)の内側に別のバッファメモリ(515)があり得る。受信機(531)が十分な帯域幅及び制御可能性のストア/フォワードデバイスから、又はアイソシンクロナス(isosynchronous)ネットワークからデータを受信しているとき、バッファメモリ(515)は必要とされない場合があるか、又は小さい可能性がある。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(515)は、必要とされる場合があり、比較的大きい可能性があり、好ましくは適応サイズであり得、オペレーティングシステム又はビデオデコーダ(510)の外側の同様の要素(描写せず)に少なくとも部分的に実装されてもよい。
【0043】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するためにパーサー(520)を含んでもよい。これらのシンボルのカテゴリには、ビデオデコーダ(510)の動作を管理するために使用される情報、及び潜在的に、電子デバイス(530)の不可欠な部分ではないが、図5に示されたように、電子デバイス(530)に結合することができるレンダリングデバイス(512)(例えば、表示画面)などのレンダリングデバイスを制御するための情報が含まれる。レンダリングデバイスのための制御情報は、補足拡張情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)のパラメータセットフラグメント(描写せず)の形式であってもよい。パーサー(520)は、受け取ったコーディングされたビデオシーケンスを構文解析/エントロピーデコーディングすることができる。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、文脈感度の有無にかかわらず、可変長コーディング、ハフマンコーディング、算術コーディングなどを含む様々な原理に従うことができる。パーサー(520)は、グループに対応する少なくとも1つのパラメータに基づいて、コーディングされたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのための一組のサブグループパラメータを抽出することができる。サブグループは、グループオブピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサー(520)はまた、コーディングされたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどの情報を抽出することができる。
【0044】
パーサー(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受け取ったビデオシーケンスに対してエントロピーデコーディング/構文解析動作を実行することができる。
【0045】
シンボル(521)の再構成は、(インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロックなどの)コーディングされたビデオピクチャ又はその一部のタイプ並びに他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように関与するかは、パーサー(520)によってコーディングされたビデオシーケンスから構文解析されたサブグループ制御情報によって制御することができる。パーサー(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、分かりやすくするために描写されていない。
【0046】
既に述べられた機能ブロック以外に、ビデオデコーダ(510)は、以下に記載されるように、概念的にいくつかの機能ユニットに細分化することができる。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかしながら、開示された主題を説明する目的のために、以下の機能ユニットへの概念的細分が適切である。
【0047】
第1のユニットはスケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化変換係数、並びにどの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を、パーサー(520)からシンボル(521)として受け取る。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を含むブロックを出力することができる。
【0048】
場合によっては、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラコーディングされたブロックに関係する可能性があり、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用し得るブロックである。そのような予測情報を、イントラピクチャ予測ユニット(552)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)からフェッチされた周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば、部分的に再構成された現在のピクチャ及び/又は完全に再構成された現在のピクチャをバッファリングする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
【0049】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされ、潜在的に動き補償されたブロックに関連する可能性がある。そのような場合、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(521)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によってスケーラ/逆変換ユニット(551)の出力に追加することができる(この場合、残差サンプル又は残差信号と呼ばれる)。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えば、X、Y、及び参照ピクチャ成分を有することができるシンボル(521)の形式で動き補償予測ユニット(553)に利用可能な動きベクトルによって制御することができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされたサンプル値の補間、動きベクトル予測メカニズムなどを含むことができる。
【0050】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々なループフィルタリング技法を受けることができる。ビデオ圧縮技術は、(コーディングされたビデオビットストリームとも呼ばれる)コーディングされたビデオシーケンスに含まれるパラメータによって制御され、パーサー(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるインループフィルタ技術を含むことができるが、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(デコーディング順序で)前の部分のデコーディング中に取得されたメタ情報に応答するだけでなく、以前に再構成及びループフィルタリングされたサンプル値に応答することもできる。
【0051】
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)に出力されるだけでなく、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)に記憶することができるサンプルストリームであり得る。
【0052】
一旦完全に再構成されると、特定のコーディングされたピクチャは、将来の予測のための参照ピクチャとして使用され得る。例えば、現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが参照ピクチャとして(例えば、パーサー(520)によって)識別されると、現在のピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部になることができ、未使用の現在のピクチャバッファは、次のコーディングされたピクチャの再構成を開始する前に再割当てすることができる。
【0053】
ビデオデコーダ(510)は、ITU-T Rec.H.265などの規格における所定のビデオ圧縮技術に従ってデコーディング動作を実行することができる。コーディングされたビデオシーケンスがビデオ圧縮技術又は規格の構文とビデオ圧縮技術において文書化されたプロファイルの両方を順守するという意味で、コーディングされたビデオシーケンスは、使用されているビデオ圧縮技術又は規格によって指定された構文に準拠することができる。具体的には、プロファイルは、ビデオ圧縮技術又は規格で使用可能なすべてのツールから、そのプロファイル下で使用するために利用可能な唯一のツールとしていくつかのツールを選択し得る。また、準拠するために必要なことは、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルによって定義された範囲内にあることであり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(HRD:Hypothetical Reference Decoder)仕様及びコーディングされたビデオシーケンスでシグナリングされたHRDバッファ管理のためのメタデータによってさらに制限され得る。
【0054】
一実施形態では、受信機(531)は、エンコーディングされたビデオとともに追加の(冗長な)データを受信することができる。追加のデータは、コーディングされたビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切にデコーディングするために、かつ/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用されてもよい。追加のデータは、例えば、時間、空間、又は信号雑音比(SNR:signal noise ratio)強化レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正コードなどの形式であり得る。
【0055】
図6は、本開示の一実施形態による、ビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)は電子デバイス(620)に含まれる。電子デバイス(620)は送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、図4の例のビデオエンコーダ(403)の代わりに使用することができる。
【0056】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるビデオ画像を取り込むことができる(図6の例では電子デバイス(620)の一部ではない)ビデオソース(601)からビデオサンプルを受信することができる。別の例では、ビデオソース(601)は電子デバイス(620)の一部である。
【0057】
ビデオソース(601)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)及び任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、ビデオエンコーダ(603)によってコーディングされるソースビデオシーケンスを提供することができる。メディアサービングシステムでは、ビデオソース(601)は、以前に準備されたビデオを記憶する記憶装置であってもよい。ビデオ会議システムでは、ビデオソース(601)は、ビデオシーケンスとしてローカル画像情報を取り込むカメラであってもよい。ビデオデータは、順番に見たときに動きを伝える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間配列として編成されてよく、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つ又は複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てる。
【0058】
一実施形態によれば、ビデオエンコーダ(603)は、リアルタイムで、又はアプリケーションによって必要とされる任意の他の時間制約の下で、ソースビデオシーケンスのピクチャをコーディングされたビデオシーケンス(643)にコーディングし圧縮することができる。適切なコーディング速度を強制することは、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、以下に記載される他の機能ユニットを制御し、他の機能ユニットに機能的に結合されている。分かりやすくするために、結合は描写されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技法のラムダ値、…)、ピクチャサイズ、グループオブピクチャ(GOP)のレイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関連する他の適切な機能を有するように構成することができる。
【0059】
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過度に単純化された説明として、一例では、コーディングループは、(例えば、コーディングされる入力ピクチャ、及び参照ピクチャに基づいて、シンボルストリームなどのシンボルを作成することに関与する)ソースコーダ(630)、並びにビデオエンコーダ(603)に組み込まれた(ローカル)デコーダ(633)を含むことができる。デコーダ(633)は、(シンボルとコーディングされたビデオビットストリームとの間のいかなる圧縮も、開示された主題で考慮されるビデオ圧縮技術において可逆であるため)(リモート)デコーダも作成するのと同様の方式で、シンボルを再構成してサンプルデータを作成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームのデコーディングは、デコーダの場所(ローカル又はリモート)に関係なくビットイグザクトな結果につながるので、参照ピクチャメモリ(634)内のコンテンツも、ローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えれば、エンコーダの予測部分は、デコーディング中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(及び、例えば、チャネルエラーのために同期性が維持できない場合に結果として生じるドリフト)のこの基本原理は、いくつかの関連技術でも使用される。
【0060】
「ローカル」デコーダ(633)の動作は、図5とともに上記で詳細に既に記載されている、ビデオデコーダ(510)などの「リモート」デコーダの動作と同じであり得る。しかしながら、また図5を簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)及びパーサー(520)によるコーディングされたビデオシーケンスへのシンボルのエンコーディング/デコーディングは可逆であり得るので、バッファメモリ(515)を含むビデオデコーダ(510)のエントロピーデコーディング部分、及びパーサー(520)は、ローカルデコーダ(633)に完全に実装されていない可能性がある。
【0061】
一実施形態では、デコーダ内に存在する構文解析/エントロピーデコーディングを除くデコーダ技術は、対応するエンコーダ内に同一又は実質的に同一の機能形態で存在する。したがって、開示される主題はデコーダの動作に焦点を当てる。エンコーダ技術の説明は、包括的に記載されたデコーダ技術の逆であるため、省略することができる。特定の領域において、より詳細な説明が以下に提供される。
【0062】
動作中、いくつかの例では、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ又は複数の以前にコーディングされたピクチャを参照して入力ピクチャを予測的にコーディングする、動き補償予測コーディングを実行することができる。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャへの予測参照として選択され得る参照ピクチャのピクセルブロックとの間の差をコーディングする。
【0063】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータをデコーディングすることができる。コーディングエンジン(632)の動作は、好ましくは、非可逆プロセスであってもよい。コーディングされたビデオデータが(図6には示されていない)ビデオデコーダでデコーディングされ得るとき、再構成されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって実行され得るデコーディングプロセスを複製し、再構成された参照ピクチャが参照ピクチャメモリ(634)に記憶されるようにすることができる。このようにして、ビデオエンコーダ(603)は、(送信エラーがない)遠端ビデオデコーダによって取得される再構成された参照ピクチャとして共通のコンテンツを有する、再構成された参照ピクチャのコピーをローカルに記憶することができる。
【0064】
予測器(635)は、コーディングエンジン(632)のための予測検索を実行することができる。すなわち、コーディングされた新しいピクチャの場合、予測器(635)は、新しいピクチャのための適切な予測参照として役立つことができる、(候補参照ピクセルブロックとしての)サンプルデータ又は参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを求めて、参照ピクチャメモリ(634)を検索することができる。予測器(635)は、適切な予測参照を見つけるために、ピクセルブロックごとにサンプルブロックに対して動作することができる。場合によっては、予測器(635)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有することができる。
【0065】
コントローラ(650)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理することができる。
【0066】
すべての前述の機能ユニットの出力は、エントロピーコーダ(645)内でエントロピーコーディングを受けることができる。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
【0067】
送信機(640)は、エントロピーコーダ(645)によって作成されたコーディングされたビデオシーケンスをバッファリングして、通信チャネル(660)を介した送信の準備をすることができ、通信チャネル(660)は、エンコーディングされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオエンコーダ(603)からのコーディングされたビデオデータを、送信される他のデータ、例えば、コーディングされたオーディオデータ及び/又は補助データストリーム(ソースは図示されていない)とマージすることができる。
【0068】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理することができる。コーディング中に、コントローラ(650)は、各コーディングされたピクチャに特定のコーディングされたピクチャタイプを割り当てることができ、それは、それぞれのピクチャに適用され得るコーディング技法に影響を及ぼす場合がある。例えば、ピクチャは、以下のピクチャタイプのうちの1つとして割り当てられることが多い。
【0069】
イントラピクチャ(Iピクチャ)は、シーケンス内の任意の他のピクチャを予測ソースとして使用せずに、コーディング及びデコーディングされ得るものであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」)ピクチャを含む、様々なタイプのイントラピクチャを可能にする。当業者は、Iピクチャのそれらの変形形態、並びにそれらのそれぞれの用途及び特徴を認識している。
【0070】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くとも1つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を使用して、コーディングされた及びデコーディングされ得るピクチャであり得る。
【0071】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くとも2つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を使用して、コーディングされた及びデコーディングされ得るピクチャであり得る。同様に、複数の予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャ及び関連メタデータを使用し得る。
【0072】
ソースピクチャは一般に、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、又は16×16のサンプルのブロック)に空間的に細分され、ブロックごとにコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割当てによって決定されるように、他の(既にコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよく、又はそれらは、同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間予測もしくはイントラ予測)。Pピクチャのピクセルブロックは、1つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、又は時間予測を介して、予測的にコーディングされてもよい。Bピクチャのブロックは、1つ又は2つの以前にコーディングされた参照ピクチャを参照して、空間予測を介して、又は時間予測を介して、予測的にコーディングされてもよい。
【0073】
ビデオエンコーダ(603)は、ITU-T Rec.H.265などの所定のビデオコーディング技術又は規格に従ってコーディング動作を実行することができる。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間及び空間の冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行することができる。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術又は規格によって指定された構文に準拠し得る。
【0074】
一実施形態では、送信機(640)は、エンコーディングされたビデオとともに追加のデータを送信することができる。ソースコーダ(630)は、コーディングされたビデオシーケンスの一部としてそのようなデータを含んでもよい。追加のデータは、時間/空間/SNR強化レイヤ、冗長ピクチャ及びスライスなどの他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含み得る。
【0075】
ビデオは、複数のソースピクチャ(ビデオピクチャ)として時系列でキャプチャされ得る。(イントラ予測と省略されることが多い)イントラピクチャ予測は、所与のピクチャ内の空間の相関関係を利用し、インターピクチャ予測は、ピクチャ間の(時間又は他の)相関関係を利用する。一例では、現在のピクチャと呼ばれる、エンコーディング/デコーディング中の特定のピクチャがブロックに分割される。現在のピクチャ内のブロックが、以前にコーディングされ、ビデオ内にまだバッファリングされている参照ピクチャ内の参照ブロックに類似しているとき、現在のピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによってコーディングされることができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有することができる。
【0076】
いくつかの実施形態では、インターピクチャ予測において、双予測技術を使用してもよい。双予測技法によれば、両方ともビデオ内の現在のピクチャよりもデコーディング順序で前にある(が、それぞれ、表示順序で過去及び将来であり得る)第1の参照ピクチャ及び第2の参照ピクチャなどの2つの参照ピクチャが使用される。現在のピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトル、及び第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルによってコーディングされることができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測され得る。
【0077】
さらに、インターピクチャ予測において、コーディング効率を改善するために、マージモード技術を使用し得る。
【0078】
本開示のいくつかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測などの予測は、ブロック単位で実行される。例えば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセルなどの同じサイズを有する。一般に、CTUは3つのコーディングツリーブロック(CTB)を含み、それらは1つの輝度CTB及び2つの彩度CTBである。各CTUは、1つ又は複数のコーディングユニット(CU)に再帰的に四分木分割することができる。例えば、64×64ピクセルのCTUは、1つの64×64ピクセルのCU、又は4つの32×32ピクセルのCU、又は16個の16×16ピクセルのCUに分割することができる。一例では、インター予測タイプ又はイントラ予測タイプなどのCUの予測タイプを決定するために、各CUが分析される。CUは、時間及び/又は空間の予測可能性に応じて、1つ又は複数の予測ユニット(PU)に分割される。一般に、各PUは、1つのルマ予測ブロック(PB)及び2つのクロマPBを含む。一実施形態では、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルマ予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセルなどのピクセルの値(例えば、ルマ値)の行列を含む。
【0079】
図7は、本開示の別の実施形態による、ビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックをコーディングされたビデオシーケンスの一部であるコーディングされたピクチャにエンコーディングするように構成される。一例では、ビデオエンコーダ(703)は、図4の例のビデオエンコーダ(403)の代わりに使用される。
【0080】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどの処理ブロック用のサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモード、インターモード、又は双予測モードを使用して最良にコーディングされるかどうかを判定する。処理ブロックがイントラモードでコーディングされるとき、ビデオエンコーダ(703)は、イントラ予測技法を使用して、処理ブロックをコーディングされたピクチャにエンコーディングすることができ、処理ブロックがインターモード又は双予測モードでコーディングされるとき、ビデオエンコーダ(703)は、それぞれ、インター予測技法又は双予測技法を使用して、処理ブロックをコーディングされたピクチャにエンコーディングすることができる。特定のビデオコーディング技術では、マージモードは、予測器の外側のコーディングされた動きベクトル成分の利点がない、動きベクトルが1つ又は複数の動きベクトル予測器から導出されるインターピクチャ予測サブモードであり得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためにモード決定モジュール(図示せず)などの他の構成要素を含む。
【0081】
図7の例では、ビデオエンコーダ(703)は、図7に示されたように一緒に結合されたインターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)及びエントロピーエンコーダ(725)を含む。
【0082】
インターエンコーダ(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ又は複数の参照ブロック(例えば、前のピクチャ及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インターエンコーディング技法による冗長情報、動きベクトル、マージモード情報の記述)を生成し、任意の適切な技法を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、エンコーディングされたビデオ情報に基づいてデコーディングされた、デコーディングされた参照ピクチャである。
【0083】
イントラエンコーダ(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じピクチャ内の既にコーディングされたブロックと比較し、変換後に量子化係数を生成し、場合によっては、イントラ予測情報(例えば、1つ又は複数のイントラエンコーディング技法によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(722)はまた、同じピクチャ内のイントラ予測情報及び参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
【0084】
汎用コントローラ(721)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードであるとき、汎用コントローラ(721)は、スイッチ(726)を制御して残差計算器(723)が使用するためのイントラモード結果を選択し、エントロピーエンコーダ(725)を制御してイントラ予測情報を選択し、ビットストリームにイントラ予測情報を含め、モードがインターモードであるとき、汎用コントローラ(721)は、スイッチ(726)を制御して残差計算器(723)が使用するためのインター予測結果を選択し、エントロピーエンコーダ(725)を制御してインター予測情報を選択し、ビットストリームにインター予測情報を含める。
【0085】
残差計算器(723)は、受信ブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データをエンコーディングして変換係数を生成するために、残差データに基づいて動作するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化変換係数を取得するために量子化処理を受ける。様々な実施形態では、ビデオエンコーダ(703)は残差デコーダ(728)も含む。残差デコーダ(728)は、逆変換を実行し、デコーディングされた残差データを生成するように構成される。デコーディングされた残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって適切に使用することができる。例えば、インターエンコーダ(730)は、デコーディングされた残差データ及びインター予測情報に基づいてデコーディングされたブロックを生成することができ、イントラエンコーダ(722)は、デコーディングされた残差データ及びイントラ予測情報に基づいてデコーディングされたブロックを生成することができる。いくつかの例では、デコーディングされたブロックは、デコーディングされたピクチャを生成するために適切に処理され、デコーディングされたピクチャは、メモリ回路(図示せず)にバッファリングされ、参照ピクチャとして使用されてもよい。
【0086】
エントロピーエンコーダ(725)は、エンコーディングされたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC規格などの適切な規格に従って様々な情報を含めるように構成される。一例では、エントロピーエンコーダ(725)は、ビットストリーム内に汎用制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の適切な情報を含めるように構成される。開示された主題によれば、インターモード又は双予測モードのいずれかのマージサブモードでブロックをコーディングする場合、残差情報は存在しないことに留意されたい。
【0087】
図8は、本開示の別の実施形態による、ビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受信し、コーディングされたピクチャをデコーディングして再構成されたピクチャを生成するように構成される。一例では、ビデオデコーダ(810)は、図4の例のビデオデコーダ(410)の代わりに使用される。
【0088】
図8の例では、ビデオデコーダ(810)は、図8に示されたように一緒に結合されたエントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)及びイントラデコーダ(872)を含む。
【0089】
エントロピーデコーダ(871)は、コーディングされたピクチャから、コーディングされたピクチャが構成される構文要素を表す特定のシンボルを再構成するように構成することができる。そのようなシンボルは、例えば、(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は別のサブモードのうちの後者2つなどの)ブロックがコーディングされるモード、それぞれ、イントラデコーダ(872)又はインターデコーダ(880)による予測に使用される特定のサンプル又はメタデータを識別することができる(例えば、イントラ予測情報又はインター予測情報などの)予測情報、例えば、量子化変換係数の形態の残差情報などを含むことができる。一例では、予測モードがインターモード又は双予測モードであるとき、インター予測情報はインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプであるとき、イントラ予測情報はイントラデコーダ(872)に提供される。残差情報は逆量子化を受けることができ、残差デコーダ(873)に提供される。
【0090】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0091】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0092】
残差デコーダ(873)は、逆量子化を実行して量子化解除された変換係数を抽出し、量子化解除された変換係数を処理して、残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、(量子化器パラメータ(QP)を含めるために)特定の制御情報を必要とする場合があり、その情報は、エントロピーデコーダ(871)によって提供される場合がある(これは、少量の制御情報のみである可能性があるので、データパスは描写されていない)。
【0093】
再構成モジュール(874)は、空間領域において、残差デコーダ(873)によって出力された残差と(場合によってはインター予測モジュール又はイントラ予測モジュールによって出力された)予測結果を組み合わせて、再構成されたピクチャの一部であり得る再構成されたブロックを形成するように構成され、再構成されたピクチャは再構成されたビデオの一部であり得る。視覚的品質を改善するために、デブロッキング動作などの他の適切な動作を実行することができることに留意されたい。
【0094】
ビデオエンコーダ(403)、(603)及び(703)、並びにビデオデコーダ(410)、(510)及び(810)は、任意の適切な技法を使用して実装することができることに留意されたい。一実施形態では、ビデオエンコーダ(403)、(603)及び(703)、並びにビデオデコーダ(410)、(510)及び(810)は、1つ又は複数の集積回路を使用して実装することができる。別の実施形態では、ビデオエンコーダ(403)、(603)及び(603)、並びにビデオデコーダ(410)、(510)及び(810)は、ソフトウェア命令を実行する1つ又は複数のプロセッサを使用して実装することができる。
【0095】
本開示の一実施形態によれば、ビットストリームは、1つ又は複数のコーディングされたビデオシーケンス(CVS)を含むことができる。CVSは、他のCVSとは独立してコーディングできる。各CVSには1つ又は複数のレイヤを含めることができ、各レイヤは特定の品質(例えば、空間解像度)を備えたビデオの表現、又は例えば、深度マップ、透明度マップ、又は透視図などの特定のコンポーネント解釈プロパティの表現とすることができる。時間次元では、各CVSに1つ又は複数のアクセスユニット(AU)を含めることができる。各AUには、同じ時間インスタンスに対応する異なるレイヤの1つ又は複数のピクチャを含めることができる。コーディングされたレイヤビデオシーケンス(CLVS)は、同じレイヤ内にピクチャユニットのシーケンスを含むことができるレイヤごとのCVSである。ビットストリームに複数のレイヤがある場合、ビットストリーム内のCVSは、レイヤごとに1つ又は複数のCLVSを有することができる。
【0096】
一実施形態では、CVSはAUのシーケンスを含み、AUのシーケンスは、デコーディング順でイントラランダムアクセスポイント(IRAP)AUを含み、その後にIRAP AUではない0個以上のAUが続く。一例では、0個以上のAUは、IRAP AUである任意の後続AUまでの、それを含まないすべての後続AUを含む。一例では、CLVSは、ピクチャのシーケンスと、CVSのベースレイヤの関連する非ビデオコーディングレイヤ(VCL)ネットワークアブストラクションレイヤ(NAL)ユニットとを含む。
【0097】
パラメータセットは、ビデオビットストリームの一部とすることができるか、又は他の手段(信頼できるチャネルを使用した帯域外送信、エンコーダとデコーダでのハードコーディングなどを含む)を介してデコーダで受信することができる。パラメータセットは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)などを含むことができるが、これらに限定されない。
【0098】
高レベルの構文構造は、VPS、SPS、PPS、補足拡張情報(SEI)メッセージ、スライスヘッダー、ピクチャヘッダー、タイルグループヘッダーなどを含むことができる。
【0099】
VPSには、複数のレイヤ並びにサブレイヤに適用できる情報を含めることができる。一例では、ビデオシーケンスの各レイヤは、同じVPSを参照する。
【0100】
SPSには、コーディングされたビデオシーケンスのスライスに適用する情報を含めることができる。SPSには、1)自己参照又は識別子(ID)、2)デコーダ動作点関連情報(例えば、プロファイル、レベル、ピクチャサイズ、サブレイヤ数)、3)プロファイル内の特定のツールのための有効化フラグ、及びツールが有効な場合は関連するコーディングツールパラメータ、4)構造と変換係数のコーディングの柔軟性を制限する情報、5)一時的なスケーラビリティ制御、及び6)ビジュアルユーザビリティ情報(VUI)のうちの1つ又は複数を含めることができる。
【0101】
PPSは、例えば、スライスヘッダー内に見つけられる構文要素によって決定されるように、コーディングされた0個以上のピクチャ全体に適用される構文要素を含むことができる。PPSには、ピクチャごとに変化し得る情報を含めることができる。PPSには、1)自己参照又はID、2)初期量子化パラメータ(QP)、特定のツールの使用又は存在を示す多数のフラグ、又はスライスヘッダー内の制御情報などの初期ピクチャ制御情報、及び3)タイリング情報のうちの1つ又は複数を含めることができる。
【0102】
スライスヘッダーには、スライスごとに変化する可能性のある情報、並びに比較的小さい、又は特定のスライス又はピクチャタイプにのみ関連するピクチャ関連の情報を含めることができる。
【0103】
図9は、本開示の一実施形態による、PPS、SPS、及びVPSへの参照を含むスライスヘッダーの一例を示す。スライスヘッダーは、PPS(例えば、pps_id:4)を参照する。PPS(例えば、pps_id:4)には、SPS(例えば、sps_id:1)への参照を含めることができる。SPS(例えば、sps_id:1)には、VPS(例えば、vps_id:0)への参照を含めることができる。
【0104】
パラメータセットの各タイプには拡張メカニズムを含めることができ、これにより、将来のバージョンのビデオコーディング技術又は規格にパラメータセットを拡張できる。
【0105】
ピクチャ内のサブピクチャは、サンプル、ブロック、マクロブロック、CU、又は意味的にグループ化され、変更された解像度で個別にコーディングされ得る同様のエンティティの長方形の配置を指す場合がある。1つ又は複数のサブピクチャは、ピクチャを形成することができる。1つ又は複数のコーディングされたサブピクチャは、コーディングされたピクチャを形成することができる。1つ又は複数のサブピクチャを1つのピクチャに組み立てることができ、1つ又は複数のサブピクチャをピクチャから抽出することができる。特定の環境では、1つ又は複数のコーディングされたサブピクチャを、サンプルレベルでコーディングされたピクチャにコード変換することなく、圧縮されたドメイン内で組み立てることができる。一実施形態では、圧縮されたドメイン内のコーディングされたピクチャから1つ又は複数のコーディングされたサブピクチャを抽出することができる。
【0106】
一実施形態では、ピクチャは、1つ又は複数のサブピクチャを含む。各サブピクチャは、ピクチャの局所領域又は領域全体をカバーすることができる。サブピクチャによってサポートされる領域は、別のサブピクチャによってサポートされる別の領域と重複してもよいし、重複しなくてもよい。1つ又は複数のサブピクチャでカバーされる領域は、ピクチャの領域全体をカバーする場合とカバーしない場合がある。ピクチャにサブピクチャが含まれる場合、サブピクチャによってサポートされる領域は、ピクチャによってサポートされる領域と同じであり得る。
【0107】
サブピクチャは、本開示で説明されるような、コーディングされたピクチャに使用されるコーディング方法と同様のコーディング方法によってコーディングされ得る。サブピクチャは、独立してコーディングすることも、別のサブピクチャ又はコーディングされたピクチャに依存してコーディングすることもできる。サブピクチャには、別のサブピクチャ又はコーディングされたピクチャからの解析依存関係がある場合とない場合がある。
【0108】
コーディングされたサブピクチャは、1つ又は複数のレイヤに含まれ得る。レイヤ内のコーディングされたサブピクチャは、異なる空間解像度を有し得る。元のサブピクチャは、空間的にリサンプリングされ(例えば、アップサンプリング又はダウンサンプリングされ)、異なる空間解像度パラメータでコーディングされ、レイヤに対応するビットストリーム内に含まれ得る。
【0109】
(W, H)(それぞれ、Wはサブピクチャの幅を示し、Hはサブピクチャの高さを示す)を有するサブピクチャは、コーディングされ、レイヤ0に対応するコーディングされたビットストリーム内に含まれ得る。元の空間解像度を有するサブピクチャからのアップサンプリングされた(又はダウンサンプリングされた)サブピクチャは、コーディングされ、レイヤkに対応するコーディングされたビットストリーム内に含まれ得る。アップサンプリング(又はダウンサンプリング)されたサブピクチャは、W×Sw,kの幅とH×Sh,kの高さを有する。パラメータSw,kとSh,kは、それぞれ水平方向のリサンプリング率と垂直方向のリサンプリング率を示す。
【0110】
レイヤ内のコーディングされたサブピクチャは、同じサブピクチャ又は異なるサブピクチャ内の別のレイヤ内のコーディングされたサブピクチャとは異なる視覚品質を有し得る。
【0111】
レイヤ内のコーディングされたサブピクチャは、同じ局所領域の別のレイヤ内のコーディングされたサブピクチャからの解析又はデコーディングの依存関係なしに、独立してデコーディング可能であり得る。同じ局所領域の別のサブピクチャレイヤを参照せずに独立してデコーディング可能であり得るサブピクチャレイヤは、独立したサブピクチャレイヤであり得る。独立したサブピクチャレイヤ内のコーディングされたサブピクチャは、同じサブピクチャレイヤ内の以前にコーディングされたサブピクチャからのデコーディング又は解析の依存関係を有する場合と有さない場合があるが、コーディングされたサブピクチャは、別のサブピクチャレイヤ内のコーディングされたピクチャからの依存関係を有さない場合がある。
【0112】
レイヤ内のコーディングされたサブピクチャは、同じ局所領域の別のレイヤ内のコーディングされたサブピクチャからの解析又はデコーディングの依存関係により、依存的にデコーディング可能であり得る。同じ局所領域の別のサブピクチャレイヤを参照して従属的にデコーディング可能であり得るサブピクチャレイヤは、従属サブピクチャレイヤであり得る。従属サブピクチャ内のコーディングされたサブピクチャは、同じサブピクチャ内のコーディングされたサブピクチャ、同じサブピクチャレイヤ内の以前にコーディングされたサブピクチャ、又は両方の参照サブピクチャを参照することができる。
【0113】
コーディングされたサブピクチャは、1つ又は複数の独立したサブピクチャレイヤと、1つ又は複数の従属サブピクチャレイヤを含むことができる。コーディングされたサブピクチャのために、少なくとも1つの独立したサブピクチャレイヤが存在し得る。NALユニットヘッダー又は別の高レベルの構文構造内に存在する可能性がある、独立したサブピクチャレイヤのレイヤ識別子(例えば、layer_id)の値は、0に等しい可能性がある。layer_idが0に等しいサブピクチャレイヤは、ベースサブピクチャレイヤであり得る。
【0114】
ピクチャには、1つ又は複数の前景サブピクチャと1つの背景サブピクチャが含まれ得る。背景サブピクチャによってサポートされる領域は、ピクチャの領域と等しい可能性がある。前景サブピクチャがサポートする領域は、背景サブピクチャがサポートする領域と重なることができる。背景サブピクチャは、ベースサブピクチャレイヤとすることができ、前景サブピクチャは非ベース(例えば、強化)サブピクチャレイヤであり得る。1つ又は複数の非ベースサブピクチャレイヤは、デコーディングのために同じベースレイヤを参照し得る。第1のlayer_idを有する各々の非ベースサブピクチャレイヤは、第2のlayer_idを有する非ベースサブピクチャレイヤを参照することができ、第1のlayer_idは第2のlayer_idよりも大きい。
【0115】
ピクチャには、背景サブピクチャの有無にかかわらず、1つ又は複数の前景サブピクチャを含めることができる。各サブピクチャは、独自のベースサブピクチャレイヤと、1つ又は複数の非ベース(例えば、強化)レイヤを有することができる。各ベースサブピクチャレイヤは、1つ又は複数の非ベースサブピクチャレイヤによって参照され得る。
【0116】
ベース又は非ベースサブピクチャレイヤ内の各々のコーディングされたサブピクチャは、同じサブピクチャに属する1つ又は複数の非ベースレイヤサブピクチャと、同じサブピクチャ内にない1つ又は複数の非ベースレイヤサブピクチャによって参照され得る。
【0117】
CVSには、コーディングされたピクチャのグループが含まれ得る。CVSは、1つ又は複数のコーディングされたサブピクチャシーケンス(CSPS)を含むことができ、CSPSは、ピクチャの同じ局所領域をカバーするコーディングされたサブピクチャのグループを含むことができる。CSPSの時間分解能は、CVSの時間分解能と同じか、又は異なる場合がある。
【0118】
CSPSは、コーディングされ、1つ又は複数のレイヤ内に含まれ得る。CSPSは、1つ又は複数のCSPSレイヤを含み得る。CSPSに対応する1つ又は複数のCSPSレイヤをデコーディングすることは、同じ局所領域に対応するサブピクチャのシーケンスを再構成することができる。
【0119】
この開示は、ビデオストリーミングのためのサブピクチャごとの参照ピクチャリサンプリング及びスケーラビリティのための技術を含む。
【0120】
VVCなどの画像/ビデオコーディング技術は、超高解像度(UHD)ビデオストリーミング、没入型メディアソリューション(例えば、360度ビデオ、ポイントクラウド、6自由度)、ゲーム、及び/又はeスポーツを含む、様々なアプリケーション向けに開発されている。Eスポーツは、ライブブロードキャスト及び/又はリアルタイムストリーミングイベントに使用できる。一例では、オンラインアプリケーションとしてのEスポーツには、複数のプレイヤが、例えばチームで、互いに戦う競争するビデオゲームが含まれる。試合は、ファンにライブ配信できる。クラウドベースのゲームストリーミングソリューション(例えば、TencentのStart)により、Eスポーツは、プロのゲーマーがリモートで同時に試合を行うことを可能にする。評者のビデオとオーディオを伴うゲームプレイは、リアルタイムで視聴者にブロードキャストできる。
【0121】
モバイル用に開発されたマルチプレイヤオンラインバトルアリーナ(MOBA)ゲーム(例えば、Arena of Valor)などのモバイルゲームコンテンツを含む、コンピュータ生成(CG)テストシーケンスが研究されている。CGコンテンツは、カメラで撮影された自然な画像とは異なる独自の特性を有する場合がある。ゲームコンテンツシーケンスに特化した特定のコーディングツール(例えば、IBC)が開発され、採用されている。高度な構文の設計を備えた便利な機能とシステムインターフェイスが開発されている。
【0122】
本開示の一実施形態によれば、視覚品質又は解像度の局所的な強化を採用することができる。
【0123】
コメンテーター、プレイヤ、スコアボード、ゲームの画面の画像など、Eスポーツの試合の特定のライブビデオを視聴者が表示して見ることができる。プレイヤの画面に複数の画像を同時に表示するために、ピクチャ・イン・ピクチャ(picture-in-picture, PIP)用の複数のウィンドウは、Eスポーツ放送に有利であり得る。図10は、本開示の一実施形態による、Eスポーツ放送における複数のPIPを含む例示的な画像(又はピクチャ)(1000)を示す。
【0124】
E-Sport放送システムは、複数のビデオ入力を混合及び/又は切り替えることができる。複数のビデオ入力には、チームプレイヤ、コメンテーター、及びゲームビデオに関連付けられたビデオ入力を含めることができる。ビデオシーケンスへの複数のビデオ入力のサブセット(例えば、最も興味深い入力画像)又はセット全体を混合するメイン放送画像(又はメインビデオ)は、メインビットストリームとしてエンコードでき、リモートの視聴者(例えば、すべてのリモート視聴者)にストリーミングできる。メインビットストリームには、一般的な入力ビデオを含めることができる。各入力ビデオの視覚的品質は、それぞれのピクチャ解像度又はビットレートに応じて比較的低くなり得る。
【0125】
個々の入力ビデオは、さらに高品質及び/又は高解像度でエンコードでき、オプションで、分離されたビットストリームとして視聴者に送信できる。個々のビデオは、メインビデオがPIPとして個々のビデオを含むことができるメインビデオを参照することによって、依存的にエンコードできる。一例では、個々のビデオは、メインビデオ内のデコーディングされたピクチャ(複数可)を参照することによって、メインビデオの局所領域の強化レイヤ(例えば、ベースレイヤ)としてエンコードされ得る。一例では、強化レイヤは、メインビデオへのデコーディングの依存関係なしに独立してエンコーディングされ、同時放送として送信される。
【0126】
図11は、本開示の一実施形態による、局所領域の強調された表示の一例を示す。ユーザ体験の観点から、クライアント又は視聴者(ユーザ又はビューア)がメインビデオ(1101)と局所領域の1つ又は複数の強化ビデオを受信すると、視聴者はメインビデオの1つと局所領域の1つ又は複数の強化ビデオを選択できる。図11を参照すると、局所領域は、PIP 0によってカバーされる領域0、PIP 1によってカバーされる領域1、PIP 2によってカバーされる領域2、及びPIP 3によってカバーされる領域3を含むことができる。局所領域の1つ又は複数の強化ビデオには、強化レイヤ1(又はPIP 0内の強化レイヤ1)内の領域0のPIP 0の強化ビデオ、強化レイヤ1(又はPIP 1内の強化レイヤ1)内の領域1のPIP 1の強化ビデオ、強化レイヤ2(又はPIP 1内の強化レイヤ2)内の領域1のPIP 1の強化ビデオ、強化レイヤ1(又はPIP 2内の強化レイヤ1)内の領域2のPIP 2の強化ビデオ、強化レイヤ2(又はPIP 2内の強化レイヤ2)内の領域2のPIP 2の強化ビデオ、強化レイヤ1(又はPIP 3内の強化レイヤ1)内の領域3のPIP 3の強化ビデオ、強化レイヤ2(又はPIP 3内の強化レイヤ2)内の領域3のPIP 3の強化ビデオ、及び強化レイヤ3(又はPIP 3内の強化レイヤ3)内の領域3のPIP 3の強化ビデオを含めることができる。
【0127】
視聴者がメインビデオ(1101)を選択すると、背景ピクチャ内のPIP 0~3などのPIP(例えば、すべてのPIP)を表示できる。視聴者が特定のPIP(例えば、PIP 3の強化レイヤ3などの1つ又は複数の強化されたビデオの1つ)を選択した場合、PIP(例えば、PIP 3)を拡大して、メインビデオ(1101)のデコーディングされた対応領域と比較して強化された視覚的品質で表示できる。一例では、PIP 3の強化レイヤ3は、メインビデオ内のPIP 3の空間解像度、PIP 3の強化レイヤ1の空間解像度、及びPIP 3の強化レイヤ2の空間解像度よりも高い空間解像度で表示されるように視聴者によって選択される。
【0128】
図11のPIPに関する上記の説明は、図11のPIPがそれぞれのサブピクチャに置き換えられる場合に適用することができる。例えば、局所領域は、それぞれのサブピクチャによってカバーされ得る。メインビデオには、ベースレイヤ内のサブピクチャを含めることができる。ビットストリーム内には、局所領域の1つ又は複数の強化されたビデオを含めることができる。局所領域の強化されたビデオの例は、強化レイヤ1の領域0のサブピクチャの強化されたビデオである。
【0129】
図12は、本開示の一実施形態による、サブピクチャ及びマルチレイヤを伴う例示的な体系的設計を示す。複数の入力ビデオ(例えば、入力ビデオ0~3)は、ビデオコンポーザ(1210)によってメインビデオ(1200)に混合又は結合することができる。入力ビデオ(例えば、入力ビデオ0)に対応するメインビデオ(1200)の領域(例えば、矩形領域)は、サブピクチャ0などのサブピクチャ(例えば、VVCに基づいてコーディングされたVVCサブピクチャ)としてエンコーディングされ得る。図12を参照すると、サブピクチャ0~3は、入力ビデオ0~3にそれぞれ対応する。
【0130】
メインビデオ(1200)のコーディングされたビットストリームは、複数のサブピクチャ(例えば、サブピクチャ0~3)を含むことができる。メインビデオ(1200)のコーディングされたビットストリームは、サブピクチャ(例えば、サブピクチャ0~3)に対応する複数のサブビットストリームを含むことができる。例えば、サブビットストリーム0~3は、サブピクチャ0~3にそれぞれ対応する。サブピクチャに対応するサブビットストリームは、メインビットストリームから抽出可能とすることができ、独立してデコーディング可能とすることができる。各サブビットストリームは、異なる品質(例えば、異なる空間解像度又は視覚的品質)を有する1つ又は複数のレイヤを含み得る。サブビットストリームは、より高い解像度を有するサブピクチャレイヤを含む別のサブビットストリームによって参照され得る。図12を参照すると、サブピクチャ3(1222)に対応するサブビットストリーム3は、強化された解像度(例えば、より高い解像度)を有するサブピクチャ3(1220)に対応する強化サブビットストリーム3によって参照され得る。例えば、上位レイヤ(例えば、レイヤ1)内のサブピクチャ3(1220)は、レイヤ間予測を使用してベースレイヤ内のサブピクチャ3(1222)に基づいて予測される。
【0131】
サブピクチャの空間解像度がCVS内で変化する場合、サブピクチャは、サブピクチャごとの参照ピクチャリサンプリングを実行することによってデコーディングされ得る。図13は、本開示の一実施形態による、参照サブピクチャ(1301)内の参照サブピクチャスケーリングウィンドウ(1302)及びサブピクチャ(1311)内のサブピクチャスケーリングウィンドウ(1312)の一例を示す。サブピクチャ(1311)は、図11図12で説明したように、ピクチャ内のサブピクチャの1つとすることができる。一例では、デコーディングされるサブピクチャ(例えば、サブピクチャ(1311))は、参照サブピクチャ(例えば、参照サブピクチャ(1301))とは異なる空間解像度又は異なるサイズを有する。サブピクチャごとの参照ピクチャのリサンプリングを実行して、サブピクチャと参照サブピクチャの空間解像度又はサイズを一致させることができる。参照サブピクチャは、サブピクチャと参照サブピクチャのサイズに基づいてリサンプリングできる。
【0132】
一例では、参照サブピクチャは、サブピクチャ及び参照サブピクチャのサイズ、並びにサブピクチャのサブピクチャスケーリングウィンドウ情報及び/又は参照サブピクチャの参照サブピクチャスケーリングウィンドウ情報に基づいてリサンプリングされる。図13を参照すると、サブピクチャ(1311)のサブピクチャスケーリングウィンドウ情報は、サブピクチャスケーリングウィンドウ(1312)の寸法情報及び/又は位置情報を示すことができる。一例では、サブピクチャ(1311)のサブピクチャスケーリングウィンドウ情報は、サブピクチャ(1311)に対するサブピクチャスケーリングウィンドウ(1312)の左オフセットOL、右オフセットOR、上オフセットOT、及び下オフセットOBを含む第1のオフセットを含む。サブピクチャスケーリングウィンドウ(1312)の寸法及び位置は、第1のオフセットに基づいて決定することができる。
【0133】
図13を参照すると、参照サブピクチャ(1301)の参照サブピクチャスケーリングウィンドウ情報は、参照サブピクチャスケーリングウィンドウ(1302)の寸法情報及び/又は位置情報を示すことができる。一例では、参照サブピクチャ(1301)の参照サブピクチャスケーリングウィンドウ情報は、参照サブピクチャ(1301)に対する参照サブピクチャスケーリングウィンドウ(1302)の参照左オフセットOREF,L、参照右オフセットOREF,R、参照上オフセットOREF,T、及び参照下オフセットOREF,Bを含む第2のオフセットを含む。参照サブピクチャスケーリングウィンドウ(1302)の寸法及び位置は、第2のオフセットに基づいて決定することができる。
【0134】
本開示の一実施形態によれば、サブピクチャのサブピクチャスケーリングウィンドウのサブピクチャスケーリングウィンドウ情報は、例えばピクチャ内に、複数のサブピクチャが存在する場合に、シグナリングされ得る。サブピクチャスケーリングウィンドウ情報は、シグナリングされ得る。サブピクチャスケーリングウィンドウ情報は、CVS内の高レベルの構文構造(例えば、PPS)などの構文構造(例えば、高レベルの構文構造)内でシグナリングされ得る。一例では、各サブピクチャのサブピクチャスケーリングウィンドウのサブピクチャスケーリングウィンドウ情報が、シグナリングされ得る。レイヤ内又はレイヤ間でのサブピクチャごとの参照ピクチャリサンプリングの場合、それぞれの参照サブピクチャとはスケーリング比が異なる各サブピクチャのためのサブピクチャスケーリングウィンドウ情報が、例えば高レベルの構文構造(例えば、PPS)内でシグナリングされ得る。
【0135】
ビデオのレイアウトは、カスタマイズされ得る。共同的でインタラクティブなゲームでは、多数のプレイヤが同時にプレイできる。同時に、複数の視聴者がリアルタイムでゲームをフォローできる。オブザーバは、例えば、特定の選択基準に従って、有利なプレイヤからのビュー、オブザーバビュー、及び/又は物理的なカメラビューの組み合わせを見ることができる。いくつかの例では、サーバは、ディレクターのカットに応じて、複数の入力ビデオの複数のレイアウトを生成して送信することができる。レイアウト情報は、SPSなどのサブピクチャ分割情報によって表すことも、ファイル形式のメタデータとしてさらに配信することもできる。各視聴者が好みによってレイアウトの1つを選択するか、好みに応じてレイアウトをさらにカスタマイズすると、選択されたレイアウト情報に応じて、デコーディングされたピクチャの局所領域(例えば、各局所領域)が表示されたピクチャ内に再配置され得る。メインビデオと1つ又は複数の強化ビデオをデコーディングして再編成した後、例えばクラウド内に、カスタマイズされたビデオを生成できる。ビデオのカスタマイズのためのそのような再編成プロセスは、例えば、ネットワークベースのメディア処理(NBMP)を使用して、クラウドサーバ内で処理することができる。結合されたビデオは、クライアントにストリーミングできる。レイアウト情報は、ユーザ又はクライアントが生成できる。レイアウト情報を他のユーザと共有して、同じ体験を楽しむことができる。
【0136】
いくつかの例では、各局所領域をそれぞれのサブピクチャにマッピングすることができる。サブピクチャレイアウトは、SPS内でシグナリングされ得る。特定のビデオコーディング規格(例えば、VVCバージョン1)では、サブピクチャレイアウトは、CVSの開始時にのみ更新できる。いくつかの実施形態では、同じサブピクチャレイアウトがCVS全体に適用される。例えば、サブピクチャレイアウトは、CVS内では更新されない。同じCVS内で同じサブピクチャレイアウトが使用されるため、一部のアプリケーションでは、ゲーム及びEスポーツコンテンツ構成に対する柔軟なレイアウト表現が制限される場合がある。
【0137】
CVS内で出力イメージ又はピクチャをより柔軟に構成できるようにするには、サブピクチャレイアウトを即座に更新することが望ましい場合がある。本開示の一実施形態によれば、ピクチャ内のサブピクチャレイアウト(又はサブピクチャ分割レイアウト)を示すサブピクチャレイアウト情報(又はサブピクチャ分割情報)は、CVS内で更新され得る。サブピクチャ分割情報の更新は、ゲーム、Eスポーツ、没入型メディアなどの様々なアプリケーションに適用できる。
【0138】
サブピクチャレイアウト(又はサブピクチャ分割レイアウト)は、シグナリングされ得る。例えば、サブピクチャレイアウトは、CVS内のピクチャ(複数可)に適用される高レベルの構文構造のサブピクチャ分割情報によって示すことができる。サブピクチャ分割情報又はサブピクチャレイアウトは、CVS内のピクチャ(複数可)内のサブピクチャ(複数可)の位置(複数可)、空間解像度(複数可)、及び/又はサブピクチャID(複数可)を示すことができる。サブピクチャレイアウトは、CVS内で更新(例えば、変更)できる。例えば、第1の構文構造(例えば、第1の高レベルの構文構造)によってカバーされるCVS内のピクチャの第1のサブセットは、第1のサブピクチャレイアウトを有する。第1のサブピクチャレイアウトは、第1の高レベルの構文構造内の第1のサブピクチャ分割情報によって指定される。第2の構文構造(例えば、第2の高レベルの構文構造)によってカバーされるCVS内のピクチャの第2のサブセットは、第2のサブピクチャレイアウトを有する。第2のサブピクチャレイアウトは、第2の高レベルの構文構造内の第2のサブピクチャ分割情報によって指定される。
【0139】
一例では、第1のサブピクチャレイアウトは、第2のサブピクチャレイアウトとは異なる。第1のサブピクチャレイアウト内のサブピクチャの第1の数は、第2のサブピクチャレイアウト内のサブピクチャの第2の数とは異なり得る。一例では、第1のサブピクチャレイアウト内のサブピクチャは、第2のサブピクチャレイアウトには含まれない。第1のサブピクチャレイアウト及び第2のサブピクチャレイアウト内に同じサブピクチャIDを有する2つのサブピクチャは、異なる空間解像度及び/又は位置を有することができる。
【0140】
一例では、第1のサブピクチャレイアウトは、第2のサブピクチャレイアウトと同一である。
【0141】
図14Aは、本開示の一実施形態による、CVS内の例示的なサブピクチャレイアウト更新プロセス(1400A)を示す。
【0142】
サブピクチャレイアウト(1401)は、第1のPPS(例えば、PPS IDが0)内の第1のサブピクチャ分割情報によって示され(例えば、指定され)得る。第1のサブピクチャ分割情報又はサブピクチャレイアウト(1401)は、第1のPPS内の1つ又は複数のピクチャ内のサブピクチャ(複数可)の位置(複数可)、空間解像度(複数可)、及び/又はサブピクチャID(複数可)を示すことができる。サブピクチャレイアウト(1401)内のサブピクチャのサブピクチャIDは、それぞれ0~3であり、サブピクチャは、サブピクチャ0~3と呼ばれる。
【0143】
サブピクチャレイヤ(1401)は、第2のPPSによってサブピクチャレイアウト(1402)に更新することができる。サブピクチャレイアウト(1402)は、第2のPPS(例えば、PPS IDが1)内の第2のサブピクチャ分割情報によって示され(例えば、指定され)得る。第2のサブピクチャ分割情報又はサブピクチャレイアウト(1402)は、第2のPPS内の1つ又は複数のピクチャ内のサブピクチャ(複数可)の位置(複数可)、空間解像度(複数可)、及び/又はサブピクチャID(複数可)を示すことができる。サブピクチャレイアウト(1402)内のサブピクチャのサブピクチャIDは、サブピクチャ0~3である。サブピクチャレイアウト(1402)は、サブピクチャレイアウト(1401)とは異なる。例えば、サブピクチャレイアウト(1402)内のサブピクチャ0~3の空間解像度は、サブピクチャレイアウト(1401)内のサブピクチャ0~3のそれぞれの空間解像度とは異なる。サブピクチャレイアウト(1402)内のサブピクチャ0(1421)の空間解像度は、サブピクチャレイアウト(1401)内のサブピクチャ0(1411)の空間解像度よりも高い。
【0144】
サブピクチャレイヤ(1402)は、上記と同様に、第3のPPSによってサブピクチャレイアウト(1403)に更新することができる。サブピクチャレイアウト(1403)内のサブピクチャのサブピクチャIDは、サブピクチャ0~3である。第3のPPSは、第2のPPS及び/又は第1のPPSとは異なり得る。一例では、サブピクチャレイアウト(1403)は、サブピクチャレイアウト(1402)とは異なる。一例では、サブピクチャレイアウト(1403)は、サブピクチャレイアウト(1401)など、CVS内で使用された以前のサブピクチャレイアウトと同一である。一例では、第3のPPSのPPS IDは2である。一例では、第3のPPSのPPS IDは0である。
【0145】
サブピクチャレイアウト更新プロセス(1400A)は、CVS内で実行することができる。CVS内のピクチャの(例えば、第1のPPSなどの第1の構文構造によって示される)サブピクチャレイアウトを更新して、CVS内の別の画像の(例えば、第2のPPSなどの第2の構文構造によって示される)異なるサブピクチャレイアウトを生成することができる。
【0146】
CVS内で実行されるサブピクチャレイアウト更新プロセス(1400A)は、遅延又はコーディング利得損失なしに構成レイアウト変更を可能にすることができる。例えばCVS内(例えば、PPS内)で、サブピクチャレイアウト及び/又はサブピクチャIDマッピング情報をシグナリングすることにより、サブピクチャレイアウトをピクチャレベルで更新することができる。サブピクチャレイアウトが更新又は変更されたときのコーディング効率の損失を最小限に抑えるために、同じサブピクチャ内で、例えば、図13で説明したようなサブピクチャ固有のスケーリングウィンドウを使用して、動き補償予測を有効にすることができる。
【0147】
一実施形態では、更新されたサブピクチャ分割情報をPPS内でシグナリングすることができる。サブピクチャ分割情報のピクチャレベルの更新を可能にするために、オプションで、サブピクチャ分割情報をPPS内でシグナリングできる。サブピクチャ分割情報が更新されると、それぞれのサブピクチャIDを有する1つ又は複数のサブピクチャは、表示又は非表示になり得る。図14Bは、本開示の一実施形態による、CVS内の例示的なサブピクチャレイアウト更新プロセス(1400B)を示す。図14Bの第1のPPSとサブピクチャ0~3によって示されるサブピクチャレイアウト(1401)は、図14Aに記載されている。
【0148】
サブピクチャレイアウト更新プロセス(1400B)では、サブピクチャレイヤ(1401)が第4のPPSによってサブピクチャレイアウト(1404)に更新される。サブピクチャレイアウト(1404)は、第4のPPS(例えば、PPS IDは3である)内の第4のサブピクチャ分割情報によって示され(例えば、指定され)得る。第4のサブピクチャ分割情報又はサブピクチャレイアウト(1404)は、第4のPPS内の1つ又は複数のピクチャ内のサブピクチャ(複数可)の位置(複数可)、空間解像度(複数可)、及び/又はサブピクチャID(複数可)を示すことができる。サブピクチャレイアウト(1404)内のサブピクチャのサブピクチャIDは、サブピクチャ0~2である。サブピクチャレイアウト(1404)は、サブピクチャレイアウト(1401)とは異なる。例えば、サブピクチャレイアウト(1404)内のサブピクチャ0~2の空間解像度は、サブピクチャレイアウト(1401)内のサブピクチャ0~2のそれぞれの空間解像度とは異なる。さらに、サブピクチャレイアウト(1404)内のサブピクチャの数は、サブピクチャレイアウト(1401)内のサブピクチャの数(例えば4)とは異なり、3である。サブピクチャレイアウト(1401)のサブピクチャ3は、サブピクチャレイアウト(1404)内にはない。サブピクチャレイアウト(1401)のサブピクチャ3は、サブピクチャレイアウト(1404)から消える。
【0149】
サブピクチャレイヤ(1404)は、第5のPPS(例えば、PPS IDが4である)によってサブピクチャレイアウト(1405)に更新される。一例では、サブピクチャレイアウト(1405)は、サブピクチャレイアウト(1401)と同一である。サブピクチャレイアウト(1405)は、サブピクチャレイアウト(1404)とは異なる。例えば、サブピクチャレイアウト(1404)内にはないサブピクチャ3は、サブピクチャレイアウト(1405)内に表示される。
【0150】
サブピクチャ分割情報が更新されると、各サブピクチャの寸法情報(例えば、空間解像度(複数可))及び/又は位置情報(例えば、垂直オフセット値及び/又は水平オフセット値)が変更され得る。
【0151】
特定のビデオコーディング技術(例えば、VVCバージョン1)のいくつかの例では、同じ依存関係ツリーに属するすべてのレイヤは、同じサブピクチャ分割レイアウトを有することができる。本開示の一実施形態によれば、異なるレイヤにわたって異なるサブピクチャレイアウトを適用できるアプリケーションをサポートするために、上記の制約を緩和することができる。一実施形態では、第1のレイヤの第1のサブピクチャレイアウトは、第2のレイヤの第2のサブピクチャレイアウトとは異なり得る。一例では、各レイヤは異なるサブピクチャレイアウトを有する。
【0152】
図15は、本開示の一実施形態による、CVS内の異なるレイヤ内の例示的なサブピクチャレイアウト(1501)及び(1502)を示す。サブピクチャレイアウト(1501)及びサブピクチャレイアウト(1501)内のサブピクチャ0~3は、それぞれ、図14Aで説明したサブピクチャレイアウト(1401)及びサブピクチャ0~3と同一であり得る。サブピクチャレイアウト(1501)は、CVS内のレイヤ0内のピクチャ(複数可)に適用できる。サブピクチャレイアウト(1502)は、CVS内のレイヤ1内のピクチャに適用できる。レイヤ1に対応するサブピクチャレイアウト(1502)は、レイヤ0に対応するサブピクチャレイアウト(1501)とは異なる。例えば、サブピクチャ1及び3はサブピクチャレイアウト(1502)から消える。サブピクチャレイアウト(1502)内のサブピクチャ0と2は、サブピクチャレイアウト(1501)内のサブピクチャ0と2とはそれぞれ異なる空間解像度を有する。
【0153】
特定のビデオコーディング技術(例えば、VVCバージョン1)の一部の例では、サブピクチャの分割と参照ピクチャのリサンプリングの組み合わせはサポートされていない。本開示の一実施形態によれば、領域ごとの品質及び解像度の強化をサポートするために、上記の制約を緩和することができる。一実施形態では、サブピクチャの分割とサブピクチャごとの参照ピクチャのリサンプリングを組み合わせることができる。一例では、CVS内のサブピクチャ分割情報の更新は、サブピクチャごとの参照ピクチャのリサンプリングと組み合わされる。例えば、サブピクチャのサブピクチャスケーリングウィンドウのサブピクチャ分割情報及びサブピクチャスケーリングウィンドウ情報は、例えばPPSなどの高レベルの構文構造内でシグナリングされる。
【0154】
本開示の一実施形態によれば、パラメータセットなどの構文構造(例えば、高レベルの構文構造)は、(i)サブピクチャ分割情報及び/又は(ii)サブピクチャのサブピクチャスケーリングウィンドウのサブピクチャスケーリングウィンドウ情報を示すサブピクチャ参照ピクチャリサンプリング(RPR)拡張などの拡張を含むことができる。一実施形態では、パラメータセットはPPSであり、拡張は、以下の表1~2に示されるように、PPSサブピクチャRPR拡張と呼ばれる。
【0155】
表1は、本開示の一実施形態による、PPSの例示的な構文構造の一部を示す。
【0156】
【表1】
【0157】
表2は、本開示の一実施形態による、PPSの例示的な構文構造の拡張を示す。
【0158】
【表2】
【0159】
フラグ(例えば、pps_subpic_rpr_extension_flag)などの構文要素は、PPSサブピクチャRPR拡張(例えば、表2のpps_subpic_rpr_extension()構文構造)が、PPS RBSP構文構造内に存在するかどうかを示すことができる。1に等しい構文要素(例えば、pps_subpic_rpr_extension_flag)は、pps_subpic_rpr_extension()構文構造が、PPS RBSP構文構造内に存在することを指定できる。0に等しい構文要素(例えば、pps_subpic_rpr_extension_flag)は、pps_subpic_rpr_extension()構文構造が、存在しないことを指定できる。存在しない場合、構文要素(例えば、pps_subpic_rpr_extension_flag)の値は0に等しいと推測できる。
【0160】
構文要素(例えば、pps_subpic_rpr_extension_flag)が1に等しい場合、pps_subpic_rpr_extension()構文構造がPPS RBSP構文構造内に存在する。
【0161】
表2は、例示的なPPS RBSP構文構造を示す。表2を参照すると、第1のフラグpps_subpic_update_info_present_flagなどの第1の構文要素は、サブピクチャ分割情報(又はサブピクチャ分割レイアウト情報)がPPS内に存在するかどうかを示すことができる。1に等しい第1の構文要素(例えば、pps_subpic_update_info_present_flag)は、サブピクチャ分割レイアウト情報がPPS内に存在する(例えば、シグナリングされる)ことを指定できる。0に等しい第1の構文要素(例えば、pps_subpic_update_info_present_flag)は、サブピクチャ分割レイアウト情報がPPS内に存在しないことを指定できる。
【0162】
第2のフラグpps_subpic_scaling_win_info_present_flagなどの第2の構文要素は、PPS内にサブピクチャごとのスケーリングウィンドウ情報が存在する(例えば、シグナリングされる)かどうかを示すことができる。1に等しい第2の構文要素(例えば、pps_subpic_scaling_win_info_present_flag)は、サブピクチャごとのスケーリングウィンドウ情報がPPS内に存在することを指定できる。0に等しい第2の構文要素(例えば、pps_subpic_scaling_win_info_present_flag)は、サブピクチャごとのスケーリングウィンドウ情報がPPS内に存在しないことを指定できる。
【0163】
構文要素pps_updated_num_subpics_minus1+1は、PPSを参照する各ピクチャのサブピクチャの数を指定できる。pps_updated_num_subpics_minus1の値は、0~MaxSlicesPerAu-1(両端を含む)の範囲とすることができる。一例では、MaxSlicesPerAuは、AU当たりのスライスの最大数を示す。存在しない場合、pps_updated_num_subpics_minus1の値は、sps_num_subpics_minus1と等しいと推測される。
【0164】
1に等しい構文要素pps_independent_subpics_flagは、PPSを参照する各ピクチャのすべてのサブピクチャ境界がピクチャ境界として扱われ、サブピクチャ境界を越えたループフィルタリングがないことを指定できる。0に等しい構文要素pps_independent_subpics_flagは、そのような制約を課さない。存在しない場合、pps_independent_subpics_flagの値は、1に等しいと推測される。
【0165】
1に等しい構文要素pps_subpic_same_size_flagは、PPSを参照する各ピクチャのすべてのサブピクチャが、pps_subpic_width_minus1[0]で指定された同じ幅と、pps_subpic_height_minus1[0]で指定された同じ高さを有することを指定できる。0に等しい構文要素pps_subpic_same_size_flagは、そのような制約を課さない。存在しない場合、pps_subpic_same_size_flagの値は、0に等しいと推測される。
【0166】
一例では、変数tmpWidthValは、(pps_pic_width_in_luma_samples+CtbSizeY-1)/CtbSizeYに等しく、変数tmpHeightValは、(pps_pic_height_in_luma_samples+CtbSizeY-1)/CtbSizeYに等しい。
【0167】
構文要素pps_subpic_ctu_top_left_x[i]は、i番目のサブピクチャの左上のCTUの水平位置をCtbSizeY単位で指定することができる。構文要素の長さは、Ceil(Log2(tmpWidthVal))ビットである。
【0168】
存在しない場合、pps_subpic_ctu_top_left_x[i]の値は、次のように推測できる。
・pps_subpic_same_size_flagが0に等しいか、又はiが0に等しい場合、pps_subpic_ctu_top_left_x[i]の値は、0に等しいと推測される。
・そうでない場合は、pps_subpic_ctu_top_left_x[i]の値は、(i%numSubpicCols)*(pps_subpic_width_minus1[0]+1)に等しいと推測される。
【0169】
pps_subpic_same_size_flagが1の場合、CLVSの各ピクチャ内のサブピクチャ列の数を指定する変数numSubpicColsは、次のように導出される:numSubpicCols=tmpWidthVal/(pps_subpic_width_minus1[0]+1)。
【0170】
pps_subpic_same_size_flagが1の場合、numSubpicCols*tmpHeightVal/(pps_subpic_height_minus1[0]+1)-1の値は、pps_updated_num_subpics_minus1と等しくなり得る。
【0171】
構文要素pps_subpic_ctu_top_left_y[i]は、i番目のサブピクチャの左上CTUの垂直位置をCtbSizeY単位で指定することができる。構文要素の長さは、Ceil(Log2(tmpHeightVal))ビットである。
【0172】
存在しない場合、pps_subpic_ctu_top_left_y[i]の値は次のように推測できる。
・pps_subpic_same_size_flagが0に等しいか、又はiが0に等しい場合、pps_subpic_ctu_top_left_y[i]の値は、0に等しいと推測される。
・そうでない場合は、pps_subpic_ctu_top_left_y[i]の値は、(i/numSubpicCols)*(pps_subpic_height_minus1[0]+1)に等しいと推測される。
【0173】
構文要素pps_subpic_width_minus1[i]plus 1は、CtbSizeYの単位でi番目のサブピクチャの幅を指定できる。構文要素の長さは、Ceil(Log2(tmpWidthVal))ビットである。
【0174】
存在しない場合、pps_subpic_width_minus1[i]の値は次のように推測される。
・pps_subpic_same_size_flagが0に等しいか、又はiが0に等しい場合、pps_subpic_width_minus1[i]の値は、tmpWidthVal-pps_subpic_ctu_top_left_x[i]-1に等しいと推測される。
・そうでない場合は、pps_subpic_width_minus1[i]の値は、pps_subpic_width_minus1[0]に等しいと推測される。
【0175】
pps_subpic_same_size_flagが1に等しい場合、tmpWidthVal%(pps_subpic_width_minus1[0]+1)の値は、0に等しくなり得る。
【0176】
構文要素pps_subpic_height_minus1[i]+1は、CtbSizeYの単位でi番目のサブピクチャの高さを指定できる。構文要素の長さは、Ceil(Log2(tmpHeightVal))ビットである。
【0177】
存在しない場合、pps_subpic_height_minus1[i]の値は次のように推測できる。
・pps_subpic_same_size_flagが0に等しいか、又はiが0に等しい場合、pps_subpic_height_minus1[i]の値は、tmpHeightVal-pps_subpic_ctu_top_left_y[i]-1に等しいと推測される。
・そうでない場合、pps_subpic_height_minus1[i]の値は、pps_subpic_height_minus1[0]に等しいと推測される。
【0178】
pps_subpic_same_size_flagが1の場合、tmpHeightVal%(pps_subpic_height_minus1[0]+1)の値は、0に等しくなる。
【0179】
一例では、デコーディングされたときに、各サブピクチャがその左境界全体と、ピクチャ境界を含むか、又は以前にデコーディングされたサブピクチャの境界を含む上境界全体とを、サブピクチャの形状が有することができるようにすることが、ビットストリーム準拠の要件である。
【0180】
一例では、0~pps_num_subpics_minus1の範囲のサブピクチャインデックスiを有する各サブピクチャに対して、以下の条件のすべてが真であることがビットストリーム準拠の要件である。
・(pps_subpic_ctu_top_left_x[i]*CtbSizeY)の値は、(pps_pic_width_in_luma_samples-pps_conf_win_right_offset*SubWidthC)未満でなければならない。
・((pps_subpic_ctu_top_left_x[i]+pps_subpic_width_minus1[i]+1)* CtbSizeY)の値は、(pps_conf_win_left_offset*SubWidthC)より大きくなければならない。
・(pps_subpic_ctu_top_left_y[i]*CtbSizeY)の値は、(pps_pic_height_in_luma_samples-pps_conf_win_bottom_offset*SubHeightC)未満でなければならない。
・((pps_subpic_ctu_top_left_y[i]+pps_subpic_height_minus1[i]+1)*CtbSizeY)の値は、(pps_conf_win_top_offset*SubHeightC)より大きくなければならない。
【0181】
1に等しい構文要素pps_subpic_treated_as_pic_flag[i]は、PPSを参照するコーディングされた各ピクチャのi番目のサブピクチャが、インループフィルタリング操作を除くデコーディングプロセスでピクチャとして扱われることを指定できる。0に等しいpps_subpic_treated_as_pic_flag[i]は、CLVS内のコーディングされた各ピクチャのi番目のサブピクチャが、インループフィルタリング操作を除くデコーディングプロセスでピクチャとして扱われないことを指定できる。存在しない場合、pps_subpic_treated_as_pic_flag[i]の値は1に等しいと推測される。
【0182】
1に等しい構文要素pps_loop_filter_across_subpic_enabled_flag[i]は、サブピクチャの境界を越えたインループフィルタリング操作が有効になり、CLVSのコーディングされた各ピクチャのi番目のサブピクチャの境界を越えて実行できることを指定できる。0に等しいpps_loop_filter_across_subpic_enabled_flag[i]は、サブピクチャの境界を越えたインループフィルタリング操作が無効になり、CLVSのコーディングされた各ピクチャのi番目のサブピクチャの境界を越えて実行されないことを指定できる。存在しない場合、pps_loop_filter_across_subpic_enabled_pic_flag[i]の値は0に等しいと推測される。
【0183】
構文要素pps_updated_subpic_id_len_minus1 plus 1は、構文要素pps_updated_subpic_id[i](存在する場合)及びオプションで構文要素sh_subpic_id(存在する場合)を表すために使用されるビット数を指定できる。pps_updated_subpic_id_len_minus1の値は、0~15の範囲(両端を含む)とすることができる。1<<(pps_updated_subpic_id_len_minus1+1)の値は、pps_updated_num_subpics_minus1+1以上とすることができる。
【0184】
1に等しい構文要素pps_updated_subpic_id_mapping_explicitly_signalled_flagは、CLVSのコーディングされたピクチャによって参照されるPPS内で、サブピクチャIDマッピングが明示的にシグナリングされることを指定できる。0に等しいpps_updated_subpic_id_mapping_explicitly_signalled_flagは、サブピクチャIDマッピングがCLVSに対して明示的にシグナリングされないことを指定できる。存在しない場合、pps_updated_subpic_id_mapping_explicitly_signalled_flagの値は0に等しいと推測される。
【0185】
1に等しい構文要素pps_updated_subpic_id_mapping_present_flagは、pps_updated_subpic_id_mapping_explicitly_signalled_flagが1に等しい場合、サブピクチャIDマッピングがPPS内でシグナリングされることを指定できる。0に等しい構文要素pps_updated_subpic_id_mapping_present_flagは、pps_subpic_id_mapping_explicitly_signalled_flagが1に等しい場合、CLVSのコーディングされたピクチャによって参照されたPPS内でサブピクチャIDマッピングがシグナリングされることを指定できる。
【0186】
構文要素pps_updated_subpic_id[i]は、i番目のサブピクチャのサブピクチャIDを指定できる。pps_updated_subpic_id[i]構文要素の長さは、pps_updated_subpic_id_len_minus1+1ビットである。
【0187】
構文要素pps_subpic_scaling_win_left_offset[i]、pps_subpic_scaling_win_right_offset[i]、pps_subpic_scaling_win_top_offset[i]、及びpps_subpic_scaling_win_bottom_offset[i]は、スケーリング比の計算のためにi番目のサブピクチャのサブピクチャサイズに適用されるオフセットを指定できる。図13を参照すると、構文要素pps_subpic_scaling_win_left_offset[i]、pps_subpic_scaling_win_right_offset[i]、pps_subpic_scaling_win_top_offset[i]、及びpps_subpic_scaling_win_bottom_offset[i]は、それぞれ、サブピクチャ(1311)に対してサブピクチャスケーリングウィンドウ(1312)の左オフセットOL、右オフセットOR、上オフセットOT、及び下オフセットOBを指定することができる。
【0188】
存在しない場合、pps_subpic_scaling_win_left_offset[i]、pps_subpic_scaling_win_right_offset[i]、pps_subpic_scaling_win_top_offset[i]、及びpps_subpic_scaling_win_bottom_offset[i]の値は、それぞれ、pps_scaling_win_left_offset、pps_scaling_win_right_offset、pps_scaling_win_top_offset、及びpps_scaling_win_bottom_offsetと等しいと推測される。
【0189】
表2のPPSなどの構文構造(例えば、高レベルの構文構造)内の第1の構文要素(又は第1のフラグ)と第2の構文要素(又は第2のフラグ)の値に応じて、様々な操作を実行できる。
【0190】
一実施形態では、第1のフラグは、ピクチャのためのサブピクチャ分割レイアウト情報がシグナリングされることを示す。例えば、第1のフラグ(例えば、pps_subpic_update_info_present_flag)が1に等しいとき、第1のフラグは、サブピクチャ分割レイアウト情報がPPS内でシグナリングされることを示す。一例では、ピクチャは複数のサブピクチャを含む。サブピクチャ分割情報(例えば、構文要素pps_subpic_ctu_top_left_x[i]、pps_subpic_ctu_top_left_y[i]、pps_subpic_width_minus1[i]、及びpps_subpic_height_minus1[i])に基づいて、ピクチャ内の複数のサブピクチャのそれぞれのサイズ(例えば、構文要素pps_subpic_width_minus1[i]によって示されるサブピクチャの幅Wと、pps_subpic_height_minus1[i]によって示されるサブピクチャの高さH)及び位置(例えば、構文要素pps_subpic_ctu_top_left_x[i]、pps_subpic_ctu_top_left_y[i]、)を含むピクチャ内の複数のサブピクチャのサブピクチャレイアウトを決定することができる。一例では、ピクチャ内の各サブピクチャのサブピクチャ識別子(ID)は、PPS内のサブピクチャ分割情報(例えば、構文要素pps_updated_subpic_id[i])に基づいて決定される。複数のサブピクチャ内の第1のサブピクチャは、第1のサブピクチャのサイズ及び位置などのサブピクチャ分割情報に基づいて再構成され得る。サブピクチャ分割レイアウト情報は、例えば、第1のPPSを参照するピクチャから第2のPPSを参照する別のピクチャへと、CVS内で更新することができる。
【0191】
一例では、第1のサブピクチャ分割情報は第1のPPS内でシグナリングされ、第2のサブピクチャ分割情報は第2のPPS内でシグナリングされる。第2のサブピクチャ分割情報によって示される第2のサブピクチャレイアウトは、第1のサブピクチャ分割情報によって示される第1のサブピクチャレイアウトとは異なる。
【0192】
一実施形態では、第2のフラグは、サブピクチャのためのサブピクチャスケーリングウィンドウ情報がシグナリングされることを示す。例えば、第2のフラグは、サブピクチャスケーリングウィンドウ情報が、例えば、第2の構文要素(例えば、pps_subpic_scaling_win_info_present_flag)が1に等しい場合に、PPS内でシグナリングされることを示す。サブピクチャの参照サブピクチャは、サブピクチャの空間解像度とは異なる空間解像度(又は異なるサイズ)を有することができる。
【0193】
一例では、サブピクチャのサブピクチャスケーリングウィンドウ情報(例えば、表2の構文要素pps_subpic_scaling_win_left_offset[i]、pps_subpic_scaling_win_right_offset[i]、pps_subpic_scaling_win_top_offset[i]、及びpps_subpic_scaling_win_bottom_offset[i])は、PPSからデコーディングされる。サブピクチャは、サブピクチャのサブピクチャスケーリングウィンドウ情報に基づくサブピクチャごとの参照ピクチャリサンプリングを使用して再構成できる。
【0194】
例えば、構文要素pps_subpic_scaling_win_left_offset[i]、pps_subpic_scaling_win_right_offset[i]、pps_subpic_scaling_win_top_offset[i]、及びpps_subpic_scaling_win_bottom_offset[i]は、サブピクチャスケーリングウィンドウ(1312)の左オフセットOL、右オフセットOR、上オフセットOT、及び下オフセットOBなどの第1のオフセットを示す。一例では、サブピクチャスケーリングウィンドウ(1312)の幅WSは、WS=W-(OL+OR)として決定され、ここで、Wはサブピクチャの幅である。一例では、サブピクチャスケーリングウィンドウ(1312)の高さHSは、HS=H-(OT+OB)として決定され、ここで、Hはサブピクチャの高さである。
【0195】
参照サブピクチャ(1301)及びサブピクチャ(1311)に関連するスケーリング比は、サブピクチャ(1311)のスケーリングウィンドウ(例えば、1312)の寸法情報に基づいて決定され得る。図13を参照すると、参照サブピクチャ(1301)とサブピクチャ(1311)との間のスケーリング比は、サブピクチャスケーリングウィンドウ(1312)の幅WS及びサブピクチャスケーリングウィンドウ(1312)の高さHSに基づいて決定され得る。サブピクチャごとの参照ピクチャのリサンプリングは、参照サブピクチャ(1301)及びサブピクチャ(1311)に関連する決定されたスケーリング比に基づいて実行することができる。一例では、サブピクチャの空間解像度(又はサイズ)に一致するスケーリングされた参照サブピクチャが、サブピクチャごとの参照ピクチャのリサンプリングを使用して生成される。サブピクチャは、スケーリングされた参照サブピクチャによってデコーディングされ得る。
【0196】
一実施形態によれば、サブピクチャ分割情報及びサブピクチャスケーリングウィンドウ情報を示す構文要素は、PPSなどの構文構造(例えば、高レベルの構文構造)内で組み合わせることができる。
【0197】
一実施形態では、第1のフラグは、サブピクチャ分割情報がPPS内でシグナリングされることを示す。第2のフラグは、サブピクチャのためのサブピクチャスケーリングウィンドウ情報がPPS内でシグナリングされることを示す。サブピクチャ分割情報は、PPSに基づいてデコーディングされ得る。サブピクチャのサブピクチャスケーリングウィンドウ情報は、PPSに基づいてデコーディングされ得る。サブピクチャの寸法情報(例えば、pps_subpic_width_minus1[i]によって示される幅W及びpps_subpic_height_minus1[i]によって示される高さH)及びサブピクチャの位置情報(例えば、pps_subpic_ctu_top_left_x[i]及びpps_subpic_ctu_top_left_y[i]によって示される)は、上記のように、サブピクチャ分割情報に基づいて決定され得る。サブピクチャは、図13を参照して上記されるように、サブピクチャのサブピクチャスケーリングウィンドウ情報(例えば、pps_subpic_scaling_win_left_offset[i]、pps_subpic_scaling_win_right_offset[i]、pps_subpic_scaling_win_top_offset[i]、及びpps_subpic_scaling_win_bottom_offset[i]によって示される)、サブピクチャの寸法情報、及びサブピクチャの位置情報に基づいて再構成され得る。
【0198】
図16は、本開示の一実施形態によるエンコーディングプロセス(1600)を概説するフローチャートを示す。様々な実施形態において、プロセス(1600)は、処理回路(例えば、端末デバイス(310)、(320)、(330)、及び(340)内の処理回路、ビデオエンコーダ(例えば、(403)、(603)、(703))の機能を実行する処理回路など)によって実行される。いくつかの実施形態では、プロセス(1600)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(1600)を実行する。プロセスは、(S1601)から始まり、(S1610)に進む。
【0199】
(S1610)では、コーディングされたビデオシーケンス内の第1のピクチャのための構文構造(例えば、高レベルの構文構造)内の第1のフラグ又は第2のフラグのうちの少なくとも1つが決定され得る。第1のフラグは、第1のピクチャの第1のサブピクチャ分割情報が構文構造内でシグナリングされるかどうかを示すことができる。第2のフラグは、第1のピクチャ内の第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が構文構造内でシグナリングされるかどうかを示すことができる。一例では、構文構造は、表2に示されるようなPPSである。第1のフラグは、第1の構文要素(例えば、pps_subpic_update_info_present_flag)とすることができる。第2のフラグは、第2の構文要素(例えば、pps_subpic_scaling_win_info_present_flag)とすることができる。
【0200】
(S1620)では、第1のサブピクチャ分割情報が構文構造内でシグナリングされることを示す第1のフラグに基づいて、第1のサブピクチャ分割情報を示す構文要素を生成することができる。一例では、第1のフラグは、第1のサブピクチャ分割情報が構文構造内でシグナリングされることを示す(例えば、pps_subpic_update_info_present_flagの値が1になる)。第1のピクチャ内のサブピクチャのサイズ(複数可)、位置(複数可)、サブピクチャID(複数可)を示す構文要素など、第1のサブピクチャ分割情報を示す構文要素を生成することができる。
【0201】
(S1630)では、第1のサブピクチャスケーリングウィンドウ情報が構文構造内でシグナリングされることを示す第2のフラグに基づいて、第1のサブピクチャスケーリングウィンドウ情報を示す構文要素を生成することができる。一例では、第2のフラグは、第1のサブピクチャスケーリングウィンドウ情報が構文構造内でシグナリングされることを示す(例えば、pps_subpic_scaling_win_info_present_flagの値が1になる)。第1のピクチャ内のサブピクチャのオフセットを示す構文要素など、第1のサブピクチャスケーリングウィンドウ情報を示す構文要素を生成することができる。
【0202】
(S1640)では、第1のサブピクチャは、第1のフラグ及び第2のフラグに基づいてエンコーディングされ得る。第1のサブピクチャ分割情報が構文構造内でシグナリングされることを第1のフラグが示す場合、第1のサブピクチャは、第1のサブピクチャ分割情報に基づいてエンコーディングされ得る。
【0203】
第1のサブピクチャスケーリングウィンドウ情報が構文構造内でシグナリングされることを第2のフラグが示す場合、第1のサブピクチャは、第1のサブピクチャスケーリングウィンドウ情報に基づいてエンコーディングされ得る。
【0204】
第1のサブピクチャ分割情報が構文構造内でシグナリングされることを第1のフラグが示し、第1のサブピクチャスケーリングウィンドウ情報が構文構造内でシグナリングされることを第2のフラグが示す場合、第1のサブピクチャは、第1のサブピクチャ分割情報及び第1のサブピクチャスケーリングウィンドウ情報に基づいてエンコーディングされ得る。
【0205】
プロセス(1600)は、様々なシナリオに適切に適合させることができ、それに応じてプロセス(1600)内のステップを調整することができる。プロセス(1600)内のステップのうちの1つ又は複数を、適合、省略、繰り返し、及び/又は組み合わせることができる。プロセス(1600)を実施するために、任意の適切な順序を使用することができる。さらなるステップ(複数可)を追加することができる。
【0206】
図17は、本開示の一実施形態によるデコーディングプロセス(1700)を概説するフローチャートを示す。様々な実施形態において、プロセス(1700)は、処理回路(例えば、端末デバイス(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路などの処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路など)によって実行される。いくつかの実施形態では、プロセス(1700)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(1700)を実行する。プロセスは、(S1701)から始まり、(S1710)に進む。
【0207】
(S1710)では、コーディングされたビデオシーケンス(CVS)内の第1のピクチャのための構文構造(例えば、高レベルの構文構造)内の第1のフラグ(例えば、pps_subpic_update_info_present_flag)又は第2のフラグ(例えば、pps_subpic_scaling_win_info_present_flag)のうちの少なくとも1つをデコーディングできる。第1のピクチャは、第1のサブピクチャを含むことができる。第1のフラグは、第1のピクチャの第1のサブピクチャ分割情報が構文構造内でシグナリングされるかどうかを示すことができる。第2のフラグは、第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が構文構造内でシグナリングされるかどうかを示すことができる。一実施形態では、構文要素は高レベルの構文構造である。
【0208】
一例では、構文構造は、第1のピクチャパラメータセット(PPS)構文構造である。
【0209】
(S1720)では、第1のサブピクチャは、(i)第1のサブピクチャ分割情報が構文構造内でシグナリングされることを示す第1のフラグ、又は(ii)第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が構文構造内でシグナリングされることを示す第2のフラグに基づいて、再構成することができる。
【0210】
一例では、第1のフラグ及び第2のフラグのうちの少なくとも1つは、第1のフラグを含む。第1のフラグは、第1のピクチャのための第1のサブピクチャ分割情報が、構文構造内でシグナリングされることを示す。
【0211】
第1のピクチャは複数のサブピクチャを含み、複数のサブピクチャは第1のサブピクチャを含む。第1のサブピクチャ分割情報に基づいて、第1のピクチャ内の複数のサブピクチャの第1のサブピクチャレイアウトを決定することができる。第1のサブピクチャレイアウトは、表2を参照して説明されるように、第1のピクチャ内の複数のサブピクチャのそれぞれのサイズ及び位置を示す(例えば、含む)ことができる。
【0212】
第1のピクチャ内の各サブピクチャのサブピクチャ識別子(ID)は、構文構造内の第1のサブピクチャ分割情報に基づいて決定することができる。
【0213】
一例では、第1のサブピクチャ分割情報を含む構文構造は、第1のPPSである。CVS内の第2のピクチャのための第2のPPS構文構造内でシグナリングされた第2のサブピクチャ分割情報をデコーディングすることができる。第2のピクチャ内の第2のサブピクチャは、第2のサブピクチャ分割情報に基づいて再構成することができる。第2のピクチャの第2のサブピクチャレイアウトは、第1のピクチャの第1のサブピクチャレイアウトとは異なり得る。
【0214】
第1のフラグ及び第2のフラグのうちの少なくとも1つは、第2のフラグを含むことができる。第2のフラグは、第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報が構文構造内でシグナリングされることを示すことができる。第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報は、構文構造に基づいてデコーディングすることができる。第1のサブピクチャは、第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報に基づくサブピクチャごとの参照ピクチャリサンプリングを使用して再構成することができる。
【0215】
プロセス(1700)は、(S1799)に進み、終了する。
【0216】
プロセス(1700)は、様々なシナリオに適切に適合させることができ、それに応じてプロセス(1700)内のステップを調整することができる。プロセス(1700)内のステップのうちの1つ又は複数を、適合、省略、繰り返し、及び/又は組み合わせることができる。プロセス(1700)を実施するために、任意の適切な順序を使用することができる。さらなるステップ(複数可)を追加することができる。
【0217】
一例では、第1のピクチャは、CVS内の第1のレイヤ内にある。CVS内の第2のレイヤ内の第2のピクチャのための別の構文構造内でシグナリングされた第2のサブピクチャ分割情報は、デコーディングされ得る。第2のサブピクチャ分割情報は、第1のサブピクチャ分割情報とは異なり得る。第2のピクチャ内の第2のサブピクチャは、第2のサブピクチャ分割情報に基づいて再構成することができる。
【0218】
一実施形態では、第1のフラグ及び第2のフラグのうちの少なくとも1つは、第1のフラグ及び第2のフラグを含む。第1のフラグは、第1のサブピクチャ分割情報が構文構造内でシグナリングされることを示す。第2のフラグは、第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報が構文構造内でシグナリングされることを示すことができる。第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報は、構文構造からデコーディングすることができる。第1のサブピクチャの寸法情報及び位置情報は、第1のサブピクチャ分割情報に基づいて決定することができる。第1のサブピクチャは、第1のサブピクチャの第1のサブピクチャスケーリングウィンドウ情報、第1のサブピクチャの寸法情報、及び第1のサブピクチャの位置情報に基づいて再構成することができる。
【0219】
本開示の実施形態は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、方法(又は実施形態)の各々、エンコーダ、及びデコーダは、処理回路(例えば、1つもしくは複数のプロセッサ又は1つもしくは複数の集積回路)によって実装されてもよい。一例では、1つ又は複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0220】
上記で説明した技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され、1つ又は複数のコンピュータ可読媒体に物理的に記憶され得る。例えば、図18は開示されている保護対象のいくつかの実施形態を実施するのに好適なコンピュータシステム(1800)を示す。
【0221】
コンピュータソフトウェアは、1つ又は複数のコンピュータ中央処理装置(CPU:central processing unit)及びグラフィック処理装置(GPU:Graphics Processing Unit)などによって直接的に、又は解釈及びマイクロコードの実行などを通して実行され得る命令を含むコードを生成するために、アセンブリ、コンパイル、リンキング、又は同様のメカニズムに従い得る任意の適切なマシンコード又はコンピュータ言語を使用してコーディングされ得る。
【0222】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、インターネット・オブ・シングス・デバイスなどを含む、様々なタイプのコンピュータ又はその構成要素で実行されてもよい。
【0223】
コンピュータシステム(1800)の図18に示されている構成要素も当然典型的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用又は機能の範囲に関していかなる限定の示唆も意図していない。さらには、構成要素の構成が、コンピュータシステム(1800)の典型的な実施形態に示されている構成要素のいずれか1つ又はこれらの組み合わせに関連する依存性又は要求を持つと解釈するべきでもない。
【0224】
コンピュータシステム(1800)はいくつかのヒューマンインターフェイス入力装置を含んでもよい。このようなヒューマンインターフェイス入力装置は、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を通じて1人以上の人間のユーザによる入力に応答するものであってもよい。ヒューマンインターフェイスデバイスを用いて、音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得される写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係ない特定の媒体をキャプチャし得る。
【0225】
入力ヒューマンインターフェイス装置は、キーボード(1801)、マウス(1802)、トラックパッド(1803)、タッチ画面(1810)、データグローブ(図示せず)、ジョイスティック(1805)、マイク(1806)、スキャナ(1807)、カメラ(1808)の1つ以上(各々の1つのみが図示されている)を含んでもよい。
【0226】
コンピュータシステム(1800)はいくつかのヒューマンインターフェイス出力装置も含んでもよい。このようなヒューマンインターフェイス出力装置は、例えば、触覚出力、音、光及び嗅覚/味覚を通じて1人以上の人間のユーザの感覚を刺激してもよい。このようなヒューマンインターフェイス出力装置は、触覚出力装置(例えば、タッチ画面(1810)、データグローブ(図示せず)又はジョイスティック(1805)による触覚フィードバック。ただし、入力装置として用いられない触覚フィードバック装置も存在することができる)、音声出力装置(スピーカ(1809)へッドホン(図示せず)など)、視覚出力装置(CRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(1810)など。各々にはタッチ画面入力機能があったりなかったりし、触覚フィードバック機能があったりなかったりする。上記の画面のいくつかは、二次元視覚出力を出力したり、立体グラフィック出力などの手段を通じて三次元以上の出力を出力したりする能力があってもよい。バーチャルリアリティグラス(図示せず)、ホログラムディスプレイ、発煙剤タンク(図示せず))及びプリンタ(図示せず)を含んでもよい。
【0227】
コンピュータシステム(1800)は、CD/DVD又は同様の媒体を用いるCD/DVD ROM/RW(1820)を含む光学媒体(1821)、サムドライブ(1822)、リムーバブルハードドライブやソリッドステートドライブ(1823)、テープやフロッピーディスクなどのレガシ磁気媒体(図示せず)、セキュリティドングルなどの特化型のROM/ASIC/PLDベースのデバイス(図示せず)などの人間が直接操作し得る記憶装置及びこれに関連する媒体も含むことができる。
【0228】
当業者はまた、現在開示された主題に関連して使用される「コンピュータ可読媒体」という用語が、送信媒体、搬送波、又は他の一時的な信号を包含しないことを理解するはずである。
【0229】
コンピュータシステム(1800)は1つ以上の通信ネットワーク(1855)に対するインターフェイス(1854)も含むことができる。ネットワークは例えば、無線ネットワーク、有線ネットワーク、光学ネットワークであることが可能である。ネットワークはさらに、ローカル、広域、メトロポリタン、車両及び産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例には、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、及び地上波放送テレビを含むテレビ有線又は無線広域デジタルネットワーク、CANBusを含む車両及び産業用などが含まれる。特定のネットワークは、一般的には、特定の汎用データポート又は周辺バス(1849)(例えば、コンピュータシステム(1800)のUSBポートなど)に接続される外部ネットワークインターフェイスアダプタを必要とし、他のものは、一般的には、以下で説明されるようにシステムバスへの接続によってコンピュータシステム(1800)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェイス又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェイス)。これらのネットワークのいずれかを使用して、コンピュータシステム(1800)は他のエンティティと通信できる。このような通信は、一方向、受信専用(例えば、テレビ放送)、一方向送信専用(例えば、CANbusから特定のCANbusデバイス)又は双方向、例えば、ローカルもしくは広域デジタルネットワークを用いた他のコンピュータシステムに対する双方向の通信であることが可能である。特定のプロトコル及びプロトコルスタックは、上記で説明したように、それらのネットワーク及びネットワークインターフェイスのそれぞれで使用され得る。
【0230】
上述のヒューマンインターフェイス装置、人間が直接操作し得る記憶装置及びネットワークインターフェイスをコンピュータシステム(1800)のコア(1840)に取り付けることができる。
【0231】
コア(1840)は、1つ以上の中央処理装置(CPU)(1841)、グラフィックス処理装置(GPU)(1842)、フィールドプログラマブルゲートエリア(FPGA)(1843)の形態をとる特化型プログラム可能処理装置、特定のタスク用のハードウェアアクセラレータ(1844)、グラフィックアダプタ(1850)などを含むことができる。このようなデバイスを、読み出し専用メモリ(ROM)(1845)、ランダムアクセスメモリ(1846)、内部にあってユーザが直接操作し得ないハードドライブ、SSDなどの内部大容量ストレージ(1847)とともにシステムバス(1848)を通じて接続してもよい。いくつかのコンピュータシステムでは、システムバス(1848)は、追加のCPU、GPUなどによって拡張を可能にする1つ以上の物理的なプラグの形態をとる直接操作し得るものであることが可能である。周辺機器をコアのシステムバス(1848)に直接取り付けるか、周辺バス(1849)を介して取り付けるかすることができる。一例では、画面(1810)をグラフィックアダプタ(1850)に接続することができる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
【0232】
CPU(1841)、GPU(1842)、FPGA(1843)及びアクセラレータ(1844)は、組み合わされて上述のコンピュータコードを構築することができるいくつかの指示を実行することができる。そのコンピュータコードを、ROM(1845)又はRAM(1846)に記憶することができる。また、移行データをRAM(1846)に記憶することができ、一方、永続データを、例えば内部大容量ストレージ(1847)に記憶することができる。1つ以上のCPU(1841)、GPU(1842)、大容量ストレージ(1847)、ROM(1845)、RAM(1846)などと密接に関連することができるキャッシュメモリを用いることにより、メモリデバイスのいずれかに対する高速記憶及び読み出しを可能にすることができる。
【0233】
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有し得る。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであり得るか、又はそれらは、コンピュータソフトウェア技術のスキルを有する人々に周知かつ利用可能な種類であり得る。
【0234】
限定ではなく、例として、アーキテクチャ(1800)、特にコア(1840)を有するコンピュータシステムは、1つ又は複数の有形のコンピュータ可読媒体で具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、上記で紹介したユーザクセス可能な大容量ストレージ、並びにコア内部大容量ストレージ(1847)やROM(1845)などの非一時的な性質のコア(1840)の特定のストレージに関連付けられた媒体であり得る。本開示の様々な実施形態を実施するソフトウェアをこのようなデバイスに記憶してコア(1840)によって実行することができる。コンピュータ可読媒体は個々の要求に応じて1つ以上のメモリデバイスやチップを含むことができる。ソフトウェアは、コア(1840)に、具体的にはその中のプロセッサ(CPU、GPU、及びFPGAなどを含む)に、RAM(1846)に記憶されたデータ構造を定義すること、及びソフトウェアによって定義されたプロセスに従ってこのようなデータ構造を変更することを含む、本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、本明細書で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに又はソフトウェアとともに動作し得る、回路に結線接続された、又は他の方法で具現化されたロジック(例えば、アクセラレータ(1844))の結果として機能を提供することができる。ソフトウェアへの言及は、適切な場合には、ロジックを包含することができ、逆もまた同様である。必要に応じて、コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路(集積回路(IC:integrated circuit)など)、実行のためのロジックを具体化する回路、又はこれらの両方を包含し得る。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
付録A:頭字語
JEM:共同探索モデル
VVC:多用途ビデオコーディング
BMS:ベンチマークセット
MV:動きベクトル
HEVC:高効率ビデオコーディング
SEI:補足強化情報
VUI:ビデオのユーザビリティ情報
GOP:グループオブピクチャ
TU:変換ユニット
PU:予測ユニット
CTU:コーディングツリーユニット
CTB:コーディングツリーブロック
PB:予測ブロック
HRD:仮想参照デコーダ
SNR:信号ノイズ比
CPU:中央処理装置
GPU:グラフィックス処理装置
CRT:ブラウン管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:読み取り専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:グローバル移動体通信システム
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺構成要素相互接続
FPGA:フィールドプログラマブルゲートエリア
SSD:ソリッドステートドライブ
IC:集積回路
CU:コーディングユニット
NIC:ニューラル画像圧縮
R-D:レート歪み
E2E:エンドツーエンド
ANN:人工ニューラルネットワーク
DNN:深層ニューラルネットワーク
CNN:畳み込みニューラルネットワーク
【0235】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内にある修正、置換、及び様々な代替の等価物がある。したがって、当業者は、本明細書に明示的に図示又は記載されていないが、本開示の原理を具現化し、したがって、その趣旨及び範囲内にある多数のシステム及び方法を考案できることが諒解されよう。
【符号の説明】
【0236】
101 サンプル
102 矢印
103 矢印
104 正方形ブロック
110 概略図
201 ブロック
300 通信システム
310 端末デバイス
320 端末デバイス
330 端末デバイス
340 端末デバイス
350 通信ネットワーク
400 通信システム
401 ビデオソース
402 ストリーム
403 ビデオエンコーダ
404 ビデオデータ
405 ストリーミングサーバ
406 クライアントサブシステム
407 ビデオデータのコピー
408 クライアントサブシステム
409 ビデオデータのコピー
410 ビデオデコーダ
411 出力ストリーム
412 ディスプレイ
413 キャプチャサブシステム
420 電子デバイス
430 電子デバイス
501 チャネル
510 ビデオデコーダ
512 レンダリングデバイス
515 バッファメモリ
520 パーサー
521 シンボル
530 電子デバイス
531 受信機
551 逆変換ユニット
552 イントラピクチャ予測ユニット、イントラ予測ユニット
553 動き補償予測ユニット
555 アグリゲータ
556 ループフィルタユニット
557 参照ピクチャメモリ
558 現在のピクチャバッファ
601 ビデオソース
603 ビデオエンコーダ
620 電子デバイス
630 ソースコーダ
632 コーディングエンジン
633 ローカルビデオデコーダ
634 参照ピクチャメモリ
635 予測器
640 送信機
643 ビデオシーケンス
645 エントロピーコーダ
650 コントローラ
660 通信チャネル
703 ビデオエンコーダ
721 汎用コントローラ
722 イントラエンコーダ
723 残差計算器
724 残差エンコーダ
725 エントロピーエンコーダ
726 スイッチ
728 残差デコーダ
730 インターエンコーダ
810 ビデオデコーダ
871 エントロピーデコーダ
872 イントラデコーダ
873 残差デコーダ
874 再構成モジュール
880 インターデコーダ
1000 ピクチャ
1101 メインビデオ
1200 メインビデオ
1210 ビデオコンポーザ
1220 サブピクチャ3
1222 サブピクチャ3
1301 参照サブピクチャ
1302 参照サブピクチャスケーリングウィンドウ
1311 サブピクチャ
1312 サブピクチャスケーリングウィンドウ
1400A サブピクチャレイアウト更新プロセス
1400B サブピクチャレイアウト更新プロセス
1401 サブピクチャレイアウト、サブピクチャレイヤ
1402 サブピクチャレイアウト、サブピクチャレイヤ
1403 サブピクチャレイアウト
1404 サブピクチャレイアウト、サブピクチャレイヤ
1405 サブピクチャレイアウト
1411 サブピクチャ
1421 サブピクチャ
1501 サブピクチャレイアウト
1502 サブピクチャレイアウト
1600 エンコーディングプロセス
1700 デコーディングプロセス
1800 コンピュータシステム
1801 キーボード
1802 マウス
1803 トラックパッド
1805 ジョイスティック
1806 マイク
1807 スキャナ
1808 カメラ
1809 音声出力装置スピーカ
1810 タッチ画面
1821 光学媒体
1823 ソリッドステートドライブ
1840 コア
1841 中央処理装置、CPU
1842 グラフィックス処理装置、GPU
1843 フィールドプログラマブルゲートエリア、FPGA
1844 ハードウェアアクセラレータ
1845 読み出し専用メモリ、ROM
1846 ランダムアクセスメモリ、RAM
1847 コア内部大容量ストレージ
1848 システムバス
1849 周辺バス
1850 グラフィックアダプタ
1854 インターフェイス
1855 通信ネットワーク
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14A
図14B
図15
図16
図17
図18
【手続補正書】
【提出日】2023-03-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオデコーダにおけるビデオデコーディングのための方法であって、
コーディングされたビデオシーケンス(CVS)における第1のピクチャのための構文構造における第1のフラグ又は第2のフラグのうちの少なくとも1つをデコーディングするステップであって、前記第1のピクチャは、第1のサブピクチャを含み、前記第1のフラグは、前記第1のピクチャの第1のサブピクチャ分割情報が前記構文構造においてシグナリングされるかどうかを示し、前記第2のフラグは、前記第1のサブピクチャのための第1のサブピクチャスケーリングウィンドウ情報が前記構文構造においてシグナリングされるかどうかを示す、ステップと、
前記第1のピクチャの前記第1のサブピクチャ分割情報が前記構文構造においてシグナリングされることを示す前記第1のフラグ、又は前記第1のサブピクチャのための前記第1のサブピクチャスケーリングウィンドウ情報が前記構文構造においてシグナリングされることを示す前記第2のフラグのうちの少なくとも1つに基づいて、前記第1のサブピクチャを再構成するステップと
を含む方法。
【請求項2】
前記構文構造は、第1のピクチャパラメータセット(PPS)構文構造である、請求項1に記載の方法。
【請求項3】
前記第1のフラグ及び前記第2のフラグのうちの前記少なくとも1つは、前記第1のフラグを含み、
前記第1のフラグは、前記第1のピクチャのための前記第1のサブピクチャ分割情報が、前記構文構造においてシグナリングされることを示す、請求項1に記載の方法。
【請求項4】
前記第1のピクチャは、複数のサブピクチャを含み、前記複数のサブピクチャは、前記第1のサブピクチャを含み、
前記方法は、前記第1のサブピクチャ分割情報に基づいて、前記第1のピクチャにおける前記複数のサブピクチャの各々のサイズ及び位置を含む、前記第1のピクチャにおける前記複数のサブピクチャの第1のサブピクチャレイアウトを決定するステップをさらに含む、請求項3に記載の方法。
【請求項5】
前記構文構造における前記第1のサブピクチャ分割情報に基づいて、前記第1のピクチャにおける各々のサブピクチャのサブピクチャ識別子(ID)を決定するステップ
をさらに含む、請求項4に記載の方法。
【請求項6】
前記構文構造は、第1のピクチャパラメータセット(PPS)構文構造であり、
前記方法は、
前記CVSにおける第2のピクチャのための第2のPPS構文構造においてシグナリングされた第2のサブピクチャ分割情報をデコーディングするステップと、
前記第2のサブピクチャ分割情報に基づいて、前記第2のピクチャにおける第2のサブピクチャを再構成するステップであって、前記第2のピクチャの第2のサブピクチャレイアウトは、前記第1のピクチャの前記第1のサブピクチャレイアウトとは異なる、ステップと
をさらに含む、請求項4に記載の方法。
【請求項7】
前記第1のピクチャは、前記CVSにおける第1のレイヤにあり、
前記方法は、
前記CVSにおける第2のレイヤにおける第2のピクチャのための別の構文構造においてシグナリングされた第2のサブピクチャ分割情報をデコーディングするステップであって、前記第2のサブピクチャ分割情報は、前記第1のサブピクチャ分割情報とは異なる、ステップと、
前記第2のサブピクチャ分割情報に基づいて、前記第2のピクチャにおける第2のサブピクチャを再構成するステップと
をさらに含む、請求項1に記載の方法。
【請求項8】
前記第1のフラグ及び前記第2のフラグのうちの前記少なくとも1つは、前記第2のフラグを含み、
前記第2のフラグは、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報が前記構文構造においてシグナリングされることを示す、請求項1に記載の方法。
【請求項9】
前記方法は、前記構文構造に基づいて、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報をデコーディングするステップをさらに含み、
前記第1のサブピクチャを再構成する前記ステップは、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報に基づくサブピクチャごとの参照ピクチャリサンプリングを使用して、前記第1のサブピクチャを再構成するステップを含む、請求項8に記載の方法。
【請求項10】
前記第1のフラグ及び前記第2のフラグのうちの前記少なくとも1つは、前記第1のフラグをさらに含み、
前記第1のフラグは、前記第1のサブピクチャ分割情報が前記構文構造においてシグナリングされることを示し、
前記方法は、
前記構文構造に基づいて、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報をデコーディングするステップと、
前記第1のサブピクチャ分割情報に基づいて、前記第1のサブピクチャの寸法情報及び位置情報を決定するステップと
をさらに含み、
前記第1のサブピクチャを再構成する前記ステップは、前記第1のサブピクチャの前記第1のサブピクチャスケーリングウィンドウ情報、前記第1のサブピクチャの前記寸法情報、及び前記第1のサブピクチャの前記位置情報に基づいて、前記第1のサブピクチャを再構成するステップを含む、請求項8に記載の方法。
【請求項11】
請求項1から10のいずれか一項に記載の方法を実行するように構成された装置。
【請求項12】
プロセッサに請求項1から10のいずれか一項に記載の方法を実行させるためのプログラム。
【国際調査報告】