(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-14
(45)【発行日】2023-12-22
(54)【発明の名称】ビデオの符号化及び復号のための高レベルシンタックス
(51)【国際特許分類】
H04N 19/70 20140101AFI20231215BHJP
H04N 19/82 20140101ALI20231215BHJP
【FI】
H04N19/70
H04N19/82
(21)【出願番号】P 2022508942
(86)(22)【出願日】2020-12-18
(86)【国際出願番号】 EP2020087286
(87)【国際公開番号】W WO2021123357
(87)【国際公開日】2021-06-24
【審査請求日】2022-06-14
(32)【優先日】2019-12-20
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】ラロシュ, ギローム
(72)【発明者】
【氏名】オンノ, パトリス
(72)【発明者】
【氏名】ウエドラオゴ, ナエル
【審査官】鉢呂 健
(56)【参考文献】
【文献】特表2015-518352(JP,A)
【文献】BROSS, Benjamin et al.,Versatile Video Coding (Draft 7),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: Geneva, CH, 1-11 Oct. 2019, [JVET-P2001-vE],JVET-P2001 (version 14),ITU-T,2019年11月14日,<URL:https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v14.zip>: JVET-P2001-vE.docx: pp.45-52,56-59
【文献】WANG, Zhao et al.,AHG15: Signalling of CU level chroma QP offset,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 16th Meeting: Geneva, CH, 1-11 October 2019, [JVET-P0339-v4],JVET-P0339 (version 4),ITU-T,2019年10月08日,<URL:https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0339-v4.zip>: JVET-P0339-v4.docx: pp.1-8
【文献】LAROCHE, Guillaume et al.,AhG9: On the position of APS Ids in Picture Header,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 17th Meeting: Brussels, BE, 7-17 January 2020, [JVET-Q0379],JVET-Q0379 (version 1),ITU-T,2019年12月31日,<URL:https://jvet-experts.org/doc_end_user/documents/17_Brussels/wg11/JVET-Q0379-v1.zip>: JVET-Q0379.docx: pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビットストリームを復号する方法であって、前記ビットストリームは、
画像内の全てのスライスに
適用するシンタックス要素を含む
ピクチャヘッダを有し、
SAOに関するシンタックス要素を
前記ピクチャヘッダから復号する前に、
ALF(Adaptive loop filter)のAPS
(アダプテーションパラメータセット)のID
を特定する第1シンタックス要素
と、LMCS(Luma mapping with chroma scaling)のAPSのIDを特定する第2シンタックス要素と、スケーリングリストのAPSのIDを特定する第3シンタックス要素とを前記ピクチャヘッダから復号する工程と、
前記
復号されたシンタックス要素を用いて前記ビットストリームを復号する工程と、
を有することを特徴とする方法。
【請求項2】
ビデオデータをビットストリームに符号化する方法であって、前記ビットストリームは、
画像内の全てのスライスに
適用するシンタックス要素を
含むピクチャヘッダを
有し、
SAOに関するシンタックス要素
を前記ピクチャヘッダに符号化する前に、
ALF(Adaptive loop filter)のAPS
(アダプテーションパラメータセット)のID
を特定する第1シンタックス要素
と、LMCS(Luma mapping with chroma scaling)のAPSのIDを特定する第2シンタックス要素と、スケーリングリストのAPSのIDを特定する第3シンタックス要素とを、前記
ピクチャヘッダに符号化する工程と、
前記ビデオデータを符号化する工程と、
を有することを特徴とする方法。
【請求項3】
前記ピクチャヘッダにおいて、現在のピクチャが参照ピクチャとして決して使用されないことを示す
ためのシンタックス要素の後に
、前記第1シンタックス要素、前記第2シンタックス要素、および前記第3シンタックス要素があることを特徴とする請求項
1又は2に記載の方法。
【請求項4】
前記ピクチャヘッダにおいて、現在のピクチャが暫時デコーダリフレッシュピクチャ(gradual decoding refresh picture)であることを示す
ためのシンタックス要素の後に
、前記第1シンタックス要素、前記第2シンタックス要素、および前記第3シンタックス要素がある
ことを特徴とする請求項
1又は
2に記載の方法。
【請求項5】
前記ピクチャヘッダにおいて、復号ピクチャバッファ内の前回復号されたピクチャにおける変化を示すシンタックス要素の後に
、前記第1シンタックス要素、前記第2シンタックス要素、および前記第3シンタックス要素があることを特徴とする請求項
1又は2に記載の方法。
【請求項6】
前記ピクチャヘッダにおいて、ピクチャパラメータセット情報の後に
、前記第1シンタックス要素、前記第2シンタックス要素、および前記第3シンタックス要素がある
ことを特徴とする請求項
1又は2に記載の方法。
【請求項7】
ビットストリームを復号するデコーダであって、前記ビットストリームは、
画像内の全てのスライスに
適用するシンタックス要素を含む
ピクチャヘッダを有し、
SAOに関するシンタックス要素を
前記ピクチャヘッダから復号する前に
、ALF(Adaptive loop filter)のAPS
(アダプテーションパラメータセット)のID
を特定する第1シンタックス要素
と、LMCS(Luma mapping with chroma scaling)のAPSのIDを特定する第2シンタックス要素と、スケーリングリストのAPSのIDを特定する第3シンタックス要素とを前記ピクチャヘッダから復号する手段と、
前記
復号されたシンタックス要素を用いて前記ビットストリームを復号する手段と
を有することを特徴とするデコーダ。
【請求項8】
ビデオデータをビットストリームに符号化するエンコーダであって、前記ビットストリームは、
画像内の全てのスライスに
適用するシンタックス要素を
含むピクチャヘッダを有し、
SAOに関するシンタックス要素
を前記ピクチャヘッダに符号化する前に、
ALF(Adaptive loop filter)のAPS
(アダプテーションパラメータセット)のID
を特定する第1シンタックス要素と、LMCS(Luma mapping with chroma scaling)のAPSのIDを特定する第2シンタックス要素と、スケーリングリストのAPSのIDを特定する第3シンタックス要素とを、前記
ピクチャヘッダに符号化する手段と、
前記ビデオデータを符号化する手段と、
を有することを特徴とするエンコーダ。
【請求項9】
コンピュータに、請求項1乃至
6のいずれか1項に記載の方法の各工程を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はビデオの符号化及び復号に関し、特に、ビットストリームにおいて使用される高レベルシンタックスに関するものである。
【背景技術】
【0002】
最近、MPEGとITU-T Study Group 16のVCEGによって形成された共同チームであるJoint Video Exparts Team(JVET)は、Versatile Video Coding(VVC)と呼ばれる新しいビデオ符号化規格の研究を開始した。VVCの目標は、既存のHEVC標準(すなわち、典型的には以前の2倍)を超える圧縮性能の著しい改善を提供し、2020年に完了することである。主なターゲットアプリケーションおよびサービスは、360度および高ダイナミックレンジ(HDR)ビデオ(これに限定されないが)を含む。総じて、JVETは、独立した試験所が実施した正式な主観的試験を用いて、32団体からの応答を評価した。いくつかの提案は、HEVCを使用する場合と比較して、典型的には40%以上の圧縮効率ゲインを実証した。超高精細(UHD)ビデオ試験材料について特に有効性を示した。したがって、圧縮効率の向上は、最終標準の目標とする50%をはるかに超えることが予想される。
【発明の概要】
【発明が解決しようとする課題】
【0003】
JVET探索モデル(JEM)は、全てのHEVCツールを使用し、多数の新しいツールを導入した。これらの変更により、ビットストリームの構造、特にビットストリーム全体のビットレートに影響を与える可能性のある高レベルシンタックスの変更が必要になった。
【0004】
高レベルシンタックスの重要な変更の1つは、ビットストリームに“ピクチャヘッダ”を導入することである。ピクチャヘッダは、特定のピクチャ(またはフレーム)内の各スライスのデコードに使用されるシンタックス要素(syntax elements)を指定するヘッダである。このように、ピクチャヘッダは、ビットストリーム内のスライスに関連するデータの前に配置され、スライスはそれぞれ独自の「スライスヘッダ」を持つ。この構造は、
図6を参照して以下により詳細に説明される。
【0005】
第16回会合の文書JVET-P0239:ジュネーブ、CH、1-11、2019年10月、題名「AHG17:ピクチャヘッダ」は、VVCへの必須ピクチャヘッダの導入を提案し、これは、文書JVET_P2001としてアップロードされる汎用ビデオ符号化(草稿7)として採用された。
【0006】
しかしながら、このヘッダには多数のパラメータがあり、これらはすべてが特定のデコードツールを使用するために解析(parse)する必要がある。
【0007】
本発明はこの解析プロセスを単純化するためのピクチャヘッダの構造の改善に関し、これは、符号化性能を劣化させることなく、複雑さを低減することにつなげるものである。
【0008】
特に、ピクチャヘッダの先頭(begining)にAPS ID情報に関連するシンタックス要素を設定することによって、これらの要素を最初に解析できるため、ヘッダの残りの部分を解析する必要がなくなる可能性がある。
【0009】
同様に、スライスヘッダにAPS ID情報に関するシンタックス要素がある場合、これらはスライスヘッダの先頭に設定される。
【0010】
一例では、ピクチャヘッダおよびスライスヘッダの早い段階で、APS IDに関連するシンタックス要素を移動することが提案される。この修正の目的は、未使用のAPSを削除するためにピクチャヘッダとスライスヘッダでAPS IDを追跡する必要がある一部のストリーミングアプリケーションの解析の複雑さを減らすことである。提案した修正はBDR性能に影響を及ぼさない。
【0011】
これにより、APS ID情報がヘッダから必要なすべてである可能性があるストリーミングアプリケーションの解析の複雑さが軽減される。他のストリーミング関連のシンタックス要素も、同じ理由でヘッダの先頭に向かって移動される可能性がある。
【0012】
「先頭(begining)」という用語は、APS ID情報に関連するシンタックス要素の前に多数の導入シンタックス要素が存在する可能性があるため、それぞれのヘッダの最初のエントリを意味しないことが理解されるべきである。詳細な説明は様々な例を示しているが、一般的な定義はAPS ID情報に関連するシンタックス要素がデコードツールに関連するシンタックス要素の前に提供されることである。ある特定の例ではALF、LMCS、およびスケーリングリストのAPS IDに関連するシンタックス要素は、poc_msb_val シンタックス要素の直後に設定される。
【課題を解決するための手段】
【0013】
本発明の態様によれば、ビットストリームからビデオデータを復号する方法が提供される。ここで、ビデオデータは1以上のスライスに対応し、前記ビットストリームは1以上のスライスを復号するときに使用するシンタックス要素を含むヘッダを有し、前記復号することは、前記ヘッダから、解析すること、少なくとも1つのシンタックス要素は、復号ツールを復号するために宣言されるシンタックス要素を解析する前に、APS ID復号ツールに関するものであり、前記シンタックス要素を利用して前記ビットストリームを復号することを有する。
【0014】
本発明の他の態様によれば、ビデオデータをビットストリームに符号化する方法が提供される。ここで、前記ビットストリームは1以上のスライスに対応するビデオデータを有し、前記ビットストリームは、1以上のスライスを復号するときに使用するシンタックス要素を有するヘッダを備える。そして、前記符号化は、復号ツールを復号するために宣言されるシンタックス要素の前にAPS ID復号ツールに関する少なくとも1つのシンタックス要素を有するヘッダを符号化することを有する。
【0015】
上記の復号する方法及び符号化する方法の対応の両方のオプショナル特徴は、次の通りである。
オプションで、前記ヘッダは、ピクチャ内の複数のスライスを復号するときに用いるシンタックス要素を有するピクチャヘッダである。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、現在のピクチャが参照ピクチャとして決して使用されないことを示すシンタックス要素の後にある。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、現在のピクチャが暫時デコーダリフレッシュピクチャ(gradual decoding refresh picture)であることを示すシンタックス要素の後にある。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、復号ピクチャバッファ内の前回復号されたピクチャにおける変化を示すシンタックス要素の後にある。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、ピクチャタイプ情報の後にある。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、ピクチャパラメータセット情報の後にある。
オプションで、前記ヘッダはスライスヘッダである。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、サブピクチャ情報の後にある。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、現在のスライスのサブピクチャIDを示すシンタックス要素の後にある。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、スライスのアドレスを示すシンタックス要素の後にある。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、スライス内のタイル数を示すシンタックス要素の後にある。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、現在のスライスのタイプを示すシンタックス要素の後にある。
オプションで、前記復号ツールを復号するために宣言される前記シンタックス要素は、低レベルツールパラメータを有する。
オプションで、前記低レベルツールパラメータは、デブロッキングフィルタパラメータを有する。
オプションで、前記低レベルツールパラメータは、量子化パラメータを有する。
オプションで、前記低レベルツールパラメータは、SAOパラメータを有する。
オプションで、前記低レベルツールパラメータは、2色の残差サンプルの符号が反転した符号であることを示すシンタック要素を有する。
オプションで、前記低レベルツールパラメータは、動きパラメータを有する。
オプションで、前記低レベルツールパラメータは、QPオフセットパラメータを有する。
オプションで、前記低レベルツールパラメータは、パーティショニングパラメータを有する。
オプションで、前記低レベルツールパラメータは、参照ピクチャリストパラメータを有する。
オプションで、前記低レベルツールパラメータは、現在のピクチャが出力ピクチャであることを示すシンタックス要素を有する。
オプションで、前記低レベルツールパラメータは、色プレーンインデックスを示すシンタックス要素を有する。
オプションで、前記低レベルツールパラメータは、CABAC初期化フラグを有する。
オプションで、前記低レベルツールパラメータは、並置された(collocated)予測パラメータを有する。
オプションで、前記低レベルツールパラメータは、重みづけ予測パラメータを有する。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、APS ID LMCSを有する。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、APS IDスケーリングリストを有する。
オプションで、前記APSスケーリングリストは、LNSTメソッドにおけるスケーリングマトリクスを有効にするための情報を有する。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、APS ID ALFリストを有する。
オプションで、前記APS ALFリストは、クリップ値のシグナリングに関する情報を有する。
【0016】
本発明の態様によれば、ビデオデータをビットストリームに符号化する方法が提供される。ここで、前記ビットストリームは複数のピクチャとAPSトランスミッションに対応するビデオデータを有する。そして、前記符号化は、前記ビットストリームに、再同期ピクチャの存在をシグナリングすること、前ピクチャのAPS IDが後続するピクチャにて使用されないことの前記シグナリングに基づきAPS IDをリセットすることを有する。
【0017】
オプションで、前記ピクチャが再同期工程に関するか否かの判定は、前記ピクチャがIRAP又はGDRピクチャであるかどうかを判定することを有する。
【0018】
本発明の態様によれば、ビットストリームからビデオデータを復号するデコーダが提供される。ここで、ここで前記ビットストリームは1以上のスライスに対応するビデオデータを有し、前記ビットストリームは、1以上のスライスを復号するときに使用するシンタックス要素を有するヘッダを有する。そして、デコーダは、前記ヘッダから、復号ツールに宣言されたシンタックス要素を解析する前にAPS ID復号ツールに関する少なくとも1つのシンタックス要素を解析する手段と、前記シンタックス要素を用いて前記ビットストリームを復号する手段とを有する。
【0019】
本発明の態様によれば、ビデオデータをビットストリームに符号化するエンコーダが提供される。ここで、ここで前記ビットストリームは1以上のスライスに対応するビデオデータを有し、前記ビットストリームは、1以上のスライスを復号するときに使用するシンタックス要素を有するヘッダを有する。ここで、前記エンコーダは、復号ツールを復号するために宣言されたシンタックス要素の前にAPS ID復号ツールに関する少なくとも1つのシンタックス要素を持つヘッダを符号化する手段をを有する。
【0020】
本発明の更なる態様によれば、ビデオデータをビットストリームに符号化するエンコーダが提供される。ここで、ここで前記ビットストリームは複数のピクチャとAPSトランスミッションに対応するビデオデータを有する。そして、前記エンコーダは、再同期ピクチャの存在を前記ビットストリームにシグナリングする手段と、前のピクチャのAPS IDが後続するピクチャにおいて使用されないようにする前記シグナリングに基づきAPS IDをリセットする手段とを有する。
【0021】
本発明の他の態様においては、プログラマブル装置で実行したとき、前記プログラマブル装置に上述した方法態様のいずれかに記載の方法を実行させるためのプログラム又は命令を記憶するコンピュータが読み込み可能な記憶媒体が提供される。
【0022】
本発明の1つの態様によれば、ビットストリームからビデオデータを復号する方法が提供される。ここで前記ビットストリームは、複数のスライスに対応するビデオデータを有し、前記ビットストリームは1以上のスライスを復号するときに使用するシンタックス要素を持つヘッダを有する。そして、前記復号は、前記ピクチャヘッダを解析すること、復号ツールに関するシンタックス要素の前に、少なくとも1つのAPS ID関連シンタックス要素を解析すること、及び、前記シンタックス要素を用いて前記ビットストリームを復号することを有する。
【0023】
これにより、特にストリーミングアプリケーションで、より単純で高速な解析プロセスが可能になる。
【0024】
本発明の関連態様では、ビデオデータをビットストリームに符号化する方法が提供される。ここで、前記ビットストリームは複数のスライスに対応するビデオデータを有し、前記ビットストリームは1以上のスライスを復号するときに使用されるシンタックス要素を含むヘッダを有する。そして、前記符号化は、復号ツールに関連するシンタックス要素の前に、APS ID関連シンタックス要素を備えたピクチャヘッダを符号化することを含む。
【0025】
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、APS ID LMCSを有する。
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、APS IDケーリングリストを有する。
オプションで、APS IDケーリングリストは、LNST方法のためのスケーリング行列を有効にするための情報を含む。
【0026】
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、APS ID ALFリストを含む。好ましくは、APS ALFリストがクリッピング値のシグナリングに関連する情報を含む。
【0027】
解析の複雑さを減らすために、前記少なくとも1つのAPS ID関連シンタックス要素は、他のヘッダからの値に依存しないシンタックス要素の後であってもよい。
【0028】
オプションで、前記ヘッダは、ピクチャ内の複数のスライスを復号するときに使用されるシンタックス要素を含むピクチャヘッダである。
【0029】
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、現在のピクチャが決して参照ピクチャとして使用されないことを示すシンタックス要素、現在のピクチャが暫時デコーダリフレッシュピクチャ(gradual decoding refresh picture)であることを示すシンタックス要素、復号ピクチャバッファ内の以前にデコードされたピクチャにおける変化を示すシンタックス要素、ピクチャパラメータセット情報、サブピクチャ情報、またはピクチャタイプ情報のうちの1つ以上の後にある。
【0030】
解析を容易にするために、前記少なくとも1つのAPS ID関連シンタックス要素は、固定長のシンタックス要素の後にあることができる。これにより、APS ID関連シンタックス要素は、常にヘッダ内の同じ場所にあるため、最初に解析できる。
【0031】
オプションで、復号ツールに関連するシンタックス要素は、低レベルツールパラメータを有する。
【0032】
オプションで、低レベルツールパラメータは、デブロッキングフィルタパラメータ、量子化パラメータ、SAOパラメータ、2つの色の残差サンプルの符号が反転符号を有することを示すシンタックス要素、動きパラメータ、QPオフセットパラメータ、パーティショニングパラメータ、参照ピクチャリストパラメータ、現在のピクチャが出力ピクチャであることを示すシンタックス要素、または色プレーンインデックスを示すシンタックス要素のうちの1以上を有する。
【0033】
オプションで、方法は、ピクチャが再同期処理に関係するかどうかを判定することと、もしそうなら、APS IDをリセットする復号することを有する。
【0034】
本発明の別の態様によれば、ビットストリームからビデオデータを復号する方法が提供される。ここで、前記ビットストリームは複数のスライスに対応するビデオデータを有し、前記ビットストリームは1以上のスライスを復号するときに使用されるシンタックス要素を含むヘッダを有する。そして、前記復号は、前記ピクチャヘッダを解析することと、前記ビットストリーム内のシグナルに基づき前記ピクチャが再同期処理に関するか否かを判定することと、もしそうなら、APS IDをリセットすることを含む復号することを有する。
【0035】
これにより、解析プロセスを簡素化しながら、再同期フレームを柔軟に使用できる。
【0036】
オプションで、APS IDに関連するAPSは、将来の復号ピクチャのデコード処理では使用されない。
【0037】
本発明の別の態様によれば、ビデオデータをビットストリームに符号化する方法が提供される。ここで、前記ビットストリームは複数のピクチャおよびAPSトランスミッションに対応するビデオデータを有する。そして、前記符号化は、再同期ピクチャの存在をビットストリームにシグナリングすることと、前のピクチャのAPS IDが後続のピクチャで使用されないようにするシグナリングに基づき、APS IDをリセットすることを有する。
【0038】
オプションで、ピクチャが再同期プロセスに関係するかどうかを判定することは、ピクチャがIRAP又はGDRピクチャであるかを判定することを含む。
オプションで、ヘッダはスライスヘッダである。
【0039】
オプションで、前記少なくとも1つのAPS ID関連シンタックス要素は、現在のスライスのPOCを示すシンタックス要素、現在のスライスのサブピクチャIDを示すシンタックス要素、スライスの宛先を示すシンタックス要素、スライス内のタイル数を示すシンタックス要素、または現在のスライスのタイプを示すシンタックス要素のうちの1つ以上の後にある。
オプションで、復号ツールに関連するシンタックス要素は、低レベルツールパラメータを含む。
オプションで、前記低レベルツールパラメータは、参照ピクチャリストパラメータ、CABAC初期化フラグ、並置予測パラメータ、重み付き予測パラメータ、QPパラメータ、またはSAOパラメータのうちの1つ以上を有する。
【0040】
本発明のさらに別の態様は、上述の符号化する方法および復号する方法それぞれを実行するために定義されたエンコーダおよびデコーダに関する。
【0041】
本発明のさらに別の態様は、実行時に、上述の方法態様の方法を実行させるプログラムに関する。プログラムは、それ自体で提供されてもよく、またはキャリア媒体上で、キャリア媒体によって、またはキャリア媒体内で搬送されてもよい。キャリア媒体は非一時的であってもよく、例えば、記憶媒体、特にコンピュータ可読記憶媒体であってもよい。キャリア媒体はまた一時的なもの、例えば、信号または他の伝送媒体であってもよい。信号は、インターネットを含む任意の適切なネットワークを介して送信されてもよい。
【0042】
本発明の更なる特徴は、他の独立請求項と従属請求項によって特徴付けられる。
【0043】
本発明の一態様における任意の特徴は、任意の適切な組み合わせで、本発明の他の態様に適用されてもよい。特に、方法の態様は、装置の態様に適用されてもよく、逆もまた同様である。
【0044】
さらに、ハードウェアで実施される特徴は、ソフトウェアで実施されてもよく、その逆も可能である。本明細書におけるソフトウェアおよびハードウェアの特徴へのいかなる参照も、それに応じて解釈されるべきである。
【0045】
本明細書に記載されるような任意の装置特徴は、方法特徴として提供されてもよく、逆もまた同様である。本明細書で使用されるように、手段+機能特徴は、適切にプログラムされたプロセッサおよび関連するメモリのような、それらの対応する構造に関して代替的に表現されてもよい。
【0046】
また、本発明の任意の態様において説明され、定義された様々な特徴の特定の組合せは、独立して実装および/または供給および/または使用されることができることを理解されたい。
【図面の簡単な説明】
【0047】
ここで、例として、添付の図面を参照する:
【
図1】HEVC及びVVCで使用される符号化構造を説明するための図である。
【
図2】本発明の1以上の実施形態を実施することができるデータ通信システムを概略的に示すブロック図である。
【
図3】本発明の1以上の実施形態を実施することができる処理装置の構成要素を示すブロック図である。
【
図4】本発明の実施形態による符号化方法のステップを示すフローチャートである。
【
図5】本発明の実施形態による復号方法のステップを示すフローチャートである。
【
図6】例示的な符号化システムVVCにおけるビットストリームの構造を示す図である。
【
図7】ルマモデリングクロマスケーリング(Luma Modelling Chroma Scaling:LMCS)を示す図である。
【
図9】本発明の実施形態による、エンコーダまたはデコーダおよび通信ネットワークを備えるシステムを示す図である。
【
図10】本発明の1以上の実施形態を実施するためのコンピューティングデバイスの概略ブロック図である。
【
図11】ネットワークカメラシステムを示す図である。
【発明を実施するための形態】
【0048】
図1は、高効率ビデオ符号化(HEVC)ビデオ規格で使用される符号化構造に関する。ビデオシーケンス1は、一連のデジタル画像iから構成される。このような各デジタル画像は、1つ以上のマトリックスによって表される。マトリクスの係数数は画素を表している。
【0049】
シーケンスの画像2は、スライス3に分割することができる。スライスは、場合によっては画像全体を構成することができる。これらのスライスは、オーバーラップしない符号化ツリーユニット(Coding Tree Units:CTU)に分割される。符号化ツリーユニット(CTU)は高効率ビデオ符号化(HEVC)ビデオ規格の基本的な処理ユニットであり、概念的には、いくつかの以前のビデオ規格で使用されたマクロブロックユニットに対応する。CTUは、時には最大符号化ユニット(Largest Coding Unit:LCU)とも呼ばれる。CTUはルマ(luma:輝度)及びクロマ(chroma:色差)成分部分を有し、その構成要素部分の各々は、符号化ツリーブロック(CTB)と呼ばれる。これらの異なる色成分は、
図1には示されていない。
【0050】
CTUは一般に、64画素×64画素サイズである。各CTUは、四分木分解を使用して、より小さい可変サイズの符号化ユニット(CU)5に反復的に分割されてもよい。
【0051】
符号化ユニットは基本符号化要素(elementary coding element)であり、予測ユニット(Predicton unit:PU)と変換ユニット(Transform Unit:TU)と呼ばれる2種類のサブユニットから構成される。PUまたはTUの最大サイズは、CUサイズに等しい。予測ユニット(prediction unit)は、画素値の予測のためのCUの区分に対応する。606によって示されるように、4つの正方PUへのパーティションと、2つの長方形PUへの2つの異なるパーティションとを含む、PUへのCUの様々な異なるパーティションが可能である。変換ユニット(transform unit)は、DCT を使用して空間変換を行う基本ユニットである。CUは、クワッドツリー表現607に基づいてTUに分割することができる。
【0052】
各スライスは、1つのネットワーク抽象化レイヤ(Network Abstraction Lyer:NAL)ユニットに埋め込まれる。さらに、ビデオシーケンスの符号化パラメータは、パラメータセットと呼ばれる専用NALユニットに格納される。HEVCおよびH.264/AVCでは、2種類のパラメータセットNALユニットが使用される:第1は、ビデオシーケンス全体の間に変更されないすべてのパラメータを収集するシーケンスパラメータセット(Sequence Parameter Ser:SPS)NALユニット。典型的には、それは符号化プロファイル、ビデオフレームのサイズ、及び他のパラメータをハンドリングする。第2は、ピクチャパラメータセット(Picture Parameter Set:PPS)NALユニットで、これはシーケンスの1つの画像(またはフレーム)から別の画像(またはフレーム)に変更することができるパラメータを含む。HEVCは、ビットストリームの全体的な構造を記述するパラメータを含むビデオパラメータセット(Video Parameter Set:VPS)NALユニットも含まれている。VPSは、HEVC で定義された新しいタイプのパラメータセットで、ビットストリームのすべてのレイヤに適用される。レイヤは、複数のテンポラルサブレイヤを含むことができ、すべてのバージョン1のビットストリームは1つのレイヤに制限される。HEVCには拡張性とマルチビューのための特定のレイヤ拡張があり、これらは後方互換性のあるバージョン1基本レイヤを備えた複数のレイヤを可能にする。
【0053】
図2は、本発明の1以上の実施形態を実施することができるデータ通信システムを示している。データ通信システムは、データ通信ネットワーク200を介して、データストリームのデータパケットを受信装置、この場合はクライアント端末202に送信するように動作可能な送信装置、この場合はサーバ201を含む。データ通信ネットワーク200は、ワイドエリアネットワーク(WAN)またはローカルエリアネットワーク(LAN)であってもよい。このようなネットワークは、例えば、無線ネットワーク(Wifi /802.11aまたはbまたはg)、イーサネットネットワーク、インターネットネットワーク、またはいくつかの異なるネットワークから構成される混合ネットワークであってもよい。本発明の特定の実施形態では、データ通信システムは、サーバ201が同じデータコンテンツを複数のクライアントに送信するデジタルテレビ放送システムであってもよい。
【0054】
サーバ201によって提供されるデータストリーム204は、ビデオおよびオーディオデータを表すマルチメディアデータから構成されてもよい。オーディオおよびビデオデータストリームは、本発明のいくつかの実施形態では、それぞれマイクロフォンおよびカメラを使用してサーバ201によってキャプチャされ得る。いくつかの実施形態において、データストリームは、サーバ201上に記憶されてもよく、あるいは別のデータプロバイダからサーバ201によって受信されてもよく、あるいはサーバ201で生成されてもよい。サーバ201は、特に、エンコーダへの入力として提示されるデータのよりコンパクトな表現である送信のための圧縮ビットストリームを提供するために、ビデオストリームおよびオーディオストリームを符号化するためのエンコーダを備える。
【0055】
送信データの品質対送信データの量のより良好な比を得るために、ビデオデータの圧縮は例えば、HEVCフォーマット又はH.264/AVCフォーマットに従ってもよい。
【0056】
クライアント202は、送信されたビットストリームを受信し、再構成されたビットストリームを復号して、ビデオ画像を表示装置上で再生し、音声データをスピーカにより再生する。
【0057】
図2の例ではストリーミングシナリオが考慮されているが、本発明のいくつかの実施形態では、エンコーダとデコーダとの間のデータ通信が例えば、光ディスクなどの媒体記憶装置を使用して実行され得ることが理解されよう。
【0058】
本発明の1以上の実施形態では、最終的な画像内のフィルタリングされたピクセルを提供するため、ビデオ画像は、画像の再構成された画素に適用するための補償オフセットを表すデータと共に送信される。
【0059】
図3は、本発明の少なくとも1つの実施形態を実施するように構成された処理装置300を概略的に示している。処理装置300は、マイクロコンピュータ、ワークステーション、またはライトポータブル装置などの装置とすることができる。装置300は、通信バス313を有し、これは以下のものが接続されれいる:
- CPUで示されるマイクロプロセッサなどの中央演算処理装置311;
- 本発明を実施するためのコンピュータプログラムを記憶するためのROMと表記される読み出し専用メモリ306;
- RAMで示されるランダムアクセスメモリ312は、本発明の実施形態の方法の実行可能コード、ならびにデジタル画像のシーケンスを符号化する方法および/または本発明の実施形態によるビットストリームを復号する方法を実施するために必要な変数およびパラメータを記録するように適合されたレジスタを格納するための、RAMとして表記されるランダムアクセスメモリ;及び
- 処理されるデジタルデータが送受信される通信ネットワーク303に接続された通信インターフェース302
【0060】
また、オプションとして、装置300は、以下の構成要素を含むこともできる:
- 本発明の1以上の実施形態の方法を実施するためのコンピュータプログラム、および本発明の1つ以上の実施形態の実施中に使用または生成されるデータを記憶する、ハードディスクなどのデータ記憶手段 304;
- ディスク306からのデータの読取り、又はディスクへのデータを書き込むように構成されるディスクドライブ305;
- データを表示したり、ユーザとの間で、キーボード310の手段または他の任意のポインティング手段によって、グラフィカルインターフェースとして機能する画面309
【0061】
装置300は例えば、デジタルカメラ320またはマイクロフォン308のような種々の周辺機器に接続され得、各周辺機器はマルチメディアデータを装置300に供給するために、入力/出力カード(図示せず)に接続される。
【0062】
通信バスは、装置300に含まれる、またはそれに接続された様々な要素間の通信および相互運用性を提供する。バスの表現に限定はなく、特に、中央演算装置は、直接的に、または装置300の別の要素の手段によって、装置300の任意の要素に命令を通信するように動作可能である。
【0063】
ディスク306は、例えば、コンパクトディスク(CD-ROM)、書き換え可能又はそうではない、ZIPディスクまたはメモリカードなどの任意の情報媒体で置き換えることができる。一般的に言えば、マイクロコンピュータまたはマイクロプロセッサによって読み取ることができる情報記憶手段によって置き換えることができ、装置に統合または非統合され、可能であれば、リムーバブルであり、実行がデジタル画像のシーケンスを符号化する方法および/または本発明によるビットストリームの復号方法を可能にする1つ以上のプログラムを記憶するように構成することができる。
【0064】
実行可能コードは、読み出し専用メモリ306、ハードディスク304、または先に説明したような例えばディスク306のようなリムーバブルデジタル媒体のいずれかに格納することができる。変形例によれば、プログラムの実行可能コードは、実行される前に、ハードディスク304のような装置300の記憶手段の1つに記憶されるために、インターフェース302を介して、通信ネットワーク303の手段によって受信することができる。
【0065】
中央演算処理装置311は、前述の記憶手段の1つに記憶された命令で本発明によるプログラムまたはプログラムのソフトウェアコードの命令または部分の実行を制御し、指示するように構成されている。電源投入時に、例えばハードディスク304または読み出し専用メモリ306上の不揮発性メモリに記憶された1つのプログラムまたは複数のプログラムはランダムアクセスメモリ312に転送される。これには、1つのプログラムまたは複数のプログラムの実行可能コード、ならびに本発明を実施するために必要な変数およびパラメータを記憶するためのレジスタが含まれる。
【0066】
この実施形態における装置は、本発明を実施するためにソフトウェアを使用するプログラマブル装置である。しかしながら、代替的に、本発明はハードウェア(例えば、特定用途向け集積回路(ASIC)の形態)で実施されてもよい。
【0067】
図4は、本発明の少なくとも1以上の実施形態によるエンコーダのブロック図を示す。エンコーダは、接続されたモジュールによって表される。各モジュールは、例えば、デバイス300のCPU 311によって実行されるべきプログラム命令の形態、本発明の1以上の実施形態による画像シーケンスの画像を符号化する少なくとも1以上の実施形態を実施する方法の少なくとも1以上の対応するステップを実施するように適合される。
【0068】
ディジタル画像i0~in401のオリジナルシーケンスは、エンコーダ400による入力として受信される。各デジタル画像は、画素として知られるサンプルのセットによって表される。
【0069】
ビットストリーム410は、符号化プロセスの実施後にエンコーダ400によって出力される。ビットストリーム410は、複数の符号化ユニットまたはスライスを備える。各スライスは、スライスを符号化するために使用される符号化パラメータの符号化値を送信するためのスライスヘッダと、符号化されたビデオデータを有するスライス本体とを備える。
【0070】
入力デジタル画像i0~in401は、モジュール402によって、画素ブロックに分割される。ブロックは画像部分に対応し、可変サイズであってもよい(例えば、4×4、8×8、16×16、32×32、64×64、128×128画素、およびいくつかの矩形ブロックサイズも考慮することができる)。符号化モードは、各入力ブロックに対して選択される。2つのファミリの符号化モードが提供される。それは、空間予測符号化(イントラ予測)に基づく符号化モードと、時間予測に基づく符号化モード(インター符号化、マージ、SKIP)である。可能な符号化モードがテストされる。
【0071】
モジュール403は、イントラ予測処理を実施する。ここでは、符号化対象の所与のブロックが、その符号化対象のブロックの近傍の画素から計算された予測子によって予測される。イントラ符号化が選択された場合に、選択されたイントラ予測子の指示、および所与のブロックとその予測子との間の差は、残差を提供するために符号化される。
【0072】
時間予測は、動き推定モジュール404および動き補償モジュール405によって実施される。最初に、基準画像416のセットの中から基準画像が選択され、符号化対象の所与のブロックに最も近い領域で基準領域または画像部分とも呼ばれる基準画像の部分が、動き推定モジュール404によって選択される。次いで、動き補償モジュール405は、選択されたエリアを使用して、符号化対象のブロックを予測する。選択された基準領域との残差ブロックとも呼ばれる所与のブロックとの間の差は、動き補償モジュール405によって計算される。選択された基準領域は、動きベクトルによって示される。
【0073】
このように、両方の場合(空間予測および時間予測)、残差は、元のブロックから予測を減算することによって計算される。
【0074】
モジュール403によって実施されるINTRA予測では、予測方向が符号化される。時間予測では、少なくとも1つの動きベクトルが符号化される。モジュール404、405、416、418、417によって実施されるインター予測では、そのような動きベクトルを識別するための少なくとも1つの動きベクトルまたはデータが時間予測のために符号化される。
【0075】
インター予測が選択された場合、動きベクトルおよび残差ブロックに関する情報が符号化される。ビットレートをさらに低減するために、動きが均一であると仮定すると、動きベクトルは、動きベクトル予測子に対する差によって符号化される。1組の動き情報予測子の動きベクトル予測子は、動きベクトル予測符号化モジュール417によって動きベクトルフィールド418から得られる。
【0076】
エンコーダ400はさらに、レート歪み基準などの符号化コスト基準を適用することによって、符号化モードを選択するための選択モジュール406を備える。冗長性をさらに低減するために、変換モジュール407によって変換(DCTなど)を残差ブロックに適用し、得られた変換データを量子化モジュール408によって量子化し、エントロピー符号化モジュール409によってエントロピー符号化する。最後に、符号化された現在のブロックの符号化された残差ブロックが、ビットストリーム410に挿入される。
【0077】
また、エンコーダ400は後続の画像の動き推定のための参照画像を生成するために、符号化された画像の復号を行う。これは、ビットストリームを受信するエンコーダ及びデコーダが同じ参照フレームを有することを可能にする。逆量子化モジュール411は量子化データの逆量子化を行い、続いて逆変換モジュール412による逆変換を行う。逆イントラ予測モジュール413は、予測情報を使用して、所与のブロックにどの予測子を使用するかを決定し、逆動き補償モジュール414は、モジュール412によって取得された残差を、参照画像416のセットから取得された参照領域に実際に加算する。
【0078】
次いで、モジュール415によってポストフィルタリングが適用されて、再構成された画素のフレームをフィルタリングする。本発明の実施形態では、補償オフセットが再構成画像の再構成画素の画素値に付加されるSAOループフィルタが使用される。
【0079】
図5は、本発明の一実施形態による、エンコーダからデータを受信するために使用され得るデコーダ60のブロック図を示す。デコーダは、接続されたモジュールによって表され、各モジュールは例えば、デバイス300のCPU 311によって実行されるプログラム命令の形成で、デコーダ60によって実現される方法の対応するステップを実施するように構成される。
【0080】
デコーダ60は、符号化ユニットを含むビットストリーム61を受信し、各符号化ユニットは、符号化パラメータに関する情報を含むヘッダと、符号化されたビデオデータを含むボディとから構成される。VVCにおけるビットストリームの構造は、
図6を参照して以下でより詳細に説明される。
図4に関して説明されるように、符号化されたビデオデータはエントロピー符号化され、動きベクトル予測子のインデックスは、所与のブロックについて、所定のビット数で符号化される。受信された符号化ビデオデータは、モジュール62によってエントロピー復号される。次いで、残差データはモジュール63によって逆量子化され、次いで、画素値を得るためにモジュール64によって逆変換が適用される。
【0081】
符号化モードを示すモードデータもエントロピー復号され、そのモードに基づいて、画像データの符号化ブロックに対してINTRA型復号またはインター型復号が実行される。
【0082】
INTRAモードの場合、INTRA予測子は、ビットストリームで指定されたイントラ予測モードに基づいてイントラ逆予測モジュール65によって決定される。
【0083】
モードがINTERである場合、エンコーダによって使用される参照領域を見つけるために、動き予測情報がビットストリームから抽出される。動き予測情報は、参照フレームインデックスと動きベクトル残差とから構成される。動きベクトル復号モジュール70によって動きベクトルを得るため、動きベクトル予測子が動きベクトル残差に加えられる。
【0084】
動きベクトル復号モジュール70は、動き予測によって符号化された現在のブロックごとに動きベクトル復号を適用する。動きベクトル予測子のインデックスが取得されると、現在のブロックについて、現在のブロックに関連する動きベクトルの実際の値が復号され、モジュール66によって逆動き補償を適用するために使用され得る。復号された動きベクトルによって示される参照画像部分は、参照画像68から抽出され、逆動き補償66が適用される。動きベクトルフィールドデータ71は、後続の復号動きベクトルの逆予測に使用するために、復号動きベクトルで更新される。
【0085】
最後に、復号されたブロックが得られる。ポストフィルタリングは、ポストフィルタリングモジュール67によって適用される。復号されたビデオ信号69は、最終的にデコーダ60によって供給される。
【0086】
図6は、JVET_P2001-VEに記載されているように、例示的符号化システムVVCにおけるビットストリームの構成を示す。
【0087】
VVC符号化システムによるビットストリーム61は、シンタックス要素と符号化データの順序付けられたシーケンスから構成される。シンタックス要素および符号化データは、ネットワーク抽象化レイヤ(NAL)ユニット601~608に配置される。異なるNALユニット型がある。ネットワーク抽象化レイヤは、RTP/IP などの、異なるプロトコルにビットストリームをカプセル化する機能を提供し、リアルタイムプロトコル/インターネットプロトコル、ISO ベースメディアファイル形式などに対応する。ネットワーク抽象化レイヤは、パケット損失回復力のためのフレームワークも提供する。
【0088】
NALユニットは、ビデオコーディングレイヤ(Video Coding Layer:VCL)NALユニットと非VCL NALユニットとに分割される。VCL NALユニットは、実際の符号化されたビデオデータを含む。非VCL NALユニットは追加情報を含む。この追加情報は、符号化されたビデオデータの復号に必要なパラメータ、または復号されたビデオデータの使い勝手を向上させることができる補足データである。NALユニット606は、スライスに対応し、ビットストリームのVCL NALユニットを構成する。
【0089】
異なるNALユニット601~605は、異なるパラメータセットに対応し、これらのNALユニットは非VCL NALユニットである。デコーダパラメータセット(DPS)NALユニット301は、所与の復号処理に対して一定であるパラメータを含む。ビデオパラメータセット(VPS)NALユニット602は、ビデオ全体、すなわちビットストリーム全体に対して定義されたパラメータを含む。DPS NALユニットは、VPS内のパラメータよりも静的なパラメータを定義することができる。換言すれば、DPSのパラメータは、VPSのパラメータよりも頻繁には変化しない。
【0090】
シーケンスパラメータセット(SPS)NALユニット603は、ビデオシーケンスに対して定義されたパラメータを含む。特に、SPS NALユニットは、ビデオシーケンスのサブピクチャレイアウトおよび関連するパラメータを定義することができる。各サブピクチャに関連するパラメータは、サブピクチャに適用される符号化制約を指定する。特に、それは、サブピクチャ間の時間的予測が同じサブピクチャから来るデータに制限されることを示すフラグを含む。別のフラグは、サブピクチャ境界を横切るループフィルタを有効または無効にすることができる。
【0091】
ピクチャパラメータセット(PPS)NALユニット604、PPSは、ピクチャまたはピクチャのグループに対して定義されたパラメータを含む。適応パラメータセット(APS)NALユニット605は、ループフィルタのためのパラメータを含み、典型的には、適応ループフィルタ(Adaptive Loop Filter:ALF)または再成形器モデル(resharper model)(またはクロマスケーリングを有するルママッピング(Luma mapping with chroma scaling:LMCS)モデル)またはスライスレベルで使用されるスケーリング行列を含む。
【0092】
VVCの現在のバージョンで提案されているようなPPSのシンタックスは、ルマサンプル内のピクチャのサイズ、及び、タイルおよびスライス内の各ピクチャの分割を指定するシンタックス要素を含む。
【0093】
PPSには、フレーム内のスライスの位置を決定できるようにするシンタックス要素が含まれている。サブピクチャはフレーム内で矩形領域を形成するので、パラメータセットNALユニットから、サブピクチャに属するスライスのセット、タイルの部分、またはタイルを決定することが可能である。APSとしてのPPSは、送信される同一のPPSの量を制限するためのID機構を有する。
【0094】
PPSとピクチャヘッダ(Picture Header)との間の主な違いは、PPSが送信されることであり、PPSは一般に、ピクチャ毎に体系的に送信されるPHと比較して、ピクチャのグループについて送信される。したがって、PHと比較してPPSは、いくつかのピクチャに対して一定であり得るパラメータを含む。
【0095】
ビットストリームはまた、補助強化情報(Supplemental Enhancement Information:SEI)NALユニット(
図6には示されていない)を含むことができる。ビットストリーム内でこれらのパラメータセットが発生する周期性は可変である。ビットストリーム全体に対して定義されたVPSは、ビットストリーム内で1 回のみ発生する可能性がある。反対に、スライスに対して定義されるAPSは、各ピクチャ内の各スライスに対して1回発生し得る。実際には、異なるスライスが同じAPSに依拠することができ、したがって、一般に、各ピクチャ内のスライスよりも少ないAPSが存在する。特に、APSは、ピクチャヘッダにおいて定義される。しかし、ALF APSは、スライスヘッダにおいて精緻化することができる。
【0096】
アクセスユニットデリミタ(Access Unit Delimiter:AUD)NALユニット607は、2つのアクセスユニットを分離する。アクセスユニットは、同じ復号タイムスタンプを有する1以上の符号化ピクチャを備えることができるNALユニットのセットである。このオプションのNALユニットは、現在のVVCスペックの中でただ1つのシンタックス要素、pic_typeを含んでいる。このシンタックス要素は、AU内の符号化ピクチャのすべてのスライスのslice_type値を示す。pic_typeが0に等しく設定される場合、AUはイントラスライスのみを含む。1に等しい場合、それはPおよびIスライスを含む。2に等しい場合、それはB、Pまたはイントラスライスを含む。このNALユニットは、pic-typeのシンタックス要素を1つだけ含んでいる。
【0097】
【0098】
JVET-P2001-vE では、pic_type は次のように定義されている:
“pic_typeは、AUデリミタNALユニットを含むAU内の符号化ピクチャの全てのスライスに対するslice_type値がpic_typeの所与の値に対してテーブル2にリストされたセットのメンバであることを示す。pic_typeの値は、このスペックのこのバージョンに準拠するビットストリームにおいて0、1又は2に等しい。pic_typeの他の値は、ITU-T |ISO/IECによる将来の使用のために予約される。このスペックのこのバージョンに準拠するデコーダは、pic_typeの予約された値を無視する。”
【0099】
【0100】
PH NALユニット608は、1つの符号化ピクチャのスライスのセットに共通のパラメータをグループ化するピクチャヘッダNALユニットである。ピクチャは、AFLパラメータ、再形成器モデル、およびピクチャのスライスによって使用されるスケーリング行列を示すために、1つ以上のAPSを参照することがある。
【0101】
VCL NALユニット606の各々はスライスを含む。スライスは、ピクチャ全体またはサブピクチャ、単一のタイル、または複数のタイル、またはタイルの一部に対応することができる。例えば、
図3のスライスは、幾つかのタイル620を含む。スライスは、スライスヘッダ610と、符号化ブロック640として符号化された符号化画素データを含むRAWバイトシーケンスペイロード(RAW Byte Sequence payload)RBSP 611とから構成される。
【0102】
VVCの現在のバージョンで提案されているようなPPSのシンタックスは、ルマサンプル内のピクチャのサイズ、及び、タイルおよびスライス内の各ピクチャの分割を指定するシンタックス要素を含む。
【0103】
PPSは、フレーム内のスライスの位置を決定できるようにするシンタックス素を含む。サブピクチャはフレーム内で矩形領域を形成するので、パラメータセットNALユニットから、サブピクチャに属するスライスのセット、タイルの部分、またはタイルを決定することが可能である。
【0104】
NALユニットスライス
NALユニットスライスレイヤは、テーブル3に示すように、スライスヘッダとスライスデータとを含む。
【0105】
【0106】
APS
アダプテーションパラメータセット(APS)NALユニット605は、シンタックス要素を示すテーブル4において定義される。
テーブル4に示すように、APS_params_type シンタックス要素で指定できるAPSには3つのタイプがある:
・ ALF_AP: ALFパラメータの場合
・ LMCSパラメータのLMCS_APS
・ スケーリングリスト相対パラメータ(Scaling list relative parameters)のSCALING_APS
テーブル4 適応パラメータセットのシンタックス
これらの3つのタイプのAPSパラメータについて、以下で順に説明する
【0107】
ALF APS
ALFパラメータは、適応ループフィルタデータシンタックス要素(テーブル5)に記載されている。第1に、ALFフィルタがルマおよび/またはクロマのために送信されるかどうかを指定するために、2つのフラグが宣言される。ルマフィルタフラグが有効な場合、クリップ値が信号化されているかどうかを知るために別のフラグが復号される(alf_Luma_clip_flag)。次に、シグナリングされるフィルタの数が、alf_luma_num_filters_signalled_minus1 シンタックス要素を使用して復号される。必要に応じて、ALF係数deltaを表すシンタックス要素“ALF_Luma_coeff_delta_idx”が、有効なフィルタごとに復号される。そして、各フィルタの係数毎に絶対値と符号(sign)が復号される。
【0108】
alf_luma_clip_flag が有効な場合、有効な各フィルタの各係数のクリップインデックスが復号される。
同様に、ALF彩度係数は、必要に応じて復号される。
【0109】
【0110】
ルママッピングとクロマスケーリングの両方のLMCSシンタックス要素
以下のテーブル6に、APS_params_type パラメータが1(LMCS_APS) に設定されているときの、適応パラメータセット(APS)シンタックス構造でコーディングされるすべてのLMCSシンタックス要素を示す。4つまでのLMCS APSが符号化されたビデオシーケンスにおいて使用されることができるが、単一のLMCS APSのみが、所与のピクチャに対して使用されることができる。
【0111】
これらのパラメータは、ルマのための順方向および逆方向マッピング関数、ならびにクロマのためのスケーリング関数を構築するために使用される。
【0112】
テーブル6 クロマスケーリングデータシンタックスを使用したルママッピング
【0113】
スケーリングリストAPS
スケーリングリストは、定量化に使用される量子化マトリクスを更新する可能性を提供する。VVCでは、このスケーリングマトリクスがスケーリングリストデータシンタックス要素(テーブル7)に記載されているように、APS内のsである。このシンタックスは、フラグscaling_matrix_for_lfnst_disabled_flagに基づいてLFNST(Low Frequency Non-Separable Transform)ツールにスケーリングマトリックスを使用するかどうかを指定する。次に、スケーリングマトリックスを構築するために必要なシンタックス要素が復号される(scaling_list_copy_mode_flag,scaling_list_pred_mode_flag,scaling_list_pred_id_delta,scaling_list_dc_coef.scaling_list_delta_coef)。
【0114】
【0115】
ピクチャヘッダ
ピクチャヘッダは、各ピクチャの先頭で送信される。ピクチャヘッダテーブルのシンタックスには、現在、82のシンタックス要素と、約60のテスト条件またはループが含まれている。これは、規格の以前の草案における以前のヘッダと比較して非常に大きい。これらすべてのパラメータの完全な説明は、JVET_P2001-VEに見ることができる。テーブル8は、現在のピクチャヘッダ復号シンタックスにおけるこれらのパラメータを示している。この簡略化されたテーブルバージョンでは、読みやすくするためにいくつかのシンタックス要素がグループ化されている。
【0116】
復号可能な関連するシンタックス要素は以下に関連する:
・ このピクチャの使用法、参照フレームかどうか
・ 出力フレーム
・ 必要に応じてサブピクチャの使用法
・ 必要に応じて参照画像リスト
・ 必要に応じて色プレーン
・ オーバライドフラグが有効な場合のパーティション更新
・ 必要に応じてデルタQPパラメータ
・ 必要に応じて動き情報パラメータ
・ 必要に応じてALFパラメータ
・ 必要に応じてSAOパラメータ
・ 必要に応じて定量化パラメータ
・ 必要に応じてLMCSパラメータ
・ 必要に応じてスケーリングリストパラメータ
・ 必要に応じてピクチャヘッダ拡張
【0117】
固定長の最初の3つのフラグは、ビットストリーム内のピクチャ特性に関連する情報を与えるnon_reference_picture_flag、gdr_pic_flag、no_output_of_prior_pics_flagである。
【0118】
次に、gdr_pic_flag が有効な場合、recovery_poc_cnt がデコードされる。
【0119】
PPS パラメータ“PS_parameters()” は、PPS IDと、必要に応じてその他の情報を設定する。そして、それは3つのシンタックス要素を含む:
・ ph_pic_parameter_set_id
・ ph_poc_msb_present_flag
・ poc_msb_val
【0120】
サブピクチャパラメータSubpic_parameter() は、SPS で有効になっている場合、および、サブピクチャidシグナリングが無効になっている場合に、有効になる。それはまた、仮想境界に関するいくつかの情報を含む。サブピクチャパラメータに対して、8つのシンタックス要素が定義される:
・ ph_subpic_id_signalling_present_flag
・ ph_subpic_id_len_minus1
・ ph_subpic_id
・ ph_loop_filter_across_virtual_boundaries_disabled_present_flag
・ ph_num_ver_virtual_boundaries
・ ph_virtual_boundaries_pos_x
・ ph_num_hor_virtual_boundaries
・ ph_virtual_boundaries_pos_y
【0121】
次に、シーケンスが別々の色プレーンを含み、その後にpic_output_flagが存在する場合、色プレーンid“colour_plane_id”が復号される。
【0122】
次に、参照ピクチャリストのパラメータがデコードされ、“reference_picture_list_parameters()” には以下のシンタックス要素が含まれる:
・ pic_rpl_present_flag
・ pic_rpl_sps_flag
・ pic_rpl_idx
・ pic_poc_lsb_lt
・ pic_delta_poc_msb_present_flag
・ pic_delta_poc_msb_cycle_lt
【0123】
必要に応じて、他の8つのシンタックス要素を含む参照ピクチャリスト構造体“ref_pic_list_struct”に関連するシンタックス要素の別のグループもデコードできる。
【0124】
パーティションパラメータ“partitioning_parameters()”のセットは、必要に応じてデコードされ、それは次の13 個のシンタックス要素を含む:
・ partition_constraints_override_flag
・ pic_log2_diff_min_qt_min_cb_intra_slice_luma
・ pic_log2_diff_min_qt_min_cb_inter_slice
・ pic_max_mtt_hierarchy_depth_inter_slice
・ pic_max_mtt_hierarchy_depth_intra_slice_luma
・ pic_log2_diff_max_bt_min_qt_intra_slice_luma
・ pic_log2_diff_max_tt_min_qt_intra_slice_luma
・ pic_log2_diff_max_bt_min_qt_inter_slice
・ pic_log2_diff_max_tt_min_qt_inter_slice
・ pic_log2_diff_min_qt_min_cb_intra_slice_chroma
・ pic_max_mtt_hierarchy_depth_intra_slice_chroma
・ pic_log2_diff_max_bt_min_qt_intra_slice_chroma
・ pic_log2_diff_max_tt_min_qt_intra_slice_chroma
【0125】
これらのパーティションパラメータの後、4つのデルタQPシンタックス要素“Delta_QP_parameters()”が、必要に応じて復号される可能性がある:
・ pic_cu_qp_delta_subdiv_intra_slice
・ pic_cu_qp_delta_subdiv_inter_slice
・ pic_cu_chroma_qp_offset_subdiv_intra_slice
・ pic_cu_chroma_qp_offset_subdiv_inter_slice
【0126】
pic_joint_cbcr_sign_flag は、必要に応じて復号され、その後に3つのSAO シンタックス要素“SAO_parameters()”のセットが続く:
・ pic_sao_enabled_present_flag
・ pic_sao_luma_enabled_flag
・ pic_sao_chroma_enabled_flag
【0127】
次に、ALF がSPS レベルで有効になっている場合、ALF APS idシンタックス要素のセットが復号される。
まず、pic_alf_enabled_present_flag を復号して、pic_alf_enabled_flag をデコードするかどうかを決定する。pic_ALF_enabled_flag を有効にすると、現在のピクチャのすべてのスライスに対してALFが有効になる。
【0128】
ALFが有効な場合、ルマのALF APS idの量は、pic_num_alf_aps_ids_lumaシンタックス要素を使用して復号される。APS idごとに、ルマのAPS id値は“pic_alf_aps_id_Luma”にデコードされる。
【0129】
クロマシンタックス要素の場合、pic_alf_chroma_idc がデコードされて、クロマ、Crのみ、もしくは、Cbのみに対して、ALFが有効かどうかが判定される。有効になっている場合、クロマのAPS Idの値は、pic_alf_aps_id_Chromaシンタックス要素を使用して復号される。
【0130】
ALF APS idパラメータのセットの後、ピクチャヘッダの量子化パラメータは、必要に応じて復号される:
・ pic_dep_quant_enabled_flag
・ sign_data_hiding_enabled_flag
【0131】
3つのデブロックフィルタシンタックス要素のセット“deblocking_filter_parameters()”が、必要に応じてデコードされる:
・ pic_deblocking_filter_override_present_flag
・ pic_deblocking_filter_override_flag
・ pic_deblocking_filter_disabled_flag
・ pic_beta_offset_div2
・ pic_tc_offset_div2
【0132】
LMCS APS IDシンタックス要素のセットは、SPSにおいてLMCSがイネーブルとされた場合に、その後に復号される。まず、pic_lmcs_enabled_flag が復号され、現在のピクチャに対してLMCSが有効かどうかが判定れる。LMCS が有効な場合、そのId値は復号されたpic_lmcs_aps_Id である。クロマの場合、pic_chroma_residual_scale_flag のみがデコードされ、クロマのメソッドが有効または無効になる。
【0133】
スケーリングリストAPS IDのセットは、スケーリングリストがSPSレベルでイネーブルされる場合に復号される。pic_scaling_list_present_flagが復号され、現在のピクチャに対してスケーリングマトリックスが有効かどうかが判定される。次に、APS IDの値、pic_scaling_list_APS_ID が復号ドされる。
最後に、ピクチャヘッダ拡張シンタックス要素が必要に応じて復号される。
【0134】
テーブル8 部分ピクチャヘッダ(Partial Picture Header)
【0135】
スライスヘッダ
スライスヘッダは、各スライスの先頭で送信される。スライスヘッダテーブルのシンタックスには、現在57 個のシンタックス要素が含まれている。これは、基準の以前のバージョンにおける以前のスライスヘッダと比較して非常に大きい。すべてのスライスヘッダパラメータの完全な説明は、JVET_P2001-VEに見ることができる。テーブル9は、現在のピクチャヘッダデコードシンタックスにおけるこれらのパラメータを示している。この簡略化されたテーブルバージョンでは、テーブルを読みやすくするためにいくつかのシンタックス要素がグループ化されている。
【0136】
【0137】
まず、slice_pic_order_cnt_lsbが復号され、現在のスライスのPOCが判定される。
次に、必要に応じてslice_subpic_id がデコードされ、現在のスライスのサブピクチャidが判定される。次に、slice_addressが復号され、現在のスライスのアドレスが判定される。次に、現在のピクチャのタイル数が1より大きい場合、num_tiles_in_slice_minus1が復号される。
その後、slice_type がデコードされる。
【0138】
参照ピクチャリストパラメータのセットが復号される。これらは、picture ヘッダのパラメータと同様である。
【0139】
スライスタイプがイントラでない場合、および必要に応じてcabac_init_flag、および/または、collocated_from_l0_flag とcollocated_ref_idx が復号される。これらのデータは、CABAC符号化と、並置された動きベクトル(motion vector collocated)とに関連する。
【0140】
同様に、スライスタイプがイントラでない場合、重みづけ予測pred_weight_table()のパラメータが復号される。
【0141】
slice_quantization_parameters() では、slice_qp_deltaは、slice_cb_qp_offset、slice_cr_qp_offset、slice_joint_cbcr_qp_offset、cu_chroma_qp_offset_enabled_flagが必要な場合には、QPオフセットの他のパラメータより前に、意図的に復号される。
【0142】
ピクチャヘッダでシグナリングされている場合、SAOについての有効なフラグが、ルマとクロマの両方にて復号される。slice_sao_luma_flag,slice_sao_chroma_flag。
【0143】
次に、必要に応じてAPS ALF IDが復号され、ピクチャヘッダと同様のデータ制限が適用される。その後、デブロッキングフィルタパラメータが、他のデータ(slice_deblocking_filter_parameters()) の前に復号される。
【0144】
ピクチャヘッダと同様に、ALF APS IDは、スライスヘッダの最後に設定される。
【0145】
ピクチャヘッダのAPS
テーブル8に示したように、3つのツールALF、LMCSおよびスケーリングリストのAPS ID情報が、ピクチャヘッダシンタックス要素の最後にある。
【0146】
ストリーミングアプリケーション
いくつかのストリーミングアプリケーションは、ビットストリームの特定の部分のみを抽出する。これらの抽出は、空間的(サブピクチャとして)であっても、時間的(ビデオシーケンスのサブパート)であってもよい。次に、これらの抽出された部分が他のビットストリームにマージすることができる。いくつかの他のものは、いくつかのフレームのみを抽出することによってフレームレートを低減する。一般に、これらのストリーミングアプリケーションの主な目的は、許容帯域幅の最大値を使用して、エンドユーザに最大品質を提供することである。
【0147】
VVCでは、APS ID番号付けは、フレームの新しいAPS id番号を時間階層の上位レベルのフレームに使用できないように、フレームレート低減のために制限されている。しかしながら、ビットストリームの一部を抽出するストリーミングアプリケーションでは、フレーム(IRAPとして)がAPS IDの番号付けをリセットしないので、どのAPSがビットストリームのサブ部分に対して保持されるべきかを決定するために、APS IDを追跡する必要がある。
【0148】
LMCS (クロマスケーリングによるルママッピング)
クロマスケーリングによるルママッピング(Luma Mapping with Chroma scaling)技法は、VVCのようなビデオデコーダにおいてループフィルタを適用する前にブロックに適用されるサンプル値変換方法である。
【0149】
LMCSは、2つのサブツールに分割することができる。以下に説明するように、第1はルマブロックに適用され、第2はクロマブロックに適用される。
1) 第1のサブツールは、適応区分線形モデルに基づくルマ成分のループ内マッピングである。ルマ成分のループ内マッピングは、圧縮効率を改善するためにダイナミックレンジにわたってコードワードを再分配することによって、入力信号のダイナミックレンジを調整する。ルママッピングは、“マッピングされた領域”(mapped domain)への転送するマッピング機能と、“入力領域”(input domain)に戻るための対応するインバースマッピング機能を利用する。
2) 第2のサブツールは、ルマ依存のクロマ残差スケーリングが適用されるクロマ成分に関連している。クロマ残差スケーリングは、ルマ信号とそれに対応するクロマ信号の相互作用を補償するように設計されている。クロマ残差スケーリングは、現在のブロックのトップおよび/または左の再構成された隣接ルミサンプルの平均値に依存する。
【0150】
VVCのようなビデオコーダにおける他のほとんどのツールと同様に、LMCSは、SPSフラグを使用してシーケンスレベルで有効/無効化できる。クロマ残差スケーリングが有効化されるか否かもまた、スライスレベルでシグナリングされる。ルママッピングが有効化されている場合、ルマ依存クロマ残差スケーリングが有効化されているか否かを示すために、追加のフラグがシグナリングされる。ルママッピングが使用されない場合、ルマ依存クロマ残差スケーリングは、完全に無効にされる。加えて、ルマ依存クロマ残差スケーリングは、クロマブロックに対して常に無効化され、そのクロマブロックのサイズが4以下である。
【0151】
図7は、ルママッピングサブツールについて上述したようなLMCSの原理を示す。
図7におけるハッチングされたブロックは、ルマ信号の順方向および逆方向のマッピングを含む新しいLMCS機能ブロックである。LMCSを使用する場合、いくつかの復号動作が「マッピングされた領域」で適用されることに留意することが重要である。これらの演算は、この
図7の破線のブロックで表される。通常、それらは逆量子化、逆変換、ルマ予測、及び、ルマ残差にルマ予測を追加する再構成ステップに対応する。逆に、
図7の実線ブロックは、デコード処理が元の(すなわち、マッピングされていない)領域で適用される場所を示し、これは、デブロッキング、ALF、およびSAOなどのループフィルタリング、動き補償予測、および参照ピクチャとして復号されたピクチャ(DPB)の記憶憶を含む。
【0152】
図8は、
図7 と同様のダイアグラムを示しているが、今回はLMCSツールのクロマスケーリングサブツール用である。
図8におけるハッチングされたブロックは、ルマ依存クロマスケーリングプロセスを含む新しいLMCS機能ブロックである。しかしながら、クロマでは、ルマの場合と比較して、いくつかの重要な差異がある。ここでは破線のブロックによって表される逆量子化および逆変換のみが、クロマサンプルのための「マッピングされた領域」において実行される。イントラクロマ予測、動き補償、ループフィルタ他のステップは、元の領域(original domain)で実行される。
図8に示されるように、スケーリングプロセスのみが存在し、ルママッピングに関する順方向および逆方向の処理は存在しない。
【0153】
区分線形モデル(piece wise linear model)を用いたルママッピング
ルママッピングサブツールは、区分的線形モデルを使用している。区分線形モデルは、入力信号ダイナミック範囲を16の等しいサブ範囲に分離し、各サブ範囲について、その線形マッピングパラメータはその範囲に割り当てられた符号語の個数を用いて表現されることを意味する。
【0154】
ルママッピングのセマンティクス
シンタックス要素lmcs_min_bin_idxは、クロマスケーリング(LMCS)構築プロセスを用いたルママッピングで使用される最小ビンインデックス(minimum bin index)を指定する。lmcs_min_bin_idx の値は、0から15の範囲である必要がある。
【0155】
シンタックス要素lmcs_delta_max_bin_idx は、15 から、クロマスケーリング構築プロセスでルママッピングで使用される最大ビンインデックスLmcsMaxBinIdx間のデルタ値を指定する。lmcs_delta_max_bin_idx の値は、0から15の範囲である必要がある。LmcsMaxBinIdx の値は、15-lmcs_delta_max_bin_idxに設定される。LmcsMaxBinIdxの値は、lmcs_min_bin_idx以上とする。
【0156】
シンタックス要素lmcs_delta_cw_prec_minus1plus1 は、シンタックスlmcs_delta_abs_cw[i]の表現に使用されるビット数を指定する。
シンタックス要素lmcs_delta_abs_cw[i]は、i番目のビンの絶対デルタコードワード値を指定する。
シンタックス要素lmcs_delta_sign_cw_flag[i]は、変数lmcsDeltaCW[i]の符号(sign)を指定する。lmcs_delta_sign_cw_flag[i]が存在しない場合、0 に等しいと推測される。
【0157】
ルママッピングのためのLMCS中間変数演算
順方向および逆方向ルママッピングプロセスを適用するために、いくつかの中間変数およびデータ配列が必要とされる。
まず、変数OrgCWが以下のように導出される:
OrgCW=(1<<BitDepth)/16
次に、変数lmcsDeltaCW[i]を、i = lmcs_min_bin_idx~LmcsMaxBinIdxについて以下のように計算する。
lmcsDeltaCW[i]=(1-2 * lmcs_delta_sign_cw_flag[i])* lmcs_delta_abs_cw[i]
新しい変数lmcsCW[i]は、次のように導出される:
- For i=0.. lmcs_min_bin_index-1について、lmcsCW[i]を0 に設定する。
- For i = lmcs_min_bin_idx..LmcsMAxBinIdxについて以下が適用される:
lmcsCW[i] = OrgCW + lmcsDeltaCW[i]
lmcsCW[i]の値は、(OrgCW>>3)から(OrgCW<<3-1)の範囲内である。
- For i = LmcsMaxBinIdx+1 .. 15について、lmcsCW[i]を0に等しく設定する。
変数InputPivot[i](i=0..16)は、次のように導出される:
InputPivot[i]= i * OrgCW
【0158】
i = 0..16における変数LmcsPivot[i]、及び、i = 0..15における変数ScaleCoeff[i]、およびInvScaleCoeff[i]は、以下のように計算される:
LmcsPivot[0]= 0;
for(i=0; i <= 15; i++){
LmcsPivot[i + 1]= LmcsPivot[i]+ lmcsCW[i]
ScaleCoeff[i]=(lmcsCW[i]*(1 << 11)+(1 << (Log2(OrgCW)- 1))) >> (Log2(OrgCW))
if (lmcsCW[i]== 0)
InvScaleCoeff[i]= 0
else
InvScaleCoeff[i]= OrgCW *(1 << 11)/ lmcsCW[i]
【0159】
順方向ルママッピング
図7に示すように、LMCSがルマに適用される場合、predMapSamples[i][j]と呼ばれるルマリマップサンプル(Luma remapped sample)は、予測サンプルpredSamples[i][j]から得られる。
predMapSamples[i][j]は、以下のように計算される:
まず、位置(i、j)において、予測サンプルpredSamples[i][j]からインデックスidxYを計算する。
idxY = preSamples[i][j] >> Log2(OrgCW)
次に、セクション0の中間変数idxY、LmcsPivot[idxY]およびInputPivot[idxY]を使用して、predMapSamples[i][j]を以下のように導出する。
predMapSamples[i][j] = LmcsPivot[idxY]
+(ScaleCoeff[idxY]*(predSamples[i][j]- InputPivot[idxY])+(1 << 10))>> 11
【0160】
ルマ再構成サンプル(Luma reconstruction samples)
再構成プロセスは、予測ルマサンプルpredMapSample[i][j]および残差ルマサンプルresiSamples[i][j]から得られる。
再構成されたルマピクチャサンプルrecSamples[i][j]は、以下のように、predMapSample[i][j]をresiSamples[i][j]に加算することによって単純に得られる:
recSamples[i][j]= Clip1(predMapSamples[i][j]+ resiSamples[i][j]])
上記の関係において、Clip1関数は、再構成されたサンプルが0から1<<BitDepth-1の範囲内にあることを確実にするためのクリッピング機能である。
【0161】
逆ルママッピング(Inverse Luma mapping)
図7による逆ルママッピングを適用する場合、以下の動作が、処理中の現在のブロックの各サンプルrecSample[i][j]に適用される:
まず、位置(i,j)における、再構成サンプルrecSamples[i][j]からインデックスidxYを算出する。
idxY = recSamples[i][j] >> Log2(OrgCW)
逆マップルマサンプルinvLumaSample[i][j]を、以下に基づいて導出する:
invLumaSample[i][j]= InputPivot[idxYInv] + (InvScaleCoeff[idxYInv] *
(recSample[i][j]- LmcsPivot[idxYInv])+(1 << 10)) >> 11
次に、クリッピング操作を行って、最終サンプルを得る:
finalSample[i][j] = Clip1(invLumaSample[i][j])
【0162】
クロマスケーリング(Chroma scaling)
クロマスケーリングのためのLMCSセマンティクス
テーブル6のシンタックス要素lmcs_delta_abs_crs は、変数lmcsDeltaCrs の絶対コードワード値を指定する。lmcs_delta_abs_crsの値は、0及び7の範囲内である。存在しない場合、lmcs_delta_abs_crs は0 に等しいと推測される。
シンタックス要素lmcs_delta_sign_crs_flag は、変数lmcsDeltaCrsの符号(sign)を指定する。存在しない場合、lmcs_delta_sign_crs_flag は0 に等しいと推測される。
【0163】
クロマスケーリングのためのLMCS中間変数演算
クロマスケーリングプロセスを適用するために、いくつかの中間変数が必要とされる。
変数lmcsDeltaCrsは、以下のように導出される:
lmcsDeltaCrs =(1 - 2 * lmcs_delta_sign_crs_flag) * lmcs_delta_abs_crs
i=0..15における変数ChromaScaleCoeff[i]は、次のように導出される:
if (lmcsCW[i]== 0)
ChromaScaleCoeff[i]=(1 << 11)
else
ChromaScaleCoeff[i]= OrgCW * (1<< 11)/(lmcsCW[i] + lmcsDeltaCrs)
【0164】
クロマスケーリングプロセス
第1のステップにおいて、変数invAvgLumaは、現在の対応するクロマブロックの周りの再構成されたルマサンプルの平均ルマ値を計算するために導出される。平均値ルマは、対応するクロマブロックを囲む左上のルマブロックから計算される。
サンプルが使用できない場合、変数invAvgLumaは次のように設定される:
invAvgLuma = 1 << (BitDepth -1)
【0165】
セクション0の中間配列LmcsPivot[]に基づいて、変数idxYInvが次のように導出される:
(For idxYInv = lmcs_min_bin_idx; idxYInv <= LmcsMaxBinIdx; idxYInv++){
if(invAvgLuma < LmcsPivot [idxYInv + 1 ]) break
}
IdxYInv = Min(idxYInv, 15)
変数varScaleは、以下のように導出される:
varScale = ChromaScaleCoeff[idxYInv]
【0166】
変換を現在のクロマブロックに適用されるとき、再構成されたクロマピクチャサンプルアレイrecSamplesは、以下のように導出される
recSamples[i][j]= Clip1(predSamples[i][j] +
Sign(resiSamples[i][j])*((Abs(resiSamples[i][j])* varScale +(1 << 10)) >> 11))
現在のブロックに変換が適用されていない場合、以下が適用される:
recSamples[i][j]= Clip1(predSamples[i][j])
【0167】
エンコーダの考察
LMCSエンコーダの基本原理はまず、ダイナミックレンジセグメントが平均分散よりも低いコードワードを有する範囲に、より多くのコードワードを割り当てることである。この代替の定式化では、LMCSの主な目標が平均分散よりも高いコードワードを有するダイナミックレンジセグメントに、より少ないコードワードを割り当てることである。このようにして、ピクチャの滑らかな領域は、平均よりも多くのコードワードで符号化され、逆もまた同様である。APSに記憶されるLMCSツールの全てのパラメータ(テーブル6参照)は、エンコーダ側で決定される。LMCSエンコーダアルゴリズムは局所ルマ分散の評価に基づいており、前述の基本原理に従ってLMCSパラメータの判定を最適化している。次に、最適化が行われて、所与のブロックの最終的な再構成されたサンプルに対する最良のPSNR指標が得られる。
【0168】
後述するように、スライス/ピクチャヘッダの先頭にAPS ID情報を設定することにより、解析の複雑さを低減することができる。これにより、APS IDに関連するシンタックス要素を、デコードツールに関連するシンタックス要素の前に解析することができる。
【0169】
ピクチャヘッダ
以下の記述は、ピクチャヘッダのためのシンタックス要素の次のテーブルの詳細または代替を提供する。テーブル10は、従来技術の解析問題を解決するために、LMCS、ALF、および、スケーリングリストのAPS ID情報がピクチャヘッダの先頭に近づくように設定されているピクチャヘッダの修正例を示す(上記のテーブル8を参照)。この変更は、ストライクスルーおよび下線付きテキストによって示される。このシンタックス要素のテーブルを用いて、APS IDの追跡は、複雑性が低くなる。
【0170】
テーブル10 APS ID情報の修正を示す部分ピクチャヘッダ
【0171】
APS ID関連シンタックス要素は、以下のうちの1以上を含むことができる:
・ APS ID LMCS.
・ APS IDスケーリングリスト.
〇 LNSTメソッドのスケーリングマトリックスを有効にするための情報を含むAPSスケーリングリスト
・ APS ID ALFリスト.
〇 クリッピング値のシグナリングに関する情報を含むAPS ALFリスト
【0172】
1つの例では、APS ID関連のシンタックス要素がピクチャヘッダの先頭、または先頭付近に設定される。
【0173】
この特徴の利点は、有用でないAPS NALユニットを除去するためにAPS ID使用を追跡する必要があるストリーミングアプリケーションの複雑さを低減することである。
【0174】
先に述べたように、シンタックス要素のいくつかが、APS ID関連のシンタックス要素の前に来るものもあるので、「始まり」という表現は必ずしも「始まり」を意味するわけではない。これらは、以下で順に説明される。
【0175】
APS ID関連のシンタックス要素のセットは、以下の1以上の後に設定される:
・ パースツールパラメータなしでビデオシーケンスの一部をカットまたは分割したり抽出したりするために、ビットストリームを解析する必要があるストリーミングアプリケーションに役立つシンタックス要素.
・ 現在のピクチャが参照ピクチャとして決して使用されないことを示すシンタックス要素(例えばnon_reference_picture_flag)で、これが1に等しいとき、そのピクチャは参照ピクチャとして決して使用されないことを示す。この情報は多くのストリーミングアプリケーションに役立つため、APS ID LMCSシンタックス要素のセットの前にこのフラグを設定することが望まれる。
〇 現在のピクチャがGDR画像であることを示すシンタックス要素(例えば、GDR_pic_flagシンタックス)が1に等しいとき、現在のピクチャがGDR画像であることを示す。このタイプのピクチャは、ビットストリームが前のピクチャから独立していることを意味する。それは多くのストリーミングアプリケーションにとって重要な情報である。同じ理由で、APS ID LMCSシンタックス要素セットは、gdr_pic_flag が有効な場合に復号されるrecovery_poc_cntシンタックス要素の後になければならない。
・ 復号画像バッファ(DBP)に影響する、復号画像バッファ内の前回復号されたピクチャの変化を示すシンタックス要素(例えば、no_output_of_prior_pics_flag)。これは、多くのアプリケーションにとって重要な情報である。
・ ph_pic_parameter_set_id及び/或いはPPS情報に関するその他のシンタックス要素。実際、PPS idは、多くのアプリケーションに必要とされる。
・ サブピクチャ情報に関係するシンタックス要素。実際、これらの情報は、一部のストリーミングアプリケーションのビットストリーム抽出にとって重要である。
・ ピクチャヘッダで送信されるピクチャタイプ情報。実際、ピクチャタイプは、多くのアプリケーションにとって重要な情報である。
【0176】
特に有利な例では、APS ID関連シンタックス要素のセットが、復号のための条件なしに固定長コードワードを有するピクチャヘッダの先頭にあるシンタックス要素の後に設定される。固定長コードワードは、シンタックス要素のテーブルの記述子u(N) を持つシンタックス要素に対応する。ここで、N は整数値である。
【0177】
現在のVVC明細書と比較して、これは、non_reference_picture_flag、gdr_pic_flag、およびno_output_of_prior_pics_flagに対応する。
【0178】
これの利点は、ビット数が画像ヘッダの先頭で常に同じであり、対応するアプリケーションの有用な情報に直接行くので、これらの最初のコードワードを簡単にバイパスできるストリーミングアプリケーションのためである。そのため、デコーダは、ヘッダ内の常に同じビット位置にあるので、ヘッダからAPS ID関連のシンタックス要素を直接解析できる。
【0179】
解析の複雑さを減らす変形例では、APS ID関連のシンタックス要素のセットが、別のヘッダからの1つ以上の値を必要としないピクチャヘッダの先頭のシンタックス要素の後に設定される。このようなシンタックス要素の解析には、解析の複雑さを軽減する他の変数は必要ない。
【0180】
或る変形例では、APS IDスケーリングリストシンタックス要素セットが、ピクチャヘッダの先頭に設定される。
【0181】
この変形形態の利点は、有用でないAPS NALユニットを除去するためにAPS ID使用を追跡する必要があるストリーミングアプリケーションの複雑さを低減されることである。
【0182】
上記のタイプのAPS ID関連シンタックス要素は、個別に、または組み合わせて扱うことができることを理解されたい。特に有利な組み合わせの非網羅的なリストについて以下に説明する。
APS ID LMCSシンタックス要素セット、及び、APS IDスケーリングリストシンタックス要素セットは、ピクチャヘッダの先頭またはその近くに設定され、必要に応じて、ストリーミングアプリケーションに役立つ情報の後に設定される。
APS ID LMCSシンタックス要素セット、及び、APS ID ALFシンタックス要素セットは、ピクチャヘッダの先頭に設定され、オプションでストリーミングアプリケーションに役立つ情報の後に設定される。
APS ID LMCSシンタックス要素セット、APS IDスケーリングリストシンタックス要素セット、及び、APS ID ALFシンタックス要素セットは、ピクチャヘッダの先頭、または先頭付近に設定され、必要に応じてストリーミングアプリケーションに役立つ情報の後に設定される。
【0183】
一実施形態では、APS ID関連シンタックス要素(APS LMCS、APSスケーリングリスト、および/またはAPS ALF)は、低レベルツールパラメータの前に設定される。
【0184】
これは、各ピクチャについて、異なるAPS IDを追跡する必要があるいくつかのストリーミングアプリケーションのための複雑さの減少をもたらす。実際、低レベルツールに関連する情報は、スライスデータの解析および復号のために必要であるが、復号なしにビットストリームを抽出するだけのこのようなアプリケーションには必要ではない。低レベルツールの例は、以下で提供される:
・ デブロッキングフィルタパラメータのセット;これらのパラメータは、スライスデータ復号にのみ必要とされるデブロッキングフィルタのためのものである。
量子化パラメータのセット;これらのパラメータは、スライスデータの解析および復号に必要とされる。
・ SAOパラメータのセット;これらのパラメータは、スライスデータの解析とデコードに必要である。
・ pic_joint_cbcr_sign_flag;これらのパラメータは、スライスデータの解析とデコードに必要である。
・ 動きパラメータのセット;これらのパラメータは、スライスデータの解析とデコードに必要である。
・ QPオフセットパラメータのセット;これらのパラメータは、スライスデータの解析とデコードに必要である。
・ パーティショニングパラメータのセット;これらのパラメータは、スライスデータの解析とデコードに必要である。
・ 参照ピクチャリストパラメータのセット;これらのパラメータは、スライスデータの解析とデコードに必要である。
・ pic_output_fl フラグ;これらのパラメータはスライスデータのデコードに必要である。
・ colour_plane_id フラグ;これらのパラメータは、スライスデータの解析とデコードに必要である。
【0185】
上記のタイプのAPS ID関連シンタックス要素は、個別に、または組み合わせて扱うことができることを理解されたい。特に有利な組み合わせの非網羅的なリストを以下に説明する。
APS ID LMCSシンタックス要素セット、及び、APS IDスケーリングリストシンタックス要素セットは、低レベルツールシンタックス要素の前に設定される。
APS ID LMCSシンタックス要素セット、及び、APS ID ALFシンタックス要素セットは、低レベルツールシンタックス要素の前に設定される。
APS ID LMCSシンタックス要素セット、APS IDスケーリングリストシンタックス要素セット、及び、APS ID ALFシンタックス要素セットは、低レベルツールシンタックス要素の前に設定される。
【0186】
再同期ピクチャ(Resynchronization picture)
ビットストリームには、いくつかの再同期フレームまたはスライスがある。これらのフレームを使用することにより、以前の復号情報を考慮せずにビットストリームを読み出すことができる。例えば、クリーンランダムアクセスピクチャ(Clean random access picture:CRAピクチャ)は、その復号処理において、それ自体以外のピクチャをインター予測のために参照しない。これは、このピクチャのスライスがイントラまたはIBCであることを示していることを意味する。VVCでは、CRAピクチャは、各VCL NALユニットがCRA_NUTに等しいnal unit_typeを有するIRAP(Intra Random Access Point)ピクチャである。
【0187】
VVCでは、これらの再同期フレームは、IRAPピクチャまたはGDRピクチャとすることができる。
【0188】
しかしながら、IRAPまたはGDRピクチャ、またはいくつかの構成のためのIRAPスライスは、以前に復号されたAPSから生じるAPS IDをそれらのピクチャヘッダ内に有することができる。したがって、実際のランダムアクセスポイント、またはビットストリームが分割されている場合は、APS IDを追跡する必要がある。
【0189】
この問題を改善する1つの方法はIRAPまたはGDRピクチャを復号するとき、すべてのAPS IDがリセットされ、および/または、APSが別の復号されたAPSから取得されることが許可されないことである。APSは、LMCSまたはスケーリングリストまたはALFのためのものとすることができる。したがって、デコーダは、ピクチャが再同期プロセスに関連するかどうかを判定し、関連する場合、復号は、APS IDをリセットすることを含む。
【0190】
変形例では、或るピクチャ内の1つのスライスがIRAPである場合、すべてのAPS ODがリセットされる。
【0191】
APS IDのリセットは、デコーダがすべての以前のAPSもはや有効ではなく、その結果、APS IDの値が以前のAPSを参照しないとみなすことを意味する。
【0192】
この再同期処理は、APS ID情報をより簡単に解析およびデコードできるため、上記のシンタックス構造と組み合わせると、特に利点がある。これにより、必要に応じて迅速かつ効率的な再同期が可能になる。
【0193】
スライスヘッダ内のAPS ID関連情報
以下の説明は、スライスヘッダのシンタックス要素のテーブルの修正に関するものである。このテーブルでは、ALFのAPS ID情報が上述の発明の解析問題を解決するために、スライスヘッダの先頭付近に設定される。テーブル11の変更されたスライスヘッダは、シンタックス要素(上のテーブル9を参照)の現在のスライスヘッダの記述と、取り消し線と下線で示された変更に基づいている。
【0194】
【0195】
スライスヘッダの先頭にあるAPS ID ALF
テーブル11に示すように、APS ID ALFシンタックス要素セットは、スライスヘッダの先頭またはその近くに設定される。特に、ALF APSは、クリッピング値のシグナリングに関連するシンタックス要素を少なくとも含む。
【0196】
これは、有用でないAPS NALユニットを除去するためにAPS ID使用を追跡する必要があるストリーミングアプリケーションの複雑さを低減する。
【0197】
APS ID ALFシンタックス要素のセットは、解析やカット、分割、パースツールパラメータ無しでビデオシーケンスの部分を抽出を必要とするストリーミングアプリケーションに有用なシンタックス要素の後に設定することができる。このようなシンタックス要素の例を以下に示す:
・ 現在のスライスのPOCを示すslice_pic_order_cnt_lsb シンタックス要素。この情報は多くのストリーミングアプリケーションに役立つため、APS ID ALFシンタックス要素のセットの前に、このフラグを設定することが好ましい。
・ 現在のスライスのサブピクチャIDを示すslice_subpic_IDシンタックス要素。この情報は多くのストリーミングアプリケーションに役立つため、APS ID ALFシンタックス要素のセットの前に、このフラグを設定することが望ましい。
・ スライスのアドレス示すslice_address シンタックス要素。この情報は多くのストリーミングアプリケーションに役立つため、APS ID ALFシンタックス要素のセットの前に、このフラグを設定することが望ましい。
・ num_tiles_in_slice_minusシンタックス要素。この情報は多くのストリーミングアプリケーションに役立つため、APS ID ALFシンタックス要素のセットの前に、このフラグを設定することが望ましい。
・ 現在のスライスのタイプを示すslice_type 要素。この情報は多くのストリーミングアプリケーションに役立つため、APS ID ALFシンタックス要素のセットの前に、このフラグを設定することが望ましい。
【0198】
さらなる変形では、ALF APSSがクリッピング値のシグナリングに関連するシンタックス要素を少なくとも含むとき、APS ID ALFシンタックス要素セットがスライスヘッダの低レベルツールパラメータの前に設定される。
【0199】
これは、各ピクチャごとに、異なるAPS ALF APS IDを追跡する必要があるいくつかのストリーミングアプリケーションのための複雑さの減少をもたらす。実際、低レベルツールに関連する情報は、スライスデータの解析および復号のために必要であるが、復号なしにビットストリームを抽出するだけのこのようなアプリケーションには必要ではない。このようなシンタックス要素の例を以下に示す:
・ スライスヘッダの参照ピクチャリストパラメータのセット。実際、これらのパラメータは、スライスデータ復号に必要とされる。
・ スライスヘッダ内のCABAC初期化フラグのセット。実際、このフラグはスライスデータの復号専用である。
・ スライスヘッダ内の並置された予測パラメータのセット。実際、これらのパラメータは、スライスデータ復号に必要とされる。
・ スライスヘッダ内の重み付き予測パラメータのセット。実際、これらのパラメータは、スライスデータ復号に必要とされる。
・ スライスヘッダ内の量子化パラメータ更新パラメータのセット。実際、これらのパラメータは、スライスデータ復号に必要とされる。
・ スライスヘッダのSAO有効化フラグ(SAO enabled flags)のセット。実際、これらのパラメータは、スライスデータ復号に必要とされる。
【0200】
上記の特徴は、互いに組み合わせて提供されてもよいことを理解されたい。上述の特定の組み合わせと同様に、そうすることは、特定の実施に適した特定の利点、例えば、柔軟性の増加、または「最悪の場合」の例の指定を提供することができる。他の例では複雑性要件が(例えば)レート低減よりも高い優先度を有することができ、そのような特徴は個別に実装することができる。
【0201】
発明の実施
図9は、本発明の実施形態による、エンコーダ150またはデコーダ100、および通信ネットワーク199のうちの少なくとも1つを備えるシステム191 195を示す。一実施形態によれば、システム195は、例えば、デコーダ100を含むユーザ端末のユーザインターフェースまたはデコーダ100と通信可能なユーザ端末を介してデコーダ100にアクセスできるユーザに、コンテンツ(例えば、ビデオ/オーディオコンテンツを表示/出力またはストリーミングするためのビデオおよびオーディオコンテンツ)を処理し提供するためのものである。このようなユーザ端末は、コンピュータ、携帯電話、タブレット、または(提供/ストリーミングされた)コンテンツをユーザに提供/表示することができる任意の他のタイプの装置であってもよい。システム195は通信ネットワーク199を介して(例えば、以前のビデオ/オーディオが表示/出力されている間に)ビットストリーム101を取得/受信する。一実施形態によれば、システム191はコンテンツを処理し、処理されたコンテンツ、例えば、後で表示/出力/ストリーミングするために処理されたビデオおよびオーディオコンテンツを記憶するためのものである。システム191は、エンコーダ150によって受信され処理された(本発明によるデブロッキングフィルタによるフィルタリングを含む)オリジナルの画像シーケンス151を含むコンテンツを取得/受信し、エンコーダ150は、通信ネットワーク191を介してデコーダ100に通信されるビットストリーム101を生成する。次に、ビットストリーム101はいくつかの方法でデコーダ100に通信され、例えば、エンコーダ150によって事前に生成され、ユーザが記憶装置からコンテンツ(すなわち、ビットストリームデータ)を要求するまで、通信ネットワーク199内の記憶装置(例えば、サーバまたはクラウドストレージ)にデータとして記憶装置に記憶され、その時点で、データが記憶装置からデコーダ100に通信/ストリーミングされる。また、システム191はユーザに(例えば、ユーザ端末上に表示されるユーザインターフェースのためのデータを通信することによって)、記憶装置に記憶されたコンテンツのコンテンツ情報(例えば、コンテンツのタイトルや、コンテンツを識別、選択、要求するためのその他のメタ/記憶位置データ)を提供/ストリーミングし、要求されたコンテンツを記憶装置からユーザ端末に配信/ストリーミングできるように、コンテンツに対するユーザ要求を受信して処理するためのコンテンツ提供装置を備えてもよい。あるいは、エンコーダ150が、ユーザがコンテンツを要求するときに、ビットストリーム101を生成し、それをデコーダ100に直接通信/ストリーミングする。次いで、デコーダ100はビットストリーム101(または信号)を受信し、本発明によるデブロッキングフィルタでフィルタリングを実行してビデオ信号109および/またはオーディオ信号を取得/生成し、要求されたコンテンツをユーザに提供するために、これをユーザ端末が使用される。
【0202】
本発明による方法/プロセスの任意のステップまたは本明細書で説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、ステップ/機能は、1つまたは複数の命令もしくはコードもしくはプログラム、またはコンピュータ可読媒体として格納または送信され、PC(“パーソナルコンピュータ”)、DSP(“デジタル信号プロセッサ”)、回路、回路、プロセッサおよびメモリ、汎用マイクロプロセッサまたは中央演算処理装置、マイクロコントローラ、ASIC(“特定用途向け集積回路”)、フィールドプログラマブル論理アレイ(FPGA)、または他の同等の集積または個別論理回路であり得る、プログラマブルコンピューティングマシンなどの1つまたは複数のハードウェアベースの処理ユニットによって実行され得る。したがって、本明細書で使用される“プロセッサ”という用語は、前述の構造のいずれか、または本明細書で説明される技法の実装に適した他の任意の構造を指すことがある。
【0203】
本発明の実施形態はワイヤレスハンドセット、集積回路(IC)、またはJCのセット(例えば、チップセット)を含む多種多様なデバイスまたは装置によって実現することもでき、本明細書では様々な構成要素、モジュール、またはユニットを、それらの実施形態を実行するように構成されたデバイス/装置の機能態様を示すために説明するが、必ずしも異なるハードウェアユニットによる実現を必要としない。むしろ、種々モジュール/ユニットは、コーデックハードウェアユニットで結合されてもよく、または適切なソフトウェア/ファームウェアと共に1つ以上のプロセッサを含む相互運用ハードウェアユニットの集合によって提供されてもよい。
【0204】
本発明の実施形態は上述の実施形態のうちの1つ以上のモジュール/ユニット/機能を実行するために記憶媒体に記録されたコンピュータ実行可能命令(例えば、1つ以上のプログラム)を読み出して実行し、及び/又は上述の実施形態のうちの1つ以上の機能を実行するための1つ以上の処理部又は回路を含むシステム又は装置のコンピュータによって、及び、例えば、上述の実施形態のうちの1つ以上の機能を実行するために記憶媒体からコンピュータ実行可能命令を読み出して実行し、及び/又は上述の実施形態のうちの1つ以上の機能を実行するために1つ以上の処理部又は回路を制御することによって、システム又は装置のコンピュータによって実行される方法によって実現することができる。コンピュータはコンピュータ実行可能命令を読み出して実行するために、別個のコンピュータまたは別個の処理ユニットのネットワークを含んでもよい。コンピュータ実行可能命令は例えば、ネットワークまたは実体のある記憶媒体を介して通信媒体のようなコンピュータ可読媒体からコンピュータに提供されてもよい。通信媒体は、信号/ビットストリーム/搬送波であってもよい。有形記憶媒体は例えば、ハードディスク、ランダムアクセスメモリ、リード・オンリー・メモリ、分散コンピューティング・システムの記憶装置、光ディスク(コンパクト・ディスク(CD)、デジタル・バーサタイル・ディスク(DVD)、またはBlu-ray Disc(BD)TMなど)、フラッシュ・メモリ・デバイス、メモリ・カードなどの1つ以上を含み得る「非一時的なコンピュータ読み取り可能な記憶媒体」である。ステップ/機能のうちの少なくともいくつかは、マシーン、またはFPGA(「フィールドプログラマブルゲートアレイ」)またはASIC(「特定用途向け集積回路」)などの専用構成要素によってハードウェアで実装することもできる。
【0205】
図10は、本発明の1つまたは複数の実施形態を実施するためのコンピューティングデバイス1300の概略ブロック図である。コンピューティングデバイス1300は、マイクロコンピュータ、ワークステーション、またはライトポータブルデバイスなどのデバイスとすることができる。コンピューティングデバイス1300は、マイクロプロセッサなどの中央処理装置(CPU)1301と、本発明の実施形態による画像の少なくとも一部を符号化または復号するための方法を実施するために必要な変数およびパラメータを記録するように適合されたレジスタだけでなく、本発明の実施形態の方法の実行可能コードを記憶するためのランダムアクセスメモリ(RAM)1302と、ここで、このメモリ容量は例えば拡張ポートにオプションのRAMを接続することで拡張できる;本発明の実施形態を実施するためのコンピュータプログラムを記憶するための読み出し専用メモリ(ROM)1303と、処理対象のデジタルデータが送信または受信される通信ネットワークに接続されるネットワークインターフェース(NET)1304を有する。ネットワークインターフェース(NET)1304は、単一のネットワークインターフェースであってもよいし、異なるネットワークインターフェースのセット(例えば、有線および無線インターフェース、または異なる種類の有線または無線インターフェース)で構成されてもよい。データパケットは送信のためにネットワークインターフェースに書き込まれるか、またはCPU 1301内で実行されるソフトウェアアプリケーションの制御の下で受信のためにネットワークインターフェースから読み出される。ユーザインターフェース(UI)1305はユーザからの入力を受信するため、またはユーザに情報を表示するために使用されてもよい。大容量記憶装置として、ハードディスク(HD)1306が設けられてもよい。入出力モジュール(IO)1307はビデオソースまたはディスプレイなどの外部装置との間でデータを送受信するために使用されてもよい。実行可能コードは、ROM 1303、HD1306、または例えばディスクのようなリムーバブルデジタル媒体のいずれかに格納することができる。変形例によれば、プログラムの実行可能コードは、実行される前に、HD1306などの通信装置1300の記憶手段の1つに記憶されるために、NET1304を介して、通信ネットワークの手段によって受信することができる。CPU1301は前述の記憶手段の1つに格納された本発明の実施形態によるプログラムまたはプログラム群のソフトウェアコードの命令または部分の実行を制御し、指示するように適合される。電源投入後、CPU 1301は例えば、プログラムROM1303またはHD1306からそれらの命令がロードされた後に、ソフトウェアアプリケーションに関するメインRAMメモリ1302からの命令を実行することができる。このようなソフトウェアアプリケーションは、CPU 1301によって実行されると、本発明による方法のステップを実行させる。
【0206】
また、本発明の他の実施形態によれば、コンピュータ、携帯電話(セルラフォン)、テーブル、またはユーザにコンテンツを提供/表示することができる他の任意のタイプのデバイス(例えば、ディスプレイ装置)などのユーザ端末に、前述の実施形態によるデコーダが提供されることも理解される。さらに別の実施形態によれば、前述の実施形態によるエンコーダは、エンコーダがエンコードするためのコンテンツをキャプチャし、提供するカメラ、デジタルビデオカメラ、またはネットワークカメラ(例えば、閉回路テレビまたはビデオ監視カメラ)も備える撮像装置において提供される。2つのこのような例を、
図11および12を参照して以下に提供する。
【0207】
ネットワークカメラ
図11は、ネットワークカメラ2102及びクライアント装置2104を含むネットワークカメラシステム2100を示す図である。
【0208】
ネットワークカメラ2102は、撮像部2106と、符号化部2108と、通信ユニット2110と、制御部2112とを有している。
【0209】
ネットワークカメラ2102とクライアント装置2104とは、ネットワーク200を介して相互に通信可能に接続されている。
【0210】
撮像ユニット2106はレンズおよび画像センサ(例えば、電荷結合素子(CCD)または相補型金属酸化膜半導体(CMOS))を含み、被写体の画像を撮像し、その画像に基づいて画像データを生成する。この画像は静止画像であってもよいし、ビデオ画像であってもよい。
【0211】
符号化部2108は、上述した符号化方法を用いて画像データを符号化する。
【0212】
ネットワークカメラ2102の通信ユニット2110は、符号化部2108で符号化された符号化画像データをクライアント装置2104に送信する。
【0213】
また、通信ユニット2110は、クライアント装置2104からのコマンドを受信する。コマンドは、符号化ユニット2108の符号化のためのパラメータを設定するコマンドを含む。
【0214】
制御部2112は、通信ユニット2110が受信したコマンドに従って、ネットワークカメラ2102内の各部を制御する。
【0215】
クライアント装置2104は、通信ユニット2114と、復号部2116と、制御部2118とを有する。
【0216】
クライアント装置2104の通信ユニット2114は、ネットワークカメラ2102にコマンドを送信する。
【0217】
また、クライアント装置2104の通信ユニット2114は、ネットワークカメラ2102から符号化画像データを受信する。
【0218】
復号部2116は、上述した復号方法を用いて符号化画像データを復号する。
【0219】
クライアント装置2104の制御部2118は、ユーザ操作や、通信ユニット2114が受信したコマンドに従って、クライアントユニット2104内の他の部を制御する。
【0220】
クライアント装置2104の制御部2118は、復号部2116で復号された画像を表示するように表示装置2120を制御する。
【0221】
また、クライアント装置2104の制御部2118は、符号化部2108の符号化のためのパラメータを含むネットワークカメラ2102のパラメータの値を指定するGUI(Graphical User Interface)を表示するように表示装置2120を制御する。
【0222】
また、クライアントユニット2104の制御部2118は、表示装置2120で表示されたGUIに対するユーザ操作入力に応じて、クライアントユニット2104内の他の部を制御する。
【0223】
クライアント装置2104の制御部2119は、表示装置2120が表示するGUIに対するユーザ操作入力に応じて、ネットワークカメラ2102のパラメータの値を指定するコマンドをネットワークカメラ2102に送信するように、クライアント装置2104の通信ユニット2114を制御する。
【0224】
スマートフォン
図12は、スマートフォン2200を示す図である。
スマートフォン2200は、通信ユニット2202、復号部2204、制御部2206、表示部2208、画像記録装置2210及びセンサ2212を備える。
【0225】
通信ユニット2202は、ネットワーク200を介して符号化画像データを受信する。 復号部2204は、通信ユニット2202が受信した符号化画像データを復号する。
復号部2204は、上述した復号方法を用いて符号化画像データを復号する。
【0226】
制御部2206は、ユーザ操作や通信ユニット2202が受信したコマンドに応じて、スマートフォン2200内の他の部を制御する。
例えば、制御部2206は、復号部2204により復号された画像を表示するように表示部2208を制御する。
【0227】
本発明を実施形態を参照して説明してきたが、本発明は開示された実施形態に限定されないことを理解されたい。添付の特許請求の範囲に定義されるように、本発明の範囲から逸脱することなく、様々な変更および修正を行うことができることは、当業者には理解されよう。本明細書(任意の添付の特許請求の範囲、要約書、および図面を含む)に開示された特徴のすべて、および/またはそのように開示された任意の方法またはプロセスのステップのすべては、そのような特徴および/またはステップの少なくともいくつかが相互に排他的である組合せを除いて、任意の組合せで組み合わせることができる。本明細書(任意の添付の特許請求の範囲、要約書、および図面を含む)に開示される各特徴は特に断らない限り、同じ、同等の、または同様の目的を果たす代替の特徴によって置き換えることができる。したがって、特に断らない限り、開示される各特徴は、同等または同様の機能の一般的なシリーズの一例にすぎない。
【0228】
また、上述の比較、判定、評価、選択、実行、実行、または考慮の任意の結果、例えば、符号化またはフィルタリングプロセス中に行われる選択はビットストリーム内のデータ、例えば、結果を示すフラグまたはデータに示されるか、またはそれらから決定可能/推論可能であり得、その結果、示されるか、または決定された/推論された結果は例えば、デコード処理中に、比較、判定、評価、選択、実行、実行、または考慮を実際に実行する代わりに、処理において使用され得ることが理解される。
【0229】
特許請求の範囲において、単語「有する」は他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は複数を排除するものではない。異なる特徴が相互に異なる従属請求項に記載されているという単なる事実は、これらの特徴の組合せが有利に使用されることができないことを示すものではない。
【0230】
クレームに記載されている参照符号は例示のみを目的としたものであり、クレームの範囲に限定的な影響を及ぼさない。