(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-19
(45)【発行日】2024-03-28
(54)【発明の名称】ビデオの符号化及び復号のための高レベルシンタックス
(51)【国際特許分類】
H04N 19/70 20140101AFI20240321BHJP
H04N 19/107 20140101ALI20240321BHJP
H04N 19/174 20140101ALI20240321BHJP
H04N 19/119 20140101ALI20240321BHJP
H04N 19/159 20140101ALI20240321BHJP
【FI】
H04N19/70
H04N19/107
H04N19/174
H04N19/119
H04N19/159
(21)【出願番号】P 2022508941
(86)(22)【出願日】2020-12-18
(86)【国際出願番号】 EP2020087248
(87)【国際公開番号】W WO2021123326
(87)【国際公開日】2021-06-24
【審査請求日】2022-06-14
(32)【優先日】2019-12-20
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】ラロシュ, ギローム
(72)【発明者】
【氏名】ウエドラオゴ, ナエル
(72)【発明者】
【氏名】オンノ, パトリス
【審査官】田部井 和彦
(56)【参考文献】
【文献】特開2015-080002(JP,A)
【文献】国際公開第2014/002375(WO,A1)
【文献】国際公開第2021/127365(WO,A1)
【文献】特表2022-525961(JP,A)
【文献】Benjamin Bross et al.,Versatile Video Coding (Draft 6) [online],JVET-O2001-vE(JVET-P0120_SpecText.docx), [2023年10月19日検索],インターネット <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0120-v1.zip>,2019年09月25日,pp.19,33-35,43-46,50-55,107-110,120-121,125-134
【文献】Hendry et al.,AHG17: On Access Unit Delimiter and Picture Header [online],JVET-P0120-v1,インターネット <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0120-v1.zip>,2019年09月25日,(JVET-P0120_v1.docx)
【文献】Ye-Kui Wang et al.,The High-Level Syntax of the Versatile Video Coding (VVC) Standard [online],IEEE Transactions on Circuits and Systems for Video Technology (Volume: 31 ,Issue: 10 ,October 2021),2021年04月05日,pp.3779-3800,インターネット <URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9395142>,DOI: 10.1109/TCSVT.2021.3070860
【文献】Benjamin Bross et al.,Versatile Video Coding (Draft 6) [online],JVET-O2001-vE,インターネット <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0120-v1.zip>,2019年09月25日,p.44-46,p.108-110,JVET-P0120_SpecText.docx
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/70
H04N 19/107
H04N 19/174
H04N 19/119
H04N 19/159
(57)【特許請求の範囲】
【請求項1】
ビットストリームからピクチャを復号する方法であって、前記ピクチャは1以上のスライスを有し、前記ビットストリームはピクチャヘッダとスライスヘッダと適応パラメータセットとを有し、
前記ピクチャヘッダにおけるフラグであってパーティショニングに関するフラグであるパーティションコンストレインツオーバーライドフラグ(partition_constraints_override_flag)の値が1であり、前記ピクチャヘッダにおける所定のシンタックス要素が前記ピクチャの全てのスライスがイントラを使用することを示す場合、
パーティショニングに関連し且つイントラのために用いられるシンタックス要
素を前記ピクチャヘッダから復号する工程と、
前記復号されたシンタックス要素を用いて前記1以上のスライスを復号する工程と、を有し、
前記所定のシンタックス要素が前記ピクチャの全てのスライスがイントラを使用することを示す場合、前記スライスヘッダからスライスの符号化タイプに対応する情報が復号されず、
前記所定のシンタックス要素の値に応じて、前記スライスヘッダから前記情報が復号されることが可能であり、
前記適応パラメータセットは、前記ビットストリームにおいて前記ピクチャヘッダより後に位置することが可能であり、且つ、適応ループフィルタに関する情報を含むことが可能である
ことを特徴とする方法。
【請求項2】
前記情報はslice_typeであることを特徴とする請求項1に記載の方法。
【請求項3】
前記所定のシンタックス要素が前記ピクチャにおける全てのスライスがイントラを使用することを示す場合、インターで用いられる情報であるmvd_l1_zero_flagは前記ピクチャヘッダから復号されないことを特徴とする請求項1に記載の方法。
【請求項4】
前記パーティションコンストレインツオーバーライドフラグの値が0の場合、前記パーティショニングに関連し且つイントラのために用いられる前記シンタックス要素は前記ピクチャヘッダから復号されないことを特徴とする請求項1に記載の方法。
【請求項5】
前記ピクチャヘッダにおける前記所定のシンタックス要素が前記ピクチャの全てのスライスがイントラを使用することを示す場合、デルタQPに関し且つイントラのために用いられるシンタックス要素が前記ピクチャヘッダから復号可能であることを特徴とする請求項1に記載の方法。
【請求項6】
異なるスライスが同じ適応パラメータセットを使用することが可能であることを特徴とする請求項1に記載の方法。
【請求項7】
ピクチャをビットストリームに符号化する方法であって、前記ピクチャは1以上のスライスを有し、前記ビットストリームはピクチャヘッダとスライスヘッダと適応パラメータセットとを有し、
前記ピクチャにおける全てのスライスがイントラを使用することを示すことが可能な所定のシンタックス要素をピクチャヘッダに符号化する工程
と、
前記ピクチャヘッダにおけるフラグであってパーティショニングに関するフラグであるパーティションコンストレインツオーバーライドフラグ(partition_constraints_override_flag)の値が1であり、前記所定のシンタックス要素が前記ピクチャにおける全てのスライスがイントラを使用することを示す場合、パーティショニングに関連し且つイントラのためのシンタックス要
素を、前記ピクチャヘッダに符号化する工程と、
前記1以上のスライスを符号化する工程と、を有し、
前記所定のシンタックス要素が前記ピクチャの全てのスライスがイントラを使用することを示す場合、前記スライスヘッダにスライスの符号化タイプに対応する情報が符号化されず、
前記所定のシンタックス要素の値に応じて、前記スライスヘッダに前記情報が符号化されることが可能であり、
前記適応パラメータセットは、前記ビットストリームにおいて前記ピクチャヘッダより後に位置することが可能であり、且つ、適応ループフィルタに関する情報を含むことが可能である
ことを特徴とする方法。
【請求項8】
前記情報はslice_typeであることを特徴とする請求項
7に記載の方法。
【請求項9】
前記所定のシンタックス要素が前記ピクチャにおける全てのスライスがイントラを使用することを示す場合、インターで用いられる情報であるmvd_l1_zero_flagは前記ピクチャヘッダに符号化されないことを特徴とする請求項
7に記載の方法。
【請求項10】
前記パーティションコンストレインツオーバーライドフラグの値が0の場合、前記パーティショニングに関連し且つイントラのために用いられる前記シンタックス要素は前記ピクチャヘッダから復号されないことを特徴とする請求項7に記載の方法。
【請求項11】
前記ピクチャヘッダにおける前記所定のシンタックス要素が前記ピクチャの全てのスライスがイントラを使用することを示す場合、デルタQPに関し且つイントラのために用いられるシンタックス要素が前記ピクチャヘッダから復号可能であることを特徴とする請求項7に記載の方法。
【請求項12】
異なるスライスが同じ適応パラメータセットを使用することが可能であることを特徴とする請求項7に記載の方法。
【請求項13】
ビットストリームからピクチャを復号する装置であって、前記ピクチャは1以上のスライスを有し、前記ビットストリームはピクチャヘッダとスライスヘッダと適応パラメータセットとを有し、
前記ピクチャヘッダにおけるフラグであってパーティショニングに関するフラグであるパーティションコンストレインツオーバーライドフラグ(partition_constraints_override_flag)の値が1であり、前記ピクチャヘッダにおける所定のシンタックス要素が前記ピクチャの全てのスライスがイントラを使用することを示す場合、
パーティショニングに関連し且つイントラのために用いられるシンタックス要
素を前記ピクチャヘッダから復号する手段と、
前記復号されたシンタックス要素を用いて前記1以上のスライスを復号する手段と、を有し、
前記所定のシンタックス要素が前記ピクチャの全てのスライスがイントラを使用することを示す場合、前記スライスヘッダからスライスの符号化タイプに対応する情報が復号されず、
前記所定のシンタックス要素の値に応じて、前記スライスヘッダから前記情報が復号されることが可能であり、
前記適応パラメータセットは、前記ビットストリームにおいて前記ピクチャヘッダより後に位置することが可能であり、且つ、適応ループフィルタに関する情報を含むことが可能である
ことを特徴とする装置。
【請求項14】
ピクチャをビットストリームに符号化する装置であって、前記ピクチャは1以上のスライスを有し、前記ビットストリームはピクチャヘッダとスライスヘッダと適応パラメータセットとを有し、
前記ピクチャにおける全てのスライスがイントラを使用することを示すことが可能な所定のシンタックス要素をピクチャヘッダに符号化する手段
と、
前記ピクチャヘッダにおけるフラグであってパーティショニングに関するフラグであるパーティションコンストレインツオーバーライドフラグ(partition_constraints_override_flag)の値が1であり、前記所定のシンタックス要素が前記ピクチャにおける全てのスライスがイントラを使用することを示す場合、パーティショニングに関連し且つイントラのためのシンタックス要
素を、前記ピクチャヘッダに符号化する手段と、
前記1以上のスライスを符号化する手段と、を有し、
前記所定のシンタックス要素が前記ピクチャの全てのスライスがイントラを使用することを示す場合、前記スライスヘッダにスライスの符号化タイプに対応する情報が符号化されず、
前記所定のシンタックス要素の値に応じて、前記スライスヘッダに前記情報が符号化されることが可能であり、
前記適応パラメータセットは、前記ビットストリームにおいて前記ピクチャヘッダより後に位置することが可能であり、且つ、適応ループフィルタに関する情報を含むことが可能である
ことを特徴とする装置。
【請求項15】
コンピュータを、請求項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)として採用された。しかしながら、この構造体は全てのVVCツールの使用において柔軟性を提供するが、特に低ビットレートインスタンスに対して、伝送のビットレートに影響を与えるビットストリームにおいて信号送信される構文要素の量の増加がある。
【0006】
したがって、前述の問題の少なくとも1つに対する解決策が望ましい。
【0007】
概して、本発明者らは、最近採用された高レベルシンタックスに組み込まれた柔軟性がめったに使用されず、したがって、ビットレートを不必要に増加させることに気付いた。特に、ほとんどのピクチャは1つのスライス符号化モード(例えば、インターまたはIntra)を使用するスライスのみを含み、一方、高レベルシンタックスは、各ピクチャにおいて異なるタイプのスライスを可能にする。本発明は、ほとんどのピクチャが1つの符号化タイプのスライスのみを使用しているという事実を利用し、ビットレートを低減することができることに関する。
【0008】
単一のピクチャ内での複数の符号化タイプの柔軟性を再導入するオプション機能も考慮される。最近採用された高レベルシンタックスと比較して、ビットレートを低減するために、特定のシンタックス要素および/またはシンタックス要素の追加の制約が追加される。これらの「アドオン」特徴はビットレートを増加させるかもしれないが、めったに使用されないので、所与のビデオシーケンスの平均ビットレートは従来技術と比較して低減される。
【0009】
本発明は、ピクチャ全体が1つのスライスタイプ(I、P、B)のみを含むときに必要とされない、いくつかのピクチャヘッダパラメータの余分なシグナリングを回避するために、ピクチャヘッダシグナリングの修正を提案する。特に、インターおよびイントラのデルタQPシグナリングに関連するパラメータは、単一のパラメータにマージされる。パーティショニングパラメータのオーバーライドフラグは、インタースライス用とイントラスライス用の2つのオーバーライドフラグに変更される。さらに、インタースライスにおける動き情報パラメータに対してオーバライドフラグが追加される。これらの修正は、現行の設計と比較してほぼ同じ柔軟性を提供するが、それは符号化効率を増加させる。
【0010】
本発明の一態様では、デコーダは、ピクチャヘッダから1セットのシンタックス要素を復号するだけでよく、このシンタックス要素のセットは、ピクチャのためのスライス符号化モード(例えば、インターまたはINTRA)によって定義される。あるいは、ピクチャヘッダ内のシンタックス要素は符号化モードに依存せず、マージされたシンタックス要素のセットを含む。このようにして、不必要なシンタックス要素がデコーダによってスキップされ得るため、ビットレートが低減される。
【0011】
本発明の1つの態様によれば、ビットストリームからビデオデータを復号する方法が提供される。ここで前記ビットストリームは1以上のスライスに対応するビデオデータを有し、ピクチャは1以上のスライスを有し、前記ビデオビットストリームはピクチャヘッダを有する。そして、前記方法は、前記ピクチャにおける1以上のスライスが単一の符号化モードを使用しているかを判定することと、前記ピクチャヘッダから前記単一の符号化モードで使用されるシンタックス要素のセットを判定することと、前記判定されたシンタックス要素を用いて前記1以上のスライスを復号することを有する。
【0012】
オプションで、前記1以上のスライスの符号化モードを判定することは、前記ピクチャヘッダにおける少なくとも1つのシンタックス要素に依存する。
オプションで、前記単一の符号化モードは、インター又はイントラのうちの1つである。
オプションで、前記単一の符号化モードは、インターである。
オプションで、前記インター符号化モードは、インターB又はインターPの一方である。
オプションで、前記単一の符号化モードで使用れるシンタックス要素の設置を判定することは、ピクチャヘッダにおける少なくとも1つのシンタックス要素を有効及び/又は無効にすることを含む。
オプションで、前記単一の符号化モードで使用されるシンタックス要素のセットを判定することは、スライスヘッダにおける少なくとも1つのシンタックス要素を有効及び/又は無効にすることを含む。
オプションで、AUデリミタの値に基づき前記符号化モードを判定する。
オプションで、符号化モードを判定することは、1以上のオーバーライドフラグを復号することを有する。
オプションで、前記1以上のオーバーライドフラグは、インターモードが使用されるかどうかを示す第1のフラグ、及び、イントラモードが使用されるかどうかを示す第2のフラグを有する。
【0013】
本発明の態様において、ビットストリームからビデオデータを復号する方法が提供される。ここで前記ビットストリームは1以上のスライスに対応するビデオデータを有し、ピクチャは1以上のスライスを有し、前記ビデオビットストリームはピクチャヘッダを有する。そして、この方法は、前記ピクチャにおける1以上のスライスの符号化モードを判定することと、前記ピクチャヘッダから前記符号化モードで使用されるシンタックス要素のセットを判定することと、前記判定されたシンタックス要素を用いて前記1以上のスライスを復号することを有する。
【0014】
本発明の態様において、ビデオデータをビットストリームに符号化する方法が提供される。ここで前記ビットストリームは1以上のスライスに対応するビデオデータを有し、ピクチャは1以上のスライスを有し、前記ビデオビットストリームはピクチャヘッダを有する。そして、前記方法は、前記ピクチャにおける前記少なくとも1つスライスでの単一の符号化モードを定義することと、前記単一の符号化モードで使用されるシンタックス要素のセットを、前記ピクチャヘッダ内に符号化することと、前記判定されたシンタックス要素を用いて前記1以上のスライスを符号化することを有する。
【0015】
本発明の態様において、ビデオデータをビットストリームに符号化する方法が提供される。ここで前記ビットストリームは1以上のスライスに対応するビデオデータを有し、ピクチャは1以上のスライスを有し、前記ビデオビットストリームはピクチャヘッダを有する。そして、前記方法は、
前記ピクチャにおける前記1以上のスライスでの符号化モードを判定することと、前記符号化モードで使用されるシンタックス要素のセットを、前記ピクチャヘッダ内に判定することと、前記判定されたシンタックス要素を用いて前記1以上のスライスを符号化することを有する。
【0016】
オプションで、前記符号化モードはインターであって、前記ピクチャヘッダを符号化することは前記ピクチャヘッダ内にてインターシンタックス要素を符号化することを有する。
オプションで、前記符号化モードはイントラであって、前記ピクチャヘッダを符号化することは前記ピクチャヘッダ内にてイントラシンタックス要素を符号化することを有する。
【0017】
本発明の他の態様において、上記の対応の復号の方法に従って方法を実行することで、ビットストリームを復号するように適合したデコーダが提供される。
本発明の他の態様において、上記の対応の符号化の方法に従って方法を実行することで、ビットストリームを符号化するように適合したエンコーダが提供される。
【0018】
本発明の1つの態様によれば、ビットストリームからビデオデータを復号する方法が提供される。ここで前記ビットストリームは複数のスライスに対応するビデオデータを有し、前記ビデオビットストリームはピクチャヘッダを有する。そして、前記方法は、少なくとも1つのスライスの符号化モードを判定することと、前記ピクチャヘッダから前記符号化モードで使用されるシンタックス要素のセットを判定することと、前記判定されたシンタックス要素を用いて前記少なくとも1つのスライスを復号することを有する。
【0019】
これにより、ビットレートの低減でき、全体としてより効率的な復号が可能になる。
【0020】
オプションで、少なくとも1つのスライスの符号化モードを決定することは、前記ピクチャヘッダ内のシンタックス要素に依存する。
オプションで、前記符号化モードは、インターまたはイントラのうちの1つである。
柔軟性のために、符号化モードは、インター、イントラ、またはインターとイントラんの組合せのうちの1つである。
さらなる柔軟性のために、インター符号化モードは、インターBまたはインターPのうちの1つである。
オプションで、前記符号化モードに特有のシンタックス要素のセットを判定することは、ピクチャヘッダ内の少なくとも1つのシンタックス要素を有効化および/または無効化することを含む。
オプションで、前記符号化モードに特有のシンタックス要素を判定することは、スライスヘッダ内の少なくとも1つのシンタックス要素を有効化および/または無効化することを含む。
オプションで、方法は、前記判定された符号化タイプに基づいてAUデリミタの値を推論することをさらに含む。オプションで、前記AUデリミタの値の推論することは、ストリームが1つのレイヤのみを含むと判定された場合に実行される。
【0021】
本発明の別の態様によれば、ビットストリームからビデオデータを復号する方法が提供される。ここでビットストリームは複数のスライスに対応するビデオデータを含み、ビデオビットストリームはピクチャヘッダを含む。そして、前記方法は、ピクチャ内のすべてのスライスが同じ符号化モードを使用するかどうかを判定することと、前記判定が真である場合、前記ピクチャヘッダから前記シンタックス要素を使用してピクチャを復号することを有する。
【0022】
本発明の別の態様によれば、ビットストリームからビデオデータを復号する方法が提供される。ここでビットストリームは複数のスライスに対応するビデオデータを含み、前記ビデオビットストリームはピクチャヘッダを含む。そして、前記方法は、前記ピクチャヘッダから前記シンタックス要素を使用してピクチャを復号することを含み、すべてのシンタックス要素は、同じスライス符号化モードに対応する。
【0023】
これらの態様は、特に(多くのビデオシーケンスにおけるピクチャの大部分である)インタースライスのみを含むピクチャについて、ヘッダに関するレートを低減する。
オプションで、前記決定が真でない場合、前記ピクチャ内のイントラスライスのイントラ符号化パラメータは、前記ピクチャヘッダ内の対応するインターシンタックス要素から推論される。
オプションで、前記イントラシンタックス要素は、対応するインター値の値に制限される。
オプションで、前記方法は、従前のシンタックス要素の値に基づいて前記スライスのシンタックス要素を予測することをさらに含む。
オプションで、少なくとも1つのスライスの符号化モードを決定することは、ピクチャヘッダとは異なるヘッダのシンタックス要素に依存する。
一例では、ピクチャヘッダとは異なるヘッダは、シーケンスヘッダである。
別の例では、ピクチャヘッダとは異なる前記ヘッダは、AUD NALユニットである。
一例では、前記判定された符号化モードはインターである。別の例では、前記判定された符号化モードはイントラである。
オプションで、符号化モードを判定することは、1以上のオーバーライドフラグを復号することを含む。
オプションで、上記の1つ以上のオーバーライドフラグは、ピクチャヘッダーよりも上位レベルのヘッダーにある。
【0024】
本発明の別の態様によれば、ビットストリームからビデオデータを復号する方法が提供される。ここで、このビットストリームは複数のスライスに対応するビデオデータを有し、ビデオビットストリームはピクチャヘッダを有する。そして、前記方法は1以上のオーバーライドフラグを復号することと、前記1以上のオーバーライドフラグに依存して前記ピクチャヘッダから、符号化された特定のシンタックス要素を復号することを有し、前記1以上のオーバーライドフラグは前記ピクチャヘッダよりも上位レベルのヘッダにある。
【0025】
この態様は、デフォルトのケースをオーバライドできる柔軟性を備えて、レート削減の利点を提供する。
【0026】
オプションで、前記高レベルヘッダはSPSまたはPPSである。
オプションで、前記方法は、符号化依存シンタックス要素の前にピクチャヘッダから2つのオーバーライドフラグを復号することをさらに含む。ここで第1のオーバーライドフラグは、インター要素がオーバーライドされることを示し、第2のオーバーライドフラグは、イントラ要素がオーバーライドされることを示す。
オプションで、前記判定された符号化モードに利用される前記シンタックス要素は、符号化モードに依存しない。
【0027】
本発明の別の態様によれば、ビットストリームからビデオデータを復号する方法が提供される。ここで、ビットストリームは複数のスライスに対応するビデオデータを含み、ビデオビットストリームはピクチャヘッダを含み、前記ピクチャヘッダは符号化モードに依存しないシンタックス要素のみを含み、前記シンタックス要素を使用して前記ピクチャ内の各スライスを復号する。
【0028】
この態様は、ピクチャヘッダ内の冗長シンタックス要素の個数を低減することによってレート低減を提供する。
【0029】
オプションで、前記方法は、更に、前記ピクチャヘッダとは異なるヘッダから、前記判定された符号化モードに固有のシンタックス要素を判定することを含む。
オプションで、前記ピクチャ・ヘッダとは異なる前記ヘッダは、スライスヘッダである。
柔軟性のために、インターおよびイントラシンタックス要素の両方が、前記スライスヘッダ内に提供されてもよい。
オプションで、前記方法は、更に、オーバーライドフラグを復号することを有し、前記オーバーライドフラグは、スライスヘッダから符号化固有のシンタックス要素を復号するか否かを判定する。
オプションで、前記スライスヘッダ内の前記シンタックス要素は、ピクチャヘッダ内の同等のシンタックス要素に制限された値を有する。
オプションで、前記方法は、更に、前記スライスヘッダ内の以前のシンタックス要素の値に基づいて、前記スライスヘッダ内の1以上のシンタックス要素を予測することを有する。
【0030】
本発明の別の態様によれば、ビデオデータをビットストリームに符号化する方法が提供される。ここでビットストリームは、複数のスライスに対応するビデオデータを有し、ビデオビットストリームはピクチャヘッダを有する。そして前記方法は、少なくとも1つのスライスのための符号化モードを定義することと、前記ピクチャヘッダから前記符号化モードのために使用されるシンタックス要素のセットを符号化することと、前記判定されたシンタックス要素を使用して前記少なくとも1つのスライスを符号化することを有する。
【0031】
本発明の別の態様によれば、ビデオデータをビットストリームに符号化する方法が提供される。ここで、ビットストリームは複数のスライスに対応するビデオデータを有し、1以上のスライスはピクチャを有し、前記ビデオビットストリームはピクチャヘッダを含む。そして前記方法は、前記ピクチャのための符号化モードを定義することと、シンタックス要素を前記ピクチャヘッダに符号化することとを有し、前記シンタックス要素の価値は、前記定義された符号化モードに依存する。
【0032】
本発明の別の態様によれば、ビデオデータをビットストリームに符号化する方法が提供される。ここで、ビットストリームは複数のスライスに対応するビデオデータを有し、1つまたは複数のスライスはピクチャを有し、前記ビデオビットストリームはピクチャヘッダを有する。そして、前記方法は、前記ピクチャ内のすべてのスライスについて符号化モードを定義することと、前記定義された符号化モードに応じてシンタックス要素を用いて前記ピクチャヘッダを符号化することを有する。
【0033】
本発明の別の態様によれば、ビデオデータをビットストリームに符号化する方法が提供される。ここで、ビットストリームは複数のスライスに対応するビデオデータを有し、ビデオビットストリームはピクチャヘッダを有する。そして、前記方法は、前記ピクチャヘッダからの前記シンタックス要素を使用してピクチャを符号化することを有し、すべてのシンタックス要素は、同じスライスコーディングモードに対応する。
【0034】
オプションで、前記符号化モードはインターであり、前記ピクチャヘッダを符号化することは、ピクチャヘッダ内のインターシンタックス要素を符号化することを有する。
あるいは前記符号化モードはイントラであり、前記画像ヘッダを符号化することは前記画像ヘッダにおけるイントラシンタックス要素を符号化することを有する。
オプションで、前記方法は、更に、前記定義された符号化モードがイントラである場合、インターシンタックス要素をピクチャヘッダに符号化し、イントラシンタックス要素をスライスヘッダに符号化することとを有する。
【0035】
本発明の別の態様によれば、ビデオデータをビットストリームに符号化する方法が提供される。ここで、ビットストリームは複数のスライスに対応するビデオデータを有し、ビデオビットストリームはピクチャヘッダを有する。そして前記方法は、1以上のオーバーライドフラグを符号化することと、前記1以上のオーバーライドフラグに依存して、符号化特定のシンタックス要素を前記ピクチャヘッダに符号化することとを有し、前記1以上のオーバーライドフラグは、前記ピクチャヘッダよりも上位のヘッダにある。
【0036】
これらの符号化方法は上述したように、より効率的な復号を可能にする。場合によっては、より少ないシンタックス要素がそれぞれのヘッダに符号化され、及び/または、ビットストリームに冗長性が低いため、符号化の複雑さが少なくなる。
【0037】
本発明のさらに別の態様は、前述の復号方法および符号化方法をそれぞれ実行するように適合されたデコーダおよびエンコーダに関する
【0038】
本発明のさらに別の態様はコンピュータまたはプロセッサによって実行されるときに、前記コンピュータまたはプロセッサに、本発明の前述の方法態様のいずれか1つの方法を実行させるプログラムに関する。プログラムは、それ自体で提供されてもよく、またはキャリア媒体上で、キャリア媒体によって、またはキャリア媒体内で搬送されてもよい。キャリア媒体は、非一時的であってもよく、例えば、記憶媒体、特にコンピュータ可読記憶媒体であってもよい。搬送媒体はまた、一時的なもの、例えば、信号または他の伝送媒体であってもよい。信号は、インターネットを含む任意の適切なネットワークを介して送信されてもよい。
【0039】
本発明の更なる特徴は、他の独立請求項および従属請求項によって特徴付けられる。
【0040】
本発明の一態様における任意の特徴は、任意の適切な組み合わせで、本発明の他の態様に適用されてもよい。特に、方法の態様は、装置の態様に適用されてもよく、逆もまた同様である。
【0041】
さらに、ハードウェアで実施される特徴は、ソフトウェアで実施されてもよく、その逆も可能である。本明細書におけるソフトウェアおよびハードウェアの特徴へのいかなる参照も、それに応じて解釈されるべきである。
【0042】
本明細書に記載されるような如何なる装置特徴は、方法特徴として提供されてもよく、逆もまた同様である。本明細書で使用されるように、手段+機能特徴は、適切にプログラムされたプロセッサおよび関連するメモリーのような、それらの対応する構成に関して代替的に表現されてもよい。
【0043】
また、本発明の任意の態様において説明され、定義された様々な特徴の特定の組合せは、独立して実装および/または供給および/または使用されることができることを理解されたい。
【図面の簡単な説明】
【0044】
ここで、例として、添付の図面を参照する:
【
図1】HEVC及びVVCで使用される符号化構造を説明するための図である。
【
図2】本発明の1以上の実施形態を実施することができるデータ通信システムを概略的に示すブロック図である。
【
図3】本発明の1以上の実施形態を実施することができる処理装置の構成要素を示すブロック図である。
【
図4】本発明の実施形態による符号化方法のステップを示すフローチャートである。
【
図5】本発明の実施形態による復号方法のステップを示すフローチャートである。
【
図6】例示的な符号化システムVVCにおけるビットストリームの構造を示す図である。
【
図7】本発明の実施形態による、エンコーダまたはデコーダおよび通信ネットワークを備えるシステムを示す図である。
【
図8】本発明の1以上の実施形態を実施するためのコンピューティングデバイスの概略ブロック図である。
【
図9】ネットワークカメラシステムを示す図である。
【発明を実施するための形態】
【0045】
図1は、高効率ビデオ符号化(HEVC)ビデオ規格で使用される符号化構造に関する。ビデオシーケンス1は、一連のデジタル画像iから構成される。このような各デジタル画像は、1つ以上のマトリックスによって表される。マトリクスの係数数は画素を表している。
【0046】
シーケンスの画像2は、スライス3に分割することができる。スライスは、場合によっては画像全体を構成することができる。これらのスライスは、オーバーラップしない符号化ツリーユニット(Coding Tree Units:CTU)に分割される。符号化ツリーユニット(CTU)は高効率ビデオ符号化(HEVC)ビデオ規格の基本的な処理ユニットであり、概念的には、いくつかの以前のビデオ規格で使用されたマクロブロックユニットに対応する。CTUは、時には最大符号化ユニット(Largest Coding Unit:LCU)とも呼ばれる。CTUはルマ(luma:輝度)及びクロマ(chroma:色差)成分部分を有し、その構成要素部分の各々は、符号化ツリーブロック(CTB)と呼ばれる。これらの異なる色成分は、
図1には示されていない。
【0047】
CTUは一般に、64画素×64画素サイズである。各CTUは、四分木分解を使用して、より小さい可変サイズの符号化ユニット(CU)5に反復的に分割されてもよい。
【0048】
符号化ユニットは基本符号化要素(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に分割することができる。
【0049】
各スライスは、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基本レイヤを備えた複数のレイヤを可能にする。
【0050】
図2は、本発明の1以上の実施形態を実施することができるデータ通信システムを示している。データ通信システムは、データ通信ネットワーク200を介して、データストリームのデータパケットを受信装置、この場合はクライアント端末202に送信するように動作可能な送信装置、この場合はサーバ201を含む。データ通信ネットワーク200は、ワイドエリアネットワーク(WAN)またはローカルエリアネットワーク(LAN)であってもよい。このようなネットワークは、例えば、無線ネットワーク(Wifi /802.11aまたはbまたはg)、イーサネットネットワーク、インターネットネットワーク、またはいくつかの異なるネットワークから構成される混合ネットワークであってもよい。本発明の特定の実施形態では、データ通信システムは、サーバ201が同じデータコンテンツを複数のクライアントに送信するデジタルテレビ放送システムであってもよい。
【0051】
サーバ201によって提供されるデータストリーム204は、ビデオおよびオーディオデータを表すマルチメディアデータから構成されてもよい。オーディオおよびビデオデータストリームは、本発明のいくつかの実施形態では、それぞれマイクロフォンおよびカメラを使用してサーバ201によってキャプチャされ得る。いくつかの実施形態において、データストリームは、サーバ201上に記憶されてもよく、あるいは別のデータプロバイダからサーバ201によって受信されてもよく、あるいはサーバ201で生成されてもよい。サーバ201は、特に、エンコーダへの入力として提示されるデータのよりコンパクトな表現である送信のための圧縮ビットストリームを提供するために、ビデオストリームおよびオーディオストリームを符号化するためのエンコーダを備える。
【0052】
送信データの品質対送信データの量のより良好な比を得るために、ビデオデータの圧縮は例えば、HEVCフォーマット又はH.264/AVCフォーマットに従ってもよい。
【0053】
クライアント202は、送信されたビットストリームを受信し、再構成されたビットストリームを復号して、ビデオ画像を表示装置上で再生し、音声データをスピーカにより再生する。
【0054】
図2の例ではストリーミングシナリオが考慮されているが、本発明のいくつかの実施形態では、エンコーダとデコーダとの間のデータ通信が例えば、光ディスクなどの媒体記憶装置を使用して実行され得ることが理解されよう。
【0055】
本発明の1以上の実施形態では、最終的な画像内のフィルタリングされたピクセルを提供するため、ビデオ画像は、画像の再構成された画素に適用するための補償オフセットを表すデータと共に送信される。
【0056】
図3は、本発明の少なくとも1つの実施形態を実施するように構成された処理装置300を概略的に示している。処理装置300は、マイクロコンピュータ、ワークステーション、またはライトポータブル装置などの装置とすることができる。装置300は、通信バス313を有し、これは以下のものが接続されれいる:
- CPUで示されるマイクロプロセッサなどの中央演算処理装置311;
- 本発明を実施するためのコンピュータプログラムを記憶するためのROMと表記される読み出し専用メモリ306;
- RAMで示されるランダムアクセスメモリ312は、本発明の実施形態の方法の実行可能コード、ならびにデジタル画像のシーケンスを符号化する方法および/または本発明の実施形態によるビットストリームを復号する方法を実施するために必要な変数およびパラメータを記録するように適合されたレジスタを格納するための、RAMとして表記されるランダムアクセスメモリ;及び
- 処理されるデジタルデータが送受信される通信ネットワーク303に接続された通信インターフェース302
【0057】
また、オプションとして、装置300は、以下の構成要素を含むこともできる:
- 本発明の1以上の実施形態の方法を実施するためのコンピュータプログラム、および本発明の1つ以上の実施形態の実施中に使用または生成されるデータを記憶する、ハードディスクなどのデータ記憶手段 304;
- ディスク306からのデータの読取り、又はディスクへのデータを書き込むように構成されるディスクドライブ305;
- データを表示したり、ユーザとの間で、キーボード310の手段または他の任意のポインティング手段によって、グラフィカルインターフェースとして機能する画面309
【0058】
装置300は例えば、デジタルカメラ320またはマイクロフォン308のような種々の周辺機器に接続され得、各周辺機器はマルチメディアデータを装置300に供給するために、入力/出力カード(図示せず)に接続される。
【0059】
通信バスは、装置300に含まれる、またはそれに接続された様々な要素間の通信および相互運用性を提供する。バスの表現に限定はなく、特に、中央演算装置は、直接的に、または装置300の別の要素の手段によって、装置300の任意の要素に命令を通信するように動作可能である。
【0060】
ディスク306は、例えば、コンパクトディスク(CD-ROM)、書き換え可能又はそうではない、ZIPディスクまたはメモリカードなどの任意の情報媒体で置き換えることができる。一般的に言えば、マイクロコンピュータまたはマイクロプロセッサによって読み取ることができる情報記憶手段によって置き換えることができ、装置に統合または非統合され、可能であれば、リムーバブルであり、実行がデジタル画像のシーケンスを符号化する方法および/または本発明によるビットストリームの復号方法を可能にする1つ以上のプログラムを記憶するように構成することができる。
【0061】
実行可能コードは、読み出し専用メモリ306、ハードディスク304、または先に説明したような例えばディスク306のようなリムーバブルデジタル媒体のいずれかに格納することができる。変形例によれば、プログラムの実行可能コードは、実行される前に、ハードディスク304のような装置300の記憶手段の1つに記憶されるために、インターフェース302を介して、通信ネットワーク303の手段によって受信することができる。
【0062】
中央演算処理装置311は、前述の記憶手段の1つに記憶された命令で本発明によるプログラムまたはプログラムのソフトウェアコードの命令または部分の実行を制御し、指示するように構成されている。電源投入時に、例えばハードディスク304または読み出し専用メモリ306上の不揮発性メモリに記憶された1つのプログラムまたは複数のプログラムはランダムアクセスメモリ312に転送される。これには、1つのプログラムまたは複数のプログラムの実行可能コード、ならびに本発明を実施するために必要な変数およびパラメータを記憶するためのレジスタが含まれる。
【0063】
この実施形態における装置は、本発明を実施するためにソフトウェアを使用するプログラマブル装置である。しかしながら、代替的に、本発明はハードウェア(例えば、特定用途向け集積回路(ASIC)の形態)で実施されてもよい。
【0064】
図4は、本発明の少なくとも1以上の実施形態によるエンコーダのブロック図を示す。エンコーダは、接続されたモジュールによって表される。各モジュールは、例えば、デバイス300のCPU 311によって実行されるべきプログラム命令の形態、本発明の1以上の実施形態による画像シーケンスの画像を符号化する少なくとも1以上の実施形態を実施する方法の少なくとも1以上の対応するステップを実施するように適合される。
【0065】
ディジタル画像i0~in401のオリジナルシーケンスは、エンコーダ400による入力として受信される。各デジタル画像は、画素として知られるサンプルのセットによって表される。
【0066】
ビットストリーム410は、符号化プロセスの実施後にエンコーダ400によって出力される。ビットストリーム410は、複数の符号化ユニットまたはスライスを備える。各スライスは、スライスを符号化するために使用される符号化パラメータの符号化値を送信するためのスライスヘッダと、符号化されたビデオデータを有するスライス本体とを備える。
【0067】
入力デジタル画像i0~in401は、モジュール402によって、画素ブロックに分割される。ブロックは画像部分に対応し、可変サイズであってもよい(例えば、4×4、8×8、16×16、32×32、64×64、128×128画素、およびいくつかの矩形ブロックサイズも考慮することができる)。符号化モードは、各入力ブロックに対して選択される。2つのファミリの符号化モードが提供される。それは、空間予測符号化(イントラ予測)に基づく符号化モードと、時間予測に基づく符号化モード(インター符号化、マージ、SKIP)である。可能な符号化モードがテストされる。
【0068】
モジュール403は、イントラ予測処理を実施する。ここでは、符号化対象の所与のブロックが、その符号化対象のブロックの近傍の画素から計算された予測子によって予測される。イントラ符号化が選択された場合に、選択されたイントラ予測子の指示、および所与のブロックとその予測子との間の差は、残差を提供するために符号化される。
【0069】
時間予測は、動き推定モジュール404および動き補償モジュール405によって実施される。最初に、基準画像416のセットの中から基準画像が選択され、符号化対象の所与のブロックに最も近い領域で基準領域または画像部分とも呼ばれる基準画像の部分が、動き推定モジュール404によって選択される。次いで、動き補償モジュール405は、選択されたエリアを使用して、符号化対象のブロックを予測する。選択された基準領域との残差ブロックとも呼ばれる所与のブロックとの間の差は、動き補償モジュール405によって計算される。選択された基準領域は、動きベクトルによって示される。
【0070】
このように、両方の場合(空間予測および時間予測)、残差は、元のブロックから予測を減算することによって計算される。
【0071】
モジュール403によって実施されるINTRA予測では、予測方向が符号化される。時間予測では、少なくとも1つの動きベクトルが符号化される。モジュール404、405、416、418、417によって実施されるインター予測では、そのような動きベクトルを識別するための少なくとも1つの動きベクトルまたはデータが時間予測のために符号化される。
【0072】
インター予測が選択された場合、動きベクトルおよび残差ブロックに関する情報が符号化される。ビットレートをさらに低減するために、動きが均一であると仮定すると、動きベクトルは、動きベクトル予測子に対する差によって符号化される。1組の動き情報予測子の動きベクトル予測子は、動きベクトル予測符号化モジュール417によって動きベクトルフィールド418から得られる。
【0073】
エンコーダ400はさらに、レート歪み基準などの符号化コスト基準を適用することによって、符号化モードを選択するための選択モジュール406を備える。冗長性をさらに低減するために、変換モジュール407によって変換(DCTなど)を残差ブロックに適用し、得られた変換データを量子化モジュール408によって量子化し、エントロピー符号化モジュール409によってエントロピー符号化する。最後に、符号化された現在のブロックの符号化された残差ブロックが、ビットストリーム410に挿入される。
【0074】
また、エンコーダ400は後続の画像の動き推定のための参照画像を生成するために、符号化された画像の復号を行う。これは、ビットストリームを受信するエンコーダ及びデコーダが同じ参照フレームを有することを可能にする。逆量子化モジュール411は量子化データの逆量子化を行い、続いて逆変換モジュール412による逆変換を行う。逆イントラ予測モジュール413は、予測情報を使用して、所与のブロックにどの予測子を使用するかを決定し、逆動き補償モジュール414は、モジュール412によって取得された残差を、参照画像416のセットから取得された参照領域に実際に加算する。
【0075】
次いで、モジュール415によってポストフィルタリングが適用されて、再構成された画素のフレームをフィルタリングする。本発明の実施形態では、補償オフセットが再構成画像の再構成画素の画素値に付加されるSAOループフィルタが使用される。
【0076】
図5は、本発明の一実施形態による、エンコーダからデータを受信するために使用され得るデコーダ60のブロック図を示す。デコーダは、接続されたモジュールによって表され、各モジュールは例えば、デバイス300のCPU 311によって実行されるプログラム命令の形成で、デコーダ60によって実現される方法の対応するステップを実施するように構成される。
【0077】
デコーダ60は、符号化ユニットを含むビットストリーム61を受信し、各符号化ユニットは、符号化パラメータに関する情報を含むヘッダと、符号化されたビデオデータを含むボディとから構成される。VVCにおけるビットストリームの構造は、
図6を参照して以下でより詳細に説明される。
図4に関して説明されるように、符号化されたビデオデータはエントロピー符号化され、動きベクトル予測子のインデックスは、所与のブロックについて、所定のビット数で符号化される。受信された符号化ビデオデータは、モジュール62によってエントロピー復号される。次いで、残差データはモジュール63によって逆量子化され、次いで、画素値を得るためにモジュール64によって逆変換が適用される。
【0078】
符号化モードを示すモードデータもエントロピー復号され、そのモードに基づいて、画像データの符号化ブロックに対してINTRA型復号またはインター型復号が実行される。
【0079】
INTRAモードの場合、INTRA予測子は、ビットストリームで指定されたイントラ予測モードに基づいてイントラ逆予測モジュール65によって決定される。
【0080】
モードがINTERである場合、エンコーダによって使用される参照領域を見つけるために、動き予測情報がビットストリームから抽出される。動き予測情報は、参照フレームインデックスと動きベクトル残差とから構成される。動きベクトル復号モジュール70によって動きベクトルを得るため、動きベクトル予測子が動きベクトル残差に加えられる。
【0081】
動きベクトル復号モジュール70は、動き予測によって符号化された現在のブロックごとに動きベクトル復号を適用する。動きベクトル予測子のインデックスが取得されると、現在のブロックについて、現在のブロックに関連する動きベクトルの実際の値が復号され、モジュール66によって逆動き補償を適用するために使用され得る。復号された動きベクトルによって示される参照画像部分は、参照画像68から抽出され、逆動き補償66が適用される。動きベクトルフィールドデータ71は、後続の復号動きベクトルの逆予測に使用するために、復号動きベクトルで更新される。
【0082】
最後に、復号されたブロックが得られる。ポストフィルタリングは、ポストフィルタリングモジュール67によって適用される。復号されたビデオ信号69は、最終的にデコーダ60によって供給される。
【0083】
図6は、JVET_P2001-VEに記載されているように、例示的符号化システムVVCにおけるビットストリームの構成を示す。
【0084】
VVC符号化システムによるビットストリーム61は、シンタックス要素と符号化データの順序付けられたシーケンスから構成される。シンタックス要素および符号化データは、ネットワーク抽象化レイヤ(NAL)ユニット601~608に配置される。異なるNALユニット型がある。ネットワーク抽象化レイヤは、RTP/IP などの、異なるプロトコルにビットストリームをカプセル化する機能を提供し、リアルタイムプロトコル/インターネットプロトコル、ISO ベースメディアファイル形式などに対応する。ネットワーク抽象化レイヤは、パケット損失回復力のためのフレームワークも提供する。
【0085】
NALユニットは、ビデオコーディングレイヤ(Video Coding Layer:VCL)NALユニットと非VCL NALユニットとに分割される。VCL NALユニットは、実際の符号化されたビデオデータを含む。非VCL NALユニットは追加情報を含む。この追加情報は、符号化されたビデオデータの復号に必要なパラメータ、または復号されたビデオデータの使い勝手を向上させることができる補足データである。NALユニット606は、スライスに対応し、ビットストリームのVCL NALユニットを構成する。
【0086】
異なるNALユニット601~605は、異なるパラメータセットに対応し、これらのNALユニットは非VCL NALユニットである。デコーダパラメータセット(DPS)NALユニット301は、所与の復号処理に対して一定であるパラメータを含む。ビデオパラメータセット(VPS)NALユニット602は、ビデオ全体、すなわちビットストリーム全体に対して定義されたパラメータを含む。DPS NALユニットは、VPS内のパラメータよりも静的なパラメータを定義することができる。換言すれば、DPSのパラメータは、VPSのパラメータよりも頻繁には変化しない。
【0087】
シーケンスパラメータセット(SPS)NALユニット603は、ビデオシーケンスに対して定義されたパラメータを含む。特に、SPS NALユニットは、ビデオシーケンスのサブピクチャレイアウトおよび関連するパラメータを定義することができる。各サブピクチャに関連するパラメータは、サブピクチャに適用される符号化制約を指定する。特に、それは、サブピクチャ間の時間的予測が同じサブピクチャから来るデータに制限されることを示すフラグを含む。別のフラグは、サブピクチャ境界を横切るループフィルタを有効または無効にすることができる。
【0088】
ピクチャパラメータセット(PPS)NALユニット604、PPSは、ピクチャまたはピクチャのグループに対して定義されたパラメータを含む。適応パラメータセット(APS)NALユニット605は、ループフィルタのためのパラメータを含み、典型的には、適応ループフィルタ(Adaptive Loop Filter:ALF)または再成形器モデル(resharper model)(またはクロマスケーリングを有するルママッピング(Luma mapping with chroma scaling:LMCS)モデル)またはスライスレベルで使用されるスケーリング行列を含む。
【0089】
VVCの現在のバージョンで提案されているようなPPSのシンタックスは、ルマサンプル内のピクチャのサイズ、及び、タイルおよびスライス内の各ピクチャの分割を指定するシンタックス要素を含む。
【0090】
PPSには、フレーム内のスライスの位置を決定できるようにするシンタックス要素が含まれている。サブピクチャはフレーム内で矩形領域を形成するので、パラメータセットNALユニットから、サブピクチャに属するスライスのセット、タイルの部分、またはタイルを決定することが可能である。APSとしてのPPSは、送信される同一のPPSの量を制限するためのID機構を有する。
【0091】
PPSとピクチャヘッダ(Picture Header)との間の主な違いは、PPSが送信されることであり、PPSは一般に、ピクチャ毎に体系的に送信されるPHと比較して、ピクチャのグループについて送信される。したがって、PHと比較してPPSは、いくつかのピクチャに対して一定であり得るパラメータを含む。
【0092】
ビットストリームはまた、補助強化情報(Supplemental Enhancement Information:SEI)NALユニット(
図6には示されていない)を含むことができる。ビットストリーム内でこれらのパラメータセットが発生する周期性は可変である。ビットストリーム全体に対して定義されたVPSは、ビットストリーム内で1 回のみ発生する可能性がある。反対に、スライスに対して定義されるAPSは、各ピクチャ内の各スライスに対して1回発生し得る。実際には、異なるスライスが同じAPSに依拠することができ、したがって、一般に、各ピクチャ内のスライスよりも少ないAPSが存在する。特に、APSは、ピクチャヘッダにおいて定義される。しかし、ALF APSは、スライスヘッダにおいて精緻化することができる。
【0093】
アクセスユニットデリミタ(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に等しい場合、以下のテーブル1に示すように、それはB、Pまたはイントラスライスを含む。
【0094】
【0095】
ピクチャヘッダ
PH NALユニット608は、1つの符号化ピクチャのスライスのセットに共通のパラメータをグループ化するピクチャヘッダNALユニットである。ピクチャは、AFLパラメータ、再形成器モデル、およびピクチャのスライスによって使用されるスケーリング行列を示すために、1つ以上のAPSを参照することがある。
【0096】
VCL NALユニット606の各々はスライスを含む。スライスは、ピクチャ全体またはサブピクチャ、単一のタイル、または複数のタイル、またはタイルの一部に対応することができる。例えば、
図6のスライスは、幾つかのタイル620を含む。スライスは、スライスヘッダ610と、符号化ブロック640として符号化された符号化画素データを含むRAWバイトシーケンスペイロード(RAW Byte Sequence payload)RBSP 611とから構成される。
【0097】
ピクチャヘッダは、各ピクチャの先頭で送信される。復号可能な関連するシンタックス要素は以下に関連する:
・ このピクチャの使用法、参照フレームかどうか
・ 出力フレーム
・ 必要に応じてサブピクチャの使用法
・ 必要に応じて参照画像リスト
・ 必要に応じて色プレーン
・ オーバライドフラグが有効な場合のパーティション更新
・ 必要に応じてデルタQPパラメータ
・ 必要に応じて動き情報パラメータ
・ 必要に応じてALFパラメータ
・ 必要に応じてSAOパラメータ
・ 必要に応じて定量化パラメータ
・ 必要に応じてLMCSパラメータ
・ 必要に応じてスケーリングリストパラメータ
・ 必要に応じてピクチャヘッダ拡張
【0098】
これらすべてのパラメータの完全な説明は、JVET_P2001-VEに見ることができる。
【0099】
ピクチャヘッダのこの構造は、特定のピクチャで必要となる可能性があるすべてのツールを提供する際の柔軟性を提供する。このように、この構造は、ハードウェアデコーダにとって、しばしば重要な考慮事項であるピクチャを復号するための「最悪ケース」を本質的に定義する。しかしながら、この構造には、ビットレートの増加を引き起こす重大な冗長性がある。
【0100】
本発明によって対処される問題は、特定の符号化モードに関連するこのピクチャヘッダ内のパラメータのセットに関する。パラメータの特定のセットに対して、シンタックス要素のセットがインタースライスとイントラスライスの両方に対して送信される。これは、ピクチャ内の全てのスライスが同じタイプを有する場合にレートを増加させる。
【0101】
テーブル2は、JVET_P2001-VEの中で提供される定義を使用して、現在のピクチャヘッダ復号シンタックスの中のこれらのパラメタを示す。このテーブルでは、“...”は、この説明に関係のない構文要素を表す。
【0102】
【0103】
上記ヘッダの3つの特定のパラメータセットは、特定のケースでは冗長である可能性がある。これらの3つのセットについて、以下で順に考察する。
最初のパラメータセットは、パーティショニングに関連している。以下は、インタースライスのみに利用される:
・ pic_log2_diff_min_qt_min_cb_inter_slice
・ pic_max_mtt_hierarchy_depth_inter_slice
・ 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_luma
・ 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_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
【0104】
これらのパラメータは、イントラおよびクロマそれぞれについてインターピクチャについて説明したものと同等である。
テーブル2に定義されているように、クロマパラメータは、フラグqtbtt_dual_tree_intra_flag(SPS レベル) が1に設定されている場合にのみ有効になる。
テーブル2に示すように、これらのパーティショニングパラメータ(Inter、Intra、Chroma)は、partition_constraints_override_enabled_flagが有効で、partition_constraints_override_flagがPictureヘッダにて1に設定されている場合にのみ更新される。
フラグpartition_constraints_override_enabled_flagはSPS内で送信される。
【0105】
第2のパラメータのセットは、デルタQPパラメータに関連する。以下の2つのパラメータは、インタースライスにのみで必要である:
・ pic_cu_qp_delta_subdiv_inter_slice
・ pic_cu_chroma_qp_offset_subdiv_inter_slice
次の2つのイントラスライスのものである:
・ pic_cu_qp_delta_subdiv_intra_slice
・ pic_cu_chroma_qp_offset_subdiv_intra_slice
【0106】
pic_cu_qp_delta_subdiv_inter_sliceおよびpic_cu_qp_delta_subdiv_intra_slice は、PPSにてcu_qp_delta_enabled_flagが1に設定されている場合にのみ送信される。
【0107】
同様に、pic_cu_chroma_qp_offset_subdiv_inter_sliceおよびpic_cu_chroma_qp_offset_subdiv_intra_slice は、PPSにてppsS_cu_chroma_qp_offset_list_enabled_flag が有効になっている場合にのみ復号される。
【0108】
第3のパラメータのセットは動きパラメータに関連し、インタースライスにおいてのみ使用される:
・ pic_temporal_mvp_enabled_flag
・ mvd_l1_zero_flag
・ pic_six_minus_max_num_merge_cand
・ pic_five_minus_max_num_subblock_merge_cand
・ pic_fpel_mmvd_enabled_flag
・ pic_disable_bdof_flag
・ pic_disable_dmvr_flag
・ pic_disable_prof_flag
・ pic_max_num_merge_cand_minus_max_num_triangle_cand
【0109】
これらの各パラメータは、SPSまたはPPSヘッダでシグナリングされた“有効フラグ”(enable flag)または“オーバーライドフラグ”(overriding flag)に基づいて復号できる(またはできない)。しかしながら、これらのパラメータの各々は、常に送信され、これはビットレートの増加につながる。
【0110】
このレートの増加は、符号化ピクチャがいくつかのパラメータが定義されるが、決して使用されないように、1つのタイプのスライス(イントラまたはインター)のみを使用する場合に特に顕著である。
【0111】
この問題を改善する第1の方法は、ピクチャヘッダ内で符号化タイプをシグナリングし、その符号化タイプに関連するシンタックス要素のみを復号することである。ほとんどのピクチャは、単一の符号化タイプ(例えば、インターまたはINTRA)であり、したがって、これは、不必要なシンタックス要素としてビットレートを低減するための有効な方法を表す。
【0112】
ピクチャヘッダにて示されるピクチャタイプ
一般的な概念の一例では、ピクチャタイプシンタックス要素“picture_type_pic_header”がピクチャヘッダの先頭に送信される。
【0113】
このピクチャタイプは、次のように定義することができる:
・ ピクチャタイプがI(または0)に等しく設定される場合、ピクチャのすべてのスライスは、同じスライスタイプ、イントラを有する。
・ ピクチャタイプがP(または1)に等しく設定される場合、ピクチャのすべてのスライスは、同じスライスタイプ、インター P(Uni-prediction)を有する。
・ ピクチャタイプがB(または2)に等しく設定される場合、ピクチャのすべてのスライスは、同じスライスタイプ、インター B(Bi-prediction)を有する。
【0114】
デコーダは、picture_type_pic_headerを指定するピクチャヘッダを受け取ると、ピクチャタイプに対応する符号化モードを最初に決定し、この符号化モードに関連する構文要素のみを復号する(または、異なる符号化モードにのみ関連するシンタックス要素を無視する)。
【0115】
一例では、picture_type_pic_headerは、ピクチャヘッダの特定の部分を復号するかどうかに条件を課すことによって、必要のない一部のシンタックス要素を有効および無効化に利用される。
【0116】
以下のテーブル3は、この条件付き復号を実装する1つの方法を示すピクチャヘッダの修正例を示している。注目すべき変更点が下線で示されている。このテーブルは、部分的なヘッダを表しており、明確さと簡潔さの理由から順序が変更されていることに注意されたい。潜在的に異なる順序で、より大きなヘッダは、実際により適切であり得る。
【0117】
【0118】
"conditions"は符号化タイプに関連し、特定のシンタックス要素の条件付き復号を可能にし、復号を必要としない要素はスキップされる。これにより、復号性能が向上する。
【0119】
条件(condition)の一例を以下に示す:
Condition1: picture_type_pic_header == P OR picture_type_pic_header == B
Condition2: picture_type_pic_header == I
Condition3: picture_type_pic_header == B
【0120】
Condition1 がfalse(偽)の場合、すべてのスライスはイントラであり、以下のシンタックス要素は復号されない:
・ pic_max_mtt_hierarchy_depth_inter_slice
・ pic_log2_diff_max_bt_min_qt_inter_slice
・ pic_log2_diff_max_tt_min_qt_inter_slice
・ pic_cu_qp_delta_subdiv_inter_slice
・ pic_cu_chroma_qp_offset_subdiv_inter_slice
・ pic_temporal_mvp_enabled_flag
・ mvd_l1_zero_flag
・ pic_six_minus_max_num_merge_cand
・ pic_five_minus_max_num_subblock_merge_cand
・ pic_fpel_mmvd_enabled_flag
・ pic_disable_bdof_flag
・ pic_disable_dmvr_flag
・ pic_disable_prof_flag
・ pic_max_num_merge_cand_minus_max_num_triangle_cand
【0121】
Condition2 がfalse の場合、すべてのスライスはインターであり、以下のシンタックス要素は復号されない:
・ pic_log2_diff_min_qt_min_cb_intra_slice_luma
・ 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_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
・ pic_cu_qp_delta_subdiv_intra_slice
・ pic_cu_chroma_qp_offset_subdiv_intra_slice
【0122】
Condition3 がfalseの場合、すべてのスライスはNOT B ピクチャであり、以下のシンタックス要素は復号されない:
・ mvd_l1_zero_flag
・ pic_disable_bdof_flag
・ pic_disable_dmvr_flag
・ pic_max_num_merge_cand_minus_max_num_triangle_cand
【0123】
したがって、I、P、またはBピクチャの特定のシンタックス要素のみが、ピクチャヘッダから復号され、したがって、各ピクチャのレートが低減される。
【0124】
スライスヘッダのシンタックス要素の有効/無効化
一例では、picture_type_pic_headerは、不要な一部のシンタックス要素を有効または無効化に利用される。これは、テーブル4の修正されたピクチャヘッダに示されている。
【0125】
このテーブルでは、slice_typeは決して送信されない。そして、その値はシンタックス要素picture_type_pic_headerに置き換えられた。このフラグに基づいて、ピクチャがインタースライスのみを含み、イントラに対して送信されない場合、num_ref_idx_active_override_flagを送信することができる。同様に、テーブルnum_ref_idx_active_minus1[i]は、イントラスライスを含むピクチャに対して復号されない。
【0126】
パラメータnum_ref_idx_active_override_flag及びnum_ref_idx_active_minus1[i]は、両方とも、参照フレームの量に関連している。num_ref_idx_active_override_flag は、参照フレームの数を表すパラメータnum_ref_idx_active_minus1[i]を復号する必要があるかどうかを示す。
【0127】
同様に、ピクチャがイントラスライスを含む場合、cabac_init_flagは復号されない。このパラメータは、初期化CABAC文脈に関連する。
【0128】
collocated_from_l0_flag、collocated_ref_idxは、ピクチャがイントラスライスを含む場合は復号されない。これらのパラメータは、時間的動き予測子のための配置された(collocated)参照フレームの選択に関連する。
【0129】
結局は、ピクチャがイントラスライスを含む場合、pred_weight_table()は復号されない。この実施形態の利点は、このスライスタイプの伝送に関連するレートが、現在の設計と比較して節約されることである。
【0130】
テーブル4 pic_type_pic_headerによる修正されたスライスヘッダ
【0131】
特に有利な一例では、上記の特徴を組み合わせることができる。この場合、picture_type_pic_headerを使用して、ピクチャヘッダに不要な一部のシンタックス要素を有効化および無効化でき、slice_typeがsliceヘッダに指定されておらず、sliceヘッダの一部のシンタックス要素を復号するかどうかをpicture_type_pic_headに置き換えられる。
【0132】
ピクチャヘッダ内のスライスタイプ制約
この特徴はpicture_type_pic_headerの代わりに、シンタックス要素“pic_slice_type_constraint”がピクチャヘッダの先頭で送信される、上の例に対する修正を表す。このシンタックス要素は、ピクチャ内の各スライスで使用される符号化モードへの制約を示す。これはpicture_type_pic_header とは異なる。これは、必ずしもすべてのスライスが同じであることが必須ではなく、より広い範囲の値を可能にするためである。
【0133】
pic_slice_type_constraintの値と対応する定義の例を以下に示す:
・ 0に等しいことは、ピクチャの全てのスライスがイントラであることを示す。
・ 1に等しいことは、ピクチャのすべてのスライスがインターであることを示す。
・ 2に等しいことは、ピクチャのスライスが異なるタイプを有し得ることを示す。
さらに2つの定義を追加することができる:
・ 3に等しいことは、ピクチャのすべてのスライスがインター Bであることを示す。
・ 4に等しいことは、ピクチャのすべてのスライスがインター Pであることを示す。
【0134】
1つの代替例は、pic_slice_type_constraint定義は次のように定義されることである:
・0に等しいことは、ピクチャのすべてのスライスが、1に等しいインターBであることを示す。
・1に等しいことは、ピクチャのすべてのスライスがインターPであることを示す。
・2に等しいことは、ピクチャの全てのスライスがイントラであることを示す。
・3に等しいことは、ピクチャのスライスが異なるタイプを有し得ることを示す。
・4に等しいことは、ピクチャのすべてのスライスがインターであることを示す。
【0135】
この例では、異なるピクチャタイプ制約が、pic_slice_type_constraintをシグナリングするために必要とされる一般的なビット数を低減するために、ビデオシーケンスの最も確率の高い設定から最も確率の低い設定に順序付けられる。実際、pic_slice_type_constraintは、単項コード(unary code)または単項max(unary max) またはGolomb符号で符号化できる。したがって、pic_slice_type_constraint値をその確率に従って順序付けることが好ましい。
【0136】
上記のリストに組み込むことができるpic_slice_type_constraintの他の特性は、以下のとおりである:
- ピクチャは、インスタンスデコーダリフレッシュ(Instantaneous Decoder Refresh:IDR)ピクチャである。
- ピクチャは、クリーンランダムアクセス(Clean Random Access:CRA)ピクチャである。
- ピクチャは、Gradual Decoding Refresh(GDR)ピクチャである。
- ピクチャは、非イントラランダムアクセスポイント(非IRAP)、非GDRピクチャであり、Iスライスのみを含む。
- ピクチャは非IRAP、非GDRピクチャであり、PスライスおよびIスライスのみを含む。
- ピクチャは非IRAP、非GDRピクチャであり、Bスライス、Pスライス、および/またはIスライスのいずれかを含む。
【0137】
そのような値は、IRAPおよびGDRピクチャがより関連性があるストリーミングアプリケーションに有用であり得る。実際、これらのピクチャは、例えば、シーケンスの最初のピクチャを変更したり、ライブアプリケーションのためのストリームを同期させたりするために使用することができるイントラランダムアクセスポイントを提供する。
【0138】
実際、ストリーミングアプリケーションでは、ネットワークパッケージロス(network package loss)のイベントにおける、ストリームを「リフレッシュ(refresh)」するために、少なくとも1つのイントラスライスが必要になる可能性が高くなる。単純な実施形態では、この参照が混合符号化タイプを有するピクチャを回避するためにピクチャワイドレベルで実行することができる。
【0139】
この例はm先の実施形態と同様のレート低減を提供するが、ピクチャヘッダを介して同じピクチャ内の異なるように符号化されたスライスを直接可能にすることによって、デコーダにおいてより大きな柔軟性を可能にする。
【0140】
pic_type_pic_header に関する上記の例と同様に、pic_slice_type_constraint は、不要な一部のシンタックス要素を有効化および無効化するために使用される。これは、以下のように、テーブル3の状況1、2、3に相当する:
Condition1: pic_slice_type_constraint != 0
Condition2: pic_slice_type_constraint == 0 OR pic_slice_type_constraint == 2
Condition3: pic_slice_type_constraint == 3 OR pic_slice_type_constraint == 2
【0141】
追加の改良を提供する追加の特徴として、スライスヘッダのスライスタイプは、現在の設計よりも少ないビットで推論および/または復号することができる。
【0142】
テーブル5に示すように、slice_type は、pic_slice_type_constraint が2に設定されている場合にのみ復号される。その場合、slice_type はI、P、またはB の3 つの値のいずれかを持つことができる。pic_slice_type_constraint が1に設定されると、slice_type は部分的に復号される。実際、pic_slice_type_constraint のおかげで、スライスがインター(PまたはB) であるので、slice_typeがPかBかを知るために復号する必要があるのは1ビットだけである。
pic_slice_type_constraint が0に設定されている場合は、slice_typeがIに等しいことが確認される。pic_slice_type_constraintが0に設定されている場合がslice_typeがBに等しいことが確認される。それ以外の場合がP に等しく設定される。
【0143】
上記のテーブル3に示される例と比較して、slice_typeは除去されず、その復号が適応される。
【0144】
この機能の利点は、フレームのすべてのスライスがイントラである、またはすべてがインターの場合、slice_typeのレートを削減できることである。
【0145】
テーブル5 pic_Slice_type_constraintによる修正されたスライスヘッダ
【0146】
さらなる修正のひとつでは、pic_slice_type_constraintがピクチャヘッダにおいて不要ないくつかのシンタックス要素を有効化および無効化するために使用され、スライスヘッダのslice_typeがpic_slice_type_constraint値に基づいて完全または部分的に推論されることである。
【0147】
AUデリミタNALユニットのピクチャタイプ“pic_type”は、pic_slice_type_constraint の値に従って設定できる。したがって、pic_type がIに設定されると、このレイヤーのすべてのpic_slice_type_constraintは0に設定される。pic_typeを2(P、I) に設定すると、このレイヤーのすべてのpic_slice_type_constraint は0または3 になる。さもなければ、このレイヤーのすべてのpic_slice_type_constraint は、任意の値を取ることができる(例えば、上で論じた5つの値の1 つ)。
【0148】
AU NULへの変更
上述の特徴を使用する場合、ストリームが1つのレイヤしかない場合には、復号されるAUデリミタNALユニットのシンタックス要素“pic_type”は復号する必要はない、又は、VPSまたはSPSで送信されるフラグに依存して、その復号はオプションである。実際、そのような場合、同様の情報がピクチャヘッダに存在するように、このシンタックス要素を送信するのは冗長である。
この特徴は、レート低減に寄与する。
【0149】
オプションで、AUデリミタNALユニットは、ストリームが1つのレイヤのみを含み、ピクチャヘッダ内の情報に基づいて推論される場合には復号されない。実際、その場合、AUデリミタに含まれる情報は、ピクチャヘッダのシンタックス要素と冗長であるため、必要とされない。この特徴は、レート低減にさらに寄与する。
【0150】
復号されたシンタックス要素のセットを設定するAU NAL pic_type
1つの単純化された変形では、AU NALユニットのpic_typeがピクチャヘッダで復号されたシンタックス要素のセットを判定するために使用される。この変形例では、ピクチャヘッダに、ピクチャタイプまたはピクチャタイプ制約は設定されない。しかし、テーブル3に示される条件「condition1(条件1)、condition2(条件2)、condition3(条件3)」は、AU NALユニットがシグナリングされるときのAU NALユニットのpic_typeに基づいて決定される。したがって、ピクチャヘッダの復号は、ピクチャ内のスライスのスライス符号化モード(pic_type)を条件とし、スライス符号化モードは、ピクチャヘッダよりも高いレベルで決定される。
【0151】
“条件”は、この例ではpic_typeの符号化タイプに関連し、前の実施形態に対して定義されたように、復号をスキップする必要のない要素をもつ特定のシンタックス要素の条件付き復号を可能にする。これにより、復号性能が向上する。
【0152】
条件の一例を以下に示す:
Condition1: pic_type == 1 OR pic_type == 2
Condition2: pic_type == 0
Condition3: pic_type == 2
AU NALユニットのpic_typeがシグナリングされない場合、AU NALユニットのpic_typeは2に等しいと推定される。
【0153】
統合シンタックス要素(Merged syntax elements)
インター及びイントラモードの両方で使用される類似のシンタックス要素は、ピクチャヘッダ内の要素の冗長性を低減するため、および/または復号前の検証を必要とする条件の数を低減するために、マージされてもよい。一例では、ピクチャヘッダは、使用される符号化モードに依存しないシンタックス要素のみを含む。つまり、同じシンタックス要素をインターまたはイントラで使用できる。これは、ほとんどのピクチャに、1タイプの符号化モード(インターまたはイントラ)を必要とするスライスのみが含まれており、そのような2組のシンタックス要素は必要ないためである。
【0154】
したがって、イントラとインターのシンタックス要素をマージすると、特にピクチャ内のすべてのスライスのタイプ(I、P又はB) が同じ場合に、これらのシンタックス要素の冗長コードが回避される。ピクチャ内にインタースライスとイントラスライスの両方が存在する場合、柔軟性はより低いが、イントラスライスへの影響は符号化選択を適応させることによって補償することができる。
【0155】
“coding type”ラベルのみが異なるシンタックス要素は、マージに特に適している。
【0156】
上記と同じ設計に従う場合、以下のシンタックス要素は、以下のテーブル6に示すようにマージされてもよい:
【0157】
【0158】
テーブル7は、このピクチャヘッダシンタックステーブルの単純化の例を示す。
【0159】
テーブル7 マージされたシンタックス要素を持つピクチャヘッダ
【0160】
シンタックス要素の共通値
1つの代替方法では、パラメータの各ペアはまだ存在し、共通値はピクチャヘッダで復号され、イントラスライスの値はイントラ(スライスヘッダで定義) の場合は共通値に設定され、イントラスライスの値はイントラ(スライスヘッダで定義) の場合は共通値に設定され、インタスライスの値はインタ(インター) の場合は共通値に設定される。
【0161】
1つの追加の例では、少なくとも1つのフラグが、イントラスライスおよび/またはインタースライスが共通値を使用するかどうか、または上位レベル(SPS、PPS)で与えられる値を保持するかどうかを示す上位レベル(PPS、SPS)に存在する。これにより、柔軟性を高めることができる。
【0162】
追加の一例では、イントラ値がスライスヘッダ内の変数に応じてスライスレベルで更新することができる。
【0163】
たとえば、イントラのスライスヘッダのパラメータは次のようになる:
・ slice_log2_diff_min_qt_min_cb_intra_slice_luma
・ slice_max_mtt_hierarchy_depth_intra_slice_luma
・ slice_log2_diff_max_bt_min_qt_intra_slice_luma
・ slice_log2_diff_max_tt_min_qt_intra_slice_luma
・ slice_log2_diff_min_qt_min_cb_intra_slice_chroma
・ slice_max_mtt_hierarchy_depth_intra_slice_chroma
・ slice_log2_diff_max_bt_min_qt_intra_slice_chroma
・ slice_log2_diff_max_tt_min_qt_intra_slice_chroma
・ slice_cu_qp_delta_subdiv_intra_slice
・ slice_cu_chroma_qp_offset_subdiv_intra_slice
【0164】
最初の例と比較した場合の利点は、柔軟性の増加である。実際、この追加の特徴により、現在の設計と同じ柔軟性を得ることができる。そして、各スライスに対してこれらのパラメータを適応させることによって、より多くの柔軟性が得られる。
【0165】
PPS/SPS でのフラグのオーバーライド
柔軟性を高めるために、イントラとインターの両方の値をスライスヘッダで送信できる。これらのパラメータは、スライスヘッダ内のこれらの構文要素に必要な追加レートを低減するために、PPSおよび/またはSPSまたはピクチャヘッダで送信される1つ以上のオーバライドフラグに依存して、スライスヘッダ内でシグナリングできる(またはしない)ことができる。
【0166】
たとえば、ピクチャヘッダでパラメータpic_log2_diff_min_qt_min_cb_sliceが送信されると、オーバーライドフラグlog2_diff_min_qt_cb_slice_Inter_override_flag がデコードされ、スライス内のslice_log2_diff_min_qt_min_cb_Inter_slice_luma値がインタースライスで更新されるかどうかが決定される。pic_log2_diff_min_qt_min_cb_slice が復号されていない場合、このパラメータはインター スライスでは更新されず、log2_diff_min_qt_min_cb_slice_Inter_override_flagは0に設定される。
同様に、イントラスライスに対して、オーバーライドフラグlog2_diff_min_qt_min_cb_slice_Intra_override_flagを送信できる。
【0167】
オプションとして、パラメータがスライスヘッダで送信されるとき、それらの値は、ピクチャヘッダ上の均等なシンタックス要素値によって抑制(constrain)される。より正確には、これらの値が複雑さの増加を回避するために制限される。
【0168】
たとえば、slice ヘッダのslice_log2_diff_min_qt_min_cb_intra_slice_luma は、ピクチャヘッダで送信されるpic_log2_diff_min_qt_min_cb_slice の値に制限される。より正確には、slice_log2_diff_min_qt_min_cb_intra_slice_lumaは、pic_log2_diff_min_qt_min_cb_sliceより劣ることはない。この制限の影響は、スライスがピクチャヘッダに定義されたサイズよりも小さいブロックサイズを使用できないことである。
【0169】
この例の利点は、デコーダが各ピクチャに対してその複雑度パラメータを設定できることである。したがって、この複雑さは、新しいスライスごとに増加する必要はない。
【0170】
必要なビット数をさらに減らすために、スライスシンタックス要素がピクチャヘッダ値の均等なシンタックス要素によって抑制されるとき、その値は、符号化された最後の値によって予測される可能性がある。
【0171】
上記のシンタックス要素の「マージ」は、別個のシンタックス要素の全体的な数を減らすために、他の特徴と組み合わせることができることが理解されるべきである。例として、このような組み合わせでは、ピクチャヘッダが、常に復号される符号化モードに依存しないシンタックス要素(すなわち、“マージされたシンタックス要素”)、符号化タイプの指示(例えば、pic_type_pic_headerまたはpic_slice_type_constraint)、そして、符号化タイプに基づいて条件付きで復号されるシンタックス要素を含む。
【0172】
インターパラメータのみの複製(duplication)
さらに別の例では、イントラスライスのみに関連するすべてのパラメータが、ピクチャヘッダから削除される。テーブル8はこの例を示す。現在のデザインと比較して、次のシンタックス要素はピクチャヘッダには存在しない:
・ pic_log2_diff_min_qt_min_cb_intra_slice_luma
・ 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_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
・ pic_cu_qp_delta_subdiv_intra_slice
・ pic_cu_chroma_qp_offset_subdiv_intra_slice
【0173】
この例では、これらの省略されたシンタックス要素の値がPPS および/またはSPSで設定される。この例の利点は、ピクチャヘッダに関連するレートの低減である。実際、ビデオシーケンスでは、時間的相関が空間的相関よりも著しく高いので、イントラスライスよりも多くのインタースライスがある。したがって、ピクチャヘッダでは、最も使用されないシンタックスパラメータはイントラスライスのみに関連するものである。この影響は、インタースライスのレートが同じ画像領域及び品質に対するイントラスライスのレートよりも著しく低いので、インタースライスのみを含むピクチャに対して最大となる。
【0174】
テーブル8 イントラシンタックス除去したピクチャヘッダ
【0175】
あるいは、シーケンスが(シーケンスヘッダまたはSPSの中で署名されたように)イントラピクチャのみを含むとき、上記のイントラパラメータは、ピクチャヘッダの中で送信される。この実施形態の利点は、イントラパラメータを、このアダプテーションの影響がより重要であるべき完全なイントラシーケンスに適合できることである。
【0176】
同様に、シーケンスがイントラピクチャのみを含むとき、インターシンタックス要素の集合は送信されない。この利点は、使用されなかったインターパラメータに関連する追加のレートがないことである。
【0177】
追加の一実施形態では、スライスタイプがイントラであるとき、イントラシンタックス要素のセットがスライスヘッダ内で送信される。この実施形態の利点は、イントラを適合させることができるので、主な実施形態と比較してより大きな柔軟性があることである。さらに、レートへの影響は、より少ないイントラスライスがビデオにおいて送信されるので、イントラスライスのアダプテーションのためにより低くなる。
【0178】
要するに、ピクチャヘッダ、そのピクチャがこれらのモードの一つで符号化されたスライスのみを持つと決定されたとき、イントラ/インター要素を削除するように修正される。このようにして、ピクチャヘッダは、ピクチャ全体に使用される符号化モードに関連するシンタックス要素のみを含む。ピクチャの大部分では、これはインター符号化であり(インターピクチャはイントラよりも一般的であるため)、簡単にするために、このオプションはすべてのインスタンスで実施することができる。ピクチャが、異なる符号化モードのスライスを有する場合、そのスライス/ピクチャ全体のシンタックス要素は、異なるヘッダ(スライスヘッダなど)から決定できる。
【0179】
たとえば、イントラのスライスヘッダのパラメータは次のようになる:
・ slice_log2_diff_min_qt_min_cb_intra_slice_luma
・ slice_max_mtt_hierarchy_depth_intra_slice_luma
・ slice_log2_diff_max_bt_min_qt_intra_slice_luma
・ slice_log2_diff_max_tt_min_qt_intra_slice_luma
・ slice_log2_diff_min_qt_min_cb_intra_slice_chroma
・ slice_max_mtt_hierarchy_depth_intra_slice_chroma
・ slice_log2_diff_max_bt_min_qt_intra_slice_chroma
・ slice_log2_diff_max_tt_min_qt_intra_slice_chroma
・ slice_cu_qp_delta_subdiv_intra_slice
・ slice_cu_chroma_qp_offset_subdiv_intra_slice
【0180】
複雑さを低減するために、パラメータがイントラスライスで送信されるとき、それらの値は、それらの均等なインターシンタックス要素の値によって制約され得る。より正確には、これらの値が複雑さの増加を回避するために制限される。
【0181】
たとえば、スライスヘッダのslice_log2_diff_min_qt_min_cb_intra_slice_lumaは、ピクチャヘッダで送信されるpic_log2_diff_min_qt_min_cb_inter_sliceの値に制限される。より正確には、現在のスライスにおける最小QTサイズ(最小ブロックサイズを与える)の値が、PHにおいて定義された最小QTサイズ値よりも劣る(inferior)ことはない。したがって、slice_log2_diff_min_qt_min_cb_intra_slice_lumaは、pic_log2_diff_min_qt_min_cb_inter_sliceより劣ることはない。
【0182】
この特徴の利点は、デコーダが各ピクチャに対してその複雑なパラメータを設定できることであり、「最悪の場合」の複雑度がピクチャヘッダに設定されるので、新しいスライス毎にこの複雑度を増加させる必要がない。
この制約は、インターパラメーターをスライスヘッダで送信できる場合にも適用できる。
【0183】
符号化ビット数をさらに低減するために、スライスシンタックス要素が、ピクチャヘッダ内のその均等シンタックス要素インター値によって制約される場合、その値は、その均等シンタックス要素インター値によって予測され得る。たとえば、値をデコードでき、slice_log2_diff_min_qt_min_cb_intra_slice_lumaは、この値+pic_log2_diff_min_qt_min_cb_inter_slice と等しくなる。
【0184】
柔軟性を高めるために、スライスタイプがイントラの場合で、およびオーバーライドフラグがその使用をシグナルしたかどうかにかかわらず、イントラシンタックス要素のセットが、スライスヘッダで送信される。オーバライドフラグは、SPSまたはPPSレベルでシグナルされる。更に、これらのパラメータのピクチャヘッダの現在のオーバライドフラグとして、スライスヘッダで追加のオーバライドフラグを送信することができる。
【0185】
イントラ/インターのフラグのオーバーライド
イントラまたはインタースライスに対してのみ定義されたピクチャヘッダシンタックス要素は、イントラおよびインターに特有の1以上のオーバライドフラグに依存し復号されてもよい(またはされない)。これにより、不必要なシンタックス要素の復号を回避しながら、柔軟性を高めることができる。テーブル9はこの特徴を示す。
【0186】
このテーブルでは、パーティショニングに関連するシンタックス要素がイントラとインターで別々にグループ化されている。partition_constraints_override_enabled_flagは、SPSで復号された2 つのシンタックス要素partition_constraints_override_enabled_flag_inter、及び、partition_constraints_override_enabled_flag_intraで置き換えられる。
【0187】
partition_constraints_override_enabled_flag_intra に基づいて、新しいフラグシンタックス要素partition_constraints_override_flag_intra が復号され、それが1に設定されている場合、イントラの以下に示すパーティションシンタックス要素が復号されるか、他の制約に従って復号できる:
・ pic_log2_diff_min_qt_min_cb_intra_slice_luma
・ 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_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
【0188】
オーバライドフラグが0に設定されると、SPSで設定されたデフォルト値がこれらの値の設定に使用される。
【0189】
同様に、関連するオーバーライドフラグがSPSで1に設定されている場合、partition_constraints_override_flag_interが復号される。このピクチャヘッダシンタックス要素がtrueの場合、インターのパーティショニングシンタックス要素が使用される。
・ pic_log2_diff_min_qt_min_cb_inter_slice
・ pic_max_mtt_hierarchy_depth_inter_slice
・ pic_log2_diff_max_bt_min_qt_inter_slice
・ pic_log2_diff_max_tt_min_qt_inter_slice
【0190】
オーバーライドフラグが0に設定されると、SPSで設定されたデフォルト値がこれらの値の設定に使用される。
【0191】
同様に、デルタQP に関連するシンタックス要素の場合、cu_QP_delta_enabled_flagは、イントラ用とインター用の2つのフラグに分離される。cu_QP_delta_enabled_flag_Intra、cu_QP_delta_enabled_flag_Interである。これらのフラグは、PPSまたはSPSで送信され、no_qp_delta_constraint_flagが0の場合にのみ送信される。
【0192】
pps_cu_chroma_qp_offset_list_enabled_flag は、イントラ用とインター用の2つのフラグに分離される。pps_cu_chroma_qp_offset_list_enabled_flag ag_Intraと、pps_cu_chroma_qp_offset_list_enabled_flag_Interである。これらのフラグはPPSで送信され、pps_cu_chroma_qp_offset_list_enabled_flagを置き換える。
【0193】
動きパラメータに関連するピクチャヘッダシンタックス要素については、motion_parameters_override_enabled_flagがSPSで送信される。有効にすると、motion_parameters_override_flagフラグが復号される。それがtrueに等しい場合、これらのパラメータに関連するすべてのシンタックス要素が復号できる。それが偽に等しい場合、これらのパラメータは、それらの対応するPPSまたはSPS値の値をとる。フラグの場合、値はSPSまたはPPS値のみにすることができる。例として:
pic_temporal_mvp_enabled_flag = sps_temporal_mvp_enabled_flag
mvd_l1_zero_flag = !pps_mvd_l1_zero_idc
pic_fpel_mmvd_enabled_flag = sps_fpel_mmvd_enabled_flag
pic_disable_bdof_flag= sps_bdof_pic_present_flag
pic_disable_dmvr_flag = sps_dmvr_pic_present_flag
pic_disable_prof_flag = sps_prof_pic_present_flag
【0194】
1つの例では、少なくともデフォルト値をSPSまたはPPSヘッダで送信して、これらのデフォルト値の1つを定義することができる。
【0195】
非フラグ値の場合: たとえば、SPSまたはPPSで設定された最大値を使用できる。例えば:
pic_six_minus_num_max_merge_candとpic_max_merge_cand_minus_max_num_triangle_cand は、それぞれpps_six_minus_max_num_merge_cand_plus1とpps_max_num_merge_cand_cand_minus_max_num_triangle_cand_pluに依存できる。
【0196】
SPSレベルでは、pic_five_minus_max_num_subblock_merge_candの定義はないが、デフォルト値は、5 -(SPS_sbtmvp_enabled_flag && pic_temporal_mvp_enabled_flag)で設定できる。
【0197】
実施形態では、SPSおよび/またはPPS値は、このデフォルト値を固定するために送信される。
さらに、この値を設定するために、SPSまたはPPSヘッダで1つの更なる実施形態固有のパラメータを送信できる。
【0198】
オーバーライドフラグを使用する利点は上述のものと同じであるが、指定されたオーバーライドフラグが真に設定されている場合、イントラパラメータを送信できるため、(フラグの送信とデコードを犠牲にして)より柔軟性がある。
【0199】
テーブル9 オーバーライドフラグ付きピクチャヘッダ
【0200】
これらの新しいオーバライドフラグの位置は、修正できることに留意されたい。例えば、インターフラグをイントラフラグの上に移動することができる。これは、より多くのピクチャがインター符号化を使用するので、このフラグがより関連性があり得るので、有益であり得る。
【0201】
同様に、従前のフラグpartition_constraints_override_flagが保持され、インターもしくはイントラフラグがチェックすべきかをチェックすることができる。
【0202】
一実施形態では、これらの異なるシンタックス要素の前に2つのオーバーライドフラグが送信される。1つはインター要素がオーバーライドされるかどうかを指定し、1つはイントラ要素がオーバーライドされることを指定する。これらのオーバーライドフラグは、上位レベルでも同じ方法で定義されている可能性がある。先の実施形態と比較して、必要な追加のオーバーライドフラグは少なくなる。
【0203】
オーバーライドフラグとマージされたシンタックス要素
特に興味深い組み合わせは、オーバーライドフラグ(例えば、テーブル9)及びマージされたシンタックス要素(例えば、テーブル6)を使用の組み合わせである。さらに、パラメータのいくつかは、上述したようにピクチャヘッダから除去することができる(例えば、テーブル8)。
【0204】
たとえば、マージ可能なシンタックス要素はマージされる。cuデルタQPパラメータは、イントラ及びインタールマに関連するパーティショニングフラグと同様、興味深い。そうでない場合、クロマパーティショニングパラメータが上述のように除去することができ、動きパラメータは1以上のオーバーライドフラグに応じて設定する(または設定しない)ことができる。テーブル10は、そのような組み合わせの例を示す。
【0205】
【0206】
上記の特徴は、互いに組み合わせて提供されてもよいことを理解されたい。上述の特定の組み合わせと同様に、そうすることは、特定の実施に適した特定の利点、例えば、柔軟性の増加、または「最悪の場合」の例の指定を提供することができる。他の例では複雑性要件が(例えば)レート低減よりも高い優先度を有することができ、そのような特徴は個別に実装することができる。
【0207】
発明の実施
図7は、本発明の実施形態による、エンコーダ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および/またはオーディオ信号を取得/生成し、要求されたコンテンツをユーザに提供するために、これをユーザ端末が使用される。
【0208】
本発明による方法/プロセスの任意のステップまたは本明細書で説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、ステップ/機能は、1つまたは複数の命令もしくはコードもしくはプログラム、またはコンピュータ可読媒体として格納または送信され、PC(“パーソナルコンピュータ”)、DSP(“デジタル信号プロセッサ”)、回路、回路、プロセッサおよびメモリ、汎用マイクロプロセッサまたは中央演算処理装置、マイクロコントローラ、ASIC(“特定用途向け集積回路”)、フィールドプログラマブル論理アレイ(FPGA)、または他の同等の集積または個別論理回路であり得る、プログラマブルコンピューティングマシンなどの1つまたは複数のハードウェアベースの処理ユニットによって実行され得る。したがって、本明細書で使用される“プロセッサ”という用語は、前述の構造のいずれか、または本明細書で説明される技法の実装に適した他の任意の構造を指すことがある。
【0209】
本発明の実施形態はワイヤレスハンドセット、集積回路(IC)、またはJCのセット(例えば、チップセット)を含む多種多様なデバイスまたは装置によって実現することもでき、本明細書では様々な構成要素、モジュール、またはユニットを、それらの実施形態を実行するように構成されたデバイス/装置の機能態様を示すために説明するが、必ずしも異なるハードウェアユニットによる実現を必要としない。むしろ、種々モジュール/ユニットは、コーデックハードウェアユニットで結合されてもよく、または適切なソフトウェア/ファームウェアと共に1つ以上のプロセッサを含む相互運用ハードウェアユニットの集合によって提供されてもよい。
【0210】
本発明の実施形態は上述の実施形態のうちの1つ以上のモジュール/ユニット/機能を実行するために記憶媒体に記録されたコンピュータ実行可能命令(例えば、1つ以上のプログラム)を読み出して実行し、及び/又は上述の実施形態のうちの1つ以上の機能を実行するための1つ以上の処理部又は回路を含むシステム又は装置のコンピュータによって、及び、例えば、上述の実施形態のうちの1つ以上の機能を実行するために記憶媒体からコンピュータ実行可能命令を読み出して実行し、及び/又は上述の実施形態のうちの1つ以上の機能を実行するために1つ以上の処理部又は回路を制御することによって、システム又は装置のコンピュータによって実行される方法によって実現することができる。コンピュータはコンピュータ実行可能命令を読み出して実行するために、別個のコンピュータまたは別個の処理ユニットのネットワークを含んでもよい。コンピュータ実行可能命令は例えば、ネットワークまたは実体のある記憶媒体を介して通信媒体のようなコンピュータ可読媒体からコンピュータに提供されてもよい。通信媒体は、信号/ビットストリーム/搬送波であってもよい。有形記憶媒体は例えば、ハードディスク、ランダムアクセスメモリ、リード・オンリー・メモリ、分散コンピューティング・システムの記憶装置、光ディスク(コンパクト・ディスク(CD)、デジタル・バーサタイル・ディスク(DVD)、またはBlu-ray Disc(BD)TMなど)、フラッシュ・メモリ・デバイス、メモリ・カードなどの1つ以上を含み得る「非一時的なコンピュータ読み取り可能な記憶媒体」である。ステップ/機能のうちの少なくともいくつかは、マシーン、またはFPGA(「フィールドプログラマブルゲートアレイ」)またはASIC(「特定用途向け集積回路」)などの専用構成要素によってハードウェアで実装することもできる。
【0211】
図8は、本発明の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によって実行されると、本発明による方法のステップを実行させる。
【0212】
また、本発明の他の実施形態によれば、コンピュータ、携帯電話(セルラフォン)、テーブル、またはユーザにコンテンツを提供/表示することができる他の任意のタイプのデバイス(例えば、ディスプレイ装置)などのユーザ端末に、前述の実施形態によるデコーダが提供されることも理解される。さらに別の実施形態によれば、前述の実施形態によるエンコーダは、エンコーダがエンコードするためのコンテンツをキャプチャし、提供するカメラ、デジタルビデオカメラ、またはネットワークカメラ(例えば、閉回路テレビまたはビデオ監視カメラ)も備える撮像装置において提供される。2つのこのような例を、
図9および10を参照して以下に提供する。
【0213】
ネットワークカメラ
図9は、ネットワークカメラ2102及びクライアント装置2104を含むネットワークカメラシステム2100を示す図である。
【0214】
ネットワークカメラ2102は、撮像部2106と、符号化部2108と、通信ユニット2110と、制御部2112とを有している。
【0215】
ネットワークカメラ2102とクライアント装置2104とは、ネットワーク200を介して相互に通信可能に接続されている。
【0216】
撮像ユニット2106はレンズおよび画像センサ(例えば、電荷結合素子(CCD)または相補型金属酸化膜半導体(CMOS))を含み、被写体の画像を撮像し、その画像に基づいて画像データを生成する。この画像は静止画像であってもよいし、ビデオ画像であってもよい。
【0217】
符号化部2108は、上述した符号化方法を用いて画像データを符号化する。
【0218】
ネットワークカメラ2102の通信ユニット2110は、符号化部2108で符号化された符号化画像データをクライアント装置2104に送信する。
【0219】
また、通信ユニット2110は、クライアント装置2104からのコマンドを受信する。コマンドは、符号化ユニット2108の符号化のためのパラメータを設定するコマンドを含む。
【0220】
制御部2112は、通信ユニット2110が受信したコマンドに従って、ネットワークカメラ2102内の各部を制御する。
【0221】
クライアント装置2104は、通信ユニット2114と、復号部2116と、制御部2118とを有する。
【0222】
クライアント装置2104の通信ユニット2114は、ネットワークカメラ2102にコマンドを送信する。
【0223】
また、クライアント装置2104の通信ユニット2114は、ネットワークカメラ2102から符号化画像データを受信する。
【0224】
復号部2116は、上述した復号方法を用いて符号化画像データを復号する。
【0225】
クライアント装置2104の制御部2118は、ユーザ操作や、通信ユニット2114が受信したコマンドに従って、クライアントユニット2104内の他の部を制御する。
【0226】
クライアント装置2104の制御部2118は、復号部2116で復号された画像を表示するように表示装置2120を制御する。
【0227】
また、クライアント装置2104の制御部2118は、符号化部2108の符号化のためのパラメータを含むネットワークカメラ2102のパラメータの値を指定するGUI(Graphical User Interface)を表示するように表示装置2120を制御する。
【0228】
また、クライアントユニット2104の制御部2118は、表示装置2120で表示されたGUIに対するユーザ操作入力に応じて、クライアントユニット2104内の他の部を制御する。
【0229】
クライアント装置2104の制御部2119は、表示装置2120が表示するGUIに対するユーザ操作入力に応じて、ネットワークカメラ2102のパラメータの値を指定するコマンドをネットワークカメラ2102に送信するように、クライアント装置2104の通信ユニット2114を制御する。
【0230】
スマートフォン
図10は、スマートフォン2200を示す図である。
スマートフォン2200は、通信ユニット2202、復号部2204、制御部2206、表示部2208、画像記録装置2210及びセンサ2212を備える。
【0231】
通信ユニット2202は、ネットワーク200を介して符号化画像データを受信する。 復号部2204は、通信ユニット2202が受信した符号化画像データを復号する。
復号部2204は、上述した復号方法を用いて符号化画像データを復号する。
【0232】
制御部2206は、ユーザ操作や通信ユニット2202が受信したコマンドに応じて、スマートフォン2200内の他の部を制御する。
例えば、制御部2206は、復号部2204により復号された画像を表示するように表示部2208を制御する。
【0233】
本発明を実施形態を参照して説明してきたが、本発明は開示された実施形態に限定されないことを理解されたい。添付の特許請求の範囲に定義されるように、本発明の範囲から逸脱することなく、様々な変更および修正を行うことができることは、当業者には理解されよう。本明細書(任意の添付の特許請求の範囲、要約書、および図面を含む)に開示された特徴のすべて、および/またはそのように開示された任意の方法またはプロセスのステップのすべては、そのような特徴および/またはステップの少なくともいくつかが相互に排他的である組合せを除いて、任意の組合せで組み合わせることができる。本明細書(任意の添付の特許請求の範囲、要約書、および図面を含む)に開示される各特徴は特に断らない限り、同じ、同等の、または同様の目的を果たす代替の特徴によって置き換えることができる。したがって、特に断らない限り、開示される各特徴は、同等または同様の機能の一般的なシリーズの一例にすぎない。
【0234】
また、上述の比較、判定、評価、選択、実行、実行、または考慮の任意の結果、例えば、符号化またはフィルタリングプロセス中に行われる選択はビットストリーム内のデータ、例えば、結果を示すフラグまたはデータに示されるか、またはそれらから決定可能/推論可能であり得、その結果、示されるか、または決定された/推論された結果は例えば、デコード処理中に、比較、判定、評価、選択、実行、実行、または考慮を実際に実行する代わりに、処理において使用され得ることが理解される。
【0235】
特許請求の範囲において、単語「有する」は他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は複数を排除するものではない。異なる特徴が相互に異なる従属請求項に記載されているという単なる事実は、これらの特徴の組合せが有利に使用されることができないことを示すものではない。
【0236】
クレームに記載されている参照符号は例示のみを目的としたものであり、クレームの範囲に限定的な影響を及ぼさない。