(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-25
(45)【発行日】2024-10-03
(54)【発明の名称】ビデオコーディング及び復号のための高レベルシンタックス
(51)【国際特許分類】
H04N 19/70 20140101AFI20240926BHJP
【FI】
H04N19/70
(21)【出願番号】P 2023185011
(22)【出願日】2023-10-27
(62)【分割の表示】P 2022524729の分割
【原出願日】2021-02-26
【審査請求日】2023-10-27
(32)【優先日】2020-03-05
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】ラロシュ, ギローム
(72)【発明者】
【氏名】ウエドラオゴ, ナエル
(72)【発明者】
【氏名】オンノ, パトリス
【審査官】田中 純一
(56)【参考文献】
【文献】特表2023-515185(JP,A)
【文献】国際公開第2021/170091(WO,A1)
【文献】国際公開第2013/057884(WO,A1)
【文献】米国特許出願公開第2013/0101034(US,A1)
【文献】Benjamin Bross, Jianle Chen, Shan Liu, Ye-Kui Wang,Versatile Video Coding (Draft 8) [online],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-Q JVET-Q2001-vD ,ITU-T インターネット<https://jvet-experts.org/doc_end_user/documents/17_Brussels/wg11/JVET-Q2001-v14.zip><JVET-Q2001-vD.docx>,2020年01月18日,pp.34-87
【文献】Benjamin Bross, et al.,Versatile Video Coding (Draft 7),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC1/SC 29/WG 11 16th Meeting: Geneva, CH, 1-11 Oct. 2019,JVET-P2001-vE,ITU-T インターネット<https://jvet-experts.org/doc_end_user/documents/17_Brussels/wg11/JVET-Q0379-v1.zip><JVET-P2001-vE_JVET_Q0379.docx>,2019年12月31日,pp.33-86
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
ビットストリームから画像データを復号する方法であって、
ここで、前記ビットストリームは、1つ以上のスライスを含むことが可能なピクチャを復号するときに使用されるシンタックス要素を含むピクチャヘッダと、スライスを復号するときに使用されるシンタックス要素を含むスライスヘッダと、を含み、
ここで、前記復号する方法は、
少なくとも、LMCS(Luma Mapping with Chroma Scaling)が前記ピクチャ内で使用され得るかを示すシンタックス要素を、前記ピクチャヘッダにおいて構文解析することと、
前記LMCSが前記ピクチャ内で使用され得るとき、少なくとも、LMCS APS(Adaptation Parameter Set)のIDに関するシンタックス要素を、前記ピクチャヘッダにおいて構文解析することと、
前記LMCSが前記ピクチャ内で使用され得るとき、前記スライスヘッダにおいて、ALF(Adaptive Loop Filter)APSのIDに関するシンタックス要素の直後、かつ、SAOに関連するシンタックス要素を含む1又は複数のシンタックス要素の前に、少なくとも、前記LMCSが前記スライスにおいて使用されるかを特定するためのシンタックス要素を構文解析することと、
復号されたシンタックス要素を用いて前記ビットストリームから前記画像データを復号することと
を含むことを特徴とする方法。
【請求項2】
前記LMCSが前記スライスにおいて使用されるかを特定するためのシンタックス要素はフラグであることを特徴とする請求項1に記載の方法。
【請求項3】
画像データをビットストリームに符号化する方法であって、
ここで、前記ビットストリームは、1つ以上のスライスを含むことが可能なピクチャを復号するときに使用されるシンタックス要素を含むピクチャヘッダと、スライスを復号するときに使用されるシンタックス要素を含むスライスヘッダと、を含み、
前記符号化する方法は、
少なくとも、LMCS(Luma Mapping with Chroma Scaling)が前記ピクチャ内で使用され得るかを示すシンタックス要素を、前記ピクチャヘッダにおいて符号化することと、
前記LMCSが前記ピクチャ内で使用され得るとき、少なくとも、LMCS APS(Adaptation Parameter Set)のIDに関するシンタックス要素を、前記ピクチャヘッダにおいて符号化することと、
前記LMCSが前記ピクチャ内で使用され得るとき、前記スライスヘッダにおいて、ALF(Adaptive Loop Filter)APSのIDに関するシンタックス要素の直後、かつ、SAOに関連するシンタックス要素を含む1又は複数のシンタックス要素の前に、少なくとも、前記LMCSが前記スライスにおいて使用されるかを特定するためのシンタックス要素を符号化することと
を含むことを特徴とする方法。
【請求項4】
前記LMCSが前記スライスにおいて使用されるかを特定するためのシンタックス要素はフラグであることを特徴とする請求項3に記載の方法。
【請求項5】
ビットストリームから画像データを復号するためのデコーダであって、前記デコーダは、請求項1に記載の方法を実行するように構成されていることを特徴とするデコーダ。
【請求項6】
画像データをビットストリームに符号化するためのエンコーダであって、前記エンコーダは、請求項3に記載の方法を実行するように構成されていることを特徴とするエンコーダ。
【請求項7】
コンピュータに、請求項1に記載の方法を実行させることを特徴とするコンピュータプログラム。
【請求項8】
コンピュータに、請求項3に記載の方法を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はビデオコーディング及び復号に関し、特に、ビットストリームにおいて使用される高レベルシンタックスに関する。
【背景技術】
【0002】
最近、MPEGとITU-T Study Group 16’s VCEGによって形成された共同チームであるJVET(Joint Video Experts Team)は、VVC(Versatile Video Coding)と呼ばれる新しいビデオコーディング規格の研究を開始した。VVCの目標は、既存のHEVC標準(すなわち、典型的には以前の2倍)を超える圧縮性能の著しい改善を提供し、2020年に完了することである。主なターゲットアプリケーションおよびサービスは、360度および高ダイナミックレンジ(HDR)ビデオを含むが、限定されない。総じて、JVETは、独立した試験所が実施した正式な主観的試験を用いて、32団体からの応答を評価した。いくつかの提案は、HEVCを使用する場合と比較して、典型的には40%以上の圧縮効率の向上を実証した。超高精細(UHD)ビデオ試験材料について特に有効性を示した。したがって、圧縮効率の向上は、最終標準の目標とする50%をはるかに超えることが予想される。
【0003】
JVET探索モデル(JEM)は、全てのHEVCのツールを使用し、多数の新しいツールを導入した。これらの変更により、ビットストリームの構造、特にビットストリーム全体のビットレートに影響を与える可能性のある高レベルシンタックスの変更が必要になった。
【0004】
高レベルシンタックスの重要な変更の1つは、ビットストリームに「ピクチャーヘッダー」を導入することである。ピクチャヘッダは、特定のピクチャ(またはフレーム)内の各スライスの復号に使用されるシンタックス要素を指定するヘッダである。従って、ピクチャヘッダは、ビットストリーム内のスライスに関連するデータの前に配置され、スライスはそれぞれ独自の「スライスヘッダ」を有する。この構造は、
図6を参照して以下により詳細に説明される。
【0005】
第16回目の会合の文書JVET-P0239:ジュネーブ、CH、1-11、2019年10月、題名「AHG17:ピクチャヘッダ」は、VVCへの必須ピクチャヘッダの導入を提案し、これは、文書JVET_P2001としてアップロードされる汎用ビデオコーディング(案7)として採用された。
【0006】
しかし、このヘッダは多数のパラメータを有し、これらはすべて特定の復号ツールを使用するために構文解析(parse)する必要がある。
【発明の概要】
【0007】
本発明は、この構文解析プロセスを単純化するためのピクチャヘッダの構造の改善に関し、これは、コーディング性能を劣化させることなく、複雑さを低減することにつながる。
【0008】
特に、ピクチャヘッダの先頭にAPS ID情報に関連するシンタックス要素を設定することによって、これらの要素を最初に解析でき、これは、ヘッダの残りの部分を構文解析する必要がなくなる可能性がある。
【0009】
同様に、スライスヘッダにAPS ID情報に関するシンタックス要素がある場合、これらはスライスヘッダの先頭に設定される。
【0010】
一例では、ピクチャヘッダおよびスライスヘッダの早いステージにAPS IDに関連するシンタックス要素を移動することが提案される。この修正の目的は、未使用のAPSを削除するためにピクチャヘッダとスライスヘッダでAPS IDを追跡する必要がある一部のストリーミングアプリケーションの構文解析の複雑さを減らすことである。提案した修正は、BDR性能に影響を及ぼさない。
【0011】
これにより、APS ID情報がヘッダから要求されるすべてである可能性があるストリーミングアプリケーションの構文解析の複雑さが軽減される。他のストリーミング関連のシンタックス要素は、同じ理由でヘッダの先頭に向かって移動される可能性がある。
【0012】
「開始」という用語は、APS ID情報に関連するシンタックス要素の前に多数の導入シンタックス要素が存在する可能性があるため、それぞれのヘッダの最初のエントリを意味しないことが理解されるべきである。詳細な説明は、様々な例を示しているが、一般的な定義は、APS ID情報に関連するシンタックス要素が復号ツールに関連するシンタックス要素の前に提供されることである。ある特定の例では、ALF、LMCS、およびスケーリングリストのAPS IDに関連するシンタックス要素は、poc_msb_valシンタックス要素の直後に設定される。
【0013】
本発明の第1の態様によれば、ビットストリームからビデオデータを復号する方法が提供され、ビットストリームは、1つ以上のスライスに対応するビデオデータを含む。ビットストリームは、1つ以上のスライスを復号する際に使用されるシンタックス要素を含むピクチャヘッダと、スライスを復号する際に使用されるシンタックス要素を含むスライスヘッダと、を含む。復号は、ピクチャヘッダにおいて、復号ツールまたはパラメータがピクチャ内で使用され得るかどうかを示す少なくとも1つのシンタックス要素を構文解析することを含み、ここで、復号ツールまたはパラメータがピクチャ内で使用されるとき、少なくとも1つのAPS ID関連シンタックス要素が、ピクチャヘッダ内の復号ツールまたはパラメータに対して構文解析される。復号はさらに、スライスヘッダにおいて、他の復号ツールまたはパラメータに関連するシンタックス要素の前に、復号ツールまたはパラメータがそのスライスに対して使用されるかどうかを示す少なくとも1つのシンタックス要素を構文解析し、前記シンタックス要素を使用して前記ビットストリームを復号することを含む。
【0014】
したがって、クロマスケーリングを伴うルママッピング(LMCS)またはスケーリングリストなど、スライスレベルでの復号ツールまたはパラメータの有効または無効に関連する情報は、スライスヘッダの始めまたはその近くに設定される。これにより、特にストリーミングアプリケーションで、よりシンプルで高速な構文解析プロセスが可能になる。
【0015】
APS ID関連のシンタックス要素を含む別の(さらなる)復号ツールまたはパラメータのパラメータは、有効になっている場合、そのスライスに対して復号ツールまたはパラメータ(例えば、LMCSまたはスケーリングリストに関連する復号ツールまたはパラメータの前)を使用するかどうかを示すシンタックス要素の前に構文解析できる。APS ID関連シンタックス要素は、適応ループフィルタリングAPS IDに関連し得る。
【0016】
これは、有用でないAPS NALユニットを除去するためにAPS ID使用を追跡する必要があるストリーミングアプリケーションの複雑さを低減する。スライスヘッダ内にはある復号ツールおよびパラメータ(例えば、LMCSまたはスケーリングリスト)に関連するAPS IDはないが(例えば、LMCSまたはスケーリングリストに関連するAPS IDのシンタックス要素はスライスヘッダ内で構文解析されない)、このような復号ツールまたはパラメータがスライスレベルで無効にされるとき、これは現在のピクチャに使用されるAPS IDに影響を及ぼす。例えば、サブピクチャ抽出アプリケーションでは、APS IDはピクチャヘッダで送信されるべきであるが、抽出されたサブピクチャは1つのスライスのみを含む。その1つのスライスでは、復号ツールまたはパラメータ(例えば、LMCSまたはスケーリングリスト)は、スライスヘッダにおいて無効にされてもよい。ピクチャヘッダで識別されたAPSが別のフレームで使用されない場合、抽出アプリケーションは、抽出されたサブピクチャに必要でないので、関連するAPS IDを有するAPS(例えば、LMCSまたはスケーリングリストAPS)を除去すべきである。したがって、APSを除去する必要があるかどうかに関する決定は、スライスヘッダ内の他のデータを最初に構文解析する必要なしに、効率的に行うことができる。
【0017】
復号ツールまたはパラメータが使用されるかどうかを示すスライスヘッダのシンタックス要素は、適応ループフィルタリング(ALF:Adaptive Loop Filtering)パラメータに関連するシンタックス要素の直後にある場合がある。
【0018】
復号ツールまたはパラメータは、クロマスケーリングを伴うルママッピング(LMCS:Luma Mapping with Chroma Scaling)に関連し得る。復号ツールまたはパラメータが使用されるかどうかを示すシンタックス要素は、LMCSがスライスに使用されるかどうかを通知するフラグである可能性がある。
【0019】
復号ツールまたはパラメータは、スケーリングリストに関連し得る。復号ツールまたはパラメータが使用されるかどうかを示すシンタックス要素は、スケーリングリストがスライスに対して使用されるかどうかを通知するフラグであってもよい。
【0020】
一実施形態では、ビットストリームからビデオデータを復号する方法が提供され、ビットストリームは、1つ以上のスライスに対応するビデオデータを含み、ここで、ビットストリームは、1つ以上のスライスを復号するときに使用されるシンタックス要素を含むピクチャヘッダと、スライスを復号するときに使用されるシンタックス要素を含むスライスヘッダと、を含み、方法は、ピクチャヘッダにおいて、ピクチャ内でLMCSまたはスケーリングリスト復号ツールが使用されてもよいかどうかを示す少なくとも1つのシンタックス要素を構文解析することと、ここで、LMCSまたはスケーリングリスト復号ツールがピクチャ内で使用されているときに、ピクチャヘッダ内のLMCSまたはスケーリングリスト復号ツールについて、少なくとも1つのAPS ID関連シンタックス要素が構文解析され、スライスヘッダにおいて、他の復号ツールに関連するシンタックス要素の前にLMCSまたはスケーリングリスト復号ツールがそのスライスに対して使用されているかどうかを示す少なくとも1つのシンタックス要素を構文解析することと、ここで、ALF APS IDシンタックス要素が、有効なときに、LMCSまたはスケーリングリスト復号ツールがそのスライスに対して使用されるかどうかを示す少なくとも1つのシンタックス要素の前に構文解析され、前記シンタックス要素を使用してビットストリームからビデオデータを復号することと、を含む。
【0021】
本発明の第2の態様によれば、ビデオデータをビットストリームに符号化するビデオデータを符号化する方法が提供され、ビットストリームは、1つ以上のスライスに対応するビデオデータを含む。ビットストリームは、1つ以上のスライスを復号する際に使用されるシンタックス要素を含むヘッダと、スライスを復号する際に使用されるシンタックス要素を含むスライスヘッダと、を含む。符号化は、ピクチャヘッダにおいて、復号ツールまたはパラメータがピクチャ内で使用され得るか否かを示す少なくとも1つのシンタックス要素を符号化することと、ここで、復号ツールまたはパラメータがピクチャ内で使用され得るとき、少なくとも1つのAPS ID関連シンタックス要素が、ピクチャヘッダ内の復号ツールまたはパラメータに対して符号化され、スライスヘッダにおいて、他の復号ツールまたはパラメータに関連するシンタックス要素の前に、そのスライスに対して復号ツールまたはパラメータが使用されるかどうかを示す少なくとも1つのシンタックス要素を符号化することと、を含む。
【0022】
APS ID関連シンタックス要素を含む別の(さらなる)復号ツールのパラメータは、有効になっている場合、そのスライスに対して復号ツールまたはパラメータ(例えば、復号ツールまたはパラメータ関連LMCSまたはスケーリングリストの前)を使用するかどうかを示すシンタックス要素の前に符号化される。
【0023】
他の復号ツールに対するAPS ID関連シンタックス要素は、適応ループフィルタリングAPS IDに関連し得る。
【0024】
このプロセスに従ってビットストリームを符号化することは、有用でないAPS NALユニットを除去するためにAPS ID使用を追跡する必要があるストリーミングアプリケーションのための複雑さの低減を提供する。スライスヘッダ内にはある復号ツール及びパラメータ(例えば、LMCS又はスケーリングリスト)に関連するAPS IDは存在しないが(例えば、LMCS又はスケーリングリストに関連するAPS IDのシンタックス要素はスライスヘッダ内に符号化されない)、このような復号ツール又はパラメータがスライスレベルで無効にされるとき、これは現在のピクチャに使用されるAPS IDに影響を及ぼす。例えば、サブピクチャ抽出アプリケーションでは、APS IDはピクチャヘッダで送信されるべきであるが、抽出されたサブピクチャは1つのスライスのみを含む。その1つのスライスでは、復号ツールまたはパラメータ(例えば、LMCSまたはスケーリングリスト)は、スライスヘッダにおいて無効にされてもよい。ピクチャヘッダで識別されたAPSが別のフレームで使用されない場合、抽出アプリケーションは、抽出されたサブピクチャに必要でないので、関連するAPS IDを有するAPS(例えば、LMCSまたはスケーリングリストAPS)を除去すべきである。したがって、APSを除去する必要があるかどうかに関する決定は、スライスヘッダ内の他のデータを最初に構文解析する必要なしに、効率的に行うことができる。
【0025】
復号ツールまたはパラメータが使用されるかどうかを示すスライスヘッダのシンタックス要素は、ALFパラメータの直後に符号化される。
【0026】
復号ツールまたはパラメータは、LMCSに関連し得る。復号ツールまたはパラメータが使用されるかどうかを示す符号化されたシンタックス要素は、LMCSがスライスに対して使用されるかどうかを通知するフラグであってもよい。
【0027】
復号ツールまたはパラメータは、スケーリングリストに関連し得る。復号ツールまたはパラメータが使用されるかどうかを示す符号化されたシンタックス要素は、スケーリングリストがスライスに対して使用されるかどうかを通知するフラグであってもよい。
【0028】
第2の態様に係る実施形態では、ビットストリームにビデオデータを符号化する方法が提供され、ビットストリームは、1つ以上のスライスに対応するビデオデータを含み、ここで、ビットストリームは、1つ以上のスライスを復号するときに使用されるシンタックス要素を含むピクチャヘッダと、スライスを復号するときに使用されるシンタックス要素を含むスライスヘッダと、を含み、方法は、ピクチャヘッダにおいて、ピクチャ内でLMCSまたはスケーリングリスト復号ツールが使用されてもよいかどうかを示す少なくとも1つのシンタックス要素を符号化することと、ここで、LMCSまたはスケーリングリスト復号ツールがピクチャ内で使用されているときに、ピクチャヘッダ内のLMCSまたはスケーリングリスト復号ツールについて、少なくとも1つのAPS ID関連シンタックス要素が符号化され、スライスヘッダにおいて、他の復号ツールに関連するシンタックス要素の前にLMCSまたはスケーリングリスト復号ツールがそのスライスに対して使用されているかどうかを示す少なくとも1つのシンタックス要素を符号化することと、ここで、ALF APS IDシンタックス要素が、有効なときに、LMCSまたはスケーリングリスト復号ツールがそのスライスに対して使用されるかどうかを示す少なくとも1つのシンタックス要素の前に符号化され、前記シンタックス要素を使用してビットストリームにビデオデータを符号化することと、を含む。
【0029】
本発明による第3の態様では、ビットストリームからビデオデータを復号するためのデコーダが提供され、デコーダは第1の態様の任意の実装による方法を実行するように構成される。
【0030】
本発明による第4の態様では、ビデオデータをビットストリームに符号化するためのエンコーダが提供され、エンコーダは第2の態様の任意の実装による方法を実行するように構成される。
【0031】
本発明の第5の態様では、実行時に、第1または第2の態様のいずれかの方法を実行させるコンピュータプログラムが提供される。プログラムは、それ自体で提供されてもよく、またはキャリア媒体上で、キャリア媒体によって、またはキャリア媒体内で搬送されてもよい。キャリア媒体は非一時的であってもよく、例えば、記憶媒体、特にコンピュータ可読記憶媒体であってもよい。搬送媒体はまた、一時的なもの、例えば、信号または他の伝送媒体であってもよい。信号は、インターネットを含む任意の適切なネットワークを介して送信されてもよい。
【0032】
本発明による第6の態様では、1つ以上のスライスに対応するビデオデータを含むビットストリームを構文解析する方法が提供される。ビットストリームは、1つ以上のスライスを復号する際に使用されるシンタックス要素を含むピクチャヘッダと、スライスを復号する際に使用されるシンタックス要素を含むスライスヘッダと、を含み、ピクチャヘッダにおいて、復号ツールまたはパラメータがスライス内で使用され得るかどうかを示す少なくとも1つのシンタックス要素を構文解析することと、ここで、復号ツールまたはパラメータがピクチャ内で使用される場合、少なくとも1つのAPS ID関連シンタックス要素はピクチャヘッダ内の復号ツールに対して構文解析され、スライスヘッダ内で、復号ツールまたはパラメータが他の復号ツールまたはパラメータに関連するシンタックス要素に先立ってそのスライスに対して使用されるかどうかを示す少なくとも1つのシンタックス要素を構文解析しないことと、を含む。
【0033】
復号ツールまたはパラメータ(LMCSまたはスケーリングリスト)のスライスレベルでフラグまたは情報が設定される場合と比較して、この方法では、スライスヘッダをLMCS用に構文解析する必要がないため、複雑さが軽減される。
【0034】
復号ツールまたはパラメータは、クロマスケーリングを伴うルママッピング(LMCS)に関連し得る。代替的に、または追加的に、復号ツールまたはパラメータは、スケーリングリストに関連してもよい。
【0035】
本発明による第7の態様では、第6の態様によるビットストリームを構文解析することを含む、画像データをストリーミングする方法が提供される。
【0036】
第8の態様では、第6の態様による方法を実行するように構成されたデバイスが提供される。
【0037】
第9の態様では、実行時に第6の態様の方法を実行させるコンピュータプログラムが提供される。プログラムは、それ自体で提供されてもよく、またはキャリア媒体上で、キャリア媒体によって、またはキャリア媒体内で搬送されてもよい。キャリア媒体は非一時的であってもよく、例えば、記憶媒体、特にコンピュータ可読記憶媒体であってもよい。搬送媒体はまた、一時的なもの、例えば、信号または他の伝送媒体であってもよい。信号は、インターネットを含む任意の適切なネットワークを介して送信されてもよい。本発明のさらなる特徴は、独立請求項および従属請求項によって特徴付けられる。
【0038】
10番目の態様において、ビットストリームが提供され、ビットストリームは1つ以上のスライスに対応するビデオデータを含み、ここで、ビットストリームは1つ以上のスライスを復号する際に使用されるシンタックス要素を含むピクチャヘッダと、スライスを復号する際に使用されるシンタックス要素を含むスライスヘッダと、を含み、ビットストリームは、LMCSまたはスケーリングリスト復号ツールがピクチャ内で使用されるかどうかを示す少なくとも1つのシンタックス要素が、ピクチャヘッダ内で符号化されており、ここで、LMCSまたはスケーリングリスト復号ツールがピクチャで使用される場合、少なくとも1つのAPS ID関連シンタックス要素がピクチャヘッダ内のLMCSまたはスケーリングリスト復号ツールについて符号化され、スライスヘッダにおいて、他の復号ツールに関連するシンタックス要素の前に、LMCSまたはスケーリングリスト復号ツールがそのスライスに対して使用されるかどうかを示す少なくとも1つのシンタックス要素が符号化され、ここで、ALF APS IDシンタックス要素が、有効である場合、LMCSまたはスケーリングリスト復号ツールがそのスライスについて使用されるかどうかを示す少なくとも1つのシンタックス要素の前に構文解析され、ここで、ビデオデータは、前記シンタックス要素を使用して、ビットストリームから復号されてもよい。
【0039】
第11の態様では、第10の態様によるビットストリームを復号する方法が提供される。
【0040】
第10の態様のビットストリームは、ビットストリームを搬送する信号によって具現化され得る。信号は一時的な媒体(無線または有線データキャリア上のデータ、例えば、インターネットを介したデジタルダウンロードまたはストリーミングされたデータ)または非一時的な媒体(例えば、(ブルーレイ)ディスク、メモリなどの物理媒体)上で搬送されてもよい。
【0041】
別の態様では、ビットストリームからビデオデータを符号化/復号する方法が提供され、方法はピクチャヘッダにおいて、LMCSまたはスケーリングリスト復号ツールがピクチャにおいて使用され得るかどうかを示すシンタックス要素を符号化/構文解析することと、スライスヘッダにおいて、LMCSまたはスケーリングリスト復号ツールが他の復号ツールに関するシンタックス要素に先立ってそのスライスに対して使用されるかどうかを示す少なくとも1つのシンタックス要素を符号化/構文解析することと、を含む。他の復号ツールは、低レベル復号ツールであってもよく、ALFを含まない。適応ループフィルタリングAPS IDシンタックス要素は、LMCSまたはスケーリングリスト復号ツールがそのスライスに対して使用されるかどうかを示す少なくとも1つのシンタックス要素の前に、符号化/構文解析されることがある(例えば、有効なとき)。ビデオデータは、前記シンタックス要素に従って、ビットストリームに符号化/ビットストリームから復号されてもよい。方法は、LMCSまたはスケーリングリスト復号ツールがピクチャ内で使用され得るかどうかを示す少なくとも1つのシンタックス要素を、ピクチャヘッダに符号化/ピクチャヘッダから復号することをさらに含み得、ここで、LMCSまたはスケーリングリスト復号ツールがピクチャ内で使用される場合、デバイスは、この方法を実行するように構成され得る。コンピュータプログラムは実行時に方法を(例えば、1つ以上のプロセッサによって)実行させる命令を含んでもよい。
【0042】
本発明の一態様における任意の特徴は、任意の適切な組み合わせで、本発明の他の態様に適用されてもよい。特に、方法の態様は、装置の態様に適用されてもよく、逆もまた同様である。
【0043】
さらに、ハードウェアで実施される特徴は、ソフトウェアで実施されてもよく、その逆も可能である。本明細書におけるソフトウェアおよびハードウェアの特徴へのいかなる参照も、それに応じて解釈されるべきである。
【0044】
本明細書に記載されるような任意の装置特徴は、方法特徴として提供されてもよく、逆もまた同様である。本明細書で使用されるように、ミーンズプラスファンクション特徴は、適切にプログラムされたプロセッサおよび関連するメモリなどの、それらの対応する構造に関して代替的に表現されてもよい。
【0045】
また、本発明の任意の態様において説明され、定義された様々な特徴の特定の組合せは、独立して実装および/または供給および/または使用されることができることを理解されたい。
【図面の簡単な説明】
【0046】
ここで、例として、添付の図面を参照する。
【
図1】
図1は、HEVC及びVVCで使用されるコーディング構造を説明するための図である。
【
図2】
図2は、本発明の1つ以上の実施形態を実施することができるデータ通信システムを概略的に示すブロック図である。
【
図3】
図3は、本発明の1つ以上の実施形態を実施することができる処理装置の構成要素を示すブロック図である。
【
図4】
図4は、本発明の実施形態による符号化方法のステップを示すフローチャートである。
【
図5】
図5は、本発明の実施形態による復号方法のステップを示すフローチャートである。
【
図6】
図6は、例示的なコーディングシステムVVCにおけるビットストリームの構造を示す。
【
図7】
図7は、LMCS(Luma Modelling Chroma Scaling)を示す。
【
図9】
図9は、本発明の実施形態による、エンコーダまたはデコーダおよび通信ネットワークを備えるシステムを示す図である。
【
図10】
図10は、本発明の1つ以上の実施形態の実施のためのコンピューティングデバイスの概略ブロック図である。
【
図11】
図11は、ネットワークカメラシステムを示す図である。
【発明を実施するための形態】
【0047】
図1は、高効率ビデオコーディング(HEVC)ビデオ規格で使用されるコーディング構造に関する。ビデオシーケンス1は、一連のデジタル画像iから構成される。このような各デジタル画像は、1つ以上のマトリックスによって表される。マトリクス係数はピクセルを表す。
【0048】
シーケンスの画像2は、スライス3に分割することができる。スライスは、場合によっては画像全体を構成することができる。これらのスライスは、非オーバーラップコーディングツリーユニット(CTU)に分割される。コーディングツリーユニット(CTU)は高効率ビデオコーディング(HEVC)ビデオ規格の基本的な処理ユニットであり、構造的には、いくつかの以前のビデオ規格で使用されたマクロブロックユニットに概念的に対応する。CTUは、時には最大コーディングユニット(LCU)とも呼ばれる。CTUはルマ及びクロマ構成要素部分を有し、その構成要素部分の各々は、コーディングツリーブロック(CTB)と呼ばれる。これらの異なる色成分は、
図1には示されていない。
【0049】
CTUは一般に、サイズ64ピクセル×64ピクセルである。各CTUは、四分木分解を使用して、より小さい可変サイズコーディングユニット(CU)5に順々に反復的に分割されてもよい。
【0050】
コーディングユニットは基本コーディング要素であり、PU(Prediction Unit)とTU(Transform Unit)と呼ばれる2種類のサブユニットから構成される。PUまたはTUの最大サイズは、CUサイズに等しい。予測ユニットは、ピクセル値の予測のためのCUのパーティションに対応する。606によって示されるように、4つの正方形PUへのパーティションと、2つの長方形PUへの2つの異なるパーティションとを含む、PUへのCUの様々な異なるパーティションが可能である。変換ユニットは、DCTを使用して空間変換を行う基本ユニットである。CUは、四分木表現607に基づいてTUに分割することができる。
【0051】
各スライスは、1つのネットワーク抽象化レイヤ(NAL)ユニットに埋め込まれる。さらに、ビデオシーケンスのコーディングパラメータは、パラメータセットと呼ばれる専用NALユニットに格納される。HEVCおよびH.264/AVCでは、2種類のパラメータセットNALユニットが使用される:第1に、ビデオシーケンス全体の間に変更されないすべてのパラメータを収集するシーケンスパラメータセット(SPS)NALユニット。典型的には、それはコーディングプロファイル、ビデオフレームのサイズ、及び他のパラメータを処理する。第2に、ピクチャパラメータセット(PPS)NALユニットは、シーケンスの1つの画像(またはフレーム)から他に変更することができるパラメータを含む。HEVCには、ビットストリームの全体的な構造を記述するパラメータを含むビデオパラメータセット(VPS)NALユニットも含まれている。VPSは、HEVCで定義された新しいタイプのパラメータセットで、ビットストリームのすべてのレイヤに適用される。レイヤには、複数の時間サブレイヤを含めることができ、すべてのバージョン1のビットストリームは、1つのレイヤに制限される。HEVCにはスケーラビリティとマルチビューのための特定のレイヤ拡張があり、これらは後方互換性のあるバージョン1基本レイヤを備えた複数のレイヤを可能にする。
【0052】
図2は、本発明の1つ以上の実施形態を実施することができるデータ通信システムを示す。データ通信システムは、データ通信ネットワーク200を介して、データストリームのデータパケットを受信装置、この場合はクライアント端末202に送信するように動作可能な送信装置、この場合はサーバ201を含む。データ通信ネットワーク200は、ワイドエリアネットワーク(WAN)またはローカルエリアネットワーク(LAN)であってもよい。このようなネットワークは例えば、無線ネットワーク(Wifi/802.11aまたはbまたはg)、イーサネットネットワーク、インターネットネットワーク、または複数の異なるネットワークから構成される混合ネットワークであってもよい。本発明の特定の実施形態では、データ通信システムが、サーバ201が同じデータコンテンツを複数のクライアントに送信するデジタルテレビ放送システムであってもよい。
【0053】
サーバ201によって提供されるデータストリーム204は、ビデオおよびオーディオデータを表すマルチメディアデータから構成されてもよい。オーディオおよびビデオデータストリームは、本発明のいくつかの実施形態では、それぞれマイクロフォンおよびカメラを使用してサーバ201によってキャプチャされ得る。いくつかの実施形態において、データストリームはサーバ201上に格納されてもよく、あるいは別のデータプロバイダからサーバ201によって受信されてもよく、あるいはサーバ201で生成されてもよい。サーバ201は特に、エンコーダへの入力として提示されるデータのよりコンパクトな表現である送信のための圧縮済みビットストリームを提供するために、ビデオおよびオーディオストリームを符号化するためのエンコーダを備える。
【0054】
送信データの品質対送信データの量のより良好な比を得るために、ビデオデータの圧縮は例えば、HEVCフォーマット又はH.264/AVCフォーマットに従ってもよい。
【0055】
クライアント202は、送信されたビットストリームを受信し、再構成されたビットストリームを復号して、ビデオ画像を表示装置上で再生し、オーディオデータをラウドスピーカにより再生する。
【0056】
図2の例では、ストリーミングシナリオが考慮されているが、本発明のいくつかの実施形態では、エンコーダとデコーダとの間のデータ通信が例えば、光ディスクなどの媒体記憶装置を使用して実行され得ることが理解されよう。
【0057】
本発明の1つ以上の実施形態では、ビデオ画像が画像の再構成されたピクセルに適用して最終画像内のフィルタリングされたピクセルを提供するために、補償オフセットを表すデータと共に送信される。
【0058】
図3は、本発明の少なくとも1つの実施形態を実施するように構成された処理装置300を概略的に示す。処理装置300は、マイクロコンピュータ、ワークステーション、またはライトポータブル装置などの装置とすることができる。装置300は、
-CPUで示される、マイクロプロセッサなどの中央処理装置311
-本発明を実施するためのコンピュータプログラムを格納するためのROMと表記される読み出し専用メモリ306
-本発明の実施形態の方法の実行可能コード、ならびにデジタル画像のシーケンスを符号化する方法および/または本発明の実施形態によるビットストリームを復号する方法を実施するために必要な変数およびパラメータを記録するように適合されたレジスタを格納する、RAMで示されるランダムアクセスメモリ312
-処理されるデジタルデータが送信または受信される通信ネットワーク303に接続された通信インターフェース302
に接続された通信バス313を備える。
【0059】
任意選択で、装置300は、以下の構成要素を含むこともできる:
-本発明の1つ以上の実施形態の方法を実施するためのコンピュータプログラム、および本発明の1つ以上の実施形態の実施中に使用または生成されるデータを格納するための、ハードディスクなどのデータ記憶手段304
-ディスク306のためのディスクドライブ305であり、ディスクドライブは、ディスク306からデータを読み取るか、または前記ディスクにデータを書き込むように適合されている
-キーボード310または他の任意のポインティング手段によって、ユーザとのグラフィカルインターフェースとして機能するおよび/またはデータを表示するスクリーン309
【0060】
装置300は例えば、デジタルカメラ320またはマイクロフォン308などの種々の周辺機器に接続され得、各周辺機器はマルチメディアデータを装置300に供給するように、入力/出力カード(図示せず)に接続される。
【0061】
通信バスは、装置300に含まれる、またはそれに接続された様々な要素間の通信および相互運用性を提供する。バスの表現は限定的ではなく、特に、中央処理装置は直接的に、または装置300の別の要素によって、装置300の任意の要素に命令を通信するように動作可能である。
【0062】
ディスク306は例えばコンパクトディスク(CD-ROM)、書き換え可能またはそわない、ZIPディスクまたはメモリカードなどの任意の情報媒体に置き換えることができ、一般的に言えば、マイクロコンピュータまたはマイクロプロセッサによって読み取ることができる情報記憶手段によって置き換えることができ、装置に統合または非統合され、可能であれば、リムーバブルであり、実行がデジタル画像のシーケンスを符号化する方法および/または本発明によるビットストリームの復号方法を実施可能にする1つ以上のプログラムを格納するように適合することができる。
【0063】
実行可能コードは、読み出し専用メモリ306、ハードディスク304、または先に説明したような例えばディスク306などのリムーバブルデジタル媒体のいずれかに格納することができる。変形例によれば、プログラムの実行可能コードはハードディスク304などの実行される前に装置300の記憶手段の1つに格納されるために、インターフェース302を介して、通信ネットワーク303によって受信することができる。
【0064】
中央処理装置311は前述の格納手段の1つに格納された命令で本発明によるプログラムまたはプログラム群のソフトウェアコードの命令または部分の実行を制御し、指示するように適合されている。電源投入時に、例えばハードディスク304または読み出し専用メモリ306上の不揮発性メモリに格納されたプログラムまたはプログラム群は、ランダムアクセスメモリ312に転送され、ランダムアクセスメモリはプログラムまたはプログラム群の実行可能コード、ならびに本発明を実施するために必要な変数およびパラメータを格納するためのレジスタを含む。
【0065】
この実施形態では、装置が本発明を実施するためにソフトウェアを使用するプログラマブル装置である。しかしながら、代替的に、本発明はハードウェア(例えば、特定用途向け集積回路またはASICの形態)で実施されてもよい。
【0066】
図4は、本発明の少なくとも1つの実施形態によるエンコーダのブロック図を示す。エンコーダは、接続されたモジュールによって表され、各モジュールは例えば、装置300のCPU311によって実行されるべきプログラム命令の形態で、本発明の1つ以上の実施形態による画像のシーケンスの画像を符号化する少なくとも1つの実施形態を実施する方法の少なくとも1つの対応するステップを実施するように適合される。
【0067】
ディジタル画像i0~in401のオリジナルシーケンスは、エンコーダ400によって入力として受信される。各デジタル画像は、ピクセルとして知られるサンプルのセットによって表される。
【0068】
ビットストリーム410は、符号化プロセスの実施後にエンコーダ400によって出力される。ビットストリーム410は複数の符号化ユニットまたはスライスを備え、各スライスは、スライスを符号化するために使用される符号化パラメータの符号化値を送信するためのスライスヘッダと、符号化されたビデオデータを備えるスライス本体と、を備える。
【0069】
入力デジタル画像i0~in401は、モジュール402によってピクセルのブロックに分割される。ブロックは画像部分に対応し、可変サイズであってもよい(例えば、4×4、8×8、16×16、32×32、64×64、128×128ピクセル、およびいくつかの矩形ブロックサイズも考慮することができる)。コーディングモードは、各入力ブロックに対して選択される。空間予測コーディング(イントラ予測)に基づくコーディングモードと、時間予測に基づくコーディングモード(インターコーディング、マージ、スキップ)の2つのファミリのコーディングモードが提供される。可能なコーディングモードがテストされる。
【0070】
モジュール403は、符号化されるべき所与のブロックが符号化されるべき前記ブロックの近傍の画素から計算された予測子によって予測されるイントラ予測処理を実施する。選択されたイントラ予測子の指示、および所与のブロックとその予測子との間の差は、イントラコーディングが選択された場合に残差を提供するために符号化される。
【0071】
時間予測は、動き推定モジュール404および動き補償モジュール405によって実施される。最初に、参照画像416のセットの中から参照画像が選択され、符号化されるべき所与のブロックに最も近いエリアである、参照エリアまたは画像部分とも呼ばれる参照画像の部分が、動き推定モジュール404によって選択される。次いで、動き補償モジュール405は、選択されたエリアを使用して、符号化されるべきブロックを予測する。選択された参照エリアと、残差ブロックとも呼ばれる所与のブロックとの間の差は、動き補償モジュール405によって計算される。選択された参照エリアは、動きベクトルによって示される。
【0072】
したがって、両方の場合(空間予測および時間予測)、残差は、元のブロックから予測を減算することによって計算される。
【0073】
モジュール403によって実施されるイントラ予測では、予測方向が符号化される。時間予測では、少なくとも1つの動きベクトルが符号化される。モジュール404、405、416、418、417によって実施されるインター予測では、そのような動きベクトルを識別するための少なくとも1つの動きベクトルまたはデータが時間予測のために符号化される。
【0074】
インター予測が選択された場合、動きベクトルおよび残差ブロックに関する情報が符号化される。ビットレートをさらに低減するために、動きが均一であると仮定すると、動きベクトルは、動きベクトル予測子に対する差によって符号化される。動き情報予測子のセットの動きベクトル予測子は、動きベクトル予測およびコーディングモジュール417によって動きベクトルフィールド418から得られる。
【0075】
エンコーダ400はさらに、レート歪み基準などの符号化コスト基準を適用することによって符号化モードを選択する選択モジュール406を備える。冗長性をさらに低減するために、変換モジュール407によって変換(DCTなど)を残差ブロックに適用し、得られた変換データを量子化モジュール408によって量子化し、エントロピー符号化モジュール409によってエントロピー符号化する。最後に、符号化されている現在のブロックの符号化された残差ブロックがビットストリーム410に挿入される。
【0076】
また、エンコーダ400は、後続の画像の動き推定のための参照画像を再生するために、符号化された画像の復号を行う。これは、ビットストリームを受信するエンコーダ及びデコーダが同じ参照フレームを有することを可能にする。逆量子化モジュール411は量子化データの逆量子化を行い、続いて逆変換モジュール412による逆変換を行う。逆イントラ予測モジュール413は予測情報を使用して、所与のブロックにどの予測子を使用するかを決定し、逆動き補償モジュール414は、モジュール412によって取得された残差を、参照画像416のセットから取得された参照領域に実際に加算する。
【0077】
次いで、モジュール415によってポストフィルタリングが適用されて、再構成された画素のフレームをフィルタリングする。本発明の実施形態では、補償オフセットが再構成画像の再構成画素の画素値に付加されるSAOループフィルタが使用される。
【0078】
図5は、本発明の一実施形態による、エンコーダからデータを受信するために使用され得るデコーダ60のブロック図を示す。デコーダは、接続されたモジュールによって表され、各モジュールは例えば、デバイス300のCPU311によって実行されるプログラム命令の形式で、デコーダ60によって実現される方法の対応するステップを実施するように適合される。
【0079】
デコーダ60は、符号化ユニットを含むビットストリーム61を受信し、各符号化ユニットは、符号化パラメータに関する情報を含むヘッダと、符号化されたビデオデータを含む本体と、から構成される。VVCにおけるビットストリームの構造は
図6を参照して以下でより詳細に説明される。
図4に関して説明されるように、符号化されたビデオデータはエントロピー符号化され、動きベクトル予測子のインデックスは、所与のブロックについて、所定のビット数で符号化される。受信された符号化ビデオデータは、モジュール62によってエントロピー復号される。次いで、残差データはモジュール63によって逆量子化され、次いで、画素値を得るためにモジュール64によって逆変換が適用される。
【0080】
コーディングモードを示すモードデータもエントロピー復号され、そのモードに基づいて、画像データの符号化ブロックに対してイントラ型復号またはインター型復号が実行される。
【0081】
イントラモードの場合、イントラ予測子は、ビットストリームで指定されたイントラ予測モードに基づいてイントラ逆予測モジュール65によって決定される。
【0082】
モードがインターである場合、エンコーダによって使用される参照領域を見つけるために、動き予測情報がビットストリームから抽出される。動き予測情報は、参照フレームインデックスと動きベクトル残差とから構成される。動きベクトル復号モジュール70によって動きベクトルを得るために、動きベクトル予測子が動きベクトル残差に加えられる。
【0083】
動きベクトル復号モジュール70は、動き予測によって符号化された現在のブロックごとに動きベクトル復号を適用する。動きベクトル予測子のインデックスが現在のブロックについて取得されると、現在のブロックに関連する動きベクトルの実際の値が復号され、モジュール66によって逆動き補償を適用するために使用され得る。復号された動きベクトルによって示される参照画像部分は、参照画像68から抽出され、逆動き補償66が適用される。動きベクトルフィールドデータ71は後続の復号動きベクトルの逆予測に使用するために、復号動きベクトルで更新される。
【0084】
最後に、復号されたブロックが得られる。ポストフィルタリングは、ポストフィルタリングモジュール67によって適用される。復号されたビデオ信号69は、最終的にデコーダ60によって提供される。
【0085】
図6は、JVET_P2001-VEに記載されているように、例示的なコーディングシステムVVCにおけるビットストリームの構成を示す。
【0086】
VVCコーディングシステムによるビットストリーム61は、シンタックス要素と符号化データの順序付けられたシーケンスから構成される。シンタックス要素および符号化データは、ネットワーク抽象化レイヤ(NAL)ユニット601~608に配置される。異なるNALユニットタイプがある。ネットワーク抽象化レイヤは、RTP/IPなどの異なるプロトコルにビットストリームをカプセル化する機能を提供し、リアルタイムプロトコル/インターネットプロトコル、ISOベースメディアファイル形式などに対応する。ネットワーク抽象化レイヤは、パケット損失回復力のためのフレームワークも提供する。
【0087】
NALユニットは、VCL(Video Coding Layer)NALユニットと非VCL NALユニットとに分割される。VCL NALユニットは、実際の符号化されたビデオデータを含む。非VCL NALユニットは、追加情報を含む。この追加情報は、符号化されたビデオデータの復号に必要なパラメータ、または復号されたビデオデータの使い勝手を向上させることができる補足データである。NALユニット606はスライスに対応し、ビットストリームのVCL NALユニットを構成する。
【0088】
異なるNALユニット601~605は異なるパラメータセットに対応し、これらのNALユニットは非VCL NALユニットである。デコーダパラメータセット(DPS)NALユニット301は、所与の復号処理に対して一定であるパラメータを含む。ビデオパラメータセット(VPS)NALユニット602は、ビデオ全体、したがってビットストリーム全体に対して定義されたパラメータを含む。DPS NALユニットは、VPS内のパラメータよりも静的なパラメータを定義することができる。換言すれば、DPSのパラメータは、VPSのパラメータよりも頻繁には変更しない。
【0089】
シーケンスパラメータセット(SPS)NALユニット603は、ビデオシーケンスに対して定義されたパラメータを含む。特に、SPS NALユニットは、ビデオシーケンスのサブピクチャレイアウトおよび関連するパラメータを定義することができる。各サブピクチャに関連するパラメータは、サブピクチャに適用されるコーディング制約を指定する。特に、それは、サブピクチャ間の時間予測が同じサブピクチャから来るデータに制限されることを示すフラグを含む。別のフラグは、サブピクチャ境界を横切るループフィルタを有効または無効にすることができる。
【0090】
ピクチャパラメータセット(PPS)NALユニット604、PPSは、ピクチャまたはピクチャのグループに対して定義されたパラメータを含む。適応パラメータセット(APS:Adaptation Parameter Set)NALユニット605はループフィルタのためのパラメータを含み、典型的には、適応ループフィルタ(ALF:Adaptive Loop Filtering)またはリシェーパモデル(またはクロマスケーリング伴うルママッピングモデル(LMCS))またはスライスレベルで使用されるスケーリングマトリクスを含む。
【0091】
VVCの現在のバージョンで提案されているようなPPSのシンタックスは、ルマサンプル内のピクチャのサイズと、タイルおよびスライス内の各ピクチャの分割と、を指定するシンタックス要素を含む。
【0092】
PPSには、フレーム内のスライスの位置を決定できるようにするシンタックス要素が含まれている。サブピクチャはフレーム内で矩形領域を形成するので、パラメータセットNALユニットから、サブピクチャに属するスライスのセット、タイルの部分、またはタイルを決定することが可能である。APSとしてのPPSは、送信される同一のPPSの量を制限するためのIDメカニズムを有する。
【0093】
PPSとピクチャヘッダとの間の主な違いは、PPSが送信されることであり、PPSは一般に、ピクチャ毎に体系的に送信されるPHと比較して、ピクチャのグループについて送信される。したがって、PHと比較されるPPSは、いくつかのピクチャに対して一定であり得るパラメータを含む。
【0094】
ビットストリームはまた、補足拡張情報(Supplemental Enhancement Information)(SEI)NALユニット(
図6には示されていない)を含むことができる。ビットストリーム内でこれらのパラメータセットが発生する周期性は可変である。ビットストリーム全体に対して定義されたVPSは、ビットストリーム内で1回のみ発生する可能性がある。反対に、スライスに対して定義されるAPSは、各ピクチャ内の各スライスに対して1回発生し得る。実際には、異なるスライスが同じAPSに依拠することができ、したがって、一般に、各ピクチャ内のスライスよりも少ないAPSが存在する。特に、APSは、ピクチャヘッダにおいて定義される。しかし、ALF APSは、スライスヘッダにおいて精緻化することができる。
【0095】
アクセスユニットデリミタ(AUD)NALユニット607は、2つのアクセスユニットを分離する。アクセスユニットは、同じ復号タイムスタンプを有する1つ以上の符号化ピクチャを備えることができるNALユニットのセットである。このオプションのNALユニットは、現在のVVC仕様書の中でただ1つのシンタックス要素、pic_type、このシンタックス要素を含んでいる。AU内の符号化ピクチャのすべてのスライスのslice_type値を示す。pic_typeが0に等しく設定される場合、AUはイントラスライスのみを含む。1に等しい場合、それはPおよびIスライスを含む。2に等しい場合、それはB、Pまたはイントラスライスを含む。
【0096】
このNALユニットは、1つのみのシンタックス要素pic-typeを含んでいる。
表1 シンタックスAUD
【0097】
【0098】
JVET-P2001-vEでは、pic_typeは次のように定義されている。
【0099】
”pic_typeは、AUデリミタNALユニットを含むAU内の符号化ピクチャの全てのスライスに対するslice_type値がpic_typeの所与の値に対して表2にリストされたセットのメンバであることを示す。pic_typeの値は、この仕様書のこのバージョンに準拠するビットストリームにおいて0、1又は2に等しい。pic_typeの他の値は、ITU-T|ISO/IECによる将来の使用のために予約される。この仕様書のこのバージョンに準拠するデコーダがpic_typeの予約された値を無視する。”
表2 pic_typeの解釈
【0100】
【0101】
PH NALユニット608は、1つの符号化ピクチャのスライスのセットに共通のパラメータをグループ化するピクチャヘッダNALユニットである。ピクチャは、AFLパラメータ、リシェーパモデル、およびピクチャのスライスによって使用されるスケーリングマトリクスを示すために、1つ以上のAPSを参照することがある。
【0102】
VCL NALユニット606の各々はスライスを含む。スライスは、ピクチャ全体またはサブピクチャ、単一のタイル、または複数のタイル、またはタイルの一部に対応することができる。例えば、
図3のスライスは、幾つかのタイル620を含む。スライスは、スライスヘッダ610と、符号化ブロック640として符号化された符号化画素データを含む生バイトシーケンスペイロードRBSP611とから構成される。
【0103】
VVCの現在のバージョンで提案されているようなPPSのシンタックスは、ルマサンプル内のピクチャのサイズと、タイルおよびスライス内の各ピクチャの分割と、を指定するシンタックス要素を含む。
【0104】
PPSには、フレーム内のスライスの位置を決定できるようにするシンタックス要素が含まれている。サブピクチャはフレーム内で矩形領域を形成するので、パラメータセットNALユニットから、サブピクチャに属するスライスのセット、タイルの部分、またはタイルを決定することが可能である。
【0105】
NALユニットスライス
NALユニットスライスレイヤは表3に示すように、スライスヘッダとスライスデータとを含む。
【0106】
表3 スライスレイヤシンタックス
【0107】
【0108】
APS
適応パラメータセット(APS)NALユニット605は、シンタックス要素を示す表4において定義される。
【0109】
表4に示すように、aps_params_typeシンタックス要素で与えられるAPSには3つの可能なタイプがある。
・ ALF_AP: ALFパラメータの場合
・ LMCSパラメータのLMCS_APS
・ スケーリングリスト相対パラメータのSCALING_APS
表4 適応パラメータセットシンタックス
【0110】
【0111】
これらの3つのタイプのAPSパラメータについて、以下で順に説明する。
【0112】
ALF APS
ALFパラメータは、適応ループフィルタデータシンタックス要素(表5)に記載されている。先ず、ALFフィルタがルマおよび/またはクロマのために送信されるかどうかを指定するために、2つのフラグが使用される。ルマフィルタフラグが有効な場合、クリップ値が通知されているかどうかを知るために別のフラグが復号される(alf_luma_clip_flag)。次に、通知されるフィルタの数は、alf_luma_num_filters_signalled_minus1シンタックス要素を使用して復号される。必要に応じて、ALF係数デルタ”alf_luma_coeff_delta_idx”を表すシンタックス要素が、有効なフィルタごとに復号される。そして、各フィルタの係数毎に絶対値と符号を復号する。
【0113】
alf_luma_clip_flagが有効な場合、有効な各フィルタの各係数のクリップインデックスが復号される。
【0114】
同様に、ALFクロマ係数は、必要に応じて復号される。
【0115】
表5 適応ループフィルタデータシンタックス
【0116】
【0117】
【0118】
ルママッピングとクロマスケーリングの両方のLMCSシンタックス要素
以下の表6に、aps_params_typeパラメータが1(LMCS_APS)に設定されている場合に、適応パラメータセット(APS)シンタックス構造でコーディングされるすべてのLMCSシンタックス要素を示す。4つまでのLMCS APSは、符号化されたビデオシーケンスにおいて使用されることができるが、単一のLMCS APSのみが、所与のピクチャに対して使用されることができる。
【0119】
これらのパラメータは、ルマのための順方向および逆方向マッピング関数、ならびにクロマのためのスケーリング関数、を構築するために使用される。
【0120】
表6 クロマスケーリングデータシンタックスを使用したルママッピング
【0121】
【0122】
スケーリングリスト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)。
【0123】
表7 スケーリングリストデータシンタックス
【0124】
【0125】
ピクチャヘッダ
ピクチャヘッダは、各ピクチャの先頭で送信される。ピクチャヘッダテーブルシンタックスには現在、82のシンタックス要素と、約60のテスト条件またはループが含まれている。これは、標準の以前の草案における以前のヘッダと比較して非常に大きい。これらすべてのパラメータの完全な説明は、JVET_P2001-VEにある。表8は、現在のピクチャヘッダ復号シンタックスにおけるこれらのパラメータを示している。この簡略化されたテーブルバージョンでは、読みやすくするためにいくつかのシンタックス要素がグループ化されている。
【0126】
復号可能な関連するシンタックス要素は以下に関連する。
・ このピクチャ、参照フレーム、またはそわないの使用
・ 出力フレーム
・ 必要に応じてサブピクチャの使用
・ 必要に応じて参照ピクチャリスト
・ 必要に応じて色平面
・ オーバライドフラグが有効な場合の分割更新
・ 必要に応じてデルタQPパラメータ
・ 必要に応じて動き情報パラメータ
・ 必要に応じてALFパラメータ
・ 必要に応じてSAOパラメータ
・ 必要に応じて量子化パラメータ
・ 必要に応じてLMCSパラメータ
・ 必要に応じてスケーリングリストパラメータ
・ 必要に応じてピクチャヘッダ拡張
固定長の最初の3つのフラグは、ビットストリーム内のピクチャ特性に関連する情報を与えるnon_reference_picture_flag、gdr_pic_flag、no_output_of_prior_pics_flagである。
【0127】
次に、gdr_pic_flagが有効な場合、recovery_poc_cntが復号される。
【0128】
PPSパラメータ”PS_parameters()”は、PPS IDと、必要に応じていくつかのその他の情報を設定する。それは3つのシンタックス要素を含む。
・ ph_pic_parameter_set_id
・ ph_poc_msb_present_flag
・ poc_msb_val
サブピクチャパラメータ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
次に、シーケンスが別々のカラープレーンを含む場合は、カラープレーンid”colour_plane_id”が復号され、存在する場合は、その後にpic_output_flagが続く。
【0129】
次に、参照ピクチャリストのパラメータが復号され、”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
必要に応じて、他の8つのシンタックス要素を含む参照ピクチャリスト構造”ref_pic_list_struct”に関連するシンタックス要素の別のグループも復号できる。
【0130】
分割パラメータ”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
これらの分割パラメータの後、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
pic_joint_cbcr_sign_flagは、必要に応じて復号され、その後に3つのSAOシンタックス要素”SAO_parameters()”のセットが続く。
・ pic_sao_enabled_present_flag
・ pic_sao_luma_enabled_flag
・ pic_sao_chroma_enabled_flag
次に、ALFがSPSレベルで有効になっている場合、ALF APS idシンタックス要素のセットが復号される。
【0131】
まず、pic_alf_enabled_present_flagを復号して、pic_alf_enabled_flagを復号すべきかどうかを決定する。pic_alf_enabled_flagを有効にすると、現在のピクチャのすべてのスライスに対してALFが有効になる。
【0132】
ALFが有効な場合、ルマのALF APS idの量はpic_num_alf_aps_ids_lumaシンタックス要素を使用して復号される。APS idごとに、ルマのAPS id値は”pic_alf_aps_id_luma”に復号される。
【0133】
クロマの場合、シンタックス要素pic_alf_chroma_idcが復号されて、クロマ、Crのみ、またはCbのみに対してALFが有効かどうかが決定される。有効になっている場合、クロマのAPS Idの値はpic_alf_aps_id_chromaシンタックス要素を使用して復号される。
【0134】
ALF APS idパラメータのセットの後、ピクチャヘッダの量子化パラメータは、必要に応じて復号される。
・ pic_dep_quant_enabled_flag
・ sign_data_hiding_enabled_flag
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
LMCS APS IDシンタックス要素のセットは、SPSにおいてLMCSが有効にされた場合に、その後に復号される。まず、pic_lmcs_enabled_flagが復号され、現在のピクチャに対してLMCSが有効かどうかが判断される。LMCSが有効な場合、Id値は復号されたpic_lmcs_aps_idである。クロマの場合、pic_chroma_residual_scale_flagのみが復号され、クロマについて方法が有効または無効になる。
【0135】
スケーリングリストAPS IDのセットは、スケーリングリストがSPSレベルで有効にされる場合に復号される。pic_scaling_list_present_flagは、現在のピクチャに対してスケーリングマトリクスが有効かどうかを決定するために復号される。次に、APS IDの値pic_scaling_list_aps_idが復号される。スケーリングリストがシーケンスレベル、すなわちSPSレベルで有効になっていて(sps_scaling_list_enabled_flagが1に等しい)、ピクチャヘッダレベルで有効になっていた(pic_scaling_list_present_flagが1に等しい)場合、スライスヘッダのビットストリームから、現在のスライスに対してスケーリングリストが有効かどうかを示すフラグslice_scaling_list_present_flagが抽出される。
【0136】
最後に、ピクチャヘッダ拡張シンタックス要素は、必要に応じて復号される。
【0137】
表8 部分ピクチャヘッダ
【0138】
【0139】
【0140】
スライスヘッダ
スライスヘッダは、各スライスの先頭で送信される。スライスヘッダテーブルシンタックスには、現在57個のシンタックス要素が含まれている。これは、標準の以前のバージョンにおける以前のスライスヘッダと比較して非常に大きい。すべてのスライスヘッダパラメータの完全な説明は、JVET_P2001-VEにある。表9は、現在のピクチャヘッダ復号シンタックスにおけるこれらのパラメータを示している。この簡略化されたテーブルバージョンでは、テーブルを読みやすくするためにいくつかのシンタックス要素がグループ化されている。
【0141】
表9 部分スライスヘッダ
【0142】
【0143】
【0144】
まず、slice_pic_order_cnt_lsbが復号され、現在のスライスのPOCが決定される。
【0145】
次に、必要に応じてslice_subpic_idが復号され、現在のスライスのサブピクチャidが決定される。次に、slice_addressが復号され、現在のスライスのアドレスが決定される。次に、num_tiles_in_slice_minus1は、現在のピクチャのタイル数が1より大きい場合に復号される。
【0146】
その後、slice_typeが復号される。
【0147】
参照ピクチャリストパラメータのセットが復号される。これらは、pictureヘッダーのパラメータと同様である。
【0148】
スライスタイプがイントラでない場合、および必要に応じてcabac_init_flagおよび/またはcollocated_from_l0_flagとcollocated_ref_idxが復号される。これらのデータは、CABACコーディングと、並置された動きベクトルと、に関連する。
【0149】
同様に、スライスタイプがイントラでない場合、加重予測pred_weight_table()のパラメータが復号される。
【0150】
slice_quantization_parameters()では、必要に応じて、slice_qp_deltaは、QPオフセットの他のパラメータより前で体系的に復号され、
slice_cb_qp_offset、slice_cr_qp_offset、slice_joint_cbcr_qp_offset、
cu_chroma_qp_offset_enabled_flag
【0151】
SAOの有効なフラグは、ルマとクロマの両方で復号される:ピクチャヘッダで通知された場合、slice_sao_luma_flag、slice_sao_chroma_flag。
【0152】
次に、必要に応じてAPS ALF IDが復号され、ピクチャヘッダと同様のデータ制限が適用される。
【0153】
その後、デブロッキングフィルタパラメータは他のデータ(slice_deblocking_filter_parameters())の前に復号される。
【0154】
ピクチャヘッダと同様に、ALF APS IDは、スライスヘッダの最後に設定される。
【0155】
ピクチャヘッダのAPS
表8に示すように、3つのツールALF、LMCSおよびスケーリングリストのAPS ID情報は、ピクチャヘッダシンタックス要素の最後にある。
【0156】
ストリーミングアプリケーション
いくつかのストリーミングアプリケーションは、ビットストリームの特定の部分のみを抽出する。これらの抽出は、空間的(サブピクチャとして)であっても、時間的(ビデオシーケンスのサブパート)であってもよい。次に、これらの抽出された部分を他のビットストリームとマージすることができる。いくつかの他のものは、いくつかのフレームのみを抽出することによってフレームレートを低減する。一般に、これらのストリーミングアプリケーションの主な目的は、許容帯域幅の最大値を使用して、エンドユーザに最大品質を提供することである。
【0157】
VVCでは、APS ID番号付けは、フレームの新しいAPS id番号を時間階層の上位レベルのフレームに使用できないように、フレームレート低減のために制限されている。しかしながら、ビットストリームの一部を抽出するストリーミングアプリケーションでは、フレーム(IRAPとして)がAPS IDの番号付けをリセットしないので、どのAPSがビットストリームのサブ部分に対して保持されるべきかを決定するために、APS IDを追跡する必要がある。
【0158】
LMCS(クロマスケーリングを伴うルママッピング)
クロマスケーリングを伴うルママッピング(LMCS)技法は、VVCのようなビデオデコーダにおいてループフィルタを適用する前にブロックに適用されるサンプル値変換方法である。
【0159】
LMCSは、2つのサブツールに分割することができる。第1のサブツールは、ルマブロックに適用され、第2のサブツールは以下に説明するように、クロマブロックに適用される。
【0160】
1) 第1のサブツールは、適応区分線形モデルに基づくルマコンポーネントのインループマッピングである。ルマコンポーネントのインループマッピングは、圧縮効率を改善するためにダイナミックレンジにわたってコードワードを再分配することによって、入力信号のダイナミックレンジを調整する。ルママッピングは、「マッピングされた領域」へのフォワードマッピング機能と、「入力領域」に戻る対応するインバースマッピング機能と、を利用する。
【0161】
2) 第2のサブツールは、ルマ依存のクロマ残差スケーリングが適用されるクロマコンポーネントに関連している。クロマ残差スケーリングは、ルマ信号とその対応するクロマ信号との間の相互作用を補償するように設計されている。クロマ残差スケーリングは、現在のブロックのトップおよび/または左の再構成された隣接ルマサンプルの平均値に依存する。
【0162】
VVCのようなビデオコーダにおける他のほとんどのツールと同様に、LMCSは、SPSフラグを使用してシーケンスレベルで有効化/無効化され得る。クロマ残差スケーリングが有効にされるか否かもまた、ピクチャレベルで通知される。ルママッピングがピクチャレベルで有効にされる場合、追加のフラグが通知されて、ルマ依存クロマ残差スケーリングが有効にされるか否かを示す。ルママッピングがSPSレベルで使用されないとき、ルマ依存クロマ残差スケーリングは、SPSを参照するすべてのピクチャに対して完全に無効にされる。加えて、ルマ依存クロマ残差スケーリングは、サイズが4以下であるクロマブロックに対して常に無効にされる。LMCSがSPSレベルで有効になると、現在のピクチャに対してLMCSが有効かどうかを知るために、ピクチャヘッダでフラグpic_lmcs_enabled_flagが復号される。LMCSがピクチャレベルで有効になると(pic_lmcs_enabled_flagが1に等しい)、スライスごとに別のフラグslice_lmcs_enabled_flagが復号される。このフラグは、ピクチャヘッダで復号されたパラメータを持つ現在のスライスのLMCSを有効にするかどうかを示す。スライスヘッダには、LMCSに関するAPS ID情報は存在しない。その結果、LMCSの有効化または無効化に関する情報のみが存在する。
【0163】
図7は、ルママッピングサブツールについて上述したようなLMCSの原理を示す。
図7のハッチングされたブロックは、ルマ信号の順方向および逆方向のマッピングを含む新しいLMCS機能ブロックである。LMCSを使用する場合、いくつかの復号動作が「マッピングされた領域」で適用されることに留意することが重要である。これらの動作は、この
図7の破線のブロックで表される。通常、これらは、ルマ残差を有するルマ予測を追加することで構成される逆量子化、逆変換、ルマイントラ予測、および再構成ステップに対応している。逆に、
図7の実線ブロックは、復号処理がオリジナルの(すなわち、マッピングされていない)領域で適用される場所を示し、これは、デブロッキング、ALF、およびSAOなどのループフィルタリング、動き補償予測、および参照ピクチャ(DPB)としての復号ピクチャの格納を含む。
【0164】
図8は、
図7と同様のダイアグラムを示しているが、今回はLMCSツールのクロマスケーリングサブツール用である。
図8のハッチングされたブロックは、ルマ依存クロマスケーリングプロセスを含む新しいLMCS機能ブロックである。しかしながら、クロマでは、ルマの場合と比較して、いくつかの重要な差異がある。ここでは破線のブロックによって表される逆量子化および逆変換のみが、クロマサンプルのための「マッピングされた領域」において実行される。イントラクロマ予測、動き補償、ループフィルタリングの他の全てのステップは、オリジナルの領域で実行される。
図8に示されるように、スケーリングプロセスのみが存在し、ルママッピングに関する順および逆の処理は存在しない。
【0165】
区分線形モデルを用いたルママッピング
【0166】
ルママッピングサブツールは、区分的線形モデルを使用している。それは、区分線形モデルは入力信号ダイナミックレンジを16の等しいサブ範囲に分離し、各サブ範囲について、その線形マッピングパラメータは、その範囲に割り当てられたコードワードの個数を用いて表現される、ことを意味している。
【0167】
ルママッピングのセマンティクス
シンタックス要素lmcs_min_bin_idxは、クロマスケーリングを伴うルママッピング(LMCS)構築プロセスにて用いられる最小ビンインデックスを指定する。lmcs_min_bin_idxの値は、0~15の範囲である必要がある。
【0168】
シンタックス要素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以上とする。
【0169】
シンタックス要素lmcs_delta_cw_prec_minus1+1は、シンタックスlmcs_delta_abs_cw[i]の表現に使用されるビット数を指定する。
【0170】
シンタックス要素lmcs_delta_abs_cw[i]は、i番目のビンの絶対デルタコードワード値を指定する。
【0171】
シンタックス要素lmcs_delta_sign_cw_flag[i]は、変数lmcsDeltaCW[i]の符号を指定する。lmcs_delta_sign_cw_flag[i]が存在しない場合、0に等しいと推測される。
【0172】
ルママッピングマッピングのためのLMCS中間変数演算
順方向および逆方向ルママッピングプロセスを適用するために、いくつかの中間変数およびデータ配列が必要とされる。
【0173】
まず、変数OrgCWは、以下のように導出される。
【0174】
OrgCW=(1<<BitDepth)/16
次に、i=lmcs_min_bin_idx…LmcsMaxBinIdxである変数lmcsDeltaCW[i]は、以下のように計算される。
【0175】
lmcsDeltaCW[i]=(1-2*lmcs_delta_sign_cw_flag[i])*lmcs_delta_abs_cw[i]
新しい変数lmcsCW[i]は、次のように導出される。
- i=0…lmcs_min_bin_idx-1について、lmcsCW[i]は0に等しく設定される。
- i=lmcs_min_bin_idx…LmcsMaxBinIdxについて、以下が適用される。
【0176】
lmcsCW[i]=OrgCW+lmcsDeltaCW[i]
lmcsCW[i]の値は、(OrgCW>>3)から(OrgCW<<<3-1)の範囲内である。
- i=LmcsMaxBinIdx+1…15について、lmcsCW[i]は0に等しく設定される。
【0177】
i=0…16である変数InputPivot[i]は、次のように導出される。
【0178】
InputPivot[i]=i*OrgCW
i=0…16である変数LmcsPivot[i]、i=0…15である変数ScaleCoeff[i]およびInvScaleCoeff[i]は、以下のように計算される。
【0179】
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]
順方向ルママッピング
図7に示すように、LMCSがルマに適用される場合、predMapSamples[i][j]と呼ばれるルマリマップサンプルは、予測サンプルpredSamples[i][j]から得られる。
【0180】
predMapSamples[i][j]は、以下のように計算される。
【0181】
まず、位置(i、j)において、予測サンプルpredSamples[i][j]からインデックスidxYを計算する。
idxY=predSamples[i][j]>>Log2(OrgCW)
次に、セクション0の中間変数idxY、LmcsPivot[idxY]およびInputPivot[idxY]を使用して、predMapSamples[i][j]を以下のように導出する。
【0182】
predMapSamples[i][j]=LmcsPivot[idxY]
+(ScaleCoeff[idxY]*(predSamples[i][j]-InputPivot[idxY])+(1<<10))>>11
ルマ再構成サンプル
再構成プロセスは、予測ルマサンプルpredMapSample[i][j]および残差ルマサンプルresiSamples[i][j]から得られる。
【0183】
再構成されたルマピクチャサンプルrecSamples[i][j]は、以下のように、predMapSample[i][j]をresiSamples[i][j]に加算することによって単純に得られる。
【0184】
recSamples[i][j]=Clip1(predMapSamples[i][j]+resiSamples[i][j]])
上記の関係において、Clip1関数は、再構成されたサンプルが0と1<<BitDepth-1の間であることを確実にするためのクリッピング関数である。
【0185】
逆ルママッピング
図7による逆ルママッピングを適用する場合、以下の動作が、処理される現在のブロックの各サンプルrecSample[i][j]に適用される。
【0186】
まず、位置(i、j)において、再構成サンプルrecSamples[i][j]からインデックスidxYを算出する。
idxY=recSamples[i][j]>>Log2(OrgCW)
逆マッピングされたルマサンプルinvLumaSample[i][j]を、以下に基づいて以下のように導出する。
【0187】
invLumaSample[i][j]=InputPivot[idxYInv]+(InvScaleCoeff[idxYInv]*
(recSample[i][j]-LmcsPivot[idxYInv])+(1<<10))>>11
次に、クリッピング動作を行って、最終サンプルを得る。
【0188】
finalSample[i][j]=Clip1(invLumaSample[i][j])
クロマスケーリング
クロマスケーリングのためのLMCSセマンティクス
表6のシンタックス要素lmcs_delta_abs_crsは、変数lmcsDeltaCrsの絶対コードワード値を指定する。lmcs_delta_abs_crsの値は、0及び7の範囲内である。存在しない場合、lmcs_delta_abs_crsは0に等しいと推測される。
【0189】
シンタックス要素lmcs_delta_sign_crs_flagは、変数lmcsDeltaCrsの符号を指定する。存在しない場合、lmcs_delta_sign_crs_flagは0に等しいと推測される。
【0190】
クロマスケーリングのためのLMCS中間変数演算
クロマスケーリングプロセスを適用するために、いくつかの中間変数が必要とされる。
【0191】
変数lmcsDeltaCrsは、以下のように導出される。
【0192】
lmcsDeltaCrs=(1-2*lmcs_delta_sign_crs_flag)*lmcs_delta_abs_crs
i=0…15である変数ChromaScaleCoeff[i]は、次のように導出される。
【0193】
if(lmcsCW[i]==0)
ChromaScaleCoeff[i]=(1<<11)
else
ChromaScaleCoeff[i]=OrgCW*(1<<11)/(lmcsCW[i]+lmcsDeltaCrs)
クロマスケーリングプロセス
第1のステップにおいて、変数invAvgLumaは、現在の対応するクロマブロックの周りの再構成されたルマサンプルの平均ルマ値を計算するために導出される。平均ルマは、対応するクロマブロックを囲む左および上のルマブロックから計算される。サンプルが使用できない場合、変数invAvgLumaは次のように設定される。
【0194】
invAvgLuma=1<<(BitDepth-1)
セクション0の中間配列LmcsPivot[]に基づいて、変数idxYInvは次のように導出される。
【0195】
For (idxYInv=lmcs_min_bin_idx;idxYInv<=LmcsMaxBinIdx;idxYInv++){
if(invAvgLuma<LmcsPivot[idxYInv+1]) break
}
IdxYInv=Min(idxYInv,15)
変数varScaleは、以下のように導出される。
【0196】
varScale=ChromaScaleCoeff[idxYInv]
変換が現在のクロマブロックに適用されるとき、再構成されたクロマピクチャサンプル配列recSamplesは、以下のように導出される。
【0197】
recSamples[i][j]=Clip1(predSamples[i][j]+
Sign(resiSamples[i][j])*((Abs(resiSamples[i][j])*varScale+(1<<10))>>11))
現在のブロックに対して変換が適用されていない場合、以下が適用される。
【0198】
recSamples[i][j]=Clip1(predSamples[i][j])
エンコーダの考察
LMCSエンコーダの基本原理はまず、それらのダイナミックレンジセグメントが平均分散よりも低いコードワードを有する範囲に、より多くのコードワードを割り当てることである。この代替の定式化では、LMCSの主な目標が、平均分散よりも高いコードワードを有するそれらのダイナミックレンジセグメントに、より少ないコードワードを割り当てることである。このようにして、ピクチャの滑らかな領域は、平均よりも多くのコードワードで符号化され、逆もまた同様である。
【0199】
APSに格納されるLMCSツールの全てのパラメータ(表6参照)は、エンコーダ側で決定される。LMCSエンコーダアルゴリズムは、ローカルルマ分散の評価に基づいており、前述の基本原理に従ってLMCSパラメータの判定を最適化している。次に、最適化が行われて、所与のブロックの最終的な再構成されたサンプルに対する最良のPSNR指標が得られる。
【0200】
後述するように、スライス/ピクチャヘッダの先頭にAPS ID情報を設定することにより、構文解析の複雑さを低減することができる。これにより、APS IDに関連するシンタックス要素を、復号ツールに関連するシンタックス要素の前に構文解析することができる。
【0201】
ピクチャヘッダ
以下の説明は、ピクチャヘッダのためのシンタックス要素の次の表の詳細または代替を提供する。表10は、従来技術の構文解析問題を解決するために、LMCS、ALFおよびスケーリングリストのAPS ID情報がピクチャヘッダの先頭に近づくように設定されているピクチャヘッダの修正例を示す(上記の表8を参照)。この変化は、ストライクスルーおよび下線付きテキストによって示される。このシンタックス要素のテーブルを用いて、APS IDの追跡は、より低い複雑性を有する。
【0202】
表10 APS ID情報の修正を示すパーシャルピクチャヘッダ
【0203】
【0204】
【0205】
【0206】
APS ID関連シンタックス要素は、以下のうちの1つ以上を含むことができる。
・ APS ID LMCS
・ APS IDスケーリングリスト
・ LNSTメソッドのスケーリングマトリクスを有効にするための情報を含むAPSスケーリングリスト
・ APS ID ALFリスト
・ クリッピング値の通知に関する情報を含むAPS ALFリスト
1つの例では、APS ID関連のシンタックス要素がピクチャヘッダの先頭、または先頭付近に設定される。
【0207】
この特徴の利点は、有用でないAPS NALユニットを除去するためにAPS ID使用を追跡する必要があるストリーミングアプリケーションの複雑さを低減することである。
【0208】
先に述べたように、いくつかのシンタックス要素には、APS ID関連のシンタックス要素の前に来るものもあるので、用語「始まり」は必ずしも「最初」を意味するわけではない。これらは、以下で順番に説明される。
【0209】
APS ID関連のシンタックス要素のセットは、以下のうち1つ以上の後に設定される。
・ 構文解析ツールのパラメータなしでビデオシーケンスの一部をカットまたは分割または抽出するために、ビットストリームを構文解析する必要があるストリーミングアプリケーションに役立つシンタックス要素
・ 現在のピクチャが参照ピクチャとして決して使用されないことを示すシンタックス要素(例えばnon_reference_picture_flag)で、これは、1に等しいとき、ピクチャが参照ピクチャとして決して使用されないことを示す。この情報は多くのストリーミングアプリケーションに役立つため、APS ID LMCSシンタックス要素のセットの前にこのフラグを設定することを勧める。
・ 現在のピクチャが漸進的復号リフレッシュピクチャであることを示すシンタックス要素(例えばgdr_pic_flagシンタックス)で、これは、1に等しい場合、現在のピクチャがGDRピクチャであることを示す。このタイプのピクチャは、ビットストリームが前のピクチャから独立していることを意味する。これは、多くのストリーミングアプリケーションにとって重要な情報である。同じ理由で、APS ID LMCSシンタックス要素セットは、gdr_pic_flagが有効になっている場合に復号されるrecovery_poc_cntシンタックス要素の後にある必要がある。
・ 復号ピクチャバッファ内の以前に復号されたピクチャの変更を示すシンタックス要素(例えばno_output_of_prior_pics_flag)で、これは、復号ピクチャバッファ(DBP)に影響する。これは、多くのアプリケーションにとって重要な情報である。
・ ph_pic_parameter_set_idおよび/またはPPS情報に関するその他のシンタックス要素。実際、PPS idは、多くのアプリケーションに必要とされる。
・ サブピクチャ情報に関連するシンタックス要素。実際、これらの情報は、一部のストリーミングアプリケーションにとってビットストリーム抽出のために重要である。
・ ピクチャヘッダで送信されるピクチャタイプ情報。実際、ピクチャタイプは、多くのアプリケーションにとって重要な情報である。
【0210】
特に有利な例では、APS ID関連シンタックス要素のセットがピクチャヘッダの先頭にあるシンタックス要素の後に設定され、これは、それらの復号のための条件なしに固定長コードワードを有する。固定長コードワードは、シンタックス要素のテーブルの記述子u(N)を持つシンタックス要素に対応し、ここで、Nは整数値である。
【0211】
現在のVVC仕様と比較して、これは、non_reference_picture_flag、gdr_pic_flag、およびno_output_of_prior_pics_flagフラグに対応する。
【0212】
これの利点は、ビット数がピクチャヘッダの先頭で常に同じであり、対応するアプリケーションの有用な情報に直接行くので、これらの最初のコードワードを簡単にバイパスできるストリーミングアプリケーションのためである。そのため、デコーダは、ヘッダ内の常に同じビット位置にあるので、ヘッダからAPS ID関連シンタックス要素を直接構文解析できる。
【0213】
構文解析の複雑さを減らす変形例では、APS ID関連シンタックス要素のセットが別のヘッダーからの1つ以上の値を必要としない、ピクチャヘッダの先頭にあるシンタックス要素の後に設定される。このようなシンタックス要素の構文解析は、構文解析の複雑さを低減するそれらの構文解析のために他の変数を必要としない。
【0214】
ある変形では、APS IDスケーリングリストシンタックス要素セットがピクチャヘッダの先頭に設定される。
【0215】
この変形例の利点は、有用でないAPS NALユニットを除去するためにAPS ID使用を追跡する必要があるストリーミングアプリケーションの複雑さが低減されることである。
【0216】
上記のタイプのAPS ID関連シンタックス要素は個別に、または組み合わせて扱うことができることを理解されたい。特に有利な組み合わせの非網羅的なリストを以下に説明する。
【0217】
APS ID LMCSシンタックス要素セットとAPS IDスケーリングリストシンタックス要素セットは、ピクチャヘッダの先頭またはその近くに設定され、必要に応じて、ストリーミングアプリケーションに役立つ情報の後に設定される。
【0218】
APS ID LMCSシンタックス要素セットとAPS ID ALFシンタックス要素セットは、ピクチャヘッダの先頭に設定され、オプションでストリーミングアプリケーションに役立つ情報の後に設定される。
【0219】
APS ID LMCSシンタックス要素セット、APS IDスケーリングリストシンタックス要素セット、およびAPS ID ALFシンタックス要素セットは、ピクチャヘッダの先頭またはその近くに設定され、オプションでストリーミングアプリケーションに役立つ情報の後に設定される。
【0220】
一実施形態では、APS ID関連シンタックス要素(APS LMCS、APSスケーリングリスト、および/またはAPS ALF)は低レベルツールパラメータの前に設定される。
【0221】
これは、各ピクチャのための異なるAPS IDを追跡する必要があるいくつかのストリーミングアプリケーションのための複雑さの減少をもたらす。実際、低レベルツールに関連する情報は、スライスデータの構文解析および復号のために必要であるが、復号なしにビットストリームを抽出するだけのこのようなアプリケーションには必要ではない。低レベルツールの例は、ブローで提供される。
・ デブロッキングフィルタパラメータのセット;これらのパラメータは、スライスデータ復号にのみ必要とされるデブロッキングフィルタのためのものである。
・ 量子化パラメータのセット;これらのパラメータは、スライスデータの構文解析および復号に必要とされる。
・ SAOパラメータのセット;これらのパラメータは、スライスデータの構文解析と復号に必要である。
・ pic_joint_cbcr_sign_flagフラグ;これらのパラメータは、スライスデータの構文解析と復号に必要である。
・ 動きパラメータのセット;これらのパラメータは、スライスデータの構文解析と復号に必要である。
・ QPオフセットパラメータのセット;これらのパラメータは、スライスデータの構文解析と復号に必要である。
・ 分割パラメータのセット;これらのパラメータは、スライスデータの構文解析と復号に必要である。
・ 参照ピクチャリストパラメータのセット;これらのパラメータは、スライスデータの構文解析と復号に必要である。
・ pic_output_flフラグ;これらのパラメータはスライスデータの復号に必要である。
・ colour_plane_idフラグ;これらのパラメータは、スライスデータの構文解析と復号に必要である。
【0222】
上記のタイプのAPS ID関連シンタックス要素は個別に、または組み合わせて扱うことができることを理解されたい。特に有利な組み合わせの非網羅的なリストを以下に説明する。
【0223】
APS ID LMCSシンタックス要素セットおよびAPS IDスケーリングリストシンタックス要素セットは、低レベルツールシンタックス要素の前に設定される。
【0224】
APS ID LMCSシンタックス要素セットとAPS ID ALFシンタックス要素セットは、低レベルツールシンタックス要素の前に設定される。
【0225】
APS ID LMCSシンタックス要素セット、APS IDスケーリングリストシンタックス要素セット、およびAPS ID ALFシンタックス要素セットは、低レベルツールシンタックス要素の前に設定される。
【0226】
再同期ピクチャ
ビットストリームには、いくつかの再同期フレームまたはスライスがある。これらのフレームを使用することにより、以前の復号情報を考慮せずにビットストリームを読み出すことができる。例えば、クリーンランダムアクセスピクチャ(CRAピクチャ)は、その復号処理において、それ自体以外のピクチャをインター予測のために参照しない。これは、このピクチャのスライスがイントラまたはIBCであることを意味している。VVCでは、CRAピクチャが、各VCL NALユニットがCRA_NUTに等しいnal unit_typeを有するIRAP(Intra Random Access Point)ピクチャである。
【0227】
VVCでは、これらの再同期フレームがIRAPピクチャまたはGDRピクチャとすることができる。
【0228】
しかしながら、IRAPまたはGDRピクチャ、またはいくつかの構成のためのIRAPスライスは、以前に復号されたAPSから生じるAPS IDをそれらのピクチャヘッダ内に有することができる。したがって、実際のランダムアクセスポイント、またはビットストリームが分割されている場合は、APS IDを追跡する必要がある。
【0229】
この問題を改善する1つの方法は、IRAPまたはGDRピクチャが復号されるとき、すべてのAPS IDがリセットされ、および/またはAPSが別の復号されたAPSから取得されることが許可されないことである。APSは、LMCSまたはスケーリングリストまたはALFのためのものとすることができる。したがって、デコーダはピクチャが再同期プロセスに関連するかどうかを判定し、関連する場合、復号は、APS IDをリセットすることを含む。
【0230】
変形例では、ピクチャ内の1つのスライスがIRAPである場合、すべてのAPS IDがリセットされる。
【0231】
APS IDのリセットは、デコーダが以前のすべてのAPSがもはや無効であると見なし、その結果、以前のAPSを参照するAPS ID値がないことを意味します。
【0232】
この再同期プロセスは、APS ID情報をより簡単に構文解析および復号できるため、上記のシンタックス構造と組み合わせると、特に利点がある。これにより、必要に応じて迅速かつ効率的な再同期が可能になる。
【0233】
実施形態
スライスヘッダ内のAPS ID関連情報
以下の説明は、スライスヘッダにおけるシンタックス要素のテーブルの修正に関連する実施形態のものである。この表では、ALFのAPS ID情報が前述の構文解析の問題を解決するためにスライスヘッダの先頭に近い位置に設定されている。表11の変更されたスライスヘッダは、シンタックス要素(上の表9を参照)の現在のスライスヘッダの記述と、取り消し線と下線で示された変更に基づいている。
【0234】
表11 変更を示す部分スライスヘッダ
【0235】
【0236】
【0237】
【0238】
スライスヘッダの先頭にあるAPS ID ALF
表11に示すように、一実施形態では、APS ID ALFシンタックス要素セットがスライスヘッダの先頭またはその付近に設定される。特に、ALF APSは、クリッピング値の通知に関連するシンタックス要素を少なくとも含む。
【0239】
これは、有用でないAPS NALユニットを除去するためにAPS ID使用を追跡する必要があるストリーミングアプリケーションの複雑さを低減する。
【0240】
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シンタックス要素のセットの前にこのフラグを設定することが好ましい。
【0241】
一実施形態では、ALF APSがクリッピング値の通知に関連するシンタックス要素を少なくとも含む場合、APS ID ALFシンタックス要素セットはスライスヘッダ内の低レベルツールパラメータの前に設定される。
【0242】
これは、各ピクチャのための異なるAPS ALF APS IDを追跡する必要があるいくつかのストリーミングアプリケーションのための複雑さの減少をもたらす。実際、低レベルツールに関連する情報はスライスデータの構文解析および復号のために必要であるが、復号なしにビットストリームを抽出するだけのこのようなアプリケーションには必要ではない。このようなシンタックス要素の例を以下に示す。
・ スライスヘッダの参照ピクチャリストパラメータのセット。実際、これらのパラメータは、スライスデータ復号に必要とされる。
・ スライスヘッダ内のCABAC初期化フラグのセット。実際、このフラグはスライスデータ復号専用である。
・ スライスヘッダ内の並置された予測パラメータのセット。実際、これらのパラメータは、スライスデータ復号に必要とされる。
・ スライスヘッダ内の重み付き予測パラメータのセット。実際、これらのパラメータは、スライスデータ復号に必要とされる。
・ スライスヘッダ内の量子化パラメータ更新パラメータのセット。実際、これらのパラメータは、スライスデータ復号に必要とされる。
・ スライスヘッダ内のSAO有効化フラグのセット。実際、これらのパラメータは、スライスデータ復号に必要とされる。
【0243】
上記の特徴は、互いに組み合わせて提供されてもよいことを理解されたい。上述の特定の組み合わせと同様に、そうすることは、特定の実施に適した特定の利点、例えば、柔軟性の増加、または「最悪の場合」の例の指定を提供することができる。他の例では、複雑性要件が(例えば)レート低減よりも高い優先度を有することができ、そのような特徴は個別に実装することができる。
【0244】
表11に示すように、実施形態によれば、スライスレベルでのLMCSの有効または無効に関連する情報は、スライスヘッダの先頭に、またはその近くに設定される。
【0245】
これは、有用でないAPS NALユニットを除去するためにAPS ID使用を追跡する必要があるストリーミングアプリケーションの複雑さを低減する。スライスヘッダ内にLMCSに関連するAPS IDは存在しないが、それが無効にされたとき(すなわち、フラグを有するスライスレベルで)、これは現在のピクチャのために使用されるAPS IDに影響を及ぼす。例えば、サブピクチャ抽出の場合、APS IDはピクチャヘッダ内で送信されるべきであるが、抽出されたサブピクチャはスライスヘッダ内でLMCSが無効にされ得る1つのスライスのみを含む。このAPSが別のフレームで使用されない場合、抽出アプリケーションは、抽出されたサブピクチャのために必要とされないので、関連するAPS IDを有するAPS LMCSを除去しなければならない。
【0246】
スライスレベルでのLMCSの有効化または無効化に関連するフラグは、ALFに関連する情報に密接に設定され、スライスヘッダの構文テーブルでこれらのALFシンタックス要素の後に設定することが好ましい。たとえば、表11に示すように、LMCSフラグは、ALFシンタックス要素の直後に続く場合がある(有効な場合)。したがって、ストリーミングアプリケーションに有用なシンタックス要素の後に、LMCSのシンタックスを設定(構文解析)することができ、これはすべてのツールパラメータを構文解析する必要なく、ビデオシーケンスの一部を抽出または分割またはカットまたは構文解析する必要がある。このようなシンタックス要素の例については、前述した。
【0247】
表11に示すように、本発明の一実施形態では、スライスレベルでのスケーリングリストの有効化または無効化に関する情報がスライスヘッダの先頭またはその付近に設定される。
【0248】
LMCSの場合と同様に、これは、有用でないAPS NALユニットを除去するためにAPS ID使用を追跡する必要があるストリーミングアプリケーションの複雑さを低減する。スライスヘッダ内にスケーリングリストに関連するAPS IDは存在しないが、(すなわち、スライスレベルで設定されたフラグなどの情報によって)無効にされた場合、これは現在のピクチャに使用されるAPS IDに影響を及ぼす。例えば、サブピクチャ抽出の場合、APS IDはピクチャヘッダにおいて送信されるべきであるが、抽出されたサブピクチャは、スライスヘッダにおいてスケーリングリストが無効にされ得る1つのスライスのみを含む。このAPSが別のフレームで決して使用されない場合、抽出アプリケーションは、抽出されたサブピクチャのために必要とされないので、関連するAPS IDを有するAPSスケーリングリストを削除すべきである。
【0249】
スライスレベルでのスケーリングリストの有効化または無効化に関連するフラグは、ALFに関連する情報に密接に設定され、好ましくはスライスヘッダのシンタックステーブルのこれらのALFシンタックス要素の後、さらに好ましくはLMCSに関連する情報(例えばスライスレベルでのLMCSを有効化または無効化する情報)の後に設定される。従って、スケーリングリストの有効化または無効化に関連するフラグは、ストリーミングアプリケーションに有用なシンタックス要素の後に設定されてもよく、これはすべてのツールパラメータを構文解析する必要なく、ビデオシーケンスの一部を抽出または分割またはカットまたは構文解析する必要がある。このようなシンタックス要素の例については、前述した。したがって、LMCSおよび/またはスケーリングリストに関連するシンタックス要素の設定/構文解析は、APS ID ALFシンタックス要素に加えて、すでに前述した低レベルツールパラメータの前に実行されてもよい。
【0250】
一実施形態では、ストリーミングアプリケーションがスライスレベルでLMCSフラグ(slice_lmcs_enabled_flag)を見ず、正しいAPSを選択する。以前の実施形態と比較して、これは、スライスヘッダがLMCSのために構文解析される必要がないので、複雑さを低減する。しかしながら、LMCSのためのいくつかのAPSは、たとえそれらが復号プロセスのために使用されなくても送信されるので、ビットレートを潜在的に増加させる。ただし、これはストリーミングアプリケーションに依存する。たとえば、ファイル形式へのビットストリームカプセル化では、ピクチャヘッダで通知されたAPS LMCSがどのスライスでも使用されない可能性はない。言い換えると、ビットストリームカプセル化では、APS LMCSが少なくとも1つのスライスで使用されることを確実にすることができる。
【0251】
実施形態では、追加的または代替的に、ストリーミングアプリケーションは、スライスレベルでスケーリングリスト(slice_scaling_list_present_flag)フラグを見ず、スケーリングリストに関連する正しいAPSを選択する。以前の実施形態と比較して、スライスヘッダは、スケーリングリストのために構文解析される必要がないので、複雑さが低減される。しかし、たとえ復号処理に使用されなくても、スケーリングリストのための何らかのAPSが送信されるので、ビットレートが増加することがある。ただし、ストリーミングアプリケーションに依存する。例えば、ファイルフォーマットへのビットストリームカプセル化では、ピクチャヘッダで通知されるAPSスケーリングリストがどのスライスでも決して使用されない可能性はない。言い換えると、ビットストリームカプセル化では、APSスケーリングリストが少なくとも1つのスライスで使用されることを確実にすることができる。
【0252】
上記の実施形態では、本方法を適用することができるツールとして、LMCSおよびスケーリングリストを参照する。しかしながら、本発明は、単にLMCS及びスケーリングリストに限定されるものではない。本発明はピクチャレベルで有効にされ、APSまたは他のパラメータが得られるが、その後スライスレベルで無効にされる任意の復号ツールまたはパラメータに適用可能である。
【0253】
発明の実装
図9は、本発明の実施形態による、エンコーダ150またはデコーダ100のうちの少なくとも1つおよび通信ネットワーク199を備えるシステム191 195を示す。一実施形態によれば、システム195は例えば、デコーダ100を含むユーザ端末またはデコーダ100と通信可能なユーザ端末のユーザインターフェースを介してデコーダ100にアクセスできるユーザにコンテンツ(例えば、ビデオ/オーディオコンテンツを表示/出力またはストリーミングするためのビデオおよびオーディオコンテンツ)を処理し提供するためのものである。このようなユーザ端末は、コンピュータ、携帯電話、タブレット、または(提供/ストリーミングされた)コンテンツをユーザに提供/表示することができる任意の他のタイプのデバイスであってもよい。システム195は通信ネットワーク200を介して(連続ストリームまたは信号の形で-例えば、以前のビデオ/オーディオが表示/出力されている間)ビットストリーム101を取得/受信する。一実施形態によれば、システム191はコンテンツを処理し、処理されたコンテンツ、例えば、後で表示/出力/ストリーミングするために処理されたビデオおよびオーディオコンテンツを格納するためのものである。システム191はエンコーダ150によって受信され処理された(本発明によるデブロッキングフィルタによるフィルタリングを含む)オリジナルの画像シーケンス151を含むコンテンツを取得/受信し、エンコーダ150は、通信ネットワーク191を介してデコーダ100に通信されるビットストリーム101を生成する。次に、ビットストリーム101はいくつかの方法でデコーダ100に通信され、例えば、エンコーダ150によって事前に生成され、ユーザが記憶装置からコンテンツ(すなわち、ビットストリームデータ)を要求するまで、通信ネットワーク200内の記憶装置(例えば、サーバまたはクラウドストレージ)にデータとして格納され、その時点で、データが記憶装置からデコーダ100に通信/ストリーミングされる。また、システム191 195は、ユーザに対して、(例えば、ユーザ端末に表示されるユーザインターフェースのためのデータを通信することで)、記憶装置に格納されたコンテンツのコンテンツ情報(例えば、コンテンツのタイトルや、コンテンツを識別、選択、および要求するためのその他のメタ/格納位置データ)を配信/ストリーミングしたり、要求されたコンテンツを記憶装置からユーザ端末に配信/ストリーミングできるように、コンテンツのユーザ要求を受信して処理するためのコンテンツ提供装置を備えてもよい。あるいは、エンコーダ150が、ユーザがコンテンツを要求するときに、ビットストリーム101を生成し、それをデコーダ100に直接通信/ストリーミングする。次いで、デコーダ100はビットストリーム101(または信号)を受信し、本発明によるデブロッキングフィルタでフィルタリングを実行してビデオ信号109および/またはオーディオ信号を取得/生成し、これをユーザ端末が使用して、要求されたコンテンツをユーザに提供する。
【0254】
本発明による方法/プロセスの任意のステップまたは本明細書で説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、ステップ/機能は、1つ以上の命令もしくはコードもしくはプログラム、またはコンピュータ可読媒体として格納または送信され、PC(「パーソナルコンピュータ」)、DSP(「デジタル信号プロセッサ」)、回路、回路、プロセッサおよびメモリ、汎用マイクロプロセッサまたは中央処理装置、マイクロコントローラ、ASIC(「特定用途向け集積回路」)、フィールドプログラマブル論理アレイ(FPGA)、または他の同等の集積または個別論理回路であり得る、プログラマブルコンピューティングマシンなどの1つ以上のハードウェアベースの処理ユニットによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造のいずれか、または本明細書で説明される技法の実装に適した他の任意の構造を指すことがある。
【0255】
本発明の実施形態は、ワイヤレスハンドセット、集積回路(IC)、またはJCのセット(例えば、チップセット)を含む多種多様なデバイスまたは装置によって実現することもできる。本明細書では様々な構成要素、モジュール、またはユニットを、それらの実施形態を実行するように構成されたデバイス/装置の機能態様を示すために説明するが、必ずしも異なるハードウェアユニットによる実現を必要としない。むしろ、種々モジュール/ユニットは、コーデックハードウェアユニットで結合されてもよく、または適切なソフトウェア/ファームウェアと共に1つ以上のプロセッサを含む相互運用ハードウェアユニットの集合によって提供されてもよい。
【0256】
本発明の実施形態は、上述の実施形態のうちの1つ以上のモジュール/ユニット/機能を実行するために記憶媒体に記録されたコンピュータ実行可能命令(例えば、1つ以上のプログラム)を読み出して実行する、及び/又は上述の実施形態のうちの1つ以上の機能を実行するための1つ以上の処理ユニット又は回路を含むシステム又は装置のコンピュータによって、及び、例えば、上述の実施形態のうちの1つ以上の機能を実行するために記憶媒体からコンピュータ実行可能命令を読み出して実行する、及び/又は上述の実施形態のうちの1つ以上の機能を実行するために1つ以上の処理ユニット又は回路を制御することによって、システム又は装置のコンピュータによって実行される方法によって実現することができる。コンピュータはコンピュータ実行可能命令を読み出して実行するために、別個のコンピュータまたは別個の処理ユニットのネットワークを含んでもよい。コンピュータ実行可能命令は例えば、ネットワークまたは有形記憶媒体を介して通信媒体などのコンピュータ可読媒体からコンピュータに提供されてもよい。通信媒体は、信号/ビットストリーム/搬送波であってもよい。有形記憶媒体は例えば、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、分散コンピューティングシステムの記憶装置、光ディスク(コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)、またはブルーレイディスク(BD)TMなど)、フラッシュメモリデバイス、メモリカードなどの1つ以上を含み得る「一時的でないコンピュータ読み取り可能な記憶媒体」である。ステップ/機能のうちの少なくともいくつかは、マシン、またはFPGA(「フィールドプログラマブルゲートアレイ」)またはASIC(「特定用途向け集積回路」)などの専用構成要素によってハードウェアで実装することもできる。
【0257】
図10は、本発明の1つ以上の実施形態を実施するためのコンピューティングデバイス2000の概略ブロック図である。コンピューティングデバイス2000は、マイクロコンピュータ、ワークステーション、またはライトポータブルデバイスなどのデバイスとすることができる。コンピューティングデバイス2000は、以下に接続された通信バスを備える:-マイクロプロセッサなどの中央処理装置(CPU)2001;-本発明の実施形態の方法の実行可能コードを格納するためのランダムアクセスメモリ(RAM)2002ならびに本発明の実施形態に係る画像の少なくとも一部を符号化または復号するための方法を実現するために必要な変数およびパラメータを記録するために適合されたレジスタ、それらのメモリ容量は例えば、拡張ポートに接続されたオプションのRAMによって拡張することができる;-本発明の実施形態を実現するためのコンピュータプログラムを格納するためのリードオンリーメモリ(ROM)2003;-処理されるデジタルデータが送信または受信される通信ネットワークに典型的に接続されるネットワークインターフェース(NET)2004。ネットワークインターフェース(NET)2004は単一のネットワークインターフェースであってもよいし、異なるネットワークインターフェース(例えば、有線および無線インターフェース、または異なる種類の有線または無線インターフェース)のセットで構成されてもよい。データパケットは、送信のためにネットワークインターフェースに書き込まれるか、またはCPU2001で実行されるソフトウェアアプリケーションの制御の下で受信のためにネットワークインターフェースから読み出され、-ユーザからの入力を受信したり、ユーザに情報を表示するためにユーザインターフェース(UI)2005が使用されてもよく、-大容量記憶装置としてハードディスク(HD)2006が提供されてもよく、-入出力モジュール(IO)2007が、ビデオソースやディスプレイなどの外部装置との間でデータを送受信するために使用されてもよい。実行可能コードは、ROM2003、HD2006、または例えばディスクなどのリムーバブルデジタル媒体のいずれかに格納することができる。変形例によれば、プログラムの実行可能コードは、実行される前に、HD2006などの通信装置2000の記憶手段の1つに格納されるために、NET2004を介して、通信ネットワークを用いて、受信することができる。CPU2001は、前述の記憶手段の1つに格納された、本発明の実施形態によるプログラムまたはプログラム群のソフトウェアコードの命令または部分の実行を制御し、指示するように適合される。電源投入後、CPU2001は例えば、プログラムROM2003またはHD2006からこれらの命令がロードされた後に、メインRAMメモリ2002から、ソフトウェアアプリケーションに関する命令を実行することができる。このようなソフトウェアアプリケーションは、CPU2001によって実行されると、本発明による方法のステップを実行させる。
【0258】
また、本発明の他の実施形態によれば、コンピュータ、携帯電話(携帯電話)、テーブル、またはユーザにコンテンツを提供/表示することができる他の任意のタイプのデバイス(例えば、ディスプレイ装置)などのユーザ端末に、前述の実施形態によるデコーダが提供されることも理解される。さらに別の実施形態によれば、前述の実施形態によるエンコーダは、エンコーダがエンコードするためのコンテンツを撮像し、提供するカメラ、ビデオカメラ、またはネットワークカメラ(例えば、閉回路テレビまたはビデオ監視カメラ)も備える画像撮像装置において提供される。2つのこのような例を、
図11および12を参照して以下に提供する。
ネットワークカメラ
図11は、ネットワークカメラ2102及びクライアント装置2104を含むネットワークカメラシステム2100を示す図である。
【0259】
ネットワークカメラ2102は、撮像ユニット2106と、符号化ユニット2108と、通信ユニット2110と、制御ユニット2112とを有している。
【0260】
ネットワークカメラ2102とクライアント装置2104とは、ネットワーク200を介して相互に通信可能に相互に接続されている。
【0261】
撮像ユニット2106は、レンズおよびイメージセンサ(例えば、電荷結合素子(CCD)または相補型金属酸化膜半導体(CMOS))を含み、オブジェクトの画像を撮像し、その画像に基づいて画像データを生成する。この画像は静止画像であってもよいし、ビデオ画像であってもよい。
【0262】
符号化ユニット2108は、上述した前記符号化方法を用いて画像データを符号化する。
【0263】
ネットワークカメラ2102の通信ユニット2110は、符号化ユニット2108で符号化された符号化画像データをクライアント装置2104に送信する。
【0264】
また、通信ユニット2110は、クライアント装置2104からのコマンドを受信する。コマンドは、符号化ユニット2108の符号化のためのパラメータを設定するコマンドを含む。
【0265】
制御ユニット2112は、通信ユニット2110が受信したコマンドに従って、ネットワークカメラ2102内の他のユニットを制御する。
【0266】
クライアント装置2104は、通信ユニット2114、復号ユニット2116、制御ユニット2118を含む。
【0267】
クライアント装置2104の通信ユニット2114は、ネットワークカメラ2102にコマンドを送信する。
【0268】
また、クライアント装置2104の通信ユニット2114は、ネットワークカメラ2102から符号化画像データを受信する。
【0269】
復号ユニット2116は、上述した前記復号方法を用いて符号化画像データを復号する。
【0270】
クライアント装置2104の制御ユニット2118は、通信ユニット2114が受信したユーザ操作またはコマンドに従って、クライアント装置2104内の他のユニットを制御する。
【0271】
クライアント装置2104の制御ユニット2118は、復号ユニット2116で復号された画像を表示するように表示装置2120を制御する。
【0272】
また、クライアント装置2104の制御ユニット2118は、符号化ユニット2108の符号化のためのパラメータを含むネットワークカメラ2102のパラメータの値を指定するGUI(Graphical User Interface)を表示するように表示装置2120を制御する。
【0273】
また、クライアント装置2104の制御ユニット2118は、表示装置2120が表示するGUIに対して入力されるユーザ操作に応じて、クライアント装置2104内の他のユニットを制御する。
【0274】
クライアント装置2104の制御ユニット2118は、表示装置2120が表示するGUIに対して入力されるユーザ操作に応じて、ネットワークカメラ2102のパラメータの値を指定するコマンドをネットワークカメラ2102に送信するように、クライアント装置2104の通信ユニット2114を制御する。
【0275】
スマートフォン
図12は、スマートフォン2200を示す図である。
【0276】
スマートフォン2200は、通信ユニット2202、復号ユニット2204、制御ユニット2206、表示ユニット2208、画像記録デバイス2210、およびセンサ群2212を含む。
【0277】
通信ユニット2202は、ネットワーク200を介して符号化画像データを受信する。
【0278】
復号ユニット2204は、通信ユニット2202が受信した符号化画像データを復号する。
【0279】
復号ユニット2204は、上述した前記復号方法を用いて符号化画像データを復号する。
【0280】
制御ユニット2206は、通信ユニット2202が受信したユーザ操作またはコマンドに応じて、スマートフォン2200内の他のユニットを制御する。
【0281】
例えば、制御ユニット2206は、復号ユニット2204により復号された画像を表示するように表示ユニット2208を制御する。
【0282】
本発明を実施形態を参照して説明してきたが、本発明は開示された実施形態に限定されないことを理解されたい。添付の特許請求の範囲に定義されるように、本発明の範囲から逸脱することなく、様々な変更および修正を行うことができることは、当業者には理解されよう。本明細書(任意の添付の特許請求の範囲、要約書、および図面を含む)に開示された特徴のすべて、および/またはそのように開示された任意の方法またはプロセスのステップのすべては、そのような特徴および/またはステップの少なくともいくつかが相互に排他的である組合せを除いて、任意の組合せで組み合わせることができる。本明細書(任意の添付の特許請求の範囲、要約書、および図面を含む)に開示される各特徴は、特に断らない限り、同じ、同等の、または同様の目的を果たす代替の特徴によって置き換えることができる。したがって、特に断らない限り、開示される各特徴は、同等または同様の特徴の一般的なシリーズの一例にすぎない。
【0283】
また、上述の比較、判定、評価、選択、実行、実行、または考慮の任意の結果、例えば、符号化またはフィルタリングプロセス中に行われる選択はビットストリーム内のデータ、例えば、結果を示すフラグまたはデータに示されるか、またはそれらから決定可能/推論可能であり得、その結果、示されるか、または決定された/推論された結果は例えば、復号処理中に、比較、判定、評価、選択、実行、実行、または考慮を実際に実行する代わりに、処理において使用され得ることが理解される。
【0284】
特許請求の範囲において、単語「有する」は他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は複数を排除するものではない。異なる特徴が相互に異なる従属請求項に記載されているという単なる事実は、これらの特徴の組合せが有利に使用されることができないことを示すものではない。
【0285】
特許請求の範囲に記載されている参照符号は、例示のみを目的としたものであり、特許請求の範囲の範囲に限定的な影響を及ぼさない。