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

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

▶ ベイジン バイトダンス ネットワーク テクノロジー カンパニー リミテッドの特許一覧 ▶ バイトダンス インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-22
(54)【発明の名称】映像コーディングのための一般制約情報
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240214BHJP
【FI】
H04N19/70
【請求項の数】 14
(21)【出願番号】P 2022541250
(86)(22)【出願日】2021-01-05
(65)【公表番号】
(43)【公表日】2023-03-16
(86)【国際出願番号】 CN2021070279
(87)【国際公開番号】W WO2021136554
(87)【国際公開日】2021-07-08
【審査請求日】2022-07-11
(31)【優先権主張番号】PCT/CN2020/070368
(32)【優先日】2020-01-05
(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)【発明者】
【氏名】ジャン カイ
(72)【発明者】
【氏名】ワン ユエ
【審査官】田中 純一
(56)【参考文献】
【文献】特表2022-544164(JP,A)
【文献】米国特許出願公開第2021/0044820(US,A1)
【文献】特表2022-542851(JP,A)
【文献】米国特許出願公開第2022/0141495(US,A1)
【文献】特表2023-500644(JP,A)
【文献】米国特許出願公開第2022/0337836(US,A1)
【文献】特開2023-011955(JP,A)
【文献】米国特許出願公開第2022/0295091(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
映像データの処理の方法であって、
映像の現在の映像ユニットと、前記映像のビットストリームとの間の変換を実行すること、
を有し、
前記ビットストリームは、フォーマット規則に準拠し、
前記フォーマット規則は、第1のフラグno_ref_pic_resampling_constraint_flagが前記ビットストリームに含まれるか否かを規定し、
前記第1のフラグは、前記映像の出力層のセットにおける1または複数のピクチャに対する一般制約情報を有し、
前記第1のフラグは、前記ビットストリームのSPS(Sequence Parameter Set)における第2のフラグref_pic_resampling_enabled_flagが、前記現在の映像ユニットに対してリサンプリングモードが無効であることを規定するか否かを示し、
前記フォーマット規則は更に、第6のフラグが前記ビットストリームに含まれるか否かを規定し、
前記第6のフラグは、前記映像の出力層の前記セットにおける前記1または複数のピクチャに対する第3の一般制約情報を有し、
前記第6のフラグは、前記SPSにおける第7のフラグが、前記現在の映像ユニットに対するパレットモードが無効であることを規定するか否かを示し、
前記第6のフラグは、no_palette_constraint_flagとして示され、
前記第7のフラグは、sps_palette_enabled_flagとして示され、
前記第7のフラグは1に等しい前記第6のフラグに起因して、0に等しく、
0に等しい前記第7のフラグは、前記パレットモードが前記現在の映像ユニットに対して無効であることを規定する、方法。
【請求項2】
前記第2のフラグは、1に等しい前記第1のフラグに起因して、0に等しく、
0に等しい前記第2のフラグは、前記リサンプリングモードが前記現在の映像ユニットに対して無効であることを規定する、請求項に記載の方法。
【請求項3】
前記フォーマット規則は更に、第3のフラグが前記ビットストリームに含まれるか否かを規定し、
前記第3のフラグは、前記映像の出力層の前記セットにおける前記1または複数のピクチャに対する第2の一般制約情報を有し、
前記第3のフラグは、前記SPSにおける第4のフラグが、前記現在の映像ユニットに対してパルスコード変換モードが無効であることを規定するか否かを示す、請求項1または2に記載の方法。
【請求項4】
前記第3のフラグは、no_bdpcm_constraint_flagとして示され、
前記第4のフラグは、sps_bdpcm_enabled_flagとして示される、請求項に記載の方法。
【請求項5】
前記第4のフラグは、1に等しい前記第3のフラグに起因して、0に等しく、
0に等しい前記第4のフラグは、前記パルスコード変換モードが前記現在の映像ユニットに対して無効であることを規定する、請求項3または4に記載の方法。
【請求項6】
前記フォーマット規則は更に、第8のフラグが前記ビットストリームに含まれるか否かを規定し、
前記第8のフラグは、前記映像の出力層の前記セットにおける前記1または複数のピクチャに対する第4の一般制約情報を有し、
前記第8のフラグは、前記SPSにける第9のフラグが、前記現在の映像ユニットに対する色変換モードが無効であることを規定するか否かを示、請求項1からのいずれか一項に記載の方法。
【請求項7】
前記第8のフラグは、no_act_constraint_flagとして示され、
前記第9のフラグは、sps_act_enabled_flagとして示される、請求項に記載の方法。
【請求項8】
前記第9のフラグは、1に等しい前記第8のフラグに起因して、0に等しく、
0に等しい前記第9のフラグは、前記色変換モードが前記現在の映像ユニットに対して無効であることを規定する、請求項6または7に記載の方法。
【請求項9】
前記フォーマット規則は更に、前記第1のフラグが前記ビットストリームにて条件付きで信号通知されるか否かを規定する、請求項1からのいずれか一項に記載の方法。
【請求項10】
前記変換は、前記映像を前記ビットストリームに符号化することを含む、請求項1からのいずれか一項に記載の方法。
【請求項11】
前記変換は、前記映像を前記ビットストリームから復号化することを含む、請求項1からのいずれか一項に記載の方法。
【請求項12】
プロセッサと、命令を有する非一時的メモリとを備える、映像データを処理するための装置であって、
前記命令は、前記プロセッサによって実行された際に、前記プロセッサに、
映像の現在の映像ユニットと、前記映像のビットストリームとの間の変換を実行すること、
を行わせ、
前記ビットストリームは、フォーマット規則に準拠し、
前記フォーマット規則は、第1のフラグno_ref_pic_resampling_constraint_flagが前記ビットストリームに含まれるか否かを規定し、
前記第1のフラグは、前記映像の出力層のセットにおける1または複数のピクチャに対する一般制約情報を有し、
前記第1のフラグは、前記ビットストリームのSPS(Sequence Parameter Set)における第2のフラグref_pic_resampling_enabled_flagが、前記現在の映像ユニットに対してリサンプリングモードが無効であることを規定するか否かを示し、
前記フォーマット規則は更に、第6のフラグが前記ビットストリームに含まれるか否かを規定し、
前記第6のフラグは、前記映像の出力層の前記セットにおける前記1または複数のピクチャに対する第3の一般制約情報を有し、
前記第6のフラグは、前記SPSにおける第7のフラグが、前記現在の映像ユニットに対するパレットモードが無効であることを規定するか否かを示し、
前記第6のフラグは、no_palette_constraint_flagとして示され、
前記第7のフラグは、sps_palette_enabled_flagとして示され、
前記第7のフラグは1に等しい前記第6のフラグに起因して、0に等しく、
0に等しい前記第7のフラグは、前記パレットモードが前記現在の映像ユニットに対して無効であることを規定する、装置。
【請求項13】
プロセッサに、
映像の現在の映像ユニットと、前記映像のビットストリームとの間の変換を実行すること、
を行わせ、
前記ビットストリームは、フォーマット規則に準拠し、
前記フォーマット規則は、第1のフラグno_ref_pic_resampling_constraint_flagが前記ビットストリームに含まれるか否かを規定し、
前記第1のフラグは、前記映像の出力層のセットにおける1または複数のピクチャに対する一般制約情報を有し、
前記第1のフラグは、前記ビットストリームのSPS(Sequence Parameter Set)における第2のフラグref_pic_resampling_enabled_flagが、前記現在の映像ユニットに対してリサンプリングモードが無効であることを規定するか否かを示し、
前記フォーマット規則は更に、第6のフラグが前記ビットストリームに含まれるか否かを規定し、
前記第6のフラグは、前記映像の出力層の前記セットにおける前記1または複数のピクチャに対する第3の一般制約情報を有し、
前記第6のフラグは、前記SPSにおける第7のフラグが、前記現在の映像ユニットに対するパレットモードが無効であることを規定するか否かを示し、
前記第6のフラグは、no_palette_constraint_flagとして示され、
前記第7のフラグは、sps_palette_enabled_flagとして示され、
前記第7のフラグは1に等しい前記第6のフラグに起因して、0に等しく、
0に等しい前記第7のフラグは、前記パレットモードが前記現在の映像ユニットに対して無効であることを規定する、
命令を格納した非一時的コンピュータ可読記憶媒体。
【請求項14】
映像のビットストリームを格納するための方法であって、
前記映像の現在の映像ユニットに対するビットストリームを生成すること、
前記ビットストリームを非一時的コンピュータ可読記録媒体に格納することと、
を有し、
前記ビットストリームは、フォーマット規則に準拠し、
前記フォーマット規則は、第1のフラグno_ref_pic_resampling_constraint_flagが前記ビットストリームに含まれるか否かを規定し、
前記第1のフラグは、前記映像の出力層のセットにおける1または複数のピクチャに対する一般制約情報を有し、
前記第1のフラグは、前記ビットストリームのSPS(Sequence Parameter Set)における第2のフラグref_pic_resampling_enabled_flagが、前記現在の映像ユニットに対してリサンプリングモードが無効であることを規定するか否かを示し、
前記フォーマット規則は更に、第6のフラグが前記ビットストリームに含まれるか否かを規定し、
前記第6のフラグは、前記映像の出力層の前記セットにおける前記1または複数のピクチャに対する第3の一般制約情報を有し、
前記第6のフラグは、前記SPSにおける第7のフラグが、前記現在の映像ユニットに対するパレットモードが無効であることを規定するか否かを示し、
前記第6のフラグは、no_palette_constraint_flagとして示され、
前記第7のフラグは、sps_palette_enabled_flagとして示され、
前記第7のフラグは1に等しい前記第6のフラグに起因して、0に等しく、
0に等しい前記第7のフラグは、前記パレットモードが前記現在の映像ユニットに対して無効であることを規定する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
願は、2020年1月5日出願の国際特許出願第PCT/CN2020/070368号の優先権および利益を張する2021年1月5日出願の国際特許出願第PCT/CN2021/070279号に基づく。上記出願の開示全体は、本明細書の開示して参照によりここに援用される。
【0002】
この特許明細書は、画像および映像の符号化および復号化に関する。
【背景技術】
【0003】
デジタル映像は、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信及び表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
本明細書は、他のコーディングツールに加え、ACT(Adaptive Color Transform)モードを使用する、映像符号化および復号化のためのシステム、方法およびデバイスを開示する。
【0005】
1つの例示的な態様において、映像処理の方法が開示される。この方法は、映像の現在の映像ブロックと前記映像のビットストリームとの間での変換のために、前記現在の映像ブロックをコーディングするために使用されるACT(Adaptive Color Tranform)モードのための最大許容サイズおよび/または最小許容サイズを決定することと、前記決定に基づいて、前記変換を実行することと、を含む。
【0006】
別の例示的な態様において、映像処理の方法が開示される。この方法は、映像の現在の映像ブロックと前記映像のビットストリームとの間での変換のために、前記現在の映像ブロックをコーディングするために使用されるパレットモードに対して、最大許容パレットサイズおよび/または最小許容予測子サイズを決定することと、前記決定に基づいて、前記変換を実行すると、を含み、前記最大許容パレットサイズおよび/または最小許容予測子サイズは、前記現在の映像ブロックのコーディング特性に基づく。
【0007】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、映像の現在の映像ブロックと前記映像のビットストリームとの間で変換を実行することを含み、前記ビットストリームは、フォーマット規則に準拠し、前記現在の映像ブロックは、パレットモードコーディングツールを使用してコーディングされ、前記フォーマット規則は、前記ビットストリームにおける前記現在の映像ブロックのためのエスケープシンボルの2値化に関連付けられたパラメータが前記現在の映像ブロックのコーディングされた情報に基づくことを規定する。
【0008】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、1つのブロックを含む映像と前記映像のビットストリームとの間での変換のために、前記ブロックのサイズがACT(Adaptive Color Transform)モードの最大許容サイズよりも大きいことを決定することと、前記決定に基づいて、前記変換を実行することと、を含み、前記ブロックのサイズが前記ACTモードの最大許容サイズよりも大きいことに応答して、前記ブロックを複数のサブブロックに分割し、複数のサブブロックの各々が同じ予測モードを共有し、1つのサブブロックレベルで前記ACTモードは有効にする。
【0009】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、映像の現在の映像ブロックと前記映像のビットストリームとの間で変換を行うことを含み、前記ビットストリームは、前記現在の映像ブロックにおけるACT(Adaptive Color Transform)モードの使用の指示が前記ビットストリームにおいて信号通知されるか否かが、前記現在の映像ブロックの寸法または前記ACTモードに対する最大許容サイズのうちの少なくとも1つに基づくことを規定するフォーマット規則に準拠する。
【0010】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、映像の現在の映像ユニットと前記映像のビットストリームとの間で変換を行うことを含み、前記ビットストリームが、フォーマット規則に準拠し、前記フォーマット規則は、ビットストリームに第1のフラグが含まれているかどうかを規定し、前記第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、前記現在の映像ユニットに対してACT(Adaptive Color Transform)モードが無効であることを規定するかどうかを示す。
【0011】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、映像の現在の映像ユニットと前記映像のビットストリームとの間で変換を行うことを含み、前記ビットストリームが、フォーマット規則に準拠し、前記フォーマット規則は、ビットストリームに第1のフラグが含まれているかどうかを規定し、前記第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、前記現在の映像ユニットに対してBDPCM(Block-based Delta Pulse Code Modulation)モードが無効であることを規定するかどうかを示す。
【0012】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、映像の現在の映像ユニットと前記映像のビットストリームとの間で変換を実行することを含み、前記ビットストリームが、フォーマット規則に準拠し、前記フォーマット規則は、ビットストリームに第1のフラグが含まれているかどうかを規定し、前記第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、前記現在の映像ユニットのクロマ成分に対してBDPCM(Block-based Delta Pulse Code Modulation)モードが無効であることを規定するかどうかを示す。
【0013】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、映像の現在の映像ユニットと前記映像のビットストリームとの間で変換を実行することを含み、前記ビットストリームが、フォーマット規則に準拠し、前記フォーマット規則は、ビットストリームに第1のフラグが含まれているかどうかを規定し、前記第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、前記現在の映像ユニットに対してパレットが無効であることを規定するかどうかを示す。
【0014】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、映像の現在の映像ユニットと前記映像のビットストリームとの間で変換を実行することを含み、前記ビットストリームが、フォーマット規則に準拠し、前記フォーマット規則は、ビットストリームに第1のフラグが含まれているかどうかを規定し、前記第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、前記現在の映像ユニットに対してRPR(Reference Picture Resampling)モードが無効化されることを規定するかどうかを示す。
【0015】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、現在の映像ブロックに対してACT(Adaptive Color Transform)モードを有効にする際に、追加の量子化パラメータオフセットを適用することを規定する規則に従って、映像の現在の映像ブロックと前記映像のビットストリームとの間で変換を実行することを含む。
【0016】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、規則に従って、映像の現在の映像ブロックと前記映像のビットストリーム表現との間で変換を実行することを含み、前記現在の映像ブロックは、YCgCo色変換またはYCgCo逆色変換を現在の映像ブロックに適用するジョイントCbCrコーディングモードを使用してコーディングされ、前記現在の映像ブロックは、前記YCgCo色変換を使用する前記ジョイントCbCrコーディングモードを使用してコーディングされたことに起因して、前記現在の映像ブロックに関連付けられたPH(Picture Header)またはPPS(Picture Parameter Set)において、-5とは異なる量子化パラメータオフセット値を使用することを規定する。
【0017】
さらに別の例示的な態様において、映像処理の方法が開示される。この方法は、規則に従って、映像の現在の映像ブロックと前記映像のビットストリーム表現との間で変換を実行することを含み、前記現在の映像ブロックは、YCgCo-R色変換またはYCgCo-R逆色変換を現在の映像ブロックに適用するジョイントCbCrコーディングモードを使用してコーディングされ、前記現在の映像ブロックは、前記YCgCo-R色変換を使用する前記ジョイントCbCrコーディングモードを使用してコーディングされたことに起因して、前記現在の映像ブロックに関連付けられたPH(Picture Header)またはPPS(Picture Parameter Set)において、所定のオフセットとは異なる量子化パラメータオフセット値を使用することを規定する。
【0018】
さらに別の例示的な態様において、映像エンコーダ装置が開示される。この映像エンコーダは、上述した方法を実装するように構成されたプロセッサを備える。
【0019】
さらに別の例示的な態様において、映像デコーダ装置が開示される。この映像デコーダは、上述した方法を実装するように構成されたプロセッサを備える。
【0020】
さらに別の例示的な態様では、コードが記憶された非一時的なコンピュータ可読媒体が開示される。このコードは、本明細書に記載の方法の1つをプロセッサが実行可能なコードの形式で実施する。
【0021】
これらの及び他の特徴は、本文書全体にわたって説明される。
【図面の簡単な説明】
【0022】
図1】インループACT(Adaptive Color Tranform)のSCC(Screen Content Coding)デコーダの流れを示す。
図2】ACTによる復号化処理を示す。
図3】パレットモードでコーディングされたブロックの例を示す。
図4】パレットエントリを信号通知するためのパレット予測子の使用の例を示す。
図5】水平方向および垂直方向の横断走査の例を示す。
図6】パレットインデックスのコーディングの例を示す。
図7】本明細書で開示される様々な技術が実装され得る例示的な映像処理システムを示すブロック図である。
図8】映像処理に使用されるハードウェアプラットフォームの例を示すブロック図である。
図9】本開示のいくつかの実施形態による映像コーディングシステムを示すブロック図である。
図10】本発明のいくつかの実施形態によるエンコーダを示すブロック図である。
図11】本発明のいくつかの実施形態によるデコーダを示すブロック図である。
図12】映像処理の方法の例を示すフローチャートである。
図13】映像処理の方法の例を示すフローチャートである。
図14】映像処理の方法の例を示すフローチャートである。
図15】映像処理の方法の例を示すフローチャートである。
図16】映像処理の方法の例を示すフローチャートである。
図17】映像処理の方法の例を示すフローチャートである。
図18】映像処理の方法の例を示すフローチャートである。
図19】映像処理の方法の例を示すフローチャートである。
図20】映像処理の方法の例を示すフローチャートである。
図21】映像処理の方法の例を示すフローチャートである。
図22】映像処理の方法の例を示すフローチャートである。
図23】映像処理の方法の例を示すフローチャートである。
図24】映像処理の方法の例を示すフローチャートである。
【発明を実施するための形態】
【0023】
本明細書では、理解を容易にするために章の見出しを使用しており、その技術および各章に記載された実施形態の適用可能性をその章のみに限定するものではない。さらに、H.266という用語は、ある説明において、理解を容易にするためだけに用いられ、開示される技術の範囲を限定するために用いられたものではない。このように、本明細書で説明される技術は、他の映像コーデックプロトコル及び設計にも適用可能である。
【0024】
1.発明の概要
【0025】
本明細書は、画像/映像のコーディング技術に関する。具体的には、画像/映像のコーディングにおける適応型色変換に関する。これは、例えば、Versatile Video Codingなど、開発中の規格に適用されてもよい。本発明は、将来の映像コーディング規格または映像コーデックにも適用可能である。
【0026】
2.簡単な説明
【0027】
映像コーディング規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディング規格は、時間予測と変換コーディングが利用されるハイブリッド映像コーディング構造に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウェアに組み込まれてきた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間にJVET(Joint Video Expert Team)が発足し、HEVCと比較して50%のビットレート削減を目標にVVC規格の策定に取り組んでいる。
【0028】
最新版のVVC草案、即ち、Versatile Video Coding(ドラフト7)は、以下のhttp://phenix.it-sudparis.eu/jvet/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v14.zipで取得できる。
【0029】
VTMと呼ばれるVVCの最新の参照ソフトウェアは、以下で確認することができる。https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-7.0
【0030】
2.1.HEVC-SCCにおけるACT(Adaptive colour transform)
【0031】
第18回JCT-VC総会(2014年6月30日~7月9日、札幌、日本国)において、HEVC SCC(Screen Content Coding)試験モデル2にACT(Adaptive Colour Transform)が採用された。ACTは、YCoCgおよびYCoCg-R色空間に基づいて色変換行列を使用して、予測残差領域においてインループ色空間変換を行う。ACTは、フラグcu_residual_act_flagを使用して、CUレベルで適応的にオンまたはオフにされる。ACTは、HEVCですでにサポートされている別のコンポーネント間非相関方法であるCCP(Cross Component Prediction)と組み合わせることができる。両方が有効にされる場合、図1に示すように、デコーダにおいてCCPの後にACTが行われる。
【0032】
2.1.1.ACTにおける色空間変換
【0033】
ACTにおける色空間変換は、YCoCg-R変換に基づく。非可逆コーディングおよび可逆コーディング(cu_transquant_bypass_flag=0または1)の両方は、同じ逆変換を使用するが、非可逆コーディングの場合、CoおよびCg成分に追加の1ビットの左シフトが適用される。具体的には、非可逆および可逆のコーディングのための前後方向変換に以下の色空間変換が使用される。
非可逆コーディングのための前方向変換(非標準的):
【0034】
【数1】
【0035】
可逆コーディングのための前方向変換(非標準的):
【0036】
【数2】
【0037】
後方向変換(標準):
【0038】
【数3】
【0039】
前方向色変換は正規化されず、その基準はYおよびCgに対しては√6/4にほぼ等しく、Coに対しては√2/2に等しい。正規化されていない前方向変換の性質を補償するために、(Y,Co,Cg)にそれぞれ(-5,-3,-5)のデルタQPを適用する。言い換えれば、CUのための所与の「通常の」QPの場合、ACTがオンにされると、量子化パラメータは、(Y、Co、Cg)に対して、それぞれ、(QP-5、QP-3、QP-5)に等しく設定される。調整された量子化パラメータは、CUにおける残差の量子化および逆量子化にのみ影響を及ぼす。非ブロック化のために、依然として「通常の」QP値が使用される。調整されたQP値が負にならないようにするために、QP値に0へのクリッピングを適用する。なお、このQP調整は、非可逆コーディングにおいて量子化が行われない(cu_transquant_bypass_flag=1)ため、可逆コーディングにのみ適用可能である。SCM4において、追加のQPオフセット値のPPS/スライスレベルの信号通知が導入される。これらのQPオフセット値は、適応型色変換が適用される場合、CUのために(-5、-3、-5)の代わりに使用してもよい。
【0040】
色成分の入力ビット深度が異なる場合、ACT中に適切な左シフトを適用してサンプルビット深度を最大ビット深度に位置合わせし、適切な右シフトを適用してACT後の元のサンプルビット深度を復元する。
【0041】
2.2.VVCにおけるACT
【0042】
図2は、ACTが適用されるVVCの復号化フローチャートを示す。図2に示すように、色空間変換は残差ドメインで実行される。具体的には、1つの追加の復号化モジュール、すなわち逆ACTを逆変換した後に導入し、YCgCoドメインから元のドメインに戻るように残差を変換する。
【0043】
VVCにおいて、最大変換サイズが1つのCU(Coding Unit)の幅または高さよりも小さくない限り、1つのCUリーフノードを変換処理の単位としても使用する。従って、提案された実装例において、1つのCUに対してACTフラグを信号通知し、その残差をコーディングするための色空間を選択する。さらに、HEVC ACT設計に続いて、インターおよびIBC CUの場合、ACTは、CU内に少なくとも1つの非ゼロ係数がある場合にのみ有効にされる。イントラCUの場合、ACTは、クロマ成分が同じ輝度成分のイントラ予測モード、すなわちDMモードを選択する場合にのみ有効にされる。
【0044】
色空間変換に使用されるコア変換は、HEVCに使用されるコア変換と同じに保たれる。また、HEVCにおけるACT設計と同様に、色変換の前後における残差信号のダイナミックレンジの変化を補償するために、変換残差に対して、(-5,-5,-3)のQP調整を適用する。
【0045】
他方、前方向および逆方向色変換は、3つの成分すべての残差にアクセスする必要がある。それに対応して、提案された実装形態において、ACTは、3つの成分のすべての残差が利用可能であるとは限らない以下の2つのシナリオにおいて無効化される。
1.別個の3つのパーティション:別個のツリーを適用する場合、1つのCTU内の輝度およびクロマサンプルを異なる構造で分割する。この結果、輝度ツリーにおけるCUは輝度成分のみを含み、クロマツリーにおけるCUは2つのクロマ成分のみを含む。
2.ISP(Intra Sub-partition Prediction):ISPサブパーティションは、クロマ信号が分割されずにコーディングされる間、輝度にのみ適用される。現在のISP設計において、最後のISPサブパーティションを除き、他のサブパーティションは、輝度成分のみを含む。
【0046】
VVC草案におけるコーディングユニットのテキストを以下に示す。
【0047】
【表1】
【0048】
【表2】
【0049】
【表3】
【0050】
【表4】
【0051】
【表5】
【0052】
【表6】
【0053】
【表7】
【0054】
【表8】
【0055】
【表9】
【0056】
1に等しいcu_act_enabled_flagは、現在のコーディングユニットの残差がYC色空間でコーディングされることを規定する。0に等しいcu_act_enabled_flagは、現在のコーディングユニットの残差が元の色空間でコーディングされることを規定する。cu_act_enabled_flagが存在しない場合、0に等しいと推測される。
【0057】
2.3.VVCにおける変換スキップモード
【0058】
HEVCにおけるように、ブロックの残差は、ブロックのための変換処理を完全にスキップする変換スキップモードを使用してコーディングすることができる。また、変換スキップブロックに対しては、VTM7.0において6*(internalBitDepth-inputBitDepth)+4に等しく設定されるSPSにおいて信号通知される最小許容QP(Quantization Parameter)が使用される。
【0059】
2.4.BDPCM(Block-based Delta Pulse Code Modulation)
【0060】
JVET-M0413において、BDPCM(Block-based Delta Pulse Modulation)がスクリーンコンテンツを効率的にコーディングするために提案され、その後、VVCに採用される。
【0061】
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が量子化された残差サンプルに適用され、その結果、要素ri,jを有する修正されたM×N個の配列Rが得られる。垂直BDPCMが信号通知されると、以下のようになる。
【0062】
【数4】
【0063】
水平予測の場合、類似した規則が適用され、残差量子化サンプルは、以下の式によって得られる。
【0064】
【数5】
【0065】
残差量子化サンプルr i,jはデコーダに送られる。
【0066】
デコーダ側では、上記の計算を逆にして、Q(ri,j)、0≦i≦M-1、0≦j≦N-1を生成する。
【0067】
垂直予測の場合
【0068】
【数6】
【0069】
水平方向の場合
【0070】
【数7】
【0071】
逆量子化された残差Q-1(Q(ri,j))をイントラブロック予測値に加算し、再構成されたサンプル値を生成する。
【0072】
このスキームの主な利点は、逆方向のBDPCMを、係数の構文解析中にオンザフライで行うことができ、係数の構文解析中に予測子を追加するだけで済むこと、または、構文解析後に行うことができることである。
【0073】
VTM7.0において、BDPCMはまた、クロマブロックに適用されてもよく、クロマBDPCMは、輝度BDPCMモードとは別個のフラグおよびBDPCM方向を有する。
【0074】
2.5.変換係数のスケーリング処理
【0075】
JVET-P2001-vEにおける変換係数のスケーリング処理に関するテキストは、以下のように作成されている。
【0076】
この処理への入力は以下の通りである。
-現在のピクチャの左上の輝度サンプルに対する現在の輝度変換ブロックの左上のサンプルを規定する輝度位置(xTbY,yTbY)
-変換ブロックの幅を規定する変数nTbW、
-変換ブロックの高さを規定する変数nTbH、
-コーディングユニットの予測モードを規定する変数predMode、
-現在のブロックの色成分を規定する変数cIdx。
【0077】
この処理の出力は、要素d[x][y]を有するスケーリングされた変換係数の(nTbW)×(nTbH)配列dである。
【0078】
量子化パラメータqPは、以下のように導出される。
-cIdxが0に等しい場合、以下が適用される。
qP=Qp’ (1129)
-あるいは、TuCResMode[xTbY][yTbY]が2である場合、以下が適用される。
qP=Qp’CbCr (1130)
-あるいは、cIdxが1である場合、以下が適用される。
qP=Qp’Cb (1131)
-そうでない場合(cIdx=2)、以下が適用される。
qP=Qp’Cr (1132)
【0079】
量子化パラメータqPを修正し、変数rectNonTsFlagおよびbdShiftを以下のように導出する。
-transform_skip_flag[xTbY][yTbY][cIdx]が0である場合、以下が適用される。
qP=qP-(cu_act_enabled_flag[xTbY][yTbY]?5:0) (1133)
rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1)==1)?1:0 (1134)
bdShift=BitDepth+rectNonTsFlag+((Log2(nTbW)+Log2(nTbH))/2)-5+pic_dep_quant_enabled_flag (1135)
-そうでない場合(transform_skip_flag[xTbY][yTbY][cIdx]が1である場合)、以下が適用される。
qP=Max(QpPrimeTsMin,qP)-(cu_act_enabled_flag[xTbY][yTbY]?5:0) (1136)
rectNonTsFlag=0 (1137)
bdShift=10 (1138)
【0080】
変数bdOffsetは、以下のように導出される。
bdOffset=(1<<bdShift)>>1 (1139)
【0081】
list levelScale[][]は、levelScale[j]={40,45,51,57,64,72},{57,64,72,80,90,102}のように規定され、この場合j=0..1,k=0..5である。
【0082】
(nTbW)×(nTbH)配列dzは、(nTbW)×(nTbH)配列TransCoeffLevel[xTbY][yTbY][cIdx]に等しく設定される。
【0083】
x=0..nTbW-1,y=0..nTbH-1である場合、スケーリングされた変換係数d[x][y]を導出するために、以下が適用される。
-中間倍率m[x][y]は、以下のように導出される。
-以下の条件の1または複数が真である場合、m[x][y]は、16に等しく設定される。
-sps_scaling_list_enabled_flagは0に等しい。
-pic_scaling_list_present_flagは0に等しい。
-transform_skip_flag[xTbY][yTbY][cIdx]は1に等しい。
-scaling_matrix_for_lfnst_disabled_flagは1に等しく、lfnst_idx[xTbY][yTbY]は0に等しくない。
-そうでない場合、以下が適用される。
-表36で規定されているように、predMode、cIdx、nTbW、nTbHに基づいて変数idを導出し、変数log2MatrixSizeを以下のように導出する。
log2MatrixSize=(id<2)?1:(id<8)?2:3(1140)
-倍率m[x][y]は、以下のように導出される。
m[x][y]=ScalingMatrixRec[id][i][j]
i=(x<<log2MatrixSize)>>Log2(nTbW),
j=(y<<log2MatrixSize)>>Log2(nTbH) (1141)
-idが13より大きく、xおよびyの両方が0である場合、m[0][0]は、さらに以下のように修正される。
m[0][0]=ScalingMatrixDCRec[id-14] (1142)
【0084】
注-以下の条件のいずれかが真である場合、量子化行列要素m[x][y]をゼロにすることができる。
-xは32より大きい。
-yは32より大きい。
-復号化されたtuは、デフォルトの変換モードでコーディングされておらず(すなわち、変換タイプが0でなく)、xが16よりも大きい。
-復号化されたtuは、デフォルトの変換モードでコーディングされておらず(すなわち、変換タイプが0でなく)、yが16よりも大きい。
-倍率ls[x][y]は、以下のように導出される。
-pic_dep_quant_enabled_flagが1と等しく、transform_skip_flag[xTbY][yTbY][cIdx]が0である場合、以下が適用される。
ls[x][y]=(m[x][y]*levelScale[rectNonTsFlag][(qP+1)%6])<<((qP+1)/6) (1143)
-そうでない場合(pic_dep_quant_enabled_flagが0に等しい、またはtransform_skip_flag[xTbY][yTbY][cIdx]が1に等しい場合)、以下が適用される。
ls[x][y]=(m[x][y]*levelScale[rectNonTsFlag][qP%6])<<(qP/6) (1144)
-BdpcmFlag[xTbY][yYbY][cIdx]が1に等しい場合、dz[x][y]は以下に修正される。
-BdpcmDir[xTbY][yYbY][cIdx]が0に等しく、xが0より大きい場合、以下が適用される。
dz[x][y]=Clip3(CoeffMin,CoeffMax,dz[x-1][y]+dz[x][y]) (1145)
-あるいは、BdpcmDir[xTbY][yTbY][cIdx]が1に等しく、yが0より大きい場合、以下が適用される。
dz[x][y]=Clip3(CoeffMin,CoeffMax,dz[x][y-1]+dz[x][y]) (1146)
-値dnc[x][y]は、以下のように導出される。
dnc[x][y]=(dz[x][y]*ls[x][y]+bdOffset)>>bdShift (1147)
-スケーリングされた変換係数d[x][y]は、以下のように導出される。
d[x][y]=Clip3(CoeffMin,CoeffMax,dnc[x][y]) (1148)
【0085】
表36-predMode、cIdx、nTbW、およびnTbHに従ったスケーリング行列識別変数idの規定
【0086】
【表10】
【0087】
2.6.パレットモード
2.6.1.パレットモードの概念
【0088】
パレットモードの背景にある基本的な考えは、CUにおけるピクセルを代表的な色値の小さな集合で表現することである。この集合をパレットと呼ぶ。また、エスケープシンボルの後に(場合によっては量子化された)成分値を信号通知することによって、パレットの外側にあるサンプルを示すこともできる。このような画素をエスケープ画素と呼ぶ。パレットモードを図3に示す。図3に示すように、3つのコロック成分(輝度、および2つのクロマ成分)を有する画素ごとに、パレットへのインデックスを創設し、パレットにおいて創設された値に基づいてブロックを再構成することができる。
【0089】
2.6.2.パレットエントリのコーディング
【0090】
パレットエントリのコーディングのために、パレット予測子が維持される。SPSにおいて、パレットの最大サイズおよびパレット予測子が信号通知される。HEVC-SCCにおいて、palette_predictor_initializer_present_flagがPPSに導入される。このフラグが1である場合、ビットストリームにおいて、パレット予測子を初期化するためのエントリが信号通知される。パレット予測子は、各CTU行、各スライス、および各タイルの始めに初期化される。palette_predictor_initializer_present_flagの値によって、palette_predictorを0にリセットするか、またはPPSに信号通知されたパレット予測子の初期化エントリを使用してパレット予測子を初期化する。HEVC-SCCでは、PPSレベルでパレット予測子の初期化を明確に無効にするために、サイズ0のパレット予測子イニシャライザを有効にした。
【0091】
パレットプレディクタのエントリごとに、再利用フラグが信号通知され、現在のパレットの一部であるかどうかが示される。これを図4に示す。再利用フラグは、ゼロのランレングスコーディングを使用して送信される。この後、新しいパレットエントリ数は、次数0、すなわちEGー0のEG(Exponential Golomb)コードを使用して信号通知される。最後に、新しいパレットエントリのコンポーネント値が通知されます。
【0092】
2.6.3.パレットインデックスのコーディング
【0093】
パレットインデックスは、図5に示すように、水平方向および垂直方向の横断走査を使用してコーディングされる。palette_transpose_flagを使用して、ビットストリームにおける走査順序が明確に信号通知される。以下のサブセクションでは、走査が水平であると仮定する。
【0094】
パレットインデックスは、2つのパレットサンプルモードを使用してコーディングされる。「COPY_LEFT」および「COPY_ABOVE」「COPY_LEFT」モードにおいて、パレットインデックスは復号化されたインデックスに割り当てられる。「COPY_ABOVE」モードでは、上の行のサンプルのパレットインデックスをコピーする。「COPY_LEFT」モードと「COPY_ABOVE」モードの両方の場合、同じモードを使用してコーディングされる後続のサンプルの数を規定する実行値を信号通知する。
【0095】
パレットモードにおいて、エスケープシンボルに対するインデックスの値が、パレットエントリ数である。そして、エスケープシンボルが「COPY_LEFT」または「COPY_ABOVE」モードにおける実行の一部である場合、エスケープシンボルごとにエスケープ成分値が信号通知される。パレットインデックスのコーディングを図6に示す。
【0096】
この構文順序は、以下のようにして実行される。まず、CUのためのインデックス値の数が信号通知される。これに続いて、トランケーテッドバイナリコーディング(truncated binary coding)を使用して、CU全体の実際のインデックス値を信号通知する。バイパスモードでは、インデックスの数およびインデックス値の両方がコーディングされる。これにより、インデックス関連バイパスビンがグループ化される。次に、パレットサンプルモード(必要な場合)および実行は、インターリーブ方式で信号通知される。最後に、CU全体のためのエスケープシンボルに対応する成分エスケープ値がグループ化され、バイパスモードでコーディングされる。エスケープシンボルの2値化は、第3次数、すなわち、EG-3のEGコーディングである。
【0097】
インデックス値を信号通知した後、追加の構文要素last_run_type_flagが信号通知される。この構文要素は、インデックスの数と連動して、ブロックにおける最後の実行に対応する実行値を信号通知する必要をなくす。
【0098】
HEVC-SCCでは、パレットモードは、4:2:2、4:2:0、およびモノクロのクロマフォーマットに対しても有効になる。パレットエントリおよびパレットインデックスの信号通知は、すべてのクロマフォーマットに対してほぼ同じである。非モノクロフォーマットの場合、各パレットエントリは、3つの成分からなる。モノクロフォーマットの場合、各パレットエントリは単一の成分からなる。サブサンプリングされたクロマ方向の場合、クロマサンプルは、2で割り切れる輝度サンプル指数に関連付けられる。CUのパレットインデックスを再構成した後、サンプルに単一の成分しか関連付けられていない場合、パレットエントリの第1の成分のみが使用される。信号通知における唯一の違いは、エスケープ成分値である。エスケープシンボルごとに、信号通知されるエスケープ成分値の数は、そのシンボルに関連付けられた成分の数によって異なってもよい。
【0099】
2.6.4.デュアルツリーにおけるパレット
【0100】
VVCにおいて、イントラスライスのコーディングにデュアルツリーコーディング構造が用いられるので、輝度成分および2つのクロマ成分は、異なるパレットおよびパレットインデックスを有してもよい。また、2つのクロマ成分は、同じパレットおよびパレットインデックスを共有する。
【0101】
2.6.5.ラインベースのCGパレットモード
【0102】
VVCには、ラインベースのCGパレットモードが採用された。この方法では、横断走査モードに基づいて、パレットモードの各CUをmのサンプルの複数のセグメント(本試験ではm=16)に分割する。各セグメントにおけるパレット実行コーディングの符号化順序は、以下のとおりである。それぞれのピクセルに対して、このピクセルが前のピクセルと同じモードであるかどうか、即ち、前回走査したピクセルと現在のピクセルが両方とも実行タイプのCOPY_ABOVEであるかどうか、または前回走査したピクセルおよび現在のピクセルが両方とも実行タイプINDEXで且つ同じインデックス値であるかどうかを示す、1つのコンテキストコーディングされたビンrun_copy_flag=0が信号通知される。そうでない場合、run_copy_flag=1が通知される。ピクセルと前のピクセルとが異なるモードである場合、ピクセルの実行タイプ、即ち、INDEXまたはCOPY_ABOVEを示す1つのコンテキストコーディングされたビンcopy_above_palette_indices_flagが信号通知される。VTM6.0におけるパレットモードと同様に、デコーダは、サンプルが最初の行(水平横断走査)または最初の列(垂直横断走査)にある場合、INDEXモードがデフォルトで使用されるので、実行タイプを構文解析する必要がない。また、デコーダは、前に構文解析された実行タイプがCOPY_ABOVEである場合、実行タイプを構文解析する必要がない。1つのセグメントにおけるピクセルのパレット実行コーディングの後、各ラインCG内のスループットを改善するために、インデックス値(INDEXモードの場合)および量子化されたエスケープカラーをバイパスコーディングされ、コンテキストコーディングされたビンの符号化/構文解析とは別にグループ分けする。この場合、インデックス値は、VTMの場合のようにパレット実行コーディングの前に処理される代わりに、実行コーディングの後にコーディング/構文解析されるので、エンコーダは、インデックス値の数、num_palette_indices_minus1および最後の実行タイプcopy_above_indices_for_final_run_flagを信号通知する必要がない。
【0103】
3.本明細書に開示される実施形態および解決策によって解決される技術的課題
【0104】
現在の設計において、1つのブロックに対してACTモードおよび輝度BDPCMモードを有効にすることができる。しかし、ACTモードでコーディングされたブロックでは、クロマBDPCMモードは常に無効化される。そのため、効率が低い可能性がある同じコーディングユニット内の輝度ブロックとクロマブロックとでは、予測信号を異なるように導出してもよい。
【0105】
ACTが有効化される場合、ブロックの量子化パラメータ(QP)は負の数になる可能性がある。
【0106】
ACTの現在の設計は、可逆コーディングをサポートしない。
【0107】
ACTの使用の信号通知は、ブロックサイズに依存しない。
【0108】
最大パレットサイズおよび最大予測子サイズは固定数であり、これはパレットモードの柔軟性を制限する場合がある。
【0109】
エスケープサンプルは、2値化方法として3次の指数ゴロム(EG)を使用するが、エスケープサンプルの2値化はQP(Quantization Parameter)に依存しない。
【0110】
4.技術的解決策
【0111】
以下に詳述する技術的解決策は、一般的な概念を説明するための例であると考えられるべきである。これらの技術的解決策は狭い意味で解釈されるべきではない。さらに、これらの技術的解決策は、任意の方法で組み合わせることができる。
【0112】
以下の説明において、「ブロック」という用語は、映像領域、例えばCU(Coding Unit)、PU(Prediction Unit)、TU(Transform Unit)を表すことができ、これらの映像領域は、3つの色成分におけるサンプルを含んでよい。「BDPCM」という用語は、VVCにおける設計に限定されないが、異なる予測信号生成方法を使用して残差をコーディングする技術を提示してもよい。
【0113】
ACTとBDPCMの相互作用(項目1~4)
1.クロマBDPCMモードを有効にするかどうかは、ACTおよび/または輝度BDPCMモードの使用に依存してもよい。
a.一例において、ブロックにおいてACTが有効にされる場合、クロマBDPCMモードの使用の指示(例えば、intra_bdpcm_chroma_flag)は、輝度BDPCMモードの使用の指示(例えば、intra_bdpcm_luma_flag)であると推測してもよい。
i.一例において、クロマBDPCMモードの推測値は、(ACTおよび輝度BDPCMモードが有効化されている? 真:偽)と定義される。
1.一例において、intra_bdpcm_chroma_flagは、intra_bdpcm_luma_flagが偽である場合、偽に等しくなるように設定してもよい。
a.代替的に、intra_bdpcm_luma_flagが真である場合、intra_bdpcm_chroma_flagを真に等しく設定してもよい。
ii.代替的に、一例において、ブロックに対する輝度BDPCMモードおよびACTの使用の指示が真である場合、クロマBDPCMモードの使用の指示が真であると推測してもよい。
b.代替的に、ブロックのためのACTの使用を信号通知するかどうかは、条件付きでチェックしてもよく、例えば、同じBDPCM予測方向を、このブロックにおける輝度サンプルおよびクロマサンプルの両方に使用する。
i.さらに代替的に、BDPCMモードの使用後、ACTの使用の指示が信号通知される。
【0114】
2.ブロックにおいてACTが有効にされる場合、クロマBDPCMモードの予測方向の指示(例えば、intra_bdpcm_chroma_dir_flag)は、輝度BDPCMモードの使用の予測方向の指示(例えば、intra_bdpcm_luma_dir_flag)であると推測してもよい。
a.一例において、intra_bdpcm_chroma_dir_flagの推論値は、(ACTが有効にされている?intra_bdpcm_luma_dir_flag:0)と定義される。
i.一例において、輝度BDPCMモードの予測方向の指示が水平である場合、クロマBDPCMモードの予測方向の指示は水平であると推測してもよい。
ii.代替的に、一例において、輝度BDPCMモードの予測方向の指示が垂直である場合、クロマBDPCMモードの予測方向の指示は垂直であると推測してもよい。
【0115】
3.ACTおよびBDPCMモードは、排他的に適用してもよい。
a.一例において、ブロックにおいてACTモードが有効にされる場合、このブロックにおいてBDPCMモードを無効化してもよい。
i.さらに代替的に、BDPCMモードの使用の指示は、ACTモードの使用の指示の信号通知の後に信号通知されてもよい。
ii.さらに代替的に、BDPCMモードの使用の指示は、信号通知されず、偽(0)と推測してもよい。
b.一例において、ブロックにおいてBDPCMモードが有効にされている場合、このブロックではACTモードを無効化してもよい。
i.さらに代替的に、ACTモードの使用の指示は、BDPCMモードの使用の指示の信号通知の後に信号通知されてもよい。
ii.さらに代替的に、ACTモードの使用の指示は、信号通知されず、偽(0)と推測してもよい。
c.一例において、上記例におけるBDPCMモードは、輝度BDPCMモードおよび/またはクロマBDPCMモードを表してもよい。
【0116】
4.デコーダにおいて、逆BDPCMの前に逆ACTを適用してもよい。
a.一例において、ACTは、輝度およびクロマBDPCMが異なる予測モードを有する場合であっても適用できる。
b.代替的に、エンコーダにおいて、BDPCMの後に順方向ACTを適用してもよい。
【0117】
ACT有効時のQP設定(項目5)
5.ACTが有効にされている場合、QPをクリッピングすることが提案される。
a.一例において、クリッピング関数は、(l,h,x)と定義されてもよく、lは、入力xの可能な限り低い値であり、hは、入力xの可能な限り高い値である。
i.一例において、lは0に等しく設定されてもよい。
ii.一例において、hは63に等しく設定されてもよい。
b.一例において、QPは、2.5章で示すqPであってもよい。
c.一例において、クリッピングは、ACTモードのQP調整の後に行われてもよい。
d.一例において、変換スキップが適用される場合、lは、変換スキップモードのための最小許容QPに等しく設定されてもよい。
【0118】
パレットモード関連(項目6-7)
6.最大許容パレットサイズおよび/または最大許容予測子サイズの値は、コーディング特性に依存してもよい。第1のコーディング特性に関連付けられた最大パレットサイズ(またはパレット予測子サイズ)をSとし、第2のコーディング特性に関連付けられた最大パレットサイズ(またはパレット予測子サイズ)をSとする。
a.一例において、コーディング特性は色成分である。
i.一例において、異なる色成分のための最大許容パレットサイズおよび/または最大許容予測子サイズは、異なる値を有してもよい。
ii.一例において、第1の色成分(例えば、YCbCrにおけるY、RGBにおけるG)の最大許容パレットサイズおよび/または最大許容予測子サイズの値は、第1の色成分を除く他の2つの色成分(例えば、YCbCrにおけるCbおよびCr、B、RGBにおけるR)の値と異なってもよい。
b.一例において、コーディング特性は、量子化パラメータ(QP)でもよい。
i.一例において、QPがQPより大きい場合は、QPに対するSおよび/またはSは、QPに対するSおよび/またはSより小さい。
ii.一例において、QPは、スライスレベルQPであってもよいし、ブロックレベルQPであってもよい。
c.一例において、Sは、S以上であってもよい。
d.第1のコーディング特性および第2のコーディング特性に対し、最大パレットサイズ/パレット予測子サイズの指示を別個に信号通知してもよく、または一方から他方に推測してもよい。
i.一例において、Sは信号通知されてもよく、SはS1.に基づいて導出されてもよい。
1.一例において、SはS-nと推測してもよい。
2.一例において、Sは、S>>nであると推測してもよい。
3.一例において、Sをfloor(S/n)と推測してもよく、floor(x)は、x以下の最大限の整数を表す。
e.一例において、Sおよび/またはSは、ハイレベル(例えば、SPS/PPS/PH/スライスヘッダ)で信号通知され、ロワーレベル(例えば、CU/ブロック)で調整されてよい。
i.Sおよび/またはSをどのように調整するかは、コーディングされた情報に依存してもよい。
1.Sおよび/またはSをどのように調整するかは、現在のQPに依存してもよい。
a.一例において、現在のQPを増加させると、Sおよび/またはSが低下する。
2.Sおよび/またはSの調整方法はブロック寸法に依存してもよい。
a.一例において、現在のブロックのサイズが増加する場合は、Sおよび/またはSを増加させる。
f.Sおよび/またはSは、LMCSが使用されるかどうかに依存してもよい。
【0119】
7.エスケープサンプル/ピクセルのための2値化方法に関連付けられたパラメータは、コーディングされた情報、例えば、量子化パラメータ(QP)に依存してもよい。
a.一例において、EG2値化方法を利用してもよく、kで表されるEG2値化の順番は、コーディングされた情報に依存してもよい。
i.一例において、現在のQPが増加すると、kを低減するようにしてもよい。
【0120】
ACTモードの信号通知(項目8-10)
8.最大および/または最小許容ACTサイズの指示は、シーケンス/映像/スライス/タイル/サブピクチャ/ブリック/他の映像処理ユニットレベルで信号通知されてもよく、またはコーディングされた情報に基づいて導出されてもよい。
a.一例において、それらは、SPS/PPS/ピクチャヘッダ/スライスヘッダにおいて信号通知されてもよい。
b.一例において、それらは、ACTが有効にされていることに応じて等、条件付きで信号通知されてもよい。
c.一例において、最大および/または最小許容ACTサイズのNレベルは、例えば、N=2などで信号通知/定義されてもよい。
i.一例において、最大および/または最小許容ACTサイズは、K0またはK1のいずれかに設定されてもよい(例えば、K0=64、K1=32)。
ii.さらに、代替的に、レベルの指示が信号通知されてもよく、例えば、N=2の場合、フラグを信号通知してもよい。
d.一例において、最大および/または最小許容ACTサイズと、最大および/または最小許容変換(または変換スキップ)サイズ(例えば、輝度成分のための)との間の差の指示を信号通知してもよい。
e.一例において、最大および/または最小許容ACTサイズは、(例えば、輝度成分のために)最大および/または最小許容(または変換スキップ)サイズから導出されてもよい。
f.さらに代替的に、ACT使用の指示およびACTに関する他のサイド情報を信号通知するかどうか、および/またはどのように通知するかは、される最大および/または最小許容値に依存してもよい。
【0121】
9.ブロックが最大許容ACTサイズ(または最大許容変換サイズ)よりも大きい場合、このブロックは、複数のサブブロックに自動的に分割されてもよく、すべてのサブブロックが同じ予測モードを共有し(例えば、これらのすべてがイントラコーディングされる)、ACTは、ブロックレベルの代わりに、サブブロックレベルで有効にされてもよい。
【0122】
10.ACTモードの使用の指示は、ブロック寸法(例えば、ブロックの幅および/または高さ、ブロックの幅×高さ、ブロックの幅と高さの比、ブロックの幅と高さの最大値/最小値)および/または最大許容ACTのサイズに基づいて、条件付きで信号通知されてもよい。
a.一例において、ACTモードの使用の指示は、ブロック寸法に応じた特定の条件が、例えば、満たされている場合、信号通知されてもよい。
i.一例において、条件は、現在のブロックの幅がm以下である、および/または現在のブロックの高さがn以下であるかどうかである。
ii.一例において、条件とは、現在のブロックの幅×高さがmより小さいかまたはm以下であるかである。
iii.一例において、条件は、現在のブロックの幅×高さがmよりも大きいかまたはm以上であるかである。
b.代替的に、一例において、ACTモードの使用の指示は、ブロック寸法に応じた特定の条件が、例えば、満たされていない場合、信号通知されなくてもよい。
i.一例において、条件は、現在のブロックの幅がmよりも大きいか、および/または現在のブロックの高さがnよりも大きいかである。
ii.一例において、条件とは、現在のブロックの幅×高さがmより小さいかまたはm以下であるかである。
iii.一例において、条件は、現在のブロックの幅×高さがmよりも大きいかまたはm以上であるかである。
iv.さらに代替的に、ACTモードの使用の指示が0であると推測してもよい。
c.上記例において、変数m、nは、予め定義されてもよく(例えば、4、64、128)、または信号通知されてもよく、またはオンザフライで導出されてもよい。
i.一例において、mおよび/またはnは、SPS/PPS/APS/CTU行/CTUグループのCTU/CU/ブロックにおける復号メッセージに基づいて導出されてもよい。
1.一例において、mおよび/またはnは、最大許容変換サイズ(例えば、MaxTbSizeY)に等しく設定されてもよい。
【0123】
一般制約情報構文における制約フラグの信号通知(項目11-16)
なお、以下の制約フラグは、SPS以外の映像ユニットにおいて信号通知されてもよい。例えば、それらは、JVET-P2001-vEに規定される一般的な制約情報構文で信号通知されてもよい。
【0124】
11.SPS ACT有効化フラグ(例えば、sps_act_enabled_flag)が0であるかどうかを規定するために、制約フラグを有することが提案される。
a.一例において、このフラグは、no_act_constraint_flagと表されてもよい。
i.このフラグが1に等しい場合、SPS ACT有効化フラグ(例えば、sps_act_enabled_flag)は0に等しい。
ii.このフラグが0に等しい場合、このような制約は課されない。
【0125】
12.SPS BDPCM有効化フラグ(例えば、sps_bdpcm_enabled_flag)が0であるかどうかを規定するために、制約フラグを有することが提案される。
a.一例において、このフラグは、no_bdpcm_constraint_flagと表されてもよい。
i.このフラグが1に等しい場合、SPS BDPCM有効化フラグ(例えば、sps_bdpcm_enabled_flag)は0に等しい。
ii.このフラグが0に等しい場合、このような制約は課されない。
【0126】
13.SPSクロマBDPCM有効化フラグ(例えば、sps_bdpcm_chroma_enabled_flag)が0であるかどうかを規定するために、制約フラグを有することが提案される。
a.一例において、このフラグは、no_bdpcm_chroma_constraint_flagと表されてもよい。
i.このフラグが1に等しい場合、SPSクロマBDPCM有効化フラグ(例えば、sps_bdpcm_chroma_enabled_flag)は、0に等しい。
ii.このフラグが0に等しい場合、このような制約は課されない。
【0127】
14.SPSパレット有効化フラグ(例えば、sps_palette_enabled_flag)が0であるかどうかを規定するために、制約フラグを有することが提案される。
a.一例において、このフラグは、no_palette_constraint_flagと表されてもよい。
i.このフラグが1である場合、SPSパレット有効化フラグ(例えば、sp_palette_enabled_flag)は0に等しい。
ii.このフラグが0に等しい場合、このような制約は課されない。
【0128】
15.SPS RPR有効化フラグ(例えば、ref_pic_resampling_enabled_flag)が0であるかどうかを規定するために、制約フラグを有することが提案される。
a.一例において、このフラグは、no_ref_pic_resampling_constraint_flagと表されてもよい。
i.このフラグが1に等しい場合、SPS RPR有効化フラグ(例えば、ref_pic_resampling_enabled_flag)は0である。
ii.このフラグが0に等しい場合、このような制約は課されない。
【0129】
16.上記の例(黒丸11~15)において、このような制約フラグは、例えば、クロマフォーマット(例えば、chroma_format_idc)および/または別個のプレーンコーディングまたはChromaArrayTypeに応じて、条件付きで信号通知されてもよい。
【0130】
ACT QP オフセット(項目17ー19)
17.ACTがブロックに適用する場合、ACTオフセットは、他のクロマオフセット(例えば、PPSおよび/またはPH(Picture Header)および/またはSH(Slice Header)におけるもの)を適用した後に、適用してもよいことが提案される。
【0131】
18.ブロックに対してYCgCo色変換を適用する場合、JCbCrモード2に対して、-5以外のPPSオフセットおよび/またはPHオフセットを有することが提案される。
a.一例において、オフセットは、-5以外であってもよい。
b.一例において、オフセットは、PPSにおいて(例えば、pps_act_cbcr_qp_offset_plus6として)示されてもよく、オフセットは、pps_act_cbcr_qp_offset_plus6-6として設定されてもよい。
c.一例において、オフセットは、PPSにおいて(例えば、pps_act_cbcr_qp_offset_plus7として)示されてもよく、オフセットは、pps_act_cbcr_qp_offset_plus7-7として設定されてもよい。
【0132】
19.1つのブロックにYCgCo-Rを適用する場合、JCbCrモード2に対して1以外のPPSオフセットおよび/またはPHオフセットを有することが提案される。
a.一例において、オフセットは、-1以外であってもよい。
b.一例において、オフセットは、PPSにおいて(例えば、pps_act_cbcr_qp_offsetとして)示されてもよく、オフセットは、pps_act_cbcr_qp_offsetとして設定されてもよい。
c.一例において、オフセットは、PPSにおいて(例えば、pps_act_cbcr_qp_offset_plus1として)示されてもよく、オフセットは、pps_act_cbcr_qp_offset_plus1-1として設定されてもよい。
【0133】
一般的な技術(項目20ー21)
20.上記例において、S1,2,l、h、m、nおよび/またはkは整数であり、下記に依存してもよい。
a.一例において、デフォルトモードは、DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU(Largest Coding Unit)/CU(Coding Unit)/LCU行/LCUグループ/TU/PUブロック/映像コーディングユニットにおいて信号通知されてもよい。
b.CU/PU/TU/ブロック/映像コーディングユニットの位置
c.エッジに沿ったサンプルを含むブロックのコーディングされたモード
d.エッジに沿ってサンプルを含むブロックに適用される変換行列
e.現在のブロックおよび/またはその近傍のブロックのブロック寸法/ブロック形状
f.カラーフォーマットの表示(例えば、4:2:0、4:4:4、RGB、YUV等)
g.コーディングツリー構造(例えば、デュアルツリーまたはシングルツリー)
h.スライス/タイルグループのタイプおよび/またはピクチャのタイプ
i.色成分(例えば、CbまたはCrにのみ適用してもよい)
j.時間層ID
k.標準のプロファイル/レベル/層
l.代替的に、S1,2,l、h、m、nおよび/またはkは、デコーダに信号通知されてもよい。
【0134】
21.上述の提案された方法は、特定の条件下で適用してもよい。
a.一例において、この条件は、カラーフォーマットが4:2:0および/または4:2:2であることである。
b.一例において、上記方法の使用の指示は、SPS/PPS/ピクチャヘッダ/スライスヘッダのような、シーケンス/ピクチャ/スライス/タイル/ブリック/映像領域レベルで信号通知されてもよい。
c.一例において、上記方法の使用は、下記に依存してもよい。
i.映像コンテンツ(例えば、スクリーンコンテンツまたは自然コンテンツ)
ii.一例において、デフォルトモードは、DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU(Largest Coding Unit)/CU(Coding Unit)/LCU行/LCUグループ/TU/PUブロック/映像コーディングユニットにおいて信号通知されてもよい。
iii.CU/PU/TU/ブロック/映像コーディングユニットの位置
iv.エッジに沿ったサンプルを含むブロックのコーディングされたモード
v.エッジに沿ってサンプルを含むブロックに適用される変換行列
vi.現在のブロックおよび/またはその近傍のブロックのブロック寸法
vii.現在のブロックおよび/またはその近傍のブロックのブロック形状
viii.カラーフォーマットの表示(例えば、4:2:0、4:4:4、RGB、YUV等)
ix.コーディングツリー構造(例えば、デュアルツリーまたはシングルツリー)
x.スライス/タイルグループのタイプおよび/またはピクチャのタイプ
xi.色成分(例えば、CbまたはCrにのみ適用してもよい)
xii.時間層ID
xiii.標準のプロファイル/レベル/層
xiv.代替的に、mおよび/またはnは、デコーダに信号通知されてもよい。
【0135】
5.実施形態
【0136】
本実施形態はJVET-P2001-vEに基づく。新規に追加されたテキストは、太字のイタリック体の下線付きテキストで強調表示されている。削除されたテキストにはイタリック体のテキストで記されている。
【0137】
5.1.実施形態#1
【0138】
本実施形態は、ACTモードとBDPCMモードとの間の相互作用に関する。
【0139】
【表11】
【0140】
5.2.実施形態♯2
【0141】
本実施形態は、ACTモードとBDPCMモードとの間の相互作用に関する。
【0142】
1に等しいintra_bdpcm_chroma_flagは、位置(x0,y0)の現在のクロマコーディングブロックにBDPCMを適用することを規定し、即ち、変換をスキップし、イントラクロマ予測モードをintra_bdpcm_chroma_dir_flagで規定する。0に等しいintra_bdpcm_chroma_flagは、位置(x0,y0)の現在のクロマコーディングブロックにBDPCMが適用されないことを規定する。
【0143】
intra_bdpcm_chroma_flagが存在せず、cu_act_enabled_flagは偽である場合、それは0に等しいと推測される。
intra_bdpcm_chroma_flagが存在せず、cu_act_enabled_flagがtrueである場合、それはintra_bdpcm_luma_flagに等しいと推測される。
【0144】
x=x0..x0+cbWidth-1,y=y0..y0+cbHeight-1,およびcIdx=1..2の場合、変数BdpcmFlag[x][y][cIdx]は、intra_bdpcm_chroma_flagに等しく設定される。
【0145】
0に等しいintra_bdpcm_chroma_dir_flagは、BDPCM予測方向が水平であることを規定する。1に等しいintra_bdpcm_chroma_dir_flagは、BDPCM予測方向が垂直であることを規定する。cu_act_enabled_flagが真である場合、intra_bdpcm_chroma_dir_flagはintra_bdpcm_luma_dir_flagに等しく設定される。
【0146】
x=x0..x0+cbWidth-1,y=y0..y0+cbHeight-1,およびcIdx=1..2の場合、変数BdpcmDir[x][y][cIdx]は、intra_bdpcm_chroma_dir_flagに等しく設定される。
【0147】
5.3.実施形態#3
【0148】
本実施形態はQP設定に関する。
【0149】
8.7.3.変換係数のスケーリング処理
【0150】
この処理への入力は以下の通りである。
-現在のピクチャの左上の輝度サンプルに対する現在の輝度変換ブロックの左上のサンプルを規定する輝度位置(xTbY,yTbY)
-変換ブロックの幅を規定する変数nTbW、
-変換ブロックの高さを規定する変数nTbH、
-コーディングユニットの予測モードを規定する変数predMode、
-現在のブロックの色成分を規定する変数cIdx。
【0151】
この処理の出力は、要素d[x][y]を有するスケーリングされた変換係数の(nTbW)×(nTbH)配列dである。
【0152】
量子化パラメータqPを修正し、変数rectNonTsFlagおよびbdShiftを以下のように導出する。
-transform_skip_flag[xTbY][yTbY][cIdx]が0に等しい場合、以下が適用される。
qP=qP-(cu_act_enabled_flag[xTbY][yTbY]?5:0) (1133)
qP=Clip3(0,63,qP)
rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1)==1)?1:0 (1134)
bdShift=BitDepth+rectNonTsFlag+((Log2(nTbW)+Log2(nTbH))/2)-5+pic_dep_quant_enabled_flag (1135)
-そうでない場合(transform_skip_flag[xTbY][yTbY][cIdx]が1に等しい場合)、以下が適用される。
qP=Max(QpPrimeTsMin,qP)-(cu_act_enabled_flag[xTbY][yTbY]?5:0) (1136)
qP=Max(QpPrimeTsMin,qP-(cu_act_enabled_flag[xTbY][yTbY]?5:0))
rectNonTsFlag=0 (1137)
bdShift=10 (1138)
【0153】
5.4.実施形態#4
8.7.1 量子化パラメータの導出処理

-CbおよびCr成分、Qp’CbおよびQp’Cr、並びに結合Cb-CrコーディングQp’CbCrのためのクロマ量子化パラメータは、以下のように導出される。
Qp’Cb=Clip3(-QpBdOffset,63,qPCb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb)+QpBdOffset (1122)
Qp’Cr=Clip3(-QpBdOffset,63,qPCr+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetCr)+QpBdOffset (1123)
Qp’CbCr=Clip3(-QpBdOffset,63,qPCbCr+pps_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffsetCbCr)+QpBdOffset (1124)
【0154】
5.5.実施形態#5
7.3.9.5.コーディングユニット構文
【0155】
【表12】
【0156】
K0およびK1は32に等しく設定される。
【0157】
5.6.実施形態#6
7.3.9.5.コーディングユニット構文
【0158】
【表13】
【0159】
図7は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1700を示すブロック図である。様々な実装形態は、システム700のコンポーネントの一部又は全部を含んでもよい。システム700は、映像コンテンツを受信するための入力702を含んでもよい。映像コンテンツは、未加工又は非圧縮フォーマット、例えば、8又は10ビットのマルチコンポーネント画素値で受信されてもよく、又は圧縮又は符号化フォーマットで受信されてもよい。入力702は、ネットワークインターフェース、周辺バスインターフェース、又は記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、PON(登録商標;Passive Optical Network)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
【0160】
システム700は、本明細書に記載される様々なコーディング又は符号化方法を実装することができるコーディングコンポーネント704を含んでもよい。コーディングコンポーネント704は、入力702からの映像の平均ビットレートをコーディングコンポーネント704の出力に低減し、映像のコーディングされた表現を生成してもよい。従って、コーディング技術は、映像圧縮または映像コード変換技術と呼ばれることがある。コーディングコンポーネント704の出力は、コンポーネント706によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力702において受信された、記憶された又は通信された映像のビットストリーム(又はコーディングされた)表現は、表示インターフェース710に送信される画素値又は表示可能な映像を生成するためのコンポーネント708によって使用されてよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理操作を「コーディング」操作又はツールと呼ぶが、コーディングツール又は操作は、エンコーダ及びそれに対応する、コーディングの結果を逆にする復号化ツール又は操作が、デコーダによって行われることが理解されよう。
【0161】
周辺バスインターフェースまたは表示インターフェースの例は、USB(登録商標;Universal Serial Bus)またはHDMI(登録商標;High Definiyion Multimedia Interface)またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0162】
図8は、映像処理装置800のブロック図である。装置800は、本明細書に記載の方法の1または複数を実装するために使用してもよい。装置800は、スマートフォン、タブレット、コンピュータ、IoT(Internet of Things)受信機等により実施されてもよい。装置800は、1または複数のプロセッサ802と、1または複数のメモリ804と、映像処理ハードウェア806と、を含んでもよい。1または複数のプロセッサ802は、本明細書に記載される1または複数の方法(例えば、図5Aおよび図5Bに記載)を実装するように構成されてもよい。1または複数のメモリ804は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア806は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。いくつかの実施形態において、ハードウェア806は、プロセッサ802、例えばグラフィックプロセッサ内に部分的にまたは全体が含まれてもよい。
【0163】
図9は、本開示の技法を利用し得る例示的な映像コーディングシステム100を示すブロック図である。図9に示すように、映像コーディングシステム100は、送信元デバイス110と、送信先デバイス120と、を備えてもよい。送信元デバイス110は、符号化された映像データを生成するものであり、映像符号化機器とも呼ばれ得る。送信先デバイス120は、送信元デバイス110によって生成された符号化映像データを復号化してよく、映像復号化デバイスと呼ばれ得る。送信元デバイス110は、映像ソース112と、映像エンコーダ114と、入出力(I/O)インターフェース116と、を含んでよい。
【0164】
映像ソース112は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイダからの映像データを受信するためのインターフェース、および/または映像データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含んでもよい。映像データは、1または複数のピクチャを含んでもよい。映像エンコーダ114は、映像ソース112からの映像データを符号化し、ビットストリームを生成する。ビットストリームは、映像データのコーディングされた表現を形成するビットのシーケンスを含んでもよい。ビットストリームは、コーディングされたピクチャおよび関連付けられたデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメータセット、および他の構文構造を含んでもよい。I/Oインターフェース116は、変復調器(モデム)および/または送信機を含んでもよい。符号化された映像データは、ネットワーク130aを介して、I/Oインターフェース116を介して送信先デバイス120に直接送信されてよい。符号化された映像データは、送信先デバイス120がアクセスするために、記憶媒体/サーバ130bに記憶してもよい。
【0165】
送信先デバイス120は、I/Oインターフェース126、映像デコーダ124、および表示装置122を含んでもよい。
【0166】
I/Oインターフェース126は、受信機および/またはモデムを含んでもよい。I/Oインターフェース126は、送信元デバイス110または記憶媒体/サーバ130bから符号化された映像データを取得してもよい。映像デコーダ124は、符号化された映像データを復号化してもよい。表示装置122は、復号化された映像データをユーザに表示してもよい。表示装置122は、送信先デバイス120と一体化されてもよく、または外部表示装置とインターフェースで接続するように構成される送信先デバイス120の外部にあってもよい。
【0167】
映像エンコーダ114および映像デコーダ124は、HEVC(High Efficiency Video Coding)規格、VVM(Versatile Video Coding)規格、および他の現在のおよび/またはさらなる規格等の映像圧縮規格に従って動作してもよい。
【0168】
図10は、映像エンコーダ200の一例を示すブロック図であり、映像エンコーダ200は、図9に示されるシステム100における映像エンコーダ114であってもよい。
【0169】
映像エンコーダ200は、本開示の技術のいずれか又は全部を実行するように構成されてもよい。図10の例において、映像エンコーダ200は、複数の機能コンポーネントを備える。本開示で説明される技法は、映像エンコーダ200の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0170】
映像エンコーダ200の機能コンポーネントは、分割ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含んでもよい予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピー符号化ユニット214と、を含んでもよい。
【0171】
他の例において、映像エンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含んでもよい。一例において、予測ユニット202は、IBC(Intra Block Copy)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが現在の映像ブロックが位置するピクチャであるIBCモードにおいて予測を行うことができる。
【0172】
さらに、動き推定ユニット204及び動き補償ユニット205などのいくつかのコンポーネントは、高度に統合されてもよいが、説明のために、図10の例においては別々に表されている。
【0173】
分割ユニット201は、1つのピクチャを1または複数の映像ブロックに分割してよい。映像エンコーダ200及び映像デコーダ300は、様々な映像ブロックサイズをサポートしてもよい。
【0174】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのいずれかのコーディングモードの1つを選択し、得られたイントラ又はインターコーディングブロックを、残差生成ユニット207に供給して残差ブロックデータを生成し、また再構成ユニット212に供給して参照ピクチャとして使用するために符号化ブロックを再構成してもよい。いくつかの例において、モード選択ユニット203は、インター予測信号およびイントラ予測信号に基づいて予測を行うCIIP(Combination of Intra and Inter Prediction)モードを選択してもよい。モード選択ユニット203は、インター予測の場合、ブロックのために動きベクトルの解像度(例えば、サブピクセル又は整数ピクセル精度)を選択してもよい。
【0175】
現在の映像ブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1または複数の参照フレームと現在の映像ブロックとを比較することにより、現在の映像ブロックのために動き情報を生成してもよい。動き補償ユニット205は、現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの動き情報及び復号化サンプルに基づいて、現在の映像ブロックのために予測映像ブロックを判定してもよい。
【0176】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在の映像ブロックがIスライスであるか、Pスライスであるか、又はBスライスであるかに基づいて、現在の映像ブロックに対して異なる演算を実行してもよい。
【0177】
いくつかの例において、動き推定ユニット204は、現在の映像ブロックに対して単方向予測を実行し、動き推定ユニット204は、現在の映像ブロックに対する参照映像ブロックのために、リスト0又はリスト1の参照ピクチャを検索してもよい。そして、動き推定ユニット204は、参照映像ブロックと、現在の映像ブロックと参照映像ブロックとの間の空間的変位を示す動きベクトルとを含む、リスト0またはリスト1における参照ピクチャを示す参照インデックスを生成してもよい。動き推定ユニット204は、参照インデックス、予測方向インジケータ、および動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在のブロックの予測映像ブロックを生成してもよい。
【0178】
他の例において、動き推定ユニット204は、現在の映像ブロックを双方向予測してもよく、動き推定ユニット204は、リスト0における参照ピクチャの中から現在の映像ブロックために参照映像ブロックを検索してもよく、また、リスト1における参照ピクチャの中から現在の映像ブロックのために別の参照映像ブロックを検索してもよい。そして、動き推定ユニット204は、参照映像ブロックを含むリスト0およびリスト1における参照ピクチャを示す参照インデックスと、参照映像ブロックと現在の映像ブロックとの間の空間的変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在の映像ブロックの参照インデックスおよび動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在の映像ブロックの予測映像ブロックを生成してもよい。
【0179】
いくつかの例において、動き推定ユニット204は、デコーダの復号化処理のために、動き情報のフルセットを出力してもよい。
【0180】
いくつかの例では、動き推定ユニット204は、現在の映像のために動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、別の映像ブロックの動き情報を参照して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定ユニット204は、現在の映像ブロックの動き情報が近傍の映像ブロックの動き情報に十分に類似していると判定してもよい。
【0181】
一例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、現在の映像ブロックが別の映像ブロックと同じ動き情報を有することを映像デコーダ300に示す値を示してもよい。
【0182】
別の例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、別の映像ブロックと、MVD(Motion Vector Difference)と、を識別してもよい。動きベクトル差分は、現在の映像ブロックの動きベクトルと、示された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、指示された映像ブロックの動きベクトルと、動きベクトル差分と、を用いて、現在の映像ブロックの動きベクトルを判定してもよい。
【0183】
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよい。映像エンコーダ200によって実装され得る予測信号通知技法の2つの例は、AMVP(Advanced Motion Vector Prediction)およびマージモード信号通知を含む。
【0184】
イントラ予測ユニット206は、現在の映像ブロックに対してイントラ予測を行ってもよい。イントラ予測ユニット206が現在の映像ブロックをイントラ予測する場合、イントラ予測ユニット206は、同じピクチャにおける他の映像ブロックの復号化されたサンプルに基づいて、現在の映像ブロックのための予測データを生成してもよい。現在の映像ブロックのための予測データは、予測された映像ブロック及び様々な構文要素を含んでもよい。
【0185】
残差生成ユニット207は、現在の映像ブロックから現在の映像ブロックの予測された映像ブロックを減算することによって(例えば、マイナス符号によって示されている)、現在の映像ブロックのために残差データを生成してもよい。現在の映像ブロックの残差データは、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロックを含んでもよい。
【0186】
他の例において、例えば、スキップモードにおいて、現在の映像ブロックのための残差データがなくてもよく、残差生成ユニット207は、減算演算を実行しなくてもよい。
【0187】
変換処理ユニット208は、現在の映像ブロックに関連付けられた残差映像ブロックに1または複数の変換を適用することによって、現在の映像ブロックのために1または複数の変換係数映像ブロックを生成してもよい。
【0188】
変換処理ユニット208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成した後、量子化ユニット209は、現在の映像ブロックに関連付けられた1または複数の量子化パラメータ(QP)の値に基づいて、現在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
【0189】
逆量子化ユニット210および逆変換ユニット211は、変換係数映像ブロックに逆量子化および逆変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい。再構成ユニット212は、予測ユニット202が生成した1または複数の予測映像ブロックから対応するサンプルに再構成された残差映像ブロックを加え、バッファ213での記憶のために現在のブロックに関連付けられた再構成された映像ブロックを生成してよい。
【0190】
再構成ユニット212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキングアーチファクトを縮小するために、ループフィルタリング演算を行ってもよい。
【0191】
エントロピー符号化ユニット214は、映像エンコーダ200の他の機能コンポーネントからデータを受信してもよい。エントロピー符号化ユニット214は、データを受信すると、1または複数のエントロピー符号化演算を行い、エントロピー符号化されたデータを生成し、エントロピー符号化されたデータを含むビットストリームを出力してもよい。
【0192】
図11は、映像デコーダ300の一例を示すブロック図であり、この映像デコーダ300は、図9に示すシステム100における映像デコーダ114であってもよい。
【0193】
映像デコーダ300は、本開示の技術のいずれか又は全部を実行するように構成されてもよい。図11の実施例において、映像デコーダ300は、複数の機能コンポーネントを含む。本開示で説明される技法は、映像デコーダ300の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0194】
図11の例において、映像デコーダ300は、エントロピー復号化ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、及び再構成ユニット306、並びにバッファ307を備える。映像デコーダ300は、いくつかの例では、映像エンコーダ200(図10)に関して説明した符号化パスとほぼ逆の復号化パスを行ってもよい。
【0195】
エントロピー復号化ユニット301は、符号化されたビットストリームを取り出す。符号化されたビットストリームは、エントロピー符号化された映像データ(例えば、映像データの符号化されたブロック)を含んでもよい。エントロピー復号化ユニット301は、エントロピー符号化された映像データを復号化し、エントロピー復号された映像データから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む動き情報を決定してもよい。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することにより、このような情報を判定してもよい。
【0196】
動き補償ユニット302は、動き補償されたブロックを生成してもよく、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセルの精度で使用される補間フィルタのための識別子が、構文要素に含まれてもよい。
【0197】
動き補償ユニット302は、映像ブロックの符号化の間に映像エンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルのための補間値を計算してもよい。動き補償ユニット302は、受信した構文情報に基づいて、映像エンコーダ200が使用する補間フィルタを判定し、この補間フィルタを使用して予測ブロックを生成してもよい。
【0198】
動き補償ユニット302は、符号化された映像シーケンスのフレームおよび/またはスライスを符号化するために使用されるブロックのサイズを判定するための構文情報、符号化された映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのように符号化されるかを示すモード、各インター符号化されたブロックに対する1または複数の参照フレーム(および参照フレームリスト)、および符号化された映像シーケンスを復号化するための他の情報のいくつかを用いてもよい。
【0199】
イントラ予測ユニット303は、例えば、ビットストリームにおいて受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してもよい。逆量子化ユニット303は、ビットストリームに提供され、エントロピー復号化ユニット301によって復号された量子化された映像ブロック係数を逆量子化(すなわち、逆量子化)する。逆変換ユニット303は、逆変換を適用する。
【0200】
再構成ユニット306は、残差ブロックと、動き補償ユニット202又はイントラ予測ユニット303によって生成された対応する予測ブロックとを合計し、復号化されたブロックを形成してもよい。所望であれば、ブロックアーチファクトを除去するために、復号化されたブロックをフィルタリングするためにデブロッキングフィルタを適用してもよい。復号化された映像ブロックは、バッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のために参照ブロックを提供し、また表示装置に表示するために復号化された映像を生成する。
【0201】
図12図24は、上述した技術的解決策を実装することができる例示的な方法を示し、例えば、この実施形態は図7図11に示す。
【0202】
図12は、映像処理の方法1200の一例を示すフローチャートを示す。方法1200は、動作1210において、映像の現在の映像ブロックと映像のビットストリームとの間の変換のために、現在の映像ブロックをコーディングするために使用されるACT(Adaptive Color Transform)モードのための最大許容サイズおよび/または最小許容サイズを決定することを含む。
【0203】
方法1200は、動作1220において、決定に基づいて変換を実行することを含む。
【0204】
図13は、映像処理の方法1300の一例を示すフローチャートを示す。方法1300は、動作1310において、映像の現在の映像ブロックと映像のビットストリームとの間の変換のために、現在の映像ブロックをコーディングするために使用されるパレットモードに対して、最大許容パレットサイズおよび/または最小許容予測子サイズを決定することを含み、最大許容パレットサイズおよび/または最小許容予測子サイズは現在の映像ブロックのコーディング特性に基づく。
【0205】
方法1300は、動作1320において、決定に基づいて変換を実行することを含む。
【0206】
図14は、映像処理の方法1400の一例を示すフローチャートを示す。方法1400は、動作1410において、映像の現在の映像ブロックと映像のビットストリームとの間の変換を実行することを含み、現在の映像ブロックは、パレットモードコーディングツールを使用してコーディングされ、ビットストリームは、ビットストリームにおける現在の映像ブロックのためのエスケープシンボルの2値化に関連付けられたパラメータが現在の映像ブロックのコーディングされた情報に基づくことを規定するフォーマット規則に準拠する。
【0207】
図15は、映像処理の方法1500の一例を示すフローチャートを示す。方法1500は、動作1510において、ブロックを含む映像と映像のビットストリームとの間の変換のために、ブロックのサイズがACT(Adaptive Color Transform)モードにおける最大許容サイズよりも大きいことを決定することを含む。
【0208】
方法1500は、動作1520において、決定に基づいて、変換を行うことを含み、ブロックのサイズがACTモードに対する最大許容サイズよりも大きいことに応答して、ブロックを複数のサブブロックに分割し、複数のサブブロックの各々が同じ予測モードを共有し、ACTモードがサブブロックレベルにおいて有効にされる。
【0209】
図16は、映像処理の方法1600の一例を示すフローチャートを示す。方法1600は、動作1610において、映像の現在の映像ブロックと映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、現在の映像ブロックにおけるACT(Adaptive Color Transform)モードの使用の指示がビットストリームにおいて信号通知されるかどうかは、現在の映像ブロックの寸法またはACTモードに対する最大許容サイズのうちの少なくとも1つに基づくことを規定するフォーマット規則に準拠する。
【0210】
図17は、映像処理の方法1700の一例を示すフローチャートを示す。方法1700は、動作1710において、映像の現在の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームが、ビットストリームに第1のフラグが含まれているかどうかを規定するフォーマット規則に準拠し、第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、現在の映像ユニットに対してACT(Adaptive Color Transform)モードが無効にされることを規定するかどうかを示す。
【0211】
図18は、映像処理の方法1800の一例を示すフローチャートを示す。方法1800は、動作1810において、映像の現在の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームが、ビットストリームに第1のフラグが含まれているかどうかを規定するフォーマット規則に準拠し、第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、現在の映像ユニットに対してBDPCM(Block-based Delta Pulse Code Modulation)モードが無効にすることを規定するかどうかを示す。
【0212】
図19は、映像処理の方法1900の一例を示すフローチャートを示す。方法1900は、動作1910において、現在の映像の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、ビットストリームに第1のフラグが含まれているかどうかを規定するフォーマット規則に準拠し、第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、現在の映像ユニットのクロマ成分のためのBDPCM(Block-based Delta Pulse Code Modulation)モードを無効にすることを規定するかどうかを示す。
【0213】
図20は、映像処理の方法2000の一例を示すフローチャートを示す。方法2000は、動作2010において、映像の現在の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームが、ビットストリームに第1のフラグが含まれているかどうかを規定するフォーマット規則に準拠し、第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、現在の映像ユニットに対してパレット無効にすることを規定するかどうかを示す。
【0214】
図21は、映像処理の方法2100の一例を示すフローチャートを示す。方法2100は、動作2110において、映像の現在の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームが、ビットストリームに第1のフラグが含まれているかどうかを規定するフォーマット規則に準拠し、第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、現在の映像ユニットに対してRPR(Reference Picture Resampling)モードが無効にされることを規定するかどうかを示す。
【0215】
図22は、映像処理の方法2200の一例を示すフローチャートを示す。方法2200は、動作2210において、現在の映像ブロックに対してACT(Adaptive Color Transform)モードを有効にする場合、追加の量子化パラメータオフセットを適用することを規定する規則に従って、映像の現在の映像ブロックと映像のビットストリームとの間の変換を実行することを含む。
【0216】
図23は、映像処理の方法2300の一例を示すフローチャートを示す。方法2300は、動作2310において、規則に従って、映像の現在の映像ブロックと映像のビットストリーム表現との間の変換を実行することを含み、現在の映像ブロックは、YCgCo色変換またはYCgCo逆色変換を現在の映像ブロックに適用するジョイントCbCrコーディングモードを使用してコーディングされ、規則は、現在の映像ブロックが、YCgCo色変換を使用するジョイントCbCrコーディングモードを使用してコーディングされるため、現在の映像ブロックに関連付けられたPH(Picture Header)またはPPS(Picture Parameter Set)において、-5とは異なる量子化パラメータオフセット値を使用することを規定する。
【0217】
図24は、映像処理の方法2400の一例を示すフローチャートを示す。方法2400は、動作2410において、規則に従って、映像の現在の映像ブロックと映像のビットストリーム表現との間の変換を実行することを含み、現在の映像ブロックは、YCgCo-R色変換またはYCgCo-R逆色変換を現在の映像ブロックに適用するジョイントCbCrコーディングモードを使用してコーディングされ、規則は、現在の映像ブロックが、YCgCo-R色変換を使用するジョイントCbCrコーディングモードを使用してコーディングされるため、現在の映像ブロックに関連付けられたPH(Picture Header)またはPPS(Picture Parameter Set)において、所定のオフセットとは異なる量子化パラメータオフセット値を使用することを規定する。
【0218】
次に、いくつかの実施形態において好適な解決策を列挙する。
【0219】
A1.映像の現在の映像ブロックと前記映像のビットストリームとの間の変換のために、前記現在の映像ブロックをコーディングするために使用されるACT(Adaptive Color Transform)モードのための最大許容サイズおよび/または最小許容サイズを決定することと、前記決定に基づいて、前記変換を実行することと、を含む、映像処理の方法。
【0220】
A2.前記ACTモードのための前記最大許容サイズまたは前記最小許容サイズは、色成分のための変換ブロックまたは変換スキップブロックのための最大許容サイズまたは最小許容サイズに基づく、解決策A1に記載の方法。
【0221】
A3.前記色成分が輝度成分である、解決策A2に記載の方法。
【0222】
A4.前記最大許容サイズまたは前記最小許容サイズに基づいて、前記ビットストリームにおいてACTモードの指示を信号通知する、解決策A1に記載の方法。
【0223】
A5.前記最大許容サイズまたは前記最小許容サイズに基づいて、前記ACTモードに関するビットストリームにおいてサイド情報を信号通知する、解決策A1に記載の方法。
【0224】
A6.前記最大許容サイズまたは前記最小許容サイズが、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、ピクチャヘッダ、またはスライスヘッダにおいて信号通知される、解決策A1に記載の方法。
【0225】
A7.前記ACTモードが有効化される場合、前記ビットストリームにおいて前記最大許容サイズまたは前記最小許容サイズが信号通知される、解決策A1に記載の方法。
【0226】
A8.前記最大許容サイズがK0であり、前記最小許容サイズがK1であり、K0およびK1が正の整数である、解決策A1に記載の方法。
【0227】
A9.K0=64およびK1=32である、解決策A8に記載の方法。
【0228】
A10.ACTコーディングされたブロックに対する前記最大許容サイズまたは前記最小許容サイズと、変換ブロックまたは変換スキップブロックに対する対応サイズとの間の差が、前記ビットストリームにおいて信号通知される、解決策A1に記載の方法。
【0229】
A11.映像の現在の映像ブロックと前記映像のビットストリームとの間の変換のために、前記現在の映像ブロックをコーディングするために使用されるパレットモードに対して、最大許容パレットサイズおよび/または最小許容予測子サイズを決定することと、前記決定に基づいて、前記変換を実行することとを含み、前記最大許容パレットサイズおよび/または前記最小許容予測子サイズは、前記現在の映像ブロックのコーディング特性に基づく、映像処理の方法。
【0230】
A12.前記コーディング特性は前記映像の色成分であり、前記最大許容パレットサイズは異なる色成分ごとに異なる、解決策A11に記載の方法。
【0231】
A13.前記コーディング特性は、量子化パラメータである、解決策A11に記載の方法。
【0232】
A14.S1は、第1のコーディング特性に関連付けられた前記最大許容パレットサイズまたは前記最小許容予測子サイズであり、S2は、第2のコーディング特性に関連付けられた前記最大許容パレットサイズまたは前記最小許容予測子サイズであり、S1およびS2は正の整数である、解決策A11に記載の方法。
【0233】
A15.S2がS1以上である、解決策A14に記載の方法。
【0234】
A16.前記ビットストリームにおいてS1およびS2が別個に信号通知される、解決策A14に記載の方法。
【0235】
A17.前記ビットストリームにおいてS1が信号通知され、S2がS1から推測されるまたは導出される、解決策A14に記載の方法。
【0236】
A18.S2=S1-n、であり、nは非ゼロ整数である、解決策A17に記載の方法。
【0237】
A19.S1およびS2は前記第1のレベルで信号通知され、第1のレベルよりも低い第2のレベルに調整される、解決策A14に記載の方法。
【0238】
A20.前記第1のレベルは、シーケンスレベル、ピクチャレベル、またはスライスレベルであり、前記第2のレベルは、コーディングユニットレベルまたはブロックレベルである、解決策A19に記載の方法。
【0239】
A21.S1およびS2は、LMCS(Luma Mapping with Chroma Scaling)を使用した輝度マッピングが前記現在の映像ブロックに適用されるかどうかに基づく、解決策A14に記載の方法。
【0240】
A22.映像の現在の映像ブロックと前記映像のビットストリームとの間の変換を実行することを含み、前記ビットストリームは、フォーマット規則に準拠し、前記現在の映像ブロックは、パレットモードコーディングツールを使用してコーディングされ、前記フォーマット規則は、前記ビットストリームにおける前記現在の映像ブロックのためのエスケープシンボルの2値化に関連付けられたパラメータが前記現在の映像ブロックのコーディングされた情報に基づくことを規定する、映像処理の方法。
【0241】
A23.前記コーディングされた情報は、1または複数の量子化パラメータを含む、解決策A22に記載の方法。
【0242】
A24.前記2値化は、次数kを有する指数ゴロム2値化方法を使用し、kは、前記コーディングされた情報に基づく非負の整数である、解決策A22に記載の方法。
【0243】
A25.ブロックを含む映像と前記映像のビットストリームとの間の変換のために、前記ブロックのサイズがACT(Adaptive Color Transform)モードの最大許容サイズよりも大きいことを決定することと、前記決定に基づいて、前記変換を実行することと、を含み、前記ブロックのサイズが前記ACTモードの前記最大許容サイズよりも大きいことに応答して、前記ブロックを複数のサブブロックに分割し、前記複数のサブブロックの各々が同じ予測モードを共有し、サブブロックレベルで前記ACTモードが有効にされる、映像処理の方法。
【0244】
A26.映像の現在の映像ブロックと前記映像のビットストリームとの間の変換を実行することを含み、前記ビットストリームは、前記現在の映像ブロックにおけるACT(Adaptive Color Transform)モードの使用の指示が前記ビットストリームにおいて信号通知されるかどうかが、前記現在の映像ブロックの寸法または前記ACTモードに対する最大許容サイズのうちの少なくとも1つに基づくことを規定するフォーマット規則に準拠する、映像処理の方法。
【0245】
A27.前記現在の映像ブロックの幅がm以下であるか、または前記現在の映像ブロックの高さがn以下であることにより、前記指示が信号通知され、mおよびnは正の整数である、解決策A26に記載の方法。
【0246】
A28.前記指示は、前記現在の映像ブロックの幅と前記現在の映像ブロックの高さとの積がm以下であることに起因して信号通知され、mは正の整数である、解決策A26に記載の方法。
【0247】
A29.前記現在の映像ブロックの幅がmより大きいか、または前記現在の映像ブロックの高さがnより大きいことに起因して前記指示が信号通知されず、mおよびnが正の整数である、解決策A26に記載の方法。
【0248】
A30.mが予め定義されている、解決策A27~A29のいずれかに記載の方法。
【0249】
A31.SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、APS(Adaptation parameter Set)、CTU(Coding Tree Unit)行、CTUグループ、CU(Coding Unit)、または前記ブロックにおける復号化されたメッセージに基づいてmを導出する、解決策A27~A29のいずれかに記載の方法。
【0250】
A32.前記指示が信号通知されず、ゼロであると推測される、解決策A26に記載の方法。
【0251】
次に、いくつかの実施形態において好適な別の解決策を列挙する。
【0252】
B1.映像の現在の映像ユニットと前記映像のビットストリーとの間の変換を実行することを含み、前記ビットストリームが、フォーマット規則に準拠し、前記フォーマット規則は、前記ビットストリームに第1のフラグが含まれているかどうかを規定し、前記第1のフラグは、SPS(Sequence Paramter Set)における第2のフラグが、前記現在の映像ユニットに対してACT(Adaptive Parameter Set)モードが無効であることを規定するかどうかを示す、映像処理の方法。
【0253】
B2.前記第1のフラグは、前記映像の出力層のセットにおける1または複数のピクチャのための一般制約情報を含む、解決策B1に記載の方法。
【0254】
B3.前記第1のフラグはno_act_constraint_flagであり、前記第2のフラグはsps_act_enabled_flagである、解決策B1またはB2に記載の方法。
【0255】
B4.前記第1のフラグが1に等しいことに起因して、前記第2のフラグが0に等しい、解決策B1~B3のいずれかに記載の方法。
【0256】
B5.0に等しい前記第2のフラグは、前記現在の映像ユニットに対して前記ACTモードが無効であることを規定する、解決策B1~B3のいずれか1項に記載の方法。
【0257】
B6.前記第1のフラグが1に等しいことに起因して、前記第2のフラグが0または1のいずれかに等しくなることができる、解決策B1~B3のいずれかに記載の方法。
【0258】
B7.映像の現在の映像ユニットと前記映像のビットストリーとの間の変換を実行することを含み、前記ビットストリームが、フォーマット規則に準拠し、前記フォーマット規則は、前記ビットストリームに第1のフラグが含まれているかどうかを規定し、前記第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、前記現在の映像ユニットに対してBDPCM(Block-based Delta Pulse Code Modulation)モードが無効であることを規定するかどうかを示す、映像処理の方法。
【0259】
B8.前記第1のフラグは、前記映像の出力レイヤのセットにおける1または複数のピクチャのための一般制約情報を含む、解決策B7に記載の方法。
【0260】
B9.前記第1のフラグはno_bdpcm_constraint_flagであり、前記第2のフラグはsps_bdpcm_enabled_flagである、解決策B7またはB8に記載の方法。
【0261】
B10.前記第1のフラグが1に等しいことに起因して、前記第2のフラグが0に等しい、解決策B7~B9のいずれかに記載の方法。
【0262】
B11.0に等しい前記第2のフラグは、前記現在の映像ユニットに対してBDPCMモードが無効であることを規定する、解決策B7~B9のいずれか1項に記載の方法。
【0263】
B12.前記第1のフラグが1に等しいことに起因して、前記第2のフラグが0または1のいずれかに等しくなることができる、解決策B7~B9のいずれかに記載の方法。
【0264】
B13.映像の現在の映像ユニットと前記映像のビットストリームとの間の変換を実行することを含み、前記ビットストリームが、フォーマット規則に準拠し、前記フォーマット規則は、ビットストリームに第1のフラグが含まれているかどうかを規定し、前記第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、前記現在の映像ユニットのクロマ成分に対してBDPCM(Block-based Delta Pulse Code Modulation)モードが無効であることを規定するかどうかを示す、映像処理の方法。
【0265】
B14.前記第1のフラグは、前記映像の出力層のセットにおける1または複数のピクチャのための一般制約情報を含む、解決策B13に記載の方法。
【0266】
B15.前記第1のフラグはno_bdpcm_chroma_constraint_flagであり、前記第2のフラグはsps_bdpcm_chroma_enabled_flagである、解決策B13またはB14に記載の方法。
【0267】
B16.前記第1のフラグが1に等しいことに起因して、前記第2のフラグが0に等しい、解決策B13~B15のいずれかに記載の方法。
【0268】
B17.0に等しい前記第2のフラグは、前記現在の映像ユニットの前記クロマ成分に対して前記BDPCMモードが無効であることを規定する、解決策B13~B15のいずれかに記載の方法。
【0269】
B18.前記第1のフラグが1に等しいことに起因して、前記第2のフラグが0または1のいずれかに等しくなることができる、解決策B13~B15のいずれかに記載の方法。
【0270】
B19.映像の現在の映像ユニットと前記映像のビットストリームとの間の変換を実行することを含み、前記ビットストリームが、フォーマット規則に準拠し、前記フォーマット規則は、前記ビットストリームに第1のフラグが含まれているかどうかを規定し、前記第1のフラグは、SPS(Sequence Paramter Set)における第2のフラグが、前記現在の映像ユニットに対してパレットモードが無効であることを規定するかどうかを示す、映像処理の方法。
【0271】
B20.前記第1のフラグは、前記映像の出力層のセットにおける1または複数のピクチャのための一般制約情報を含む、解決策B19に記載の方法。
【0272】
B21.前記第1のフラグはno_palette_constraint_flagであり、前記第2のフラグはsps_palette_enabled_flagである、解決策B19またはB20に記載の方法。
【0273】
B22.前記第1のフラグが1に等しいことに起因して、前記第2のフラグは0に等しい、解決策B19~B21のいずれかに記載の方法。
【0274】
B23.0に等しい前記第2のフラグは、前記現在の映像ユニットに対して前記パレットモードが無効であることを規定する、解決策B19~B21のいずれか1項に記載の方法。
【0275】
B24.前記第1のフラグが1に等しいことに起因して、前記第2のフラグが0または1のいずれかに等しくなることができる、解決策B19~B21のいずれかに記載の方法。
【0276】
B25.映像の現在の映像ユニットと前記映像のビットストリームとの間の変換を実行することを含み、前記ビットストリームが、フォーマット規則に準拠し、前記フォーマット規則は、前記ビットストリームに第1のフラグが含まれているかどうかを規定し、前記第1のフラグは、SPS(Sequence Parameter Set)における第2のフラグが、前記現在の映像ユニットに対してRPR(Reference Picture Resampling)モードが無効であることを規定するかどうかを示す、映像処理方法。
【0277】
B26.前記第1のフラグは、前記映像の出力層のセットにおける1または複数のピクチャのための一般制約情報を含む、解決策B25に記載の方法。
【0278】
B27.前記第1のフラグはno_ref_pic_resampling_constraint_flagであり、前記第2のフラグはref_pic_resampling_enabled_flagである、解決策B25またはB26に記載の方法。
【0279】
B28.前記第1のフラグが1に等しいことに起因して、前記第2のフラグが0に等しい、解決策B25~B27のいずれかに記載の方法。
【0280】
B29.0に等しい前記第2のフラグは、前記現在の映像ユニットに対して前記RPRモードが無効であることを規定する、解決策B25~B27のいずれかに記載の方法。
【0281】
B30.前記第1のフラグが0に等しいことに起因して、前記第2のフラグが0または1のいずれかに等しくなることができる、解決策B25~B27のいずれかに記載の方法。
【0282】
B31.前記フォーマット規則は、前記第1のフラグが前記ビットストリームにおいて信号通知されるかどうかが条件に基づいていることをさらに規定する、解決策B1~B30のいずれかに記載の方法。
【0283】
B32.前記条件は、前記映像のクロマフォーマットのタイプである、解決策B31に記載の方法。
【0284】
次に、いくつかの実施形態において好適なさらに別の解決策を列挙する。
【0285】
C1.現在の映像ブロックに対してACT(Adaptive Color Transform)モードを有効にする場合、追加の量子化パラメータオフセットを適用することを規定する規則に従って、映像の前記現在の映像ブロックと前記映像のビットストリームとの間の変換を実行することを含む、映像処理の方法。
【0286】
C2.前記追加の量子化パラメータオフセットは、1または複数のクロマオフセットが適用された後に適用される、解決策C1に記載の方法。
【0287】
C3.前記1または複数のクロマオフセットは、PPS(Picture Parameter Set)、PH(Picture Header)、またはSH(Slice Header)に規定される、解決策C2に記載の方法。
【0288】
C4.規則に従って、映像の現在の映像ブロックと前記映像のビットストリーム表現との間の変換を実行することを含み、前記現在の映像ブロックは、YCgCo色変換またはYCgCo逆色変換を前記現在の映像ブロックに適用するジョイントCbCrコーディングモードを使用してコーディングされ、前記規則は、前記現在の映像ブロックが前記YCgCo色変換を使用する前記ジョイントCbCrコーディングモードを使用してコーディングされる事に起因して、前記現在の映像ブロックに関連付けられたPH(Picture Header)またはPPS(Picture Parameter Set)において、-5とは異なる量子化パラメータオフセット値を使用することを規定する、映像処理の方法。
【0289】
C5.前記ジョイントCbCrモードは、JCbCrモード2を含む、解決策C4に記載の方法。
【0290】
C6.規則に従って、映像の現在の映像ブロックと前記映像のビットストリーム表現との間の変換を実行することを含み、前記現在の映像ブロックは、YCgCo-R色変換またはYCgCo-R逆色変換を現在の映像ブロックに適用するジョイントCbCrコーディングモードを使用してコーディングされ、前記規則は、前記現在の映像ブロックが前記YCgCo-R色変換を使用する前記ジョイントCbCrコーディングモードを使用してコーディングされたことに起因して、前記現在の映像ブロックに関連付けられたPH(Picture Header)またはPPS(Picture Parameter Set)において、所定のオフセットとは異なる量子化パラメータオフセット値を使用することを規定する、映像処理の方法。
【0291】
C7.前記ジョイントCbCrモードがJCbCrモード2を含む、解決策C6に記載の方法。
【0292】
C8.前記所定のオフセットが1である、解決策C6またはC7に記載の方法。
【0293】
C9.前記予め定められたオフセットが-1である、解決策C6またはC7に記載の方法。
【0294】
次に、いくつかの実施形態において好適なさらに別の解決策を列挙する。
【0295】
P1.ACT(Adaptive Color Transform)モードおよび/または輝度BDPCM(Block-based Delta Pulse Code Modulation)モードを映像ブロックに使用することが有効であるかどうかに基づいて、映像の前記映像ブロックに対してBDPCMモードを有効にするかどうかの決定を行うことと、前記決定に従って、前記映像ブロックと前記映像のビットストリーム表現との間の変換を実行することと、を含む、映像処理の方法。
【0296】
P2.前記映像ブロックに対して前記ACTモードが有効である信号通知と、前記輝度BDPCMモードの前記使用に関連付けられた第2のフラグの第2の値の信号通知とに基づいて、前記クロマBDPCMモードの有効化に関連付けられた第1のフラグの第1の値の信号通知を決定する、解決策P1に記載の方法。
【0297】
P3.前記ACTモードが有効であることに応答して、前記第1のフラグの前記第1の値が偽の値となり、前記第2のフラグの前記第2の値が偽の値となる、解決策P2に記載の方法。
【0298】
P4.前記第2のフラグの前記第2の値が真の値であることに応答して、前記第1のフラグの前記第1の値が真の値となる、解決策P2に記載の方法。
【0299】
P5.前記映像ブロックに対する前記ACTモードの信号通知は、前記映像ブロックの輝度サンプルおよびクロマサンプルに使用されているのと同じBDPCM予測方向に条件付きで基づく、解決策P1に記載の方法。
【0300】
P6.前記ACTモードの前記信号通知は、前記クロマBDPCMモードおよび前記輝度BDPCMモードの信号通知の後に示される、解決策P5に記載の方法。
【0301】
P7.前記ACTモードの前記使用が有効であることに応答して、前記クロマBDPCMモードの第1の予測方向を示す第1の値が、前記輝度BDPCMモードの第2の予測方向を示す第2の値から導出される、解決策P1に記載の方法。
【0302】
P8.解決策P7の方法において、前記クロマBDPCMモードの前記第1の予測方向を示す前記第1の値は、前記輝度BDPCMモードの前記第2の予測方向を示す前記第2の値と同じである。
【0303】
P9.前記クロマBDPCMモードの前記第1の予測方向および前記輝度BDPCMモードの前記第2の予測方向は、水平方向である、解決策P8に記載の方法。
【0304】
P10.前記クロマBDPCMモードの前記第1の予測方向および前記輝度BDPCMモードの前記第2の予測方向は、垂直方向である、解決策P8に記載の方法。
【0305】
P11.前記ACTモードの使用が無効であることに応答して、前記クロマBDPCMモードの前記第1の予測方向を示す前記第1の値が0となる、解決策P1に記載の方法。
【0306】
P12.ACT(Adaptive Color Transform)モードを映像ブロックに使用することが有効であるどうかに基づいて、映像の前記映像ブロックに対してBDPCM(Block-based Delta Pulse Code Modulation)モードを有効にするかどうかの決定を行うことと、前記決定に従って、前記映像ブロックと前記映像のビットストリーム表現との間の変換を実行することと、を含む、映像処理の方法。
【0307】
P13.前記ACTモードが前記映像ブロックに対して有効であることに応答して、前記BDPCMモードが前記映像ブロックに対して無効にされる、解決策P12に記載の方法。
【0308】
P14.前記ACTモードを示す第2のフラグの後に、前記BDPCMモードを示す第1のフラグが信号通知される、解決策P13に記載の方法。
【0309】
P15.前記BDPCMモードを示すフラグが信号通知されず、前記フラグが偽の値または0であると決定される、解決策P13に記載の方法。
【0310】
P16.前記BDPCMモードが前記映像ブロックに対して有効であることに応答して、前記ACTモードが前記映像ブロックに対して無効にされる、解決策P12に記載の方法。
【0311】
P17.前記BDPCMモードを示す第1のフラグが、前記ACTモードを示す第2のフラグの前に信号通知される、解決策P16に記載の方法。
【0312】
P18.前記ACTモードを示すフラグが信号通知されず、前記フラグが偽の値または0であると決定される、解決策P16に記載の方法。
【0313】
P19.前記BDPCMモードは、輝度BDPCMモードおよび/またはクロマBDPCMモードを含む、解決策P12~P18のいずれかに記載の方法。
【0314】
P20.前記クロマBDPCMモードおよび前記輝度BDPCMモードが異なる予測モードに関連付けられる場合、前記ACTモードが適用される、解決策P1に記載の方法。
【0315】
P21.前記クロマBDPCMモードまたは前記輝度BDPCMモードの後に順方向ACTモードを適用する、解決策P20に記載の方法。
【0316】
P22.前記ACTモードが有効であることに応答して、前記映像ブロックのためのQP(Quantization Parameter)をクリッピングする、解決策P1~P21のいずれかに記載の方法。
【0317】
P23.前記QPをクリッピングするためのクリッピング関数が、(l,h,x)と定義され、lは、入力xの最小可能値であり、hは、入力xの最大可能値である、解決策P22に記載の方法。
【0318】
P24.lが0に等しい、解決策P23に記載の方法。
【0319】
P25.hが63に等しい、解決策P23に記載の方法。
【0320】
P26.前記ACTモードのために前記QPを調整した後、前記映像ブロックの前記QPをクリッピングする、解決策P22に記載の方法。
【0321】
P27.変換スキップが前記映像ブロックに適用される事に応答して、lが、変換スキップモードのための最小許容QPに等しくなる、解決策P23に記載の方法。
【0322】
P28.l、h、m、n、および/またはkが、(i)前記DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/LCU(Largest Coding Unit)/CU(Coding Unit)/LCU行/LCUグループ/TU/PUブロック/映像コーディングユニットにおいて信号通知されるメッセージ、(ii)CU/PU/TU/ブロック/映像コーディングユニットの位置、(iii)前記エッジに沿った前記サンプルを含む前記ブロックのコーディングされたモード、(iv)前記エッジに沿ってサンプルを含むブロックに適用される変換行列、(v)現在のブロックおよび/またはその近傍のブロックのブロック寸法/ブロック形状、(vi)前記カラーフォーマットの指示(例えば、4:2:0、4:4:4、RGB、YUV等)、(vii)コーディングツリー構造(例えば、デュアルツリーまたはシングルツリー)、(viii)スライス/タイルグループのタイプおよび/またはピクチャのタイプ、(ix)色成分(例えば、CbまたはCrにのみ適用してもよい)(x)時間層ID、または、(xi)標準のプロファイル/レベル/層に依存する整数である、解決策P23~P26に記載の方法。
【0323】
P29.l、h、m、nおよび/またはkがデコーダに信号通知される、解決策P23~P26のいずれかに記載の方法。
【0324】
P30.カラーフォーマットが4:2:0または4:2:2である、解決策P30に記載の方法。
【0325】
P31.前記ACTモード、前記BDPCMモード、前記クロマBDPCMモード、または前記輝度BDPCMモードの指示が、シーケンス、ピクチャ、スライス、タイル、ブリック、または映像領域レベルで信号通知される、解決策P1~P30のいずれかに記載の方法。
【0326】
以下の技術的解決策は、前記上記解決策のいずれかに適用可能である。
【0327】
O1.前記変換は、前記ビットストリーム表現から前記映像を復号化することを含む、先行する解決策のいずれかに記載の方法。
【0328】
O2.前記変換は、前記ビットストリーム表現に前記映像を符号化することを含む、先行する解決策のいずれかに記載の方法。
【0329】
O3.前記変換は、現在の映像ユニットから前記ビットストリームを生成することを含み、前記方法は、前記ビットストリームを非一時的コンピュータ可読記録媒体に記憶することをさらに含む、先行する請求項のいずれかに記載の方法。
【0330】
O4.映像を表すビットストリームをコンピュータ可読記録媒体に記憶する方法であって、先行する請求項に記載の方法に従って、映像からビットストリームを生成し、前記ビットストリームを前記コンピュータ可読記録媒体に書き込むことを含む、方法。
【0331】
O5.先行する請求項のいずれかに記載の方法を実装するように構成されたプロセッサを備える映像処理装置。
【0332】
O6.命令が記憶されたコンピュータ可読媒体であって、前記命令が実行されると、プロセッサに、先行する請求項に記載の方法を実行させる、コンピュータ可読媒体。
【0333】
O7.先行する請求項のいずれかに記載のように生成された前記ビットストリーム表現を記憶するコンピュータ可読媒体。
【0334】
O8.前記映像処理装置は、先行する請求項に記載の方法を実装するように構成された、ビットストリーム表現を記憶するための映像処理装置。
【0335】
O9.本明細書に記載の方法を使用して生成され、コンピュータ可読媒体に記憶されるビットストリーム。
【0336】
本明細書では、「映像処理」という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指すことができる。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換およびコーディングされた誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して、符号化されてもよい。
【0337】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1または複数のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1または複数の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
【0338】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1または複数のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。コンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
【0339】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1または複数のコンピュータプログラムを実行する1または複数のプログラマブルプロセッサによって実行されることができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって実行されることができ、装置はまた、特別目的のロジック回路として実装されることができる。
【0340】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1または複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1または複数のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1または複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0341】
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1または複数の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0342】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、特許文献に記載されている例における様々なシステムのコンポーネントの分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24