(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】変換スキップモードにおける係数コーディング
(51)【国際特許分類】
H04N 19/13 20140101AFI20241022BHJP
H04N 19/169 20140101ALI20241022BHJP
H04N 19/18 20140101ALI20241022BHJP
H04N 19/70 20140101ALI20241022BHJP
【FI】
H04N19/13
H04N19/169 200
H04N19/18
H04N19/70
(21)【出願番号】P 2022559412
(86)(22)【出願日】2021-04-01
(86)【国際出願番号】 CN2021084869
(87)【国際公開番号】W WO2021197406
(87)【国際公開日】2021-10-07
【審査請求日】2022-10-31
(31)【優先権主張番号】PCT/CN2020/082983
(32)【優先日】2020-04-02
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(73)【特許権者】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】ワン イェクイ
(72)【発明者】
【氏名】ジュー ウェイジャ
(72)【発明者】
【氏名】ジャン リー
(72)【発明者】
【氏名】ドン ジピン
【審査官】久保 光宏
(56)【参考文献】
【文献】Benjamin Bross, et al.,"Versatile Video Coding (Draft 8)",Document: JVET-Q2001-v9, [online],JVET-Q2001 (version 9),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2020年01月22日,Pages 13,115,155,169,420,[令和6年4月1日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=9675> and <URL: https://jvet-experts.org/doc_end_user/documents/17_Brussels/wg11/JVET-Q2001-v9.zip>.,(See document file "JVET-Q2001-v9.docx" in the zip file "JVET-Q2001-v9.zip".)
【文献】Cheung Auyeung, et al.,"CE7-related: Modifications to transform skip coefficient sign flag coding",Document: JVET-P0437_r1, [online],JVET-P0437 (version 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年10月04日,Pages 1-9,[令和6年4月1日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=8226> and <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P0437-v2.zip>.,(See document file "JVET-P0437_r1.docx" in the zip file "JVET-P0437-v2.zip".)
【文献】Benjamin Bross, et al.,"Versatile Video Coding (Draft 7)",Document: JVET-P2001-v3, [online],JVET-P2001 (version 3),2019年10月13日,Pages 13,138,153,394,[令和6年4月1日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=8857> and <URL: https://jvet-experts.org/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v3.zip>.,(See document file "JVET-P2001-v3.docx" in the zip file "JVET-P2001-v3.zip".)
【文献】Ye-Kui Wang, et al.,"AHG9: Cleanups on parameter sets",Document: JVET-Q0117-v1, [online],JVET-Q0117 (version 1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年12月30日,Pages 1-9,[令和6年9月9日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=8942> and <URL: https://jvet-experts.org/doc_end_user/documents/17_Brussels/wg11/JVET-Q0117-v1.zip>.,(See document file "JVET-Q0117-v1.docx" in the zip file "JVET-Q0117-v1.zip".)
【文献】Ye-Kui Wang, et al.,"AHG9: On repetition and update of non-VCL data units",Document: JVET-R0070-v1, [online],JVET-R0070 (version 1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2020年04月02日,Pages 1-4,[令和6年9月9日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=9714> and <URL: https://jvet-experts.org/doc_end_user/documents/18_Alpbach/wg11/JVET-R0070-v1.zip>.,(See document file "JVET-R0070-v1.docx" in the zip file "JVET-R0070-v1.zip".)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
映像処理方法であって、
映像の現在のブロックと前記映像のビットストリームとの間の変換を実行すること、を有し、
前記ビットストリームは、前記ビットストリームにおける第1の係数の第1の符号フラグを含むためにコンテキストインクリメントが使用されることを規定する第1の規則に準拠し、
前記第1の規則は、前記コンテキストインクリメントの値が前記現在のブロックに第1のコーディングモードが適用されるか否かに基づくことを規定
し、
前記ビットストリームは、前記映像に複数の適応パラメータセットネットワーク抽象化レイヤユニットを使用することを規定する第2の規則に準拠し、
各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する適応パラメータセットタイプ値を有し、
各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する映像レイヤ識別子に関連付けられ、
各適応パラメータセットネットワーク抽象化レイヤユニットは、プレフィックスユニットまたはサフィックスユニットであり、
前記第2の規則は、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットが、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットの複数の映像レイヤ識別子とは独立して、および前記複数の適応パラメータセットネットワーク抽象化レイヤユニットが前記プレフィックスユニットまたは前記サフィックスユニットであるか否かとは独立して、特定の適応パラメータセットタイプ値を有することに応じて、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットの適応パラメータセット識別子値が同じ適応パラメータセット識別子値空間に属することを規定する、
方法。
【請求項2】
前記第1の規則は、前記第1のコーディングモードが適用されない場合、前記コンテキストインクリメントの前記値がN0~N1の第1の範囲内にあることを規定し、
前記第1の規則は、前記第1のコーディングモードが適用される場合、前記コンテキストインクリメントの前記値がN2~N3の第2の範囲内にあることを規定する、
請求項1に記載の方法。
【請求項3】
前記第1のコーディングモードにおいて、パルスコーディング変調表現を用いて、量子化残差と前記量子化残差の予測との差を前記ビットストリームにおいて表現する、
請求項2に記載の方法。
【請求項4】
前記第1のコーディングモードは、ブロックベースのデルタパルスコード変調コーディングモードである、
請求項2または3に記載の方法。
【請求項5】
N0、N1、N2、N3は、それぞれ0、2、3、5である、
請求項2から4のうちいずれか一項に記載の方法。
【請求項6】
第1の隣接符号値および第2の隣接符号値が第1の条件を満たすことに応じて、前記コンテキストインクリメントの前記値は0または3に等しく、
前記第1の条件は、
(1)前記第1の隣接符号値が0に等しく、前記第2の隣接符号値が0に等しく、
あるいは、
(2)前記第1の隣接符号値が前記第2の隣接符号値の負数に等しい、
請求項1から5のうちいずれか一項に記載の方法。
【請求項7】
前記第1の隣接符号値は、現在の係数スキャン位置の水平座標が0であることに応じて0に等しく、前記現在の係数スキャン位置の水平座標が0でないことに応じて左隣接係数の値に等しく、
前記第2の隣接符号値は、前記現在の係数スキャン位置の垂直座標が0であることに応じて0に等しく、前記現在の係数スキャン位置の垂直座標が0でないことに応じて上隣接係数の値に等しい、
請求項6に記載の方法。
【請求項8】
前記コンテキストインクリメントの前記値が、前記第1のコーディングモードが前記現在のブロックに適用されないことに応じて0に等しく、
前記コンテキストインクリメントの前記値が、前記第1のコーディングモードが前記現在のブロックに適用されることに応じて3に等しい、
請求項6に記載の方法。
【請求項9】
前記コンテキストインクリメントの前記値が、前記第1の隣接符号値および前記第2の隣接符号値が前記第1の条件を満たさず、かつ、前記第1の隣接符号値および前記第2の隣接符号値が第2の条件を満たすことに応じて1または4に等しく、
前記第2の条件は、
(1)前記第1の隣接符号値が0以上であり、前記第2の隣接符号値が0以上である、
請求項6に記載の方法。
【請求項10】
前記コンテキストインクリメントの前記値が、前記第1のコーディングモードが前記現在のブロックに適用されないことに応じて1に等しく、
前記コンテキストインクリメントの前記値が、前記第1のコーディングモードが前記現在のブロックに適用されることに応じて4に等しい、
請求項9に記載の方法。
【請求項11】
前記コンテキストインクリメントの前記値が、前記第1の隣接符号値および前記第2の隣接符号値が前記第1の条件および前記第2の条件を満たさないことに応じて2または5に等しい、
請求項9に記載の方法。
【請求項12】
前記コンテキストインクリメントの前記値が、前記第1のコーディングモードが前記現在のブロックに適用されないことに応じて2に等しく、
前記コンテキストインクリメントの前記値が、前記第1のコーディングモードが前記現在のブロックに適用されることに応じて5に等しい、
請求項11に記載の方法。
【請求項13】
変換スキップ処理が前記現在のブロックに適用される、
請求項1から12のうちいずれか一項に記載の方法。
【請求項14】
前記変換を実行することは、前記映像を前記ビットストリームに符号化することを含む、
請求項1から
13のうちいずれか一項に記載の方法。
【請求項15】
前記変換を実行することは、前記映像を前記ビットストリームから復号することを含む、
請求項1から
13のうちいずれか一項に記載の方法。
【請求項16】
プロセッサと、命令を有する非一時的メモリと、を備える映像データの処理装置であって、前記命令が前記プロセッサによって実行されると、前記プロセッサに、
映像の現在のブロックと前記映像のビットストリームとの間の変換を実行させ、
前記ビットストリームは、前記ビットストリームにおける第1の係数の第1の符号フラグを含むためにコンテキストインクリメントが使用されることを規定する第1の規則に準拠し、
前記第1の規則は、前記コンテキストインクリメントの値が前記現在のブロックに第1のコーディングモードが適用されるか否かに基づくことを規定
し、
前記ビットストリームは、前記映像に複数の適応パラメータセットネットワーク抽象化レイヤユニットを使用することを規定する第2の規則に準拠し、
各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する適応パラメータセットタイプ値を有し、
各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する映像レイヤ識別子に関連付けられ、
各適応パラメータセットネットワーク抽象化レイヤユニットは、プレフィックスユニットまたはサフィックスユニットであり、
前記第2の規則は、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットが、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットの複数の映像レイヤ識別子とは独立して、および前記複数の適応パラメータセットネットワーク抽象化レイヤユニットが前記プレフィックスユニットまたは前記サフィックスユニットであるか否かとは独立して、特定の適応パラメータセットタイプ値を有することに応じて、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットの適応パラメータセット識別子値が同じ適応パラメータセット識別子値空間に属することを規定する、
装置。
【請求項17】
命令を記憶する非一時的なコンピュータ可読記憶媒体であって、この命令は、プロセッサに、
映像の現在のブロックと前記映像のビットストリームとの間の変換を実行させ、
前記ビットストリームは、前記ビットストリームにおける第1の係数の第1の符号フラグを含むためにコンテキストインクリメントが使用されることを規定する第1の規則に準拠し、
前記第1の規則は、前記コンテキストインクリメントの値が前記現在のブロックに第1のコーディングモードが適用されるか否かに基づくことを規定
し、
前記ビットストリームは、前記映像に複数の適応パラメータセットネットワーク抽象化レイヤユニットを使用することを規定する第2の規則に準拠し、
各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する適応パラメータセットタイプ値を有し、
各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する映像レイヤ識別子に関連付けられ、
各適応パラメータセットネットワーク抽象化レイヤユニットは、プレフィックスユニットまたはサフィックスユニットであり、
前記第2の規則は、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットが、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットの複数の映像レイヤ識別子とは独立して、および前記複数の適応パラメータセットネットワーク抽象化レイヤユニットが前記プレフィックスユニットまたは前記サフィックスユニットであるか否かとは独立して、特定の適応パラメータセットタイプ値を有することに応じて、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットの適応パラメータセット識別子値が同じ適応パラメータセット識別子値空間に属することを規定する、
非一時的なコンピュータ可読記憶媒体。
【請求項18】
映像のビットストリームを記憶する方法であって、前記方法は、
現在のブロックを含む前記映像のビットストリームを生成し、
前記ビットストリームを非一時的なコンピュータ可読記憶媒体に記憶し、
前記ビットストリームは、前記ビットストリームにおける第1の係数の第1の符号フラグを含むためにコンテキストインクリメントが使用されることを規定する第1の規則に準拠し、
前記第1の規則は、前記コンテキストインクリメントの値が前記現在のブロックに第1のコーディングモードが適用されるか否かに基づくことを規定
し、
前記ビットストリームは、前記映像に複数の適応パラメータセットネットワーク抽象化レイヤユニットを使用することを規定する第2の規則に準拠し、
各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する適応パラメータセットタイプ値を有し、
各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する映像レイヤ識別子に関連付けられ、
各適応パラメータセットネットワーク抽象化レイヤユニットは、プレフィックスユニットまたはサフィックスユニットであり、
前記第2の規則は、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットが、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットの複数の映像レイヤ識別子とは独立して、および前記複数の適応パラメータセットネットワーク抽象化レイヤユニットが前記プレフィックスユニットまたは前記サフィックスユニットであるか否かとは独立して、特定の適応パラメータセットタイプ値を有することに応じて、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットの適応パラメータセット識別子値が同じ適応パラメータセット識別子値空間に属することを規定する、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2020年4月2日出願の国際特許出願第PCT/CN2020/082983号の優先権および利益を主張する2021年4月1日出願の国際特許出願第PCT/CN2021/084869号に基づく。上記出願の開示全体は、本明細書の開示として参照によりここに援用される。
【0002】
この特許明細書は、画像および映像コーディングおよび復号に関する。
【背景技術】
【0003】
デジタル映像は、インターネットおよび他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信および表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
本願は、コーディングされた表現の復号に有用な制御情報を使用して、映像のコーディングされた表現を処理するために、映像エンコーダおよびデコーダにより使用され得る技術を開示する。
【0005】
1つの例示的な態様において、映像処理方法が開示される。この方法は、映像の現在のブロックとこの映像のビットストリームとの間の変換を行うことを含み、このビットストリームはこのビットストリームに第1の係数の第1の符号フラグを含めるためにコンテキストインデックスオフセットを使用することを規定する規則に準拠し、この規則は、このコンテキストインデックスオフセットの値が、このビットストリームにおけるこの現在のブロックに第1のコーディングモードが適用されるかどうかに基づくことを規定する。
【0006】
別の例示的な態様において、映像処理方法が開示される。この方法は、現在の映像のブロックとこの映像のビットストリームとの間の変換を行うことを含み、このビットストリームは、残りのコンテキストコーディングされたビンの数に基づいて、コンテキストモードおよびバイパスモードのうちのいずれか1つを使用して、この現在のブロックの符号フラグがこのビットストリームに含まれていることを規定する規則に準拠する。
【0007】
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の現在のブロックとこの映像のビットストリームとの間の変換を行うことを含み、このビットストリームは、ビットストリームにこの現在のブロックの符号フラグを含めるためにコンテキストインデックスオフセットを使用することを規定する規則に準拠し、この規則は、このコンテキストインデックスオフセットをこの現在のブロックの情報に基づいて決定することを規定する。
【0008】
別の例示的な態様において、映像処理方法が開示される。この方法は、規則に従って、1つ以上の映像レイヤを含む映像とこの映像のビットストリームとの間の変換を行うことを含み、この規則は、この映像のために複数の適応パラメータセットネットワーク抽象化レイヤユニットを使用することを規定し、各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する適応パラメータタイプ値を有し、各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する映像レイヤ識別子に関連付けられ、各適応パラメータセットネットワーク抽象化レイヤユニットは、プレフィックスユニットまたはサフィックスユニットであり、この規則は、この複数の適応パラメータセットネットワーク抽象化レイヤユニットが同じ適応パラメータタイプ値を共有することに応じて、この複数の適応パラメータセットネットワーク抽象化レイヤユニットの適応パラメータセット識別子値が同じ識別子空間に属することを規定する。
【0009】
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の現在のブロックとこの映像のビットストリームとの間の変換を行うことを含み、このビットストリームは、特定の特徴を有する第1の補足拡張情報メッセージが、(1)この特定の特徴を有する第2の補足拡張情報メッセージがスライスユニットに含まれていることに応じて、このビットストリームのスライスユニット内で繰り返されること、または(2)この第1の補足拡張メッセージがこのビットストリームのこのスライスユニット内にあることに応じて更新されること、は許可されないことを規定する規則に準拠し、このスライスユニットは、復号順に連続したネットワーク抽象化レイヤユニットのセットを含み、このネットワーク抽象化レイヤのセットは、単一のコーディングされたスライスと、この単一のコーディングされたスライスに関連付けられた1つ以上の非映像コーディングレイヤネットワーク抽象化レイヤユニットとを含む。
【0010】
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の現在のブロックとこの映像のビットストリームとの間の変換を行うことを含み、このビットストリームは、このビットストリームにおける1つのスライスユニットが、(1)このスライスユニットは、第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットと同じ特徴を有する第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットを含むこと、および(2)この第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットはプレフィックス補足拡張情報またはサフィックス補足拡張情報以外のネットワーク抽象化レイヤユニットタイプを有すること、に応じて、第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットの繰り返しを許可しないことを規定する規則に準拠する。
【0011】
別の例示的な態様において、映像処理方法が開示される。この方法は、規則に従って、複数の映像レイヤを含む映像とその映像のビットストリームとの間の変換を行うことを含み、その規則は、複数の適応パラメータセットのうちのどれがその複数の映像レイヤにわたって共有されることは許可されないかを規定する。
【0012】
別の例示的な態様において、映像処理方法が開示される。この方法は、規則に従って、1つ以上の映像レイヤを含む映像とこの映像のビットストリームとの間の変換を行うことを含み、前記ビットストリームは1つ以上の適応ループフィルタ適応パラメータセットを含み、この規則は、この1つ以上の適応ループフィルタ適応パラメータセットを1つのピクチャユニット内で更新するように許可されるかどうかを規定する。
【0013】
別の例示的な態様において、映像処理方法が開示される。この方法は、規則に従って、1つ以上のコーディングされたレイヤ映像シーケンスを含む映像とこの映像のビットストリームとの間の変換を行うことを含み、このビットストリームは適応ループフィルタ適応パラメータセットを含み、この規則は、この適応ループフィルタ適応パラメータセットが1つ以上の特定の特徴を有することに応じて、この適応ループフィルタ適応パラメータセットがこの1つ以上のコーディングされたレイヤ映像シーケンスにわたって共有されることは許可されないことを規定する。
【0014】
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の現在のブロックと映像のコーディングされた表現との間で変換を行うことを含む。このコーディングされた表現は、このコーディングされた表現におけるこの現在のブロックの符号フラグをコーディングするために使用されるコンテキストインデックスオフセットがある範囲内にあることを規定するフォーマット規則に準拠し、この範囲はこのコーディングされた表現におけるこの現在のブロックを表現するために用いられるコーディングモードの範囲関数である。
【0015】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、映像の現在のブロックとこの映像のコーディングされた表現との間の変換を行うことを含み、このコーディングされた表現は、この現在のブロックの符号フラグが、コンテキストコーディングされたビンまたはバイパスモードのうちの1つを、残りのコンテキストコーディングされたビンの数に応じて使用してこのコーディングされた表現でコーディングされることを規定するフォーマット規則に準拠する。
【0016】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、映像の現在のブロックとこの映像のコーディングされた表現との間の変換を行うことを含み、この変換は、ブロックベースのデルタパルスコード変調(BDPCM)モードを使用し、このコーディングされた表現は、符号フラグをコーディングするためのコンテキストインデックスオフセットがこの現在のブロックのコーディング条件の関数となるように、このBDPCMからの符号フラグをこのコーディングされた表現においてコンテキストコーディングすることを規定するフォーマット規則に準拠する。
【0017】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、映像の現在のブロックと映像のコーディングされた表現との間の変換を行うことを含み、このコーディングされた表現は、連続した復号順にあり、かつ単一のコーディングされたスライスを含むネットワーク抽象化レイヤユニットのセットに対応する、コーディングされた表現のスライスユニットが、最大でも1回、補足拡張情報(SEI)の少なくとも部分を含むように許可されることを規定するフォーマット規則に準拠する。
【0018】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、映像の現在のブロックとこの映像のコーディングされた表現との間の変換を行うことを含み、このコーディングされた表現は、連続した復号順にあり、かつ単一のコーディングされたスライスを含むネットワーク抽象化レイヤユニットのセットに対応する、コーディングされた表現におけるスライスユニットが、1つ以上の映像コーディングレイヤネットワーク抽象化レイヤ(VCL NAL)ユニットを含むことを規定するフォーマット規則に準拠し、このフォーマット規則はさらに、このスライスユニットにおいて、繰り返されるように許可される第1のタイプのユニットと繰り返されるように許可されない第2のタイプのユニットとを規定する。
【0019】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、規則に基づいて、1つ以上の映像レイヤを含む映像とこの映像のコーディングされた表現との間の変換を行うことを含み、このコーディングされた表現は、1つ以上の適応パラメータセット(APS)を含み、この規則は、1つ以上の映像レイヤの変換へのこの1つ以上のAPSのうちのいくつかの適用可能性を規定する。
【0020】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、規則に従って、1つ以上の映像レイヤを含む映像とこの映像のコーディングされた表現との間の変換を行うことを含み、このコーディングされた表現は、1つ以上のネットワーク抽象化レイヤ(NAL)ユニットに構成され、このコーディングされた表現は、この変換の特徴を制御するための1つ以上の適応パラメータセットを含む。
【0021】
さらに別の例示的な態様において、映像エンコーダ装置が開示される。この映像エンコーダは、上述した方法を実装するように構成された処理装置を備える。
【0022】
さらに別の例示的な態様において、映像デコーダ装置が開示される。この映像デコーダは、上述した方法を実装するように構成された処理装置を備える。
【0023】
さらに別の例示的な態様では、コードが記憶されたコンピュータ可読媒体が開示される。このコードは、本明細書に記載の方法の1つを処理装置が実行可能なコードの形式で実施する。
【0024】
これらのおよび他の特徴は、本明細書全体にわたって説明される。
【図面の簡単な説明】
【0025】
【
図1】映像処理システム例を示すブロック図である。
【
図3】映像処理方法の一例を示すフローチャートである。
【
図4】本発明のいくつかの実施形態による映像コーディングシステムを示すブロック図である。
【
図5】本発明のいくつかの実施形態によるエンコーダを示すブロック図である。
【
図6】本発明のいくつかの実施形態によるデコーダを示すブロック図である。
【
図7】適応ループフィルタ(ALF)の形状の例を示す(彩度:5×5菱形、輝度:7×7菱形)。
【
図9】映像処理の方法の例を示すフローチャートである。
【
図10】映像処理の方法の例を示すフローチャートである。
【
図11】映像処理の方法の例を示すフローチャートである。
【
図12】映像処理の方法の例を示すフローチャートである。
【
図13】映像処理の方法の例を示すフローチャートである。
【
図14】映像処理の方法の例を示すフローチャートである。
【
図15】映像処理の方法の例を示すフローチャートである。
【
図16】映像処理の方法の例を示すフローチャートである。
【
図17】映像処理の方法の例を示すフローチャートである。
【発明を実施するための形態】
【0026】
本明細書では、理解を容易にするために章の見出しを使用しており、その技術および各章に記載された実施形態の適用可能性をその章のみに限定するものではない。さらに、H.266という用語は、ある説明において、理解を容易にするためだけに用いられ、開示される技術の範囲を限定するために用いられたものではない。このように、本明細書で説明される技術は、他の映像コーデックプロトコルおよび設計にも適用可能である。
【0027】
1 導入
本明細書は、映像コーディング技術に関する。具体的には、これは、変換スキップモードにおける係数コーディング、並びにビデオコーディングにおける非VCLデータユニットの繰り返しおよび更新に関する。HEVCのような既存の映像コーディング規格に適用してもよいし、規格(Versatile Video Coding)を確定させるために適用してもよい。本発明は、将来の映像コーディング規格または映像コーデックにも適用可能である。
【0028】
2 略語
ALF Adaptive Loop Filter(適応ループフィルタ)
APS Adaptation Parameter Set(適応パラメータセット)
AU Access Unit(アクセスユニット)
AUD Access Unit Delimiter(アクセスユニットデリミター)
AVC Advanced Video Coding(高度映像コーディング)
CLVS Coded Layer Video Sequence(コーディングレイヤ映像シーケンス)
CPB Coded Picture Buffer(コーディングピクチャバッファ)
CRA Clean Random Access(クリーンランダムアクセス)
CTU Coding Tree Unit(コーディングツリーユニット)
CVS Coded Video Sequence(コーディング映像シーケンス)
DCI Decoding Capability Information(復号能力情報)
DPB Decoded Picture Buffer(復号ピクチャバッファ)
DU Decoding Unit(復号ユニット)
EOB End Of Bitstream(ビットストリーム終端)
EOS End Of Sequence(シーケンス終端)
GDR Gradual Decoding Refresh(漸進的復号リフレッシュ)
HEVC High Efficiency Video Coding(高効率映像コーディング)
HRD Hypothetical Reference Decoder(仮想参照デコーダ)
IDR Instantaneous Decoding Refresh(瞬時復号更新)
JEM Joint Exploration Model(共同探索モデル)
LMCS Luma Mapping with Chroma Scaling(彩度スケーリングを伴う輝度マッピング)
MCTS Motion-Constrained Tile Sets(動作制約タイルセット)
NAL Network Abstraction Layer(ネットワーク抽象化レイヤ)
OLS Output Layer Set(出力層セット)
PH Picture Header(ピクチャヘッダ)
PPS Picture Parameter Set(ピクチャパラメータセット)
PTL Profile,Tier and Level プロファイル、層およびレベル
PU Picture Unit(ピクチャユニット)
RADL Random Access Decodable Leading(ランダムアクセス復号可能リーディング) (ピクチャ)
RAP Random Access Point(ランダムアクセスポイント)
RASL Random Access Skipped Leading(ランダムアクセススキップリーディング) (ピクチャ)
RBSP Raw Byte Sequence Payload(生バイトシーケンスペイロード)
RPL Reference Picture List(参照ピクチャリスト)
SAO Sample Adaptive Offset(サンプル適応オフセット)
SEI Supplemental Enhancement Information(補足拡張情報)
SPS Sequence Parameter Set(シーケンスパラメータセット)
STSA Step-wise Temporal Sublayer Access(段階的時間的サブレイヤアクセス)
SVC Scalable Video Coding(スケーラブル映像コーディング)
VCL Video Coding Layer(映像コーディングレイヤ)
VPS Video Parameter Set(映像パラメータセット)
VTM VVC Test Model(VVC試験モデル)
VUI Video Usability Information(映像ユーザビリティ情報)
VVC Versatile Video Coding(汎用映像コーディング)
【0029】
3 映像コーディングの導入
映像コーディングする規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4Visualを作り、両団体はH.262/MPEG-2VideoとH.264/MPEG-4AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディング規格は、時間的予測と変換コーディングが利用されるハイブリッド映像コーディング構造に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Model)と呼ばれる参照ソフトウェアに組み込まれてきた。JVETは四半期に1回開催され、新しいコーディング規格はHEVCに比べて50%のビットレート低減を目指している。2018年4月のJVET会議において、新しい映像コーディング規格を「VVC(Versatile Video Coding)」と正式に命名し、その時、第1版のVVCテストモデル(VTM)をリリースした。VVCの標準化に寄与する努力が続けられているので、すべてのJVET会議において、VVC標準に新しいコーディング技術が採用されている。毎回の会議の後、VVC作業草案およびテストモデルVTMを更新する。VVCプロジェクトは、現在、2020年7月の会合における技術完成(FDIS)を目指している。
【0030】
【0031】
3.2 変換スキップモードにおける係数コーディング
現在のVVC草案において、残差コーディングを変換スキップレベルの統計および信号特性に適応させるために、非TS係数コーディングに比べて、TS(変換スキップ)モードにおける係数コーディングについていくつかの修正が提案されている。
【0032】
JVET-Q2001-vEにおける本パートに関連する最新のテキストは、以下のとおりである。
7.3.10.11 残差コーディング構文
【表1】
【表2】
【表3】
【表4】
【表5】
【表6】
【表7】
【表8】
【表9】
【表10】
【表11】
【表12】
【表13】
【表14】
【表15】
【0033】
3.2.1 符号フラグcoeff_sign_flagのコンテキストモデリングおよびコンテキストインデックスオフセット導出
表51-初期化プロセスにおける各初期化タイプのctxIdxと構文要素の関連付け
【表16】
表125-coeff_sign_flagのctxIncのinitValueおよびshiftIdxの仕様
【表17】
表131-コンテキストコーディングされたビンを有する構文要素へのctxIncの割り当て
【表18】
【0034】
9.3.4.2.10 変換スキップモードのための構文要素coeff_sign_flagのctxIncの導出プロセス
この処理への入力は、色成分インデックスcIdx、現在のピクチャの左上サンプルに対して現在の変換ブロックの左上サンプルを規定する輝度位置(x0,y0)、現在の係数スキャン位置(xC,yC)である。
この処理の出力は変数ctxIncである。
変数leftSignおよびaboveSignは、以下のように導出される。
leftSign=(xC==0)?0:CoeffSignLevel[xC-1][yC] (1595)
aboveSign=(yC==0)?0:CoeffSignLevel[xC][yC-1] (1596)
変数ctxIncは、以下のように導出される。
- leftSignが0に等しく、aboveSignが0に等しい場合、またはleftSignが-aboveSignに等しい場合、以下が適用される。
ctxInc=(BdpcmFlag[x0][y0][cIdx]==0?0:3) (1597)
- そうでない場合、leftSignが0以上かつaboveSignが0以上である場合、以下が適用される。
ctxInc=(BdpcmFlag[x0][y0][cIdx]?1:4) (1598)
- そうでない場合、以下が適用される。
ctxInc=(BdpcmFlag[x0][y0][cIdx]?2:5) (1599)
【0035】
3.3 ブロックベースの量子化残差ドメイン DPCM(BDPCM)
JVET-M0413において、画面コンテンツを効率的にコーディングするために、量子化残差ブロック差動パルスコード変調(BDPCM)が提案され、VVC草案に採用されている。
【0036】
QR-BDPCMで使用される予測方向は、垂直予測モードおよび水平予測モードであり得る。イントラ予測は、イントラ予測と同様に、予測方向(水平または垂直予測)にサンプルコピーすることで、ブロック全体で予測する。残差を量子化し、量子化された残差とその予測子(水平または垂直)量子化値との間のデルタはコーディングされる。これは、以下のように説明することができる。サイズM(行)×N(列)のブロックについて、ri,j,0≦i≦M-1、0≦j≦N-1を、上または左ブロックの境界サンプルからのフィルタリングされていないサンプルを使用して、水平方向(予測ブロックに対して左隣の画素値を1ラインずつコピーする)または垂直方向(予測ブロックにおける各ラインに上隣のラインをコピーする)にイントラ予測を行った後の予測残差とする。Q(ri,j)、0≦i≦M-1、0≦j≦N-1は、残差ri,jの量子化バージョンを表し、この場合、残差は、元のブロックと予測ブロック値との間の差である。次に、ブロックDPCMが量子化された残差サンプルに適用され、その結果、要素r~
i,jを有する修正されたM×N個の配列R~が得られる。垂直BDPCMが信号通知されると、以下のようになる。
【0037】
【0038】
水平予測の場合、類似した規則が適用され、残差量子化サンプルは、以下の式によって得られる。
【0039】
【0040】
残差量子化サンプルr~
i,jはデコーダに送られる。
【0041】
デコーダ側では、上記の計算を逆にして、Q(ri,j)、0≦i≦M-1、0≦j≦N-1を生成する。垂直予測の場合、
【0042】
【0043】
【0044】
逆量子化された残差Q-1(Q(ri,j))をイントラブロック予測値に加算し、再構成されたサンプル値を生成する。
【0045】
このスキームの主な利点は、逆方向のDPCMを、係数の構文解析中に急いで行うことができ、係数の構文解析中に予測子を追加するだけで済むこと、または、構文解析後に行うことができることである。
【0046】
3.4 全般およびVVCにおけるスケーラブル映像コーディング(SVC)
スケーラブル映像コーディング(SVC、時には、映像コーディングにおけるスケーラビリティとも呼ばれる)は、ベースレイヤ(BL)(時には、参照レイヤ(RL)と呼ばれる)映像コーディングを呼ばれることもあり、1つ以上のスケーラブル拡張レイヤ(EL)が使用される。SVCにおいて、ベースレイヤは、基本品質レベルの映像データを担持することができる。1つ以上の拡張レイヤは、例えば、より高い空間的、時間的、および/または信号対雑音(SNR)レベルをサポートするように、追加の映像データを担持することができる。拡張レイヤは、前の、符号化されたレイヤに対して定義されてもよい。例えば、下層がBLとして機能し、上層がELとして機能することができる。中間レイヤは、ELまたはRLのいずれか、またはその両方として機能することができる。例えば、中間レイヤ(例えば、最下レイヤでも最上レイヤでもないレイヤ)は、中間レイヤの下のレイヤ、例えば、ベースレイヤまたは任意の介在する拡張レイヤのためのELであってもよく、同時に、中間レイヤの上の1つ以上の拡張レイヤのためのRLとしての役割を果たす。同様に、HEVC規格のマルチビューまたは3D拡張では、複数のビューが存在してもよく、1つのビューの情報を利用して別のビューの情報をコーディング(例えば、符号化または復号)することができる(例えば、動き推定、動きベクトル予測および/または他の冗長性)。
【0047】
SVCにおいて、エンコーダまたはデコーダで使用されるパラメータは、それらを利用することができるコーディングレベル(例えば、映像レベル、シーケンスレベル、ピクチャレベル、スライスレベル等)に基づいてパラメータセットにグループ分けされる。例えば、ビットストリームにおける異なるレイヤのコーディング映像シーケンスによって利用できるパラメータは、映像パラメータセット(VPS)に含まれてもよく、コーディング映像シーケンスにおける1つ以上のピクチャによって利用されるパラメータは、シーケンスパラメータセット(SPS)に含まれてもよい。同様に、1つのピクチャの1つ以上のスライスで利用されるパラメータは、ピクチャパラメータセット(PPS)に含まれてもよく、1つのスライスに固有の他のパラメータは、スライスヘッダに含まれてもよい。同様に、特定のレイヤが所与の時間にどのパラメータセット(複数可)を使用しているかの指示は、様々なコーディングレベルで提供されてもよい。
【0048】
VVCにおける参照ピクチャリサンプリング(RPR)のサポートにより、空間的スケーラビリティサポートに必要なアップサンプリングはRPRアップサンプリングフィルタを使用するだけでよいので、追加の信号処理レベルのコーディングツールを必要とせずに、複数のレイヤ、例えば、VVCにおけるSDおよびHD解像度の2つのレイヤを含むビットストリームをサポートするように設計することができる。それにもかかわらず、スケーラビリティサポートのためには、高レベルの構文変更(スケーラビリティをサポートしない場合と比較して)が必要である。スケーラビリティサポートは、VVCバージョン1に規定されている。AVCおよびHEVCの拡張を含む、任意の以前の映像コーディング規格におけるスケーラビリティサポートとは異なり、VVCのスケーラビリティの設計は、単層デコーダの設計にできるだけ適したものにされてきた。多層ビットストリームの復号能力は、ビットストリームに1つのレイヤしかなかったかの如く規定される。例えば、DPBサイズのような復号能力は、復号されるビットストリームのレイヤの数に依存しないようで規定される。基本的に、単層ビットストリームのために設計されたデコーダは、多層ビットストリームを復号することができるようにするために、多くの変更を必要としない。AVCおよびHEVCの多層拡張の設計と比較して、HLSの態様は、ある程度の柔軟性を犠牲にして大幅に簡略化されてきた。例えば、IRAP AUは、CVSに存在する各レイヤの画像を含むことが必要である。
【0049】
VVCビットストリームは、1つまたは複数個の出力レイヤセット(OLS)で構成されてもよい。OLSは、1つまたは複数のレイヤが出力レイヤとして指定されるレイヤの集合である。出力レイヤは、復号された後に出力されるレイヤである。
【0050】
3.5 パラメータセット
AVC、HEVC、VVCはパラメータ集合を指定する。パラメータセットのタイプは、SPS、PPS、APS、VPS等である。SPS、PPSは、AVC、HEVC、VVCのすべてでサポートされている。VPSは、HEVCから導入されたものであり、HEVCおよびVVCの両方に含まれる。APSは、AVCまたはHEVCに含まれていなかったが、最近のVVC草案のテキストに含まれている。
【0051】
SPSは、シーケンスレベルのヘッダ情報を伝送するように設計され、PPSは、頻繁に変化しないピクチャレベルのヘッダ情報を担持するように設計された。SPSおよびPPSを用いると、シーケンスまたはピクチャごとに頻繁に変化する情報を繰り返す必要がないので、この情報の冗長な信号通知を回避することができる。さらに、SPSおよびPPSを使用することは、重要なヘッダ情報の帯域外伝送を有効化し、それにより、冗長な伝送の必要性を回避するだけでなく、誤り耐性を改善する。
【0052】
VPSは、マルチレイヤのビットストリームのすべてのレイヤに共通であるシーケンスレベルのヘッダ情報を伝えるために導入された。
【0053】
APSは、コーディングするためにかなりのビットを必要とし、複数のピクチャによって共有され得る、このようなピクチャレベルまたはスライスレベルの情報を担持するために導入された。そして、シーケンスにおいて、非常に多くの異なる変形例が存在し得る。
【0054】
VVCにおいて、APSは、ALF、LMCS、およびスケーリングリストパラメータのパラメータを搬送するために用いられる。
【0055】
3.6 VVCにおけるNALユニットタイプとNALユニットヘッダ構文および意味論
最近のVVCテキスト(JVET-Q2001-vE/v15)において、NALユニットヘッダ構文および意味論は以下のとおりである。
7.3.1.2 NALユニットヘッダ構文
【表19】
7.4.2.2 NALユニットヘッダの意味論
【0056】
【化2】
nuh_layer_idの値は、1つのコーディングされたピクチャのすべてのVCL NALユニットに対して同じであるものとする。コーディングされたピクチャまたはPUのnuh_layer_idの値は、コーディングされたピクチャまたはPUのVCL NALユニットのnuh_layer_idの値である。
AUD、PH、EOS、FD NALユニットのnuh_layer_idの値は、以下のように制約される。
- nal_unit_typeがAUD_NUTに等しい場合、nuh_layer_idはvps_layer_id[0]に等しいものとする。
- あるいは、nal_unit_typeがPH_NUT、EOS_NUT、FD_NUTに等しい場合、nuh_layer_idは関連付けられたVCL NALユニットのnuh_layer_idに等しいものとする。
注1-DCI、VPS、およびEOB NALユニットのnuh_layer_idの値は制約されていない。
【化3】
nal_unit_typeは、表5で規定されているように、NALユニットタイプ、すなわちNALユニットに含まれるRBSPデータ構造のタイプを規定する。
UNSPEC_28..UNSPEC_31の範囲内にあり、意味論が規定されていないnal_unit_typeを有するNALユニットは、本明細書で規定される復号処理に影響を及ぼさないものとする。
注2-UNSPEC_28...UNSPEC_31の範囲内にあるNALユニットタイプ、アプリケーションにより決定されたとおりに使用されてもよい。本明細書では、nal_unit_typeのこれらの値の復号処理は規定されていない。異なるアプリケーションはこれらのNALユニットタイプを異なる目的で使用してもよいので、これらのnal_unit_type値を有するNALユニットを生成するエンコーダの設計、およびこれらのnal_unit_type値を有するNALユニットのコンテンツを解釈するデコーダの設計にあたり、特に注意しなければならない。本明細書は、これらの値の管理を定義していない。これらのnal_unit_type値は、使用の「衝突」(すなわち、同じnal_unit_type値に対するNALユニットのコンテンツの意味の異なる定義)が重要でない、または可能でない、または管理された状況、例えば、制御アプリケーションまたはトランスポート仕様において、またはビットストリームが分散される環境を制御することによって定義または管理されるコンテキストでの使用にのみ適している場合がある。
(附属書Cに規定されるように)ビットストリームのDUにおけるデータの数を決定すること以外の目的のために、デコーダは、nal_unit_typeの予約済みの値を使用するすべてのNALユニットのコンテンツを無視する(ビットストリームから取り除き、廃棄する)ものとする。
注3-この要件は、本明細書に適合する拡張を将来的に定義することを可能にする。
表5-NALユニットタイプコードおよびNALユニットタイプクラス
【0057】
【表20】
【表21】
注4-CRA(Clean Random Access)ピクチャは、ビットストリームに存在する関連付けられたRASLまたはRADLピクチャを有してもよい。
注5-IDR_N_LPに等しいnal_unit_typeを有するIDR(Instantaneous Decoding Refresh)ピクチャは、ビットストリームに存在する関連付けられた先頭ピクチャを有さない。IDR_W_RADLに等しいnal_unit_typeを有するIDRピクチャは、ビットストリームに存在する関連付けられたRASLピクチャ有していないが、ビットストリームに関連付けられたRADLピクチャを有していてもよい。
nal_unit_typeの値は、1つのサブピクチャのすべてのVCL NALユニットについて同じものとする。1つのサブピクチャは、このサブピクチャのVCL NALユニットと同じNALユニットタイプを有すると見なされている。
【0058】
任意の特定のピクチャのVCL NALユニットに対して、以下が適用される。
- mixed_nalu_types_in_pic_flagが0に等しい場合、nal_unit_typeの値は、ピクチャの全てのVCL NALユニットについて同一であるものとし、ピクチャまたはPUは、このピクチャまたはPUのコーディングされたスライスNALユニットと同一のNALユニットタイプを有するとみなされる。
- そうでない場合(mixed_nalu_types_in_pic_flagが1に等しい)、このピクチャは、少なくとも2つのサブピクチャを有し、このピクチャのVCL NALユニットは、以下のような正確に2つの異なるnal_unit_type値を有するものとする。このピクチャの少なくとも1つのサブピクチャのVCL NALユニットは、全てSTSA_NUT、RADL_NUT、RASL_NUT、IDR_W_RADL、IDR_N_LP、またはCRA_NUTに等しい特定のnal_unit_typeを有する一方、ピクチャ内の他のサブピクチャのVCL NALユニットは、全て、異なる特定値としてTRAIL_NUT、RADL_NUT、またはRASL_NUTに等しいnal_unit_typeを有するものとする。
【0059】
単レイヤビットストリームの場合、以下の制約が適用される。
- 各ピクチャは、復号順においてビットストリームの第1のピクチャを除き、復号順において前のIRAPピクチャに関連付けられていると考えられる。
- ピクチャがIRAPピクチャの先端ピクチャである場合、RADLまたはRASLピクチャとする。
- ピクチャがIRAPピクチャの後端ピクチャである場合、RADLまたはRASLピクチャではないものとする。
- RASLピクチャは、IDRピクチャに関連付けられたビットストリームに含まれていないものとする。
- RADLピクチャは、IDR_N_LPに等しいnal_unit_typeを有するIDRピクチャに関連付けられたビットストリームに含まれていないものとする。
注6-各パラメータセットが参照されるときに、(ビットストリームにおいて、または本明細書で規定されていない外部手段によって)利用可能である限り、IRAP PUの前のすべてのPUを破棄することにより、IRAP PUの位置でランダムアクセスを実行する(かつ、復号順においてIRAPピクチャおよびすべての後続の非RASLピクチャを正しく復号する)ことが可能である。
- 復号順において、IRAPピクチャに先行するピクチャは、出力順でIRAPピクチャに先行し、出力順において、IRAPピクチャに関連付けられたRADLピクチャに先行するものとする。
- CRAピクチャに関連付けられたRASLピクチャは、出力順においてCRAピクチャに関連付けられたRADLピクチャに先行するものとする。
- CRAピクチャに関連付けられたRASLピクチャは、復号順でCRAピクチャに先行するIRAPピクチャの出力順に従うものとする。
- field_seq_flagが0に等しく、現在のピクチャがIRAPピクチャに関連付けられた先頭ピクチャに等しい場合、それは、復号順において、同じIRAPピクチャに関連付けられたすべての非先頭ピクチャに先行するものとする。そうでない場合、picAおよびpicBを、それぞれ、IRAPピクチャに関連付けられた、復号順において、最初のおよび最後の先頭ピクチャとすると、復号順においてpicAに先行する最大で1つの非先頭ピクチャが存在し、復号順においてpicAおよびpicBの間に非先頭ピクチャはないものとする。
【0060】
【化4】
nuh_temporal_id_plus1の値は0に等しくないものとする。
変数TemporalIdは、以下のように導出される。
TemporalId=nuh_temporal_id_plus1-1 (36)
【0061】
nal_unit_typeがIDR_W_RADL~RSV_IRAP_12の範囲内にある場合、TemporalIdは0に等しいものとする。
nal_unit_typeがSTSA_NUTに等しく、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しい場合、TemporalIdは0に等しくないものとする。
【0062】
TemporalIdの値は、AUのすべてのVCL NALユニットに対して同じであるものとする。コーディングされたピクチャ、PU、またはAUのTemporalIdの値は、コーディングされたピクチャ、PU、またはAUのVCL NALユニットのTemporalIdの値である。サブレイヤ表現のTemporalIdの値は、サブレイヤ表現におけるすべてのVCL NALユニットのTemporalIdの最大値である。
【0063】
非VCL NALユニットのTemporalIdの値は、以下のように制約される。
- nal_unit_typeがDCI_NUT、VPS_NUT、VPS_NUT、またはSPS_NUTに等しい場合、TemporalIdは0に等しく、NALユニットを含むAUのTemporalIdは0に等しいものとする。
- そうでない場合、nal_unit_typeがPH_NUTに等しい場合、TemporalIdは、NALユニットを含むPUのTemporalIdであるものとする。
- そうでない場合、nal_unit_typeがEOS_NUTまたはEOB_NUTに等しい場合、TemporalIdは0に等しいものとする。
- そうでない場合、nal_unit_typeがAUD_NUT、FD_NUT、PREFIX_SEI_NUT、またはSUFFIX_SEI_NUTに等しい場合、TemporalIdはNALユニットを含むAUのTemporalIdであるものとする。
- そうでない場合、nal_unit_typeがPPS_NUT、PREFIX_APS_NUT、またはSUFFIX_APS_NUTに等しい場合、TemporalIdはNALユニットを含むPUのTemporalId以上であるものとする。
注7- NALユニットが非VCL NALユニットである場合、TemporalIdの値は、非VCL NALユニットが適用されるすべてのAUのTemporalId値の最小値に等しい。nal_unit_typeがPPS_NUT、PREFIX_APS_NUT、またはSUFFIX_APS_NUTに等しい場合、TemporalIdは、AUを含むTemporalId以上であってもよく、すべてのPPSおよびAPSがビットストリームの始まりに含まれてもよく(例えば、それらが帯域外に輸送されている場合、受信機はそれらをビットストリームの先端に配置する)、第1のコーディングされたピクチャは、0に等しいTemporalIdを有する。
【0064】
3.7. 適応ループフィルタ(ALF)
2つの菱形フィルタ形状(
図7に示す)がブロックベースのALFにおいて使用される。輝度成分に対し7×7の菱形が適用され、彩度成分には5×5の菱形が適用される。局所的な勾配の方向および活性度に基づいて、4×4ブロックごとに最大25個までのフィルタのうち1つを選択する。ピクチャにおける各4×4ブロックは、方向性および活性度に基づいて分類される。各4×4ブロックをフィルタリングする前に、そのブロックに対して計算された勾配値に基づいて、回転または対角および垂直フリップ等の簡単な幾何学的変換をフィルタ係数に適用することができる。これは、これらの変換をフィルタサポート領域内のサンプルに適用することに等しい。その考えは、ALFが適用される異なるブロックを、それらの方向性を揃えることによって、より類似させることである。ブロックベースの分類は彩度成分には適用されない。
【0065】
ALFフィルタパラメータは、適応パラメータセット(APS)において信号通知される。1つのAPSにおいて、最大25組の輝度フィルタ係数およびクリッピング値インデックス、並びに最大8組の彩度フィルタ係数およびクリッピング値インデックスを信号通知することができる。ビットオーバーヘッドを低減するために、輝度成分の異なる分類のフィルタ係数をマージすることができる。ピクチャまたはスライスヘッダにおいて、現在のピクチャまたはスライスに対して使用される輝度フィルタセットを特定するように、最大7個のAPSのIDを通知することができる。フィルタリング処理はCTBレベルでさらに制御される。1つの輝度CTBは、16個の固定フィルタセットと複数のAPSにおいて信号通知されるフィルタセットから、1つのフィルタセットを選択することができる。彩度成分の場合、現在のピクチャまたはスライスに使用されている彩度フィルタセットを示すように、ピクチャまたはスライスヘッダにAPS IDを信号通知する。CTBレベルにおいて、APSにおいて2以上の彩度フィルタセットが存在する場合、各彩度CTBに対しフィルタインデックスを信号通知する。CTBに対してALFが有効化されるとき、そのCTB内の各サンプルに対して、信号伝達された重みを有する菱形フィルタを実行し、クリッピング演算を適用して、隣接するサンプルと現在のサンプルとの間の差をクリップする。クリッピング演算は、現在のサンプル値とあまりにも異なる隣接サンプル値の影響を低減することによって、ALFをより効率的にするように、非線形性を導入する。
【0066】
クロスコンポーネント適応ループフィルタ(CC-ALF)は、前述のALFの上部の各彩度成分をさらに拡張することができる。CC-ALFの目的は、輝度サンプル値を使用して各彩度成分を洗練することである。これは、菱形のハイパス線形フィルタを適用し、このフィルタリング演算の出力を彩度微調整に用いることによって実現される。
図8は、他のループフィルタに対するCC-ALF処理のシステムレベルダイアグラムを提供する。
図8に示すように、CC-ALFは、全ループフィルタ処理の追加の工程を避けるために、輝度ALFと同じ入力を使用する。
【0067】
3.8. 彩度スケーリングを伴う輝度マッピング(LMCS)
【化5】
【0068】
4 開示される技術的解決策が解決しようとする技術課題の例
最近のVVCテキスト(JVET-Q2001-vE/v15)における既存の設計は、以下の問題を有する。
1) JVET-N0280における係数コーディングは、画面内容のコーディングにおいてコーディングの利点を実現することができるが、係数コーディングおよびTSモードは、依然としていくつかの欠点を有する可能性がある。
a) 例えば、BDPCMがシーケンスに対して無効になっている場合、コーディングフラグをコーディングするために使用されるコンテキスト(3.2.1章に記載)は非連続であってもよい。このような設計では、非連続的なコンテキストインデックスに関連付けられたメモリアドレスも非連続的であるため、コンテキストの切り替えが困難になる。
b) コーディングフラグにバイパスコーディングを使用するか、コンテキストコーディングを使用するかは、このケースでは不明である。
- 残りの許可されたコンテキストコーディングされたビンの数(RemCcbsで表される)は、0に等しい。
- 現在のブロックはTSモードでコーディングされる。
- slice_ts_residual_coding_disabled_flagはfalseである。
2) SEIメッセージの大部分の繰り返しは、PU内で最大4回に制限され、復号ユニット情報SEIメッセージの繰り返しは、DU内で最大4回に制限される。しかしながら、2つのVCL NALユニット間で同じSEIメッセージを複数回繰り返すことも可能であり、それは無意味である。
3) 2つのVCL NALユニットの間でSEI NALユニット以外の非VCL NALユニットの繰り返しは認められるが、これも意味がない。
4) APS NALユニットは複数のレイヤにわたって共有され得る。しかしながら、ALFの場合、フィルタは再構成されたサンプルに大きく依存し、異なるレイヤの場合は、同じ映像コンテンツであっても、QPが異なって使用される可能性があり、したがって、ほとんどの場合、異なるレイヤのピクチャに対して生成されたものからのALFフィルタ継承は、無視し得るコーディングゲインベネフィットを生じない。したがって、ALF APS動作をよりシンプルにするために、複数のレイヤにわたるAPS NALユニットの共有は禁止されるべきである。他のタイプのAPS(すなわち、LMCS APSおよびスケーリングリストAPS)についても同様である。
【化6】
6) 特定の値のaps_params_typeを有する全てのAPS NALユニットは、nuh_layer_idの値に関わらず、adaptation_parameter_set_idに対して同じ値空間を共有することが規定されている。ただし、その一方で、PU内でadaptation_parameter_set_idの特定の値およびaps_params_typeの特定の値を有する全てのAPS NALユニットは、これらがプレフィックスAPS NALユニット、サフィックスAPS NALユニットであるかに関わらず、同じ内容でなければならないことが規定されている。したがって、異なるNALユニットタイプを有する同じタイプのAPSが、adaptation_parameter_set_idに対して同じ値空間を共有することも理にかなっている。
7) APS NALユニット(nal_unit_typeの特定の値、adaption_parameter_set_idの特定の値、およびaps_params_typeの特定の値を有する)は、PU間でおよびCLVS間でも共有されることが認められている。しかし、特定のAPS NALユニットをCLVSにわたって共有できるような良好なコーディングゲインを有することは期待されない。
【0069】
5 技術的解決策および実施例の一覧
上述した課題等を解決するために、以下に示す方法が開示されている。これらの項目は、一般的な概念を説明するための例であり、狭義に解釈されるべきではない。さらに、これらの項目は、個々に適用されてもよく、または任意の方法で組み合わされてもよい。
【化7】
1. 符号フラグをコーディングするために許容されるコンテキストインデックスオフセットは、現在のブロックがモードXでコーディングされる場合、第1の範囲[N0,N1]内にあり、それ以外の場合は[N2,N3]であることが提案される。
a. 一例において、モードXは、輝度および/または彩度BDPCMモードであってもよい。
b. 一例において、N0、N1、N2、N3は、それぞれ0、2、3、5であることができる。
c. 一例において、上記例は、条件Mが偽である場合に適用されてもよい。
d. 一例として、上記の例は、ブロックに対して変換スキップ(transformation skip)を適用する場合に適用されてもよい。
e. N0、N1、N2、N3は、以下の1つ以上に基づいて決定されてもよい。
i. SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU行/LCU群/LCU/CUにおいて信号通知された指示
ii. 現在のブロックおよび/またはその隣接のブロックのブロック寸法
iii. 現在のブロックおよび/またはその隣接のブロックのブロック形状
iv. カラーフォーマットの表示(例えば、4:2:0、4:4:4)
v. 別個または二重のコーディングツリー構造が使用されているかどうか
vi. スライスのタイプおよび/またはピクチャのタイプ
vii. 色成分の数
2. (RemCcbsで表される)残りの許可されたコンテキストコーディングされたビンの数がNよりも小さい場合、符号フラグをバイパスモードでコーディングすることが提案される。
a. 一例において、符号フラグは、RemCcbs<Nである場合、バイパスモードでコーディングされる。
i. あるいは、一例において、RemCcbs≧Nである場合、符号フラグはコンテキストモードでコーディングされる。
b. 一例において、RemCcbsがNに等しい場合、符号フラグはバイパスモードでコーディングされる。
i. あるいは、一例において、RemCcbs>Nである場合、符号フラグはバイパスモードでコーディングされる。
c. 一例において、Nは4に等しく設定されてもよい。
i. あるいは、一例において、Nは0に等しく設定されてもよい。
d. 一例において、Nは整数であり、以下に基づいてもよい。
i. SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU行/LCU群/LCU/CUにおいて信号通知された指示
ii. 現在のブロックおよび/またはその隣接のブロックのブロック寸法
iii. 現在のブロックおよび/またはその隣接のブロックのブロック形状
iv. カラーフォーマットの表示(例えば、4:2:0、4:4:4)
v. 別個または二重のコーディングツリー構造が使用されているかどうか
vi. スライスのタイプおよび/またはピクチャのタイプ
vii. 色成分の数
e. 上記の例は、BDPCM符号化ブロックを含む、または含まない変換ブロックおよび/または変換スキップブロックに適用されてもよい。
3. 符号フラグをコーディングするためのコンテキストインデックスオフセットは、以下のうちの1つ以上に基づいて決定されてもよい。
a. SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU行/LCU群/LCU/CUにおいて信号通知された指示
b. 現在のブロックおよび/またはその隣接のブロックのブロック寸法
c. 現在のブロックおよび/またはその隣接のブロックのブロック形状
i. 一例において、符号フラグのコンテキスト値は、異なるブロック形状に対して別個であってもよい。
d. 現在のブロックの隣接ブロックの予測モード(イントラ/インター)
i. 一例において、符号フラグのコンテキスト値は、イントラブロックとインターブロックとで別個であってもよい。
e. 現在のブロックの隣接ブロックのBDPCMモードの表示
f. カラーフォーマットの表示(例えば、4:2:0、4:4:4)
g. 別個または二重のコーディングツリー構造が使用されているかどうか
h. スライスのタイプおよび/またはピクチャのタイプ
i. 色成分の数
i. 1つの例において、標識フラグのコンテキスト値は、輝度色成分と彩度色成分とで別個であってもよい。
【化8】
用語「スライスユニット」は、以下のように定義される。
【化9】
4. 問題2を解決するために、全てのタイプのSEIメッセージの1つ以上を、SU内で繰り返されるように許可されなくてもよい。
【化10】
b. あるいは、特定のペイロードタイプ値の任意のSEIメッセージを(内容にかかわらず)、SU内で繰り返されるように許可されない。
【化11】
c. あるいは、特定のペイロードタイプを有する任意のSEIメッセージを、SU内で更新するように許可されない。
【化12】
5. 問題3を解決するために、PREFIX_SEI_NUTおよびSUFFIX_SEI_NUT以外の非VCL NALタイプの1つ以上について、SU内の非VCL NALユニットの繰り返しを許可しなくてもよい。
a. 1つの例において、以下の制約の1つ以上が指定される:
【化13】
b. 代替的にまたは追加的に、DCI NALユニットを、CLVSまたはCVS内で繰り返すように許可されない。
c. 代替的にまたは追加的に、vps_video_parameter_set_idの特定の値を有するVPS NALユニットは、CLVSまたはCVS内で繰り返されるように許可されない。
d. 代替的にまたは追加的に、sps_seq_parameter_set_idの特定の値を有するSPS NALユニットは、CLVS内で繰り返されるように許可されない。
6. 問題4を解決するために、全てのタイプのAPSをレイヤにわたって共有してはならないことを規定してもよい。
a. あるいは、ALF APSをレイヤにわたって共有しないことを規定してもよい。
7. 問題5を解決するために、PU内でALF APSを更新することができることを規定してもよい。
a. あるいは、ピクチャユニット内で適応パラメータセットを更新することを許可しないことを規定してもよい。
8. 問題6を解決するために、nuh_layer_id値に関わらず、かつそれらがプレフィックスAPS NALユニットかサフィックスAPS NALユニットであるかどうかに関わらず、aps_params_typeの特定の値を有する全てのAPS NALユニットは、adapation_parameter_set_idに対して同じ値空間を共有することが規定されてもよい。
a. あるいは、LMCS APS NALユニットは、nuh_layer_id値に関わらず、かつそれらがプレフィックスAPS NALユニットかサフィックスAPS NALユニットであるかどうかに関わらず、adaptation_parameter_set_idに対して同じ値空間を共有することが規定されてもよい。
b. あるいは、ALF APS NALユニットは、nuh_layer_id値に関わらず、かつそれらがプレフィックスAPS NALユニットであるかサフィックスAPS NALユニットであるかどうかに関わらず、adaptation_parameter_set_idに対して同じ値空間を共有することが規定されてもよい。
9. 課題6を解決するために、APS NALユニット(nal_unit_typeの特定の値、adaptation_parameter_set_idの特定の値、およびaps_params_typeの特定の値)はCLVS間で共有してはならないことが規定されてもよい。
a. 一例において、VCL NALユニット vclNalUnitAが参照するAPS NALユニットは、vclNalUnitAを含むCLVSとは異なるCLVS内のVCL NALユニットの関連付けられた非VCL NALユニットであってはならないことが規定される。
b. あるいは、VCL NALユニット vclNalUnitAが参照するAPS NALユニットは、vclNalUnitAが関連付けられたIRAPピクチャと異なるIRAPピクチャに関連付けられたVCL NALユニットの関連付けられた非VCL NALユニットであってはならないことが規定される。
c. あるいは、VCL NALユニットvclNalUnitAによって参照されるAPS NALユニットは、vclNalUnitAが関連付けられたIRAPまたはGDRピクチャとは異なるIRAPまたはGDRピクチャに関連付けられたVCL NALユニットの関連付けられた非VCL NALユニットであってはならないことが規定される。
d. あるいは、APSはCVS間で共有されないように指定されてもよい。
i. あるいは、特定のAPSタイプ(例えば、ALF、LMCS、SCALING)を有するAPSは、CVS間で共有されないように指定されてもよい。
【0070】
6 実施形態
【化14】
この処理への入力は、色成分インデックスcIdx、現在のピクチャの左上サンプルに対して現在の変換ブロックの左上サンプルを規定する輝度位置(x0,y0)、現在の係数スキャン位置(xC,yC)である。
このプロセスの出力は変数ctxIncである。
変数leftSignおよびaboveSignは、以下のように導出される。
leftSign=(xC==0)?0:CoeffSignLevel[xC-1][yC] (1595)
aboveSign=(yC==0)?0:CoeffSignLevel[xC][yC-1] (1596)
変数ctxIncは、以下のように導出される。
- leftSignが0に等しく、aboveSignが0に等しい場合、またはleftSignが-aboveSignに等しい場合、以下が適用される。
ctxInc=(BdpcmFlag[x0][y0][cIdx]==0?0:3) (1597)
- leftSignが0以上かつaboveSignが0以上である場合、以下が適用される。
ctxInc=(BdpcmFlag[x0][y0][cIdx]==0?1:4) (1598)
- そうでない場合、以下が適用される。
ctxInc=(BdpcmFlag[x0][y0][cIdx]==0?2:5) (1599)
【0071】
6.2 実施形態♯2
【化15】
この処理への入力は、色成分インデックスcIdx、現在のピクチャの左上サンプルに対して現在の変換ブロックの左上サンプルを規定する輝度位置(x0,y0)、現在の係数スキャン位置(xC,yC)である。
このプロセスの出力は変数ctxIncである。
変数leftSignおよびaboveSignは、以下のように導出される。
leftSign=(xC==0)?0:CoeffSignLevel[xC-1][yC] (1595)
aboveSign=(yC==0)?0:CoeffSignLevel[xC][yC-1] (1596)
変数ctxIncは、以下のように導出される。
- leftSignが0に等しく、aboveSignが0に等しい場合、またはleftSignが-aboveSignに等しい場合、以下が適用される。
ctxInc=[[(BdpcmFlag[x0][y0][cIdx]==0?]]0[[:3)]] (1597)
- leftSignが0以上かつaboveSignが0以上である場合、以下が適用される。
ctxInc=[[(BdpcmFlag[x0][y0][cIdx]?]]1[[:4)]](1598)
- そうでない場合、以下が適用される。
ctxInc=[[(BdpcmFlag[x0][y0][cIdx]?]]2[[:5)]] (1599)
- BdpcmFlag[x0][y0][cIdx]が1に等しい場合、以下が適用される。
ctxInc=ctxInc+3
【0072】
【0073】
6.4 実施形態#4
本実施形態は5~7項に対するものである。
7.4.3.5 適応パラメータセット意味論
各APS RBSPは、それが参照される前に復号処理で利用できるか、それを参照するコーディングされたスライスNALユニットのTemporalId以下のTemporalIdを有するつ少なくとも一つのAU内に含まれるか、外部手段を通じて提供されるものとする。
【化17】
aps_params_typeがALF_APSまたはSCALING_APSに等しい場合、adaptation_parameter_set_idの値は0~7の範囲に含まれるものとする。
aps_params_typeがLMCS_APSに等しい場合、adaptation_parameter_set_idの値は0~3の範囲にあるものとする。
apsLayerIdを特定のAPS NALユニットのnuh_layer_idの値とし、vclLayerIdを特定のVCL NALユニットのnuh_layer_idの値とする。特定のVCL NALユニットは、apsLayerIdがvclLayerIdに[[以下]]であり、[[nuh_layer_idがapsLayerIdであるレイヤが、vclLayerIdであるnuh_layer_idを有するレイヤを含む少なくとも1つのOLSに含まれていない限り、特定のAPS NALユニットを参照しないものとする。]]
【化18】
1.表6-APSパラメータのタイプコードおよびAPSパラメータのタイプ
【表22】
【化19】
【化20】
【0074】
6.5. 符号フラグをコーディングするための実施例
一実施例において、RemCcbsが0より小さい場合、バイパスコーディングが用いられる。
表131-コンテキスト符号化ビンを有する構文要素へのctxIncの割り当て
【表23】
【化21】
表131-コンテキスト符号化ビンを有する構文要素へのctxIncの割り当て
【表24】
あるいは、一実施例において、RemCcbsが4より小さい場合、バイパスコーディングが用いられる。
表131-コンテキスト符号化ビンを有する構文要素へのctxIncの割り当て
【表25】
【0075】
図1は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1900を示すブロック図である。様々な実装形態は、システム1900のモジュールの一部または全部を含んでもよい。システム1900は、映像コンテンツを受信するための入力ユニット1902を含んでもよい。映像コンテンツは、未加工または非圧縮フォーマット、例えば、8または10ビットのマルチコンポーネント画素値で受信されてもよく、または圧縮または符号化フォーマットで受信されてもよい。入力ユニット1902は、ネットワークインターフェース、周辺バスインターフェース、または記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)等の有線インターフェース、およびWi-Fiまたはセルラーインターフェース等の無線インターフェースを含む。
【0076】
システム1900は、本明細書に記載される様々なコーディングまたは符号化方法を実装することができるコーディングモジュール1904を含んでもよい。コーディングコンポーネント1904は、入力1902からの映像の平均ビットレートをコーディングコンポーネント1904の出力に低減し、映像のコーディング表現を生成してもよい。従って、このコーディング技術は、映像圧縮または映像トランスコーディング技術と呼ばれることがある。コーディングコンポーネント1904の出力は、コンポーネント1906によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力1902において受信された、記憶されたまたは通信された映像のビットストリーム(またはコーディングされた)表現は、コンポーネント1908によって使用されて、表示インターフェース1910に送信される画素値または表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「コーディング」動作またはツールと呼ぶが、コーディングツールまたは動作は、エンコーダで使用され、対応する復号ツールまたは動作でありコーディングの結果を逆にするものは、デコーダによって行われることが理解されよう。
【0077】
周辺バスインターフェースまたは表示インターフェースの例は、ユニバーサルシリアルバス(USB)または高精細マルチメディアインターフェース(HDMI)またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、またはデジタルデータ処理および/または映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0078】
図2は、映像処理装置3600のブロック図である。装置3600は、本明細書に記載の方法の1つ以上を実装するために使用されてもよい。装置3600は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機等に実施されてもよい。装置3600は、1つ以上の処理装置3602と、1つ以上のメモリ3604と、映像処理ハードウェア3606と、を含んでもよい。1つまたは複数のプロセッサ3602は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)3604は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア3606は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
【0079】
図4は、本開示の技法を利用し得る例示的な映像符号化システム100を示すブロック図である。
【0080】
図4に示すように、映像コーディングシステム100は、送信元デバイス110と、送信先デバイス120と、を備えてもよい。送信元デバイス110は、映像コーディング機器とも称され得る符号化された映像データを生成する。送信先装置120は、送信元装置110によって生成された、コーディング映像データを復号してよく、映像復号デバイスと呼ばれ得る。
【0081】
送信元デバイス110は、映像ソース112と、映像エンコーダ114と、入出力(I/O)インターフェース116と、を含んでよい。
【0082】
映像ソース712は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイダからの映像データを受信するためのインターフェース、および/または映像データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせたものを含んでもよい。映像データは、1または複数のピクチャを含んでもよい。映像エンコーダ114は、映像ソース112からの映像データを符号化し、ビットストリームを生成する。ビットストリームは、映像データのコーディング表現を形成するビットのシーケンスを含んでもよい。ビットストリームは、コーディングされたピクチャおよび関連付けられたデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディング表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメータセット、および他の構文構造を含んでもよい。I/Oインターフェース116は、変復調器(モデム)および/または送信機を含んでもよい。符号化された映像データは、ネットワーク130aを介して、I/Oインターフェース116を介して送信先デバイス120に直接送信されてよい。符号化された映像データは、送信先デバイス120によるアクセスのために、記録媒体/サーバ130b上に記憶されてもよい。
【0083】
送信先デバイス120は、I/Oインターフェース126、映像デコーダ124、および表示装置122を含んでもよい。
【0084】
I/Oインターフェース126は、受信機および/またはモデムを含んでもよい。I/Oインターフェース126は、送信元デバイス110または記憶媒体/サーバ130bから符号化された映像データを取得してもよい。映像デコーダ124は、符号化された映像データを復号してもよい。表示装置122は、復号された映像データをユーザに表示してもよい。表示装置122は、送信先デバイス120と一体化されてもよく、または外部表示装置とインターフェースするように構成される送信先デバイス120の外部にあってもよい。
【0085】
映像エンコーダ114および映像デコーダ124は、高効率映像符号化(HEVC)規格、汎用映像符号化(VVVM)規格、および他の現在のおよび/または更なる規格等の映像圧縮規格に従って動作してもよい。
【0086】
図5は、映像エンコーダ200の一例を示すブロック図であり、
図4に示されるシステム100における映像エンコーダ114であってもよい。
【0087】
映像エンコーダ200は、本開示の技術のいずれかまたは全部を実行するように構成されてもよい。
図5の例において、映像エンコーダ200は、複数の機能コンポーネントを含む。本開示で説明される技法は、映像エンコーダ200の様々なモジュール間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0088】
映像エンコーダ200の機能コンポーネントは、分割ユニット201、予測ユニット202を含んでもよく、予測ユニット202は、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205、およびイントラ予測ユニット206、残差生成ユニット207、変換ユニット208、量子化ユニット209、逆量子化ユニット210、逆変換ユニット211、再構成ユニット212、バッファ213、およびエントロピーエンコーディングユニット214を含んでもよい。
【0089】
他の例において、映像エンコーダ200は、より多く、より少ない、または異なる機能コンポーネントを含んでもよい。一例において、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが現在の映像ブロックが位置するピクチャであるIBCモードにおいて予測を行うことができる。
【0090】
さらに、動き推定部204および動き補償部205などのいくつかのモジュールは、高度に統合されてもよいが、説明のために、
図5の例においては別個に表現されている。
【0091】
分割部201は、ピクチャを1または複数の映像ブロックに分割してもよい。映像エンコーダ200および映像デコーダ300は、様々な映像ブロックサイズをサポートしてもよい。
【0092】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラまたはインターのいずれかのコーディングモードの1つを選択し、得られたイントラまたはインターコーディングブロックを、残差生成ユニット207に供給して残差ブロックデータを生成し、再構成ユニット212に供給して参照ピクチャとしての使用のために符号化ブロックを再構成してもよい。いくつかの例において、モード選択ユニット203は、インター予測信号およびイントラ予測信号に基づいて予測を行うCIIP(Combination of Intra and Inter Prediction)モードを選択してもよい。また、モード選択ユニット203は、インター予測の場合、ブロックの動きベクトルの解像度(例えば、サブピクセルまたは整数画素精度)を選択してもよい。
【0093】
現在の映像ブロックに対してインター予測を行うために、動き推定ユニット204は、バッファ213からの1または複数の参照フレームと現在の映像ブロックとを比較することで、現在の映像ブロックのための動き情報を生成してもよい。動き補償部205は、現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの動き情報および復号されたサンプルに基づいて、現在の映像ブロックのための予測映像ブロックを判定してもよい。
【0094】
動き推定部204および動き補償部205は、現在の映像ブロックがIスライス、Pスライス、またはBスライスであるかに基づいて、例えば、現在の映像ブロックに対して異なる動作を行ってもよい。
【0095】
いくつかの例では、動き推定ユニット204は、現在の映像ブロックに対して単一方向予測を行い、動き推定ユニット204は、現在の映像ブロックに対して、参照映像ブロック用のリスト0またはリスト1の参照ピクチャを検索してもよい。そして、動き推定ユニット204は、参照映像ブロックと、現在の映像ブロックと参照映像ブロックとの間の空間的変位を示す動きベクトルとを含む、リスト0またはリスト1における参照ピクチャを示す参照インデックスを生成してもよい。動き推定ユニット204は、参照インデックス、予測方向インジケータ、および動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在のブロックの予測映像ブロックを生成してもよい。
【0096】
他の例において、動き推定部204は、現在の映像ブロックに双方向予測を実行してもよく、動き推定部204は、リスト0における参照ピクチャの中から現在の映像ブロックを求めるための参照映像ブロックを検索してもよく、また、リスト1における参照ピクチャの中から現在の映像ブロックを求めるための別の参照映像ブロックを検索してもよい。そして、動き推定ユニット204は、参照映像ブロックを含むリスト0およびリスト1における参照ピクチャを示す参照インデックスと、参照映像ブロックと現在の映像ブロックとの間の空間的変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在の映像ブロックの参照インデックスおよび動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償部205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在の映像ブロックの予測映像ブロックを生成してもよい。
【0097】
いくつかの例では、動き推定部204は、デコーダの復号処理のために、動き情報のフルセットを出力してもよい。
【0098】
いくつかの例では、動き推定ユニット204は、現在の映像のための動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、別の映像ブロックの動き情報を参照して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定ユニット204は、現在の映像ブロックの動き情報が隣接の映像ブロックの動き情報に十分に類似していることを判定してもよい。
【0099】
一例において、動き推定部204は、現在の映像ブロックに関連付けられた構文構造において、現在の映像ブロックが他の映像ブロックと同じ動き情報を有することを映像デコーダ300に示す値を示してもよい。
【0100】
他の例において、動き推定部204は、現在の映像ブロックに関連付けられた構文構造において、別の映像ブロックと、動きベクトル差分(MVD;Motion Vector Difference)とを識別してもよい。動きベクトル差分は、現在の映像ブロックの動きベクトルと、示された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、指示された映像ブロックの動きベクトルおよび動きベクトル差分を使用して、現在の映像ブロックの動きベクトルを決定してもよい。
【0101】
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよい。映像エンコーダ200によって実装され得る予測信号通知技法の2つの例は、高度動きベクトル予測(AMVP)およびマージモード信号通知を含む。
【0102】
イントラ予測ユニット206は、現在の映像ブロックに対してイントラ予測を行ってもよい。イントラ予測ユニット206が現在の映像ブロックをイントラ予測する場合、イントラ予測ユニット206は、同じピクチャにおける他の映像ブロックの復号されたサンプルに基づいて、現在の映像ブロックのための予測データを生成してもよい。現在の映像ブロックのための予測データは、予測された映像ブロックおよび様々な構文要素を含んでもよい。
【0103】
残差生成ユニット207は、現在の映像ブロックから現在の映像ブロックの予測された映像ブロックを減算することによって(例えば、マイナス符号によって示されている)、現在の映像ブロックのための残差データを生成してもよい。現在の映像ブロックの残差データは、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロックを含んでもよい。
【0104】
他の例において、例えば、スキップモードにおいて、現在の映像ブロックのための残差データがなくてもよく、残差生成ユニット207は、減算演算を行わなくてもよい。
【0105】
変換処理ユニット208は、現在の映像ブロックに関連付けられた残差映像ブロックに1または複数の変換を適用することによって、現在の映像ブロックのための1または複数の変換係数映像ブロックを生成してもよい。
【0106】
変換処理ユニット208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成した後、量子化ユニット209は、現在の映像ブロックに関連付けられた1または複数の量子化パラメータ(QP:Quantization Parameter)値に基づいて、現在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
【0107】
逆量子化ユニット210および逆変換ユニット211は、変換係数映像ブロックに逆量子化および逆変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい。再構成部212は、予測部202によって生成された1または複数の予測映像ブロックから対応するサンプルに再構成された残差映像ブロックを追加して、バッファ213に格納するための現在のブロックに関連付けられた再構成された映像ブロックを生成してもよい。
【0108】
再構成ユニット212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキングアーチファクトを縮小するために、ループフィルタリング動作が行われてもよい。
【0109】
エントロピーエンコーディングユニット214は、映像エンコーダ200の他の機能コンポーネントからデータを受信してもよい。エントロピー符号化部214がデータを受信した場合、エントロピー符号化部214は、1または複数のエントロピー符号化動作を行い、エントロピー符号化されたデータを生成し、エントロピー符号化されたデータを含むビットストリームを出力してもよい。
【0110】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを有効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが有効化される場合、エンコーダは、1つの映像ブロックを処理する際にツールまたはモードを使用するまたは実装するが、ツールまたはモードの使用に基づいて、結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、映像のブロックから映像のビットストリーム(またはビットストリーム表現)への変換は、決定または判定に基づいて映像処理ツールまたはモードが有効化される場合に、映像処理ツールまたはモードを使用する。別の例において、映像処理ツールまたはモードが有効化される場合、デコーダは、ビットストリームが映像処理ツールまたはモードに基づいて修正されたことを知って、ビットストリームを処理する。すなわち、決定または判定に基づいて有効化された映像処理ツールまたはモードを使用して、映像のビットストリームから映像のブロックへの変換を行う。
【0111】
図6は、映像デコーダ300の一例を示すブロック図であり、映像デコーダ300は、
図4に示すシステム100における映像デコーダ114であってもよい。
【0112】
映像デコーダ300は、本開示の技術のいずれかまたは全部を実行するように構成されてもよい。
図6の例において、映像デコーダ300は、複数の機能コンポーネントを含む。本開示で説明される技法は、映像デコーダ300の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0113】
図6の実施例において、映像デコーダ300は、エントロピー復号部301、動き補償部302、イントラ予測部303、逆量子化部304、逆変換部305、および再構成部306、並びにバッファ307を含む。映像デコーダ300は、いくつかの例では、映像エンコーダ200(
図5)に関して説明したエンコーディングパスとほぼ逆のデコーディングパスを行ってもよい。
【0114】
エントロピー復号部301は、符号化されたビットストリームを取り出す。符号化されたビットストリームは、エントロピー符号化された映像データ(例えば、映像データの符号化されたブロック)を含んでもよい。エントロピー復号ユニット301は、エントロピー符号化された映像データを復号し、エントロピー復号された映像データから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む動き情報を決定してもよい。動き補償ユニット302は、例えば、AMVPおよびマージモードを実行することで、このような情報を判定してもよい。
【0115】
動き補償ユニット302は、動き補償されたブロックを生成してもよく、場合によっては、補間フィルタに基づいて補間を実行する。構文要素には、サブピクセルの精度で使用される補間フィルタのための識別子が含まれてもよい。
【0116】
動き補償部302は、映像ブロックの符号化中に映像エンコーダ200によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数画素のための補間値を計算してもよい。動き補償ユニット302は、受信した構文情報に基づいて、映像エンコーダ200が使用する補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成してもよい。
【0117】
動き補償部302は、構文情報の一部を用いて、符号化された映像シーケンスのフレームおよび/またはスライスを符号化するために使用されるブロックのサイズ、符号化された映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのように符号化されるかを示すモード、各インター符号化されたブロックに対する1または複数の参照フレーム(および参照フレームリスト)、および符号化された映像シーケンスを復号するための他の情報を決定してもよい。
【0118】
イントラ予測ユニット303は、例えば、ビットストリームにおいて受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してもよい。逆量子化ユニット303は、ビットストリームに提供され、エントロピー復号ユニット301によって復号された量子化された映像ブロック係数を逆量子化(すなわち、逆量子化)する。逆変換ユニット303は、逆変換を適用する。
【0119】
再構成部306は、残差ブロックと、動き補償部202またはイントラ予測部303によって生成された対応する予測ブロックとを合計し、復号されたブロックを形成してもよい。所望であれば、ブロックアーチファクトを除去するために、復号されたブロックをフィルタリングするためにデブロッキングフィルタを適用してもよい。復号された映像ブロックは、バッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のために参照ブロックを提供し、表示装置に表示するために復号された映像を生成する。
【0120】
次に、いくつかの実施形態において好適な解決策を列挙する。
【0121】
以下の解決策は、前章(例えば、項目1)で論じた技術の例示的な実施形態を示す。
【0122】
1.本発明の映像加工方法(例えば、
図3に示される方法3000)は、映像の現在のブロックとこの映像のコーディングされた表現との変換(3002)を行うことを含み、このコーディングされた表現は、コーディングされた表現におけるこの現在のブロックの符号フラグをコーディングするために使用されるコンテキストインデックスオフセットが、ある範囲内にあることを規定するフォーマット規則に準拠し、この範囲はこのコーディングされた表現におけるこの現在のブロックを表現するために用いられるコーディングモードの範囲関数である。
【0123】
2.前記規則は、コーディングモードが特定のモードである場合、前記範囲が[N0,N1]であり、そうでない場合、[N2,N3]であることを規定する、解決策1に記載の方法。
【0124】
3.前記特定のモードは、彩度または輝度ブロック差動パルス符号変調モードである、解決策2に記載の方法。
【0125】
以下の解決策は、前章(例えば、項目2)で論じた技術の例示的な実施形態を示す。
【0126】
4.映像の現在のブロックとこの映像のコーディングされた表現との変換を行うことを含み、このコーディングされた表現は、この現在のブロックの符号フラグが、コンテキストコーディングされたビンまたはバイパスモードのうちの1つを、残りのコンテキストコーディングされたビンの数に応じて使用してコーディングされた表現でコーディングされることを規定するフォーマット規則に準拠する、映像処理方法
【0127】
5.前記バイパスモードは、残りのコンテキストコーディングされたビンの数がNよりも小さく、Nが正の整数である場合、かつその場合に限りコーディングに使用される、解決策4に記載の方法。
【0128】
6.前記バイパスモードは、残りのコンテキストコーディングされたビンの数がNに等しく、Nが正の整数である場合、かつその場合に限りコーディングに使用される、解決策5に記載の方法。
【0129】
以下の解決策は、前章(例えば、項目2)で論じた技術の例示的な実施形態を示す。
【0130】
7.映像の現在のブロックと前記映像のコーディングされた表現との変換を行うことを含み、前記変換は、ブロックベースのデルタパルスコード変調(BDPCM)モードを使用し、前記コーディングされた表現は、前記符号フラグをコーディングするためのコンテキストインデックスオフセットが前記現在のブロックのコーディング条件の関数となるように、前記BDPCMからの符号フラグを前記コーディングされた表現においてコンテキストコーディングすることを規定するフォーマット規則に準拠する、映像処理方法。
【0131】
8.前記コーディング条件は、シーケンスパラメータセットまたは映像パラメータセットまたはピクチャパラメータセットまたはピクチャヘッダまたはスライスヘッダまたはタイル群ヘッダまたは論理コーディングユニットレベルまたはLCU群またはコーディングユニットレベルにおける前記コーディングされた表現に含まれる構文要素に対応する、解決策7に記載の方法。
【0132】
9.前記コーディング条件は、前記現在のブロックおよび/または隣接ブロックのブロック寸法に対応する、解決策7に記載の方法。
【0133】
以下の解決策は、前章(例えば、項目4)で論じた技術の例示的な実施形態を示す。
【0134】
10.映像の現在のブロックと前記映像のコーディングされた表現との変換を行うことを含み、前記コーディングされた表現は、連続した復号順にあり、かつ単一のコーディングされたスライスを含むネットワーク抽象化レイヤユニットのセットに対応する、前記コーディングされた表現におけるスライスユニットが、補足拡張情報(SEI)の少なくとも部分を最大でも1回含むように許可されることを規定するフォーマット規則に準拠する、映像処理方法。
【0135】
11.SEIの前記部分がSEI全体に対応する、解決策10に記載の方法。
【0136】
12.SEIの前記部分は、特定のタイプのSEI情報フィールドに対応する、解決策10に記載の方法。
【0137】
以下の解決策は、前章(例えば、項目5)で論じた技術の例示的な実施形態を示す。
【0138】
13.映像の現在のブロックと前記映像のコーディングされた表現との変換を行うことを含み、前記コーディングされた表現は、連続した復号順にあり、かつ単一のコーディングされたスライスを含むネットワーク抽象化レイヤユニットのセットに対応する、前記コーディングされた表現におけるスライスユニットが、1つ以上の映像コーディングレイヤネットワーク抽象化レイヤ(VCL NAL)ユニットを含むことを規定するフォーマット規則に準拠し、前記フォーマット規則はさらに、前記スライスユニットにおいて、繰り返されるように許可される第1のタイプのユニットと繰り返されるように許可されない第2のタイプのユニットとを規定する、映像処理方法。
【0139】
14.前記第2のタイプのユニットが、ある範囲のタイプを有するユニットを含む、解決策13に記載の方法。
【0140】
以下の解決策は、前章(例えば、項目6、7)で論じた技術の例示的な実施形態を示す。
【0141】
15.規則に基づいて、1つ以上の映像レイヤを含む映像と前記映像のコーディングされた表現との変換を行うことを含み、前記コーディングされた表現は、1つ以上の適応パラメータセット(APS)を含み、前記規則は、前記1つ以上のAPSのうちのいくつかの前記1つ以上の映像レイヤの前記変換への適用可能性を規定する、映像処理方法。
【0142】
16.前記規則は、前記1つ以上のAPSの全てが前記1つ以上の映像レイヤにわたって共有されることは許可されないことを規定する、解決策15に記載の方法。
【0143】
以下の解決策は、前章(例えば、項目8、9)で論じた技術の例示的な実施形態を示す。
【0144】
17.規則に従って、1つ以上の映像レイヤを含む映像と前記映像のコーディングされた表現との変換を行うことを含み、前記コーディングされた表現は、1つ以上のネットワーク抽象化レイヤ(NAL)ユニット中に構成され、前記コーディングされた表現は、前記変換の特徴を制御するための1つ以上の適応パラメータセットを含む、映像処理方法。
【0145】
18.前記規則は、特定のタイプを有する全ての適応パラメータセットもまた、それぞれの識別子値に対して同じ空間値を共有することを規定する、解決策17に記載の方法。
【0146】
19.前記規則は、前記1つ以上の映像レイヤが特定の適応パラメータセットネットワーク抽象化レイヤユニットを共有するように許可されないことを規定する、解決策17に記載の方法。
【0147】
20.変換は、映像をコーディング表現に符号化することを含む、解決策1~19のいずれかに記載の方法。
【0148】
21.変換は、映像の画素値を生成するためにコーディング表現を復号することを含む、解決策1~19のいずれかに記載の方法。
【0149】
22.解決策1~21の1つ以上に記載の方法を実装するように構成された処理装置を備える、映像復号装置。
【0150】
23.解決策1~21の1つ以上に記載の方法を実装するように構成された処理装置を備える、映像符号化装置。
【0151】
24.コンピュータコードが記憶されたコンピュータプログラム製品であって、コードは、プロセッサにより実行されると、プロセッサに、解決策1~21のいずれかに記載の方法を実装させるコンピュータプログラム製品。
【0152】
25.本明細書に記載の方法、装置またはシステム。
【0153】
図9は、映像処理の方法900の一例を示すフローチャートである。動作902は、映像の現在のブロックと前記映像のビットストリームとの変換を行うことを含み、前記ビットストリームは、前記ビットストリームに第1の係数の第1の符号フラグを含めるためにコンテキストインデックスオフセットを使用することを規定する規則に準拠し、前記規則は、前記コンテキストインデックスオフセットの値が、前記ビットストリームにおける前記現在のブロックに第1のコーディングモードが適用されるかどうかに基づくことを規定する。
【0154】
方法900のいくつかの実施例において、前記規則は、前記第1のコーディングモードが適用されない場合、前記コンテキストインデックスオフセットの前記値がN0~N1の第1の範囲内にあることを規定し、前記第1のコーディングモードが適用される場合、前記規則は、前記コンテキストインデックスオフセットの前記値がN2~N3の第2の範囲内にあることを規定する。方法900のいくつかの実施例において、前記第1のコーディングモードにおいて、パルスコーディング変調表現を用いて、前記ビットストリームにおいて、量子化残差と前記量子化残差の予測との差を表現する。方法900のいくつかの実施例において、N0、N1、N2、N3はそれぞれ、0、2、3、5である。方法900のいくつかの実施例において、第1の隣接符号値および第2の隣接符号値が第1の条件を満たすことに応じて、前記コンテキストインデックスオフセットの前記値は0または3に等しく、前記第1の条件は、(1)前記第1の隣接符号値は0に等しく、第2の隣接符号値が0に等しい、または(2)前記第1の隣接符号値は、前記第2の隣接符号値の負数に等しい、であり、ここで、前記第1の隣接符号値は前記第1の係数の水平座標が0であることに応じて0に等しく、前記第1の係数の前記水平座標がゼロでないことに応じて左隣接係数の符号値に等しく、前記第2の隣接符号値は前記第1の係数の垂直座標が0であることに応じて0に等しく、前記第1の係数の前記垂直座標が0でないことに応じて、上側の隣接係数の符号値に等しい。
【0155】
方法900のいくつかの実施例において、前記第1のコーディングモードが前記現在のブロックに適用されないことに応じて、前記コンテキストインデックスオフセットの値は0に等しく、前記第1のコーディングモードが前記現在のブロックに適用されることに応じて、前記コンテキストインデックスオフセットの値は3に等しい。方法900のいくつかの実施例において、前記第1の隣接符号値および前記第2の隣接符号値が前記第1の条件を満たさないことに応じて、かつ前記第1の隣接符号値および前記第2の隣接符号値が第2の条件を満たすことに応じて、前記コンテキストインデックスオフセットの値は1または4に等しく、前記第2の条件は、(1)前記第1の隣接符号値は0以上で、前記第2の隣接符号値は0以上、である。方法900のいくつかの実施例において、前記第1のコーディングモードが前記現在のブロックに適用されないことに応じて、前記コンテキストインデックスオフセットの前記値は1に等しく、前記第1のコーディングモードが前記現在のブロックに適用されることに応じて、前記コンテキストインデックスオフセットの前記値は4に等しい。方法900のいくつかの実施例において、前記第1の隣接符号値および前記第2の隣接符号値が前記第1の条件および前記第2の条件を満たさないことに応じて、前記コンテキストインデックスオフセットの前記値は2または5に等しい。
【0156】
方法900のいくつかの実施例において、前記第1のコーディングモードが前記現在のブロックに適用されないことに応じて、前記コンテキストインデックスオフセットの前記値は2に等しく、前記第1のコーディングモードが前記現在のブロックに適用されることに応じて、前記コンテキストインデックスオフセットの前記値は5に等しい。方法900のいくつかの実施例において、前記現在のブロックに対して変換スキップ処理を適用する。方法900のいくつかの実施例において、前記規則は、N0、N1、N3、およびN3が、(1)シーケンスパラメータセット、映像パラメータセット、ピクチャパラメータセット、ピクチャヘッダ、スライスヘッダ、タイル群ヘッダ、最大コーディングユニット行、最大コーディングユニット群、最大コーディングユニットまたはコーディングユニットに含まれる指示、(2)前記現在のブロックのブロック寸法および/または前記ブロックの隣接ブロックのブロック寸法、(3)前記ブロックのブロック形状および/または前記現在のブロックの隣接ブロックのブロック形状、(4)前記映像のカラーフォーマットの指示、(5)前記現在のブロックに別個または二重のコーディングツリー構造を適用するかどうか、(6)前記現在のブロックが属するスライスタイプおよび/またはピクチャタイプ、および(7)前記現在のブロックの色成分の数、のうちのいずれか1つ以上に基づいて決定されることを規定する。
【0157】
図10は、映像処理の方法1000の一例を示すフローチャートである。動作1002は、映像の現在のブロックと前記映像のビットストリームとの変換を行うことを含み、前記ビットストリームは、残りのコンテキストコーディングされたビンの数に基づいてコンテキストモードまたはバイパスモードのいずれか1つを用いて、前記現在のブロックの符号フラグが前記ビットストリームに含まれることを規定する規則に準拠する。
【0158】
方法1000のいくつかの実施例において、前記規則は、残りのコンテキストコーディングされたビンの前記数が、Nが整数である場合に、N未満であることに応じて、前記ビットストリームに前記符号フラグを含めるために前記バイパスモードを使用することを規定する。方法1000のいくつかの実施例において、前記規則は、残りのコンテキストコーディングされたビンの前記数が、Nが整数である場合に、N以上であることに応じて、前記符号フラグを前記ビットストリームに含めるために前記コンテキストモードを使用することを規定する。方法1000のいくつかの実施例において、前記規則は、残りのコンテキストコーディングされたビンの前記数が、Nが整数である場合に、Nに等しいことに応じて、前記ビットストリームに前記符号フラグを含めるために前記バイパスモードを使用することを規定する。方法1000のいくつかの実施例において、前記規則は、残りのコンテキストコーディングされたビンの前記数が、Nが整数である場合に、Nよりも大きいことに応じて、前記ビットストリームに前記符号フラグを含めるために前記バイパスモードを使用することを規定する。方法1000のいくつかの実施形態において、Nは4に等しい。方法1000のいくつかの実施形態において、Nは0に等しい。
【0159】
方法1000のいくつかの実施例において、Nは、(1)シーケンスパラメータセット、映像パラメータセット、ピクチャパラメータセット、ピクチャヘッダ、スライスヘッダ、タイル群ヘッダ、最大コーディングユニット行、最大コーディングユニット群、最大コーディングユニットまたはコーディングユニットに含まれる指示、(2)前記現在のブロックのブロック寸法および/または前記ブロックの隣接ブロックのブロック寸法、(3)前記ブロックのブロック形状および/または前記現在のブロックの隣接ブロックのブロック形状、(4)前記映像のカラーフォーマットの指示、(5)前記現在のブロックに別個または二重のコーディングツリー構造を適用するかどうか、(6)前記現在のブロックが属するスライスタイプおよび/またはピクチャタイプ、および(7)前記現在のブロックの色成分の数、のうちのいずれか1つ以上に基づいて決定されることを規定する。方法1000のいくつかの実施例において、前記規則は、前記現在のブロックが変換ブロックまたは変換スキップブロックであることを規定する。方法1000のいくつかの実施例において、前記規則は、ブロック差動パルスコーディングされた変調モードを前記現在のブロックに適用することを規定する。方法1000のいくつかの実施例において、前記規則は、ブロック差動パルスコーディングされた変調モードが前記現在のブロックに適用されないことを規定する。
【0160】
図11は、映像処理の方法1100の一例を示すフローチャートである。動作1102は、映像の現在のブロックと前記映像のビットストリームとの変換を行うことを含み、前記ビットストリームは、前記ビットストリームに前記現在のブロックの符号フラグを含めるためにコンテキストインデックスオフセットを使用することを規定する規則に準拠し、前記規則は、前記コンテキストインデックスオフセットを前記現在のブロックの情報に基づいて決定することを規定する。
【0161】
方法1100のいくつかの実施例において、前記情報は、シーケンスパラメータセット、映像パラメータセット、ピクチャパラメータセット、ピクチャヘッダ、スライスヘッダ、タイル群ヘッダ、最大コーディングユニット行、最大コーディングユニット群、最大コーディングユニット、またはコーディングユニットにおける指示を含む。方法1100のいくつかの実施例において、前記情報は、前記現在のブロックのブロック寸法および/または前記現在のブロックの隣接ブロックのブロック寸法を含む。方法1100の一部の実施例において、前記情報は、前記現在のブロックのブロック形状および/または前記現在のブロックの隣接ブロックのブロック形状を含む。方法1100の一部の実施例において、前記符号フラグのコンテキスト値は、異なるブロック形状に対して別個である。方法1100のいくつかの実施例において、前記情報は、前記現在のブロックの1つ以上の隣接ブロックの1つ以上の予測モードを含む。方法1100のいくつかの実施例において、前記1つ以上の予測モードは、イントラ予測モードを含む。方法1100のいくつかの実施例において、前記1つ以上の予測モードは、インター予測モードを含む。
【0162】
方法1100のいくつかの実施例において、前記符号フラグのコンテキスト値は、1つ以上のインターコーディングされたブロックと、1つ以上のイントラコーディングされたブロックに対して別個である。方法1100のいくつかの実施例において、前記情報は、前記現在のブロックの隣接ブロックのブロックベースのデルタパルスコード変調モードの指示を含む。方法1100のいくつかの実施例において、前記情報は、前記映像のカラーフォーマットの指示を含む。方法1100のいくつかの実施例において、前記情報は、前記現在のブロックに対して別個または二重のコーディングツリー構造を適用するかを含む。方法1100のいくつかの実施例において、前記情報は、前記現在のブロックが属するスライスタイプおよび/またはピクチャタイプを含む。方法1100のいくつかの実施例において、前記情報は、前記現在のブロックの色成分の数を含む。方法1100のいくつかの実施例において、前記符号フラグのコンテキスト値は、前記現在のブロックの輝度色成分と前記現在のブロックの彩度色成分に対して別個である。方法(群)900~1100のいくつかの実施例において、前記現在のブロックは、バイナリデルタパルスコード変調モードを用いて前記ビットストリームにおいて表現される。
【0163】
図12は、映像処理の方法1200の一例を示すフローチャートである。動作1202は、規則に従って、1つ以上の映像レイヤを含む映像と前記映像のビットストリームとの変換を行うことを含み、前記規則は、前記映像に複数の適応パラメータセットネットワーク抽象化レイヤユニットを使用することを規定し、各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する適応パラメータタイプ値を有し、各適応パラメータセットネットワーク抽象化レイヤユニットは、対応する映像レイヤ識別子に関連付けられ、各適応パラメータセットネットワーク抽象化レイヤユニットは、プレフィックスユニットまたはサフィックスユニットであり、前記規則は、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットが同じ適応パラメータタイプ値を共有することに応じて、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットの適応パラメータセット識別子値が同じ識別子空間に属することを規定する。
【0164】
方法1200のいくつかの実施例において、前記規則は、複数の適応パラメータセットネットワーク抽象化レイヤユニットが、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットの複数の映像レイヤ識別子とは独立した前記同じ適応パラメータタイプ値を共有することを規定する。方法1200のいくつかの実施例において、前記規則は、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットがプレフィックスユニットであるかサフィックスユニットであるかに関わらず、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットが前記同じ適応パラメータタイプ値を共有することを規定する。方法1200のいくつかの実施例において、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットは、複数の第1のモード適応パラメータセットネットワーク抽象化レイヤユニットであり、第1のモードにおいて、線形モデルに基づいてマッピングされた輝度予測サンプルを導出し、さらに輝度再構成サンプルを導出するために用いられ、輝度再構成サンプルに基づいて彩度残差値をスケーリングする。方法1200のいくつかの実施例において、前記複数の適応パラメータセットネットワーク抽象化レイヤユニットは、複数の第2のモード適応パラメータセットネットワーク抽象化レイヤユニットであり、第2のモードにおいて、異なる方向の輝度再構成サンプル間の差に基づいてフィルタインデックスを生成する分類演算を用いて、輝度再構成サンプルをフィルタリングし、前記分類演算を行わずに、彩度再構成サンプルをフィルタリングする。
【0165】
図13は、例示的な映像処理の方法(1300)のフローチャートである。動作1302は、映像の現在のブロックと前記映像のビットストリームとの変換を行うことを含み、前記ビットストリームは、特定の特徴を有する第1の補足拡張情報メッセージが、(1)この特定の特徴を有する第2の補足拡張情報メッセージがスライスユニットに含まれていることに応じて、このビットストリームのスライスユニット内で繰り返されること、または(2)この第1の補足拡張メッセージがこのビットストリームのこのスライスユニット内にあることに応じて更新されること、は許可されないことを規定する規則に準拠し、このスライスユニットは、復号順に連続したネットワーク抽象化レイヤユニットのセットを含み、このネットワーク抽象化レイヤのセットは、単一のコーディングされたスライスと、この単一のコーディングされたスライスに関連付けられた1つ以上の非映像コーディングレイヤネットワーク抽象化レイヤユニットとを含む。
【0166】
方法1300のいくつかの実施例において、前記規則は、前記第1の補足拡張情報メッセージが前記スライスユニットに含まれる第2の補足拡張情報メッセージに対するものと同じ特定のペイロードタイプの値を有することに応じて、前記第1の補足拡張情報メッセージが前記スライスユニット内で繰り返されることは許可されないことを規定する。方法1300のいくつかの実施例において、前記規則は、前記スライスユニット内の前記特定のペイロードタイプについての同一の構文構造の数が1以下であることを規定する。方法1300のいくつかの実施例において、前記規則は、前記第1の補足拡張情報メッセージが特定のペイロードタイプを有することに応じて、前記第1の補足拡張情報メッセージが前記スライスユニット内で繰り返されることは許可されないことを規定する。方法1300のいくつかの実施例において、前記規則は、前記スライスユニット内の前記特定のペイロードタイプの構文構造の数が1以下であることを規定する。
【0167】
方法1300のいくつかの実施例において、前記規則は、前記第1の補足拡張情報メッセージが特定のペイロードタイプを有することに応じて、前記第1の補足拡張情報メッセージが前記スライスユニット内で更新されることは許可されないことを規定する。方法1300のいくつかの実施例において、前記規則は、前記スライスユニット内の前記特定のペイロードタイプの1つ以上の構文構造が同じ内容を有することを規定する。
【0168】
図14は、映像処理の方法1400の一例を示すフローチャートである。動作1402は、映像の現在のブロックと前記映像のビットストリームとの変換を行うことを含み、前記ビットストリームは、前記ビットストリームにおけるスライスユニットが、(1)このスライスユニットは、第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットと同じ特徴を有する第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットを含むこと、および(2)この第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットはプレフィックス補足拡張情報またはサフィックス補足拡張情報以外のネットワーク抽象化レイヤユニットタイプを有すること、に応じて、第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットの繰り返しを許可しないことを規定する規則に準拠する。
【0169】
方法1400のいくつかの実施例において、前記第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットは、復号能力情報ネットワーク抽象化レイヤユニットであり、前記規則は、前記スライスユニット内の復号能力情報ネットワーク抽象化レイヤユニットの数が1以下であることを規定する。方法1400のいくつかの実施例において、前記第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットは、特定の識別子を有する映像パラメータセットネットワーク抽象化レイヤユニットであり、前記規則は、前記スライスユニット内の前記特定の識別子を有する映像パラメータセットネットワーク抽象化レイヤユニットの数が1以下であることを規定する。方法1400のいくつかの実施例において、前記第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットは、特定の識別子を有するシーケンスパラメータセットネットワーク抽象化レイヤユニットであり、前記規則は、前記スライスユニット内の前記特定の識別子を有するシーケンスパラメータセットネットワーク抽象化レイヤユニットの数が1以下であることを規定する。方法1400のいくつかの実施例において、前記第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットは、特定の識別子を有するピクチャパラメータセットネットワーク抽象化レイヤユニットであり、前記規則は、前記スライスユニット内の前記特定の識別子を有するピクチャパラメータセットネットワーク抽象化レイヤユニットの数は1を越えてはならないことを規定する。
【0170】
方法1400のいくつかの実施例において、前記第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットは、特定の識別子および特定のパラメータタイプを有する適応パラメータセットネットワーク抽象化レイヤユニットであり、前記規則は、特定の識別子および前記スライスユニット内の前記特定のパラメータタイプを有する適応パラメータセットネットワーク抽象化レイヤユニットの数が1以下であることを規定する。方法1400のいくつかの実施例において、前記第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットは、特定のタイプのネットワーク抽象化レイヤユニット、特定の識別子および特定のパラメータタイプを有する適応パラメータセットネットワーク抽象化レイヤユニットであり、前記規則は、前記特定のタイプのネットワーク抽象化レイヤユニット、前記特定の識別子、および前記スライスユニット内の前記特定のパラメータタイプを有する適応パラメータセットネットワーク抽象化レイヤユニットの数が1以下であることを規定する。方法1400のいくつかの実施例において、前記第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットは、復号能力情報ネットワーク抽象化レイヤユニットであり、前記規則は、前記第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットが前記復号能力情報ネットワーク抽象化レイヤユニットであることに応じて、コーディングされたレイヤ映像シーケンスまたはコーディングされた映像シーケンス内で前記第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットが繰り返されることは許可されないことを規定する。
【0171】
方法1400のいくつかの実施例において、前記第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットは、特定の識別子を有する映像パラメータセットネットワーク抽象化レイヤユニットであり、前記規則は、前記第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットが特定の識別子を有する映像パラメータセットネットワーク抽象化レイヤユニットであることに応じて、コーディングされたレイヤ映像シーケンスまたはコーディングされた映像シーケンス内で前記第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットが繰り返されることは許可されないことを規定する。方法1400のいくつかの実施例において、前記第2の非映像コーディングレイヤネットワーク抽象化レイヤユニットは、特定の識別子を有するシーケンスパラメータセットネットワーク抽象化レイヤユニットであり、前記規則は、前記第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットが特定の識別子を有するシーケンスパラメータセットネットワーク抽象化レイヤユニットであることに応じて、コーディングされたレイヤ映像シーケンスまたはコーディングされた映像シーケンス内で前記第1の非映像コーディングレイヤネットワーク抽象化レイヤユニットが繰り返されることは許可されないことを規定する。
【0172】
図15は、映像処理の方法1500の一例を示すフローチャートである。動作1502は、規則に従って、複数の映像レイヤを含む映像と前記映像のビットストリームとの変換を行うことを含み、前記規則は、複数の適応パラメータセットのうちのどれが前記複数の映像レイヤにわたって共有されることは許可されないかを規定する。
【0173】
方法1500のいくつかの実施例において、前記規則は、前記複数の適応パラメータセットの全てが共有されることは許可されないことを規定する。方法1500のいくつかの実施例において、前記規則は、前記複数の適応パラメータセットの適応ループフィルタタイプが共有されることは許可されないことを規定する。
【0174】
図16は、映像処理の方法1600の一例を示すフローチャートである。動作1602は、規則に従って、1つ以上の映像レイヤを含む映像と前記映像のビットストリームとの変換を行うことを含み、前記ビットストリームは、1つ以上の適応ループフィルタ適応パラメータセットを含み、この規則は、この1つ以上の適応ループフィルタ適応パラメータセットをピクチャユニット内で更新するように許可されるかどうかを規定する。
【0175】
方法1600のいくつかの実施例において、前記規則は、前記1つ以上の適応ループフィルタ適応パラメータセットを前記ピクチャユニット内で更新するように許可されることを規定する。方法1600のいくつかの実施例において、前記規則は、適応パラメータセットを前記ピクチャユニット内で更新するように許可されないことを規定する。
【0176】
図17は、映像処理の方法1700の一例を示すフローチャートである。動作1702は、規則に従って、1つ以上のコーディングされたレイヤ映像シーケンスを含む映像と前記映像のビットストリームとの変換を行うことを含み、前記ビットストリームは適応ループフィルタ適応パラメータセットを含み、前記規則は、前記適応ループフィルタ適応パラメータセットが1つ以上の特定の特徴を有することに応じて、前記適応ループフィルタ適応パラメータセットが前記1つ以上のコーディングされたレイヤ映像シーケンスにわたって共有されることは許可されないことを規定する。
【0177】
方法1700のいくつかの実施例において、前記特定の特徴は、特定のネットワーク抽象化レイヤユニットタイプを有する前記適応ループフィルタ適応パラメータセットを含む。方法1700のいくつかの実施例において、前記1つ以上の特定の特徴は、特定の識別子を有する前記適応ループフィルタ適応パラメータセットを含む。方法1700のいくつかの実施例において、前記1つ以上の特定の特徴は、特定のパラメータタイプを有する前記適応ループフィルタ適応パラメータセットを含む。方法1700のいくつかの実施例において、前記規則は、第1のコーディングされたレイヤ映像シーケンスにおける映像コーディングレイヤネットワーク抽象化レイヤユニットによって参照される前記適応ループフィルタ適応パラメータセットが、第2のコーディングされたレイヤ映像シーケンスにおける非映像コーディングレイヤネットワーク抽象化レイヤユニットに関連付けられず、前記第1のコーディングされたレイヤ映像シーケンスが前記第2のコーディングされたレイヤ映像シーケンスと異なることを規定する。方法1700のいくつかの実施例において、前記規則は、第1のイントラランダムアクセスピクチャに関連付けられた映像コーディングレイヤネットワーク抽象化レイヤユニットによって参照される前記適応ループフィルタ適応パラメータセットが、第2のイントラランダムアクセスピクチャに関連付けられた非映像コーディングレイヤネットワーク抽象化レイヤユニットに関連付けられず、前記第1のイントラランダムアクセスピクチャが前記第2のイントラランダムアクセスピクチャと異なることを規定する。
【0178】
方法1700のいくつかの実施例において、前記規則は、第1のイントラランダムアクセスピクチャまたは第1の漸次復号更新ピクチャに関連付けられた映像コーディングレイヤネットワーク抽象化レイヤユニットによって参照される前記適応ループフィルタ適応パラメータセットが、第2のイントラランダムアクセスピクチャまたは第2の漸次復号更新ピクチャに関連する非映像コーディングレイヤネットワーク抽象化レイヤユニットに関連付けられず、前記第1のイントラランダムアクセスピクチャまたは前記第1の漸次復号更新ピクチャが前記第2のイントラランダムアクセスピクチャまたは前記第2の漸次復号更新ピクチャと異なることを規定する。方法1700のいくつかの実施例において、前記規則は、前記適応ループフィルタ適応パラメータセットが、前記映像の1つ以上のコーディングされた映像シーケンスにわたって共有されない前記映像の1つ以上の適応パラメータセットに含まれることを規定する。方法1700のいくつかの実施例において、前記規則は、特定のタイプに属する前記1つ以上の適応パラメータセットが、前記1つ以上のコーディングされた映像シーケンスにわたって共有されることは許可されないことを規定する。方法1700のいくつかの実施例において、前記特定のタイプは、適応ループフィルタ適応パラメータセットを含む。方法1700のいくつかの実施例において、前記特定のタイプは、彩度スケーリング適応パラメータセットを用いた輝度マッピングを含む。方法1700のいくつかの実施例において、前記特定のタイプは、スケーリング適応パラメータセットを含む。
【0179】
方法900~1700のいくつかの実施形態において、変換を実行することは、映像をビットストリームに符号化することを含む。方法900~1700のいくつかの実施形態において、変換を実行することは、映像からビットストリームを生成することを含み、方法は、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む。方法900~1700のいくつかの実施形態において、変換を実行することは、ビットストリームから映像を復号することを含む。いくつかの実施形態において、映像復号装置は、方法900~1700の動作を実装するように構成された処理装置を含む。
【0180】
いくつかの実施形態において、映像符号化装置は、方法900~1700の動作を実装するように構成された処理装置を含む。いくつかの実施形態において、コンピュータ命令が記憶されたコンピュータプログラム製品は、処理装置により実行されることにより、処理装置に方法900~1700に説明された動作を実装させる。いくつかの実施形態において、方法900~1700に説明された動作に従って生成されたビットストリームを記憶する非一時的なコンピュータ可読記憶媒体。いくつかの実施形態において、処理装置に方法900~1700に説明された動作を実装させる命令を記憶する非一時的なコンピュータ可読記憶媒体。いくつかの実施形態において、方法(s)900~1700に説明された動作に従って映像のビットストリームを生成し、このビットストリームをコンピュータ可読プログラム媒体に記憶するステップを含む、ビットストリーム生成方法。いくつかの実施形態において、本願明細書に開示される方法またはシステムに従って、方法、装置、生成されたビットストリームを提供する。
【0181】
本明細書では、「映像処理」という用語は、映像符号化、映像復号、映像圧縮、または映像展開を指してよい。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換およびコーディングされた誤り残差値の観点から、かつビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。さらに、変換中、デコーダは、上記解決策で説明されているように、判定に基づいて、いくつかのフィールドが存在しても存在しなくてもよいという知識を持って、ビットストリームを構文解析してもよい。同様に、エンコーダは、特定の構文フィールドが含まれるべきであるか、または含まれないべきであるかを判定し、構文フィールドをコーディング表現に含めるか、またはコーディング表現から除外することによって、それに応じてコーディング表現を生成してもよい。
【0182】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1または複数のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1または複数の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
【0183】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、成分、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1または複数のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
【0184】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブル処理装置によって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0185】
コンピュータプログラムの実行に適した処理装置は、例えば、汎用および専用マイクロ処理装置の両方、並びに任意の種類のデジタルコンピュータの任意の1または複数の処理装置を含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上の記憶装置とである。一般的に、コンピュータは、データを記憶するための1または複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。処理装置およびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0186】
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0187】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0188】
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。