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

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

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧

特開2024-102105映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理
<>
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図1
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図2
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図3
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図4
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図5
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図6
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図7
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図8
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図9
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図10
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図11
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図12
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図13
  • 特開-映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024102105
(43)【公開日】2024-07-30
(54)【発明の名称】映像符号化における参照ピクチャリサンプリング用の複数のピクチャサイズおよびコンフォーマンスウインドウの処理
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240723BHJP
   H04N 19/52 20140101ALI20240723BHJP
【FI】
H04N19/70
H04N19/52
【審査請求】有
【請求項の数】32
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024065997
(22)【出願日】2024-04-16
(62)【分割の表示】P 2022500788の分割
【原出願日】2020-07-07
(31)【優先権主張番号】62/871,493
(32)【優先日】2019-07-08
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】チェン、ジアンレ
(72)【発明者】
【氏名】ヘンドリー、フヌ
(57)【要約】      (修正有)
【課題】符号化映像ビットストリームをデコーディングする方法を提供する。
【解決手段】デコーディングする方法は、それぞれが同じシーケンスパラメータセットを参照する第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを受信する段階を含む。第1のピクチャパラメータセットおよび第2のピクチャパラメータセットが、ピクチャ幅およびピクチャ高さに関して同じ値を有する場合、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットはコンフォーマンスウインドウ1060に関して同じ値を有する。方法はまた、第1のピクチャパラメータセットまたは第2のピクチャパラメータセットに対応する現ピクチャにコンフォーマンスウインドウを適用する段階を含む。
【選択図】図11
【特許請求の範囲】
【請求項1】
ビットストリームをエンコードするための方法であって、前記方法は、
それぞれ同じシーケンスパラメータセット(SPS)を参照する第1のピクチャパラメータセット(PPS)及び第2のPPSを生成する段階であって、前記第1のPPSが第1のピクチャ幅パラメータ、第1のピクチャ高さパラメータ、及び第1のコンフォーマンスウインドウフラグを含み、前記第2のPPSが第2のピクチャ幅パラメータ、第2のピクチャ高さパラメータ、及び第2のコンフォーマンスウインドウフラグを含み、1と等しい前記第1のコンフォーマンスウインドウフラグは、前記第1のPPSが第1のコンフォーマンスウインドウパラメータをさらに含むことを示し、1と等しい前記第2のコンフォーマンスウインドウフラグは、前記第2のPPSが第2のコンフォーマンスウインドウパラメータをさらに含むことを示す、段階と、
前記第1のPPS及び前記第2のPPSを前記ビットストリームにエンコードする段階と、
を備え、
前記第1のピクチャ幅パラメータが前記第2のピクチャ幅パラメータと同じ値を有し、前記第1のピクチャ高さパラメータが前記第2のピクチャ高さパラメータと同じ値を有する場合、前記第1のコンフォーマンスウインドウパラメータは前記第2のコンフォーマンスウインドウパラメータと同じ値を有する
方法。
【請求項2】
前記第1のコンフォーマンスウインドウパラメータ又は前記第2のコンフォーマンスウインドウパラメータは、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、及びコンフォーマンスウインドウ下側オフセットを有する
請求項1に記載の方法。
【請求項3】
前記第1のピクチャ幅パラメータ又は前記第2のピクチャ幅パラメータは、ルーマサンプルで測定され、前記第1のピクチャ高さパラメータ又は前記第2のピクチャ高さパラメータは、ルーマサンプルで測定される
請求項1又は2に記載の方法。
【請求項4】
ビットストリームをデコードするための方法であって、
ビットストリームを受信する段階であって、前記ビットストリームは、それぞれが同じシーケンスパラメータセット(SPS)を参照する第1のピクチャパラメータセット(PPS)および第2のPPSを含み、前記第1のPPSが第1のピクチャ幅パラメータ、第1のピクチャ高さパラメータ、及び第1のコンフォーマンスウインドウフラグを含み、前記第2のPPSが第2のピクチャ幅パラメータ、第2のピクチャ高さパラメータ、及び第2のコンフォーマンスウインドウフラグを含み、1と等しい前記第1のコンフォーマンスウインドウフラグは、前記第1のPPSが第1のコンフォーマンスウインドウパラメータをさらに含むことを示し、1と等しい前記第2のコンフォーマンスウインドウフラグは、前記第2のPPSが第2のコンフォーマンスウインドウパラメータをさらに含むことを示す、段階と、
前記ビットストリームの前記第1のPPSから前記第1のピクチャ幅パラメータ及び前記第1のピクチャ高さパラメータを解析する段階と、
前記ビットストリームの前記第2のPPSから前記第2のピクチャ幅パラメータ及び前記第2のピクチャ高さパラメータを解析する段階と、
前記第1のピクチャ幅パラメータが前記第2のピクチャ幅パラメータと同じ値を有し、前記第1のピクチャ高さパラメータが前記第2のピクチャ高さパラメータと同じ値を有する場合、前記第1のコンフォーマンスウインドウパラメータは前記第2のコンフォーマンスウインドウパラメータと同じ値を有すると判断する段階と
を備える、方法。
【請求項5】
前記第1のコンフォーマンスウインドウパラメータ又は前記第2のコンフォーマンスウインドウパラメータは、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、及びコンフォーマンスウインドウ下側オフセットを有する
請求項4に記載の方法。
【請求項6】
前記第1のピクチャ幅パラメータ又は前記第2のピクチャ幅パラメータは、ルーマサンプルで測定され、前記第1のピクチャ高さパラメータ又は前記第2のピクチャ高さパラメータは、ルーマサンプルで測定される
請求項4又は5に記載の方法。
【請求項7】
プロセッサとメモリとを備え、
前記メモリは命令を格納するように構成され、前記プロセッサは、請求項1から3のいずれか一項に記載の方法を実行するべく前記メモリ内の前記命令を実行ように構成される
エンコーディングデバイス。
【請求項8】
プロセッサとメモリとを備え、
前記メモリは命令を格納するように構成され、前記プロセッサは、請求項4から6のいずれか一項に記載の方法を実行するべく前記メモリ内の前記命令を実行ように構成される
デコーディングデバイス。
【請求項9】
ビットストリームを処理するためのデータ構造であって、前記ビットストリームは、それぞれ同じシーケンスパラメータセット(SPS)を参照する第1のピクチャパラメータセット(PPS)及び第2のPPSを含み、前記第1のPPSが第1のピクチャ幅パラメータ、第1のピクチャ高さパラメータ、及び第1のコンフォーマンスウインドウフラグを含み、前記第2のPPSが第2のピクチャ幅パラメータ、第2のピクチャ高さパラメータ、及び第2のコンフォーマンスウインドウフラグを含み、1と等しい前記第1のコンフォーマンスウインドウフラグは、前記第1のPPSが第1のコンフォーマンスウインドウパラメータをさらに含むことを示し、1と等しい前記第2のコンフォーマンスウインドウフラグは、前記第2のPPSが第2のコンフォーマンスウインドウパラメータをさらに含むことを示し、
前記データ構造は、デコーダに、
前記第1のPPSから前記第1のピクチャ幅パラメータ及び前記第1のピクチャ高さパラメータを解析することと、
前記第2のPPSから前記第2のピクチャ幅パラメータ及び前記第2のピクチャ高さパラメータを解析することと、
前記第1のピクチャ幅パラメータが前記第2のピクチャ幅パラメータと同じ値を有し、前記第1のピクチャ高さパラメータが前記第2のピクチャ高さパラメータと同じ値を有する場合、前記第1のコンフォーマンスウインドウパラメータは前記第2のコンフォーマンスウインドウパラメータと同じ値を有すると判断することと
を実行させるための情報を含む、データ構造。
【請求項10】
前記第1のコンフォーマンスウインドウパラメータ又は前記第2のコンフォーマンスウインドウパラメータは、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、及びコンフォーマンスウインドウ下側オフセットを有する
請求項9に記載のデータ構造。
【請求項11】
前記第1のピクチャ幅パラメータ又は前記第2のピクチャ幅パラメータは、ルーマサンプルで測定され、前記第1のピクチャ高さパラメータ又は前記第2のピクチャ高さパラメータは、ルーマサンプルで測定される
請求項9又は10に記載のデータ構造。
【請求項12】
ビットストリームを記憶するデバイスであって、前記デバイスは、
少なくとも1つの記憶媒体と少なくとも1つの通信インタフェースとを備え、
前記少なくとも1つの通信インタフェースは、前記ビットストリームを受信又は送信するように構成され、
前記少なくとも1つの記憶媒体は、前記ビットストリームを記憶するように構成され、
前記ビットストリームは、それぞれ同じシーケンスパラメータセット(SPS)を参照する第1のピクチャパラメータセット(PPS)及び第2のPPSを含み、前記第1のPPSが第1のピクチャ幅パラメータ、第1のピクチャ高さパラメータ、及び第1のコンフォーマンスウインドウフラグを含み、前記第2のPPSが第2のピクチャ幅パラメータ、第2のピクチャ高さパラメータ、及び第2のコンフォーマンスウインドウフラグを含み、1と等しい前記第1のコンフォーマンスウインドウフラグは、前記第1のPPSが第1のコンフォーマンスウインドウパラメータをさらに含むことを示し、1と等しい前記第2のコンフォーマンスウインドウフラグは、前記第2のPPSが第2のコンフォーマンスウインドウパラメータをさらに含むことを示し、
前記第1のピクチャ幅パラメータが前記第2のピクチャ幅パラメータと同じ値を有し、前記第1のピクチャ高さパラメータが前記第2のピクチャ高さパラメータと同じ値を有する場合、前記第1のコンフォーマンスウインドウパラメータは前記第2のコンフォーマンスウインドウパラメータと同じ値を有する
デバイス。
【請求項13】
前記第1のコンフォーマンスウインドウパラメータ又は前記第2のコンフォーマンスウインドウパラメータは、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、及びコンフォーマンスウインドウ下側オフセットを有する
請求項12に記載のデバイス。
【請求項14】
前記第1のピクチャ幅パラメータ又は前記第2のピクチャ幅パラメータは、ルーマサンプルで測定され、前記第1のピクチャ高さパラメータ又は前記第2のピクチャ高さパラメータは、ルーマサンプルで測定される
請求項12又は13に記載のデバイス。
【請求項15】
前記第1のコンフォーマンスウインドウフラグが0に等しいとき、それは前記第1のPPSが前記第1のコンフォーマンスウインドウパラメータを含まないことを示し、前記第2のコンフォーマンスウインドウフラグが0に等しいとき、それは前記第2のPPSが前記第2のコンフォーマンスウインドウパラメータを含まないことを示す
請求項12から14のいずれか一項に記載のデバイス。
【請求項16】
ビットストリームを記憶する方法であって、
通信インタフェースを介してビットストリームを受信又は送信する段階と、
前記ビットストリームを1つ又は複数の記憶媒体に記憶する段階であって、前記ビットストリームが、それぞれ同じシーケンスパラメータセット(SPS)を参照する第1のピクチャパラメータセット(PPS)及び第2のPPSを含み、前記第1のPPSが第1のピクチャ幅パラメータ、第1のピクチャ高さパラメータ、及び第1のコンフォーマンスウインドウフラグを含み、前記第2のPPSが第2のピクチャ幅パラメータ、第2のピクチャ高さパラメータ、及び第2のコンフォーマンスウインドウフラグを含み、1と等しい前記第1のコンフォーマンスウインドウフラグは、前記第1のPPSが第1のコンフォーマンスウインドウパラメータをさらに含むことを示し、1と等しい前記第2のコンフォーマンスウインドウフラグは、前記第2のPPSが第2のコンフォーマンスウインドウパラメータをさらに含むことを示す、段階と
を備え、
前記第1のピクチャ幅パラメータが前記第2のピクチャ幅パラメータと同じ値を有し、前記第1のピクチャ高さパラメータが前記第2のピクチャ高さパラメータと同じ値を有する場合、前記第1のコンフォーマンスウインドウパラメータは前記第2のコンフォーマンスウインドウパラメータと同じ値を有する
方法。
【請求項17】
前記第1のコンフォーマンスウインドウパラメータ又は前記第2のコンフォーマンスウインドウパラメータは、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、及びコンフォーマンスウインドウ下側オフセットを有する
請求項16に記載の方法。
【請求項18】
前記第1のピクチャ幅パラメータ又は前記第2のピクチャ幅パラメータは、ルーマサンプルで測定され、前記第1のピクチャ高さパラメータ又は前記第2のピクチャ高さパラメータは、ルーマサンプルで測定される
請求項16又は17に記載の方法。
【請求項19】
前記第1のコンフォーマンスウインドウフラグが0に等しいとき、それは前記第1のPPSが前記第1のコンフォーマンスウインドウパラメータを含まないことを示し、前記第2のコンフォーマンスウインドウフラグが0に等しいとき、それは前記第2のPPSが前記第2のコンフォーマンスウインドウパラメータを含まないことを示す
請求項16から18のいずれか一項に記載の方法。
【請求項20】
ビットストリームを送信するデバイスであって、前記デバイスは、
少なくとも1つのビットストリームを記憶するように構成された少なくとも1つの記憶媒体であって、前記ビットストリームが、それぞれ同じシーケンスパラメータセット(SPS)を参照する第1のピクチャパラメータセット(PPS)及び第2のPPSを含み、前記第1のPPSが第1のピクチャ幅パラメータ、第1のピクチャ高さパラメータ、及び第1のコンフォーマンスウインドウフラグを含み、前記第2のPPSが第2のピクチャ幅パラメータ、第2のピクチャ高さパラメータ、及び第2のコンフォーマンスウインドウフラグを含み、1と等しい前記第1のコンフォーマンスウインドウフラグは、前記第1のPPSが第1のコンフォーマンスウインドウパラメータをさらに含むことを示し、1と等しい前記第2のコンフォーマンスウインドウフラグは、前記第2のPPSが第2のコンフォーマンスウインドウパラメータをさらに含むことを示し、前記第1のピクチャ幅パラメータが前記第2のピクチャ幅パラメータと同じ値を有し、前記第1のピクチャ高さパラメータが前記第2のピクチャ高さパラメータと同じ値を有する場合、前記第1のコンフォーマンスウインドウパラメータは前記第2のコンフォーマンスウインドウパラメータと同じ値を有する、少なくとも1つの記憶媒体と、
前記少なくとも1つの記憶媒体のうちの1つから1つ又は複数のビットストリームを取得するように構成された少なくとも1つのプロセッサと、
前記1つ又は複数のビットストリームを宛先デバイスに送信するように構成された送信機と
を備えるデバイス。
【請求項21】
前記第1のコンフォーマンスウインドウパラメータ又は前記第2のコンフォーマンスウインドウパラメータは、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、及びコンフォーマンスウインドウ下側オフセットを含む
請求項20に記載のデバイス。
【請求項22】
前記第1のピクチャ幅パラメータ又は前記第2のピクチャ幅パラメータは、ルーマサンプルで測定され、前記第1のピクチャ高さパラメータ又は前記第2のピクチャ高さパラメータは、ルーマサンプルで測定される
請求項20又は21に記載のデバイス。
【請求項23】
前記第1のコンフォーマンスウインドウフラグが0に等しいとき、それは前記第1のPPSが前記第1のコンフォーマンスウインドウパラメータを含まないことを示し、前記第2のコンフォーマンスウインドウフラグが0に等しいとき、それは前記第2のPPSが前記第2のコンフォーマンスウインドウパラメータを含まないことを示す
請求項20から22のいずれか一項に記載のデバイス。
【請求項24】
ビットストリームを送信する方法であって、
少なくとも1つのビットストリームを少なくとも1つの記憶媒体に記憶する段階であって、前記ビットストリームが、それぞれ同じシーケンスパラメータセット(SPS)を参照する第1のピクチャパラメータセット(PPS)及び第2のPPSを含み、前記第1のPPSが第1のピクチャ幅パラメータ、第1のピクチャ高さパラメータ、及び第1のコンフォーマンスウインドウフラグを含み、前記第2のPPSが第2のピクチャ幅パラメータ、第2のピクチャ高さパラメータ、及び第2のコンフォーマンスウインドウフラグを含み、1と等しい前記第1のコンフォーマンスウインドウフラグは、前記第1のPPSが第1のコンフォーマンスウインドウパラメータをさらに含むことを示し、1と等しい前記第2のコンフォーマンスウインドウフラグは、前記第2のPPSが第2のコンフォーマンスウインドウパラメータをさらに含むことを示し、前記第1のピクチャ幅パラメータが前記第2のピクチャ幅パラメータと同じ値を有し、前記第1のピクチャ高さパラメータが前記第2のピクチャ高さパラメータと同じ値を有する場合、前記第1のコンフォーマンスウインドウパラメータは前記第2のコンフォーマンスウインドウパラメータと同じ値を有する、段階と、
前記少なくとも1つの記憶媒体のうちの1つから1つ又は複数のビットストリームを取得する段階と、
前記1つ又は複数のビットストリームを宛先デバイスに送信する段階と
を備える方法。
【請求項25】
前記第1のコンフォーマンスウインドウパラメータ又は前記第2のコンフォーマンスウインドウパラメータは、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、及びコンフォーマンスウインドウ下側オフセットを含む
請求項24に記載の方法。
【請求項26】
前記第1のピクチャ幅パラメータ又は前記第2のピクチャ幅パラメータは、ルーマサンプルで測定され、前記第1のピクチャ高さパラメータ又は前記第2のピクチャ高さパラメータは、ルーマサンプルで測定される
請求項24又は25に記載の方法。
【請求項27】
前記第1のコンフォーマンスウインドウフラグが0に等しいとき、それは前記第1のPPSが前記第1のコンフォーマンスウインドウパラメータを含まないことを示し、前記第2のコンフォーマンスウインドウフラグが0に等しいとき、それは前記第2のPPSが前記第2のコンフォーマンスウインドウパラメータを含まないことを示す
請求項24から26のいずれか一項に記載の方法。
【請求項28】
ビットストリームを処理するシステムであって、
エンコーディングデバイスと、1つ又は複数の記憶装置と、デコーディングデバイスとを備え、
前記エンコーディングデバイスは、映像信号を取得し、前記映像信号をエンコードして1つ又は複数のビットストリームを取得するように構成され、前記1つ又は複数のビットストリームのうちの少なくとも1つは、それぞれ同じシーケンスパラメータセット(SPS)を参照する第1のピクチャパラメータセット(PPS)及び第2のPPSを含み、前記第1のPPSが第1のピクチャ幅パラメータ、第1のピクチャ高さパラメータ、及び第1のコンフォーマンスウインドウフラグを含み、前記第2のPPSが第2のピクチャ幅パラメータ、第2のピクチャ高さパラメータ、及び第2のコンフォーマンスウインドウフラグを含み、1と等しい前記第1のコンフォーマンスウインドウフラグは、前記第1のPPSが第1のコンフォーマンスウインドウパラメータをさらに含むことを示し、1と等しい前記第2のコンフォーマンスウインドウフラグは、前記第2のPPSが第2のコンフォーマンスウインドウパラメータをさらに含むことを示し、前記第1のピクチャ幅パラメータが前記第2のピクチャ幅パラメータと同じ値を有し、前記第1のピクチャ高さパラメータが前記第2のピクチャ高さパラメータと同じ値を有する場合、前記第1のコンフォーマンスウインドウパラメータは前記第2のコンフォーマンスウインドウパラメータと同じ値を有し、
前記1つ又は複数の記憶装置は、前記1つ又は複数のビットストリームを記憶するために使用され、
前記デコーディングデバイスは、前記1つ又は複数のビットストリームをデコードするために使用される
システム。
【請求項29】
前記第1のコンフォーマンスウインドウパラメータ又は前記第2のコンフォーマンスウインドウパラメータは、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、及びコンフォーマンスウインドウ下側オフセットを含む
請求項28に記載のシステム。
【請求項30】
前記第1のピクチャ幅パラメータ又は前記第2のピクチャ幅パラメータは、ルーマサンプルで測定され、前記第1のピクチャ高さパラメータ又は前記第2のピクチャ高さパラメータは、ルーマサンプルで測定される
請求項28又は29に記載のシステム。
【請求項31】
前記映像信号を撮影するように構成された映像撮影デバイス
をさらに備える請求項28から30のいずれか一項に記載のシステム。
【請求項32】
前記第1のコンフォーマンスウインドウフラグが0に等しいとき、それは前記第1のPPSが前記第1のコンフォーマンスウインドウパラメータを含まないことを示し、前記第2のコンフォーマンスウインドウフラグが0に等しいとき、それは前記第2のPPSが前記第2のコンフォーマンスウインドウパラメータを含まないことを示す
請求項28から31のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本特許出願は、Jianle Chen他により2019年7月8日に出願された「Handling of Multiple Picture Size and Conformance Windows for Reference Picture Resampling in Video Coding」と題する米国仮特許出願第62/871,493号の利益を主張し、当該米国仮特許出願はその全体が参照によってここに組み込まれる。
【0002】
本開示は概して、映像符号化において複数のピクチャサイズおよびコンフォーマンスウインドウをサポートするための手法を説明する。より具体的には、本開示は、同じピクチャサイズを有するピクチャパラメータセットが確実に同じコンフォーマンスウインドウも有するようにする。
【背景技術】
【0003】
比較的短い映像でも描写するのに必要な映像データ量はかなりの量になる可能性があり、そのため、限られた帯域幅容量の通信ネットワークでデータをストリームする、または別のやり方で通信する場合には、困難を招くことがある。したがって、映像データは一般に、現代の電気通信ネットワークで通信される前に圧縮される。映像のサイズも、その映像が記憶デバイスに格納される場合には、メモリリソースが限定されることがあるため問題になる可能性がある。映像圧縮デバイスでは、送出元でソフトウェアおよび/またはハードウェアを用いて、映像データを送信または記憶する前に符号化することが多く、これにより、デジタルビデオ画像を表現するのに必要なデータ量を減少させている。圧縮されたデータは次に、映像データをデコードする映像伸張デバイスによって宛先側で受信される。限られたネットワークリソースと高い映像品質への増え続ける要求とによって、画質を全くかほとんど犠牲にすることなく圧縮比率を向上させる圧縮/伸張手法の改善が望まれている。
【発明の概要】
【0004】
第1態様は、映像デコーダにより実施される符号化映像ビットストリームのデコーディングの方法に関する。本方法は、それぞれが同じシーケンスパラメータセットを参照する第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを映像デコーダが受信する段階であって、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットがピクチャ幅およびピクチャ高さに関して同じ値を有する場合、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットはコンフォーマンスウインドウに関して同じ値を有する、受信する段階と、映像デコーダが第1のピクチャパラメータセットまたは第2のピクチャパラメータセットに対応する現ピクチャにコンフォーマンスウインドウを適用する段階とを含む。
【0005】
本方法は、同じピクチャサイズを有するピクチャパラメータセットを同じコンフォーマンスウインドウサイズも有するように制約する(例えば、ウインドウサイズをクロップする)手法を提供する。同じピクチャサイズを有するピクチャパラメータセットに対してコンフォーマンスウインドウを同じサイズに維持することにより、参照ピクチャリサンプリング(RPR)が有効な場合、過度に複雑な処理を回避できる。したがって、プロセッサ、メモリ、および/またはネットワークリソースの使用量が、エンコーダとデコーダの両方で減少し得る。こうして、映像符号化におけるコーダ/デコーダ(コーデックとしても知られている)が、現コーデックと比較して改善される。現実問題としては、映像符号化プロセスの改善によって、ユーザには、映像を送出、受領、および/または視聴する場合に、より望ましいユーザ体験が提供される。
【0006】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、コンフォーマンスウインドウがコンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、およびコンフォーマンスウインドウ下側オフセットを有するということを規定する。
【0007】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、第1のピクチャパラメータセットまたは第2のピクチャパラメータセットに対応する現ピクチャを、コンフォーマンスウインドウが適用された後にインター予測を用いてデコードする段階を提供する。ここで、インター予測はリサンプリングされた参照ピクチャに基づいている。
【0008】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、第1のピクチャパラメータセットまたは第2のピクチャパラメータセットに対応する現ピクチャと関連付けられた参照ピクチャを、参照ピクチャリサンプリング(RPS)を用いてリサンプリングする段階を提供する。
【0009】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、参照ピクチャのリサンプリングが第1のピクチャパラメータセットまたは第2のピクチャパラメータセットに対応する現ピクチャをインター予測するのに用いられる参照ピクチャの解像度を変更するということを規定する。
【0010】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、ピクチャ幅およびピクチャ高さがルーマサンプルで測定されるということを規定する。
【0011】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、現ピクチャのピクチャ幅、ピクチャ高さ、およびコンフォーマンスウインドウと現ピクチャの参照ピクチャとに基づいてピクチャをデコードするのに双方向オプティカルフロー(BDOF)が有効かどうかを判定する段階を提供する。
【0012】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、現ピクチャのピクチャ幅、ピクチャ高さ、およびコンフォーマンスウインドウと現ピクチャの参照ピクチャとに基づいてピクチャをデコードするのにデコーダ側動きベクトル微調整(DMVR)が有効かどうかを判定する段階を提供する。
【0013】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、現ブロックを用いて生成された画像を電子デバイスのディスプレイに表示する段階を提供する。
【0014】
第2態様は、映像エンコーダにより実施される映像ビットストリームのエンコーディングの方法に関する。本方法は、それぞれ同じシーケンスパラメータセットを参照する第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを映像エンコーダが生成する段階であって、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットがピクチャ幅およびピクチャ高さに関して同じ値を有する場合、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットはコンフォーマンスウインドウに関して同じ値を有する、生成する段階と、映像エンコーダが第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを映像ビットストリームにエンコードする段階と、映像エンコーダが映像ビットストリームを映像デコーダに送信するために格納する段階とを含む。
【0015】
本方法は、同じピクチャサイズを有するピクチャパラメータセットを同じコンフォーマンスウインドウサイズも有するように制約する(例えば、ウインドウサイズをクロップする)手法を提供する。同じピクチャサイズを有するピクチャパラメータセットに対してコンフォーマンスウインドウを同じサイズに維持することにより、参照ピクチャリサンプリング(RPR)が有効な場合、過度に複雑な処理を回避できる。したがって、プロセッサ、メモリ、および/またはネットワークリソースの使用量が、エンコーダとデコーダの両方で減少し得る。こうして、映像符号化におけるコーダ/デコーダ(コーデックとしても知られている)が、現コーデックと比較して改善される。現実問題としては、映像符号化プロセスの改善によって、ユーザには、映像を送出、受領、および/または視聴する場合に、より望ましいユーザ体験が提供される。
【0016】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、コンフォーマンスウインドウがコンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、およびコンフォーマンスウインドウ下側オフセットを有するということを規定する。
【0017】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、ピクチャ幅およびピクチャ高さがルーマサンプルで測定されるということを規定する。
【0018】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを含む映像ビットストリームを映像デコーダに送信する段階を提供する。
【0019】
第3態様は、デコーディングデバイスに関する。デコーディングデバイスは、符号化映像ビットストリームを受信するように構成された受信機と、受信機に結合されたメモリであって、メモリは命令を格納する、メモリと、メモリに結合されたプロセッサであって、プロセッサは命令を実行してデコーディングデバイスに、それぞれ同じシーケンスパラメータセットを参照する第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを受信することであって、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットがピクチャ幅およびピクチャ高さに関して同じ値を有する場合、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットはコンフォーマンスウインドウに関して同じ値を有する、受信することと、第1のピクチャパラメータセットまたは第2のピクチャパラメータセットに対応する現ピクチャにコンフォーマンスウインドウを適用することとを行わせるように構成される、プロセッサとを含む。
【0020】
デコーディングデバイスは、同じピクチャサイズを有するピクチャパラメータセットを同じコンフォーマンスウインドウサイズも有するように制約する(例えば、ウインドウサイズをクロップする)手法を提供する。同じピクチャサイズを有するピクチャパラメータセットに対してコンフォーマンスウインドウを同じサイズに維持することにより、参照ピクチャリサンプリング(RPR)が有効な場合、過度に複雑な処理を回避できる。したがって、プロセッサ、メモリ、および/またはネットワークリソースの使用量が、エンコーダとデコーダの両方で減少し得る。こうして、映像符号化におけるコーダ/デコーダ(コーデックとしても知られている)が、現コーデックと比較して改善される。現実問題としては、映像符号化プロセスの改善によって、ユーザには、映像を送出、受領、および/または視聴する場合に、より望ましいユーザ体験が提供される。
【0021】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、コンフォーマンスウインドウがコンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、およびコンフォーマンスウインドウ下側オフセットを有するということを規定する。
【0022】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、第1のピクチャパラメータセットまたは第2のピクチャパラメータセットに対応する現ピクチャを、コンフォーマンスウインドウが適用された後にインター予測を用いてデコードすることを提供する。ここで、インター予測はリサンプリングされた参照ピクチャに基づいている。
【0023】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、現ピクチャに基づいて生成された画像を表示するように構成されたディスプレイを提供する。
【0024】
第4態様は、エンコーディングデバイスに関する。エンコーディングデバイスは、命令を含むメモリと、メモリに結合されたプロセッサであって、プロセッサは命令を実施してエンコーディングデバイスに、それぞれ同じシーケンスパラメータセットを参照する第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを生成することであって、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットがピクチャ幅およびピクチャ高さに関して同じ値を有する場合、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットはコンフォーマンスウインドウに関して同じ値を有する、生成することと、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを映像ビットストリームにエンコードすることとを行わせるように構成される、プロセッサと、プロセッサに結合された送信機であって、送信機は第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを含む映像ビットストリームを映像デコーダに送信するように構成される、送信機とを含む。
【0025】
エンコーディングデバイスは、同じピクチャサイズを有するピクチャパラメータセットを同じコンフォーマンスウインドウサイズも有するように制約する(例えば、ウインドウサイズをクロップする)手法を提供する。同じピクチャサイズを有するピクチャパラメータセットに対してコンフォーマンスウインドウを同じサイズに維持することにより、参照ピクチャリサンプリング(RPR)が有効な場合、過度に複雑な処理を回避できる。したがって、プロセッサ、メモリ、および/またはネットワークリソースの使用量が、エンコーダとデコーダの両方で減少し得る。こうして、映像符号化におけるコーダ/デコーダ(コーデックとしても知られている)が、現コーデックと比較して改善される。現実問題としては、映像符号化プロセスの改善によって、ユーザには、映像を送出、受領、および/または視聴する場合に、より望ましいユーザ体験が提供される。
【0026】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、コンフォーマンスウインドウがコンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、およびコンフォーマンスウインドウ下側オフセットを有するということを規定する。
【0027】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、ピクチャ幅およびピクチャ高さがルーマサンプルで測定されるということを規定する。
【0028】
第5態様は、符号化装置に関する。符号化装置は、エンコードするピクチャを受信するように、またはデコードするビットストリームを受信するように構成された受信機と、受信機に結合された送信機であって、送信機はビットストリームをデコーダに送信するように、またはデコード画像をディスプレイに送信するように構成される、送信機と、受信機または送信機のうちの少なくとも一方に結合されたメモリであって、メモリは命令を格納するように構成される、メモリと、メモリに結合されたプロセッサであって、プロセッサはメモリに格納された命令を実行して、本明細書に開示される方法のうちのいずれかを行うように構成される、プロセッサとを含む。
【0029】
符号化装置は、同じピクチャサイズを有するピクチャパラメータセットを同じコンフォーマンスウインドウサイズも有するように制約する(例えば、ウインドウサイズをクロップする)手法を提供する。同じピクチャサイズを有するピクチャパラメータセットに対してコンフォーマンスウインドウを同じサイズに維持することにより、参照ピクチャリサンプリング(RPR)が有効な場合、過度に複雑な処理を回避できる。したがって、プロセッサ、メモリ、および/またはネットワークリソースの使用量が、エンコーダとデコーダの両方で減少し得る。こうして、映像符号化におけるコーダ/デコーダ(コーデックとしても知られている)が、現コーデックと比較して改善される。現実問題としては、映像符号化プロセスの改善によって、ユーザには、映像を送出、受領、および/または視聴する場合に、より望ましいユーザ体験が提供される。
【0030】
任意選択的に、前述の態様のうちのいずれかにおいて、本態様の別の実装例が、画像を表示するように構成されたディスプレイを提供する。
【0031】
第6態様は、システムに関する。システムは、エンコーダと、エンコーダと通信するデコーダとを含み、エンコーダまたはデコーダは、本明細書に開示されるデコーディングデバイス、エンコーディングデバイス、または符号化装置を含む。
【0032】
システムは、同じピクチャサイズを有するピクチャパラメータセットを同じコンフォーマンスウインドウサイズも有するように制約する(例えば、ウインドウサイズをクロップする)手法を提供する。同じピクチャサイズを有するピクチャパラメータセットに対してコンフォーマンスウインドウを同じサイズに維持することにより、参照ピクチャリサンプリング(RPR)が有効な場合、過度に複雑な処理を回避できる。したがって、プロセッサ、メモリ、および/またはネットワークリソースの使用量が、エンコーダとデコーダの両方で減少し得る。こうして、映像符号化におけるコーダ/デコーダ(コーデックとしても知られている)が、現コーデックと比較して改善される。現実問題としては、映像符号化プロセスの改善によって、ユーザには、映像を送出、受領、および/または視聴する場合に、より望ましいユーザ体験が提供される。
【0033】
第7態様は、符号化の手段に関する。符号化の手段は、エンコードするピクチャを受信するように、またはデコードするビットストリームを受信するように構成された受信手段と、受信手段に結合された送信手段であって、送信手段はビットストリームをデコーディング手段に送信するように、またはデコード画像を表示手段に送信するように構成される、送信手段と、受信手段または送信手段のうちの少なくとも一方に結合された記憶手段であって、記憶手段は命令を格納するように構成される、記憶手段と、記憶手段に結合された処理手段であって、処理手段は記憶手段に格納された命令を実行して、本明細書に開示される方法のうちのいずれかを実行するように構成される、処理手段とを含む。
【0034】
符号化の手段は、同じピクチャサイズを有するピクチャパラメータセットを同じコンフォーマンスウインドウサイズも有するように制約する(例えば、ウインドウサイズをクロップする)手法を提供する。同じピクチャサイズを有するピクチャパラメータセットに対してコンフォーマンスウインドウを同じサイズに維持することにより、参照ピクチャリサンプリング(RPR)が有効な場合、過度に複雑な処理を回避できる。したがって、プロセッサ、メモリ、および/またはネットワークリソースの使用量が、エンコーダとデコーダの両方で減少し得る。こうして、映像符号化におけるコーダ/デコーダ(コーデックとしても知られている)が、現コーデックと比較して改善される。現実問題としては、映像符号化プロセスの改善によって、ユーザには、映像を送出、受領、および/または視聴する場合に、より望ましいユーザ体験が提供される。
【0035】
明確にすることを目的に、前述の実施形態のうちのいずれか1つを他の前述の実施形態のうちのいずれか1つまたは複数と組み合わせて、本開示の範囲に含まれる新たな実施形態を作ってもよい。
【0036】
これらの特徴および他の特徴が、添付図面および特許請求の範囲と共に利用される下記の詳細な説明から、より明確に理解されるであろう。
【図面の簡単な説明】
【0037】
本開示のより十分な理解のために、ここで、添付図面および詳細な説明と共に利用される下記の簡潔な説明に言及する。ここで、同種の参照番号は同種の部分を表している。
【0038】
図1】映像信号を符号化する方法の一例に関するフローチャートである。
【0039】
図2】映像符号化のコーディング・デコーディング(コーデック)システムの一例に関する概略図である。
【0040】
図3】映像エンコーダの一例を示す概略図である。
【0041】
図4】映像デコーダの一例を示す概略図である。
【0042】
図5】リーディングピクチャとトレイリングピクチャとに対するイントラランダムアクセスポイント(IRAP)ピクチャの関係を、デコーディング順序および表示順序において示す符号化映像シーケンスである。
【0043】
図6】空間スケーラビリティの多層符号化に関する一例を示す。
【0044】
図7】単方向インター予測の一例を示す概略図である。
【0045】
図8】双方向インター予測の一例を示す概略図である。
【0046】
図9】映像ビットストリームを示している。
【0047】
図10】ピクチャの分割手法を示している。
【0048】
図11】符号化映像ビットストリームをデコードする方法の一実施形態である。
【0049】
図12】符号化映像ビットストリームをエンコードする方法の一実施形態である。
【0050】
図13】映像符号化デバイスの概略図である。
【0051】
図14】符号化の手段に関する一実施形態の概略図である。
【発明を実施するための形態】
【0052】
1つまたは複数の実施形態の例示的な実装態様が以下に提供されるが、開示されるシステムおよび/または方法は、任意の数の手法を、それが現在知られているか存在するかに関わらず用いて実装されてよいことを最初に理解されたい。本開示は、以下に示される例示的な実装態様、図面、および手法(本明細書に示され且つ説明される例示的な設計例および実装例を含む)に限定されるべきでは決してなく、添付した特許請求の範囲にその全範囲の均等物を併せた範囲内で修正されてよい。
【0053】
下記の用語は、本明細書で反対の文脈で用いられない限り、次のように定義される。具体的には、下記の定義は、本開示にさらなる明確さを提供することが意図されている。しかしながら、こうした用語は異なる文脈では異なるように説明されてもよい。したがって、下記の定義は補足とみなされるべきであり、本明細書ではそのような用語に提供される説明のあらゆる他の定義を限定するものとみなされるべきではない。
【0054】
ビットストリームとは、エンコーダとデコーダとの間で送信するために圧縮された映像データを含むビットのシーケンスである。エンコーダとは、エンコーディングプロセスを使用し、映像データを圧縮してビットストリームにするように構成されたデバイスである。デコーダとは、デコーディングプロセスを使用し、ビットストリームの映像データを表示のために再構築するように構成されたデバイスである。ピクチャとは、フレームもしくはそのフィールドを作るルーマサンプルの配列および/またはクロマサンプルの配列である。エンコード中またはデコード中のピクチャは、説明を明確にするために、現ピクチャと呼ばれてよい。
【0055】
参照ピクチャとは、インター予測および/または階層間予測に従って参照により他のピクチャを符号化する場合に用いられ得る参照サンプルを含んだピクチャである。参照ピクチャリストとは、インター予測および/または階層間予測に用いられる参照ピクチャのリストである。一部の映像符号化システムでは2つの参照ピクチャリストを利用し、これらのリストは参照ピクチャリスト1および参照ピクチャリスト0として表され得る。参照ピクチャリスト構造とは、複数の参照ピクチャリストを含むアドレス指定可能なシンタクス構造である。インター予測とは、現ピクチャと異なる参照ピクチャ内の示されたサンプルを参照することにより現ピクチャのサンプルを符号化する方式であり、参照ピクチャおよび現ピクチャは同じ階層にある。参照ピクチャリスト構造エントリとは、参照ピクチャリストと関連付けられた参照ピクチャを示す参照ピクチャリスト構造内のアドレス指定可能位置である。
【0056】
スライスヘッダとは、スライスで表されるタイル内の全映像データに関連するデータ要素を含む符号化スライスの一部である。ピクチャパラメータセット(PPS)とは、ピクチャ全体に関連しているデータを含むパラメータセットである。より具体的には、PPSは、ゼロまたはもっと多くの符号化ピクチャ全体に適用されるシンタクス要素を含んだシンタクス構造であり、各ピクチャヘッダに見られるシンタクス要素により決定される。シーケンスパラメータセット(SPS)とは、ピクチャのシーケンスに関連しているデータを含んだパラメータセットである。アクセスユニット(AU)とは、デコードピクチャバッファ(DPB)から出力するために(例えば、ユーザに表示するために)、同じ表示時間(例えば、同じピクチャ順序カウント)と関連付けられた1つまたは複数の符号化ピクチャのセットである。デコード映像シーケンスとは、ユーザへの表示に備えてデコーダにより再構築されたピクチャのシーケンスである。
【0057】
コンフォーマンスクロッピングウィンドウ(または、簡単にコンフォーマンスウインドウ)とは、符号化プロセスから出力される符号化映像シーケンスに含まれるピクチャのサンプルのウインドウを指す。ビットストリームは、コンフォーマンスウインドウクロッピングパラメータを提供して、符号化ピクチャの出力領域を示してよい。ピクチャ幅とは、ルーマサンプルで測定されるピクチャの幅である。ピクチャ高さとは、ルーマサンプルで測定されるピクチャの高さである。コンフォーマンスウインドウオフセット(例えば、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、conf_win_bottom_offset)では、出力用のピクチャ座標で規定される矩形領域によって、デコーディングプロセスから出力されるPPSを参照するピクチャのサンプルを規定する。
【0058】
デコーダ側動きベクトル微調整(DMVR)とは、予測されるブロックの動きまたは動きベクトルを微調整するのに用いられるプロセス、アルゴリズム、または符号化ツールである。DMVRによって、バイラテラルテンプレートマッチングプロセスを用いる双予測について見られる2つの動きベクトルに基づいて、動きベクトルを求めることが可能になる。DMVRでは、2つの動きベクトルのそれぞれを用いて生成される予測符号化ユニットの重み付き組み合わせを求めることができ、2つの動きベクトルは、組み合わされた予測符号化ユニットを最も良く指し示す新たな動きベクトルに置き換えることで微調整され得る。双方向オプティカルフロー(BDOF)とは、予測されるブロックの動きまたは動きベクトルを微調整するのに用いられるプロセス、アルゴリズム、または符号化ツールである。BDOFによって、2つの参照ピクチャ同士の差分の勾配に基づいて、サブ符号化ユニットの動きベクトルを求めることが可能になる。
【0059】
参照ピクチャリサンプリング(RPR)とは、符号化ピクチャの空間解像度をビットストリームの途中で変更する能力であり、解像度変更位置においてピクチャのイントラ符号化を必要としない。本明細書で用いる場合、解像度とは、映像ファイルに含まれる画素の数を表す。すなわち、解像度は映像の幅および高さであり、画素数で測定される。例えば、ある映像が1280(水平画素数)×720(垂直画素数)の解像度を有するかもしれない。これは通常、簡単に1280×720と記載されるか、または720pと略される。
【0060】
デコーダ側動きベクトル微調整(DMVR)とは、予測されるブロックの動きまたは動きベクトルを微調整するのに用いられるプロセス、アルゴリズム、または符号化ツールである。双方向オプティカルフロー(BDOF)は、双方向性オプティカルフロー(BIO)としても知られており、予測されるブロックの動きまたは動きベクトルを微調整するのに用いられるプロセス、アルゴリズム、または符号化ツールである。参照ピクチャリサンプリング(RPR)機能は、符号化ピクチャの空間解像度をビットストリームの途中で変更する能力であり、解像度変更位置においてピクチャのイントラ符号化を必要としない。
【0061】
本明細書では下記の頭字語を用いる。つまり、符号化ツリーブロック(CTB)、符号化ツリーユニット(CTU)、符号化ユニット(CU)、符号化映像シーケンス(CVS)、映像専門家合同チーム(JVET)、動き制約タイルセット(MCTS)、最大転送単位(MTU)、ネットワーク抽象化層(NAL)、ピクチャ順序カウント(POC)、ローバイトシーケンスペイロード(RBSP)、シーケンスパラメータセット(SPS)、多目的映像符号化(VVC)、およびワーキングドラフト(WD)である。
【0062】
図1は、映像信号の符号化に関する一例としての動作方法100のフローチャートである。具体的には、映像信号はエンコーダでエンコードされる。エンコーディングプロセスでは、様々な方式を使用して映像ファイルサイズを縮小することにより映像信号を圧縮する。ファイルサイズが小さくなると、圧縮された映像ファイルをユーザに送信すると共に、関連する帯域幅オーバヘッドを削減することが可能になる。デコーダは次に、圧縮映像ファイルをデコードして、エンドユーザに表示するために元の映像信号を再構築する。デコーディングプロセスは概して、エンコーディングプロセスとよく似ており、デコーダが映像信号を矛盾なく再構築することを可能にする。
【0063】
段階101では、映像信号がエンコーダに入力される。例えば、映像信号はメモリに格納された未圧縮映像ファイルでよい。別の例として、映像ファイルは、ビデオカメラなどの映像撮影デバイスで撮影され、映像のライブストリーミングをサポートするようにエンコードされてよい。映像ファイルは、音声成分および映像成分を両方とも含んでよい。映像成分には、シーケンスで見た場合に視覚的な動きの印象を与える一連の画像フレームが含まれている。こうしたフレームは、本明細書でルーマ成分(またはルーマサンプル)と呼ばれる明るさと、クロマ成分(またはカラーサンプル)と呼ばれる色とによって表現される画素を含む。いくつかの例では、フレームは3次元表示をサポートするために深度値も含んでよい。
【0064】
段階103では、映像が複数のブロックに分割される。分割する段階は、各フレーム内の画素を圧縮のために正方形ブロックおよび/または矩形ブロックに細分化する段階を含む。例えば、高効率映像符号化(HEVC)(H.265およびMPEG-H Part 2としても知られている)では、まずフレームを符号化ツリーユニット(CTU)に分割することができ、これは所定サイズのブロック(例えば、64画素×64画素)である。CTUには、ルーマサンプルおよびクロマサンプルの両方が含まれる。符号化ツリーは、CTUを複数のブロックに分割し、次に、さらなるエンコーディングをサポートする構成が得られるまで、これらのブロックを再帰的に細分化するのに使用されてよい。例えば、フレームのルーマ成分は、個々のブロックが比較的均質な照明値を含むまで細分化されてよい。さらに、フレームのクロマ成分は、個々のブロックが比較的均質な色値を含むまで細分化されてよい。したがって、分割方式は映像フレームの中身に応じて変わる。
【0065】
段階105では、様々な圧縮方式を使用して、段階103で分割された画像ブロックを圧縮する。例えば、インター予測および/またはイントラ予測を使用してもよい。インター予測は、共通シーンにある対象が連続するフレームに出現する傾向があるという事実を利用するように設計されている。したがって、ある対象を参照フレームに描写しているブロックが、隣接フレームに繰り返し描写される必要はない。具体的には、テーブルなどの対象が、複数のフレームにわたって定位置にとどまっていてよい。したがって、そのテーブルを一度描写すれば、隣接フレームは参照フレームに戻って参照することができる。複数のフレームにわたって対象をマッチングさせるのに、パターンマッチング方式を使用してもよい。さらに、移動対象が、例えば、対象の動きまたはカメラの動きによって複数のフレームにわたって描写されてよい。具体的な例として、ある映像が、複数のフレームにわたって画面を横断する自動車を示してよい。そのような動きを描写するのに、動きベクトルを使用することができる。動きベクトルは、フレーム内の対象の座標からのオフセットを参照フレーム内の対象の座標に提供する2次元ベクトルである。したがって、インター予測では、現フレーム内の画像ブロックを、参照フレーム内の対応するブロックからのオフセットを示す一連の動きベクトルとしてエンコードすることができる。
【0066】
イントラ予測では、共通フレーム内のブロックをエンコードする。イントラ予測は、あるフレームにルーマ成分およびクロマ成分が集まる傾向があるという事実を利用している。例えば、樹木の一部にある緑の部分が、緑の同様の部分に隣接して配置される傾向がある。イントラ予測は、複数の指向性予測モード(例えば、HEVCでは33個)、平面モード、および直流(DC)モードを使用する。指向性モードは、現ブロックが、対応する方向にある隣接ブロックのサンプルと同様/同じであることを示す。平面モードは、ある行/列(例えば、面)に沿った一連のブロックが、行の端部にある隣接ブロックに基づいて補間され得ることを示す。平面モードは、実際には、値の変化に比較的一定の勾配を使用することにより、行/列に沿って明るさ/色の滑らかな遷移を示す。DCモードは、境界平滑化に使用され、あるブロックが、指向性予測モードの角度方向と関連付けられた全ての隣接ブロックのサンプルと関連付けられた平均値と同様/同じであることを示す。したがって、イントラ予測ブロックは、実際の値の代わりに様々な関係のある予測モードの値として画像ブロックを表現することができる。さらに、インター予測ブロックは、実際の値の代わりに動きベクトルの値として画像ブロックを表現することができる。どちらの場合も、予測ブロックは画像ブロックを正確に表現しなくてよい場合もある。あらゆる差分が残差ブロックに格納される。この残差ブロックには、ファイルをさらに圧縮するために複数の変換が適用されてよい。
【0067】
段階107では、様々なフィルタリング手法が適用されてよい。HEVCでは、ループ内フィルタリング方式に従って複数のフィルタが適用される。上述したブロックベースの予測は、デコーダでブロックノイズのある画像を生み出すことがある。さらに、ブロックベースの予測方式は、ブロックをエンコードし、次いでエンコードされたブロックを参照ブロックとして後で使用するために再構築してよい。ループ内フィルタリング方式では、ノイズ抑制フィルタ、デブロッキングフィルタ、適応型ループフィルタ、およびサンプル適応型オフセット(SAO)フィルタをブロック/フレームに繰り返し適用する。これらのフィルタは、そのようなブロッキングアーチファクトを減らすので、エンコードされたファイルを正確に再構築することができる。さらに、これらのフィルタは、再構築された参照ブロックのアーチファクトを減らすので、再構築された参照ブロックに基づいてエンコードされる後続ブロックで、アーチファクトがさらなるアーチファクトを生み出す可能性は低い。
【0068】
映像信号が分割され、圧縮され、フィルタリングされると、得られるデータは段階109でビットストリームにエンコードされる。ビットストリームには、上述したデータの他に、デコーダでの適切な映像信号再構築をサポートするのに望ましいあらゆるシグナリングデータが含まれる。例えば、そのようなデータは、分割データ、予測データ、残差ブロック、および符号化命令をデコーダに与える様々なフラグを含んでよい。ビットストリームは、要求に応じてデコーダに送信するためにメモリに格納されてよい。ビットストリームは、複数のデコーダにブロードキャストされても、且つ/またはマルチキャストされてもよい。ビットストリームの作成は反復プロセスである。したがって、段階101、103、105、107、および109が、多数のフレームおよびブロックに対して連続的に且つ/または同時に行われてよい。図1に示す順序は、説明を明確にするために且つ説明しやすいように提示されているが、映像符号化プロセスを特定の順序に限定することは意図されていない。
【0069】
デコーダはビットストリームを受信し、段階111でデコーディングプロセスを始める。具体的には、デコーダはエントロピーデコーディング方式を使用して、ビットストリームを対応するシンタクスおよび映像データに変換する。デコーダは、ビットストリームからのシンタクスデータを使用して、段階111でフレームの分割部を決定する。この分割は、段階103でのブロック分割の結果と一致するはずである。ここで、段階111で使用されるエントロピーエンコーディング/デコーディングを説明する。エンコーダは、圧縮プロセスの間に、入力画像に含まれる値の空間配置に基づいて、いくつかの可能な選択肢からブロック分割方式を選択するといった多数の選択を行う。的確な選択をシグナリングするには、多数のビンを使用してよい。本明細書で用いる場合、ビンは変数(例えば、状況に応じて変わり得るビット値)として扱われる2進値である。エントロピー符号化によって、エンコーダは特定の事例に対して明らかに実行可能ではないあらゆるオプションを破棄して、許容できるオプションのセットを残すことが可能になる。許容できるオプションのそれぞれは次に、符号語に割り当てられる。符号語の長さは、許容できるオプションの数に基づいている(例えば、1つのビンには2つのオプション、2つのビンには3~4つのオプションなど)。エンコーダは次に、選択されたオプションの符号語をエンコードする。この方式で符号語のサイズが縮小される。符号語が、全ての可能なオプションの潜在的に大きいセットからの選択を一意に示すのとは反対に、許容できるオプションの小さいサブセットからの選択を一意に示すのに望ましいほどの大きさだからである。デコーダは次に、エンコーダと同様の方式で、許容できるオプションのセットを決定することにより選択をデコードする。許容できるオプションのセットを決定することにより、デコーダは符号語を読み出し、エンコーダによって行われた選択を判定することができる。
【0070】
段階113では、デコーダがブロックデコーディングを行う。具体的には、デコーダは逆変換を使用して、残差ブロックを生成する。次にデコーダは、残差ブロックおよび対応する予測ブロックを使用し、分割に従って画像ブロックを再構築する。予測ブロックは、段階105においてエンコーダで生成されたイントラ予測ブロックおよびインター予測ブロックを両方とも含んでよい。再構築された画像ブロックは次に、段階111で決定された分割データに従って、再構築された映像信号のフレームに配置される。段階113のシンタクスは、上述したエントロピー符号化を介してビットストリームでシグナリングされてもよい。
【0071】
段階115では、再構築された映像信号のフレームに対して、エンコーダでの段階107と同様の方式でフィルタリングが行われる。例えば、ノイズ抑制フィルタ、デブロッキングフィルタ、適応型ループフィルタ、およびSAOフィルタをフレームに適用して、ブロッキングアーチファクトを除去してよい。フレームをフィルタリングすると、映像信号は、エンドユーザによる視聴のために、段階117でディスプレイに出力され得る。
【0072】
図2は、映像符号化のコーディング・デコーディング(コーデック)システム200の一例に関する概略図である。具体的には、コーデックシステム200は動作方法100の実装例をサポートする機能を提供する。コーデックシステム200は、エンコーダおよびデコーダの両方に使用されるコンポーネントを示すように一般化されている。コーデックシステム200は、動作方法100の段階101および103に関して説明したように、映像信号を受信して分割する。これにより、分割映像信号201が得られる。コーデックシステム200は次に、方法100の段階105、107、および109に関して説明したようにエンコーダとして働く場合、分割映像信号201を圧縮して符号化ビットストリームにする。コーデックシステム200は、デコーダとして働く場合、動作方法100の段階111、113、115、および117に関して説明したように、ビットストリームから出力映像信号を生成する。コーデックシステム200には、総合符号化器制御コンポーネント211、変換スケーリングおよび量子化コンポーネント213、イントラピクチャ推定コンポーネント215、イントラピクチャ予測コンポーネント217、動き補償コンポーネント219、動き推定コンポーネント221、スケーリングおよび逆変換コンポーネント229、フィルタ制御解析コンポーネント227、ループ内フィルタコンポーネント225、デコードピクチャバッファコンポーネント223、並びにヘッダフォーマットおよびコンテキスト適応型2値算術符号化(CABAC)コンポーネント231が含まれる。そのようなコンポーネントは、図示したように結合される。図2では、黒線でエンコード/デコードされるデータの動きを示しており、破線で他のコンポーネントの動作を制御する制御データの動きを示している。コーデックシステム200の各コンポーネントは全て、エンコーダに存在してよい。デコーダには、コーデックシステム200のコンポーネントのサブセットが含まれてよい。例えば、デコーダには、イントラピクチャ予測コンポーネント217、動き補償コンポーネント219、スケーリングおよび逆変換コンポーネント229、ループ内フィルタコンポーネント225、並びにデコードピクチャバッファコンポーネント223が含まれてよい。これらのコンポーネントを、ここで説明する。
【0073】
分割映像信号201は、撮影された映像シーケンスであり、符号化ツリーにより画素のブロックに分割されている。符号化ツリーでは、様々な分離モードを使用して、画素のブロックをより小さい画素のブロックに細分化する。これらのブロックは次に、より小さいブロックにさらに細分化され得る。こうしたブロックは、符号化ツリー上のノードと呼ばれることがある。大きい親ノードが、小さい子ノードに分離される。ノードが細分化される回数が、ノード/符号化ツリーの深度と呼ばれる。分割ブロックが、符号化ユニット(CU)に含まれ得る場合もある。例えば、CUは、CU用の対応するシンタクス命令と共に、ルーマブロック、赤色差(Cr)ブロック、および青色差(Cb)ブロックを含むCTUのサブ部分であってよい。分離モードには、ノードを2つ、3つ、または4つの子ノードにそれぞれ分割するのに使用されるバイナリツリー(BT)、トリプルツリー(TT)、およびクアッドツリー(QT)が含まれてよく、使用される分離モードに応じて形状が変わる。分割映像信号201は、圧縮のために、総合符号化器制御コンポーネント211、変換スケーリングおよび量子化コンポーネント213、イントラピクチャ推定コンポーネント215、フィルタ制御解析コンポーネント227、並びに動き推定コンポーネント221に転送される。
【0074】
総合符号化器制御コンポーネント211は、映像シーケンスの画像のビットストリームへの符号化に関連した決定をアプリケーションの制約に従って行うように構成される。例えば、総合符号化器制御コンポーネント211は、ビットレート/ビットストリームサイズ対再構築品質の最適化を管理する。そのような決定は、記憶空間/帯域幅の可用性と画像解像度要求とに基づいて行われてよい。総合符号化器制御コンポーネント211は、送信速度を考慮してバッファ利用率も管理し、バッファアンダーランおよびバッファオーバーランの問題を減らす。こうした問題を管理するために、総合符号化器制御コンポーネント211は、他のコンポーネントによる分割、予測、およびフィルタリングを管理する。例えば、総合符号化器制御コンポーネント211は、圧縮の複雑さを動的に増やして解像度を上げ且つ帯域幅利用率を上げても、圧縮の複雑さを減らして解像度および帯域幅利用率を下げてもよい。したがって、総合符号化器制御コンポーネント211は、コーデックシステム200の他のコンポーネントを制御して、映像信号再構築の品質とビットレート問題とのバランスをとる。総合符号化器制御コンポーネント211は、制御データを作り、これによって他のコンポーネントの動作を制御する。制御データは、ヘッダフォーマットおよびCABACコンポーネント231にも転送されて、デコーダでのデコーディングのためにパラメータをシグナリングするビットストリームにエンコードされる。
【0075】
分割映像信号201は、インター予測のために動き推定コンポーネント221および動き補償コンポーネント219にも送出される。分割映像信号201のフレームまたはスライスが、複数の映像ブロックに分割されてよい。動き推定コンポーネント221および動き補償コンポーネント219は、受領した映像ブロックの、1つまたは複数の参照フレーム内の1つまたは複数のブロックと比較したインター予測符号化を行い、時間予測を提供する。コーデックシステム200は、例えば、映像データのブロックごとに適切な符号化モードを選択するために、複数の符号化パスを実行してよい。
【0076】
動き推定コンポーネント221および動き補償コンポーネント219は、高度に統合されてもよいが、概念的な目的のために別々に示されている。動き推定コンポーネント221により行われる動き推定とは、動きベクトルを生成するプロセスであり、動きベクトルで映像ブロックの動きを推定する。例えば、動きベクトルは、符号化された対象の変位を予測ブロックと比較して示すことができる。予測ブロックとは、画素差分の点から、符号化されるブロックと非常にマッチングしていることが分かるブロックである。予測ブロックは、参照ブロックとも呼ばれることがある。そのような画素差分は、差分絶対値和(SAD)、差分二乗和(SSD)、または他の差分指標によって決定されてよい。HEVCでは、CTU、符号化ツリーブロック(CTB)、およびCUを含むいくつかの符号化された対象を使用する。例えば、CTUは複数のCTBに分割されてよく、CTBは次に、CUに含めるために複数のCBに分割されてよい。CUは、予測データを含む予測ユニット(PU)および/またはCU用の変換された残差データを含む変換ユニット(TU)として、エンコードされてよい。動き推定コンポーネント221は、レート歪み最適化プロセスの一部としてレート歪み解析を用いることにより、動きベクトル、PU、およびTUを生成する。例えば、動き推定コンポーネント221は、現ブロック/フレーム用の複数の参照ブロック、複数の動きベクトルなどを決定してよく、また最適なレート歪み特性を有する参照ブロック、動きベクトルなどを選択してよい。最適なレート歪み特性は、映像再構築の品質(例えば、圧縮によるデータ損失量)と符号化効率(例えば、最終エンコーディングのサイズ)とを両立させる。
【0077】
いくつかの例では、コーデックシステム200はデコードピクチャバッファコンポーネント223に格納された参照ピクチャのサブ整数画素位置の値を計算してよい。例えば、映像コーデックシステム200は、参照ピクチャの1/4画素位置、1/8画素位置、または他の分数画素位置の値を補間してよい。したがって、動き推定コンポーネント221は、完全画素位置および分数画素位置に対して動き探索を行い、分数画素精度の動きベクトルを出力してよい。動き推定コンポーネント221は、PUの位置と参照ピクチャの予測ブロックの位置とを比較することにより、インター符号化スライス内の映像ブロックのPUに対する動きベクトルを計算する。動き推定コンポーネント221は、計算した動きベクトルを動きデータとしてヘッダフォーマットおよびCABACコンポーネント231にエンコーディングのために出力し、また動きを動き補償コンポーネント219に出力する。
【0078】
動き補償は、動き補償コンポーネント219により行われ、動き推定コンポーネント221により決定された動きベクトルに基づいた予測ブロックのフェッチまたは生成を伴うことがある。ここでも、いくつかの例では、動き推定コンポーネント221および動き補償コンポーネント219は、機能的に統合されてよい。動き補償コンポーネント219は、現映像ブロックのPUの動きベクトルを受領すると、動きベクトルが指し示す予測ブロックの位置を特定してよい。次に、予測ブロックの画素値を符号化中の現映像ブロックの画素値から差し引くことにより、残差映像ブロックが形成され、画素差分値が形成される。一般に、動き推定コンポーネント221はルーマ成分に対して動き推定を行い、動き補償コンポーネント219は、ルーマ成分に基づいて計算された動きベクトルをクロマ成分およびルーマ成分の両方に用いる。予測ブロックおよび残差ブロックは、変換スケーリングおよび量子化コンポーネント213に転送される。
【0079】
分割映像信号201は、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217にも送出される。動き推定コンポーネント221および動き補償コンポーネント219と同様に、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は高度に統合されてよいが、概念的な目的のために別々に示されている。イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は、上述したように、動き推定コンポーネント221および動き補償コンポーネント219により行われるフレーム間のインター予測の代替手段として、現フレーム内の各ブロックに対して現ブロックのイントラ予測を行う。具体的には、イントラピクチャ推定コンポーネント215は、現ブロックをエンコードするのに用いるイントラ予測モードを決定する。いくつかの例では、イントラピクチャ推定コンポーネント215は、テストされる複数のイントラ予測モードから、現ブロックをエンコードするのに適切なイントラ予測モードを選択する。選択されたイントラ予測モードは次に、エンコーディングのためにヘッダフォーマットおよびCABACコンポーネント231に転送される。
【0080】
例えば、イントラピクチャ推定コンポーネント215は、テストされる様々なイントラ予測モードにレート歪み解析を用いてレート歪み値を計算し、テストしたモードの中で最適なレート歪み特性を有するイントラ予測モードを選択する。レート歪み解析は一般に、エンコードブロックと、エンコードブロックを作り出すためにエンコードされた元の未エンコードブロックとの間の歪み(または誤差)の量、およびエンコードブロックを作り出すのに用いられるビットレート(例えば、多数のビット)を判定する。イントラピクチャ推定コンポーネント215は、様々なエンコードブロックの歪みおよびレートから比率を計算して、どのイントラ予測モードが各ブロックに対して最適なレート歪み値を示すかを判定する。さらに、イントラピクチャ推定コンポーネント215は、レート歪み最適化(RDO)に基づく深度モデリングモード(DMM)を用いて深度マップの深度ブロックを符号化するように構成されてよい。
【0081】
イントラピクチャ予測コンポーネント217は、エンコーダで実施される場合には、イントラピクチャ推定コンポーネント215が決定する選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成してよく、あるいはデコーダで実施される場合には、ビットストリームから残差ブロックを読み出してよい。残差ブロックは、予測ブロックと元のブロックとの間の値の差分を含み、行列として表される。残差ブロックは次に、変換スケーリングおよび量子化コンポーネント213に転送される。イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は、ルーマ成分およびクロマ成分の両方を処理してよい。
【0082】
変換スケーリングおよび量子化コンポーネント213は、残差ブロックをさらに圧縮するように構成される。変換スケーリングおよび量子化コンポーネント213は、離散余弦変換(DCT)、離散正弦変換(DST)、または概念的に類似した変換といった変換を残差ブロックに適用して、残差変換係数値を含んだ映像ブロックを作り出す。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も用いられる可能性がある。この変換によって、残差情報は画素値領域から、周波数領域などの変換領域に変換されてよい。変換スケーリングおよび量子化コンポーネント213は、変換された残差情報を、例えば周波数に基づいてスケーリングするようにも構成される。そのようなスケーリングは、残差情報にスケールファクタを適用することを伴い、これにより、異なる周波数情報が異なる粒度で量子化され、その結果、再構築された映像の最終的な表示品質に影響を与えることがある。変換スケーリングおよび量子化コンポーネント213は、変換係数を量子化してビットレートをさらに下げるようにも構成される。量子化プロセスによって、係数の一部または全部と関連付けられたビット深度が減少し得る。量子化の程度は、量子化パラメータを調整することにより修正されてよい。いくつかの例において、変換スケーリングおよび量子化コンポーネント213は次に、量子化された変換係数を含んだ行列のスキャンを行ってよい。量子化された変換係数は、ヘッダフォーマットおよびCABACコンポーネント231に転送されて、ビットストリームにエンコードされる。
【0083】
スケーリングおよび逆変換コンポーネント229は、変換スケーリングおよび量子化コンポーネント213の逆動作を適用して、動き推定をサポートする。スケーリングおよび逆変換コンポーネント229は、逆スケーリング、変換、および/または量子化を適用して、例えば、別の現ブロック用の予測ブロックになり得る参照ブロックとして後で使用するために、画素領域内の残差ブロックを再構築する。動き推定コンポーネント221および/または動き補償コンポーネント219は、後のブロック/フレームの動き推定に用いるために、残差ブロックを対応する予測ブロックに加えることで参照ブロックを計算してよい。再構築された参照ブロックにはフィルタが適用されて、スケーリング、量子化、および変換の際に生み出されたアーチファクトを減らす。そうしなければ、そのようなアーチファクトは、後続ブロックを予測するときに、誤った予測を引き起こす(且つさらなるアーチファクトを生み出す)可能性がある。
【0084】
フィルタ制御解析コンポーネント227およびループ内フィルタコンポーネント225は、残差ブロックおよび/または再構築された画像ブロックにフィルタを適用する。例えば、スケーリングおよび逆変換コンポーネント229からの変換された残差ブロックを、イントラピクチャ予測コンポーネント217および/または動き補償コンポーネント219からの対応する予測ブロックと組み合わせて、元の画像ブロックを再構築してよい。次に、再構築された画像ブロックにフィルタが適用されてよい。いくつかの例では、そうではなく、残差ブロックにフィルタが適用されてもよい。図2の他のコンポーネントと同様に、フィルタ制御解析コンポーネント227およびループ内フィルタコンポーネント225は高度に統合され、一緒に実装されてよいが、概念的な目的のために別々に示されている。再構築された参照ブロックに適用されるフィルタは、特定の空間領域に適用され、そのようなフィルタをどう適用するかを調整するための複数のパラメータを含む。フィルタ制御解析コンポーネント227は、再構築された参照ブロックを解析して、そのようなフィルタをどこに適用すべきかを決定し、対応するパラメータを設定する。そのようなデータは、エンコーディング用のフィルタ制御データとして、ヘッダフォーマットおよびCABACコンポーネント231に転送される。ループ内フィルタコンポーネント225は、そのようなフィルタをフィルタ制御データに基づいて適用する。フィルタには、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、および適応型ループフィルタが含まれてよい。そのようなフィルタは、事例に応じて、空間/画素領域で(例えば、再構築された画素ブロックに)または周波数領域で適用されてよい。
【0085】
エンコーダとして動作する場合、フィルタリング済みの再構築画像ブロック、残差ブロック、および/または予測ブロックは、上述した動き推定に後で使用するために、デコードピクチャバッファコンポーネント223に格納される。デコーダとして動作する場合、デコードピクチャバッファコンポーネント223は、再構築され且つフィルタリングされたブロックを格納し、これを出力映像信号の一部としてディスプレイに転送する。デコードピクチャバッファコンポーネント223は、予測ブロック、残差ブロック、および/または再構築された画像ブロックを格納できる任意のメモリデバイスでよい。
【0086】
ヘッダフォーマットおよびCABACコンポーネント231は、コーデックシステム200の様々なコンポーネントからデータを受信し、そのようなデータをエンコードして、デコーダに送信するために符号化ビットストリームにする。具体的には、ヘッダフォーマットおよびCABACコンポーネント231は、様々なヘッダを生成し、総合制御データおよびフィルタ制御データなどの制御データをエンコードする。さらに、イントラ予測および動きデータを含む予測データ、並びに量子化された変換係数データの形式の残差データが、全てビットストリームにエンコードされる。最終的なビットストリームは、デコーダが元の分割映像信号201を再構築するのに望ましい全ての情報を含む。そのような情報は、イントラ予測モードのインデックステーブル(符号語マッピングテーブルとも呼ばれる)、様々なブロックのエンコーディングコンテキストの定義、最も可能性の高いイントラピクチャモードのインジケーション、分割情報のインジケーションなども含んでよい。そのようなデータは、エントロピー符号化を使用することでエンコードされてよい。例えば、こうした情報は、コンテキスト適応型可変長符号化(CAVLC)、CABAC、シンタクスベースのコンテキスト適応型2値算術符号化(SBAC)、確率間隔分割エントロピー(PIPE)符号化、または別のエントロピー符号化手法を使用することによりエンコードされてよい。エントロピー符号化の後に、符号化ビットストリームは別のデバイス(例えば、映像デコーダ)に送信されても、または後で送信するもしくは検索するためにアーカイブされてもよい。
【0087】
図3は、映像エンコーダ300の一例を示すブロック図である。映像エンコーダ300は、コーデックシステム200のエンコーディング機能を実装する、且つ/または動作方法100の段階101、103、105、107、および/もしくは109を実施するのに使用されてよい。エンコーダ300は、入力映像信号を分割し、分割映像信号301を得る。これは、分割映像信号201と実質的に同様である。分割映像信号301は次に、エンコーダ300のコンポーネントによって圧縮され、ビットストリームにエンコードされる。
【0088】
具体的には、分割映像信号301は、イントラ予測のためにイントラピクチャ予測コンポーネント317に転送される。イントラピクチャ予測コンポーネント317は、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217と実質的に同様であってよい。分割映像信号301は、デコードピクチャバッファコンポーネント323に含まれる参照ブロックに基づくインター予測のために、動き補償コンポーネント321にも転送される。動き補償コンポーネント321は、動き推定コンポーネント221および動き補償コンポーネント219と実質的に同様であってよい。イントラピクチャ予測コンポーネント317および動き補償コンポーネント321からの予測ブロックおよび残差ブロックは、残差ブロックの変換および量子化のために変換および量子化コンポーネント313に転送される。変換および量子化コンポーネント313は、変換スケーリングおよび量子化コンポーネント213と実質的に同様であってよい。変換され且つ量子化された残差ブロック、および対応する予測ブロックは(関連する制御データと共に)、符号化してビットストリームにするために、エントロピー符号化コンポーネント331に転送される。エントロピー符号化コンポーネント331は、ヘッダフォーマットおよびCABACコンポーネント231と実質的に同様であってよい。
【0089】
変換され且つ量子化された残差ブロック、および/または対応する予測ブロックは、動き補償コンポーネント321が用いるための参照ブロックに再構築するために、変換および量子化コンポーネント313から逆変換および量子化コンポーネント329にも転送される。逆変換および量子化コンポーネント329は、スケーリングおよび逆変換コンポーネント229と実質的に同様であってよい。ループ内フィルタコンポーネント325に含まれるループ内フィルタも、事例に応じて、残差ブロックおよび/または再構築された参照ブロックに適用される。ループ内フィルタコンポーネント325は、フィルタ制御解析コンポーネント227およびループ内フィルタコンポーネント225と実質的に同様であってよい。ループ内フィルタコンポーネント325は、ループ内フィルタコンポーネント225に関して説明したような複数のフィルタを含んでよい。フィルタリングされたブロックは次に、動き補償コンポーネント321が参照ブロックとして用いるために、デコードピクチャバッファコンポーネント323に格納される。デコードピクチャバッファコンポーネント323は、デコードピクチャバッファコンポーネント223と実質的に同様であってよい。
【0090】
図4は、映像デコーダ400の一例を示すブロック図である。映像デコーダ400は、コーデックシステム200のデコーディング機能を実装する、且つ/または動作方法100の段階111、113、115、および/もしくは117を実施するのに使用されてよい。デコーダ400は、例えばエンコーダ300からビットストリームを受信し、このビットストリームに基づいて、エンドユーザに表示するために、再構築された出力映像信号を生成する。
【0091】
ビットストリームは、エントロピーデコーディングコンポーネント433により受領される。エントロピーデコーディングコンポーネント433は、CAVLC、CABAC、SBAC、PIPE符号化、または他のエントロピー符号化手法などのエントロピーデコーディング方式を実装するように構成される。例えば、エントロピーデコーディングコンポーネント433は、ヘッダ情報を使用してコンテキストを提供し、ビットストリーム内の符号語としてエンコードされた追加のデータを解釈してよい。デコードされた情報は、総合制御データ、フィルタ制御データ、分割情報、動きデータ、予測データ、および残差ブロックからの量子化された変換係数といった、映像信号をデコードするためのあらゆる望ましい情報を含む。量子化された変換係数は、残差ブロックに再構築するために、逆変換および量子化コンポーネント429に転送される。逆変換および量子化コンポーネント429は、逆変換および量子化コンポーネント329と同様であってよい。
【0092】
再構築された残差ブロックおよび/または予測ブロックは、イントラ予測オペレーションに基づいて画像ブロックに再構築するために、イントラピクチャ予測コンポーネント417に転送される。イントラピクチャ予測コンポーネント417は、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217と同様であってよい。具体的には、イントラピクチャ予測コンポーネント417は予測モードを使用して、フレーム内の参照ブロックの位置を特定し、その結果に残差ブロックを適用してイントラ予測された画像ブロックを再構築する。再構築され且つイントラ予測された画像ブロックおよび/または残差ブロック、並びに対応するインター予測データは、ループ内フィルタコンポーネント425を介してデコードピクチャバッファコンポーネント423に転送される。これらのコンポーネントはそれぞれ、ループ内フィルタコンポーネント225およびデコードピクチャバッファコンポーネント223と実質的に同様であってよい。ループ内フィルタコンポーネント425は、再構築された画像ブロック、残差ブロック、および/または予測ブロックをフィルタリングし、そのような情報はデコードピクチャバッファコンポーネント423に格納される。デコードピクチャバッファコンポーネント423からの再構築された画像ブロックは、インター予測のために動き補償コンポーネント421に転送される。動き補償コンポーネント421は、動き推定コンポーネント221および/または動き補償コンポーネント219と実質的に同様であってよい。具体的には、動き補償コンポーネント421は、参照ブロックからの動きベクトルを使用して予測ブロックを生成し、その結果に残差ブロックを適用して画像ブロックを再構築する。結果として得られる再構築されたブロックは、ループ内フィルタコンポーネント425を介してデコードピクチャバッファコンポーネント423にも転送されてよい。デコードピクチャバッファコンポーネント423は、さらなる再構築された画像ブロックを継続して格納し、こうした画像ブロックは分割情報によってフレームに再構築され得る。そのようなフレームは、シーケンスに配置されてもよい。このシーケンスは、再構築された出力映像信号としてディスプレイに出力される。
【0093】
以上を踏まえると、こうした映像圧縮手法は、空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を行って、映像シーケンスに固有の冗長性を減らすまたは除去する。ブロックベースの映像符号化では、映像スライス(すなわち、映像ピクチャまたは映像ピクチャの一部)が複数の映像ブロックに分割されてよく、この映像ブロックは、ツリーブロック、符号化ツリーブロック(CTB)、符号化ツリーユニット(CTU)、符号化ユニット(CU)、および/または符号化ノードとも呼ばれることがある。あるピクチャのイントラ符号化された(I)スライス内の映像ブロックが、同じピクチャ内の隣接ブロックに含まれる参照サンプルに関する空間予測を用いてエンコードされる。あるピクチャのインター符号化された(PまたはB)スライスに含まれる映像ブロックが、同じピクチャ内の隣接ブロックに含まれる参照サンプルに関する空間予測、または他の参照ピクチャに含まれる参照サンプルに関する時間予測を用いてよい。これらのピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【0094】
空間予測または時間予測が、符号化されるブロックに対する予測ブロックをもたらす。残差データは、符号化される元のブロックと予測ブロックとの画素差分を表している。インター符号化ブロックが、予測ブロックを形成する参照サンプルのブロックを指し示す動きベクトル、および符号化ブロックと予測ブロックとの差分を示す残差データに従ってエンコードされる。イントラ符号化ブロックが、イントラ符号化モードおよび残差データに従ってエンコードされる。さらなる圧縮のために、残差データを画素領域から変換領域に変換して残差変換係数を得ることができる。次に、残差変換係数は量子化されてよい。量子化された変換係数は、最初は2次元配列に配置されており、変換係数の1次元ベクトルを作り出すためにスキャンされてよく、さらなる圧縮を実現するためにエントロピー符号化が適用されてよい。
【0095】
画像および映像の圧縮は急成長を遂げており、様々な符号化規格がもたらされている。そのような映像符号化規格には、ITU-TのH.261、国際標準化機構/国際電気標準会議(ISO/IEC)のMPEG-1 Part 2、ITU-TのH.262またはISO/IECのMPEG-2 Part 2、ITU-TのH.263、ISO/IECのMPEG-4 Part 2、次世代映像符号化(AVC)(ITU-TのH.264またはISO/IECのMPEG-4 Part 10としても知られている)、および高効率映像符号化(HEVC)(ITU-TのH.265またはMPEG-H Part 2としても知られている)が含まれる。AVCには、スケーラブル映像符号化(SVC)、多視点映像符号化(MVC)および多視点映像符号化+深度(MVC+D)、並びに3D AVC(3D-AVC)などの拡張規格が含まれる。HEVCには、スケーラブルHEVC(SHVC)、多視点HEVC(MV-HEVC)、および3D HEVC(3D-HEVC)などの拡張規格が含まれる。
【0096】
多目的映像符号化(VVC)という名前の新たな映像符号化規格もあり、これは、ITU-TおよびISO/IECの映像専門家合同チーム(JVET)によって開発中である。VVC規格にはいくつかのワーキングドラフトがあるが、具体的には、VVCに関する1つのワーキングドラフト(WD)、すなわち、B.Bross、J.Chen、およびS.Liuによる「Versatile Video Coding (Draft 5)」JVET-N1001-v3(第13回JVET会合、2019年3月27日)(VVC Draft 5)が本明細書において参照される。この段落および先行段落に含まれる参考文献のそれぞれは、その全体が参照により組み込まれている。
【0097】
本明細書に開示される各手法の説明は、ITU-TおよびISO/IECの映像専門家合同チーム(JVET)によって開発中の映像符号化規格である多目的映像符号化(VVC)に基づいている。しかしながら、これらの手法は他の映像コーデック仕様にも適用される。
【0098】
図5は、デコーディング順序508および表示順序510における、リーディングピクチャ504とトレイリングピクチャ506とに対するイントラランダムアクセスポイント(IRAP)ピクチャ502の関係に関する表現500である。一実施形態において、IRAPピクチャ502は、クリーンランダムアクセス(CRA)ピクチャ、またはランダムアクセスデコード可能(RADL)ピクチャを伴う即時デコーダリフレッシュ(IDR)ピクチャと呼ばれる。HEVCでは、IDRピクチャ、CRAピクチャ、およびリンク切れアクセス(BLA)ピクチャが全て、IRAPピクチャ502とみなされる。VVCについては、2018年10月の第12回JVET会合において、IDRピクチャおよびCRAピクチャを両方ともIRAPピクチャとして有することが合意された。一実施形態では、リンク切れアクセス(BLA)ピクチャおよび漸次デコーダリフレッシュ(GDR)ピクチャも、IRAPピクチャとみなされてよい。符号化映像シーケンスのデコーディングプロセスは、必ずIRAPで始まる。
【0099】
図5に示すように、リーディングピクチャ504(例えば、ピクチャ2および3)は、デコーディング順序508ではIRAPピクチャ502の後に来るが、表示順序510ではIRAPピクチャ502の先に来る。トレイリングピクチャ506は、デコーディング順序508でも表示順序510でも両方とも、IRAPピクチャ502の後に来る。2つのリーディングピクチャ504および1つのトレイリングピクチャ506が図5に示されているが、実際に適用する場合には、もっと多いまたは少ないリーディングピクチャ504および/またはトレイリングピクチャ506がデコーディング順序508および表示順序510に存在してよいことを、当業者は理解するであろう。
【0100】
図5のリーディングピクチャ504は、2つのタイプ、すなわち、ランダムアクセススキップリーディング(RASL)およびRADLに分割されている。デコーディングがIRAPピクチャ502(例えば、ピクチャ1)で始まる場合、RADLピクチャ(例えば、ピクチャ3)を適切にデコードすることができる。しかしながら、RASLピクチャ(例えば、ピクチャ2)を適切にデコードすることはできない。したがって、RASLピクチャは破棄される。RADLピクチャとRASLピクチャとの違いを考慮して、IRAPピクチャ502と関連付けられるリーディングピクチャ504のタイプは、効率的且つ適切な符号化のために、RADLまたはRASLのいずれかに特定されなければならない。HEVCでは、RASLピクチャおよびRADLピクチャが存在する場合、同じIRAPピクチャ502と関連付けられたRASLピクチャおよびRADLピクチャについては、RASLピクチャが表示順序510においてRADLピクチャの先に来なければならないということが制約されている。
【0101】
IRAPピクチャ502は、以下に挙げる2つの重要な機能/利点を提供する。第一に、IRAPピクチャ502の存在は、当該ピクチャからデコーディングプロセスが開始できることを示している。この機能により、IRAPピクチャ502が当該位置に存在する限り、デコーディングプロセスはビットストリームの当該位置で開始され、必ずしもビットストリームの初めの部分ではないというランダムアクセス機能が可能になる。第二に、IRAPピクチャ502の存在で、デコーディングプロセスがリフレッシュされ、IRAPピクチャ502で始まる符号化ピクチャ(RASLピクチャを除く)が前のピクチャを全く参照することなく符号化されるようになる。したがって、IRAPピクチャ502がビットストリームに存在することで、IRAPピクチャ502の前にある符号化ピクチャをデコードする際に発生し得るあらゆる誤差が、IRAPピクチャ502およびデコーディング順序508でIRAPピクチャ502の後に来るピクチャに伝搬するのを阻止することになる。
【0102】
IRAPピクチャ502は重要な機能を提供するが、これは圧縮効率に対する代償を伴う。IRAPピクチャ502の存在は、ビットレートの急増を引き起こす。圧縮効率に対するこの代償は、2つの理由によるものである。第一に、IRAPピクチャ502がイントラ予測ピクチャのため、このピクチャ自体は、インター予測ピクチャである他のピクチャ(例えば、リーディングピクチャ504、トレイリングピクチャ506)と比較すると、表現するのに比較的多くのビットを必要とすることになる。第二に、IRAPピクチャ502の存在が時間予測を中断するため(これは、デコーダがデコーディングプロセスをリフレッシュし、このためにデコーディングプロセスの処置のうちの1つが、デコードピクチャバッファ(DPB)にある前の参照ピクチャを除去するためである)、IRAPピクチャ502は、デコーディング順序508でIRAPピクチャ502の後に来るピクチャの符号化効率を低下させる(すなわち、表現するのにより多くのビットを必要とする)。こうしたピクチャには、インター予測符号化用の参照ピクチャがないためである。
【0103】
IRAPピクチャ502とみなされるピクチャタイプの中で、HEVCのIDRピクチャは、他のピクチャタイプと比較すると、シグナリングおよび導出が異なる。その違いのいくつかは、次の通りである。
【0104】
IDRピクチャのピクチャ順序カウント(POC)値のシグナリングおよび導出については、POCの最上位ビット(MSB)部分が前の重要なピクチャから導出されるのではなく、単に0と等しくなるように設定される。
【0105】
参照ピクチャ管理に必要なシグナリング情報については、IDRピクチャのスライスヘッダは、参照ピクチャ管理を支援するようにシグナリングする必要がある情報を含まない。他のピクチャタイプ(すなわち、CRA、トレイリング、時間サブレイヤアクセス(TSA)など)については、後述される参照ピクチャセット(RPS)または他の形態の類似情報(例えば、参照ピクチャリスト)などの情報が、参照ピクチャマーキングプロセス(すなわち、デコードピクチャバッファ(DPB)に含まれる参照ピクチャの状況、つまり、参照に用いられるかまたは参照に用いられないかを判定するプロセス)に必要とされる。しかしながら、IDRピクチャについては、そのような情報をシグナリングする必要はない。IDRが存在することで、DPBに含まれる全ての参照ピクチャをデコーディングプロセスが参照に用いられないとして単にマークしなければならないことを示しているためである。
【0106】
IRAPピクチャの考え方に加えて、存在するならば、IRAPピクチャと関連付けられたリーディングピクチャもある。リーディングピクチャは、デコーディング順序では関連するIRAPピクチャの後に来るが、出力順序ではIRAPピクチャの先に来るピクチャである。符号化設定およびピクチャ参照構造に応じて、リーディングピクチャはさらに2つのタイプに特定される。第1のタイプは、その関連するIRAPピクチャでデコーディングプロセスが始まる場合、正しくデコードされないことがあるリーディングピクチャである。これが起こり得るのは、こうしたリーディングピクチャが、デコーディング順序においてIRAPピクチャの先に来るピクチャを参照して符号化されるためである。そのようなリーディングピクチャは、ランダムアクセススキップリーディング(RASL)と呼ばれる。第2のタイプは、その関連するIRAPピクチャでデコーディングプロセスが始まる場合でも、正しくデコードされなければならないリーディングピクチャである。これが可能なのは、こうしたリーディングピクチャが、デコーディング順序においてIRAPピクチャの先に来るピクチャを直接的にまたは間接的に参照することなく符号化されるためである。そのようなリーディングピクチャは、ランダムアクセスデコード可能リーディング(RADL)と呼ばれる。HEVCでは、RASLピクチャおよびRADLピクチャが存在する場合、同じIRAPピクチャと関連付けられたRASLピクチャおよびRADLピクチャについては、RASLピクチャが出力順序においてRADLピクチャの先に来なければならないということが制約されている。
【0107】
HEVCおよびVVCでは、IRAPピクチャ502およびリーディングピクチャ504がそれぞれ、単一のネットワーク抽象化層(NAL)ユニットに含まれてよい。NALユニットのセットが、アクセスユニットと呼ばれることがある。IRAPピクチャ502およびリーディングピクチャ504は、所与の異なるNALユニットタイプであり、これらはシステムレベルのアプリケーションで容易に特定できるようになっている。例えば、ビデオスプライサーでは、符号化ビットストリームに含まれるシンタクス要素の詳細を過剰に理解する必要なしに、符号化ピクチャタイプを理解して、特に、非IRAPピクチャからIRAPピクチャ502を特定し、トレイリングピクチャ506からリーディングピクチャ504を特定する(RASLピクチャおよびRADLピクチャを判定することを含む)必要がある。トレイリングピクチャ506は、IRAPピクチャ502と関連付けられたピクチャであり、表示順序510ではIRAPピクチャ502の後に来る。あるピクチャが、デコーディング順序508において特定のIRAPピクチャ502の後に来てよく、またデコーディング順序508において任意の他のIRAPピクチャ502の先に来てよい。これについては、IRAPピクチャ502およびリーディングピクチャ504にそれ独自のNALユニットタイプを与えると、そのようなアプリケーションに役立つ。
【0108】
HEVCについては、IRAPピクチャのNALユニットタイプは下記のものを含む。
・リーディングピクチャ付きBLA(BLA_W_LP):デコーディング順序において1つまたは複数のリーディングピクチャが後に来ることがあるリンク切れアクセス(BLA)ピクチャのNALユニット。
・RADL付きBLA(BLA_W_RADL):デコーディング順序において1つまたは複数のRADLピクチャが後に来るがRASLピクチャはなくてよいBLAピクチャのNALユニット。
・リーディングピクチャがないBLA(BLA_N_LP):デコーディング順序においてリーディングピクチャが後に来ないBLAピクチャのNALユニット。
・RADL付きIDR(IDR_W_RADL):デコーディング順序において1つまたは複数のRADLピクチャが後に来るが、RASLピクチャはなくてよいIDRピクチャのNALユニット。
・リーディングピクチャがないIDR(IDR_N_LP):デコーディング順序においてリーディングピクチャが後に来ないIDRピクチャのNALユニット。
・CRA:リーディングピクチャ(すなわち、RASLピクチャもしくはRADLピクチャまたはその両方)が後に来ることがあるクリーンランダムアクセス(CRA)ピクチャのNALユニット。
・RADL:RADLピクチャのNALユニット。
・RASL:RASLピクチャのNALユニット。
【0109】
VVCについては、IRAPピクチャ502およびリーディングピクチャ504のNALユニットタイプは次の通りである。
・RADL付きIDR(IDR_W_RADL):デコーディング順序において1つまたは複数のRADLピクチャが後に来るが、RASLピクチャはなくてよいIDRピクチャのNALユニット。
・リーディングピクチャがないIDR(IDR_N_LP):デコーディング順序においてリーディングピクチャが後に来ないIDRピクチャのNALユニット。
・CRA:リーディングピクチャ(すなわち、RASLピクチャもしくはRADLピクチャまたはその両方)が後に来ることがあるクリーンランダムアクセス(CRA)ピクチャのNALユニット。
・RADL:RADLピクチャのNALユニット。
・RASL:RASLピクチャのNALユニット。
【0110】
参照ピクチャリサンプリング(RPR)機能は、符号化ピクチャの空間解像度をビットストリームの途中で変更する能力であり、解像度変更位置においてピクチャのイントラ符号化を必要としない。これを可能にするには、ピクチャがインター予測のために、空間解像度が現ピクチャと異なる1つまたは複数の参照ピクチャを参照できる必要がある。したがって、そのような参照ピクチャのリサンプリング、またはその一部が、現ピクチャのエンコーディングおよびデコーディングに必要である。したがって、名前がRPRである。この機能は、適応型解像度変更(ARC)などの名前でも呼ばれることがある。RPR機能から恩恵を受けるであろう、下記のものを含む使用例またはアプリケーションシナリオがある。
【0111】
テレビ電話およびテレビ会議におけるレートアダプテーション。これは、符号化映像を変化するネットワーク状態に適応させるためのものである。ネットワーク状態が悪化して利用可能な帯域幅が狭くなると、エンコーダは、解像度が低いピクチャをエンコードすることにより、この状態に適応してよい。
【0112】
多拠点テレビ会議におけるアクティブな話者の切り替え。多拠点テレビ会議では、アクティブな話者の映像サイズがその他の会議参加者の映像サイズより大きいまたは広いのが普通である。アクティブな話者が切り替わると、参加者ごとにピクチャ解像度の調整も必要となることがある。アクティブな話者の切り替えが頻繁に発生する場合には、ARC機能の必要性がより重要になる。
【0113】
ストリーミングの迅速な開始。ストリーミングアプリケーションでは、そのアプリケーションが、ピクチャを表示し始める前に一定の長さのデコードピクチャになるまでバッファリングするのが普通である。低い解像度でビットストリームを開始すると、アプリケーションが、より速く表示し始めるのに十分なピクチャをバッファに保持することが可能になる。
【0114】
ストリーミングにおける適応型ストリーム切り替え。HTTPを介した動的適応型ストリーミング(DASH)仕様には、@mediaStreamStructureIdという名前の機能が含まれる。この機能により、デコードできないリーディングピクチャ(例えばHEVCでは、関連するRASLピクチャ付きのCRAピクチャ)を用いて、オープンGOP(group of picture)のランダムアクセスポイントでの様々な表示の切り替えが可能になる。同じ映像に関する2つの異なる表示が、異なるビットレートであるが同じ空間解像度を有し、また@mediaStreamStructureIdに関して同じ値を有する場合、関連するRASLピクチャ付きのCRAピクチャにおける2つの表示の切り替えが行われてよく、CRAピクチャでの切り替えと関連付けられたRASLピクチャは許容可能な品質でデコードされてよく、したがってシームレスな切り替えが可能になる。ARCを使えば、@mediaStreamStructureId機能は、様々な空間解像度のDASH表示の切り替えにも使用できるであろう。
【0115】
様々な方法によって、ピクチャ解像度のリストに関するシグナリング、DPB内の参照ピクチャのリサンプリングに関するいくつかの制約などといった、RPR/ARCをサポートする基本手法が容易になる。
【0116】
RPRをサポートするのに必要な手法の1つのコンポーネントが、ビットストリームに存在し得るピクチャ解像度をシグナリングする方法である。これは、いくつかの例において、以下に示すようなSPSにおけるピクチャ解像度のリストでピクチャ解像度の現シグナリングを変更することにより対処される。
【表1】
【0117】
num_pic_size_in_luma_samples_minus1+1では、ピクチャサイズ(幅及び高さ)の数を、符号化映像シーケンスに存在し得るルーマサンプルの単位で規定する。
【0118】
pic_width_in_luma_samples[i]では、デコードされたピクチャのi番目の幅を、符号化映像シーケンスに存在し得るルーマサンプルの単位で規定する。pic_width_in_luma_samples[i]は0と等しくてはならず、MinCbSizeYの整数倍でなければならない。
【0119】
pic_height_in_luma_samples[i]では、デコードされたピクチャのi番目の高さを、符号化映像シーケンスに存在し得るルーマサンプルの単位で規定する。pic_height_in_luma_samples[i]は0と等しくてはならず、MinCbSizeYの整数倍でなければならない。
【0120】
第15回JVET会合では、RPRをサポートするためのピクチャサイズおよびコンフォーマンスウインドウをシグナリングする別の変形例が議論された。シグナリングは次の通りである。
【0121】
・SPSの最大ピクチャサイズ(すなわち、ピクチャ幅およびピクチャ高さ)をシグナリングする。
【0122】
・ピクチャパラメータセット(PPS)のピクチャサイズをシグナリングする。
【0123】
・コンフォーマンスウインドウの現シグナリングをSPSからPPSに移動する。コンフォーマンスウインドウ情報は、ピクチャを出力のために準備するプロセスにおいて、再構築/デコードされたピクチャをクロップするのに用いられる。クロップされたピクチャサイズは、ピクチャがその関連するコンフォーマンスウインドウを用いてクロップされた後のピクチャサイズである。
【0124】
ピクチャサイズおよびコンフォーマンスウインドウのシグナリングは次の通りである。
【表2】
【0125】
max_width_in_luma_samplesでは、このSPSがアクティブであるあらゆるピクチャのpic_width_in_luma_samplesがmax_width_in_luma_samplesより小さいまたはそれと等しいということがビットストリームコンフォーマンスの要件であることを規定する。
【0126】
max_height_in_luma_samplesでは、このSPSがアクティブであるあらゆるピクチャのpic_height_in_luma_samplesがmax_height_in_luma_samplesより小さいまたはそれと等しいということがビットストリームコンフォーマンスの要件であることを規定する。
【表3】
【0127】
pic_width_in_luma_samplesでは、PPSを参照するそれぞれのデコードされたピクチャの幅をルーマサンプルの単位で規定する。pic_width_in_luma_samplesは0と等しくてはならず、MinCbSizeYの整数倍でなければならない。
【0128】
pic_height_in_luma_samplesでは、PPSを参照するそれぞれのデコードされたピクチャの高さをルーマサンプルの単位で規定する。pic_height_in_luma_samplesは0と等しくてはならず、MinCbSizeYの整数倍でなければならない。
【0129】
幅および高さがreference_pic_width_in_luma_samplesおよびreference_pic_height_in_luma_samplesであるどのアクティブ参照ピクチャに対しても下記の条件の全てが満たされることが、ビットストリームコンフォーマンスの要件である。
・2×pic_width_in_luma_samples≧reference_pic_width_in_luma_samples
・2×pic_height_in_luma_samples≧reference_pic_height_in_luma_samples
・pic_width_in_luma_samples≦8×reference_pic_width_in_luma_samples
・pic_height_in_luma_samples≦8×reference_pic_height_in_luma_samples
【0130】
変数のPicWidthInCtbsY、PicHeightInCtbsY、PicSizeInCtbsY、PicWidthInMinCbsY、PicHeightInMinCbsY、PicSizeInMinCbsY、PicSizeInSamplesY、PicWidthInSamplesC、およびPicHeightInSamplesCは、次のように導出される。
・PicWidthInCtbsY=Ceil(pic_width_in_luma_samples/CtbSizeY) (1)
・PicHeightInCtbsY=Ceil(pic_height_in_luma_samples/CtbSizeY) (2)
・PicSizeInCtbsY=PicWidthInCtbsY×PicHeightInCtbsY (3)
・PicWidthInMinCbsY=pic_width_in_luma_samples/MinCbSizeY (4)
・PicHeightInMinCbsY=pic_height_in_luma_samples/MinCbSizeY (5)
・PicSizeInMinCbsY=PicWidthInMinCbsY×PicHeightInMinCbsY (6)
・PicSizeInSamplesY=pic_width_in_luma_samples×pic_height_in_luma_samples (7)
・PicWidthInSamplesC=pic_width_in_luma_samples/SubWidthC (8)
・PicHeightInSamplesC=pic_height_in_luma_samples/SubHeightC (9)
【0131】
1と等しいconformance_window_flagは、コンフォーマンスクロッピングウィンドウのオフセットパラメータが、PPSでは次に続くことを示す。0と等しいconformance_window_flagは、コンフォーマンスクロッピングウィンドウのオフセットパラメータが存在しないことを示す。
【0132】
conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、およびconf_win_bottom_offsetでは、PPSを参照しデコーディングプロセスから出力されるピクチャのサンプルを、出力のためにピクチャ座標で規定される矩形領域によって規定する。conformance_window_flagが0と等しい場合、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、およびconf_win_bottom_offsetの値は0と等しいと推測される。
【0133】
コンフォーマンスクロッピングウィンドウは、[SubWidthC×conf_win_left_offset]から[pic_width_in_luma_samples-(SubWidthC×conf_win_right_offset+1)]までの水平ピクチャ座標(境界を含む)と、[SubHeightC×conf_win_top_offset]から[pic_height_in_luma_samples-(SubHeightC×conf_win_bottom_offset+1)]までの垂直ピクチャ座標(境界を含む)とを有するルーマサンプルを含む。
【0134】
[SubWidthC×(conf_win_left_offset+conf_win_right_offset)]の値は、pic_width_in_luma_samplesより小さくなければならない。また[SubHeightC×(conf_win_top_offset+conf_win_bottom_offset)]の値は、pic_height_in_luma_samplesより小さくなければならない。
【0135】
変数のPicOutputWidthLおよびPicOutputHeightLは、次のように導出される。
・PicOutputWidthL=pic_width_in_luma_samples-SubWidthC×(conf_win_right_offset+conf_win_left_offset) (10)
・PicOutputHeightL=pic_height_in_pic_size_units-SubHeightC×(conf_win_bottom_offset+conf_win_top_offset) (11)
【0136】
ChromaArrayTypeが0と等しくない場合、2つのクロマ配列の対応する規定されたサンプルは、ピクチャ座標が(x/SubWidthC,y/SubHeightC)のサンプルであり、(x,y)は規定されたルーマサンプルのピクチャ座標である。
【0137】
注記:コンフォーマンスクロッピングウィンドウのオフセットパラメータは出力でしか適用されない。全ての内部デコーディングプロセスは、クロップしていないピクチャサイズに適用される。
【0138】
PPS内のピクチャサイズおよびコンフォーマンスウインドウのシグナリングは、下記の問題を引き起こす。
【0139】
・複数のPPSが符号化映像シーケンス(CVS)に存在し得るため、2つのPPSが同じピクチャサイズのシグナリングだが、異なるコンフォーマンスウインドウのシグナリングを含み得ることが可能である。これにより、異なるPPSを参照する2つのピクチャが、同じピクチャサイズだが異なるクロッピングサイズを有するという状況が発生することになる。
【0140】
・RPRのサポートについては、あるブロックの現ピクチャおよび参照ピクチャが異なるピクチャサイズを有する場合、そのブロックを符号化するために、いくつかの符号化ツールをオフにすることが提案されている。しかしながら、今では2つのピクチャが同じピクチャサイズを有する場合でもクロッピングサイズが異なるかもしれないこともあり得るため、クロッピングサイズに基づいて追加のチェックをすることが必要である。
【0141】
本明細書では、同じピクチャサイズを有するピクチャパラメータセットを同じコンフォーマンスウインドウサイズも有するように制約する(例えば、ウインドウサイズをクロップする)手法が開示される。同じピクチャサイズを有するピクチャパラメータセットに対してコンフォーマンスウインドウを同じサイズに維持することにより、参照ピクチャリサンプリング(RPR)が有効な場合、過度に複雑な処理を回避できる。したがって、プロセッサ、メモリ、および/またはネットワークリソースの使用量が、エンコーダとデコーダの両方で減少し得る。こうして、映像符号化におけるコーダ/デコーダ(コーデックとしても知られている)が、現コーデックと比較して改善される。現実問題としては、映像符号化プロセスの改善によって、ユーザには、映像を送出、受領、および/または視聴する場合に、より望ましいユーザ体験が提供される。
【0142】
映像符号化におけるスケーラビリティは通常、多層符号化手法を用いてサポートされる。多層ビットストリームには、基準層(BL)と1つまたは複数の拡張層(EL)とがある。スケーラビリティの一例には、空間スケーラビリティ、品質/信号対雑音(SNR)スケーラビリティ、多視点スケーラビリティなどが含まれる。多層符号化手法を用いる場合、ピクチャまたはその一部を、(1)参照ピクチャを用いることなく(すなわち、イントラ予測を用いて)、(2)同じ階層にある参照ピクチャを参照する(すなわち、インター予測を用いる)ことにより、または(3)他の階層にある参照ピクチャを参照する(すなわち、階層間予測を用いる)ことにより符号化してよい。現ピクチャの階層間予測に用いられる参照ピクチャは、階層間参照ピクチャ(ILRP)と呼ばれる。
【0143】
図6は、例えばブロック圧縮段階105、ブロックデコーディング段階113、動き推定コンポーネント221、動き補償コンポーネント219、動き補償コンポーネント321、および/または動き補償コンポーネント421でMVを決定するために行われる階層ベースの予測600に関する一例を示す概略図である。階層ベースの予測600は、単方向インター予測および/または双方向インター予測と互換性があるが、異なる階層のピクチャ間でも行われる。
【0144】
階層ベースの予測600は、異なる階層にあるピクチャ611、612、613、および614と、ピクチャ615、616、617、および618との間に適用される。示した例では、ピクチャ611、612、613、および614は階層[N+1]632の一部であり、ピクチャ615、616、617、および618は階層[N]631の一部である。階層[N]631および/または階層[N+1]632などの階層は、同様のサイズ、品質、解像度、信号対雑音比、能力などといった特性の同様の値と全て関連付けられたピクチャのグループである。示した例では、階層[N+1]632は階層[N]631より大きい画像サイズと関連付けられている。したがって、この例では、階層[N+1]632のピクチャ611、612、613、および614は、階層[N]631のピクチャ615、616、617、および618より大きいピクチャサイズを有する(例えば、高さおよび幅が大きい、したがってサンプルが多い)。しかしながら、そのようなピクチャを他の特性によって階層[N+1]632と階層[N]631との間で分けることができる。階層[N+1]632および階層[N]631という2つの階層しか示されていないが、一連のピクチャを関連する特性に基づいて任意の数の階層に分けることができる。階層[N+1]632および階層[N]631は、階層IDで示されてもよい。階層IDとは、あるピクチャと関連付けられたデータの項目であり、そのピクチャが示された階層の一部であることを示す。したがって、各ピクチャ611~618は対応する階層IDと関連付けられ、対応するピクチャが階層[N+1]632または階層[N]631のどちらに含まれるかを示すことができる。
【0145】
異なる階層631~632のピクチャ611~618は、別の方法で表示されるように構成される。したがって、異なる階層631~632のピクチャ611~618は、同じ一時識別子(ID)を共有することができ、同じAUに含まれ得る。本明細書で用いる場合、AUとは、DPBから出力するために、同じ表示時間と関連付けられた1つまたは複数の符号化ピクチャのセットである。例えば、小さいピクチャが望ましい場合、デコーダがピクチャ615をデコードし、現表示時間で表示してよい。あるいは、大きいピクチャが望ましい場合、デコーダはピクチャ611をデコードし、現表示時間で表示してよい。したがって、上位階層[N+1]632にあるピクチャ611~614は、下位階層[N]631にある対応するピクチャ615~618と(ピクチャサイズの違いがあるにもかかわらず)実質的に同じ画像データを含む。具体的には、ピクチャ611はピクチャ615と実質的に同じ画像データを含み、ピクチャ612はピクチャ616と実質的に同じ画像データを含むといったことになる。
【0146】
ピクチャ611~618同じ階層[N]631または[N+1]632の他のピクチャ611~618を参照することにより符号化されてよい。同じ階層の別のピクチャを参照したピクチャの符号化がインター予測623になり、これは、単方向インター予測および/または双方向インター予測と互換性がある。インター予測623は、実線矢印で示されている。例えば、ピクチャ613は、階層[N+1]632にあるピクチャ611、612、および/または614のうちの1つまたは2つを参照として用いるインター予測623を使用することで符号化されてよい。ここで、1つのピクチャが単方向インター予測用に参照される、且つ/または2つのピクチャが双方向インター予測用に参照される。さらに、ピクチャ617は、階層[N]631にあるピクチャ615、616、および/または618のうちの1つまたは2つを参照として用いるインター予測623を使用することで符号化されてよい。ここで、1つのピクチャが単方向インター予測用に参照される、且つ/または2つのピクチャが双方向インター予測用に参照される。インター予測623を行う場合、あるピクチャが同じ階層にある別のピクチャの参照として用いられるとき、そのピクチャは参照ピクチャと呼ばれることがある。例えば、ピクチャ612は、インター予測623に従ってピクチャ613を符号化するのに用いられる参照ピクチャでよい。インター予測623は、多層コンテキストでは階層内予測とも呼ばれ得る。したがって、インター予測623は、現ピクチャと異なる参照ピクチャ内の示されたサンプルを参照することにより現ピクチャのサンプルを符号化する方式であり、参照ピクチャおよび現ピクチャは同じ階層にある。
【0147】
ピクチャ611~618は、異なる階層にある他のピクチャ611~618を参照することにより符号化されてもよい。このプロセスは、階層間予測621として知られており、破線矢印で示されている。階層間予測621は、参照ピクチャ内の示されたサンプルを参照することにより現ピクチャのサンプルを符号化する方式であり、現ピクチャおよび参照ピクチャは異なる階層にある、したがって異なる階層IDを有する。例えば、下位階層[N]631に含まれるピクチャを参照ピクチャとして用い、上位階層[N+1]632にある対応するピクチャを符号化してよい。具体例として、ピクチャ611が、階層間予測621に従ってピクチャ615を参照することにより符号化されてよい。そのような場合に、ピクチャ615は階層間参照ピクチャとして用いられる。階層間参照ピクチャとは、階層間予測621に用いられる参照ピクチャである。ほとんどの場合、階層間予測621には制約があり、ピクチャ611などの現ピクチャは、同じAUに含まれ且つ下位階層にあるピクチャ615などの階層間参照ピクチャしか用いることができないようになっている。複数の階層(例えば、2つより多い)が利用可能である場合、階層間予測621は、現ピクチャより下位レベルにある複数の階層間参照ピクチャに基づいて現ピクチャをエンコード/デコードできる。
【0148】
映像エンコーダは、階層ベースの予測600を使用し、インター予測623および階層間予測621の多数の異なる組み合わせおよび/または順序の変更によって、ピクチャ611~618をエンコードできる。例えば、ピクチャ615はイントラ予測に従って符号化されてよい。ピクチャ616~618は次に、ピクチャ615を参照ピクチャとして用いることによるインター予測623に従って符号化されてよい。さらに、ピクチャ611は、ピクチャ615を階層間参照ピクチャとして用いることによる階層間予測621に従って符号化されてよい。ピクチャ612~614は次に、ピクチャ611を参照ピクチャとして用いることによるインター予測623に従って符号化されてよい。したがって、参照ピクチャは、異なる符号化方式に対して、単一階層参照ピクチャおよび階層間参照ピクチャの両方の役割を果たすことができる。上位階層[N+1]632のピクチャを下位階層[N]631のピクチャに基づいて符号化することにより、上位階層[N+1]632では、イントラ予測の使用を回避できる。イントラ予測は、インター予測623および階層間予測621より符号化効率がはるかに低い。したがって、低い符号化効率のイントラ予測は、最小/最低品質ピクチャに限定され、したがって、最小量の映像データを符号化することに限定され得る。参照ピクチャおよび/または階層間参照ピクチャとして用いられるピクチャは、参照ピクチャリスト構造に含まれる参照ピクチャリストのエントリに示されてよい。
【0149】
以前のH.26x系映像符号化では、単層符号化用のプロファイルとは異なるプロファイルにおけるスケーラビリティに対してサポートを提供している。スケーラブル映像符号化(SVC)は空間、時間、および品質のスケーラビリティに対してサポートを提供するAVC/H.264のスケーラブル拡張である。SVCでは、ELピクチャ内の各マクロブロック(MB)においてフラグをシグナリングして、ELのMBが下位階層からの同一位置のブロックを用いて予測されるかどうかを示す。同一位置のブロックからの予測は、テクスチャ、動きベクトル、および/または符号化モードを含んでよい。SVCの実装例は、その設計が未修正のH.264/AVC実装例を直接的に再利用することはできない。SVCのELマクロブロックシンタクスおよびデコーディングプロセスは、H.264/AVCシンタクスおよびデコーディングプロセスと異なる。
【0150】
スケーラブルHEVC(SHVC)は、空間および品質のスケーラビリティに対してサポートを提供するHEVC/H.265規格の拡張規格であり、多視点HEVC(MV-HEVC)は、多視点スケーラビリティに対してサポートを提供するHEVC/H.265の拡張規格であり、3D HEVC(3D-HEVC)は、MV-HEVCより先進的で効率的な3次元(3D)映像符号化に対してサポートを提供するHEVC/H.264の拡張規格である。時間スケーラビリティは、単層HEVCコーデックの整数部として含まれることに留意されたい。HEVCの多層拡張の設計には、階層間予測に用いられるデコードピクチャが同じアクセスユニット(AU)からのみもたらされて長期参照ピクチャ(LTRP)として扱われ、また現階層にある他の時間参照ピクチャと共に参照ピクチャリスト内の参照インデックスを割り当てられるという考えが使用される。階層間予測(ILP)は、参照インデックスの値を設定して、参照ピクチャリスト内の階層間参照ピクチャを参照することにより、予測ユニット(PU)レベルで実現される。
【0151】
特に、参照ピクチャリサンプリング機能および空間スケーラビリティ機能は両方とも、参照ピクチャまたはその一部のリサンプリングを必要とする。参照ピクチャリサンプリングは、ピクチャレベルまたは符号化ブロックレベルで実現されてよい。しかしながら、RPRが符号化機能と呼ばれる場合、これは単層符号化の機能である。そうであっても、コーデック設計の観点から、単層符号化のRPR機能および多層符号化の空間スケーラビリティ機能の両方に同じリサンプリングフィルタを用いることは可能である、またはむしろ好ましい。
【0152】
図7は、単方向インター予測700の一例を示す概略図である。単方向インター予測700は、ピクチャを分割するときに作られたエンコードブロックおよび/またはデコードブロックの動きベクトルを決定するのに使用され得る。
【0153】
単方向インター予測700は、参照ブロック731を有する参照フレーム730を使用して、現フレーム710に含まれる現ブロック711を予測する。参照フレーム730は、示されているように時間的に現フレーム710の後に(例えば、後続参照フレームとして)配置されてよいが、いくつかの例では、時間的に現フレーム710の前に(例えば、先行参照フレームとして)配置されてもよい。現フレーム710は、特定の時間にエンコード/デコードされているフレーム/ピクチャの一例である。現フレーム710は、参照フレーム730の参照ブロック731にある対象とマッチングする対象を現ブロック711に含む。参照フレーム730は、現フレーム710のエンコーディングに参照として使用されるフレームであり、参照ブロック731は、現フレーム710の現ブロック711にも含まれる対象を含む参照フレーム730内のブロックである。
【0154】
現ブロック711は、符号化プロセスの特定の段階でエンコード/デコードされている任意の符号化ユニットである。現ブロック711は、分割ブロック全体でもよく、アフィンインター予測モードを使用する場合にはサブブロックでもよい。現フレーム710は、ある程度の時間距離(TD)733だけ参照フレーム730から離れている。TD733は、映像シーケンス内の現フレーム710と参照フレーム730との間の時間を示しており、フレームの単位で測定されてよい。現ブロック711の予測情報は、フレーム間の方向および時間距離を示す参照インデックスにより、参照フレーム730および/または参照ブロック731を参照してよい。TD733で表されている期間に、現ブロック711内の対象は現フレーム710のある位置から参照フレーム730の別の位置(例えば、参照ブロック731の位置)に移動する。例えば、対象は動き軌道713に沿って移動してよく、この軌道は対象の経時的な動きの方向である。動きベクトル735は、動き軌道713に沿った対象のTD733における動きの方向および大きさを表している。したがって、エンコードされた動きベクトル735、参照ブロック731、および現ブロック711と参照ブロック731との差分を含む残差が、現ブロック711を再構築して、現ブロック711を現フレーム710に配置するのに十分な情報を提供する。
【0155】
図8は、双方向インター予測800の一例を示す概略図である。双方向インター予測800は、ピクチャを分割するときに作られたエンコードブロックおよび/またはデコードブロックの動きベクトルを決定するのに使用され得る。
【0156】
双方向インター予測800は、単方向インター予測700と類似しているが、一対の参照フレームを使用して現フレーム810に含まれる現ブロック811を予測する。したがって、現フレーム810および現ブロック811はそれぞれ、現フレーム710および現ブロック711と実質的に同様である。現フレーム810は、映像シーケンスにおいて現フレーム810の前に存在する先行参照フレーム820と、映像シーケンスにおいて現フレーム810の後に存在する後続参照フレーム830との間に時間的に配置される。そのことを除けば、先行参照フレーム820および後続参照フレーム830は、参照フレーム730と実質的に同様である。
【0157】
現ブロック811は、先行参照フレーム820に含まれる先行参照ブロック821と、後続参照フレーム830に含まれる後続参照ブロック831とにマッチングしている。そのようなマッチングは、映像シーケンスの過程で、対象が先行参照ブロック821のある位置から後続参照ブロック831のある位置に動き軌道813に沿って現ブロック811を経由して移動することを示している。現フレーム810は、ある程度の先行時間距離(TD0)823だけ先行参照フレーム820から離れており、またある程度の後続時間距離(TD1)833だけ後続参照フレーム830から離れている。TD0(823)は、映像シーケンス内の先行参照フレーム820と現フレーム810との間の時間をフレームの単位で示している。TD1(833)は、映像シーケンス内の現フレーム810と後続参照フレーム830との間の時間をフレームの単位で示している。したがって、対象は、動き軌道813に沿ってTD0(823)で示す期間にわたり、先行参照ブロック821から現ブロック811に移動する。対象は、動き軌道813に沿ってTD1(833)で示す期間にわたり、現ブロック811から後続参照ブロック831にも移動する。現ブロック811の予測情報は、フレーム間の方向および時間距離を示す一対の参照インデックスにより、先行参照フレーム820および/または先行参照ブロック821、並びに後続参照フレーム830および/または後続参照ブロック831を参照してよい。
【0158】
先行動きベクトル(MV0)825は、動き軌道813に沿ったTD0(823)にわたる(例えば、先行参照フレーム820と現フレーム810との間の)対象の動きの方向および大きさを表す。後続動きベクトル(MV1)835は、動き軌道813に沿ったTD1(833)にわたる(例えば、現フレーム810と後続参照フレーム830との間の)対象の動きの方向および大きさを表す。したがって、双方向インター予測800では、先行参照ブロック821および/または後続参照ブロック831、MV0(825)、並びにMV1(835)を使用することで、現ブロック811を符号化し、また再構築することができる。
【0159】
一実施形態では、インター予測および/または双方向インター予測が、ブロックごとに実行される代わりに、サンプルごとに(例えば、画素ごとに)実行されてもよい。すなわち、先行参照ブロック821および/または後続参照ブロック831に含まれる各サンプルを指し示す動きベクトルが、現ブロック811に含まれるサンプルごとに決定され得る。そのような実施形態では、図8に示される動きベクトル825および動きベクトル835は、現ブロック811、先行参照ブロック821、および後続参照ブロック831に含まれる複数のサンプルに対応する複数の動きベクトルを表している。
【0160】
マージモードおよび高度な動きベクトル予測(AMVP)モードの両方では、候補動きベクトルを候補リスト決定パターンで定義される順序で候補リストに加えることにより候補リストが生成される。そのような候補動きベクトルは、単方向インター予測700、双方向インター予測800、またはその組み合わせによる動きベクトルを含んでよい。具体的には、これらの動きベクトルが、隣接ブロックのために、そのようなブロックがエンコードされるときに生成される。そのような動きベクトルは、現ブロックの候補リストに加えられ、この候補リストから現ブロックの動きベクトルが選択される。動きベクトルは次に、候補リスト内の選択された動きベクトルのインデックスとしてシグナリングされてよい。デコーダは、エンコーダと同じプロセスを用いて候補リストを構築することができ、シグナリングされたインデックスに基づいて、選択された動きベクトルを候補リストから決定することができる。したがって、候補動きベクトルは、そのような隣接ブロックをエンコードするときにどの手法を用いるかに応じて、単方向インター予測700および/または双方向インター予測800に従って生成された動きベクトルを含む。
【0161】
図9は、映像ビットストリーム900を示している。本明細書で用いられる場合、映像ビットストリーム900は、符号化映像ビットストリームとも、ビットストリームとも、またはその変形でも呼ばれることがある。図9に示すように、ビットストリーム900は、シーケンスパラメータセット(SPS)902、ピクチャパラメータセット(PPS)904、スライスヘッダ906、および画像データ908を含む。
【0162】
SPS902には、ピクチャのシーケンス(SOP)に含まれる全ピクチャに共通のデータが含まれている。それに対して、PPS904には、ピクチャ全体に共通のデータが含まれている。スライスヘッダ906には、現スライスに関する情報、例えば、スライスタイプ、参照ピクチャのうちのどれが用いられるか、などといった情報が含まれている。SPS902およびPPS904は一般的に、パラメータセットと呼ばれることがある。SPS902、PPS904、およびスライスヘッダ906は、ネットワーク抽象化層(NAL)ユニットの種類である。NALユニットは、後に来るデータ(例えば、符号化映像データ)の種類に関するインジケーションを含んだシンタクス構造である。NALユニットは、映像符号化層(VCL)のNALユニットと非VCLのNALユニットとに分類される。VCLのNALユニットには、映像ピクチャに含まれるサンプルの値を表すデータが含まれており、非VCLのNALユニットには、パラメータセット(多数のVCLのNALユニットに適用され得る重要なヘッダデータ)および補助拡張情報(デコードされた映像信号の有用性を高めることがあるが、映像ピクチャに含まれるサンプル値をデコードするのに必要ない、タイミング情報および他の補助データ)などの任意の関連追加情報が含まれている。当業者であれば、ビットストリーム900が、実際に適用する場合には、他のパラメータおよび情報を含んでもよいことを理解するであろう。
【0163】
図9の画像データ908は、エンコードまたはデコードされている画像または映像と関連付けられたデータを含む。画像データ908は、単に、ビットストリーム900で搬送されているペイロードまたはデータと呼ばれることがある。一実施形態において、画像データ908には、複数のピクチャ910を含んだCVS914(またはCLVS)が含まれる。CVS914は、映像ビットストリーム900に含まれるあらゆる符号化層映像シーケンス(CLVS)の符号化映像シーケンスである。特に、CVSおよびCLVSは、映像ビットストリーム900が単一階層を含む場合には同じである。CVSおよびCLVSは、映像ビットストリーム900が複数の階層を含む場合にだけ異なる。
【0164】
図9に示すように、各ピクチャ910のスライスが、それ自体のVCLのNALユニット912に含まれてよい。CVS914に含まれるVCLのNALユニット912のセットは、アクセスユニットと呼ばれることがある。
【0165】
図10は、ピクチャ1010の分割手法1000を示している。ピクチャ1010は、図9に示される複数のピクチャ910のうちのいずれかと同様であってよい。示されているように、ピクチャ1010は、複数のスライス1012に分割されてよい。スライスとは、同じフレーム内の任意の他の領域とは別にエンコードされるフレーム(例えば、ピクチャ)の空間的に異なる領域である。図10には3つのスライス1012が示されているが、実際に適用する場合には、もっと多いまたは少ないスライスが用いられてよい。各スライス1012は、複数のブロック1014に分割されてよい。図10のブロック1014は、図8の現ブロック811、先行参照ブロック821、および後続参照ブロック831と同様であってよい。ブロック1014はCUを表してよい。図10には4つのブロック1014が示されているが、実際に適用する場合には、もっと多いまたは少ないブロックが用いられてよい。
【0166】
各ブロック1014は、複数のサンプル1016(例えば、画素)に分割されてよい。一実施形態において、各ブロック1014のサイズはルーマサンプルで測定される。図10には16個のサンプル1016が示されているが、実際に適用する場合には、もっと多いまたは少ないサンプルが用いられてよい。
【0167】
一実施形態では、ピクチャ1010にコンフォーマンスウインドウ1060が適用される。上述したように、コンフォーマンスウインドウ1060は、ピクチャを出力のために準備するプロセスにおいて、ピクチャ1010(例えば、再構築/デコードされたピクチャ)のサイズをクロップする、縮小する、または別のやり方で変更するのに用いられる。例えば、デコーダは、ピクチャがユーザへの表示のために出力される前に、ピクチャ1010のサイズをクロップする、トリミングする、縮小する、または別のやり方で変更するために、コンフォーマンスウインドウ1060をピクチャ1010に適用することができる。コンフォーマンスウインドウ1060のサイズは、ピクチャ1010にコンフォーマンスウインドウ上側オフセット1062、コンフォーマンスウインドウ下側オフセット1064、コンフォーマンスウインドウ左側オフセット1066、およびコンフォーマンスウインドウ右側オフセット1068を適用して、ピクチャ1010のサイズを出力前に縮小することにより決定される。すなわち、コンフォーマンスウインドウ1060の中に存在するピクチャ1010の部分だけが出力される。こうして、ピクチャ1010は、出力される前にサイズがクロップされる。一実施形態では、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットがそれぞれ、同じシーケンスパラメータセットを参照し、ピクチャ幅およびピクチャ高さに関して同じ値を有する。したがって、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットは、コンフォーマンスウインドウに対しても同じ値を有する。
【0168】
図11は、映像デコーダ(例えば、映像デコーダ400)により実装されるデコーディングの方法1100に関する一実施形態である。方法1100は、デコードされるビットストリームが映像エンコーダ(例えば、映像エンコーダ300)から直接的にまたは間接的に受信された後に行われてよい。方法1100は、同じピクチャサイズを有するピクチャパラメータセットに対してコンフォーマンスウインドウを同じサイズに維持することにより、デコーディングプロセスを改善する。したがって、参照ピクチャリサンプリング(RPR)がCVS全体に対して有効のままでもオンにしたままでもよい。同じピクチャサイズを有するピクチャパラメータセットに対して一貫したコンフォーマンスウインドウサイズを維持することにより、符号化効率を向上させることができる。したがって、現実問題として、コーデックの性能が向上し、これがより望ましいユーザ体験につながる。
【0169】
ブロック1102では、映像デコーダが、それぞれ同じシーケンスパラメータセットを参照する第1のピクチャパラメータセット(例えば、ppsA)および第2のピクチャパラメータセット(例えば、ppsB)を受信する。第1のピクチャパラメータセットおよび第2のピクチャパラメータセットがピクチャ幅およびピクチャ高さに関して同じ値を有する場合、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットはコンフォーマンスウインドウに関して同じ値を有する。一実施形態において、ピクチャ幅およびピクチャ高さはルーマサンプルで測定される。
【0170】
一実施形態において、ピクチャ幅は、pic_width_in_luma_samplesとして指定される。一実施形態において、ピクチャ高さは、pic_height_in_luma_samplesとして指定される。一実施形態において、pic_width_in_luma_samplesでは、PPSを参照するそれぞれのデコードピクチャの幅をルーマサンプルの単位で規定する。一実施形態において、pic_height_in_luma_samplesでは、PPSを参照するそれぞれのデコードピクチャの高さをルーマサンプルの単位で規定する。
【0171】
一実施形態において、コンフォーマンスウインドウは、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、およびコンフォーマンスウインドウ下側オフセットを有し、これらのオフセットは、全体としてコンフォーマンスウインドウサイズを表す。一実施形態において、コンフォーマンスウインドウ左側オフセットは、pps_conf_win_left_offsetとして指定される。一実施形態において、コンフォーマンスウインドウ右側オフセットは、pps_conf_win_right_offsetとして指定される。一実施形態において、コンフォーマンスウインドウ上側オフセットは、pps_conf_win_top_offsetとして指定される。一実施形態において、コンフォーマンスウインドウ下側オフセットは、pps_conf_win_bottom_offsetとして指定される。一実施形態において、コンフォーマンスウインドウサイズまたはコンフォーマンスウインドウ値は、PPSでシグナリングされる。
【0172】
ブロック1104では、映像デコーダが第1のピクチャパラメータセットまたは第2のピクチャパラメータセットに対応する現ピクチャにコンフォーマンスウインドウを適用する。そうすることにより、映像符号化器は、現ピクチャをコンフォーマンスウインドウのサイズまでクロップする。
【0173】
一実施形態において、本方法はさらに、インター予測を用い、リサンプリングされた参照ピクチャに基づいて現ピクチャをデコードする段階を備える。一実施形態において、本方法はさらに、参照ピクチャリサンプリング(RPS)を用いて、現ピクチャに対応する参照ピクチャをリサンプリングする段階を備える。一実施形態において、参照ピクチャのリサンプリングは、参照ピクチャの解像度を変える。
【0174】
一実施形態において、本方法はさらに、双方向オプティカルフロー(BDOF)が現ピクチャのピクチャ幅、ピクチャ高さ、およびコンフォーマンスウインドウと現ピクチャの参照ピクチャとに基づいてピクチャをデコードするのに有効かどうかを判定する段階を備える。一実施形態において、本方法はさらに、現ピクチャのピクチャ幅、ピクチャ高さ、およびコンフォーマンスウインドウと現ピクチャの参照ピクチャとに基づいてピクチャをデコードするのにデコーダ側動きベクトル微調整(DMVR)が有効かどうかを判定する段階を備える。
【0175】
一実施形態において、本方法はさらに、現ブロックを用いて生成された画像を電子デバイス(例えば、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなど)のディスプレイに表示する段階を備える。
【0176】
図12は、映像エンコーダ(例えば、映像エンコーダ300)により実施される、映像ビットストリームをエンコードする方法1200の一実施形態である。方法1200は、(例えば、映像からの)ピクチャが映像ビットストリームにエンコードされ、次いで映像デコーダ(例えば、映像デコーダ400)に送信されるときに行われてよい。方法1200は、同じピクチャサイズを有するピクチャパラメータセットに対してコンフォーマンスウインドウを同じサイズに維持することにより、エンコーディングプロセスを改善する。したがって、参照ピクチャリサンプリング(RPR)がCVS全体に対して有効のままでもオンにしたままでもよい。同じピクチャサイズを有するピクチャパラメータセットに対して一貫したコンフォーマンスウインドウサイズを維持することにより、符号化効率を向上させることができる。したがって、現実問題として、コーデックの性能が向上し、これがより望ましいユーザ体験につながる。
【0177】
ブロック1202では、映像エンコーダが、それぞれ同じシーケンスパラメータセットを参照する第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを生成する。第1のピクチャパラメータセットおよび第2のピクチャパラメータセットがピクチャ幅およびピクチャ高さに関して同じ値を有する場合、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットはコンフォーマンスウインドウに関して同じ値を有する。一実施形態において、ピクチャ幅およびピクチャ高さはルーマサンプルで測定される。
【0178】
一実施形態において、ピクチャ幅は、pic_width_in_luma_samplesとして指定される。一実施形態において、ピクチャ高さは、pic_height_in_luma_samplesとして指定される。一実施形態において、pic_width_in_luma_samplesは、PPSを参照するそれぞれのデコードピクチャの幅をルーマサンプルの単位で規定する。一実施形態において、pic_height_in_luma_samplesは、PPSを参照するそれぞれのデコードピクチャの高さをルーマサンプルの単位で規定する。
【0179】
一実施形態において、コンフォーマンスウインドウは、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、およびコンフォーマンスウインドウ下側オフセットを有し、これらのオフセットは、全体としてコンフォーマンスウインドウサイズを表す。一実施形態において、コンフォーマンスウインドウ左側オフセットは、pps_conf_win_left_offsetとして指定される。一実施形態において、コンフォーマンスウインドウ右側オフセットは、pps_conf_win_right_offsetとして指定される。一実施形態において、コンフォーマンスウインドウ上側オフセットは、pps_conf_win_top_offsetとして指定される。一実施形態において、コンフォーマンスウインドウ下側オフセットは、pps_conf_win_bottom_offsetとして指定される。一実施形態において、コンフォーマンスウインドウサイズまたはコンフォーマンスウインドウ値は、PPSでシグナリングされる。
【0180】
ブロック1204では、映像エンコーダが第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを映像ビットストリームにエンコードする。ブロック1206では、映像エンコーダが映像ビットストリームを映像デコーダへの送信のために格納する。一実施形態において、映像エンコーダは、第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを含む映像ビットストリームを映像デコーダに送信する。
【0181】
一実施形態では、映像ビットストリームをエンコードする方法が提供される。ビットストリームは、複数のパラメータセットおよび複数のピクチャを有する。複数のピクチャの各ピクチャは、複数のスライスを含む。複数のスライスの各スライスは、複数の符号化ブロックを含む。本方法は、ピクチャサイズpicSizeAおよびコンフォーマンスウインドウconfWinAを含んだ情報を含むパラメータセットparameterSetAを生成して、ビットストリームに書き込む段階を備える。このパラメータは、ピクチャパラメータセット(PPS)でよい。本方法はさらに、ピクチャサイズpicSizeBおよびコンフォーマンスウインドウconfWinBを含んだ情報を含む別のパラメータセットparameterSetBを生成して、ビットストリームに書き込む段階を含む。このパラメータは、ピクチャパラメータセット(PPS)でよい。本方法はさらに、parameterSetAに含まれるpicSizeAおよびparameterSetBに含まれるpicSizeBの各値が同じである場合、parameterSetAに含まれるコンフォーマンスウインドウconfWinAおよびparameterSetBに含まれるconfWinBの各値を同じになるように制約する段階と、parameterSetAに含まれるconfWinAおよびparameterSetBに含まれるconfWinBの各値が同じである場合、parameterSetAに含まれるピクチャサイズpicSizeAおよびparameterSetBに含まれるpicSizeBの各値を同じになるように制約する段階とを含む。本方法はさらに、ビットストリームをエンコードする段階を含む。
【0182】
一実施形態では、映像ビットストリームをデコードする方法が提供される。ビットストリームは、複数のパラメータセットおよび複数のピクチャを有する。複数のピクチャの各ピクチャは、複数のスライスを含む。複数のスライスの各スライスは、複数の符号化ブロックを含む。本方法は、パラメータセットを解析して、現ピクチャcurrPicと関連付けられたピクチャサイズおよびコンフォーマンスウインドウサイズを取得する段階を備える。取得した情報は、現ピクチャのピクチャサイズおよびクロップされたサイズを導出するのに用いられる。本方法はさらに、別のパラメータセットを解析して、参照ピクチャrefPicと関連付けられたピクチャサイズおよびコンフォーマンスウインドウサイズを取得する段階を含む。取得した情報は、参照ピクチャのピクチャサイズおよびクロップされたサイズを導出するのに用いられる。本方法はさらに、現ピクチャcurrPic内に位置する現ブロックcurBlockをデコードするための参照ピクチャとしてrefPicを決定する段階と、現ピクチャおよび参照ピクチャのピクチャサイズおよびコンフォーマンスウインドウに基づいて現符号化ブロックをデコードするのに、双方向オプティカルフロー(BDOF)が用いられるかどうか、または有効かどうかを判定する段階と、現ブロックをデコードする段階とを含む。
【0183】
一実施形態では、現ピクチャおよび参照ピクチャのピクチャサイズおよびコンフォーマンスウインドウが異なる場合、BDOFは現符号化ブロックのデコーディングに用いられない、または無効である。
【0184】
一実施形態では、映像ビットストリームをデコードする方法が提供される。ビットストリームは、複数のパラメータセットおよび複数のピクチャを有する。複数のピクチャの各ピクチャは、複数のスライスを含む。複数のスライスの各スライスは、複数の符号化ブロックを含む。本方法は、パラメータセットを解析して、現ピクチャcurrPicと関連付けられたピクチャサイズおよびコンフォーマンスウインドウサイズを取得する段階を備える。取得した情報は、現ピクチャのピクチャサイズおよびクロップされたサイズを導出するのに用いられる。本方法はさらに、別のパラメータセットを解析して、参照ピクチャrefPicと関連付けられたピクチャサイズおよびコンフォーマンスウインドウサイズを取得する段階を含む。取得した情報は、参照ピクチャのピクチャサイズおよびクロップされたサイズを導出するのに用いられる。本方法はさらに、現ピクチャcurrPic内に位置する現ブロックcurBlockをデコードするための参照ピクチャとしてrefPicを決定する段階と、現ピクチャおよび参照ピクチャのピクチャサイズおよびコンフォーマンスウインドウに基づいて現符号化ブロックをデコードするのに、デコーダ側動きベクトル微調整(DMVR)が用いられるのか、または有効なのかを判定する段階と、現ブロックをデコードする段階とを含む。
【0185】
一実施形態では、現ピクチャおよび参照ピクチャのピクチャサイズおよびコンフォーマンスウインドウが異なる場合、DMVRは現符号化ブロックのデコーディングに用いられない、または無効である。
【0186】
一実施形態では、映像ビットストリームをエンコードする方法が提供される。一実施形態において、ビットストリームは、複数のパラメータセットおよび複数のピクチャを有する。複数のピクチャの各ピクチャは、複数のスライスを含む。複数のスライスの各スライスは、複数の符号化ブロックを含む。本方法は、現ピクチャcurrPicと関連付けられたピクチャサイズおよびコンフォーマンスウインドウサイズを含んだパラメータセットを生成する段階を備える。この情報は、現ピクチャのピクチャサイズおよびクロップされたサイズを導出するのに用いられる。本方法はさらに、参照ピクチャrefPicと関連付けられたピクチャサイズおよびコンフォーマンスウインドウサイズを含んだ別のパラメータセットを生成する段階を含む。取得した情報は、参照ピクチャのピクチャサイズおよびクロップされたサイズを導出するのに用いられる。本方法はさらに、現ピクチャおよび参照ピクチャのピクチャサイズおよびコンフォーマンスウインドウが異なる場合、現ピクチャcurrPicに属する全スライスの時間動きベクトル予測(TMVP)に対して、参照ピクチャrefPicが同一位置の参照ピクチャとして用いられてはならないと制約する段階を含む。すなわち、参照ピクチャrefPicがTMVP用の現ピクチャcurrPicに含まれるブロックを符号化するための同一位置の参照ピクチャである場合、現ピクチャおよび参照ピクチャのピクチャサイズおよびコンフォーマンスウインドウは同じでなければならないと制約する。本方法はさらに、ビットストリームをデコードする段階を含む。
【0187】
一実施形態では、映像ビットストリームをデコードする方法が提供される。ビットストリームは、複数のパラメータセットおよび複数のピクチャを有する。複数のピクチャの各ピクチャは、複数のスライスを含む。複数のスライスの各スライスは、複数の符号化ブロックを含む。本方法は、パラメータセットを解析して、現ピクチャcurrPicと関連付けられたピクチャサイズおよびコンフォーマンスウインドウサイズを取得する段階を備える。取得した情報は、現ピクチャのピクチャサイズおよびクロップされたサイズを導出するのに用いられる。本方法はさらに、別のパラメータセットを解析して、参照ピクチャrefPicと関連付けられたピクチャサイズおよびコンフォーマンスウインドウサイズを取得する段階を含む。取得した情報は、参照ピクチャのピクチャサイズおよびクロップされたサイズを導出するのに用いられる。本方法はさらに、現ピクチャcurrPic内に位置する現ブロックcurBlockをデコードするための参照ピクチャとしてrefPicを決定する段階と、シンタクス要素(slice_DVMR_BDOF_enable_flag)を解析して、デコーダ側動きベクトル微調整(DMVR)および/または双方向オプティカルフロー(BDOF)が現符号化ピクチャおよびスライスのデコーディングに用いられるのか、または有効なのかを判定する段階とを含む。本方法はさらに、parameterSetAに含まれるコンフォーマンスウインドウconfWinAとparameterSetBに含まれるconfWinBとが同じではない場合、またはparameterSetAに含まれるpicSizeAおよびparameterSetBに含まれるpicSizeBの各値が同じではない場合、シンタクス要素(slice_DVMR_BDOF_enable_flag)の値がゼロになるように制約する段階を含む。
【0188】
下記の説明は、基本テキストに関するものであり、VVCワーキングドラフトである。すなわち、増分だけが示され、基本テキストに含まれる後述されないテキストはそのまま適用される。削除されたテキストは、イタリック体で示されており、追加テキストは太字である。
【0189】
シーケンスパラメータセットのシンタクスおよびセマンティックスが提供される。
【表4】
【0190】
max_width_in_luma_samplesでは、このSPSがアクティブであるあらゆるピクチャのpic_width_in_luma_samplesがmax_width_in_luma_samplesより小さいまたはそれと等しいということがビットストリームコンフォーマンスの要件であることを規定する。
【0191】
max_height_in_luma_samplesでは、このSPSがアクティブであるあらゆるピクチャのpic_height_in_luma_samplesがmax_height_in_luma_samplesより小さいまたはそれと等しいということがビットストリームコンフォーマンスの要件であることを規定する。
【0192】
ピクチャパラメータセットのシンタクスおよびセマンティックスが提供される。
【表5】
【0193】
pic_width_in_luma_samplesでは、PPSを参照するそれぞれのデコードされたピクチャの幅をルーマサンプルの単位で規定する。pic_width_in_luma_samplesは0と等しくてはならず、MinCbSizeYの整数倍でなければならない。
【0194】
pic_height_in_luma_samplesでは、PPSを参照するそれぞれのデコードされたピクチャの高さをルーマサンプルの単位で規定する。pic_height_in_luma_samplesは0と等しくてはならず、MinCbSizeYの整数倍でなければならない。
【0195】
幅および高さがreference_pic_width_in_luma_samplesおよびreference_pic_height_in_luma_samplesであるどのアクティブ参照ピクチャに対しても下記の条件の全てが満たされることが、ビットストリームコンフォーマンスの要件である。
【0196】
・2×pic_width_in_luma_samples≧reference_pic_width_in_luma_samples
【0197】
・2×pic_height_in_luma_samples≧reference_pic_height_in_luma_samples
【0198】
・pic_width_in_luma_samples≦8×reference_pic_width_in_luma_samples
【0199】
・pic_height_in_luma_samples≦8×reference_pic_height_in_luma_samples
【0200】
変数のPicWidthInCtbsY、PicHeightInCtbsY、PicSizeInCtbsY、PicWidthInMinCbsY、PicHeightInMinCbsY、PicSizeInMinCbsY、PicSizeInSamplesY、PicWidthInSamplesC、およびPicHeightInSamplesCは、次のように導出される。
【0201】
・PicWidthInCtbsY=Ceil(pic_width_in_luma_samples/CtbSizeY) (1)
【0202】
・PicHeightInCtbsY=Ceil(pic_height_in_luma_samples/CtbSizeY) (2)
【0203】
・PicSizeInCtbsY=PicWidthInCtbsY×PicHeightInCtbsY (3)
【0204】
・PicWidthInMinCbsY=pic_width_in_luma_samples/MinCbSizeY (4)
【0205】
・PicHeightInMinCbsY=pic_height_in_luma_samples/MinCbSizeY (5)
【0206】
・PicSizeInMinCbsY=PicWidthInMinCbsY×PicHeightInMinCbsY (6)
【0207】
・PicSizeInSamplesY=pic_width_in_luma_samples×pic_height_in_luma_samples (7)
【0208】
・PicWidthInSamplesC=pic_width_in_luma_samples/SubWidthC (8)
【0209】
・PicHeightInSamplesC=pic_height_in_luma_samples/SubHeightC (9)
【0210】
1と等しいconformance_window_flagは、コンフォーマンスクロッピングウィンドウのオフセットパラメータが、PPSでは次に続くことを示す。0と等しいconformance_window_flagは、コンフォーマンスクロッピングウィンドウのオフセットパラメータが存在しないことを示す。
【0211】
conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、およびconf_win_bottom_offsetでは、PPSを参照しデコーディングプロセスから出力されるピクチャのサンプルを、出力のためにピクチャ座標で規定される矩形領域によって規定する。conformance_window_flagが0と等しい場合、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、およびconf_win_bottom_offsetの値は0と等しいと推測される。
【0212】
コンフォーマンスクロッピングウィンドウは、[SubWidthC×conf_win_left_offset]から[pic_width_in_luma_samples-(SubWidthC×conf_win_right_offset+1)]までの水平ピクチャ座標(境界を含む)と、[SubHeightC×conf_win_top_offset]から[pic_height_in_luma_samples-(SubHeightC×conf_win_bottom_offset+1)]までの垂直ピクチャ座標(境界を含む)とを有するルーマサンプルを含む。
【0213】
[SubWidthC×(conf_win_left_offset+conf_win_right_offset)]の値は、pic_width_in_luma_samplesより小さくなければならない。また[SubHeightC×(conf_win_top_offset+conf_win_bottom_offset)]の値は、pic_height_in_luma_samplesより小さくなければならない。
【0214】
変数のPicOutputWidthLおよびPicOutputHeightLは、次のように導出される。
【0215】
・PicOutputWidthL=pic_width_in_luma_samples-SubWidthC×(conf_win_right_offset+conf_win_left_offset) (10)
【0216】
・PicOutputHeightL=pic_height_in_pic_size_units-SubHeightC×(conf_win_bottom_offset+conf_win_top_offset) (11)
【0217】
ChromaArrayTypeが0と等しくない場合、2つのクロマ配列の対応する規定されたサンプルは、ピクチャ座標が(x/SubWidthC,y/SubHeightC)のサンプルであり、(x,y)は規定されたルーマサンプルのピクチャ座標である。
【0218】
注記:コンフォーマンスクロッピングウィンドウのオフセットパラメータは出力でしか適用されない。全ての内部デコーディングプロセスは、クロップしていないピクチャサイズに適用される。
【0219】
PPS_AおよびPPS_Bが同じシーケンスパラメータセットを参照するピクチャパラメータセットだとすると、PPS_AおよびPPS_Bに含まれるpic_width_in_luma_samplesの各値が同じであり、且つPPS_AおよびPPS_Bに含まれるpic_height_in_luma_samplesの各値が同じである場合、下記の条件が全て当てはまらなければならないというのが、ビットストリームコンフォーマンスの要件である。
・PPS_AおよびPPS_Bに含まれるconf_win_left_offsetの各値が同じである。
・PPS_AおよびPPS_Bに含まれるconf_win_right_offsetの各値が同じである。
・PPS_AおよびPPS_Bに含まれるconf_win_top_offsetの各値が同じである。
・PPS_AおよびPPS_Bに含まれるconf_win_bottom_offsetの各値が同じである。
【0220】
下記の制約は、collocated_ref_idxのセマンティックスに加えられる。
【0221】
collocated_ref_idxは、時間動きベクトル予測に用いられる同一位置のピクチャの参照インデックスを規定する。
【0222】
slice_typeがPと等しい場合、またはslice_typeがBと等しく且つcollocated_from_l0_flagが1と等しい場合、collocated_ref_idxはリスト0にあるピクチャを参照し、collocated_ref_idxの値は0~(NumRefIdxActive[0]-1)の範囲内(境界を含む)になければならない。
【0223】
slice_typeがBと等しい且つcollocated_from_l0_flagが0と等しい場合、collocated_ref_idxはリスト1にあるピクチャを参照し、collocated_ref_idxの値は0~(NumRefIdxActive[1]-1)の範囲内(境界を含む)になければならない。
【0224】
collocated_ref_idxが存在しない場合、collocated_ref_idxの値は0と等しいと推測される。
【0225】
collocated_ref_idxにより参照されるピクチャは符号化ピクチャの全スライスに共通でなければならないということが、ビットストリームコンフォーマンスの要件である。
【0226】
collocated_ref_idxおよび現ピクチャにより参照される参照ピクチャの解像度は同じでなければならないということが、ビットストリームコンフォーマンスの要件である。
【0227】
collocated_ref_idxおよび現ピクチャにより参照される参照ピクチャのピクチャサイズおよびコンフォーマンスウインドウは同じでなければならないということが、ビットストリームコンフォーマンスの要件である。
【0228】
dmvrFlagを1に設定するための下記の条件が修正される。
【0229】
・下記の条件の全てが当てはまる場合、dmvrFlagは1と等しく設定される。
【0230】
・sps_dmvr_enabled_flagが1と等しい。
【0231】
・general_merge_flag[xCb][yCb]が1と等しい。
【0232】
・predFlagL0[0][0]およびpredFlagL1[0][0]が両方とも1と等しい。
【0233】
・mmvd_merge_flag[xCb][yCb]が0と等しい。
【0234】
・DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])が、DiffPicOrderCnt(RefPicList[1][refIdxL1],currPic)と等しい。
【0235】
・BcwIdx[xCb][yCb]が0と等しい。
【0236】
・luma_weight_l0_flag[refIdxL0]およびluma_weight_l1_flag[refIdxL1]が両方とも0と等しい。
【0237】
・cbWidthが8より大きいまたはこれと等しい。
【0238】
・cbHeightが8より大きいまたはこれと等しい。
【0239】
・cbHeight×cbWidthが128より大きいまたはこれと等しい。
【0240】
・Xが0および1のそれぞれである場合、refIdxLXと関連付けられた参照ピクチャrefPicLXのpic_width_in_luma_samplesおよびpic_height_in_luma_samplesはそれぞれ、現ピクチャのpic_width_in_luma_samplesおよびpic_height_in_luma_samplesと等しい。
【0241】
・Xが0および1のそれぞれである場合、refIdxLXと関連付けられた参照ピクチャrefPicLXのpic_width_in_luma_samples、pic_height_in_luma_samples、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、およびconf_win_bottom_offsetはそれぞれ、現ピクチャのpic_width_in_luma_samples、pic_height_in_luma_samples、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、およびconf_win_bottom_offsetと等しい。
【0242】
dmvrFlagを1に設定するための下記の条件が修正される。
【0243】
・下記の条件の全てが当てはまる場合、bdofFlagはTRUEと等しく設定される。
【0244】
・sps_bdof_enabled_flagが1と等しい。
【0245】
・predFlagL0[xSbIdx][ySbIdx]およびpredFlagL1[xSbIdx][ySbIdx]が両方とも1と等しい。
【0246】
・DiffPicOrderCnt(currPic,RefPicList[0][refIdxL0])×DiffPicOrderCnt(currPic,RefPicList[1][refIdxL1])が0より小さい。
【0247】
・MotionModelIdc[xCb][yCb]が0と等しい。
【0248】
・merge_subblock_flag[xCb][yCb]が0と等しい。
【0249】
・sym_mvd_flag[xCb][yCb]が0と等しい。
【0250】
・BcwIdx[xCb][yCb]が0と等しい。
【0251】
・luma_weight_l0_flag[refIdxL0]およびluma_weight_l1_flag[refIdxL1]が両方とも0と等しい。
【0252】
・cbHeightが8より大きいまたはこれと等しい。
【0253】
・Xが0および1のそれぞれである場合、refIdxLXと関連付けられた参照ピクチャrefPicLXのpic_width_in_luma_samplesおよびpic_height_in_luma_samplesはそれぞれ、現ピクチャのpic_width_in_luma_samplesおよびpic_height_in_luma_samplesと等しい。
【0254】
・Xが0および1のそれぞれである場合、refIdxLXと関連付けられた参照ピクチャrefPicLXのpic_width_in_luma_samples、pic_height_in_luma_samples、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、およびconf_win_bottom_offsetはそれぞれ、現ピクチャのpic_width_in_luma_samples、pic_height_in_luma_samples、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、およびconf_win_bottom_offsetと等しい。
【0255】
・cIdxが0と等しい。
【0256】
図13は、本開示の一実施形態による映像符号化デバイス1300(例えば、映像エンコーダ20または映像デコーダ30)の概略図である。映像符号化デバイス1300は、本明細書で説明したような、開示された実施形態を実装するのに好適である。映像符号化デバイス1300は、データを受信するための入口ポート1310および受信ユニット(Rx)1320と、データを処理するプロセッサ、論理ユニット、または中央演算処理装置(CPU)1330と、データを送信するための送信ユニット(Tx)1340および出口ポート1350と、データを格納するためのメモリ1360とを備える。映像符号化デバイス1300は、入口ポート1310、受信ユニット1320、送信ユニット1340、および出口ポート1350に結合された、光信号または電気信号の出口または入口用の光/電気(OE)変換コンポーネントおよび電気/光(EO)変換コンポーネントも備えてよい。
【0257】
プロセッサ1330は、ハードウェアおよびソフトウェアによって実装される。プロセッサ1330は、1つまたは複数のCPUチップ、コア(例えば、マルチコアプロセッサとして)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびデジタル信号プロセッサ(DSP)として実装されてよい。プロセッサ1330は、入口ポート1310、受信ユニット1320、送信ユニット1340、出口ポート1350、およびメモリ1360と通信する。プロセッサ1330は、符号化モジュール1370を有する。符号化モジュール1370は、上述の開示された実施形態を実装する。例えば、符号化モジュール1370は、様々なコーデック機能を実装する、処理する、準備する、または提供する。したがって、符号化モジュール1370を含むことで、映像符号化デバイス1300の機能性に大幅な改善がもたらされ、映像符号化デバイス1300の別の状態への変化が生じる。あるいは、符号化モジュール1370は、メモリ1360に格納され且つプロセッサ1330により実行される命令として実装される。
【0258】
映像符号化デバイス1300は、ユーザとの間でデータをやり取りするための入力および/または出力(I/O)デバイス1380も含んでよい。I/Oデバイス1380は、映像データを表示するためのディスプレイ、オーディオデータを出力するためのスピーカなどといった出力デバイスを含んでよい。I/Oデバイス1380は、キーボード、マウス、トラックボールなどといった入力デバイス、および/またはそのような出力デバイスとやり取りするための対応するインタフェースも含んでよい。
【0259】
メモリ1360には、1つまたは複数のディスク、テープドライブ、およびソリッドステートドライブが含まれ、このメモリは、プログラムが実行のために選択されたときにそのようなプログラムを格納するために、またプログラム実行中に読み出される命令およびデータを格納するために、オーバーフローデータ記憶デバイスとして用いられてよい。メモリ1360は、揮発性および/または不揮発性でよく、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、三値連想メモリ(TCAM)および/またはスタティックランダムアクセスメモリ(SRAM)でよい。
【0260】
図14は、符号化の手段1400に関する一実施形態の概略図である。一実施形態において、符号化の手段1400は、映像符号化デバイス1402(例えば、映像エンコーダ20または映像デコーダ30)に実装される。映像符号化デバイス1402は受信手段1401を含む。受信手段1401は、エンコードするピクチャを受信するように、またはデコードするビットストリームを受信するように構成される。映像符号化デバイス1402は、受信手段1401に結合された送信手段1407を含む。送信手段1407は、ビットストリームをデコーダに送信するように、またはデコードされた画像を表示手段(例えば、複数のI/Oデバイス1380のうちの1つ)に送信するように構成される。
【0261】
映像符号化デバイス1402は記憶手段1403を含む。記憶手段1403は、受信手段1401または送信手段1407のうちの少なくとも一方に結合される。記憶手段1403は、命令を格納するように構成される。映像符号化デバイス1402は処理手段1405も含む。処理手段1405は記憶手段1403に結合される。処理手段1405は、記憶手段1403に格納された命令を実行して、本明細書で開示された方法を行うように構成される。
【0262】
本明細書に記載された例示的な方法の各段階は、必ずしも説明された順序で行われる必要はなく、そのような方法の各段階の順序は単なる例示であると理解されるべきであることも理解されたい。同様に、本開示の様々な実施形態と一致した方法において、そのような方法に追加の段階が含まれてよく、特定の段階が省略されても組み合わされてもよい。
【0263】
本開示ではいくつかの実施形態を提供したが、開示したシステムおよび方法は、本開示の趣旨または範囲から逸脱することなく、多数の他の特定の形態で具現化され得ることを理解されたい。本実施例は、例示的であって限定的ではないとみなされるべきであり、その目的は、本明細書に示された詳細に限定することではない。例えば、様々な要素またはコンポーネントが別のシステムに組み合わされても統合されてもよく、または特定の特徴が省略されても実装されなくてもよい。
【0264】
さらに、様々な実施形態において別々のものまたは異なるものとして説明され且つ示された手法、システム、サブシステム、および方法が、本開示の範囲から逸脱することなく、他のシステム、モジュール、手法、または方法と組み合わされても一体化されてもよい。互いに結合されているもしくは直接的に結合されている、または互いに通信するものとして示されまたは説明された他の物が、電気的であっても、機械的であっても、または別のやり方であっても、何らかのインタフェース、デバイス、または中間コンポーネントを介して間接的に結合されても、通信してもよい。変更、置換、および修正に関する他の例が、当業者によって確認可能であり、こうした例は本明細書に開示された趣旨および範囲から逸脱することなく行われ得る。
[他の考え得る項目]
(項目1)
映像デコーダにより実施されるデコーディングの方法であって、
それぞれ同じシーケンスパラメータセットを参照する第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを前記映像デコーダが受信する段階であって、前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットがピクチャ幅およびピクチャ高さに関して同じ値を有する場合、前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットはコンフォーマンスウインドウに関して同じ値を有する、受信する段階と、
前記映像デコーダが前記第1のピクチャパラメータセットまたは前記第2のピクチャパラメータセットに対応する現ピクチャに前記コンフォーマンスウインドウを適用する段階と、
を備える方法。
(項目2)
前記コンフォーマンスウインドウが、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、およびコンフォーマンスウインドウ下側オフセットを有する、項目1に記載の方法。
(項目3)
前記方法がさらに、前記第1のピクチャパラメータセットまたは前記第2のピクチャパラメータセットに対応する前記現ピクチャを、前記コンフォーマンスウインドウが適用された後にインター予測を用いてデコードする段階であって、前記インター予測はリサンプリングされた参照ピクチャに基づいている、デコードする段階を備える、項目1から2のいずれかに記載の方法。
(項目4)
前記方法がさらに、前記第1のピクチャセットまたは前記第2のピクチャセットに対応する前記現ピクチャと関連付けられた参照ピクチャを、参照ピクチャリサンプリング(RPS)を用いてリサンプリングする段階を備える、項目1から3のいずれかに記載の方法。
(項目5)
前記参照ピクチャの前記リサンプリングが、前記第1のピクチャセットまたは前記第2のピクチャセットに対応する前記現ピクチャをインター予測するのに用いられる前記参照ピクチャの解像度を変更する、項目1から4のいずれかに記載の方法。
(項目6)
前記ピクチャ幅および前記ピクチャ高さがルーマサンプルで測定される、項目1から5のいずれかに記載の方法。
(項目7)
前記方法がさらに、前記現ピクチャの前記ピクチャ幅、前記ピクチャ高さ、および前記コンフォーマンスウインドウと前記現ピクチャの参照ピクチャとに基づいて前記ピクチャをデコードするのに双方向オプティカルフロー(BDOF)が有効かどうかを判定する段階を備える、項目1から6のいずれかに記載の方法。
(項目8)
前記方法がさらに、前記現ピクチャの前記ピクチャ幅、前記ピクチャ高さ、および前記コンフォーマンスウインドウと前記現ピクチャの参照ピクチャとに基づいて前記ピクチャをデコードするのにデコーダ側動きベクトル微調整(DMVR)が有効かどうかを判定する段階を備える、項目1から6のいずれかに記載の方法。
(項目9)
前記方法がさらに、前記現ブロックを用いて生成された画像を電子デバイスのディスプレイに表示する段階を備える、項目1から6のいずれかに記載の方法。
(項目10)
映像エンコーダにより実施されるエンコーディングの方法であって、
それぞれ同じシーケンスパラメータセットを参照する第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを前記映像エンコーダが生成する段階であって、前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットがピクチャ幅およびピクチャ高さに関して同じ値を有する場合、前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットはコンフォーマンスウインドウに関して同じ値を有する、生成する段階と、
前記映像エンコーダが前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットを映像ビットストリームにエンコードする段階と、
前記映像エンコーダが前記映像ビットストリームを映像デコーダに送信するために格納する段階と、
を備える方法。
(項目11)
前記コンフォーマンスウインドウが、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、およびコンフォーマンスウインドウ下側オフセットを有する、項目10に記載の方法。
(項目12)
前記ピクチャ幅および前記ピクチャ高さがルーマサンプルで測定される、項目10から11のいずれかに記載の方法。
(項目13)
前記方法がさらに、前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットを含む前記映像ビットストリームを前記映像デコーダに送信する段階を備える、項目10から12のいずれかに記載の方法。
(項目14)
符号化映像ビットストリームを受信するように構成された受信機と
前記受信機に結合されたメモリであって、前記メモリは命令を格納する、メモリと、
前記メモリに結合されたプロセッサであって、前記プロセッサは前記命令を実行して前記デコーディングデバイスに、
それぞれ同じシーケンスパラメータセットを参照する第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを受信することであって、前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットがピクチャ幅およびピクチャ高さに関して同じ値を有する場合、前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットはコンフォーマンスウインドウに関して同じ値を有する、受信することと、
前記第1のピクチャパラメータセットまたは前記第2のピクチャパラメータセットに対応する現ピクチャに前記コンフォーマンスウインドウを適用することと、
を行わせるように構成される、プロセッサと、
を備えるデコーディングデバイス。
(項目15)
前記コンフォーマンスウインドウが、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、およびコンフォーマンスウインドウ下側オフセットを有する、項目14に記載のデコーディングデバイス。
(項目16)
前記デコーディングデバイスがさらに、前記第1のピクチャパラメータセットまたは前記第2のピクチャパラメータセットに対応する前記現ピクチャを、前記コンフォーマンスウインドウが適用された後にインター予測を用いてデコードすることであって、前記インター予測はリサンプリングされた参照ピクチャに基づいている、デコードすることを備える、項目14から15のいずれかに記載のデコーディングデバイス。
(項目17)
前記デコーディングデバイスがさらに、前記現ピクチャに基づいて生成された画像を表示するように構成されたディスプレイを備える、項目15から16のいずれかに記載のデコーディングデバイス。
(項目18)
エンコーディングデバイスであって、
命令を含むメモリと、
前記メモリに結合されたプロセッサであって、前記プロセッサは前記命令を実施して前記エンコーディングデバイスに、
それぞれ同じシーケンスパラメータセットを参照する第1のピクチャパラメータセットおよび第2のピクチャパラメータセットを生成することであって、前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットがピクチャ幅およびピクチャ高さに関して同じ値を有する場合、前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットはコンフォーマンスウインドウに関して同じ値を有する、生成することと、
前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットを映像ビットストリームにエンコードすることと、
を行わせるように構成される、プロセッサと、
前記プロセッサに結合された送信機であって、前記送信機は前記第1のピクチャパラメータセットおよび前記第2のピクチャパラメータセットを含む前記映像ビットストリームを映像デコーダに送信するように構成される、送信機と、
を備えるエンコーディングデバイス。
(項目19)
前記コンフォーマンスウインドウが、コンフォーマンスウインドウ左側オフセット、コンフォーマンスウインドウ右側オフセット、コンフォーマンスウインドウ上側オフセット、およびコンフォーマンスウインドウ下側オフセットを有する、項目18に記載のエンコーディングデバイス。
(項目20)
前記ピクチャ幅および前記ピクチャ高さがルーマサンプルで測定される、項目18から19のいずれかに記載のエンコーディングデバイス。
(項目21)
エンコードするピクチャを受信するように、またはデコードするビットストリームを受信するように構成された受信機と、
前記受信機に結合された送信機であって、前記送信機は前記ビットストリームをデコーダに送信するように、またはデコード画像をディスプレイに送信するように構成される、送信機と、
前記受信機または前記送信機のうちの少なくとも一方に結合されたメモリであって、前記メモリは命令を格納するように構成される、メモリと、
前記メモリに結合されたプロセッサであって、前記プロセッサは前記メモリに格納された前記命令を実行して、項目1から9のいずれかおよび項目10から13のいずれかにおける方法を行うように構成される、プロセッサと、
を備える符号化装置。
(項目22)
前記符号化装置がさらに、画像を表示するように構成されたディスプレイを備える、項目20に記載の符号化装置。
(項目23)
エンコーダと、
前記エンコーダと通信するデコーダと、
を備えるシステムであって、前記エンコーダまたは前記デコーダは、項目15から22のいずれかに記載のデコーディングデバイス、エンコーディングデバイス、または符号化装置を含む、システム。
(項目24)
符号化するための手段であって、
エンコードするピクチャを受信するように、またはデコードするビットストリームを受信するように構成された受信手段と、
前記受信手段に結合された送信手段であって、前記送信手段は前記ビットストリームをデコーディング手段に送信するように、またはデコード画像を表示手段に送信するように構成される、送信手段と、
前記受信手段または前記送信手段のうちの少なくとも一方に結合された記憶手段であって、前記記憶手段は命令を格納するように構成される、記憶手段と、
前記記憶手段に結合された処理手段であって、前記処理手段は前記記憶手段に格納された前記命令を実行して、項目1から9のいずれかおよび項目10から13のいずれかにおける方法を行うように構成される、処理手段と、
を備える符号化するための手段。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【外国語明細書】