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

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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-24
(45)【発行日】2022-12-02
(54)【発明の名称】映像処理におけるパルス符号変調技術
(51)【国際特許分類】
   H04N 19/11 20140101AFI20221125BHJP
   H04N 19/70 20140101ALI20221125BHJP
   H04N 19/593 20140101ALI20221125BHJP
【FI】
H04N19/11
H04N19/70
H04N19/593
【請求項の数】 20
(21)【出願番号】P 2021529071
(86)(22)【出願日】2019-11-22
(65)【公表番号】
(43)【公表日】2022-01-19
(86)【国際出願番号】 CN2019120266
(87)【国際公開番号】W WO2020103931
(87)【国際公開日】2020-05-28
【審査請求日】2021-05-21
(31)【優先権主張番号】PCT/CN2018/116885
(32)【優先日】2018-11-22
(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)【参考文献】
【文献】M. Albrecht, et al.,Description of SDR, HDR, and 360° video coding technology proposal by Fraunhofer HHI,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0014-v4,10th Meeting: San Diego, US,2018年04月,pp.6-7
【文献】Yu-Chen Sun, Jicheng An, and Jian Lou,PCM mode with dual tree partition,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0209-v3,12th Meeting: Macao, CN,2018年10月,pp.1-3
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
映像データを処理する方法であって、
映像の現在の映像ユニットと前記映像のビットストリームの間の変換を行うこと
を有し、
前記現在の映像ユニットに対してPCM(Pulse Code Modulation)の利用を示すために第1および第2の指示の一方が用いられ、
前記現在の映像ユニットに対してMRLIP(Multiple Reference Line based Intra Prediction)のモード情報を示すために前記第1および第2の指示の他方が用いられ、
前記第2の指示が前記ビットストリームに存在するか否かは、前記第1の指示に関連
前記第1および第2の指示の前記一方が、前記PCMが前記現在の映像ユニットに適用されることを示す第1の場合、前記第1および第2の指示の前記他方は、前記ビットストリームに存在しない、方法。
【請求項2】
前記第1の場合において、前記第1の指示は、前記PCMの利用を示すために用いられ、記第2の指示は、前記MRLIPの前記モード情報を示すために用いられる、請求項1に記載の方法。
【請求項3】
前記モード情報は、参照ラインインデックスを有する、請求項1または2に記載の方法。
【請求項4】
前記現在の映像ユニットは、輝度の映像ブロックと、少なくとも1つの彩度の映像ブロックを含み、
前記第1の指示は、前記現在の映像ユニットに適用されているシングルツリーに対応した輝度指示と彩度指示を含み、
前記輝度指示は、前記輝度の成分に対する前記PCMの利用を示すために用いられ、
前記彩度指示は、前記彩度の成分に対する前記PCMの利用を示すために用いられる、
請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記変換の間、前記輝度指示に基づいて、前記輝度の映像ブロックに対し、フィルタリング処理を適用することを更に有する、請求項4に記載の方法。
【請求項6】
前記フィルタリング処理は、デブロッキングフィルタ処理である、請求項5に記載の方法。
【請求項7】
前記変換の間、前記彩度指示に基づいて、前記少なくとも1つの彩度の映像ブロックに対し、フィルタリング処理を適用することを更に有する、請求項4に記載の方法。
【請求項8】
前記フィルタリング処理は、デブロッキングフィルタ処理である、請求項7に記載の方法。
【請求項9】
前記輝度指示は、利用フラグであり、
前記彩度指示は、利用フラグである、請求項4に記載に方法。
【請求項10】
前記現在の映像ユニットは、輝度の映像ユニットであり、かつ、前記第1の指示は、前記現在の映像ユニットに適用されているデュアルツリーに対応した輝度指示であり、または、
前記現在の映像ユニットは、2つの色成分を有する彩度の映像ユニットであり、かつ、前記第1の指示は、前記現在の映像ユニットに適用されているデュアルツリーに対応した彩度指示である、請求項1~9のいずれか一項に記載の方法。
【請求項11】
記第1および第2の指示のうちの前記一方が、前記MRLIPが前記現在の映像ユニットに適用されていることを示す第2の場合、前記第1および第2の指示のうちの前記他方は、前記ビットストリームに存在せず
前記第2の場合において、前記第1の指示が前記MRLIPの前記モード情報を示すために用いられ、前記第2の指示が前記PCMの使用を示すために用いられる、請求項1~9のいずれか一項に記載の方法。
【請求項12】
前記第1および第2の指示の前記一方が、前記MRLIPが前記現在の映像ユニットに適用されていないことを示す第3の場合、前記第1および第2の指示の前記他方は、前記ビットストリームに存在
前記第3の場合において、前記第1の指示が前記MRLIPの前記モード情報を示すために用いられ、前記第2の指示が前記PCMの使用を示すために用いられる、請求項に記載の方法。
【請求項13】
前記変換は、前記現在の映像ユニットを前記ビットストリームに符号化することを含む、請求項1~12のいずれか一項に記載の方法。
【請求項14】
前記変換は、前記現在の映像ユニットを前記ビットストリームから復号化することを含む、請求項1~12のいずれか一項に記載の方法。
【請求項15】
プロセッサと、命令を有する非一時的メモリとを有する、映像データを処理するための装置であって、前記命令は、前記プロセッサによって実行された際に、前記プロセッサに、
映像の現在の映像ユニットと前記映像のビットストリームとの間の変換を行わせ、
前記現在の映像ユニットに対してPCM(Pulse Code Modulation)の利用を示すために第1および第2の指示の一方が用いられ、
前記現在の映像ユニットに対してMRLIP(Multiple Reference Line based Intra Prediction)のモード情報を示すために前記第1および第2の指示の他方が用いられ、
前記第2の指示が前記ビットストリームに存在するか否かは、前記第1の指示に関連
前記第1および第2の指示の前記一方が、前記PCMが前記現在の映像ユニットに適用されることを示す第1の場合、前記第1および第2の指示の前記他方は、前記ビットストリームに存在しない、装置。
【請求項16】
前記第1の場合において、前記第1の指示は、前記PCMの利用を示すために用いられ、記第2の指示は、前記MRLIPの前記モード情報を示すために用いられる、請求項15に記載の装置。
【請求項17】
前記モード情報は、参照ラインインデックスを有する、請求項15または16に記載の装置。
【請求項18】
前記現在の映像ユニットは、輝度の映像ブロックと、少なくとも1つの彩度の映像ブロックを含み、
前記第1の指示は、前記現在の映像ユニットに適用されているシングルツリーに対応した輝度指示と彩度指示を含み、
前記輝度指示は、前記輝度の成分に対する前記PCMの利用を示すために用いられ、
前記彩度指示は、前記彩度の成分に対する前記PCMの利用を示すために用いられる、
請求項15または16に記載の装置。
【請求項19】
プロセッサに、
映像の現在の映像ユニットと前記映像のビットストリームとの間の変換を行わせ、
前記現在の映像ユニットに対してPCM(Pulse Code Modulation)の利用を示すために第1および第2の指示の一方が用いられ、
前記現在の映像ユニットに対してMRLIP(Multiple Reference Line based Intra Prediction)のモード情報を示すために前記第1および第2の指示の他方が用いられ、
前記第2の指示が前記ビットストリームに存在するか否かは、前記第1の指示に関連
前記第1および第2の指示の前記一方が、前記PCMが前記現在の映像ユニットに適用されることを示す第1の場合、前記第1および第2の指示の前記他方は、前記ビットストリームに存在しない、命令を記憶した非一時的コンピュータ可読媒体。
【請求項20】
映像のビットストリームを格納するための方法であって、
前記映像の現在の映像ユニットに基づいて前記映像の前記ビットストリームを生成すること、
を有し、
前記現在の映像ユニットに対してPCM(Pulse Code Modulation)の利用を示すために第1および第2の指示の一方が用いられ、
前記現在の映像ユニットに対してMRLIP(Multiple Reference Line based Intra Prediction)のモード情報を示すために前記第1および第2の指示の他方が用いられ、
前記第2の指示が前記ビットストリームに存在するか否かは、前記第1の指示に関連
前記第1および第2の指示の前記一方が、前記PCMが前記現在の映像ユニットに適用されることを示す第1の場合、前記第1および第2の指示の前記他方は、前記ビットストリームに存在しない、方法
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
願は、2018年11月22日出願の国際特許出願第PCT/CN2018/116885号の優先権および利益を適時に主張する2019年11月22日出願の国際特許出願第PCT/CN2019/120266号の国内段階である記出願の開示全体は、本明細書の開示の一部として参照により援用される。
【0002】
本明細書は、画像および映像符号化および復号化に関する。
【背景技術】
【0003】
デジタル映像は、インターネットおよび他のデジタル通信ネットワークにおける最大の帯域幅の使用量を占める。映像の受信および表示が可能な接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予期される。
【発明の概要】
【0004】
開示された技術は、多重参照ラインが使用される映像および画像のイントラ予測符号化を使用する映像復号化または符号化の間、映像デコーダまたはエンコーダの実施形態によって使用されてよい。
【0005】
1つの例示的な実施形態において、映像処理の方法が開示される。本方法は、映像の現在のブロックに対して、PCM(Pulse Code Modulation)が使用される第1の符号化モードと、MRLIP(Multiple Reference Line based Intra Prediction)が使用される第2の符号化モードとのうちの少なくとも1つが有効にされていることを判定することと、第1の符号化モードと第2の符号化モードに基づいて、映像の現在のブロックとビットストリーム表現との間の変換を行うことと、を含み、第1の符号化モードの使用を示す第1の指示および/または第2の符号化モードの使用を示す第2の指示は、順序付け規則に従ってビットストリーム表現に含まれる。
【0006】
別の例示的な実施形態において、映像処理の方法が開示される。本方法は、映像の現在のブロックと映像のビットストリーム表現との間での変換のため、映像の色成分表現に基づいて、現在のブロックのパルス符号変調に基づいて符号化モードに関連付けられた少なくとも1つのフラグを判定することと、判定に基づいて、変換を行うことを含む。
【0007】
さらに別の例示的な実施形態において、映像処理の方法が開示される。本方法は、映像の映像領域の現在のブロックと映像のビットストリーム表現との間で変換を行うことを含み、ビットストリーム表現は、現在のブロックへのPCM(Pulse Code Modulation)の適用可能性に関する規則に従ってフォーマットされ、規則は、PCMを無効化する旨の指示が映像領域レベルに含まれていると判定された場合、現在のブロックレベルでのPCMの指示を省略することを規定する。
【0008】
さらに別の例示的な実施形態において、映像処理の方法が開示される。本方法は、映像の現在のブロックのサイズに基づいて、現在のブロックに対してPCM(Pulse Code Modulation)符号化モードを有効化するかどうかに関して決定することと、決定に基づいて、現在のブロックと映像のビットストリーム表現との間で変換を行うことと、を含む。
【0009】
さらに別の例示的な実施形態において、映像処理の方法が開示される。本方法は、映像の現在のブロックと映像のビットストリーム表現との間での変換のために、現在のブロックの高さまたは幅の最小許容値を判定することを含み、高さの最小許容値は、幅の最小許容値とは別個に信号通知または導出され、判定に基づいて、変換を行うことを含む。
【0010】
さらに別の例示的な実施形態において、映像処理の方法が開示される。本方法は、映像のビットストリーム表現において、PCM(Pulse Code Modulation)符号化モードで符号化されている、映像の現在のブロックの表示が信号通知されたと判定した場合、映像の色成分表現を構成することと、構成に基づいて、現在のブロックとビットストリーム表現との間で変換を行うことと、を含む。
【0011】
さらに別の例示的な実施形態において、映像処理の方法が開示される。本方法は、映像の現在のブロックと映像のビットストリーム表現との間での変換のために、非隣接参照ラインモードを変換に使用することに起因して、広角モードが変換のために無効にされることを判定することと、判定に基づいて、変換を行うことと、を含み、非隣接参照ラインモードは、非隣接画素を、現在のブロックの変換のための映像の参照ラインから使用し、広角モードは、45度から-135度までの従来の角度イントラ予測方向を超えたイントラ予測方向を含む。
【0012】
さらに別の例示的な実施形態において、映像処理の方法が開示される。本方法は、映像の現在のブロックと映像のビットストリーム表現との間の変換のために、映像のカラーサブサンプリングフォーマットに基づいて、現在のブロックに対してMRL(Multiple Reference Line)符号化モードを有効化するか、または1つ以上参照ラインインデックスの信号方式をMRL符号化モードに使用するかを決定することと、決定に基づいて、変換を行うことと、を含む。
【0013】
さらに別の例示的な実施形態において、映像処理の方法が開示される。本方法は、映像の現在のブロックに対してインターイントラモードおよびMRLIP(Multiple Reference Line based Intra Prediction)モードが有効であると判定された場合、インターイントラモードのイントラ予測処理のために、現在のブロックに非隣接ラインまたは列を選択することと、ラインまたは列に基づいて、現在のブロックと映像のビットストリーム表現との間で変換を行うこととを含む。
【0014】
さらに別の例示的な実施形態において、映像処理の方法が開示される。本方法は、現在のブロックに非隣接のラインを使用するMRLIP(Multiple Reference Line based Intra Prediction)モードを使用して符号化された映像の現在のブロックに対して、現在のブロックと映像のビットストリーム表現との間で変換を行うことを含み、MRLIPは、MPM(Most Probable Mode)リストをさらに使用し、変換を行うことは、MPMリストの第1のモードをこのMPMリストの第2のモードに置き換えることを含む。
【0015】
さらに別の例示的な実施形態において、映像処理の方法が開示される。本方法は、現在のブロックに非隣接のラインを使用するMRLIP(Multiple Reference Line based Intra Prediction)モードを使用して符号化された映像の現在のブロックに対して、現在のブロックと映像のビットストリーム表現との間で変換を行うことを含み、ビットストリーム表現は、MPM(Most Probable Mode)リストにおけるモードの符号化インデックスの代わりに、固定候補リストにおける1つのモードの符号化インデックスを含む。
【0016】
さらに別の例示的な実施形態において、映像処理の方法が開示される。本方法は、MRL(Multiple Refernece Line)符号化モードを使用して、映像の現在のブロックと映像のビットストリーム表現との間で変換のため、ビットストリーム表現が、現在のブロックの予測に使用される上の行に対応する第1のインデックスと、予測に使用される左の列に対応する第2のインデックスとを含むことを判定することと、判定に基づいて変換を行うことと、を含む。
【0017】
さらに別の例示的な態様において、上述された方法を実装するように構成されたプロセッサを含む映像エンコーダ装置が開示される。
【0018】
さらに別の例示的な態様において、上述された方法を実装するように構成されたプロセッサを含む映像デコーダ装置が開示される。
【0019】
さらに別の例示的な態様では、コンピュータ可読媒体が開示される。コンピュータ可読媒体は、その媒体に記憶されたコードを有する。このコードは、プロセッサによって実行されると、プロセッサに上述した方法を実装させる。
【0020】
これらの、および他の態様は、本明細書で説明される。
【図面の簡単な説明】
【0021】
図1】イントラモード予測に使用される近傍のブロックの例を示す。
図2】67個のイントラ予測モードの例を示す。
図3】MPM(Most Probable Mode:最確モード)リスト構成処理に使用される近傍のブロックの例を示す。
図4A】広角イントラ予測のための参照サンプルの例を示す。
図4B】広角イントラ予測のための参照サンプルの例を示す。
図5】45度を超える方向の場合の例示的な不連続を示す。
図6A】位置依存イントラ予測に使用されるサンプルの例を示す。
図6B】位置依存イントラ予測に使用されるサンプルの例を示す。
図6C】位置依存イントラ予測に使用されるサンプルの例を示す。
図6D】位置依存イントラ予測に使用されるサンプルの例を示す。
図7】イントラ予測に使用される参照ラインの例を示す。
図8】αおよびβの導出に使用されるサンプルの例示的な位置を示す。
図9】1つの彩度ブロックおよびその対応する輝度ブロックの例を示す。
図10】デフォルトモードを有するイントラ予測モードの例を示す。
図11】例示的な映像処理方法を示すフローチャートである。
図12】例示的な映像処理方法を示すフローチャートである。
図13】例示的な映像処理方法を示すフローチャートである。
図14】例示的な映像処理方法を示すフローチャートである。
図15】例示的な映像処理方法を示すフローチャートである。
図16】例示的な映像処理方法を示すフローチャートである。
図17】例示的な映像処理方法を示すフローチャートである。
図18】例示的な映像処理方法を示すフローチャートである。
図19】例示的な映像処理方法を示すフローチャートである。
図20】例示的な映像処理方法を示すフローチャートである。
図21】例示的な映像処理方法を示すフローチャートである。
図22】例示的な映像処理方法を示すフローチャートである。
図23】本明細書に記載されるビジュアルメディアの復号化またはビジュアルメディアの符号化技術を実装するためのハードウェアプラットフォームの一例を示すブロック図である。
図24】開示される技術が実装され得る例示的な映像処理システムのブロック図である。
【発明を実施するための形態】
【0022】
本明細書は、映像ビットストリームのデコーダが、展開または復号化されたデジタル映像または画像の品質を向上させるために使用できる様々な技術を提供する。さらに、映像エンコーダは、さらなる符号化に使用される復号化されたフレームを再構成するために、符号化の処理中にこれらの技術を実装してもよい。
【0023】
本明細書では、理解を容易にするために章見出しを使用しているが、実施形態および技術を、対応する章に限定するものではない。このように、一つの章からの実施形態は、他の章からの実施例と組み合わせることができる。
【0024】
1. 導入
本明細書は、映像符号化技術に関する。具体的には、画像/映像符号化におけるイントラ予測、特に多重参照ラインイントラ予測およびPCM(Pulse Code Modulation:パルス符号変調)に関する。本発明は、HEVCのような既存の映像符号化規格またはファイナライズされるべき規格(Versatile Video Coding)に適用されてよい。本発明は、将来の映像符号化規格または映像コーデックにも適用されてよい。
【0025】
2. 冒頭のコメント
映像符号化規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を、ISO/IECはMPEG-1とMPEG-4Visualを、両団体はH.262/MPEG-2Videoと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 Model)と呼ばれる参照ソフトウェアに組み込まれてきた。2018年4月、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間にJVET(Joint Video Expert Team)が作られ、HEVCと比較してビットレートを50%低減することを目標としたVVC規格に取り組むことになった。
【0026】
VVCドラフトの最新バージョン、即ち、Versatile Video Coding(ドラフト2)は、以下を参照。
【0027】
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v7.zip
【0028】
VTMと呼ばれるVVCの最新の参照ソフトウェアは、以下を参照。
【0029】
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-3.0rc1
【0030】
2.1 HEVC/H.265におけるイントラ予測
ピクチャにおいて、2つの異なる種類の冗長性を特定することができる。1)空間的または時間的冗長性、2)精神的-視覚的冗長性。空間的冗長性を除去するために、予測処理が使用される。イントラ予測は、ピクチャフレームのピクセルを予測する処理である。イントラピクチャ予測は、ピクチャブロックを予測するために近傍のピクセルを使用する。イントラ予測の前に、フレームを分割しなければならない。
HEVCにおいて、1つのピクチャ/スライス/タイルを複数のCTU(Coding Tree Unit)に分割してもよい。テクスチャの複雑性などのパラメータに基づいて、CTUは、64×64、32×32、または16×16のサイズを有することができる。従って、CTU(Coding Tree Unit)は、符号化論理ユニットであり、この符号化論理ユニットは、HEVCビットストリームに符号化される。これは、3つのブロック、即ち、輝度(Y)、2つの彩度成分(CbおよびCr)からなる。4:2:0のカラーフォーマットを例として、輝度成分はL×L個のサンプルを有し、各彩度成分はL/2×L/2個のサンプルを有する。各ブロックは、CTB(Coding Tree Block)と呼ばれる。各CTBは、CTU(64×64、32×32、または16×16)と同じサイズ(L×L)を有する。各CTBは、CTBと同じサイズから8×8程度の小ささまで、4分木構造に繰り返して分割され得る。このように分割された各ブロックは、CB(Coding Block)と呼ばれ、予測タイプ(インター予測またはイントラ予測)の決定点となる。予測タイプは、他のパラメータとともに、CU(Coding Unit)において符号化される。そのため、CUは、HEVCにおける予測の基本単位であり、その各々は、前述の符号化されたデータから予測される。CUは、3つのCB(Y、Cb、Cr)からなる。CBは依然として大き過ぎて、動きベクトル(インターピクチャ(時間的)予測)またはイントラピクチャ(空間的)予測モードを記憶できない場合がある。そこで、PB(Prediction Block)を導入した。各CBは、時間的および/または空間的予測可能性に基づいて、異なる形でPBに分割されてもよい。CTUは、32×32、16×16、8×8、または4×4のサイズを有していてよい。
【0031】
イントラ予測モードには、PCM(Pulse Code Modulation:パルス符号変調)モードと、通常のイントラ予測モードとがある。
【0032】
2.1.1 Pulse Code Modulation (PCM)
I_PCMモードでは、予測、変換、量子化、およびエントロピー符号化がバイパスされる。予測または変換を適用せずにサンプル値を直接表現することによる、1つのブロックのサンプルの符号化。
【0033】
HEVCでは、I_PCMモードは2N×2NPUでのみ利用可能である。最大および最小I_PCM CUサイズはSPSで信号通知され、有効なI_PCM CUサイズは8×8、16×16、および32×32であり、ユーザが選択されたPCMサンプルビット深度で、輝度と彩度について別個にSPSで信号通知される。
【0034】
例として輝度サンプルを取り上げる。recSamplesL[i,j]=pcm_sample_luma[(nS*j)+i]<<(BitDepthY-PCMBitDepthY)。PCMBitDepthY=BitDepthYの場合、損失のない符号化となる。
【0035】
構文設計
7.3.2.2.1 一般シーケンスパラメータセットRBSP構文
【0036】
【表1】
【0037】
意味論
0に等しいpcm_enabled_flagは、PCM関連の構文(pcm_sample_bit_depth_luma_minus1,pcm_sample_bit_depth_chroma_minus1,log2_min_pcm_luma_coding_block_size_minus3,log2_diff_max_min_pcm_luma_coding_block_size,pcm_loop_filter_disabled_flag,pcm_flag,pcm_alignment_zero_bitの構文要素、およびpcm_sample()の構文構造)がCVSの存在しないことを規定する。
【0038】
注4-MinCbLog2SizeYが6に等しく、pcm_enabled_flagが1に等しい場合、PCMサンプルデータ関連の構文(pcm_flag,pcm_alignment_zero_bitの構文要素、およびpcm_sample()の構文構造)はCVSに存在しない。これは、PCMサンプルデータ関連の構文を伝達できる符号化ブロックの最大サイズが、Min(CtbLog2SizeY,5)以下に制限されているからである。従って、MinCbLog2SizeYが6に等しく、pcm_enabled_flagが1に等しい場合は、CVSでPCMサンプルデータを伝達するためには適切な設定ではない。
【0039】
pcm_sample_bit_depth_luma_minus1は、輝度成分のPCMサンプル値の各々を表すために使用されるビット数を次のように規定する。
PcmBitDepth=pcm_sample_bit_depth_luma_minus1+1 (7-xx)
【0040】
PcmBitDepthの値は、BitDepthの値以下である。
【0041】
pcm_sample_bit_depth_chroma_minus1は、彩度成分のPCMサンプル値の各々を表すために使用されるビット数を次のように規定する。
PcmBitDepth=pcm_sample_bit_depth_chroma_minus1+1 (7-yy)
【0042】
PcmBitDepthの値は、BitDepthの値以下である。ChromaArrayTypeが0に等しい場合、pcm_sample_bit_depth_chroma_minus1は復号化処理で使用されず、デコーダはその値を無視する。
【0043】
log2_min_pcm_luma_coding_block_size_minus3+3は、pcm_flagが1に等しい符号化ブロックの最小サイズを規定する。
【0044】
変数Log2MinIpcmCbSizeYは、log2_min_pcm_luma_coding_block_size_minus3+3に等しく設定される。Log2MinIpcmCbSizeYの値は、Min(MinCbLog2SizeY,5)~Min(CtbLog2SizeY,5)までの包括的な範囲内である。
【0045】
log2_diff_max_min_pcm_luma_coding_block_sizeは、pcm_flagが1に等しい符号化ブロックの最大サイズと最小サイズの差を規定する。
【0046】
変数Log2MaxIpcmCbSizeYは、log2_diff_max_min_pcm_luma_coding_block_size+Log2MinIpcmCbSizeYに等しく設定される。Log2MaxIpcmCbSizeYの値は、Min(CtbLog2SizeY,5)以下である。
【0047】
pcm_loop_filter_disabled_flagは、次のように、pcm_flagが1に等しい符号化ユニット内の再構成されたサンプルでループフィルタ処理を無効化するかどうかを規定する。
-pcm_loop_filter_disabled_flagが1に等しい場合、pcm_flagが1に等しい符号化ユニット内の再構築されたサンプルに対する非ブロック化フィルタおよびサンプル適応オフセットフィルタ処理が無効になる。
-それ以外の場合(pcm_loop_filter_disabled_flagの値が0に等しい)、pcm_flagが1に等しい符号化ユニット内の再構成されたサンプルの非ブロック化フィルタおよびサンプル適応オフセットフィルタ処理は無効にならない。
【0048】
pcm_loop_filter_disabled_flagが存在しない場合、0に等しいと推測される。
【0049】
7.3.8.5 符号化ユニット構文
【0050】
【表2】
【0051】
【表3】
【0052】
7.3.8.7 PCMサンプル構文
【0053】
【表4】
【0054】
意味論
1に等しいpcm_flag[x0][y0]は、pcm_sample()の構文構造が存在し、transform_tree()の構文構造が位置(x0、y0)の輝度符号化ブロックを含む符号化ユニットに存在しないことを規定する。0に等しいpcm_flag[x0][y0]は、pcm_sample()の構文構造が存在しないことを規定する。pcm_flag[x0][y0]が存在しない場合、0に等しいと推測される。
【0055】
i=1..nCbS-1、j=1..nCbS-1の場合のpcm_flag[x0+i][y0+j]の値は、pcm_flag[x0][y0]に等しいと推測される。
【0056】
2.1.2 通常のイントラ予測
輝度成分に対して、全てのブロックサイズに対して、平面、DC、および33個の角度予測モードを含む35個のモードがある。これらの輝度予測モードをより良好に符号化するために、1つのMPM(Most Probable Mode:最確モード)フラグは、まず、3つのMPMモードのうちの1つが選択されたかどうかを示すための符号である。MPMフラグが偽である場合、32個の休止モードを固定長符号化にて符号化する。
【0057】
3つの最確モードのセットの選択は、2つの近傍のPUのモード、即ち現在のPUの左側および上側の1つのモードに基づく。現在のPUの左側および上側のイントラモードをそれぞれAおよびBとし、2つの近傍のブロックを図1に示す。
【0058】
近傍のPUがイントラとして符号化されていないか、またはPCM(Pulse Code Modulation:パルス符号変調)モードで符号化されている場合、PUはDC予測されたものと見なされる。また、上側の近傍のPUがCTUの外側にある場合、イントラモード再構成のために追加のラインバッファの導入を回避するように、Bは、DCモードであるとする。
【0059】
AがBに等しくない場合、MPM[0]およびMPM[1]として表される最初の2つの最確モードは、それぞれAおよびBに等しく設定され、MPM[2]として表される3番目の最確モードは、以下のように判定される。
-AまたはBのいずれもが平面モードでない場合、MPM[2]は平面モードに設定される。
-そうではなく、AまたはBのいずれもがDCモードでない場合、MPM[2]はDCモードに設定される。
-そうでない場合(2つの最確モードのうちの1つは平面であり、他方はDCである)、MPM[2]は、角度モード26に等しく(直接垂直に)設定される。
【0060】
AがBに等しい場合、3つの最確モードは、以下のように判定される。それらが角度モードでない場合(AおよびBが2未満である)、3つの最確モードは、それぞれ平面モード、DCモード、および角度モード26に等しく設定される。そうでない場合(AおよびBが2以上)、最初の最確モードMPM[0]をAに等しく設定し、残りの2つの最確モードMPM[1]およびMPM[2]をAの近傍の方向に等しく設定し、以下のように計算する。
MPM[1]=2+((A-2-1+32)%32)
MPM[2]=2+((A-2+1)%32)
【0061】
ここで、%はモジュロ演算子を表し、すなわち、a%bはaをbで割った剰余を表す。
【0062】
彩度成分のために、DM、平面、DC、水平、垂直を含む5つのモードがある。
【0063】
2.2 VVCにおけるイントラ予測
2.2.1 67個のイントラ予測モードを有するイントラモード符号化
【0064】
自然映像に表される任意のエッジ方向をキャプチャするために、指向性イントラモードの数は、HEVCで使用されるように、33から65に拡張される。追加の指向性モードは、図2において破線矢印で示されており、平面モードとDCモードは同じままの状態である。これらのより密度の高い指向性イントラ予測モードは、すべてのブロックサイズ、および輝度および彩度イントラ予測の両方に適用される。
【0065】
従来の角度イントラ予測方向は、図2に示すように、時計回り方向に45度から-135度で定義される。VTM2において、いくつかの従来の角度イントラ予測モードは、非正方形のブロックのために、広角イントラ予測モードに適応的に置き換えられる。置換されたモードは、元の方法を使用して信号通知され、構文解析後、広角モードのインデックスに再マッピングされる。イントラ予測モードの総数は変わらず、即ち、67であり、イントラモード符号化は変わらない。
【0066】
HEVCにおいて、すべてのイントラ符号化されたブロックは正方形の形状を有し、その辺の各々の長さは2のべき乗である。このように、DCモードを使用してイントラ予測モジュールを生成するために、除算工程を必要としない。VVV2において、ブロックは、一般的な場合、ブロックごとに除算工程を使用することが必要である長方形の形状を有することができる。DC予測のための除算工程を回避するために、長辺のみを使用して非正方形のブロックの平均を計算する。
【0067】
図2は、67個のイントラ予測モードの例を示す。
【0068】
2.2.2 6個のMPMを有する輝度成分のためのイントラモード符号化
VVC参照ソフトウェアVTM3.0.rc1において、図3に示されるように、LEFTおよびABOVEとして表される近傍位置AおよびBのイントラモードのみが、MPMリストの生成に使用される。非MPM符号化の場合、短縮バイナリ符号化が適用される。
【0069】
現在のCUの左と上のイントラモードをそれぞれMode、Modeとする。
【0070】
近傍のCUがイントラとして符号化されていないか、またはPCM(パルス符号変調)モードで符号化されている場合、CUは、平面予測されたものと見なされる。また、イントラモード再構成のために追加のラインバッファの導入を回避するように、上側の近傍のCUがCTUの外側にある場合、Modeを平面モードとする。
【0071】
6つのMPMモードをMPM[i](iは0~5)で表す。以下のステップが順に実行される。
1.初期値:MPM[6]={Mode,!Mode,50,18,46,54};
2.ModeがModeに等しい場合、以下が適用される。
-Modeが1(非DC/平面)よりも大きい場合、MPM[6]={Mode,planar,DC,2+((candIntraPredModeA+62)%65),2+((candIntraPredModeA-1)%65,2+((candIntraPredModeA+61)%65))};
3.そうでない場合(ModeがModeに等しい)、以下が適用される。
-MPM[0]=Mode,MPM[1]=Mode
-変数biggerIdxを以下のように設定する。
biggerIdx=candModeList[0]>candModeList[1]?0:1
-ModeおよびModeの両方が1よりも大きい場合、x=2..5のMPM[x]は、以下のように導出される。
MPM[2]=INTRA_PLANAR
MPM[3]=INTRA_DC
-MPM[biggerIdx]-MPM[!biggerIdx]が64にも1にも等しくない場合、以下が適用される。
MPM[4]=2+((MPM[biggerIdx]+62)%65)
MPM[5]=2+((MPM[biggerIdx]-1)%65)
-そうでない場合、以下が適用される。
MPM[4]=2+((MPM[biggerIdx]+61)%65)
MPM[5]=2+(candModeList[biggerIdx]%65)
-そうではなく、ModeとModeとの和が2以上である場合、以下が適用される。
MPM[2]=!MPM[!biggerIdx]
MPM[3]=2+((MPM[biggerIdx]+62)%65)
MPM[4]=2+((MPM[biggerIdx]-1)%65)
MPM[5]=2+((MPM[biggerIdx]+61)%65)
ここで、%はモジュロ演算子を表し、すなわち、a%bはaをbで割った剰余を表す。
【0072】
2.2.3 非正方形のブロックのための広角イントラ予測
従来の角度イントラ予測方向は、時計回り方向に45度から-135度で定義される。VTM2において、いくつかの従来の角度イントラ予測モードは、非正方形のブロックのために、広角イントラ予測モードに適応的に置き換えられる。置換されたモードは、元の方法を使用して信号通知され、構文解析後、広角モードのインデックスに再マッピングされる。あるブロックのためのイントラ予測モードの総数は変わらず、即ち、67であり、イントラモード符号化は変わらない。
【0073】
これらの予測方向をサポートするために、長さ2W+1の上側の基準および長さ2H+1の左側の基準を、図4に示すように定義する。
【0074】
広角方向モードにおける置換モードのモード数は、ブロックのアスペクト比に依存する。置換されたイントラ予測モードを表1に示す。
【0075】
【表5】
【0076】
図5に示すように、垂直方向に隣接した2つの予測サンプルは、広角イントラ予測の場合、2つの非隣接参照サンプルを使用してもよい。そこで、広角予測にローパス参照サンプルフィルタおよびサイドスムージングを適用し、増加したギャップΔpαのマイナス効果を低減する。
【0077】
2.2.4 位置依存イントラ予測の組み合わせ
VTM2において、平面モードのイントラ予測の結果は、PDPC(Position Dependent intra Prediction Combination)法によってさらに修正される。PDPCは、フィルタリングされていない境界参照サンプルと、フィルタリングされた境界参照サンプルを有するHEVCスタイルのイントラ予測との組み合わせを呼び出すイントラ予測方法である。PDPCは、信号通知をせずに、以下のイントラモード、即ち、平面、DC、水平、垂直、左下の角度モードおよびその8つの隣接する角度モード、並びに右上の角度モードおよびその8つの隣接する角度モードに適用される。
【0078】
以下の式に基づいて、イントラ予測モード(DC、平面、角度)および参照サンプルの線形結合を使用して、予測サンプルpred(x,y)を予測する。
pred(x,y)=(wL×R-1,y+wT×Rx,-1-wTL×R-1,-1+(64-wL-wT+wTL)×pred(x,y)+32)>>6
【0079】
x,-1、R-1,yはそれぞれ、現在のサンプル(x,y)の上と左に位置する参照サンプルを表し、R-1,-1は、現在のブロックの左上隅に位置する参照サンプルを表す。
【0080】
PDPCをDC、平面、水平、垂直イントラモードに適用する場合、HEVC DCモード境界フィルタまたは水平/垂直モードエッジフィルタの場合の要求に応じて、追加の境界フィルタは必要とされない。
【0081】
図6A図6Dは、様々な予測モードに適用されるPDPCのための参照サンプル(Rx,-1,R-1,y,R-1,-1)の定義を示す。予測サンプルpred(x’,y’)は、予測ブロック内の(x’,y’)に位置する。参照サンプルRx,-1の座標xは、x=x’+y’+1によって与えられ、参照サンプルR-1,yの座標yは、同様に、y=x’+y’+1によって与えられる。
【0082】
図6A図6Dは、斜めおよび隣接する角度イントラモードに適用された、PDPCで使用されるサンプルの例示的な定義を示す。図6Aは、斜め右上モードを示す。図6Bは、斜め左下モードを示す。図6Cは、隣接する斜め右上モードを示す。図6Dは、隣接する左下モードの例を示す。
【0083】
PDPC重みは予測モードに依存し、表2に示される。
【0084】
【表6】
【0085】
2.2.5 MRLIP(Multiple Reference Line Intra Prediction)
イントラ予測のために、隣接する左の列および上のラインの再構成サンプル(即ち、参照ライン0)を常に使用する代わりに、異なる距離に位置する参照サンプルを使用することを可能にすることが提案される。
【0086】
MRLIPは、以下の特徴を有する。
-参照ラインインデックス信号通知
-参照ラインインデックス>0の場合、MPMリストに含まれているもののみ、および、残りのモードがない信号のmpmインデックスのみ
-参照ラインインデックス=0の場合、元の設計と同じように、すべての種類のイントラ予測モードが選択されてもよい
-1つの輝度ブロックに対して3つのラインのうち1つを選択してもよく、図7に示すように、参照ライン0、1、3が選択されてもよい。
-CTU規制の最上ライン
-CTU内部の最初のラインのブロックに対してMRLを無効化する
【0087】
2.2.6 彩度符号化
HEVC彩度符号化において、1つの彩度ブロックに対して5つのモード(左上の対応する輝度ブロックからのイントラ予測モードである1つのDM(Direct Mode;直接モード)および4つのデフォルトモードを含む)が許可される。2つの色成分は、同じイントラ予測モードを共有する。
【0088】
HEVCの設計とは異なり、2つの新しい方法が提案されており、それらの方法は、CCLM(Cross-Component Linear Model:交差成分線形モデル)予測モードおよび複数のDMを含む。
【0089】
2.2.6.1 CCLM
交差成分の冗長性を低減するために、別名LMと呼ばれるCCLM(Cross-Component Linear Model)予測モードは、JEMにおいて使用され、それに対し、彩度サンプルが、線形モデルを使用することによって、次のように同じCUの再構成された輝度サンプルに基づいて予測される。
【0090】
【数1】
【0091】
ここで、pred(i,j)はCU内の予測された彩度サンプルを表し、rec’(i,j)はカラーフォーマット4:2:0または4:2:2の同じCUのダウンサンプリングされた再構成された輝度サンプルを表し、一方、rec’(i,j)は、カラーフォーマット4:4:4の同じCUの再構成された輝度サンプルを表す。CCLMパラメータαおよびβは、現在のブロックの周りの近傍の再構成された輝度サンプルと彩度サンプルとの間の回帰誤差を最小化することによって、以下のように導出される。
【0092】
【数2】
【0093】
【数3】
【0094】
ここで、L(n)は、ダウンサンプリングされた(カラーフォーマット4:2:0または4:2:2の場合)または元の(カラーフォーマット4:4:4の場合)上側および左側の近傍の再構成された輝度サンプルを表し、C(n)は、上側および左側の近傍の再構築された彩度サンプルを表し、Nの値は現在の彩度符号化ブロックの幅と高さの最小値の2倍に等しい。正方形の符号化ブロックに対して、上記の2つの式を直接適用する。非正方形符号化ブロックの場合、まず、より長い境界の近傍のサンプルを、より短い境界の場合と同じ数のサンプルを有するようにサブサンプリングする。図6A図6Dは、左と上の再構成されたサンプルの位置と、CCLMモードに関与する現在のブロックのサンプルとを示す。
【0095】
この回帰誤差最小化計算は、単なるエンコーダ検索工程としてではなく、復号化処理の一部として実行されるので、α値およびβ値を伝達するために構文を使用しない。
【0096】
図8は、αおよびβの導出に使用されるサンプルの例示的な位置を示す。
【0097】
CCLM予測モードは、2つの彩度成分間の予測も含み、即ち、Cb成分からCr成分を予測する。再構成されたサンプル信号を使用する代わりに、CCLM Cb-to-Cr予測が残差領域において適用される。これは、元のCrイントラ予測に重み付けて再構成されたCb残差を加算し、最終的なCr予測を形成することによって実装される。
【0098】
【数4】
【0099】
ここで、resiCb’(i,j)は、位置(i,j)に再構成されたCb残差サンプルを示す。
【0100】
スケーリング係数αは、CCLM輝度-彩度予測と同様にして導出される。唯一の相違は、誤差関数におけるデフォルトα値に対する回帰コストを加算することであり、その結果、導出されたスケーリング係数は、以下のように、-0.5のデフォルト値に偏る。
【0101】
【数5】
【0102】
ここで、Cb(n)は、近傍の再構成されたCbサンプルを表し、Cr(n)は、近傍の再構成されたCrサンプルを表し、λは、Σ(Cb(n)・Cb(n))≫9に等しい。
【0103】
CCLM輝度-彩度予測モードを1つの追加の彩度イントラ予測モードとして追加する。エンコーダ側において、彩度イントラ予測モードを選択するために、彩度成分のためのもう1つのRDコストチェックが追加される。CUの彩度成分にCCLM輝度-彩度予測モード以外のイントラ予測モードを使用する場合、Cr成分予測にCCLM Cb-Cr予測を使用する。
【0104】
2.2.6.2 VVCにおける彩度符号化
VTM-2.0には、JEMのようなCCLMが採用されている。しかし、JEMにおけるMM-CCLMはVTM-2.0には採用されていない。
【0105】
彩度イントラ符号化の場合、まず、彩度イントラ予測モードの候補リストを導出し、ここで、3つの部分を含んでいてもよい。
-1つのDM(Direct Mode)を、彩度ブロックの同一位置にある中心位置(図9のCR)を含む輝度CBに関連付けられた1つのイントラ輝度予測モードに設定する。TLで示す同一位置を有する一例を図9に示した。
-1つの交差成分線形モデル(CCLM)モード
-4つのデフォルトモード(図1に示すように、DC、平面、水平、垂直モード)。4つのデフォルトモードのうちの1つがDMモードと同じである場合、それは、すなわち、図10に破線で示される最大のモードインデックスを有するイントラ予測モードに置き換えられる。
【0106】
3. 既存の実施形態の欠点
VVCにおけるMRLイントラ予測の現在の設計には、次のような問題がある。
1)VTM3.0-rc1において、PCMフラグは、イントラ予測処理に使用される参照ラインのインデックスの後に符号化される。従って、1つのブロックを符号化するためにPCMを使用してよくても、PCM符号化ブロックに対して通常のイントラ予測は許可されないので、依然として参照ラインインデックスが信号通知され、ビットが浪費される。
2)VVCは、ALF(Adaptive Loop Filter:適応型ループフィルタ)を新たに採用している。PCMでどのように取り扱うかは不明である。
3)HEVCにおけるフィルタリング処理の決定において、1つの輝度ブロックの1つのPCMフラグおよび2つの対応する彩度ブロックが使用される。しかしながら、別個のツリーを使用する場合、輝度ブロックのサンプルおよび彩度成分のサンプルは、異なるPCMフラグが選択してもよく、即ち、1つの輝度ブロックをPCMで符号化し、且つ対応するクロマブロックを非PCMで符号化してもよく、従って、フィルタリング決定処理において1つのPCMフラグを使用することは、望ましくない。
4)MRLIPは、輝度成分にのみ適用される。しかしながら、彩度成分の場合、特に4:4:4のカラーフォーマットの場合、これも有効であってもよい。
5)MRLIPは、符号化性能を低下させ得るインターイントラ符号化ブロックに適用できなかった。
6)ゼロでない指数を有する参照ラインは、角度モードに対してより効率的である。参照ラインインデックスが0よりも大きい場合、MPMリストにおけるモードを使用する。しかしながら、MRLIPの効率が低いMPMリストにDC/平面モードを含めてもよい。
7)HEVCにおいて、最小のCUサイズは8×8であり、VVCにおいて、最小のCUサイズは4×4である。従って、4×4、4×8、8×4ブロックは、PCMモードを適用すべきであるが、現在は許可されていない。さらに、PCMの元の設計は、正方形のCUのみを処理し、VVCでは、非正方形のCUが存在する。
【0107】
4. 例示的な実施形態および技術
以下に列挙される詳細な技術は、一般的な概念を説明するための例と見なされるべきである。これらの技術は狭い意味で解釈されるべきではない。さらに、これらの技術は、任意の方法で組み合わせることができる。
【0108】
1.MRLIPモード情報の前にPCM有効化フラグを符号化することが提案される。
a.一例において、このブロックのためにPCMが無効化された場合、MRLIPにおいて使用される参照ラインインデックスがさらに信号通知される。
b.一例において、このブロックのためにPCMが有効化される場合、MRLIPにおいて使用される参照ラインインデックスの信号通知はスキップされる。
c.あるいは、MRLIPモード情報が0に等しいまたは等しくない場合、PCMフラグは信号通知されない。
【0109】
2.1つのブロックがPCMモードで符号化されるとき、このブロックのためのAFL(Adaptive Loop Filter)は、自動的に無効にされる。
a.ALF有効化/無効化フラグの信号通知は、PCM有効化/無効化フラグに依存してもよい。あるいは、PCM有効化/無効化フラグの信号通知は、ALF有効化/無効化フラグに依存してもよい。
b.1つのブロックのサイズがCTUのサイズに等しい場合、ALF有効化/無効化フラグの前に、まずPCMフラグを信号通知してもよい。PCMフラグが真である場合、ALFフラグはもはや信号通知されない。
c.1つのブロックのサイズがCTUのサイズに等しい場合、まず、SAO有効化/無効化フラグの前に、PCMフラグを信号通知してもよい。PCMフラグが真である場合、SAOフラグはもはや信号通知されない。
d.あるいは、さらに、上記の方法は、pcm_loop_filter_disabled_flagが1に等しい場合にのみしてもよい。
【0110】
3.どのようにPCM有効/無効フラグを信号通知/解釈/使用するかは、色成分に依存してもよい。
a.一例において、PCM有効化/無効化フラグをどのように信号通知/解釈/使用するかは、異なる色成分に対する別個のパーティションツリー構造が使用されるかどうかに依存してもよい。
b.一例において、輝度および彩度成分のための別個のパーティションツリー構造が適用される場合、1つの輝度ブロックのための第1のフラグを信号通知してもよく、1つの彩度ブロックのための第2のフラグを独立して信号通知してもよい。
c.一例において、3つの色成分のための別個のパーティションツリー構造が適用される場合、3つのフラグが独立して信号通知されてもよい。
d.一例において、色成分に応じて、PCM有効化/無効化フラグは、次の映像符号化処理を制御するために、例えば、cm_lumaおよびpcm_chromaの異なる変数として解釈される。
e.フィルタリング処理(例えば、非ブロック化フィルタ、サンプル適応型ループフィルタ、適応型ループフィルタ)において、1つの色成分の1つのブロックをフィルタリングするかどうかは、色成分に関連付けられたPCM有効化/無効化フラグに依存してもよい。
f.あるいは、別個のパーティションツリー構造が有効化されても、PCMフラグは輝度成分のみに信号通知され、一方、彩度ブロックの場合、1つの対応する輝度ブロック内の任意の位置(例えば、対応する輝度ブロックの中心位置)からPCMフラグを継承してもよい。
g.あるいは、さらに、許容されるPCM符号化ブロックのサイズ/寸法の制限は、異なる色成分に対して、または輝度および彩度に対して別個に信号通知されてもよい。
例えば、4:2:0を例として、1つの64×64の輝度ブロック(CTUサイズが64×64に等しい)は、2つの32×32の彩度ブロックに対応する。輝度ブロックは、4分木分割によって4つのCUに分割してもよい(4つの32×32の輝度CUが存在する)。元の設計では、別個のツリーがなく、32×32の輝度CUの各々に対して1つのフラグのみが符号化され、それは、輝度および彩度が同じ分割構造を共有するので、対応する16×16のCb/Crブロックに使用される。合計で4つのフラグを符号化してもよい。
提案した方法の1つの例示的な実施形態において、別個のツリーを適用する場合、輝度ブロックを2分木で2つのCUに分割してもよい(32×16のCbのCUが2つ、32×16のCrのCUが2つ)。この場合、4つの32×32の輝度ブロックの4つのフラグ、および2つの32×16の彩度ブロックの2つのフラグを信号通知してもよい。
同様に、元の設計は、フィルタリング処理において1つの輝度ブロックおよび2つの彩度ブロックに関連付けられたPCMフラグをチェックするが、この提案した方法においては、1つの輝度ブロックのPCMフラグおよび1つの彩度ブロックのPCMフラグをフィルタリング処理の判定のために独立してチェックしてもよい。
【0111】
4.PCMが適用可能であるかどうかを示すために、フラグを(CU/ブロックレベルに比べて)ハイレベルで信号通知することが提案される。PCMが適用可能でない場合、すべてのブロックに対して、より低いレベル(例えば、ブロックレベル)のPCM有効化/無効化フラグの信号通知は、常にスキップされる。このフラグは、VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/タイル/CTU行/CTUにおいて信号通知されてもよい。
【0112】
5.1つのブロックが非隣接参照ラインで符号化されている(例えば、参照ラインインデックス>0)場合、広角モードは、自動的に無効にされてもよい。
a.一例において、構文解析後の信号通知されたモードと広角モードのインデックスとの間のマッピングは、スキップされる。
b.あるいは、信号通知される参照ラインのインデックスにかかわらず、隣接参照ラインに対して広角モードを使用する。
【0113】
6.MRLを有効化にするかどうか、および参照ラインインデックスをどのように送信するかは、カラーサブサンプリングフォーマットに依存してもよい。
a.一例において、4:4:4のカラーフォーマットでは、MRLは、3つの色成分全てに対して有効にされてもよい。
b.参照ラインインデックスは、1つのブロックのすべての色成分に対して1回符号化されてもよい。
c.あるいは、2つの参照ラインインデックスを符号化してもよく、1つは輝度色成分(例えば、符号化される第1の色成分)のためのものであり、1つは他の2つの色成分のためのものである。
d.あるいは、3つの参照ラインインデックスを符号化してもよく、1つは輝度色成分(例えば、符号化対象の第1の色成分)のためのものであり、他の2つは他の2つの色成分のためのものである。
e.あるいは、多重参照ラインインデックスを符号化する必要がある場合、インデックス差を符号化するために予測符号化を適用してもよい。
f.あるいは、多重参照ラインインデックスを符号化する必要がある場合、まず1つのフラグを信号通知して、それらのすべてが同じであることを知らせてもよい。
g.一例において、異なる色成分は、ラインの異なる候補を選択してもよい。
i.例えば、Cb/Cr成分は、第1および第2の近傍のラインから選択してもよい。
ii.MRL情報は、異なる色成分に対して異なる方法で符号化されてもよい。
【0114】
7.1つのブロックに対して、インターイントラモードおよびMRLIPモードの両方を有効にしてもよい。この場合、インターイントラモードで使用されるイントラ予測処理は、現在のブロックに隣接しない1つのライン/列に依存してもよい。
a.一例において、現在のブロックが符号化インターイントラモードである場合、参照ラインインデックスをさらに信号通知してもよい。
b.このような方法は、あるブロックの寸法、位置に適用される。
c.このジョイントモードが有効化されるか無効化されるかは、SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/CTUにおいて信号通知されてもよい。
【0115】
8.MRLIPが非隣接(例えば、参照ラインインデックス>0)を指し、MPMリストがM1で示される特定のモードを含む場合、M1は、復号化処理において、M2で示される別のモードにさらに置き換えられてもよい。
a.一例において、特定のモード(モードインデックスKを有する)は、DCモード、平面モード、広角モード、または任意の非角度モードとして定義される。
b.代替として使用されるモードは、MPMリストにおける残りのモードから導出されてもよい。
i.一例において、インデックスがKに等しくない第1のモードを使用して、例えば、インデックスが(第1のモード+M)に等しい置換モードを導出してもよく、ここで、Mが、例えば、1に設定される。
ii.一例において、インデックスがKに等しくない最後のモードを使用して、例えば、インデックスが(第1のモード+M)に等しい置換モードを導出してもよく、ここで、Mが、例えば、1に設定される。
【0116】
9.MRLIPが非隣接(例えば、参照ラインインデックス>0)を指す場合、MPMリストに含まれるイントラモードのインデックスを符号化する代わりに、固定候補リストを使用してもよく、固定候補リストへのインデックスを信号通知してもよい。
a.一例において、固定候補リストは、例えば、水平モードまたは垂直モードを含むように設定されてもよい。
b.一例において、固定候補リストは、予め規定されてもよい。
c.あるいは、固定候補リストは、SPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/CTUにおいて信号通知されてもよい。
d.あるいは、固定候補リストは、ブロックの次元に依存してもよい。
【0117】
10.上のラインおよび左の列に対して同じ参照ラインインデックスを使用する代わりに、上のラインおよび左の列のインデックスを別個に信号通知してもよいことが提案される。
a.一例において、このような方法は、新しいモードとして追加されてもよい。この場合、このモードが有効化されている場合にのみ、別個の信号通知を適用してもよい。
b.一例において、上のラインおよび左の列の参照インデックスの異なる組み合わせに対して、異なる許可されたイントラ予測モードのセットを使用してもよい。
c.この方法で使用される異なるイントラ予測モードのセットは、予め規定されてもよく、またはSPS/VPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/CTUで信号通知されてもよい。
【0118】
11.PCMモードを有効化するために、64個未満のサンプルを有するブロックを許可することが提案される。
a.一例において、4×4、4×8、または8×4は、PCMモードを適用してもよい。
b.一例において、pcm_flagが1に等しい最小ブロックサイズは(符号化されたlog2_min_pcm_luma_coding_block_size_minus2の値+2)に設定される。
【0119】
12.PCMモードを有効化にするために、64×64以上のサンプルを有するブロックを許可することが提案される。
a.あるいは、さらに、このような方法は、LCUのサイズが128×128に等しい場合にのみ有効になる。
【0120】
13.1つのPCM符号化輝度ブロック内のサンプルの最大/最小数の指示を信号通知することが提案される。
a.一例において、1つのPCM符号化輝度ブロック内のサンプルの最大数の指示を信号通知する場合、最大値と最小値との間の差の指示を信号通知してもよい。
b.一例において、1つのPCM符号化輝度ブロック内のサンプルの最大/最小数のlog2を信号通知してもよい。
c.一例において、1つのPCM符号化輝度ブロック内のサンプルの最大数を信号通知する場合、最大値と最小値との間の差のlog2の値を信号通知してもよい。
【0121】
14.ブロック幅および/またはブロック高さの最小許容サイズは、互いに等しくなくてもよく、別個に信号通知/導出されてもよい。
a.最大許容ブロック幅および/または高さは、別個に信号通知/導出されてもよい。
b.一例において、ブロック幅およびブロック高さの最小許容サイズは信号通知されず、それぞれ最小CUブロックの幅および高さと同じとなるように継承される。
c.一例において、ブロック幅およびブロック高さの最大許容サイズは信号通知されず、それぞれLCUの幅および高さと同じとなるように継承される。
d.ブロックのためにPCM有効化/無効化フラグを信号通知するかどうかは、以下の条件の1つが真であるかどうかに依存してもよい。
i.現在のブロックの幅は最小ブロック幅より小さくなく、かつ、現在のブロックの幅は最大許容ブロック幅より大きくない。
ii.現在のブロックの幅は最小ブロック高さより小さくなく、かつ、現在のブロックの幅は最大許容ブロック高さより大きくない。
e.PCMが1に等しいブロック幅およびブロック高さの最小サイズの指示は、別個に信号通知されてもよい。
f.PCMが1に等しいブロック幅およびブロック高さの最大サイズの指示は、別個に信号通知されてもよい。
【0122】
15.異なる色成分は、PCMフラグがブロックレベルで信号通知されるべきときに、異なる制限を有していてもよい。
a.一例において、異なる色成分に対して許容されるサイズ(例えば、log2_min_pcm_luma_coding_block_size_minus3、0におけるlog2_diff_max_min_pcm_luma_coding_block_size)は、別個に信号通知してもよい。
b.すべての色成分に対して別個に信号を送信するか、または1回だけ信号を送信するかは、カラーサブサンプリングフォーマット(例えば、4:2:0、4:4:4)に依存してもよい。
【0123】
5. 例示の実施形態
VTM-3.0rc1の実装と比較した変化は、太い太字で強調されている。削除された部分には、取り消し線が付けられる。
【0124】
5.1 実施形態#1
意味論
【0125】
0に等しいpcm_enabled_flagは、PCM関連構文(pcm_sample_bit_depth_luma_minus1,pcm_sample_bit_depth_chroma_minus1,log2_min_pcm_luma_coding_block_size_minus3,log2_diff_max_min_pcm_luma_coding_block_size,pcm_loop_filter_disabled_flag,pcm_flag,pcm_alignment_zero_bitの構文要素およびpcm_sample()の構文構造)がCVSに存在しないことを規定する。
【0126】
注4-MinCbLog2SizeYが76に等しく、pcm_enabled_flagが1に等しい場合、符号化ブロックの最大サイズのため、PCMサンプルデータ関連構文(pcm_flag,pcm_alignment_zero_bitの構文構造およびpcm_sample()の構文構造)はCVSに存在しない。なぜなら、PCMサンプルデータ関連構文を伝達できる符号化ブロックの最大寸法は、Min(CtbLog2SizeY,65)以下に制限されているからである。従って、MinCbLog2SizeYが76に等しく、pcm_enabled_flagが1に等しい場合、CVSでPCMサンプルデータを伝達するための適切な設定ではない。
【0127】
pcm_loop_filter_disabled_flagは、次のように、pcm_flagが1に等しい符号化ユニット内の再構成されたサンプルでループフィルタ処理を無効化するかどうかを規定する。
-pcm_loop_filter_disabled_flagが1に等しい場合、pcm_flagが1に等しい符号化ユニット内の再構成されたサンプルに対する非ブロック化フィルタ、適応型ループフィルタ、およびサンプル適応オフセットフィルタの処理が無効になる。
-それ以外(pcm_loop_filter_disabled_flag値が0に等しい)の場合、pcm_flagが1に等しい符号化ユニット内の再構成されたサンプルの非ブロック化フィルタ、適応型ループフィルタ、およびサンプル適応オフセットフィルタの処理は無効にならない。
【0128】
pcm_loop_filter_disabled_flagが存在しない場合、0に等しいと推測される。
【0129】
5.2 実施形態#2
MRLIPおよびPCMの両方が1つのシーケンスに対して有効化される場合、以下を適用してもよい。この場合、MRLインデックスを送信する前に、まずPCMフラグを符号化する。
【0130】
符号化ユニット構文
【0131】
【表7】
【0132】
あるいは、PCMフラグの信号通知は、必要な幅または高さのいずれかが条件を満たすかどうかに依存してもよい。
【0133】
【表8】
【0134】
5.3 実施形態#3
本実施形態において、PCM有効化/無効化フラグは色成分に関連付けられてもよい。
【0135】
5.3.1 PCMフラグの信号通知
別個のパーティションツリー構造(別名、デュアルツリー)を使用する場合、PCM有効化/無効化フラグの信号通知は、輝度成分と彩度成分とに分けて符号化される。提案された変更点を強調表示しておく。
【0136】
5.3.1.1 2つの異なる構文要素
【0137】
【表9】
【0138】
5.3.1.2 1つの異なる構文要素を持つが異なる意味論
【0139】
【表10】
【0140】
個別のツリーが有効になっている場合、復号化されたpcm_flagは、treeTypeに応じて、pcm_flag_lumaとpcm_flag_chromaに別個に割り当てられる。
【0141】
より具体的には、
-デュアルツリーが無効になっている場合(例えば、treeTypeがSINGLE_TREEに等しい場合)、復号化されたpcm_flagは、pcm_flag_lumaとpcm_flag_chromaの両方にコピーされる。
-そうでない場合、
〇現在の構文解析処理が輝度成分用である場合(例えば、treeTypeがDUAL_TREE_LUMAに等しい場合)、復号化されたpcm_flagは、両方のpcm_flag_lumaにコピーされる。
〇それ以外(例えば、treeTypeがDUAL_TREE_LUMAと等しい)の場合、復号化されたpcm_flagは、pcm_flag_chromaにコピーされる。
【0142】
5.3.2 PCMフラグの使用法
フィルタリング処理(例えば、非ブロック化、サンプル適応オフセット、ALF)は、色成分に関連付けられた符号化されたpcm有効化/無効化フラグに依存してもよい。
より具体的には、
【0143】
pcm_loop_filter_disabled_flagが1に等しく、pcm_flag_luma[xP][yP]が1に等しい場合、(xP,yP)にある輝度サンプルはフィルタリングされない。
【0144】
pcm_loop_filter_disabled_flagが1に等しく、pcm_flag_chroma[xP][yP]が1に等しい場合、(xP,yP)にある彩度サンプルはフィルタリングされない。
【0145】
ここで、いくつかの例を以下に示す。
【0146】
5.3.2.1 非ブロック化フィルタにおける輝度サンプルのフィルタリング処理
あるいは、HEVC仕様の上で以下のような変更を行ってもよい。
【0147】
8.7.2.5.7 輝度サンプルに対するフィルタリング処理
nDpが0より大きく、且つ、以下の条件の1つ以上が真である場合、nDpは0に等しく設定される。
-pcm_loop_filter_disabled_flagは1に等しく、pcm_flag_luma[xP][yP]は1に等しい。
-サンプルpを含む符号化ブロックを含む符号化ユニットのcu_transquant_bypass_flagは1に等しい。
nDqが0より大きく、且つ、以下の条件の1つ以上が真である場合、nDqを0に等しく設定する。
-pcm_loop_filter_disabled_flagは1に等しく、pcm_flag_luma[xQ][yQ]は1に等しい。
-サンプルqを含む符号化ブロックを含む符号化ユニットのcu_transquant_bypass_flagは1に等しい。
【0148】
5.3.2.2 非ブロック化フィルタにおける彩度サンプルのフィルタリング処理
あるいは、HEVC仕様の上で以下のような変更を行ってもよい。
8.7.2.5.8 彩度サンプルのフィルタリング処理
以下の条件の1つ以上が真である場合、フィルタリングされたサンプル値p’は、対応する入力サンプル値pが代入される。
-pcm_loop_filter_disabled_flagは1に等しく、pcm_flag_chroma[xP*SubWidthC][yP*SubHeightC]は1に等しい。
-サンプルpを含む符号化ブロックを含む符号化ユニットのcu_transquant_bypass_flagは1に等しい。
-サンプルp0を含む符号化ブロックを含む符号化ユニットのpalte_mode_flagは1に等しい。
以下の条件の1つ以上が真である場合、フィルタリングされたサンプル値q’は、対応する入力サンプル値qが代入される。
-pcm_loop_filter_disabled_flagは1に等しく、pcm_flag_chroma[xQ*SubWidthC][yQ*SubHeightC]は1に等しい。
-サンプルqを含む符号化ブロックを含む符号化ユニットのcu_transquant_bypass_flagは1に等しい。
-サンプルq0を含む符号化ブロックを含む符号化ユニットのpalette_mode_flagは1に等しい。
【0149】
注意:上記すべての実施形態において、以下が適用されてもよい。
【0150】
いくつかの例では、MinIpcmCbSizeXは、MinIpcmCbSizeYに等しい。あるいは、MinIpcmCbSizeXは、MinIpcmCbSizeYに等しくない。
【0151】
いくつかの例では、MaxIpcmCbSizeXは、MaxIpcmCbSizeYに等しい。あるいは、MaxIpcmCbSizeXはMaxIpcmCbSizeYに等しくない。
【0152】
MinIpcmCbSizeX、MinIpcmCbSizeY、MaxIpcmCbSizeX、MaxIpcmCbSizeYは、SPS/VPS/PPS等で信号通知される構文要素から導出されてもよい。
【0153】
図11は、映像処理の方法1100のフローチャートである。方法1100は、工程1110において、映像の現在のブロックに対して、PCM(Pulse Code Modulation:パルス符号変調)が使用される第1の符号化モードと、MRLIP(Multiple Reference Line based Intra Prediction)が使用される第2の符号化モードとのうちの少なくとも1つを有効化することを判定することを含む。
【0154】
方法1100は、工程1120において、第1の符号化モードまたは第2の符号化モードに基づいて、現在のブロックと映像のビットストリーム表現との間の変換を行うことを含み、第1の符号化モードの使用を示す第1の指示および/または第2の符号化モードの使用を示す第2の指示は、順序付け規則に従ってビットストリーム表現に含まれる。
【0155】
図12は、映像処理の方法1200のフローチャートである。方法1200は、工程1210において、映像の現在のブロックと映像のビットストリーム表現との間の変換のために、映像の色成分表現に基づいて、現在のブロックのパルス符号変調に基づいて符号化モードに関連付けられた少なくとも1つのフラグを判定することを含む。
【0156】
方法1200は、工程1220において、判定に基づいて変換を行うことを含む。
【0157】
図13は、映像処理の方法1300のフローチャートである。方法1300は、工程1310において、映像の映像領域の現在のブロックと映像のビットストリーム表現との間の変換を行うことを含み、ビットストリーム表現は、現在のブロックへのPCM(Pulse Code Modulation:パルス符号変調)の適用可能性に関する規則に従ってフォーマットされ、規則は、PCMを無効化する旨の指示が映像領域レベルに含まれていると判定された場合、現在のブロックレベルでのPCMの指示を省略することを規定する。
【0158】
図14は、映像処理の方法1400のフローチャートである。方法1400は、工程1410において、映像の現在のブロックのサイズに基づいて、映像の現在のブロックに対してPCM(Pulse Code Modulation:パルス符号変調)符号化モードを有効化するかを決定することを含む。
【0159】
方法1400は、工程1420において、現在のブロックと映像のビットストリーム表現との間の変換を決定に基づいて行うことを含む。
【0160】
図15は、映像処理の方法1500のフローチャートである。方法1500は、工程1510において、映像の現在のブロックと映像のビットストリーム表現との間の変換のために、現在のブロックの高さまたは幅に対する最小許容値を判定することを含み、高さに対する最小許容値は、幅に対する最小許容値とは別個に信号通知または導出される。
【0161】
方法1500は、工程1520において、判定に基づいて変換を行うことを含む。
【0162】
図16は、映像処理の方法1600のフローチャートである。方法1600は、工程1610において、PCM(Pulse Code Modulation:パルス符号変調)符号化モードで符号化されている映像の現在のブロックの指示が、映像のビットストリーム表現において映像の色成分表現で信号通知されると判定した場合、映像の色成分表現を構成することを含む。
【0163】
方法1600は、工程1620において、構成することに基づいて、現在のブロックとビットストリーム表現との間の変換を行うことを含む。
【0164】
図17は、映像処理の方法1700のフローチャートである。方法1700は、工程1710において、映像の現在のブロックと映像のビットストリーム表現との間の変換のために、非隣接参照ラインモードを変換に使用しているために、広角モードが変換に対して無効になっていることを判定することを含む。
【0165】
方法1700は、工程1720において、判定に基づいて、変換を行うことを含み、非隣接参照ラインモードは、現在のブロックを変換するために、映像の参照ラインからの非隣接画素を使用し、広角モードは、従来の角度イントラ予測方向を45度から-135度を超えるイントラ予測方向を含む。
【0166】
図18は、映像処理の方法1800のフローチャートである。方法1800は、工程1810において、映像の現在のブロックと映像のビットストリーム表現との間の変換のための映像のカラーサブサンプリングフォーマットに基づいて、現在のブロックに対してMRL(Multiple Reference Line)符号化モードが有効化されるか、または1つ以上の参照ラインインデックスの信号通知形式がMRL符号化モードに使用されるかを決定することを含む。
【0167】
方法1800は、工程1820において、決定に基づいて変換を行うことを含む。
【0168】
図19は、映像処理の方法1900のフローチャートである。方法1900は、工程1910において、映像の現在のブロックについて、インターイントラモードおよびMRLIP(Multiple Refernece Line Intra Prediction)モードが有効化されている判定された場合、インターイントラモードのイントラ予測処理のために、現在のブロックに非隣接ラインまたは列を選択することを含む。
【0169】
方法1900は、工程1920において、ラインまたは列に基づいて、現在のブロックと映像のビットストリーム表現との間の変換を行うことを含む。
【0170】
図20は、映像処理の方法2000のフローチャートである。方法2000は、工程2010において、現在のブロックに対する非隣接のラインを使用するMRLIP(Multiple Reference Line Intra Prediction)モードを使用して符号化された映像の現在のブロックに対して、現在のブロックと映像のビットストリーム表現との間の変換を行うことであって、MRLIPは、さらにMPM(Most Probable Mode:最確モード)リストを使用する、変換を行うことと、MPMリストの第1のモード(M1)をMPMリストの第2のモードに置き換えることを含む変換を行うことと、を含む。
【0171】
図21は、映像処理の方法2100のフローチャートである。方法2100は、工程2110において、現在のブロックに非隣接ラインを使用するMRLIP(Multiple Reference Line Intra Prediction)モードを使用して符号化された映像の現在のブロックに対して、現在のブロックと映像のビットストリーム表現との間の変換を行うことを含み、ビットストリーム表現は、MPM(Most Probable Mode:最確モード)リストの中のモードの符号化インデックスの代わりに固定候補リストの中のモードの符号化インデックスを含む。
【0172】
図22は、映像処理の方法2200のフローチャートである。方法2200は、工程2210において、MRL(Multiple Reference Line)符号化モードを使用して、映像の現在のブロックと映像のビットストリーム表現との間の変換のために、ビットストリーム表現が、現在のブロックの予測に使用される上のラインに対応する第1のインデックスと、予測に使用される左の列に対応する第2のインデックスとを含むことを判定することを含む。
【0173】
方法2200は、工程2220において、判定に基づいて変換を行うことを含む。
【0174】
図23は、映像処理装置2300のブロック図である。本明細書に記載の方法の1つ以上を実装するために、装置2300を使用してもよい。装置2300は、スマートフォン、タブレット、コンピュータ、IoT(Internet of Things)受信機等に実装されてもよい。装置2300は、1つ以上のプロセッサ2302と、1つまたは複数のメモリ2304と、映像処理ハードウェア2306と、を含んでもよい。プロセッサ2302は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)2304は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア2306は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
【0175】
いくつかの実施形態において、映像符号化方法は、図23を参照して説明したように、ハードウェアプラットフォームに実装される装置を使用して実施されてもよい。
【0176】
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを有効にするように決定または判定することを含む。一例において、映像処理ツールまたはモードが有効にされる場合、エンコーダは、1つの映像ブロックを処理する際にこのツールまたはモードを使用するまたは実装するが、このツールまたはモードの使用に基づいて、結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、映像のブロックから映像のビットストリーム表現への変換は、決定または判定に基づいて映像処理ツールまたはモードが有効にされる場合に、この映像処理ツールまたはモードを使用する。別の例において、映像処理ツールまたはモードが有効にされる場合、デコーダは、ビットストリームが映像処理ツールまたはモードに基づいて修正されたことを認識して、ビットストリームを処理する。すなわち、決定または判定に基づいて有効にされた映像処理ツールまたはモードを使用して、映像のビットストリーム表現から映像のブロックへの変換を行う。
【0177】
開示される技術の一部の実施形態は、映像処理ツールまたはモードを無効にする決定または判定を行うことを含む。一例において、映像処理ツールまたはモードが無効にされている場合、エンコーダは、映像のブロックを映像のビットストリーム表現に変換する際に、このツールまたはモードを使用しない。別の例において、映像処理ツールまたはモードが無効にされている場合、デコーダは、ビットストリームが、決定または判定に基づいて有効にされた映像処理ツールまたはモードを使用して修正されていないことを認識して、ビットストリームを処理する。
【0178】
図24は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム2400を示すブロック図である。様々な実装形態は、システム2400の構成要素の一部または全部を含んでもよい。システム2400は、映像コンテンツを受信するための入力ユニット2402を含んでもよい。映像コンテンツは、未加工または非圧縮フォーマット、例えば、8または10ビットのマルチコンポーネント画素値で受信されてもよく、または圧縮または符号化フォーマットで受信されてもよい。入力ユニット2402は、ネットワークインターフェース、周辺バスインターフェース、または記憶インターフェースを表してもよい。ネットワークインターフェースの例としては、イーサネット(登録商標)、受動光ネットワーク(PON)等の有線インターフェース、およびWi-Fiまたはセルラーインターフェース等の無線インターフェースが挙げられる。
【0179】
システム2400は、本明細書に記載される様々な符号化または符号化方法を実装することができる符号化コンポーネント2404を含んでもよい。符号化コンポーネント2404は、入力ユニット2402からの映像の平均ビットレートを符号化コンポーネント2404の出力に低減し、映像の符号化表現を生成してもよい。従って、この符号化技術は、映像圧縮または映像コード変換技術と呼ばれることがある。符号化コンポーネント2404の出力は、コンポーネント2406によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力2402において受信された、記憶されたまたは通信された映像のビットストリーム(または符号化)表現は、コンポーネント2408によって使用されて、表示インターフェース2410に送信される画素値または表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「符号化」動作またはツールと呼ぶが、符号化ツールまたは動作は、エンコーダおよびそれに対応する、復号化の結果を逆にする復号化ツールまたは動作が、デコーダによって行われることが理解されよう。
【0180】
周辺バスインターフェースユニットまたは表示インターフェースユニットの例は、USB(Universal Serial Bus)またはHDMI(登録商標)(High Definition Multimedia Interface)またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、またはデジタルデータ処理および/または映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0181】
以上、映像または画像の符号化または復号化におけるイントラ符号化ツールの使用を可能にすることで、スマートフォン、ラップトップ、デスクトップ、および類似した装置などの映像処理デバイスに組み込まれるビデオエンコーダおよびデコーダの実施形態例に利益をもたらすいくつかの技術を開示した。
【0182】
いくつかの実施形態において、次の技術的解決策を実装してもよい。
【0183】
A1.映像の現在のブロックに対して、PCM(Pulse Code Modulation)が使用される第1の符号化モードまたはMRLIP(Multiple Reference Lime based Intra Prediction)が使用される第2の符号化モードのうちの少なくとも1つを判定することが有効化されていることと、第1の符号化モードまたは第2の符号化モードに基づいて、前記現在のブロックと前記映像のビットストリーム表現との間で変換を行うこととを含み、前記第1の符号化モードの使用を示す前記第1の指示および/または前記第2の符号化モードの使用を示す第2の指示が、順序付け規則に従って前記ビットストリーム表現に含まれる、映像処理の方法。
【0184】
A2.前記順序付け規則は、前記第1の指示が前記第2の指示の前にビットストリーム表現であることを復号化順に規定する、解決策A1に記載の方法。
【0185】
A3.前記ビットストリーム表現は、前記第1の符号化モードが有効であると判定されると、前記第2の符号化モードに使用される参照ラインインデックスを省略する、解決策A1に記載の方法。
【0186】
A4.前記ビットストリーム表現は、前記第1の符号化モードが無効にされていると判定されると、前記第2の符号化モードに使用される参照ラインインデックスをさらに含む、解決策A1に記載の方法。
【0187】
A5.前記ビットストリーム表現は、前記ビットストリーム表現が前記第2の指示を含むと判定された場合、前記第1の表示を省略する、解決策A1に記載の方法。
【0188】
A6.前記第1の符号化モードが有効であると判定されると、前記現在のブロックのためのALF(Adaptive Loop Filter)処理を無効化する、解決策A1に記載の方法。
【0189】
A7.前記ALF処理の指示が前記ビットストリーム表現に含まれているかどうかは、前記第1の指示に基づく、解決策A6に記載の方法。
【0190】
A8.前記第1の表示が前記ビットストリーム表現に含まれているかどうかは、前記ALF処理の指示に基づく、解決策A6に記載の方法。
【0191】
A9.前記現在のブロックのサイズがCTU(Coding Tree Unit)のサイズに等しいと判定されると、前記ALF処理の指示の前に、前記第1の指示が前記ビットストリーム表現で信号通知される、解決策A6に記載の方法。
【0192】
A10.前記現在のブロックのサイズがCTU(Coding Tree Unit)のサイズに等しいと判定されると、SAO(Sample Adaptive Offset)処理の表示の前に、前記第1の指示が前記ビットストリーム表現で信号通知される、解決策A6に記載の方法。
【0193】
A11.pcm_loop_filter_disabled_flag=1である、解決策A1~A10のいずれかに記載の方法。
【0194】
A12.映像の現在のブロックと映像のビットストリーム表現との間での変換のために、前記映像の色成分表現に基づいて、前記現在のブロックのパルス符号変調に基づいて、符号化モードに関連付けられた少なくとも1つのフラグを判定することと、前記判定に基づいて、前記変換を行うこととを含む、映像処理の方法。
【0195】
A13.前記少なくとも1つのフラグは、前記色成分表現の各成分に対し別個のパーティションツリー構造が使用されるかどうかに基づく、解決策A12に記載の方法。
【0196】
A14.前記少なくとも1つのフラグは、前記色成分表現の輝度成分のための第1のフラグを備え、前記少なくとも1つのフラグは、前記色成分表現の彩度成分のための第2のフラグをさらに含む、解決策A12に記載の方法。
【0197】
A15.前記色成分表現は3つの色成分を含み、前記少なくとも1つのフラグは前記3つの色成分の各々に対して3つのフラグを含む、解決策A12に記載の方法。
【0198】
A16.前記少なくとも1つのフラグは、前記色成分表現の各成分に対して前記パルス符号変調を有効化する表示に対応する、前記パルス符号変調を有効化する指示を備える、解決策A12に記載の方法。
【0199】
A17.前記色成分表現のある成分のためのフィルタリング処理は、前記色成分表現の対応する成分のために前記パルス符号変調を有効化にする指示に基づく解決策A16に記載の方法。
【0200】
A18.前記少なくとも1つのフラグは、前記色成分表現の輝度成分のために前記パルス符号変調を有効化する指示を備え、前記色成分表現の彩度成分のために前記パルス符号変調を有効化する指示は、前記輝度成分内の位置から継承される、解決策A12に記載の方法。
【0201】
A19.前記位置が前記輝度成分の中心位置である、解決策A18に記載の方法。
【0202】
A20.映像の映像領域の現在のブロックと前記映像のビットストリーム表現との間で変換を行うことを含み、前記ビットストリーム表現は、PCM(Pulse Code Modulation)の前記現在のブロックへの適用可能性に関する規則に従ってフォーマットされ、前記規則は、映像領域レベルにおいて前記PCMを無効化する旨の指示が含まれていると判定された場合、現在のブロックレベルにおける前記PCMの表示を省略することを規定する、映像処理方法。
【0203】
A21.前記PCMの前記表示は、VPS(Video Parameter Set)、PPS(Picture Parameter Set)、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、タイル、CTU(Coding Tree Unit)、またはCTU行において信号通知される、解決策A20に記載の方法。
【0204】
A22.映像の現在のブロックのサイズに基づいて、前記現在のブロックに対してパルス符号変調(PCM)符号化モードを有効化するかどうかを決定することと、前記決定に基づいて、前記現在のブロックと前記映像のビットストリーム表現との間で変換を行うこととを含む、映像処理の方法。
【0205】
A23.前記現在のブロックが64未満のサンプルを含むと判定されると、前記PCM符号化モードが有効になる、解決策A22に記載の方法。
【0206】
A24.前記現在のブロックのサイズが、4×4、4×8、または8×4である、解決策A23に記載の方法。
【0207】
A25.pcm_flagが1に等しい前記現在のブロックの最小ブロックサイズが(log2_min_pcm_luma_coding_block_size_minus2+2)に設定されている、解決策A23の方法。
【0208】
A26.前記現在のブロックの前記サイズが64×64以上であると判定されると、PCM符号化モードが有効化される、解決策A22に記載の方法。
【0209】
A27.LCU(Largest Coding Unit)のサイズが128×128に等しいと判定されると、前記PCM符号化モードが有効になる、解決策A22に記載の方法。
【0210】
A28.前記PCM符号化モードが有効化され、現在のブロックにおけるサンプルの最大数または最小数の指示が前記ビットストリーム表現において信号通知される、解決策A22に記載の方法。
【0211】
A29.前記指示は、サンプルの最大数とサンプルの最小数との間の差を含む、解決策A28に記載の方法。
【0212】
A30.前記指示は、サンプルの前記最大数または前記最小数の底を2とする対数を含む、解決策A28に記載の方法。
【0213】
A31.前記指示は、サンプルの前記最大数とサンプルの前記最小数との間の差の底を2とする対数を含む、解決策A28に記載の方法。
【0214】
A32.映像の現在のブロックと前記映像のビットストリーム表現との間の変換のために、前記現在のブロックの高さまたは幅の最小許容値を判定することを含み、前記高さの最小許容値は、前記幅の最小許容値とは別個に信号通知または導出され、前記判定に基づいて、前記変換を行うことと、を含む、映像処理方法。
【0215】
A33.前記ビットストリーム表現は、前記高さまたは前記幅の最大許容値をさらに含み、前記高さの最大許容値は、前記幅の最大許容値とは別個に信号通知または導出される、解決策A32に記載の方法。
【0216】
A34.前記ビットストリーム表現は、前記高さまたは前記幅の最小許容値を省略し、前記最小許容値は、CU(Coding Unit)ブロックの最小サイズから継承される、解決策A32に記載の方法。
【0217】
A35.前記ビットストリーム表現は、前記高さまたは前記幅の最大許容値を省略し、前記最大許容値は、CU(Coding Unite)ブロックの最大サイズから継承される、解決策A32に記載の方法。
【0218】
A36.前記高さは前記幅と異なる、解決策A32~A35のいずれかに記載の方法。
【0219】
A37.現在のブロックに対してパルス符号変調(PCM)符号化モードを有効化する表示を含む前記ビットストリーム表現は、(a)前記現在のブロックの幅が、前記幅に対する最小許容値よりも小さくなく、かつ、前記幅に対する最大許容値よりも大きくない、または(b)前記現在のブロックの高さが、前記高さに対する最小許容値よりも小さくなく、かつ、前記高さに対する最大許容値よりも大きくないことに基づく、解決策A32に記載の方法。
【0220】
A38.前記現在のブロックのためにPCM(Pulse Code Modulation)符号化モードを有効化にする、解決策A32または33に記載の方法。
【0221】
A39.PCM(Pulse Code Modulation)符号化モードで符号化されている映像の現在のブロックの表示が、映像のビットストリーム表現において信号通知されると判定されると、映像の色成分表現を構成することと、前記構成に基づいて、前記現在のブロックと前記ビットストリーム表現との間で変換を行うことと、を含む、映像処理の方法。
【0222】
A40.前記色成分表現の各成分に対して許可されたサイズを別個に信号通知する、解決策A39に記載の方法。
【0223】
A41.前記構成することは、前記色成分表現のカラーサブサンプリングフォーマットに基づく、解決策A39に記載の方法。
【0224】
A42.前記カラーサブサンプリングフォーマットは、4:2:0または4:4:4である、解決策A41に記載の方法。
【0225】
A43.前記変換は、前記ビットストリーム表現から現在のブロックを生成する、解決策A1~A42のいずれかに記載の方法。
【0226】
A44.前記変換は、現在のブロックからビットストリーム表現を生成する、解決策A1~A41のいずれかに記載の方法。
【0227】
A45.前記変換を行うことは、1つ以上の復号化規則に基づく前記ビットストリーム表現を構文解析することを含む、解決策A1~A42のいずれかに記載の方法。
【0228】
A46.プロセッサと、命令を搭載した非一時的メモリとを含む、映像システムにおける装置であって、前記プロセッサが実行する命令は、処理装置に、解決策A1~A45のいずれかに記載の方法を実装させる装置。
【0229】
A47.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、解決策A1~A45のいずれかに記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
【0230】
いくつかの実施形態において、次の技術的解決策を実装してもよい。
【0231】
B1.映像の現在のブロックと前記映像のビットストリーム表現との間の変換のために、非隣接参照ラインモードを前記変換に使用することに起因して、広角モードが変換のために無効にされることを判定することと、前記判定に基づいて、前記変換を行うことと、を含み、非隣接参照ラインモードは、非隣接画素を、前記現在のブロックの前記変換のための映像の参照ラインから使用し、前記広角モードは、45度から-135度までの従来の角度イントラ予測方向を超えたイントラ予測方向を含む、映像処理の方法。
【0232】
B2.前記変換は、信号通知モードと前記広角モードの少なくとも1つのインデックスとの間のマッピングをスキップする、解決策B1に記載の方法。
【0233】
B3.映像の現在のブロックと前記映像のビットストリーム表現との間での変換のために、映像のカラーサブサンプリングフォーマットに基づいて、前記現在のブロックに対してMRL(Multiple Reference Line)符号化モードを有効化するか、または1つ以上の参照ラインインデックスの信号通知方式を前記MRL符号化モードに使用するかを決定することと、前記決定に基づいて、前記変換を行うことと、を含む、映像処理の方法。
【0234】
B4.カラーサブサンプリングフォーマットが4:4:4であると判定されると、MRL符号化モードが、映像の色成分表現の3つの色成分に対して有効にされる、解決策B3に記載の方法。
【0235】
B5.前記1つ以上の参照ラインインデックスの1つの参照ラインインデックスが、前記映像の1つの色成分表現の3つの成分に対して符号化される、解決策B3に記載の方法。
【0236】
B6.前記1つ以上の参照ラインインデックスの第1の参照ラインインデックスは、前記映像の色成分表現の輝度成分のために符号化され、第2の参照ラインインデックスは、前記色成分表現の他の2つの色成分のために符号化される、解決策B3に記載の方法。
【0237】
B7.前記1つ以上参照ラインインデックスは、予測符号化を使用して符号化される少なくとも2つの参照ラインインデックスを含む、解決策B3に記載の方法。
【0238】
B8.前記ビットストリーム表現は、前記1つ以上の参照ラインインデックスの各々が同一であることを示す単一のフラグを備える、解決策B3に記載の方法。
【0239】
B9.前記MRL符号化モードが有効化され、前記映像の色成分表現の異なる成分が、前記MRL符号化モードから異なる候補ラインを選択する、解決策B3に記載の方法。
【0240】
B10.前記色成分表現のCbおよびCr成分は、近傍の第1および第2のラインから前記候補ラインを選択する、解決策B9に記載の方法。
【0241】
B11.映像の現在のブロックに対してインターイントラモードおよびMRLIP(Multiple Reference line Intra Prediction)モードが有効であると判定された場合、インターイントラモードのイントラ予測処理のために、現在のブロックに非隣接ラインまたは列を選択することと、前記ラインまたは前記列に基づいて、前記現在のブロックと前記映像のビットストリーム表現との間で変換を行うこととを含む、映像処理方法。
【0242】
B12.前記ビットストリーム表現は、前記ラインまたは前記列の指示を含む、解決策B11に記載の方法。
【0243】
B13.前記インターイントラモードおよび前記MRLIPモードを有効化する指示は、SPS(Sequence Parameter Set)、VPS(Video Parameter Set)、PPS(Picture Parameter Set)、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、またはCTU(Coding Tree Unit)において信号通知される、解決策B11に記載の方法。
【0244】
B14.現在のブロックに非隣接のラインを使用するMRLIP(Multiple Reference Line Intra Prediction)モードを使用して符号化された映像の前記現在のブロックに対して、前記現在のブロックと前記映像のビットストリーム表現との間で変換を行うことを含み、前記MRLIPは、MPM(Most Probable Mode)リストをさらに使用し、前記変換を行うことは、前記MPMリストの第1のモード(M1)を前記MPMリストの第2のモード(M2)に置き換えることを含む、映像処理方法。
【0245】
B15.第1のモードが、DCモード、平面モード、広角モード、または任意の非角度モードである、解決策B14に記載の方法。
【0246】
B16.前記第2のモードを導出することは、前記MPMリストにおける残りのモードに基づく、解決策B14に記載の方法。
【0247】
B17.現在のブロックに非隣接のラインを使用するMRLIP(Multiple Reference LineIntra Prediction)モードを使用して符号化された映像の前記現在のブロックに対して、前記現在のブロックと前記映像のビットストリーム表現との間で変換を行うことを含み、前記ビットストリーム表現は、MPM(Most Probable Mode)リストにおける1つのモードの符号化インデックスの代わりに、固定候補リストにおける1つのモードの符号化インデックスを含む、映像処理の方法。
【0248】
B18.前記固定候補リストは、水平モードまたは垂直モードを含む、解決策B17に記載の方法。
【0249】
B19.前記固定候補リストは、予め規定される、解決策B17に記載の方法。
【0250】
B20.前記固定候補リストは、SPS(Sequence Parameter Set)、VPS(Video Parameter Set)、PPS(Picture Parameter Set)、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、またはCTU(Coding Paramter Set)で信号通知される、解決策B17に記載の方法。
【0251】
B21.前記固定候補リストは、前記現在のブロックの高さまたは幅に基づく、解決策B17に記載の方法。
【0252】
B22.MRL(Multiple Reference Line)符号化モードを使用して、現在の映像ブロックと前記映像のビットストリーム表現との間での変換のために、前記ビットストリーム表現が、前記現在のブロックの予測に使用される上のラインに対応する第1のインデックスと、前記予測に使用される左の列に対応する第2のインデックスとを含むことを判定し、前記判定に基づいて、前記変換を行うことを含む、映像処理方の法。
【0253】
B23.前記第1のインデックスと前記第2のインデックスの異なる値が、許可されたイントラ予測モードの異なるセットに対応する、解決策B22に記載の方法。
【0254】
B24.前記許可されたイントラ予測モードの異なるセットは、予め規定される、解決策B23に記載の方法。
【0255】
B25.前記許可されたイントラ予測モードの異なるセットは、SPS(Sequence Paramter Set)、VPS(Video Paratemeter Set)、PPS(Picture Paramter Set)、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、またはCTU(Coding Tree Unit)において信号通知される、解決策B23に記載の方法。
【0256】
B26.前記変換は、前記ビットストリーム表現から前記現在のブロックを生成する、解決策B1~B25のいずれかに記載の方法。
【0257】
B27.前記変換は、前記現在のブロックから前記ビットストリーム表現を生成する、解決策B1~B25のいずれかに記載の方法。
【0258】
B28.プロセッサと、命令を搭載した非一時的メモリとを備える映像システムにおける装置であって、前記プロセッサが実行する命令は、前記プロセッサに、解決策B1~B27のいずれかに記載の方法を実装させる装置。
【0259】
B29.非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品であって、コンピュータプログラム製品は、解決策B1~B11のいずれかに記載の方法を実行するためのプログラムコードを含む。
【0260】
本明細書に記載される様々な規則は、予め特定されたものであり、命令、コードまたはハードウェア回路の形式で実施形態に記憶させてもよい。現在の映像ブロックのビットストリーム表現は、ビットストリームのためのフォーマットによって定義されるように、連続または非連続ビットを含んでいてもよい。例えば、現在の映像ブロックに関する情報は、ビットストリーム表現のヘッダフィールドに記憶されていてもよい。
【0261】
本明細書に記載された開示されたそして他の解決案、実施例、実施形態、モジュール、および機能操作は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実装されてもよい。開示された、そして他の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の操作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1つ以上の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブル処理装置、コンピュータ、または複数の処理装置若しくはコンピュータを含め、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、処理装置ファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するように生成される。
【0262】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
【0263】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を行うための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circiut)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0264】
コンピュータプログラムの実行に適した処理装置は、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を行うためのプロセッサと、命令およびデータを記憶するための1つ以上のメモリデバイスである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュメモリデバイス、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体メモリデバイスを含む。処理装置およびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0265】
本特許明細書は多くの詳細を含むが、これらは、任意の主題または特許請求され得るものの範囲を限定するものと解釈されるべきではなく、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許明細書において別個の実施形態の文脈で説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例の文脈で説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0266】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で実行されること、または示された全ての操作が実行されることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている実施形態における様々なシステムモジュールの分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0267】
いくつかの実装形態および例のみが記載されており、本特許明細書に記載され図示されている内容に基づいて、他の実施形態、拡張および変形が可能である。
図1
図2
図3
図4A
図4B
図5
図6A
図6B
図6C
図6D
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24