(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-02
(45)【発行日】2022-12-12
(54)【発明の名称】ビデオ符号化の方法、装置及びコンピュータ・プログラム
(51)【国際特許分類】
H04N 19/12 20140101AFI20221205BHJP
H04N 19/136 20140101ALI20221205BHJP
H04N 19/159 20140101ALI20221205BHJP
H04N 19/176 20140101ALI20221205BHJP
【FI】
H04N19/12
H04N19/136
H04N19/159
H04N19/176
(21)【出願番号】P 2021537164
(86)(22)【出願日】2020-05-29
(86)【国際出願番号】 US2020035147
(87)【国際公開番号】W WO2020247255
(87)【国際公開日】2020-12-10
【審査請求日】2021-06-24
(32)【優先日】2019-06-04
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-08-27
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-05-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】リャン・ジャオ
(72)【発明者】
【氏名】シアン・リ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】岩井 健二
(56)【参考文献】
【文献】Luong Pham Van, et al.,CE10-related: Inter-intra prediction combination,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0096-v3,13th Meeting: Marrakech, MA,2019年01月,pp.1-3
【文献】Shunsuke Iwamura, Shimpei Nemoto, and Atsuro Ichigaya,CE6-related: Implicit transform selection for Multi-hypothesis inter-intra mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0482-v3,13th Meeting: Marrakech, MA,2019年01月,pp.1-3
【文献】B. Bross, et al.,Non-CE8: Unified Transform Type Signalling and Residual Coding for Transform Skip,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0464-v4,13th Meeting: Marrakech, MA,2019年01月,pp.1-13
【文献】Jani Lainema,CE6: Shape adaptive transform selection (Test 3.1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0303,13th Meeting: Marrakech, MA,2019年01月,pp.1-5
【文献】Moonmo Koo et al.,CE6: Reduced Secondary Transform (RST) (test 6.5.1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0292,13th Meeting: Marrakech, MA,2019年01月,pp.1-14
【文献】Moonmo Koo, Jaehyun Lim, Mehdi Salehifar, and Seung Hwan Kim,CE6: Reduced Secondary Transform (RST) (CE6-3.1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0193,14th Meeting: Geneva, CH,2019年03月,pp.1-19
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコーダのためのビデオ復号方法であって、前記方法が、
符号化されたビデオビットストリームから現在の画像内の現在のブロックの予測情報を復号するステップであって、前記予測情報がインター予測モードを示す、ステップと、
前記現在のブロックにフィルタ処理が適用されるか否かを決定するステップであって、前記フィルタ処理が、前記現在のブロックの隣接する再構成されたサンプルに基づいて前記現在のブロックのインター予測サンプルを調整する、ステップと、
前記フィルタ処理が前記現在のブロックに適用されると決定されたことに応答して、前記フィルタ処理に基づいて、変換ブロックの1次変換を実行するステップであって、前記変換ブロックが前記現在のブロックから分割される、ステップと
を含
み、
前記フィルタ処理は、インター予測およびイントラ予測組み合わせ(CIIP)モードに基づいて動作し、
前記1次変換は、(i)前記フィルタ処理が、第1の閾値よりも大きいW
intra
/W
inter
の比を有する前記CIIPモードで動作し、(ii)前記現在のブロックの幅が第2の閾値以下であることに応じて、前記変換ブロックに適用される水平変換のためのタイプ7離散サイン変換(DST-7)モードであり、
前記1次変換は、(i)前記フィルタ処理が、前記第1の閾値よりも大きいW
intra
/W
inter
の前記比を有する前記CIIPモードで動作し、(ii)前記現在のブロックの高さが前記第2の閾値以下であることに応じて、前記変換ブロックに適用される垂直変換のための前記DST-7モードであり、
前記第1の閾値は、数値2、2.5、3、および7のうちの1つを含み、
前記第2の閾値は、4画素、8画素、16画素、または32画素のうちの1つを含み、
W
intra
は、前記現在のブロックのイントラ予測情報に適用されるイントラ重み付け因子であり、W
inter
は、前記現在のブロックのインター予測情報に適用されるインター重み付け因子である、方法。
【請求項2】
前記1次変換は、前記現在のブロックの幅が閾値よりも大きいことに応じて前記変換ブロックに適用される水平変換のためのタイプ2離散コサイン変換(DCT-2)モードであり、
前記1次変換は、前記現在のブロックの高さが前記閾値よりも大きいことに応じて前記変換ブロックに適用される垂直変換のための前記DCT-2モードであり、
前記閾値は、4画素、8画素、16画素または32画素のうちの1つを含む、請求項1に記載の方法。
【請求項3】
前記フィルタ処理が、前記現在のブロックの境界に隣接する少なくとも1つの行または前記現在のブロックの前記境界に隣接する少なくとも1つの列が前記フィルタ処理に基づいて調整される、境界フィルタ処理である、請求項1に記載の方法。
【請求項4】
前記1次変換が、前記現在のブロックのルマコンポーネント、および前記現在のブロックのクロマ成分のDCT-2モードまたは変換スキップモードに対して暗黙的である、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年5月27日に出願された「METHOD AND APPARATUS FOR VIDEO CODING」と題された米国特許出願第16/884,971号に対する優先権の利益を主張し、2019年6月4日に出願された「IMPLICIT TRANSFORM FOR INTER PREDICTION MODES」と題された米国仮出願第62/857,141号、および2019年8月27日に出願された「HIGH-LEVEL SYNTAX ON PRIMARY TRANSFORM」と題された米国仮特許出願第62/892,238号に対する優先権の利益を主張する。先行出願の開示全体は、参照によりその全体が本明細書に組み込まれる。
【0002】
本開示は、ビデオ符号化に一般的に関連する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される背景技術の説明は、本開示の文脈を一般的に提示することを目的としている。本発明者らの研究は、この背景技術の項に記載されている限りにおいて、ならびに出願時に先行技術として認められないことがある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【0004】
ビデオ符号化および復号は、動き補償を伴う画像(picture)間予測を使用して実行することができる。非圧縮デジタルビデオは、一連の画像を含むことができ、各画像は、例えば1920×1080の輝度サンプルおよび関連する色差サンプルの空間次元を有する。一連の画像は、例えば毎秒60画像または60Hzの固定または可変画像レート(非公式にはフレームレートとしても知られる)を有することができる。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートで1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600ギガバイト(GB)を超える記憶空間を必要とする。
【0005】
ビデオ符号化および復号の目的の1つは、圧縮による入力ビデオ信号の冗長性の低減であり得る。圧縮は、前述の帯域幅または記憶空間要件を、場合によっては2桁以上減らすのに役立ち得る。可逆圧縮および非可逆圧縮の両方、ならびにそれらの組み合わせを使用することができる。可逆圧縮とは、原信号の正確な複製を圧縮された原信号から再構成することができる技術を指す。非可逆圧縮を使用する場合、再構成された信号は原信号と同一ではないことがあるが、原信号と再構成された信号との間の歪みは、再構成された信号を意図した用途に役立てるのに十分小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミング用途のユーザは、テレビ配信用途のユーザよりも高い歪みを許容することがある。達成可能な圧縮比は、より高い許容可能/容認可能な歪みがより高い圧縮比をもたらすことができることを反映することができる。
【0006】
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換、量子化、およびエントロピー符号化を含む、いくつかの広範なカテゴリからの技術を利用し得る。
【0007】
ビデオコーデック技術は、イントラ符号化として知られる技術を含むことができる。イントラ符号化では、サンプルまたは以前に再構成された参照画像からの他のデータを参照せずにサンプル値が表される。いくつかのビデオコーデックでは、画像は空間的にサンプルのブロックに細分される。サンプルのすべてのブロックがイントラモードで符号化される場合、その画像は、イントラ画像であり得る。イントラ画像および独立したデコーダリフレッシュ画像などのイントラ画像の派生は、デコーダ状態をリセットするために使用することができ、したがって、符号化されたビデオビットストリームおよびビデオセッション内の第1の画像として、または静止画像として使用することができる。イントラブロックのサンプルは、変換にさらされる可能性があり、変換係数は、エントロピー符号化の前に量子化され得る。イントラ予測は、プレ変換領域におけるサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さいほど、およびAC係数が小さいほど、エントロピー符号化後のブロックを表すために所与の量子化ステップサイズで必要とされるビットが少なくなる。
【0008】
例えばMPEG-2生成符号化技術から知られているような従来のイントラ符号化は、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、周囲のサンプルデータおよび/または空間的に隣接し、復号順序で先行するデータのブロックの符号化/復号中に取得されたメタデータから試行する技術を含む。そのような技法は、以後「イントラ予測」技術と呼ばれる。少なくともいくつかの場合において、イントラ予測は、再構成中の現在の画像からの参照データのみを使用し、参照画像からの参照データは使用しないことに留意されたい。
【0009】
イントラ予測には多くの異なる形態があり得る。そのような技法のうちの2つ以上が所与のビデオ符号化技術において使用され得るとき、使用中の技法はイントラ予測モードで符号化され得る。特定の場合には、モードはサブモードおよび/またはパラメータを有することができ、それらは個別に符号化され得るかまたはモード符号語に含まれ得る。所与のモード/サブモード/パラメータの組み合わせにどの符号語を使用するかは、イントラ予測を介する符号化効率の利得に影響を与える可能性があり、符号語をビットストリームに変換するために使用されるエントロピー符号化技術も影響を与える可能性がある。
【0010】
イントラ予測の特定のモードは、H.264で導入され、H.265で改良され、共同探査モデル(JEM)、VVC(versatile video coding)、およびベンチマークセット(BMS)などの新しい符号化技術でさらに改良された。予測子ブロックは、既に利用可能なサンプルに属する隣接するサンプル値を使用して形成することができる。隣接するサンプルのサンプル値は、方向に従って予測子ブロックに複製される。使用中の方向への参照は、ビットストリーム内で符号化され得るか、またはそれ自体が予測され得る。
【発明の概要】
【課題を解決するための手段】
【0011】
本開示の態様は、修正された暗黙的変換方法を提供する。さらに、インター位置依存予測組み合わせ(PDPC)予測モードのための暗黙的変換選択方法が提供される。
【0012】
本開示の一態様によれば、デコーダのビデオ復号方法が提供される。方法において、現在の画像内の現在のブロックの予測情報が、符号化されたビデオビットストリームから復号され、予測情報はインター予測モードを示す。現在のブロックにフィルタ処理が適用されるか否かが決定され、フィルタ処理は、現在のブロックの隣接する再構成されたサンプルに基づいて現在のブロックのインター予測サンプルを調整する。したがって、フィルタ処理が現在のブロックに適用されると決定されることに基づいて、予め定義された1次変換タイプに従って変換ブロックに対して1次変換が実行され、変換ブロックは現在のブロックから分割される。
【0013】
いくつかの実施形態では、フィルタ処理は、位置依存予測組み合わせ(PDPC)モードまたはインター予測およびイントラ予測組み合わせ(CIIP)モードに基づいて動作され得る。
【0014】
いくつかの実施形態では、予め定義された1次変換タイプは、現在のブロックの幅が閾値以下であることに応じて変換ブロックに適用される水平変換のためのタイプ7離散サイン変換(DST-7)モードであり得る。予め定義された1次変換タイプは、現在のブロックの高さが閾値以下であることに応じて変換ブロックに適用される垂直変換のためのDST-7モードであり得る。閾値は、4画素、8画素、16画素、または32画素のうちの1つを含むことができる。
【0015】
方法において、予め定義された1次変換タイプは、現在のブロックの幅が閾値よりも大きいことに応じて変換ブロックに適用される水平変換のためのタイプ2離散コサイン変換(DCT-2)モードであり得る。予め定義された1次変換タイプは、現在のブロックの高さが閾値よりも大きいことに応じて変換ブロックに適用される垂直変換のためのDCT-2モードであり得る。閾値は、4画素、8画素、16画素、または32画素のうちの1つを含むことができる。
【0016】
いくつかの実施形態では、予め定義された1次変換タイプは、変換スキップモード(TSM)、DCT-2モード、またはDST-7モードであり得る。
【0017】
いくつかの実施形態では、フィルタ処理が、現在のブロックの境界に隣接する行のうちの少なくとも1つ、または現在のブロックの境界に隣接する列のうちの少なくとも1つがフィルタ処理に基づいて調整される境界フィルタ処理であり得る。
【0018】
いくつかの実施形態では、フィルタ処理が、現在のブロックのインター予測サンプルと現在のブロックの隣接する再構成されたサンプルとの間に位置依存重み付けを適用する。
【0019】
方法において、予め定義された1次変換タイプが、現在のブロックのルマコンポーネント、および現在のブロックのクロマ成分のDCT-2モードまたは変換スキップモード(TSM)に対して暗黙的であり得る。
【0020】
方法において、予め定義された1次変換タイプは、(i)フィルタ処理がCIIPモードで動作され、Wintra/Winterの比が第1の閾値よりも大きく、(ii)現在のブロックの幅が第2の閾値以下であることに応じて変換ブロックに適用される水平変換のためのタイプ7離散サイン変換(DST-7)モードであり得る。1次変換タイプは、(i)フィルタ処理がCIIPモードで動作され、Wintra/Winterの比が第1の閾値よりも大きく、(ii)現在のブロックの高さが第2の閾値以下であることに応じて変換ブロックに適用される垂直変換のためのDST-7 モードであり得る。第1の閾値は、2、2.5、3、または7のうちの1つを含むことができる。第2の閾値は、4画素、8画素、16画素、または32画素のうちの1つを含むことができる。Wintraは、現在のブロックのイントラ予測情報に適用されるイントラ重み付け因子とすることができ、Winterは、現在のブロックのインター予測情報に適用されるインター重み付け因子であり得る。
【0021】
いくつかの実施形態では、予め定義された1次変換タイプは、(i)フィルタ処理がCIIPモードに基づいて動作され、(ii)現在のブロックの上および左の隣接ブロックの両方がイントラ符号化され、(iii)現在のブロックの幅が閾値以下であることに応じて変換ブロックに適用される水平変換のためのタイプ7離散サイン変換(DST-7)モードであり得る。予め定義された1次変換タイプは、(i)フィルタ処理がCIIPモードで動作され、(ii)現在のブロックの上および左の隣接ブロックの両方がイントラ符号化され、(ii)現在のブロックの高さが閾値以下であることに応じて変換ブロックに適用される垂直変換のためのDST-7モードであり得る。閾値は、4画素、8画素、16画素、または32画素のうちの1つを含むことができる。
【0022】
いくつかの実施形態では、予め定義された1次変換タイプは、(i)フィルタ処理がCIIPモードに基づいて動作され、(ii)現在のブロックの上および左の隣接ブロックのサブセットがイントラ符号化され、(iii)現在のブロックの幅が閾値以下であることに応じて変換ブロックに適用される水平変換のためのタイプ7離散サイン変換(DST-7)モードであり得る。予め定義された1次変換タイプは、(i)フィルタ処理がCIIPモードに基づいて動作され、(ii)現在のブロックの上および左の隣接ブロックのサブセットがイントラ符号化され、(iii)現在のブロックの高さが閾値以下であることに応じて変換ブロックに適用される垂直変換のためのDST-7モードであり得る。閾値は、4画素、8画素、16画素、または32画素のうちの1つを含むことができる。
【0023】
方法において、予測情報に基づいてコンテキストモデルのセットからコンテキストモデルを決定することができ、予測情報は、現在のブロックに適用されるPDPCモードに基づくフィルタ処理を示す。1次変換タイプ情報は、決定されたコンテキストモデルに基づいて復号することができ、1次変換タイプ情報は、予め定義された1次変換タイプが変換スキップモード(TSM)、DCT-2モード、DST-7モード、またはDCT-8モードのうちの1つを含むか否かを示す。
【0024】
本開示の別の態様によれば、デコーダのためのビデオ復号方法が提供される。方法において、符号化されたビデオビットストリームから現在のブロックの予測情報を取得することができる。予測情報が、(i)インター予測マージモードと、(ii)インター予測およびイントラ予測の組み合わせ(CIIP)モードを示すか否かを決定することができる。インター予測のマージモードとCIIPモードを示す予測情報に応じてイントラ予測モード候補リストからイントラ予測モードを決定することができる。イントラ予測モードに応じたイントラ予測情報と、インター予測マージモードに応じたインター予測情報とを決定することができる。重み付け因子は、CIIPモードまたはインター位置依存予測組み合わせ(PDPC)モードに従って符号化されている現在のブロックの隣接ブロックに応じてさらに決定することができる。したがって、重み付きイントラ予測情報と重み付きインター予測情報との和に基づいてCIIP予測情報を決定することができ、重み付きイントラ予測情報はイントラ予測情報および重み付け因子に基づいており、重み付きインター予測情報はインター予測情報および重み付け因子に基づいている。さらに、現在のブロックのサンプルは、CIIP予測情報に従って再構成することができる。
【0025】
いくつかの実施形態では、重み付きインター予測情報は、インター予測情報と、重み付け因子を減算した定数値であって、2、4、8、または16のうちの1つを含む、定数値とに基づくことができる。
【0026】
いくつかの実施形態では、重み付け因子は、CIIPモードを使用して符号化されている現在のブロックの右上/上および左下/左の両方の隣接ブロックに応じて3であり得る。いくつかの実施形態では、重み付け因子は、CIIPモードを使用して符号化されている現在のブロックの右上/上および左下/左の隣接ブロックのうちの1つに応じて2であり得る。いくつかの実施形態では、重み付け因子は、CIIPモードを使用して符号化されている現在のブロックの右上/上および左下/左の隣接ブロックに応じて1であり得る。
【0027】
いくつかの実施形態では、重み付け因子は、PDPCモードを使用して符号化されている現在のブロックの右上/上および左下/左の両方の隣接ブロックに応じて3であり得る。重み付け因子は、PDPCモードを使用して符号化されている現在のブロックの右上/上および左下/左の隣接ブロックのうちの1つに応じて2であり得る。重み付け因子は、PDPCモードを使用して符号化されている現在のブロックの右上/上および左下/左の隣接ブロックのいずれにも応じない1であり得る。
【0028】
本開示のさらに別の態様によれば、デコーダのためのビデオ復号方法が提供される。方法において、変換ブロックシグナリング情報は、符号化されたビデオビットストリームから取得することができ、変換ブロックシグナリング情報は、インター予測変換に関連付けられた第1の情報およびイントラ予測変換に関連付けられた第2の情報を含む。その後、第1の情報の第1の値および第2の情報の第2の値を決定することができる。インター予測モードで符号化された第1の変換ブロックは、暗黙的多重変換選択(MTS)モードにおいて、第1の値および第1の予め定義された変換タイプに従って変換され得る。イントラ予測モードで符号化された第2の変換ブロックは、暗黙的MTSモードにおける第2の値および第2の予め定義された変換タイプに従って変換され得る。
【0029】
いくつかの実施形態では、第1の情報の第1の値は1に等しくすることができ、第2の情報の第2の値は1に等しくすることができる。
【0030】
いくつかの実施形態では、第1の情報の第1の値は0よりも大きくすることができ、第2の情報の第2の値は1に等しくすることができる。
【0031】
いくつかの実施形態では、イントラ予測モードで符号化された第2の変換ブロックを、第2の値と、暗黙的MTSモードにおける第2の予め定義された変換タイプと、イントラサブパーティショニング(ISP)符号化された第2の変換ブロックを含む符号化ユニットとに従って変換し得る。第2の値は0よりも大きい。
【0032】
本開示の態様はまた、ビデオ復号のためにコンピュータによって実行されると、ビデオ復号のための方法のうちの任意の1つまたは組み合わせをコンピュータに実行させる命令を記憶する非一時的コンピュータ可読媒体を提供する。
【0033】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0034】
【
図1】一実施形態による通信システム(100)の簡略化された概略ブロック図である。
【
図2】一実施形態による通信システム(200)の簡略化された概略ブロック図である。
【
図3】一実施形態によるデコーダの簡略化された概略図である。
【
図4】一実施形態によるエンコーダの簡略化された概略ブロック図である。
【
図5】別の一実施形態によるエンコーダのブロック図である。
【
図6】別の一実施形態によるデコーダのブロック図である。
【
図7A】1つの例示的なサブブロック変換モードを示す。
【
図7B】1つの例示的なサブブロック変換モードを示す。
【
図7C】1つの例示的なサブブロック変換モードを示す。
【
図7D】1つの例示的なサブブロック変換モードを示す。
【
図8】イントラサブパーティション(ISP)符号化モードに基づくルマイントラ予測ブロックの第1の例示的な分割を示す。
【
図9】ISP符号化モードに基づくルマイントラ予測ブロックの第2の例示的な分割を示す。
【
図10】16×64 2次変換コアを使用するRST(reduced secondary transform)の一例を示す。
【
図11】16×48 2次変換コアを使用するRSTの一例を示す。
【
図12A】順方向縮小変換(forward reduced transform)の一例を示す。
【
図12B】逆縮小変換(inverse reduced transform)の一例を示す。
【
図14】行列ベースのイントラ予測(MIP)モードを示す。
【
図15】一実施形態による35個のイントラ予測モードを示す。
【
図16】一実施形態による95個のイントラ予測モードを示す。
【
図17A】一実施形態による位置依存予測組み合わせ(PDPC)重みの第1の例を示す。
【
図17B】一実施形態によるPDPC重みの第2の例を示す。
【
図18A】三角形パーティションベースのインター予測の第1の例を示す。
【
図18B】三角形パーティションベースのインター予測の第2の例を示す。
【
図19】本開示のいくつかの実施形態による第1のプロセス例の概要を示すフローチャートである。
【
図20】本開示のいくつかの実施形態による第2のプロセス例の概要を示すフローチャートである。
【
図21】本開示のいくつかの実施形態による第3のプロセス例の概要を示すフローチャートである。
【
図22】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0035】
図1は、本開示の一実施形態による通信システム(100)の簡略化されたブロック図を示している。通信システム(100)は、例えばネットワーク(150)を介して互いに通信可能な複数の端末デバイスを含む。例えば、通信システム(100)は、ネットワーク(150)を介して相互接続された端末デバイス(110)および(120)の第1のペアを含む。
図1の例では、端末デバイス(110)および(120)の第1のペアは、データの一方向送信を実行する。例えば、端末デバイス(110)は、ネットワーク(150)を介して他の端末デバイス(120)に送信するためにビデオデータ(例えば、端末デバイス(110)によってキャプチャされたビデオ画像ストリーム)を符号化することができる。符号化されたビデオデータは、1つまたは複数の符号化されたビデオビットストリームの形態で送信することができる。端末デバイス(120)は、ネットワーク(150)から符号化されたビデオデータを受信し、符号化されたビデオデータを復号してビデオ画像を復元し、復元されたビデオデータに従ってビデオ画像を表示することができる。一方向データ送信は、メディア供給用途などで一般的であり得る。
【0036】
別の例では、通信システム(100)は、例えばビデオ会議中に発生する可能性がある符号化されたビデオデータの双方向送信を実行する端末デバイス(130)および(140)の第2のペアを含む。データの双方向送信のために、一例では、端末デバイス(130)および(140)の各端末デバイスは、ネットワーク(150)を介して端末デバイス(130)および(140)の他方の端末デバイスに送信するためのビデオデータ(例えば、端末デバイスによってキャプチャされたビデオ画像ストリーム)を符号化し得る。端末デバイス(130)および(140)の各端末デバイスはまた、端末デバイス(130)および(140)の他方の端末デバイスによって送信された符号化されたビデオデータを受信することができ、符号化されたビデオデータを復号してビデオ画像を復元することができ、復元されたビデオデータに従ってアクセス可能なディスプレイデバイスにビデオ画像を表示することができる。
【0037】
図1の例では、端末デバイス(110)、(120)、(130)、および(140)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示されていることがあるが、本開示の原理はそのように限定されないことがある。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器を用いた用途を見出す。ネットワーク(150)は、例えば、有線および/または無線通信ネットワークを含む、端末デバイス(110)、(120)、(130)および(140)の間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(150)は、回線交換および/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本議論の目的のために、ネットワーク(150)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではないことがある。
【0038】
図2は、開示された主題の用途の例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの保存を含む、他のビデオ対応用途に等しく適用することができる。
【0039】
ストリーミングシステム(213)は、ビデオソース(201)、例えば、非圧縮であるビデオ画像のストリーム(202)を作成するデジタルカメラを含み得る。一例では、ビデオ画像ストリーム(202)は、デジタルカメラによって撮影されたサンプルを含む。符号化されたビデオデータ(204)(または符号化されたビデオビットストリーム)と比較して高いデータ量を強調するために太線として示されているビデオ画像ストリーム(202)は、ビデオソース(201)に結合されたビデオエンコーダ(203)を含む電子デバイス(220)によって処理することができる。ビデオエンコーダ(203)は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含み得、以下により詳細に説明されるように、開示された主題の態様を可能にするかまたは実施する。符号化されたビデオデータ(204)(または符号化されたビデオビットストリーム(204))は、ビデオ画像(202)ストリームと比較してより少ないデータ量を強調するために細い線として描かれ、将来の使用のためにストリーミングサーバ(205)に格納することができる。
図2のクライアントサブシステム(206)および(208)などの1つまたは複数のストリーミングクライアントサブシステムは、ストリーミングサーバ(205)にアクセスして、符号化されたビデオデータ(204)の複製(207)および(209)を取得することができる。クライアントサブシステム(206)は、例えば電子デバイス(230)内のビデオデコーダ(210)を含むことができる。ビデオデコーダ(210)は、符号化されたビデオデータの着信複製(207)を復号し、ディスプレイ(212)(例えば、ディスプレイ画面)または他のレンダリングデバイス(図示せず)上にレンダリングすることができるビデオ画像(211)の出力ストリームを作成する。いくつかのストリーミングシステムでは、符号化されたビデオデータ(204)、(207)、および(209)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮標準に従って符号化することができる。これらの標準の例には、ITU-T勧告H.265などが含まれる。一例では、開発中のビデオ符号化標準は、VVC(Versatile Video Coding)として非公式に知られている。開示された主題は、VVCの文脈で使用され得る。
【0040】
電子デバイス(220)および(230)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(220)はビデオデコーダ(図示せず)を含むことができ、電子デバイス(230)はビデオエンコーダ(図示せず)も含むことができる。
【0041】
図3は、本開示の一実施形態によるビデオデコーダ(310)の機能ブロック図を示す。ビデオデコーダ(310)は、電子デバイス(330)に含まれ得る。電子デバイス(330)は、受信器(331)(例えば、受信回路)を含むことができる。ビデオデコーダ(310)は、
図2の例のビデオデコーダ(210)の代わりに使用することができる。
【0042】
受信器(331)は、ビデオデコーダ(310)によって復号される1つまたは複数のコーデックビデオシーケンスを受信し得、同じまたは別の実施形態では、一度に1つの符号化されたビデオシーケンスであり、各符号化されたビデオシーケンスの復号は、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスは、チャネル(301)から受信し得、チャネル(301)は、符号化されたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る。受信器(331)は、それぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリームと共に符号化されたビデオデータを受信し得る。受信器(331)は、符号化されたビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、バッファメモリ(315)を、受信器(331)とエントロピーデコーダ/パーサ(320)(以下、「パーサ」(320))との間に結合し得る。特定の用途では、バッファメモリ(315)は、ビデオデコーダ(310)の一部である。他の場合には、ビデオデコーダ(310)の外部にあってもよい(図示せず)。さらに他の場合には、例えば、ネットワークジッタに対抗するためにビデオデコーダ(310)の外部にバッファメモリ(図示せず)があり、さらに、例えばプレイアウトタイミングを処理するためにビデオデコーダ(310)の内部に別のバッファメモリ(315)があり得る。受信器(331)が十分な帯域幅および制御可能性の格納/転送デバイスから、またはアイソシンクロナスネットワークからデータを受信しているとき、バッファメモリ(315)は必要ないか、または小さくてよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(315)が必要とされることがあり、比較的大きくすることができ、有利に適応サイズにし得、ビデオデコーダ(310)の外部のオペレーティングシステムまたは同様の要素(図示せず)において少なくとも部分的に実施されてもよい。
【0043】
ビデオデコーダ(310)は、符号化されたビデオシーケンスからシンボル(321)を再構成するためのパーサ(320)を含み得る。これらのシンボルのカテゴリには、ビデオデコーダ(310)の動作を管理するために使用される情報と、
図3に示されたように、潜在的に、電子デバイス(330)の不可欠な部分ではないが、電子デバイス(330)に結合できるレンダリングデバイス(312)(例えば、ディスプレイ画面)などのレンダリングデバイスを制御するための情報とが含まれることがある。レンダリングデバイス(複数可)の制御情報は、SEIメッセージ(Supplementary Enhancement Information)またはVUI(Video Usability Information)パラメータセットフラグメント(図示せず)の形式であることがある。パーサ(320)は、受信した符号化されたビデオシーケンスを解析/エントロピー復号し得る。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または標準に従うことができ、可変長符号化、ハフマン符号化、文脈依存の有無にかかわらず算術符号化などを含む様々な原則に従うことができる。パーサ(320)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダ内の画素のサブグループの少なくとも1つのサブグループパラメータのセットを抽出し得る。サブグループには、画像グループ(GOP)、画像、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含めることができる。パーサ(320)はまた、変換係数、量子化パラメータ値、動きベクトルなどの符号化されたビデオシーケンス情報から抽出し得る。
【0044】
パーサ(320)は、バッファメモリ(315)から受信したビデオシーケンスに対してエントロピー復号/解析動作を実行して、シンボル(321)を作成し得る。
【0045】
シンボル(321)の再構成は、符号化されたビデオ画像またはその一部(画像間およびイントラ画像、ブロック間およびイントラブロックなど)のタイプ、および他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように関与するかは、パーサ(320)によって符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(320)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために描かれていない。
【0046】
既に述べた機能ブロックを超えて、ビデオデコーダ(310)は、以下に説明するように、概念的にいくつかの機能ユニットに細分することができる。商業的制約の下で動作する実際の実施では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分化が適切である。
【0047】
第1のユニットはスケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)は、量子化された変換係数、ならびに使用する変換、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報を、パーサ(320)からシンボル(321)として受け取る。スケーラ/逆変換ユニット(351)は、集約器(355)に入力できるサンプル値を含むブロックを出力できる。
【0048】
場合によっては、スケーラ/逆変換(351)の出力サンプルは、イントラ符号化ブロックに関係することができ、つまり、以前に再構成された画像からの予測情報を使用していないが、現在の画像の以前に再構成された部分からの予測情報を使用できるブロックである。そのような予測情報は、イントラ画像予測ユニット(352)によって提供することができる。場合によっては、イントラ画像予測ユニット(352)は、現在の画像バッファ(358)からフェッチされた周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在の画像バッファ(358)は、例えば、部分的に再構成された現在の画像および/または完全に再構成された現在の画像をバッファに入れる。集約器(355)は、場合によっては、サンプルごとに、イントラ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供される出力サンプル情報に追加する。
【0049】
他の場合では、スケーラ/逆変換ユニット(351)の出力サンプルは、インターコードされ、潜在的に動き補償されたブロックに関係し得る。このような場合、動き補償予測ユニット(353)は、参照画像メモリ(357)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(321)に従ってフェッチされたサンプルを動き補正した後、これらのサンプルは、出力サンプル情報を生成するために、集約器(355)によってスケーラ/逆変換ユニット(351)の出力に追加できる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償予測ユニット(353)が予測サンプルをフェッチする参照画像メモリ(357)内のアドレスは、動きベクトルによって制御することができ、例えば、X、Y、および参照画像コンポーネントを有することができるシンボル(321)の形式で動き補償予測ユニット(353)に利用可能である。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照画像メモリ(357)からフェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0050】
集約器(355)の出力サンプルは、ループフィルタユニット(356)において様々なループフィルタリング技術の対象となり得る。ビデオ圧縮技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(320)からのシンボル(321)としてループフィルタユニット(356)に利用可能になるインループフィルタ技術を含むことができるが、符号化された画像または符号化されたビデオシーケンスの前の(復号順で)部分の復号中に取得されたメタ情報に応答することができ、以前に再構成およびループフィルタリングされたサンプル値に応答することもできる。
【0051】
ループフィルタユニット(356)の出力は、レンダリングデバイス(312)に出力され得るだけでなく、将来の画像間予測で使用するために参照画像メモリ(357)に格納され得るサンプルストリームであり得る。
【0052】
特定の符号化された画像は、完全に再構成されると、将来の予測のための参照画像として使用できる。例えば、現在の画像に対応する符号化された画像が完全に再構成され、(例えば、パーサ(320)によって)符号化された画像が参照画像として識別されると、現在の画像バッファ(358)は、参照画像メモリ(357)の一部になることができ、次の符号化された画像の再構成を開始する前に、新しい現在の画像バッファを再割り当てすることができる。
【0053】
ビデオデコーダ(310)は、例えばITU-T Rec. H.265などの標準における所定のビデオ圧縮技術に従って復号動作を実行し得る。符号化されたビデオシーケンスは、符号化されたビデオシーケンスがビデオ圧縮技術または標準のシンタックスと、ビデオ圧縮技術または標準に文書化されたプロファイルの両方に準拠するという意味で、使用されているビデオ圧縮技術または標準によって指定されたシンタックスに準拠することがある。具体的には、プロファイルは、ビデオ圧縮技術または標準で利用可能なすべてのツールから、そのプロファイルの下で使用可能な唯一のツールとして特定のツールを選択することができる。また、コンプライアンスのために必要なのは、符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または標準のレベルによって定義された範囲内にあることである。場合によっては、レベルによって、最大画像サイズ、最大フレームレート、最大再構成サンプルレート(例えば、1秒あたりのメガサンプル数で測定)、最大参照画像サイズなどが制限される。レベルによって設定される制限は、場合によっては、ハイポセティカルリファレンスデコーダ(HRD)仕様と、符号化されたビデオシーケンスにおいて伝えられるHRDバッファ管理のメタデータによってさらに制限されることがある。
【0054】
一実施形態では、受信器(331)は、符号化されたビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、符号化されたビデオシーケンスの一部として含まれることがある。追加のデータは、データを適切に復号するため、および/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(310)によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号雑音比(SNR)強化層、冗長スライス、冗長画像、順方向エラー訂正コードなどの形式をとることができる。
【0055】
図4は、本開示の一実施形態によるビデオエンコーダ(403)の機能ブロック図を示す。ビデオエンコーダ(403)は、電子デバイス(420)に含まれる。電子デバイス(420)は、送信器(440)(例えば、送信回路)を含む。ビデオエンコーダ(403)は、
図2の例のビデオエンコーダ(203)の代わりに使用することができる。
【0056】
ビデオエンコーダ(403)は、ビデオエンコーダ(403)によって符号化されるビデオ画像をキャプチャし得るビデオソース(401)(
図4の例では電子デバイス(420)の一部ではない)からビデオサンプルを受信することがある。別の例では、ビデオソース(401)は電子デバイス(420)の一部である。
【0057】
ビデオソース(401)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、ビデオエンコーダ(403)によって符号化されるソースビデオシーケンスを提供し得る。メディアサービングシステムでは、ビデオソース(401)は、以前に準備されたビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(401)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、順番に見たときに動きを与える複数の個別の画像として提供し得る。画像自体は、画素の空間配列として編成することができ、各画素は、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てている。
【0058】
一実施形態によれば、ビデオエンコーダ(403)は、リアルタイムで、または用途によって要求される他の任意の時間制約の下で、ソースビデオシーケンスの画像を符号化されたビデオシーケンス(443)に符号化および圧縮し得る。適切な符号化速度を強制することは、コントローラ(450)の1つの機能である。いくつかの実施形態では、コントローラ(450)は、以下に説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合されている。明確にするために、結合は描かれていない。コントローラ(450)によって設定されるパラメータには、レート制御関連のパラメータ(画像スキップ、量子化器、レート歪み最適化手法のラムダ値など)、画像サイズ、画像グループ(GOP)レイアウト、最大動きベクトル検索範囲などが含まれ得る。コントローラ(450)は、特定のシステム設計に最適化されたビデオエンコーダ(403)に関する他の適切な機能を有するように構成することができる。
【0059】
いくつかの実施形態では、ビデオエンコーダ(403)は、符号化ループで動作するように構成される。過度に簡略化された説明として、一例では、符号化ループは、ソースコーダ(430)(例えば、符号化される入力画像と、参照画像とに基づいて、シンボルストリームなどのシンボルを生成することを担当する)と、ビデオエンコーダ(403)に組み込まれた(ローカル)デコーダ(433)とを含むことができる。デコーダ(433)は、(リモート)デコーダもまた作成するのと同様の方法でサンプルデータを作成するためにシンボルを再構成する(シンボルと符号化されたビデオビットストリームとの間の圧縮は開示された主題で考慮されるビデオ圧縮技術において可逆であるため)。再構成されたサンプルストリーム(サンプルデータ)は、参照画像メモリ(434)に入力される。シンボルストリームの復号により、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクト(bit-exact)結果が得られるため、参照画像メモリ(434)内の内容もまたローカルエンコーダとリモートエンコーダとの間でビットイグザクトになる。言い換えると、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照画像サンプルとして「見る」。参照画像の同期性(および、例えばチャネルエラーのために同期性を維持できない場合に生じるドリフト)のこの基本原理は、いくつかの関連技術においても使用される。
【0060】
「ローカル」デコーダ(433)の動作は、ビデオデコーダ(310)などの「リモート」デコーダの動作と同じであり得、これは、
図3に関連して上記で詳細に説明されている。しかしながら、
図3も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(445)およびパーサ(320)による符号化されたビデオシーケンスへのシンボルの符号化/復号は可逆であり得、バッファメモリ(315)およびパーサ(320)を含むビデオデコーダ(310)のエントロピーデコーダ分は、ローカルデコーダ(433)に完全に実施されていないことがある。
【0061】
この時点で行うことができる観察は、デコーダに存在する解析/エントロピー復号以外のデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要があるということである。このため、開示された主題はデコーダ動作に焦点を合わせている。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0062】
動作中、いくつかの例では、ソースコーダ(430)は、動き補償予測符号化を実行することがあり、これは、「参照画像」として指定されたビデオシーケンスからの1つまたは複数の以前に符号化された画像を参照して入力画像を予測的に符号化する。このようにして、符号化エンジン(432)は、入力画像の画素ブロックと、入力画像への予測参照として選択され得る参照画像の画素ブロックとの間の差異を符号化する。
【0063】
ローカルビデオデコーダ(433)は、ソースコーダ(430)によって作成されたシンボルに基づいて、参照画像として指定され得る画像の符号化されたビデオデータを復号し得る。符号化エンジン(432)の動作は、有利には、非可逆プロセスであり得る。符号化されたビデオデータがビデオデコーダ(
図4には示されていない)で復号され得る場合、再構成されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(433)は、参照画像上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照画像を参照画像キャッシュ(434)に格納させ得る。このようにして、ビデオエンコーダ(403)は、遠端ビデオデコーダによって取得される再構成された参照画像として共通の内容を有する再構成された参照画像の複製をローカルに格納し得る(送信エラーがない)。
【0064】
予測子(435)は、符号化エンジン(432)の予測検索を実行し得る。すなわち、符号化される新しい画像に対して、予測子(435)は、サンプルデータ(候補参照画素ブロックとして)または新しい画像の適切な予測参照として役立ち得る参照画像動きベクトル、ブロック形状などの特定のメタデータについて、参照画像メモリ(434)を検索し得る。予測子(435)は、適切な予測参照を見つけるために、画素ブロックごとに1つのサンプルブロックで動作し得る。場合によっては、予測子(435)によって取得された検索結果によって決定されるように、入力画像は、参照画像メモリ(434)に格納された複数の参照画像から引き出された予測参照を有し得る。
【0065】
コントローラ(450)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(430)の符号化動作を管理し得る。
【0066】
前述のすべての機能ユニットの出力は、エントロピーコーダ(445)でエントロピー符号化を受けることがある。エントロピーコーダ(445)は、例えばハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成された記号を符号化されたビデオシーケンスに変換する。
【0067】
送信器(440)は、エントロピーコーダ(445)によって作成された符号化されたビデオシーケンスをバッファリングして、通信チャネル(460)を介した送信のために準備し得、通信チャネル(460)は、符号化されたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る。送信器(440)は、ビデオコーダ(403)からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
【0068】
コントローラ(450)は、ビデオエンコーダ(403)の動作を管理し得る。符号化中に、コントローラ(450)は、それぞれの符号化された画像に特定の符号化された画像タイプを割り当てることがあり、これは、それぞれの画像に適用され得る符号化技術に影響を及ぼし得る。例えば、画像は多くの場合、次の画像タイプのいずれかとして割り当てられ得る。
【0069】
イントラ画像(I画像)は、予測のソースとしてシーケンス内の他の画像を使用せずに符号化および復号され得るものであり得る。一部のビデオコーデックでは、例えばIDR(Independent Decoder Refresh Picture)など、様々なタイプのイントラ画像を使用できる。当業者は、I画像のこれらの変形およびそれらのそれぞれの用途および特徴を知っている。
【0070】
予測画像(P画像)は、各ブロックのサンプル値を予測するために最大1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。
【0071】
双方向予測画像(B画像)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。同様に、複数の予測画像は、単一ブロックの再構成のために3つ以上の参照画像および関連するメタデータを使用できる。
【0072】
ソース画像は、一般に、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)に細分され、ブロックごとに符号化され得る。ブロックは、ブロックのそれぞれの画像に適用される符号化割り当てによって決定されるように、他の(既に符号化された)ブロックを参照して予測的に符号化し得る。例えば、I画像のブロックは、非予測的に符号化され得るか、または同じ画像の既に符号化されたブロックを参照して予測的に符号化され得る(空間予測またはイントラ予測)。P画像の画素ブロックは、空間予測を介して、または以前に符号化された1つの参照画像を参照する時間予測を介して、予測的に符号化され得る。B画像のブロックは、空間予測を介して、または以前に符号化された1つまたは2つの参照画像を参照する時間予測を介して、予測的に符号化され得る。
【0073】
ビデオエンコーダ(403)は、例えばITU-T Rec. H.265などの所定のビデオ符号化技術または標準に従って符号化動作を実行し得る。その動作において、ビデオエンコーダ(403)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行し得る。したがって、符号化されたビデオデータは、使用されているビデオ符号化技術または標準によって指定されたシンタックスに準拠していることがある。
【0074】
一実施形態では、送信器(440)は、符号化されたビデオと共に追加のデータを送信し得る。ソースコーダ(430)は、符号化されたビデオシーケンスの一部としてそのようなデータを含み得る。追加データは、時間的/空間的/SNRエンハンスメント層、冗長な画像およびスライスなどの他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含み得る。
【0075】
ビデオは、複数のソース画像(ビデオ画像)として時系列にキャプチャされ得る。イントラ画像予測(しばしばイントラ予測と略される)は、所与の画像における空間相関を利用し、画像間予測は、画像間の(時間的または他の)相関を利用する。一例では、現在の画像と呼ばれる、符号化/復号中の特定の画像はブロックに分割される。現在の画像内のブロックが、ビデオ内の以前に符号化され、依然としてバッファに入っている参照画像内の参照ブロックに類似しているとき、現在の画像内のブロックは、動きベクトルと呼ばれるベクトルによって符号化することができる。動きベクトルは、参照画像内の参照ブロックを指し、複数の参照画像が使用されている場合、参照画像を識別する3次元を有することができる。
【0076】
いくつかの実施形態では、画像間予測に双予測技術を使用することができる。双予測技術によれば、第1の参照画像および第2の参照画像などの2つの参照画像が使用され、これらは両方ともビデオ内の現在の画像の復号順よりも前にある(しかし、表示順序は、それぞれ以前および将来のものであってもよい。)。現在の画像内のブロックは、第1の参照画像内の第1の参照ブロックを指す第1の動きベクトルと、第2の参照画像内の第2の参照ブロックを指す第2の動きベクトルとによって符号化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測することができる。
【0077】
さらに、符号化効率を改善するために、画像間予測にマージモード技術を使用することができる。
【0078】
本開示のいくつかの実施形態によれば、画像間予測およびイントラ画像予測などの予測は、ブロック単位で実行される。例えば、HEVC標準によれば、ビデオ画像のシーケンス内の画像は、圧縮のために符号化ツリーユニット(CTU)に分割され、画像内のCTUは、64×64ピクセル、32×32ピクセル、または16×16ピクセルなどの同じサイズを有する。一般に、CTUは、1つのルマCTBおよび2つのクロマCTBである3つの符号化ツリーブロック(CTB)を含む。各CTUは、1つまたは複数の符号化ユニット(CU)に再帰的にクワッドツリー分割することができる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、または32×32ピクセルの4つのCU、または16×16ピクセルの16個のCUに分割することができる。一例では、各CUは、インター予測タイプまたはイントラ予測タイプなどのCUの予測タイプを決定するために分析される。CUは、時間的および/または空間的な予測可能性に応じて、1つまたは複数の予測ユニット(PU)に分割される。一般に、各PUは、ルマ予測ブロック(PB)と、2つのクロマPBとを含む。一実施形態では、符号化(符号化/復号)における予測演算は、予測ブロックの単位で実行される。予測ブロックの例としてルマ予測ブロックを使用すると、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などの画素の値(例えば、ルマ値)の行列を含む。
【0079】
図5は、本開示の別の実施形態によるビデオエンコーダ(503)の図を示す。ビデオエンコーダ(503)は、ビデオ画像のシーケンス内の現在のビデオ画像内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、符号化されたビデオシーケンスの一部である符号化された画像に符号化するように構成される。一例では、ビデオエンコーダ(503)は、
図2の例のビデオエンコーダ(203)の代わりに使用される。
【0080】
HEVCの例では、ビデオエンコーダ(503)は、8×8サンプルの予測ブロックなどの処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(503)は、処理ブロックが、例えばレート歪み最適化を使用して、イントラモード、インターモード、または双予測モードを使用して最良に符号化されるか否かを決定する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(503)は、処理ブロックを符号化された画像へ符号化するために、イントラ予測技術を使用し得、処理ブロックがインターモードまたは双予測モードで符号化されるとき、ビデオエンコーダ(503)は、処理ブロックを符号化された画像に符号化するために、それぞれインター予測技術または双予測技術を使用し得る。特定のビデオ符号化技術では、マージモードは、予測子の外側の符号化された動きベクトル成分の恩恵を受けずに動きベクトルが1つまたは複数の動きベクトル予測子から導出される画像間予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオエンコーダ(503)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0081】
図5の例では、ビデオエンコーダ(503)は、
図5に示すように互いに結合されたインターエンコーダ(530)、イントラエンコーダ(522)、残差算出器(523)、スイッチ(526)、残差エンコーダ(524)、総合コントローラ(521)、およびエントロピーエンコーダ(525)を含む。
【0082】
インターエンコーダ(530)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照画像(例えば、前の画像および後の画像内のブロック)内の1つまたは複数の参照ブロックと比較し、インター予測情報(例えば、インター符号化技術、動きベクトル、マージモード情報による冗長情報の記述)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照画像は、符号化されたビデオ情報に基づいて復号される復号参照画像である。
【0083】
イントラエンコーダ(522)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じ画像内で既に符号化されているブロックと比較し、変換後に量子化係数を生成し、場合によってはイントラ予測情報(例えば、1つまたは複数のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(522)は、イントラ予測情報と、同一画像内の参照ブロックとに基づいて、イントラ予測結果(例えば、予測ブロック)を算出する。
【0084】
総合コントローラ(521)は、総合制御データを決定し、総合制御データに基づいてビデオエンコーダ(503)の他の構成要素を制御するように構成される。一例では、総合コントローラ(521)は、ブロックのモードを決定し、モードに基づいてスイッチ(526)に制御信号を提供する。例えば、総合コントローラ(521)は、モードがイントラモードである場合、スイッチ(526)を制御して、残差算出器(523)が用いるイントラモード結果を選択させ、エントロピーエンコーダ(525)を制御して、イントラ予測情報を選択してビットストリームにイントラ予測情報を含めさせ、モードがインターモードである場合、総合コントローラ(521)は、スイッチ(526)を制御して、残差算出器(523)が用いるインター予測結果を選択させると共に、エントロピーエンコーダ(525)を制御して、インター予測情報を選択してビットストリームにインター予測情報を含めさせる。
【0085】
残差算出器(523)は、受信されたブロックと、イントラエンコーダ(522)またはインターエンコーダ(530)から選択された予測結果との差分(残差データ)を算出する。残差エンコーダ(524)は、残差データに基づいて動作して、変換係数を生成するために残差データを符号化するように構成される。一例では、残差エンコーダ(524)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。変換係数はその後、量子化された変換係数を得るために量子化処理を受ける。様々な実施形態において、ビデオエンコーダ(503)はまた、残差デコーダ(528)を含む。残差デコーダ(528)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(522)およびインターエンコーダ(530)によって好適に用い得る。例えば、インターエンコーダ(530)は、復号された残差データとインター予測情報とに基づいて復号されたブロックを生成することができ、イントラエンコーダ(522)は、復号残差データとイントラ予測情報とに基づいて復号されたブロックを生成することができる。いくつかの例では、復号されたブロックは、復号された画像を生成するために適切に処理され、復号された画像は、メモリ回路(図示せず)にバッファされ、参照画像として使用され得る。
【0086】
エントロピーエンコーダ(525)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(525)は、HEVC標準などの適切な標準に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ(525)は、総合制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報をビットストリームに含めるように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックを符号化するとき、残差情報は存在しないことに留意されたい。
【0087】
図6は、本開示の別の実施形態によるビデオデコーダ(610)の図を示す。ビデオデコーダ(610)は、符号化されたビデオシーケンスの一部である符号化された画像を受信し、符号化された画像を復号して再構成された画像を生成するように構成される。一例では、ビデオデコーダ(610)は、
図2の例のビデオデコーダ(210)の代わりに使用される。
【0088】
図6の例では、ビデオデコーダ(610)は、
図6に示すように互いに結合されたエントロピーデコーダ(671)、インターデコーダ(680)、残差デコーダ(673)、再構成モジュール(674)、およびイントラデコーダ(672)を含む。
【0089】
エントロピーデコーダ(671)は、符号化された画像から、符号化された画像を構成するシンタックス要素を表す特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、後者の2つは両方向予測モード、マージサブモードまたは別のサブモード)、イントラデコーダ(672)またはインターデコーダ(680)によってそれぞれ予測に使用される特定のサンプルまたはメタデータを識別することができる予測情報(例えば、イントラ予測情報やインター予測情報など)、例えば量子化変換係数の形態の残差情報などを含むことができる。一例では、予測モードがインター予測モードまたは両方向予測モードである場合、インター予測情報はインターデコーダ(680)に提供され、予測タイプがイントラ予測タイプである場合、イントラ予測情報がイントラデコーダ(672)に提供される。残差情報は逆量子化を受けることができ、残差デコーダ(673)に提供される。
【0090】
インターデコーダ(680)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0091】
イントラデコーダ(672)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0092】
残差デコーダ(673)は、逆量子化を実行して逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(673)はまた、(量子化器パラメータ(QP)を含むために)特定の制御情報を必要とする場合があり、その情報はエントロピーデコーダ(671)によって提供される場合がある(これとして示されていないデータ経路は、低量制御情報のみであり得る)。
【0093】
再構成モジュール(674)は、空間領域において、残差デコーダ(673)による出力としての残差と、(場合によってはインターまたはイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構成画像の一部であり得る再構成ブロックを形成するように構成され、再構成ブロックは再構成ビデオの一部であり得る。視覚的品質を改善するために、非ブロック化動作などの他の適切な動作を実行することができることに留意されたい。
【0094】
ビデオエンコーダ(203)、(403)、および(503)、ならびにビデオデコーダ(210)、(310)、および(610)は、任意の適切な技術を使用して実施することができることに留意されたい。一実施形態では、ビデオエンコーダ(203)、(403)、および(503)、ならびにビデオデコーダ(210)、(310)、および(610)は、1つまたは複数の集積回路を使用して実施することができる。別の実施形態では、ビデオエンコーダ(203)、(403)、および(403)、ならびにビデオデコーダ(210)、(310)、および(610)は、ソフトウェア命令を実行する1つまたは複数のプロセッサを使用して実施することができる。
【0095】
HEVCにおけるような1次変換は、4点、8点、16点、および32点のタイプ2離散コサイン変換(DCT-2)を含むことができ、変換コア行列は、8ビット整数、すなわち8ビット変換コアを使用して表すことができる。より小さいDCT-2変換の変換コア行列は、以下に示すように、より大きいDCT-2変換の一部であり得る。
【数1】
【0096】
DCT-2コアは対称性/反対称性特性を示す。したがって、演算カウント数(例えば、乗算、加算/減算、シフト)を減らすために、いわゆる「部分バタフライ」実施がサポートされ、部分バタフライを使用して行列乗算の同じ結果を得ることができる。
【0097】
VVCなどでは、2つのサブブロック変換を提供することができる。第1のサブブロック変換はSVTまたはSBTである。例えば、JVET-J 0024、JVET-K 0139、およびJVET-L 0358では、空間的に変化する変換(SVT)方式が提案されている。SVTでは、インター予測残差の場合、符号化ブロック内に残差ブロックのみが存在し得る。残差ブロックは符号化ブロックよりも小さいので、SVTにおける変換サイズは符号化ブロックサイズよりも小さい。残差ブロックまたは変換によってカバーされない領域については、0残差が想定され得る。
【0098】
SVTは、JVET-L 0358などの、サブブロック変換(SBT)と呼ばれることもある。SBTでサポートされるサブブロックタイプ(例えば、SVT-H、SVT-V)、サイズ、および位置(例えば、左半分、左4分の1、右半分、右4分の1、上半分、上4分の1、下半分、下4分の1)の例を
図7A~
図7Dに示す。
図7A~
図7Dは、サブブロックタイプ(SVT-H、SVT-V)、およびSBTでサポートされる位置(左半分、右半分、上半分、下半分)をそれぞれ示す。文字「A」でラベル付けされた斜線領域は変換あり残差ブロックであり、他の領域は変換なしのゼロ残差であると仮定される。
【0099】
第2のサブブロック変換は、イントラサブパーティション(ISP)である。ISP符号化モードは、表1に示すように、ルマイントラ予測ブロックをブロックサイズ寸法に応じて垂直または水平に2つまたは4つのサブパーティションに分割する。
図8および
図9は、2つの可能性の例を示す。
図8は、4×8ブロックまたは8×4ブロックの例示的な分割を示す。
図9は、4×8ブロック、8×4ブロック、または4×4ブロックのうちの1つではないブロックの例示的な分割を示す。すべてのサブパーティションは、少なくとも16個のサンプルを有するという条件を満たすことができる。クロマ成分の場合、ISPは適用されない。
【0100】
【0101】
いくつかの実施形態では、これらのサブパーティションの各々について、エンコーダによって送信された係数をエントロピー復号し、次いで係数を逆量子化および逆変換することによって残差信号を生成することができる。次に、サブパーティションがイントラ予測され、最後に、残差信号を予測信号に加算することによって対応する再構成されたサンプルが取得される。したがって、各サブパーティションの再構成された値は、プロセスなどを繰り返すことができる次のものの予測を生成するために利用可能である。すべてのサブパーティションは同じイントラモードを共有することができる。
【0102】
いくつかの実施形態では、ISPアルゴリズムは、MPMリストの一部であるイントラモードでのみテストされる。このため、ブロックがISPを使用する場合、MPMフラグは1であると推測することができる。ISPが特定のブロックに使用される場合、MPMリストは、DCモードを除外し、ISP水平分割のための水平イントラモードおよび垂直分割のための垂直イントラモードを優先するように修正することができる。
【0103】
ISPでは、変換および再構成はサブパーティションごとに個別に実行されるので、各サブパーティションはサブTUと見なすことができる。
【0104】
HEVCなどの4点、8点、16点および32点のDCT-2変換の他に、追加の2点および64点のDCT-2も、VVCなどの1次変換として含めることができる。VVCで定義される64点のDCT-2コアは、64×64行列として以下に示すことができる。
{
{aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa}
{bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,-ck,-cj,-ci,-ch,-cg,-cf,-ce,-cd,-cc,-cb,-ca,-bz,-by,-bx,-bw,-bv,-bu,-bt,-bs,-br,-bq,-bp,-bo,-bn,-bm,-bl,-bk,-bj,-bi,
-bh,-bg,-bf}
{ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,-be,-bd,-bc,-bb,-ba,-az,-ay,-ax,-aw,-av,-au,-at,-as,-ar,
-aq,-ap,-ap,-aq,-ar,-as,-at,-au,-av,-aw,-ax,-ay,-az,-ba,-bb,-bc,-bd,-be,be,bd,bc,bb,ba,az,ay,ax,aw,av,au,at,as,ar,aq,ap}
{bg,bj,bm,bp,bs,bv,by,cb,ce,ch,ck,-ci,-cf,-cc,-bz,-bw,-bt,-bq,-bn,-bk,-bh,-bf,-bi,-bl,-bo,-br,-bu,-bx,-ca,-cd,
-cg,-cj,cj,cg,cd,ca,bx,bu,br,bo,bl,bi,bf,bh,bk,bn,bq,bt,bw,bz,cc,cf,ci,-ck,-ch,-ce,-cb,-by,-bv,-bs,-bp,-bm,-bj,-bg}
{ah,ai,aj,ak,al,am,an,ao,-ao,-an,-am,-al,-ak,-aj,-ai,-ah,-ah,-ai,-aj,-ak,-al,-am,-an,-ao,ao,an,am,al,ak,aj,ai,ah,ah,ai,aj,ak,al,am,an,ao,-ao,-an,-am,-al,-ak,-aj,-ai,-ah,-ah,-ai,-aj,-ak,-al,-am,-an,-ao,ao,an,am,al,ak,aj,ai,ah}
{bh,bm,br,bw,cb,cg,-ck,-cf,-ca,-bv,-bq,-bl,-bg,-bi,-bn,-bs,-bx,-cc,-ch,cj,ce,bz,bu,bp,bk,bf,bj,bo,bt,by,cd,ci,-ci,-cd,-by,-bt,-bo,-bj,-bf,-bk,-bp,-bu,-bz,-ce,-cj,ch,cc,bx,bs,bn,bi,bg,bl,bq,bv,ca,cf,ck,-cg,-cb,-bw,
-br,-bm,-bh}
{aq,at,aw,az,bc,-be,-bb,-ay,-av,-as,-ap,-ar,-au,-ax,-ba,-bd,bd,ba,ax,au,ar,ap,as,av,ay,bb,be,-bc,-az,-aw,
-at,-aq,-aq,-at,-aw,-az,-bc,be,bb,ay,av,as,ap,ar,au,ax,ba,bd,-bd,-ba,-ax,-au,-ar,-ap,-as,-av,-ay,-bb,-be,bc,az,aw,at,aq}
{bi,bp,bw,cd,ck,-ce,-bx,-bq,-bj,-bh,-bo,-bv,-cc,-cj,cf,by,br,bk,bg,bn,bu,cb,ci,-cg,-bz,-bs,-bl,-bf,-bm,-bt,-ca,-ch,ch,ca,bt,bm,bf,bl,bs,bz,cg,-ci,-cb,-bu,-bn,-bg,-bk,-br,-by,-cf,cj,cc,bv,bo,bh,bj,bq,bx,ce,-ck,-cd,-bw,-bp,-bi}
{ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad,ad,ae,af,ag,-ag,-af,-ae,-ad,-ad,-ae,-af,-ag,ag,af,ae,ad}
{bj,bs,cb,ck,-cc,-bt,-bk,-bi,-br,-ca,-cj,cd,bu,bl,bh,bq,bz,ci,-ce,-bv,-bm,-bg,-bp,-by,-ch,cf,bw,bn,bf,bo,bx,cg,-cg,-bx,-bo,-bf,-bn,-bw,-cf,ch,by,bp,bg,bm,bv,ce,-ci,-bz,-bq,-bh,-bl,-bu,-cd,cj,ca,br,bi,bk,bt,cc,-ck,-cb,-bs,-bj}
{ar,aw,bb,-bd,-ay,-at,-ap,-au,-az,-be,ba,av,aq,as,ax,bc,-bc,-ax,-as,-aq,-av,-ba,be,az,au,ap,at,ay,bd,-bb,-aw,-ar,-ar,-aw,-bb,bd,ay,at,ap,au,az,be,-ba,-av,-aq,-as,-ax,-bc,bc,ax,as,aq,av,ba,-be,-az,-au,-ap,-at,-ay,-bd,bb,aw,ar}
{bk,bv,cg,-ce,-bt,-bi,-bm,-bx,-ci,cc,br,bg,bo,bz,ck,-ca,-bp,-bf,-bq,-cb,cj,by,bn,bh,bs,cd,-ch,-bw,-bl,-bj,-bu,-cf,cf,bu,bj,bl,bw,ch,-cd,-bs,-bh,-bn,-by,-cj,cb,bq,bf,bp,ca,-ck,-bz,-bo,-bg,-br,-cc,ci,bx,bm,bi,bt,ce,-cg,-bv,-bk}
{ai,al,ao,-am,-aj,-ah,-ak,-an,an,ak,ah,aj,am,-ao,-al,-ai,-ai,-al,-ao,am,aj,ah,ak,an,-an,-ak,-ah,-aj,-am,ao,al,ai,ai,al,ao,-am,-aj,-ah,-ak,-an,an,ak,ah,aj,am,-ao,-al,-ai,-ai,-al,-ao,am,aj,ah,ak,an,-an,-ak,-ah,-aj,-am,ao,al,ai}
{bl,by,-ck,-bx,-bk,-bm,-bz,cj,bw,bj,bn,ca,-ci,-bv,-bi,-bo,-cb,ch,bu,bh,bp,cc,-cg,-bt,-bg,-bq,-cd,cf,bs,bf,br,ce,-ce,-br,-bf,-bs,-cf,cd,bq,bg,bt,cg,-cc,-bp,-bh,-bu,-ch,cb,bo,bi,bv,ci,-ca,-bn,-bj,-bw,-cj,bz,bm,bk,bx,ck,-by,-bl}
{as,az,-bd,-aw,-ap,-av,-bc,ba,at,ar,ay,-be,-ax,-aq,-au,-bb,bb,au,aq,ax,be,-ay,-ar,-at,-ba,bc,av,ap,aw,bd,-az,-as,-as,-az,bd,aw,ap,av,bc,-ba,-at,-ar,-ay,be,ax,aq,au,bb,-bb,-au,-aq,-ax,-be,ay,ar,at,ba,-bc,-av,-ap,-aw,-bd,az,as}
{bm,cb,-cf,-bq,-bi,-bx,cj,bu,bf,bt,ci,-by,-bj,-bp,-ce,cc,bn,bl,ca,-cg,-br,-bh,-bw,ck,bv,bg,bs,ch,-bz,-bk,-bo,-cd,cd,bo,bk,bz,-ch,-bs,-bg,-bv,-ck,bw,bh,br,cg,-ca,-bl,-bn,-cc,ce,bp,bj,by,-ci,-bt,-bf,-bu,-cj,bx,bi,bq,cf,-cb,-bm}
{ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab,ab,ac,-ac,-ab,-ab,-ac,ac,ab}
{bn,ce,-ca,-bj,-br,-ci,bw,bf,bv,-cj,-bs,-bi,-bz,cf,bo,bm,cd,-cb,-bk,-bq,-ch,bx,bg,bu,-ck,-bt,-bh,-by,cg,bp,bl,cc,-cc,-bl,-bp,-cg,by,bh,bt,ck,-bu,-bg,-bx,ch,bq,bk,cb,-cd,-bm,-bo,-cf,bz,bi,bs,cj,-bv,-bf,-bw,ci,br,bj,ca,-ce,-bn}
{at,bc,-ay,-ap,-ax,bd,au,as,bb,-az,-aq,-aw,be,av,ar,ba,-ba,-ar,-av,-be,aw,aq,az,-bb,-as,-au,-bd,ax,ap,ay,-bc,-at,-at,-bc,ay,ap,ax,-bd,-au,-as,-bb,az,aq,aw,-be,-av,-ar,-ba,ba,ar,av,be,-aw,-aq,-az,bb,as,au,bd,-ax,-ap,-ay,bc,at}
{bo,ch,-bv,-bh,-ca,cc,bj,bt,-cj,-bq,-bm,-cf,bx,bf,by,-ce,-bl,-br,-ck,bs,bk,cd,-bz,-bg,-bw,cg,bn,bp,ci,-bu,-bi,-cb,cb,bi,bu,-ci,-bp,-bn,-cg,bw,bg,bz,-cd,-bk,-bs,ck,br,bl,ce,-by,-bf,-bx,cf,bm,bq,cj,-bt,-bj,-cc,ca,bh,bv,-ch,-bo}
{aj,ao,-ak,-ai,-an,al,ah,am,-am,-ah,-al,an,ai,ak,-ao,-aj,-aj,-ao,ak,ai,an,-al,-ah,-am,am,ah,al,-an,-ai,-ak,ao,aj,aj,ao,-ak,-ai,-an,al,ah,am,-am,-ah,-al,an,ai,ak,-ao,-aj,-aj,-ao,ak,ai,an,-al,-ah,-am,am,ah,al,-an,-ai,-ak,ao,aj}
{bp,ck,-bq,-bo,-cj,br,bn,ci,-bs,-bm,-ch,bt,bl,cg,-bu,-bk,-cf,bv,bj,ce,-bw,-bi,-cd,bx,bh,cc,-by,-bg,-cb,bz,bf,ca,-ca,-bf,-bz,cb,bg,by,-cc,-bh,-bx,cd,bi,bw,-ce,-bj,-bv,cf,bk,bu,-cg,-bl,-bt,ch,bm,bs,-ci,-bn,-br,cj,bo,bq,-ck,-bp}
{au,-be,-at,-av,bd,as,aw,-bc,-ar,-ax,bb,aq,ay,-ba,-ap,-az,az,ap,ba,-ay,-aq,-bb,ax,ar,bc,-aw,-as,-bd,av,at,be,-au,-au,be,at,av,-bd,-as,-aw,bc,ar,ax,-bb,-aq,-ay,ba,ap,az,-az,-ap,-ba,ay,aq,bb,-ax,-ar,-bc,aw,as,bd,-av,-at,-be,au}
{bq,-ci,-bl,-bv,cd,bg,ca,-by,-bi,-cf,bt,bn,ck,-bo,-bs,cg,bj,bx,-cb,-bf,-cc,bw,bk,ch,-br,-bp,cj,bm,bu,-ce,-bh,-bz,bz,bh,ce,-bu,-bm,-cj,bp,br,-ch,-bk,-bw,cc,bf,cb,-bx,-bj,-cg,bs,bo,-ck,-bn,-bt,cf,bi,by,-ca,-bg,-cd,bv,bl,ci,-bq}
{ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae,ae,-ag,-ad,-af,af,ad,ag,-ae,-ae,ag,ad,af,-af,-ad,-ag,ae}
{br,-cf,-bg,-cc,bu,bo,-ci,-bj,-bz,bx,bl,ck,-bm,-bw,ca,bi,ch,-bp,-bt,cd,bf,ce,-bs,-bq,cg,bh,cb,-bv,-bn,cj,bk,by,-by,-bk,-cj,bn,bv,-cb,-bh,-cg,bq,bs,-ce,-bf,-cd,bt,bp,-ch,-bi,-ca,bw,bm,-ck,-bl,-bx,bz,bj,ci,-bo,-bu,cc,bg,cf,-br}
{av,-bb,-ap,-bc,au,aw,-ba,-aq,-bd,at,ax,-az,-ar,-be,as,ay,-ay,-as,be,ar,az,-ax,-at,bd,aq,ba,-aw,-au,bc,ap,bb,-av,-av,bb,ap,bc,-au,-aw,ba,aq,bd,-at,-ax,az,ar,be,-as,-ay,ay,as,-be,-ar,-az,ax,at,-bd,-aq,-ba,aw,au,-bc,-ap,-bb,av}
{bs,-cc,-bi,-cj,bl,bz,-bv,-bp,cf,bf,cg,-bo,-bw,by,bm,-ci,-bh,-cd,br,bt,-cb,-bj,-ck,bk,ca,-bu,-bq,ce,bg,ch,-bn,-bx,bx,bn,-ch,-bg,-ce,bq,bu,-ca,-bk,ck,bj,cb,-bt,-br,cd,bh,ci,-bm,-by,bw,bo,-cg,-bf,-cf,bp,bv,-bz,-bl,cj,bi,cc,-bs}
{ak,-am,-ai,ao,ah,an,-aj,-al,al,aj,-an,-ah,-ao,ai,am,-ak,-ak,am,ai,-ao,-ah,-an,aj,al,-al,-aj,an,ah,ao,-ai,-am,ak,ak,-am,-ai,ao,ah,an,-aj,-al,al,aj,-an,-ah,-ao,ai,am,-ak,-ak,am,ai,-ao,-ah,-an,aj,al,-al,-aj,an,ah,ao,-ai,-am,ak}
{bt,-bz,-bn,cf,bh,ck,-bi,-ce,bo,by,-bu,-bs,ca,bm,-cg,-bg,-cj,bj,cd,-bp,-bx,bv,br,-cb,-bl,ch,bf,ci,-bk,-cc,bq,bw,-bw,-bq,cc,bk,-ci,-bf,-ch,bl,cb,-br,-bv,bx,bp,-cd,-bj,cj,bg,cg,-bm,-ca,bs,bu,-by,-bo,ce,bi,-ck,-bh,-cf,bn,bz,-bt}
{aw,-ay,-au,ba,as,-bc,-aq,be,ap,bd,-ar,-bb,at,az,-av,-ax,ax,av,-az,-at,bb,ar,-bd,-ap,-be,aq,bc,-as,-ba,au,ay,-aw,-aw,ay,au,-ba,-as,bc,aq,-be,-ap,-bd,ar,bb,-at,-az,av,ax,-ax,-av,az,at,-bb,-ar,bd,ap,be,-aq,-bc,as,ba,-au,-ay,aw}
{bu,-bw,-bs,by,bq,-ca,-bo,cc,bm,-ce,-bk,cg,bi,-ci,-bg,ck,bf,cj,-bh,-ch,bj,cf,-bl,-cd,bn,cb,-bp,-bz,br,bx,-bt,-bv,bv,bt,-bx,-br,bz,bp,-cb,-bn,cd,bl,-cf,-bj,ch,bh,-cj,-bf,-ck,bg,ci,-bi,-cg,bk,ce,-bm,-cc,bo,ca,-bq,-by,bs,bw,-bu}
{aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa,aa,-aa,-aa,aa}
{bv,-bt,-bx,br,bz,-bp,-cb,bn,cd,-bl,-cf,bj,ch,-bh,-cj,bf,-ck,-bg,ci,bi,-cg,-bk,ce,bm,-cc,-bo,ca,bq,-by,-bs,bw,bu,-bu,-bw,bs,by,-bq,-ca,bo,cc,-bm,-ce,bk,cg,-bi,-ci,bg,ck,-bf,cj,bh,-ch,-bj,cf,bl,-cd,-bn,cb,bp,-bz,-br,bx,bt,-bv}
{ax,-av,-az,at,bb,-ar,-bd,ap,-be,-aq,bc,as,-ba,-au,ay,aw,-aw,-ay,au,ba,-as,-bc,aq,be,-ap,bd,ar,-bb,-at,az,av,-ax,-ax,av,az,-at,-bb,ar,bd,-ap,be,aq,-bc,-as,ba,au,-ay,-aw,aw,ay,-au,-ba,as,bc,-aq,-be,ap,-bd,-ar,bb,at,-az,-av,ax}
{bw,-bq,-cc,bk,ci,-bf,ch,bl,-cb,-br,bv,bx,-bp,-cd,bj,cj,-bg,cg,bm,-ca,-bs,bu,by,-bo,-ce,bi,ck,-bh,cf,bn,-bz,-bt,bt,bz,-bn,-cf,bh,-ck,-bi,ce,bo,-by,-bu,bs,ca,-bm,-cg,bg,-cj,-bj,cd,bp,-bx,-bv,br,cb,-bl,-ch,bf,-ci,-bk,cc,bq,-bw}
{al,-aj,-an,ah,-ao,-ai,am,ak,-ak,-am,ai,ao,-ah,an,aj,-al,-al,aj,an,-ah,ao,ai,-am,-ak,ak,am,-ai,-ao,ah,-an,-aj,al,al,-aj,-an,ah,-ao,-ai,am,ak,-ak,-am,ai,ao,-ah,an,aj,-al,-al,aj,an,-ah,ao,ai,-am,-ak,ak,am,-ai,-ao,ah,-an,-aj,al}
{bx,-bn,-ch,bg,-ce,-bq,bu,ca,-bk,-ck,bj,-cb,-bt,br,cd,-bh,ci,bm,-by,-bw,bo,cg,-bf,cf,bp,-bv,-bz,bl,cj,-bi,cc,bs,-bs,-cc,bi,-cj,-bl,bz,bv,-bp,-cf,bf,-cg,-bo,bw,by,-bm,-ci,bh,-cd,-br,bt,cb,-bj,ck,bk,-ca,-bu,bq,ce,-bg,ch,bn,-bx}
{ay,-as,-be,ar,-az,-ax,at,bd,-aq,ba,aw,-au,-bc,ap,-bb,-av,av,bb,-ap,bc,au,-aw,-ba,aq,-bd,-at,ax,az,-ar,be,as,-ay,-ay,as,be,-ar,az,ax,-at,-bd,aq,-ba,-aw,au,bc,-ap,bb,av,-av,-bb,ap,-bc,-au,aw,ba,-aq,bd,at,-ax,-az,ar,-be,-as,ay}
{by,-bk,cj,bn,-bv,-cb,bh,-cg,-bq,bs,ce,-bf,cd,bt,-bp,-ch,bi,-ca,-bw,bm,ck,-bl,bx,bz,-bj,ci,bo,-bu,-cc,bg,-cf,-br,br,cf,-bg,cc,bu,-bo,-ci,bj,-bz,-bx,bl,-ck,-bm,bw,ca,-bi,ch,bp,-bt,-cd,bf,-ce,-bs,bq,cg,-bh,cb,bv,-bn,-cj,bk,-by}
{af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af,af,-ad,ag,ae,-ae,-ag,ad,-af,-af,ad,-ag,-ae,ae,ag,-ad,af}
{bz,-bh,ce,bu,-bm,cj,bp,-br,-ch,bk,-bw,-cc,bf,-cb,-bx,bj,-cg,-bs,bo,ck,-bn,bt,cf,-bi,by,ca,-bg,cd,bv,-bl,ci,bq,-bq,-ci,bl,-bv,-cd,bg,-ca,-by,bi,-cf,-bt,bn,-ck,-bo,bs,cg,-bj,bx,cb,-bf,cc,bw,-bk,ch,br,-bp,-cj,bm,-bu,-ce,bh,-bz}
{az,-ap,ba,ay,-aq,bb,ax,-ar,bc,aw,-as,bd,av,-at,be,au,-au,-be,at,-av,-bd,as,-aw,-bc,ar,-ax,-bb,aq,-ay,-ba,ap,-az,-az,ap,-ba,-ay,aq,-bb,-ax,ar,-bc,-aw,as,-bd,-av,at,-be,-au,au,be,-at,av,bd,-as,aw,bc,-ar,ax,bb,-aq,ay,ba,-ap,az}
{ca,-bf,bz,cb,-bg,by,cc,-bh,bx,cd,-bi,bw,ce,-bj,bv,cf,-bk,bu,cg,-bl,bt,ch,-bm,bs,ci,-bn,br,cj,-bo,bq,ck,-bp,bp,-ck,-bq,bo,-cj,-br,bn,-ci,-bs,bm,-ch,-bt,bl,-cg,-bu,bk,-cf,-bv,bj,-ce,-bw,bi,-cd,-bx,bh,-cc,-by,bg,-cb,-bz,bf,-ca}
{am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,aj,-aj,ao,ak,-ai,an,al,-ah,am,am,-ah,al,an,-ai,ak,ao,-aj,aj,-ao,-ak,ai,-an,-al,ah,-am,-am,ah,-al,-an,ai,-ak,-ao,aj,-aj,ao,ak,-ai,an,al,-ah,am}
{cb,-bi,bu,ci,-bp,bn,-cg,-bw,bg,-bz,-cd,bk,-bs,-ck,br,-bl,ce,by,-bf,bx,cf,-bm,bq,-cj,-bt,bj,-cc,-ca,bh,-bv,-ch,bo,-bo,ch,bv,-bh,ca,cc,-bj,bt,cj,-bq,bm,-cf,-bx,bf,-by,-ce,bl,-br,ck,bs,-bk,cd,bz,-bg,bw,cg,-bn,bp,-ci,-bu,bi,-cb}
{ba,-ar,av,-be,-aw,aq,-az,-bb,as,-au,bd,ax,-ap,ay,bc,-at,at,-bc,-ay,ap,-ax,-bd,au,-as,bb,az,-aq,aw,be,-av,ar,-ba,-ba,ar,-av,be,aw,-aq,az,bb,-as,au,-bd,-ax,ap,-ay,-bc,at,-at,bc,ay,-ap,ax,bd,-au,as,-bb,-az,aq,-aw,-be,av,-ar,ba}
{cc,-bl,bp,-cg,-by,bh,-bt,ck,bu,-bg,bx,ch,-bq,bk,-cb,-cd,bm,-bo,cf,bz,-bi,bs,-cj,-bv,bf,-bw,-ci,br,-bj,ca,ce,-bn,bn,-ce,-ca,bj,-br,ci,bw,-bf,bv,cj,-bs,bi,-bz,-cf,bo,-bm,cd,cb,-bk,bq,-ch,-bx,bg,-bu,-ck,bt,-bh,by,cg,-bp,bl,-cc}
{ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac,ac,-ab,ab,-ac,-ac,ab,-ab,ac}
{cd,-bo,bk,-bz,-ch,bs,-bg,bv,-ck,-bw,bh,-br,cg,ca,-bl,bn,-cc,-ce,bp,-bj,by,ci,-bt,bf,-bu,cj,bx,-bi,bq,-cf,-cb,bm,-bm,cb,cf,-bq,bi,-bx,-cj,bu,-bf,bt,-ci,-by,bj,-bp,ce,cc,-bn,bl,-ca,-cg,br,-bh,bw,ck,-bv,bg,-bs,ch,bz,-bk,bo,-cd}
{bb,-au,aq,-ax,be,ay,-ar,at,-ba,-bc,av,-ap,aw,-bd,-az,as,-as,az,bd,-aw,ap,-av,bc,ba,-at,ar,-ay,-be,ax,-aq,au,-bb,-bb,au,-aq,ax,-be,-ay,ar,-at,ba,bc,-av,ap,-aw,bd,az,-as,as,-az,-bd,aw,-ap,av,-bc,-ba,at,-ar,ay,be,-ax,aq,-au,bb}
{ce,-br,bf,-bs,cf,cd,-bq,bg,-bt,cg,cc,-bp,bh,-bu,ch,cb,-bo,bi,-bv,ci,ca,-bn,bj,-bw,cj,bz,-bm,bk,-bx,ck,by,-bl,bl,-by,-ck,bx,-bk,bm,-bz,-cj,bw,-bj,bn,-ca,-ci,bv,-bi,bo,-cb,-ch,bu,-bh,bp,-cc,-cg,bt,-bg,bq,-cd,-cf,bs,-bf,br,-ce}
{an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,ak,-ah,aj,-am,-ao,al,-ai,ai,-al,ao,am,-aj,ah,-ak,an,an,-ak,ah,-aj,am,ao,-al,ai,-ai,al,-ao,-am,aj,-ah,ak,-an,-an,ak,-ah,aj,-am,-ao,al,-ai,ai,-al,ao,am,-aj,ah,-ak,an}
{cf,-bu,bj,-bl,bw,-ch,-cd,bs,-bh,bn,-by,cj,cb,-bq,bf,-bp,ca,ck,-bz,bo,-bg,br,-cc,-ci,bx,-bm,bi,-bt,ce,cg,-bv,bk,-bk,bv,-cg,-ce,bt,-bi,bm,-bx,ci,cc,-br,bg,-bo,bz,-ck,-ca,bp,-bf,bq,-cb,-cj,by,-bn,bh,-bs,cd,ch,-bw,bl,-bj,bu,-cf}
{bc,-ax,as,-aq,av,-ba,-be,az,-au,ap,-at,ay,-bd,-bb,aw,-ar,ar,-aw,bb,bd,-ay,at,-ap,au,-az,be,ba,-av,aq,-as,ax,-bc,-bc,ax,-as,aq,-av,ba,be,-az,au,-ap,at,-ay,bd,bb,-aw,ar,-ar,aw,-bb,-bd,ay,-at,ap,-au,az,-be,-ba,av,-aq,as,-ax,bc}
{cg,-bx,bo,-bf,bn,-bw,cf,ch,-by,bp,-bg,bm,-bv,ce,ci,-bz,bq,-bh,bl,-bu,cd,cj,-ca,br,-bi,bk,-bt,cc,ck,-cb,bs,-bj,bj,-bs,cb,-ck,-cc,bt,-bk,bi,-br,ca,-cj,-cd,bu,-bl,bh,-bq,bz,-ci,-ce,bv,-bm,bg,-bp,by,-ch,-cf,bw,-bn,bf,-bo,bx,-cg}
{ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag,ag,-af,ae,-ad,ad,-ae,af,-ag,-ag,af,-ae,ad,-ad,ae,-af,ag}
{ch,-ca,bt,-bm,bf,-bl,bs,-bz,cg,ci,-cb,bu,-bn,bg,-bk,br,-by,cf,cj,-cc,bv,-bo,bh,-bj,bq,-bx,ce,ck,-cd,bw,-bp,bi,-bi,bp,-bw,cd,-ck,-ce,bx,-bq,bj,-bh,bo,-bv,cc,-cj,-cf,by,-br,bk,-bg,bn,-bu,cb,-ci,-cg,bz,-bs,bl,-bf,bm,-bt,ca,-ch}
{bd,-ba,ax,-au,ar,-ap,as,-av,ay,-bb,be,bc,-az,aw,-at,aq,-aq,at,-aw,az,-bc,-be,bb,-ay,av,-as,ap,-ar,au,-ax,ba,-bd,-bd,ba,-ax,au,-ar,ap,-as,av,-ay,bb,-be,-bc,az,-aw,at,-aq,aq,-at,aw,-az,bc,be,-bb,ay,-av,as,-ap,ar,-au,ax,-ba,bd}
{ci,-cd,by,-bt,bo,-bj,bf,-bk,bp,-bu,bz,-ce,cj,ch,-cc,bx,-bs,bn,-bi,bg,-bl,bq,-bv,ca,-cf,ck,cg,-cb,bw,-br,bm,-bh,bh,-bm,br,-bw,cb,-cg,-ck,cf,-ca,bv,-bq,bl,-bg,bi,-bn,bs,-bx,cc,-ch,-cj,ce,-bz,bu,-bp,bk,-bf,bj,-bo,bt,-by,cd,-ci}
{ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,aj,-ak,al,-am,an,-ao,-ao,an,-am,al,-ak,aj,-ai,ah,-ah,ai,-aj,ak,-al,am,-an,ao,ao,-an,am,-al,ak,-aj,ai,-ah,ah,-ai,aj,-ak,al,-am,an,-ao,-ao,an,-am,al,-ak,aj,-ai,ah,-ah,ai,-aj,ak,-al,am,-an,ao}
{cj,-cg,cd,-ca,bx,-bu,br,-bo,bl,-bi,bf,-bh,bk,-bn,bq,-bt,bw,-bz,cc,-cf,ci,ck,-ch,ce,-cb,by,-bv,bs,-bp,bm,-bj,bg,-bg,bj,-bm,bp,-bs,bv,-by,cb,-ce,ch,-ck,-ci,cf,-cc,bz,-bw,bt,-bq,bn,-bk,bh,-bf,bi,-bl,bo,-br,bu,-bx,ca,-cd,cg,-cj}
{be,-bd,bc,-bb,ba,-az,ay,-ax,aw,-av,au,-at,as,-ar,aq,-ap,ap,-aq,ar,-as,at,-au,av,-aw,ax,-ay,az,-ba,bb,-bc,bd,-be,-be,bd,-bc,bb,-ba,az,-ay,ax,-aw,av,-au,at,-as,ar,-aq,ap,-ap,aq,-ar,as,-at,au,-av,aw,-ax,ay,-az,ba,-bb,bc,-bd,be}
{ck,-cj,ci,-ch,cg,-cf,ce,-cd,cc,-cb,ca,-bz,by,-bx,bw,-bv,bu,-bt,bs,-br,bq,-bp,bo,-bn,bm,-bl,bk,-bj,bi,-bh,bg,-bf,bf,-bg,bh,-bi,bj,-bk,bl,-bm,bn,-bo,bp,-bq,br,-bs,bt,-bu,bv,-bw,bx,-by,bz,-ca,cb,-cc,cd,-ce,cf,-cg,ch,-ci,cj,-ck}
}
式中、
{aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck}={64,83,36,89,75,50,18,90,87,80,70,57,43,25,9,90,90,88,85,82,78,73,67,61,54,46,38,31,22,13,4,91,90,90,90,88,87,86,84,83,81,79,77,73,71,69,65,62,59,56,52,48,44,41,37,33,28,24,20,15,11,7,2}
【0105】
HEVCで採用されているDCT-2および4×4 DST-7に加えて、適応複数変換(AMT、または拡張複数変換(EMT)もしくは多重変換選択(MTS)としても知られている)方式が、インター符号化ブロックおよびイントラ符号化ブロックの両方の残差符号化のためにVVCで使用されている。MTSは、HEVCにおける現在の変換以外のDCT/DSTファミリから複数の選択された変換を使用する。新たに導入された変換行列は、DST-7、DCT-8である。選択したDST/DCTの基底関数を表2に示す。
【0106】
【0107】
VVCにおけるようなすべての1次変換行列は、8ビット表現で使用され得る。AMTは、幅と高さの両方が32以下のCUに適用され、AMTの適用の有無はmts_flagと呼ばれるフラグによって制御される。mts_flagが0に等しい場合、DCT-2のみが残差の符号化に適用され得る。mts_flagが1に等しい場合、インデックスmts_idxは、表3に従って使用される水平および垂直変換を指定するために2つのビンを使用してさらにシグナリングされ、値1はDST-7を使用することを意味し、値2はDCT-8を使用することを意味する。
【0108】
【0109】
上述のシグナリングベースのMTS(すなわち、明示的MTS)が使用されない場合には、VVC Draft 4におけるような暗黙的MTSも適用され得る。暗黙的MTSでは、変換選択は、シグナリングの代わりにブロック幅および高さに従って行われる。より具体的には、例えばJVET-M 0303で提案されているような暗黙的MTSでは、ブロックの短辺に対してDST-7が選択され、ブロックの長辺に対してDCT-2が選択される。基底ベクトルで構成される行列であるDST-7の変換コアは、以下のように表すことができる。
4点DST-7:
{a,b,c,d}
{c,c,0,-c}
{d,-a,-c,b}
{b,-d,c,-a}
式中、{a,b,c,d}={29,55,74,84}である。
8点DST-7:
{a,b,c,d,e,f,g,h,}
{c,f,h,e,b,-a,-d,-g,}
{e,g,b,-c,-h,-d,a,f,}
{g,c,-d,-f,a,h,b,-e,}
{h,-a,-g,b,f,-c,-e,d,}
{f,-e,-a,g,-d,-b,h,-c,}
{d,-h,e,-a,-c,g,-f,b,}
{b,-d,f,-h,g,-e,c,-a,}
式中、{a,b,c,d,e,f,g,h}={17,32,46,60,71,78,85,86}である。
16点DST-7:
{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,}
{c,f,i,l,o,o,l,i,f,c,0,-c,-f,-i,-l,-o,}
{e,j,o,m,h,c,-b,-g,-l,-p,-k,-f,-a,d,i,n,}
{g,n,l,e,-b,-i,-p,-j,-c,d,k,o,h,a,-f,-m,}
{i,o,f,-c,-l,-l,-c,f,o,i,0,-i,-o,-f,c,l,}
{k,k,0,-k,-k,0,k,k,0,-k,-k,0,k,k,0,-k,}
{m,g,-f,-n,-a,l,h,-e,-o,-b,k,i,-d,-p,-c,j,}
{o,c,-l,-f,i,i,-f,-l,c,o,0,-o,-c,l,f,-i,}
{p,-a,-o,b,n,-c,-m,d,l,-e,-k,f,j,-g,-i,h,}
{n,-e,-i,j,d,-o,a,m,-f,-h,k,c,-p,b,l,-g,}
{l,-i,-c,o,-f,-f,o,-c,-i,l,0,-l,i,c,-o,f,}
{j,-m,c,g,-p,f,d,-n,i,a,-k,l,-b,-h,o,-e,}
{h,-p,i,-a,-g,o,-j,b,f,-n,k,-c,-e,m,-l,d,}
{f,-l,o,-i,c,c,-i,o,-l,f,0,-f,l,-o,i,-c,}
{d,-h,l,-p,m,-i,e,-a,-c,g,-k,o,-n,j,-f,b,}
{b,-d,f,-h,j,-l,n,-p,o,-m,k,-i,g,-e,c,-a,}
式中、{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}={9,17,25,33,41,49,56,62,66,72,77,81,83,87,89,90}である。
32点DST-7:
{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,}
{c,f,i,l,o,r,u,x,A,D,F,C,z,w,t,q,n,k,h,e,b,-a,-d,-g,-j,-m,-p,-s,-v,-y,-B,-E,}
{e,j,o,t,y,D,D,y,t,o,j,e,0,-e,-j,-o,-t,-y,-D,-D,-y,-t,-o,-j,-e,0,e,j,o,t,y,D,}
{g,n,u,B,D,w,p,i,b,-e,-l,-s,-z,-F,-y,-r,-k,-d,c,j,q,x,E,A,t,m,f,-a,-h,-o,-v,-C,}
{i,r,A,C,t,k,b,-g,-p,-y,-E,-v,-m,-d,e,n,w,F,x,o,f,-c,-l,-u,-D,-z,-q,-h,a,j,s,B,}
{k,v,F,u,j,-a,-l,-w,-E,-t,-i,b,m,x,D,s,h,-c,-n,-y,-C,-r,-g,d,o,z,B,q,f,-e,-p,-A,}
{m,z,z,m,0,-m,-z,-z,-m,0,m,z,z,m,0,-m,-z,-z,-m,0,m,z,z,m,0,-m,-z,-z,-m,0,m,z,}
{o,D,t,e,-j,-y,-y,-j,e,t,D,o,0,-o,-D,-t,-e,j,y,y,j,-e,-t,-D,-o,0,o,D,t,e,-j,-y,}
{q,E,n,-c,-t,-B,-k,f,w,y,h,-i,-z,-v,-e,l,C,s,b,-o,-F,-p,a,r,D,m,-d,-u,-A,-j,g,x,}
{s,A,h,-k,-D,-p,c,v,x,e,-n,-F,-m,f,y,u,b,-q,-C,-j,i,B,r,-a,-t,-z,-g,l,E,o,-d,-w,}
{u,w,b,-s,-y,-d,q,A,f,-o,-C,-h,m,E,j,-k,-F,-l,i,D,n,-g,-B,-p,e,z,r,-c,-x,-t,a,v,}
{w,s,-d,-A,-o,h,E,k,-l,-D,-g,p,z,c,-t,-v,a,x,r,-e,-B,-n,i,F,j,-m,-C,-f,q,y,b,-u,}
{y,o,-j,-D,-e,t,t,-e,-D,-j,o,y,0,-y,-o,j,D,e,-t,-t,e,D,j,-o,-y,0,y,o,-j,-D,-e,t,}
{A,k,-p,-v,e,F,f,-u,-q,j,B,a,-z,-l,o,w,-d,-E,-g,t,r,-i,-C,-b,y,m,-n,-x,c,D,h,-s,}
{C,g,-v,-n,o,u,-h,-B,a,D,f,-w,-m,p,t,-i,-A,b,E,e,-x,-l,q,s,-j,-z,c,F,d,-y,-k,r,}
{E,c,-B,-f,y,i,-v,-l,s,o,-p,-r,m,u,-j,-x,g,A,-d,-D,a,F,b,-C,-e,z,h,-w,-k,t,n,-q,}
{F,-a,-E,b,D,-c,-C,d,B,-e,-A,f,z,-g,-y,h,x,-i,-w,j,v,-k,-u,l,t,-m,-s,n,r,-o,-q,p,}
{D,-e,-y,j,t,-o,-o,t,j,-y,-e,D,0,-D,e,y,-j,-t,o,o,-t,-j,y,e,-D,0,D,-e,-y,j,t,-o,}
{B,-i,-s,r,j,-A,-a,C,-h,-t,q,k,-z,-b,D,-g,-u,p,l,-y,-c,E,-f,-v,o,m,-x,-d,F,-e,-w,n,}
{z,-m,-m,z,0,-z,m,m,-z,0,z,-m,-m,z,0,-z,m,m,-z,0,z,-m,-m,z,0,-z,m,m,-z,0,z,-m,}
{x,-q,-g,E,-j,-n,A,-c,-u,t,d,-B,m,k,-D,f,r,-w,-a,y,-p,-h,F,-i,-o,z,-b,-v,s,e,-C,l,}
{v,-u,-a,w,-t,-b,x,-s,-c,y,-r,-d,z,-q,-e,A,-p,-f,B,-o,-g,C,-n,-h,D,-m,-i,E,-l,-j,F,-k,}
{t,-y,e,o,-D,j,j,-D,o,e,-y,t,0,-t,y,-e,-o,D,-j,-j,D,-o,-e,y,-t,0,t,-y,e,o,-D,j,}
{r,-C,k,g,-y,v,-d,-n,F,-o,-c,u,-z,h,j,-B,s,-a,-q,D,-l,-f,x,-w,e,m,-E,p,b,-t,A,-i,}
{p,-F,q,-a,-o,E,-r,b,n,-D,s,-c,-m,C,-t,d,l,-B,u,-e,-k,A,-v,f,j,-z,w,-g,-i,y,-x,h,}
{n,-B,w,-i,-e,s,-F,r,-d,-j,x,-A,m,a,-o,C,-v,h,f,-t,E,-q,c,k,-y,z,-l,-b,p,-D,u,-g,}
{l,-x,C,-q,e,g,-s,E,-v,j,b,-n,z,-A,o,-c,-i,u,-F,t,-h,-d,p,-B,y,-m,a,k,-w,D,-r,f,}
{j,-t,D,-y,o,-e,-e,o,-y,D,-t,j,0,-j,t,-D,y,-o,e,e,-o,y,-D,t,-j,0,j,-t,D,-y,o,-e,}
{h,-p,x,-F,y,-q,i,-a,-g,o,-w,E,-z,r,-j,b,f,-n,v,-D,A,-s,k,-c,-e,m,-u,C,-B,t,-l,d,}
{f,-l,r,-x,D,-C,w,-q,k,-e,-a,g,-m,s,-y,E,-B,v,-p,j,-d,-b,h,-n,t,-z,F,-A,u,-o,i,-c,}
{d,-h,l,-p,t,-x,B,-F,C,-y,u,-q,m,-i,e,-a,-c,g,-k,o,-s,w,-A,E,-D,z,-v,r,-n,j,-f,b,}
{b,-d,f,-h,j,-l,n,-p,r,-t,v,-x,z,-B,D,-F,E,-C,A,-y,w,-u,s,-q,o,-m,k,-i,g,-e,c,-a,}
式中、{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F}={4,9,13,17,21,26,30,34,38,42,45,50,53,56,60,63,66,68,72,74,77,78,80,82,84,85,86,88,88,89,90,90}である。
4点DCT-8:
{a,b,c,d,}
{b,0,-b,-b,}
{c,-b,-d,a,}
{d,-b,a,-c,}
式中、{a,b,c,d}={84,74,55,29}である。
8点DCT-8:
{a,b,c,d,e,f,g,h,}
{b,e,h,-g,-d,-a,-c,-f,}
{c,h,-e,-a,-f,g,b,d,}
{d,-g,-a,-h,c,e,-f,-b,}
{e,-d,-f,c,g,-b,-h,a,}
{f,-a,g,e,-b,h,d,-c,}
{g,-c,b,-f,-h,d,-a,e,}
{h,-f,d,-b,a,-c,e,-g,}
式中、{a,b,c,d,e,f,g,h}={86,85,78,71,60,46,32,17}である。
16点DCT-8:
{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,}
{b,e,h,k,n,0,-n,-k,-h,-e,-b,-b,-e,-h,-k,-n,}
{c,h,m,-p,-k,-f,-a,-e,-j,-o,n,i,d,b,g,l,}
{d,k,-p,-i,-b,-f,-m,n,g,a,h,o,-l,-e,-c,-j,}
{e,n,-k,-b,-h,0,h,b,k,-n,-e,-e,-n,k,b,h,}
{f,0,-f,-f,0,f,f,0,-f,-f,0,f,f,0,-f,-f,}
{g,-n,-a,-m,h,f,-o,-b,-l,i,e,-p,-c,-k,j,d,}
{h,-k,-e,n,b,0,-b,-n,e,k,-h,-h,k,e,-n,-b,}
{i,-h,-j,g,k,-f,-l,e,m,-d,-n,c,o,-b,-p,a,}
{j,-e,-o,a,-n,-f,i,k,-d,-p,b,-m,-g,h,l,-c,}
{k,-b,n,h,-e,0,e,-h,-n,b,-k,-k,b,-n,-h,e,}
{l,-b,i,o,-e,f,-p,-h,c,-m,-k,a,-j,-n,d,-g,}
{m,-e,d,-l,-n,f,-c,k,o,-g,b,-j,-p,h,-a,i,}
{n,-h,b,-e,k,0,-k,e,-b,h,-n,-n,h,-b,e,-k,}
{o,-k,g,-c,b,-f,j,-n,-p,l,-h,d,-a,e,-i,m,}
{p,-n,l,-j,h,-f,d,-b,a,-c,e,-g,i,-k,m,-o,}
式中、{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}={90,89,87,83,81,77,72,66,62,56,49,41,33,25,17,9}である。
32点DCT-8:
{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,}
{b,e,h,k,n,q,t,w,z,C,F,-E,-B,-y,-v,-s,-p,-m,-j,-g,-d,-a,-c,-f,-i,-l,-o,-r,-u,-x,-A,-D,}
{c,h,m,r,w,B,0,-B,-w,-r,-m,-h,-c,-c,-h,-m,-r,-w,-B,0,B,w,r,m,h,c,c,h,m,r,w,B,}
{d,k,r,y,F,-A,-t,-m,-f,-b,-i,-p,-w,-D,C,v,o,h,a,g,n,u,B,-E,-x,-q,-j,-c,-e,-l,-s,-z,}
{e,n,w,F,-y,-p,-g,-c,-l,-u,-D,A,r,i,a,j,s,B,-C,-t,-k,-b,-h,-q,-z,E,v,m,d,f,o,x,}
{f,q,B,-A,-p,-e,-g,-r,-C,z,o,d,h,s,D,-y,-n,-c,-i,-t,-E,x,m,b,j,u,F,-w,-l,-a,-k,-v,}
{g,t,0,-t,-g,-g,-t,0,t,g,g,t,0,-t,-g,-g,-t,0,t,g,g,t,0,-t,-g,-g,-t,0,t,g,g,t,}
{h,w,-B,-m,-c,-r,0,r,c,m,B,-w,-h,-h,-w,B,m,c,r,0,-r,-c,-m,-B,w,h,h,w,-B,-m,-c,-r,}
{i,z,-w,-f,-l,-C,t,c,o,F,-q,-a,-r,E,n,d,u,-B,-k,-g,-x,y,h,j,A,-v,-e,-m,-D,s,b,p,}
{j,C,-r,-b,-u,z,g,m,F,-o,-e,-x,w,d,p,-E,-l,-h,-A,t,a,s,-B,-i,-k,-D,q,c,v,-y,-f,-n,}
{k,F,-m,-i,-D,o,g,B,-q,-e,-z,s,c,x,-u,-a,-v,w,b,t,-y,-d,-r,A,f,p,-C,-h,-n,E,j,l,}
{l,-E,-h,-p,A,d,t,-w,-a,-x,s,e,B,-o,-i,-F,k,m,-D,-g,-q,z,c,u,-v,-b,-y,r,f,C,-n,-j,}
{m,-B,-c,-w,r,h,0,-h,-r,w,c,B,-m,-m,B,c,w,-r,-h,0,h,r,-w,-c,-B,m,m,-B,-c,-w,r,h,}
{n,-y,-c,-D,i,s,-t,-h,E,d,x,-o,-m,z,b,C,-j,-r,u,g,-F,-e,-w,p,l,-A,-a,-B,k,q,-v,-f,}
{o,-v,-h,C,a,D,-g,-w,n,p,-u,-i,B,b,E,-f,-x,m,q,-t,-j,A,c,F,-e,-y,l,r,-s,-k,z,d,}
{p,-s,-m,v,j,-y,-g,B,d,-E,-a,-F,c,C,-f,-z,i,w,-l,-t,o,q,-r,-n,u,k,-x,-h,A,e,-D,-b,}
{q,-p,-r,o,s,-n,-t,m,u,-l,-v,k,w,-j,-x,i,y,-h,-z,g,A,-f,-B,e,C,-d,-D,c,E,-b,-F,a,}
{r,-m,-w,h,B,-c,0,c,-B,-h,w,m,-r,-r,m,w,-h,-B,c,0,-c,B,h,-w,-m,r,r,-m,-w,h,B,-c,}
{s,-j,-B,a,-C,-i,t,r,-k,-A,b,-D,-h,u,q,-l,-z,c,-E,-g,v,p,-m,-y,d,-F,-f,w,o,-n,-x,e,}
{t,-g,0,g,-t,-t,g,0,-g,t,t,-g,0,g,-t,-t,g,0,-g,t,t,-g,0,g,-t,-t,g,0,-g,t,t,-g,}
{u,-d,B,n,-k,-E,g,-r,-x,a,-y,-q,h,-F,-j,o,A,-c,v,t,-e,C,m,-l,-D,f,-s,-w,b,-z,-p,i,}
{v,-a,w,u,-b,x,t,-c,y,s,-d,z,r,-e,A,q,-f,B,p,-g,C,o,-h,D,n,-i,E,m,-j,F,l,-k,}
{w,-c,r,B,-h,m,0,-m,h,-B,-r,c,-w,-w,c,-r,-B,h,-m,0,m,-h,B,r,-c,w,w,-c,r,B,-h,m,}
{x,-f,m,-E,-q,b,-t,-B,j,-i,A,u,-c,p,F,-n,e,-w,-y,g,-l,D,r,-a,s,C,-k,h,-z,-v,d,-o,}
{y,-i,h,-x,-z,j,-g,w,A,-k,f,-v,-B,l,-e,u,C,-m,d,-t,-D,n,-c,s,E,-o,b,-r,-F,p,-a,q,}
{z,-l,c,-q,E,u,-g,h,-v,-D,p,-b,m,-A,-y,k,-d,r,-F,-t,f,-i,w,C,-o,a,-n,B,x,-j,e,-s,}
{A,-o,c,-j,v,F,-t,h,-e,q,-C,-y,m,-a,l,-x,-D,r,-f,g,-s,E,w,-k,b,-n,z,B,-p,d,-i,u,}
{B,-r,h,-c,m,-w,0,w,-m,c,-h,r,-B,-B,r,-h,c,-m,w,0,-w,m,-c,h,-r,B,B,-r,h,-c,m,-w,}
{C,-u,m,-e,d,-l,t,-B,-D,v,-n,f,-c,k,-s,A,E,-w,o,-g,b,-j,r,-z,-F,x,-p,h,-a,i,-q,y,}
{D,-x,r,-l,f,-a,g,-m,s,-y,E,C,-w,q,-k,e,-b,h,-n,t,-z,F,B,-v,p,-j,d,-c,i,-o,u,-A,}
{E,-A,w,-s,o,-k,g,-c,b,-f,j,-n,r,-v,z,-D,-F,B,-x,t,-p,l,-h,d,-a,e,-i,m,-q,u,-y,C,}
{F,-D,B,-z,x,-v,t,-r,p,-n,l,-j,h,-f,d,-b,a,-c,e,-g,i,-k,m,-o,q,-s,u,-w,y,-A,C,-E,}
式中、{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F}={90,90,89,88,88,86,85,84,82,80,78,77,74,72,68,66,63,60,56,53,50,45,42,38,34,30,26,21,17,13,9,4}である。
【0110】
VVCなどのいくつかの例では、符号化ブロックの高さおよび幅の両方が64以下である場合、変換サイズは常に符号化ブロックサイズと同じであり得る。符号化ブロックの高さまたは幅のいずれかが64よりも大きい場合、変換またはイントラ予測を実行するとき、符号化ブロックは複数のサブブロックにさらに分割することができ、各サブブロックの幅および高さは64以下であり、各サブブロックに対して一回の変換が実行される。
【0111】
MTSは、表4の以下のシンタックスを用いて、VVC Draft v5などのSPSにおいて有効または無効にすることができる。
【0112】
【0113】
さらに、暗黙的MTS、イントラ符号化のための明示的MTS、およびインター符号化のための明示的MTSを制御するためのシンタックス要素を表5に記載することができる。
【0114】
【0115】
場合によっては、DST-7および/またはDCT-8は、VVC Draft v5などにおいて、明示的にシグナリングされることなく使用することができる。例えば、DST-7および/またはDCT-8は、エンコーダおよびデコーダの両方に利用可能な情報に基づいて暗黙的に使用することができる。例示的な事例には、以下が含まれ、
(a)ISP:ISPモードでは、ブロック幅が4以上16以下である限り、水平変換がDST-7として選択され、ブロック高さが4以上16以下である限り、垂直変換がDST-7として選択される。
(b)SBT:SBTモードの場合、現在のCUの左半分(または4分の1)または右半分(または4分の1)に位置するサブTUの場合、水平変換はそれぞれDCT-8およびDST-7である。そうではなく、サブTUが現在のCUと同じ幅を有する場合、DCT-2が使用される。現在のCUの上半分(または4分の1)または下半分(または4分の1)に位置するサブTUの場合、垂直変換は、それぞれDCT-8およびDST-7である。そうではなく、サブTUが現在のCUと同じ高さを有する場合、DCT-2が使用される。
(c)MTS disabled in SPS:sps_mts_enabled_flagが真としてシグナリングされるが、sps_explicit_mts_intra_enabled_flagとsps_explicit_mts_inter_enabled_flagの両方が偽としてシグナリングされる場合、イントラ予測残差については、ブロック幅が4以上16以下であれば水平変換がDST-7として選択され、ブロック高さが4以上16以下であれば垂直変換がDST-7として選択される。
【0116】
VVCにおけるようなモード依存非分離可能2次変換(NSST)は、(エンコーダにおける)順方向コア変換と量子化との間、および(デコーダにおける)逆量子化と逆コア変換との間に適用され得る。複雑さを低く保つために、NSSTは、1次変換後の低周波数係数にのみ適用することができる。変換係数ブロックの幅(W)および高さ(H)の両方が8以上である場合、8×8の非分離可能2次変換を変換係数ブロックの左上の8×8の領域に適用することができる。そうではなく、変換係数ブロックのWまたはHのいずれかが4に等しい場合、4×4の非分離可能2次変換を適用することができ、変換係数ブロックの左上のmin(8,W)×min(8,高さ)領域に対して4×4の非分離可能変換を実行することができる。上記の変換選択規則は、ルマ成分およびクロマ成分の両方に適用することができる。
【0117】
非分離可能変換の行列乗算の実施は、例として4×4入力ブロックを使用することによって、式(1)において以下のように説明することができる。非分離可能変換を適用するために、4×4入力ブロックX
【数2】
はベクトル
【数3】
として表され、
【数4】
である。
【0118】
非分離可能変換は、
【数5】
として計算することができ、
【数6】
は変換係数ベクトルを示し、Tは16×16の変換行列である。16×1の係数ベクトル
【数7】
は、その後、そのブロックの走査順序(水平、垂直、または斜め)を使用して4×4のブロックとして再編成される。インデックスが小さい係数は、4×4係数ブロック内の走査インデックスが小さい係数に配置することができる。行列乗算の代わりに、JEMなどのバタフライ実装を有するハイパーキューブ-Givens変換(HyGT)を使用して、非分離可能変換の複雑さを減らすことができる。
【0119】
NSSTの1つの設計では、4×4および8×8の両方のブロックサイズのために、合計35×3の非分離可能2次変換を適用することができ、35は、セットとして示される、イントラ予測モードによって指定された変換セットの数であり、3は、各イントラ予測モードのためのNSST候補の数である。イントラ予測モードから変換セットへのマッピングは、例えば表6に定義されている。ルマ/クロマ変換係数に適用される変換セットは、表6に従って、対応するルマ/クロマイントラ予測モードによって指定することができる。34(斜め予測方向)よりも大きいイントラ予測モードの場合、変換係数ブロックは、エンコーダ/デコーダにおいて2次変換の前/後に転置され得る。
【0120】
【0121】
各変換セットについて、選択された非分離可能2次変換候補は、明示的にシグナリングされたCUレベルのNSSTインデックスによってさらに指定することができる。インデックスは、変換係数および切り捨てられた単項2値化が使用された後、各イントラCUについて1回ビットストリームでシグナリングされ得る。切り捨て値は、平面モードまたはDCモードの場合は2であり、角度イントラ予測モードの場合は3である。このNSSTインデックスは、CUに複数の非ゼロ係数がある場合にのみシグナリングされ得る。シグナリングされない場合、デフォルト値は0であり得る。このシンタックス要素の0値は、2次変換が現在のCUに適用されないことを示すことができ、値1~3は、セットからのどの2次変換が適用されるべきかを示す。
【0122】
いくつかの実施形態では、NSSTは、変換スキップモードで符号化されたブロックに適用することができない。NSSTインデックスがCUのためにシグナリングされ、0に等しくないとき、NSSTは、CUにおいて変換スキップモードで符号化される成分(例えば、クロマ成分、またはルマコンポーネント)を有するブロックのために使用されない。すべての成分を有するブロックを有するCUが変換スキップモードで符号化されるか、または非変換スキップモードCBの非ゼロ係数の数が2未満であるとき、NSSTインデックスはCUのためにシグナリングされない。
【0123】
変換ゼロアウト方式を使用するNSSTの変形形態、すなわちRST(Reduced Size Transform)は、VVCドラフト5のような低周波数非分離可能2次変換(LFNST)とも呼ばれ、JVET-N 0193で提案されている。RSTでは、イントラ予測モードが平面であるかDCであるかを、NSSTの変換インデックスをエントロピー符号化するためにチェックすることができる。4つの変換セットを適用することができ、各変換セットは3つのRST変換コアを含むことができる。3つのRST変換コアは、サイズ16×48(または16×64)(高さおよび幅の両方が8以上である変換係数ブロックに適用される)または16×16(高さまたは幅のいずれかが4である変換係数ブロックに適用される)のいずれかであり得る。表記の便宜上、16×48(または16×64)変換はRST 8×8として示され、16×16変換はRST 4×4として示される。RST 8×8の場合、16×64変換コアおよび16×48変換コアを使用する2つの選択肢が、それぞれ
図10および
図11に示されている。
図10は、16×64 2次変換コアを使用するRSTを示す。
図11は、16×48 2次変換コアを使用するRSTを示す。例えば、VVC Draft 5では、16×48の変換コアを用いた変換が採用されている。
【0124】
LFNSTカーネルの選択を示すインデックス(例えば、lfnst_idx)は、表7に示すように、CUレベルのシンタックスの最後でシグナリングされ得る。表7は、CUレベルでのシンタックスを提供する。
【0125】
【0126】
いくつかの例では、縮小変換(Reduced Transform、RT)は、N次元ベクトルを異なる空間内のR次元ベクトルにマッピングし、R/N(R<N)は縮小因子である。
RST行列は、式(2)において以下のようなR×N行列である。
【数8】
式中、変換のR個の行は、N次元空間のR個の基底である。RTの逆変換行列は、その順方向変換の転置である。
図12Aは順方向変換および変換の概略図であり、
図12Bは逆縮小変換の概略図である。
【0127】
縮小因子4(1/4サイズ)のRST 8×8を適用することができる。したがって、典型的な8×8の非分離可能変換行列サイズである64×64の代わりに、16×64の直接行列が使用される。言い換えれば、デコーダ側では、8×8の左上領域のコア(1次)変換係数を生成するために64×16の逆RST行列が使用される。順方向RST 8×8は、順方向RST 8×8が所与の8×8領域内の左上の4×4領域においてのみ非ゼロ係数を生成するように、16×64(または8×8ブロックの場合は8×64)個の行列を使用する。言い換えれば、RSTが適用される場合、左上の4×4領域を除く8×8領域は、0の係数のみを有することができる。RST 4×4の場合、16×16(または4×4ブロックの場合は8×16)の直接行列乗算を適用することができる。
【0128】
加えて、RST 8×8の場合、変換行列サイズをさらに縮小するために、2次変換を計算するための入力として左上の8×8係数全体を使用する代わりに、左上の3つの4×4係数を2次変換を計算するための入力として使用することができる。
図13A~
図13Bは、RST 8×8の異なる代替形態を示す。
図13Aは、16×64変換行列の一例を示し、左上の8×8係数全体が2次変換を計算するための入力として適用される。
図13Bは、16×46の変換行列の一例を示し、左上の3つの4×4係数が2次変換を計算するための入力として使用される。
【0129】
いくつかの実施形態では、以下の2つの条件が満たされる場合、逆RSTを条件付きで適用することができ、(a)ブロックサイズが所与の閾値以上である(W>=4&&H>=4)ことと、(b)変換スキップモードフラグが0に等しいことである。変換係数ブロックの幅(W)および高さ(H)の両方が4よりも大きい場合、変換係数ブロックの左上8×8領域にRST 8×8が適用される。そうでない場合、RST 4×4は、変換係数ブロックの左上のmin(8,W)×min(8,H)領域に適用される。
【0130】
RSTインデックスが0に等しい場合、RSTは適用されない。そうではなく、RSTインデックスが1に等しい場合、RSTが適用され、RSTインデックスに従って対応するカーネル(または変換セット)を選択することができる。
【0131】
さらに、RSTは、イントラおよびインタースライスの両方におけるイントラCU、ならびにルマおよびクロマの両方に適用することができる。二重ツリーが有効になっている場合、ルマおよびクロマのRSTインデックスは別々にシグナリングされる。インタースライス(二重ツリーが無効にされている)の場合、単一のRSTインデックスがシグナリングされ、ルマ成分とクロマ成分の両方に使用される。ISPモードが選択されると、RSTは無効にされ、RSTインデックスはシグナリングされない。
【0132】
いくつかの実施形態では、RST行列は、4つの変換セットから選択することができ、変換セットの各々は、2つの変換を含むか、または2つの変換からなる。どの変換セットが適用されるかは、以下のようにイントラ予測モードから決定することができ、(a)3つのCCLMモードのうちの1つが示される場合、変換セット0が選択されるか、または(b)そうでない場合、変換セット選択は表8に従って実行される。
【0133】
【0134】
表8にアクセスするためのインデックス(すなわち、IntraPredMode)の範囲は[-14,83]であり、広角イントラ予測に用いられる変換モードインデックスである。
【0135】
行列ベースのイントラ予測(MIP)モードは、VVCのように提供することができる。幅(W)および高さ(H)の矩形ブロックのサンプルを予測するために、MIPは、ブロックの左に位置するH再構成された隣接境界サンプルの1つのライン、およびブロックの上のW再構成された隣接境界サンプルの1つのラインを入力として取得する。再構成されたサンプルが利用できない場合、例えば従来のイントラ予測で行われるように、それらを生成することができる。
【0136】
予測信号の生成は、以下の3つのステップに基づくことができ、
(a)境界サンプルのうち、W=H=4の場合は4個のサンプル、それ以外の場合は8個のサンプルを平均して抽出する。
(b)行列ベクトル乗算とそれに続くオフセットの加算は、入力として平均化されたサンプルを使用して実行される。結果は、元のブロック内のサブサンプルされたサンプルのセット上の低減された予測信号である。
(c)残りの位置の予測信号は、各方向の1ステップの線形補間である線形補間によって、サブサンプリングされたセット上の予測信号から生成される。
【0137】
予測信号を生成するために必要な行列およびオフセットベクトルは、行列の3つのセットS
0、S
1、S
2から得られる。集合S
0は、18個の行列
【数9】
を含むか、またはこれからなる。行列の各々は、16行、4列、および18個のオフセットベクトル
【数10】
を有する。オフセットベクトル
【数11】
の各々はサイズ16を有する。セットS
0の行列およびオフセットベクトルは、サイズ4×4のブロックに使用される。集合S
1は、10個の行列
【数12】
を含むか、またはこれからなる。行列の各々は、16行、8列、および10個のオフセットベクトル
【数13】
を有する。オフセットベクトル
【数14】
の各々はサイズ16を有する。セットS
1の行列およびオフセットベクトルは、サイズ4×8、8×4、および8×8のブロックに使用される。最後に、集合S
2は、6つの行列
【数15】
を含むか、またはそれからなる。行列の各々は、64行、8列、およびサイズ64の6つのオフセットベクトル
【数16】
を有する。セットS
2の行列およびオフセットベクトル、またはこれらの行列およびオフセットベクトルの一部は、他のすべてのブロック形状に使用される。
【0138】
図14は、8×8ブロックの例示的なMIPの図である。
図14に示すように、8×8ブロックが与えられると、MIPは境界の各軸に沿って4つの平均をとる。結果として得られる8つの入力サンプルは、行列ベクトル乗算に入る。行列は、集合S
1から取得される。これにより、予測ブロックの奇数位置に16個のサンプルが得られる。したがって、サンプルあたり合計(8*16)/(8*8)=2回の乗算が実行される。オフセットを追加した後、これらのサンプルは、縮小された上部境界を使用して垂直に補間される。水平補間は、元の左境界を使用して続く。この場合、補間処理は乗算を必要としない。
【0139】
MIPモードのシグナリングに関して、イントラモードのCUごとに、MIPモードが対応するPUに適用されるか否かを示すフラグをビットストリームで送信することができる。MIPモードが適用される場合、MIPモードのインデックスpredmodeは、3つのMPMを含むMPMリストを使用してシグナリングすることができる。
【0140】
MPMの導出は、上および左のPUのイントラモードを用いて以下のように行うことができる。3つの固定マッピングテーブルmap_angular_to_mipidx,idx∈{0,1,2}があり、各テーブルは、以下の式(3)に示すように、特定のMIPモードを有する従来のイントラ予測モードpredmodeAngularと関連付けることができる。
predmodeMIP=map_angular_to_mip[predmodeAngular] (3)
式中、map_angular_to_mipは固定のルックアップテーブルである。マッピングテーブルのインデックスは、PUの幅(W)および高さ(H)に基づいて決定することができ、以下の式(4)で説明するように、合計3つのインデックスが利用可能である。
idx(PU)=idx(W,H)∈{0,1,2} (4)
式(4)は、3つのセットのうちのどのセットからMIPパラメータを取得するかを示す。
【0141】
MIPモードによって符号化された現在のブロックのMPMリストを生成するために、上のMIPモード、すなわち
【数17】
および左のMIPモード、すなわち
【数18】
が最初に導出される。
【数19】
の値は、以下のように導き出すことができる。
(a)上のPU PU
aboveが利用可能であり、現在のPUが存在するのと同じCTUに属し、PU
aboveがMIPモード
【数20】
およびidx(PU)=idx(PU
above)を使用してMIPによって符号化される場合、
【数21】
である。
(b)上のPU PU
aboveが利用可能であり、現在のPUが存在するのと同じCTUに属し、PU
aboveが従来のイントラ予測モード
【数22】
を用いて符号化される場合、
【数23】
である。
(c)そうでない場合、
【数24】
であり、これは、このモードが利用できないことを意味する。
【数25】
の値は、
【数26】
を導出するのと同じ方法で導出することができるが、左のPUが現在のPUが存在するのと同じCTUに属するか否かをチェックする必要はない。
【0142】
最後に、導出された
【数27】
ならびに3つの予め定義された固定デフォルトMPMリストlist
idx,idx∈{0,1,2}が与えられると、各MPMリストは3つの異なるMIPモードを含み、MPMリストが構築される。MPMリストは、デフォルト値で-1を置換すると共に重複するMIPモードを除去することによって、所与のデフォルトリストlist
idx(PU)ならびに
【数28】
に基づいて構築することができる。
【0143】
MIPモードをシグナリングするための例示的なフラグは、CUレベルのシンタックステーブルである表9に示されている。
【0144】
【0145】
いくつかの実施形態では、MIPモードは、以下のように従来のイントラ予測モードのMPMベースの符号化と調和させることができる。従来のイントラ予測モードのルマおよびクロマMPMリスト導出プロセスは、MIPモードpredmodeMIPを従来のイントラ予測モードのうちの1つにマップする別個の固定テーブルmap_mip_to_angularidx,idx∈{0,1,2}を使用する。
predmodeAngular=map_mip_to_angular[predmodeMIP] (8)
式中、map_mip_to_angularは固定のルックアップテーブルである。ルマMPMリスト導出の場合、隣接するルマブロックがMIPモードpredmodeMIPによって符号化されるときはいつでも、このブロックは、従来のイントラ予測モードpredmodeAngularを使用しているかのように扱うことができる。クロマMPMリスト導出の場合、現在のルマブロックがMIPモードを使用するときはいつでも、同じマッピングを使用してMIPモードを従来のイントラ予測モードに変換することができる。
【0146】
例示的なイントラ予測モードが
図15に示されている。
図15には、例えばHEVCで使用される合計35個のイントラ予測モードが示されている。35個のイントラ予測モードのうち、モード10は水平モードであり、モード26は垂直モードである。モード2,18,34は斜めモードである。35個のイントラ予測モードは、3つの最確モード(MPM)と32個の残りのモードによってシグナリングされ得る。
【0147】
図16には、例えばVVCで使用される合計95個のイントラ予測モードが示されている。モード18は水平モードであり、モード50は垂直モードである。モード2、34、66は斜めモードである。モード-1から-14およびモード67から80は、広角イントラ予測(WAIP)モードと呼ぶことができる。
【0148】
VVCなどの位置依存予測組み合わせ(PDPC)は、シグナリングなしで以下のイントラモード、すなわち、平面、DC、WAIPモード、水平、垂直、左下角度モード(モード2)、左下角度モードの8つの隣接する角度モード(モード3~10)、右上角度モード(モード66)、および右上角度モードの8つの隣接する角度モード(モード58~65)に適用することができる。現在のブロックの位置(x,y)に位置する予測サンプルpred(x,y)は、式(9)に示されるPDPC表現に従って、イントラ予測モード(例えば、DC、平面、角度)および参照サンプルの線形組み合わせを使用して予測することができる。
pred(x,y)=(wL×R-1,y+wT×Rx,-1-wTL×R-1,-1+(64-wL-wT+wTL)×pred(x,y)+32)>>6 (9)
式中、Rx,-1およびR-1,yは、それぞれ現在のサンプル(x、y)の上および左に位置する参照サンプルを表し、R-1,-1は、現在のブロックの左上隅に位置する参照サンプルを表す。
【0149】
DCモードで適用される重みは、幅および高さを有するブロックについて式(10)に従って計算することができる。
wT=32>>((y<<1)>>nScale),wL=32>>((x<<1)>>nScale),wTL=(wL>>4)+(wT>>4) (10)
式(10)において、nScale=(log 2(width)-2+log 2(height)-2+2)>>2であり、wTは、同じ水平座標を有する上の参照線に位置する参照サンプルの重み付け因子を表し、wLは、同じ垂直座標を有する左の基準線に位置する基準サンプルの重み付け因子を表し、wTLは、現在のブロックの左上の参照サンプルの重み付け因子を表す。nScaleは、重み付け因子(例えば、wL、wTLおよびwT)が軸に沿ってどれだけ速く減少するか(wLが左から右に減少するか、またはwTが上から下に減少するか)を指定することができ、重み付け因子の減少率を示す。重み付け因子減少率重み付け因子減少率nScaleは、VVCのx軸(左から右)およびy軸(上から下)に沿って同じである。さらに、32は、隣接するサンプルの初期重み付け因子を示し、初期重み付け因子はまた、現在のCBの左上サンプルに割り当てられた上(左または左上)重みである。PDPCプロセスにおける隣接するサンプルの重み付け因子は、初期重み付け因子以下である必要がある。
【0150】
いくつかの実施形態では、平面モードではwTL=0、水平モードではwTL=wT、垂直モードではwTL=wLである。PDPC重み(または重み付け因子)は、加算およびシフトを用いて計算することができる。pred(x、y)の値は、例えば式(9)を使用して単一のステップで計算することができる。
【0151】
図17Aは、4×4ブロック1700内の(0,0)に配置されたサンプル1702のDCモードにおけるPDPC重み(wL,wT,wTL)を示す。
図17Aに示すように、wL=32、wT=32、およびwTL=-4である。
図17Bは、4×4ブロック1700内の(1,0)に位置するサンプル1704のDCモードにおけるPDPC重み(wL,wT,wTL)を示す。
図17Bに示すように、wL=8、wT=32、およびwTL=-2である。PDPCがDC、平面、水平、または垂直イントラモードに適用される場合、HEVC DCモード境界フィルタまたは水平/垂直モードエッジフィルタなどの追加の境界フィルタは必要とされない。
【0152】
図17Aはまた、PDPCが右上斜めモードに適用される場合の基準サンプルR
x,-1、R
-1,y、およびR
-1,-1の定義を示すことができる。予測サンプルpred(x’,y’)は、予測ブロック(または4×4ブロック)1700内の(x’,y’’)に位置する。基準サンプルR
x,-1の座標xは、x=x’+y’+1によって与えられ、基準サンプルR
-1,yの座標yも同様に、y=x’+y’+1によって与えられる。
【0153】
以下の節では、VVC draft 2などのPDPCの例を説明し、nScaleは重み付け因子の減少率を指定するために使用され、式(14)、(15)、(19)、および(20)における「32」は初期重み付け因子を指定する。位置依存イントラ予測組み合わせプロセスへの入力は、イントラ予測モードpredModeIntra、変換ブロック幅を指定する変数nTbW、変換ブロック高さを指定する変数nTbH、基準サンプル幅を指定する変数refW、基準サンプル高さを指定する変数refH、x=0..nTbW-1、y=0..nTbH-1である予測サンプルpredSamples[x][y]、x=-1、y=-1..refH-1、およびx=0..refW-1、y=-1である隣接するサンプルp[x][y]、および現在のブロックの色成分を指定する変数cIdxを含み得る。
【0154】
位置依存イントラ予測組み合わせプロセスの出力は、x=0..nTbW-1、y=0..nTbH-1である修正予測サンプルpredSamples[x][y]を含むことができる。cIdxの値に応じて、関数clip1Cmpは以下のように設定することができる。cIdxが0に等しい場合、clip1CmpはClip1Yに等しく設定され得る。そうでなければ、clip1CmpをClip1Cと等しく設定することができる。変数nScaleは、((Log 2(nTbW)+Log 2(nTbH)-2)>>2)であり得る。
【0155】
参照サンプルアレイmainRef[x]およびsideRef[y]、x=0..refWおよびy=0..refHは、以下のように導出することができる:
mainRef[x]=p[x][-1] (11)
sideRef[y]=p[-1][y]
【0156】
変数refL[x][y]、refT[x][y]、wT[y]、wL[y]およびwTL[x][y]、x=0..nTbW-1、y=0..nTbH-1は、以下のように導出することができる。predModeIntraがINTRA_PLANAR、INTRA_DC、INTRA_ANGULAR 18、またはINTRA_ANGULAR 50に等しい場合、以下が適用される:
refL[x][y]=p[-1][y] (12)
refT[x][y]=p[x][-1] (13)
wT[y]=32>>((y<<1)>>nScale) (14)
wL[x]=32>>((x<<1)>>nScale) (15)
wTL[x][y]=(predModeIntra==INTRA_DC)?((wL[x]>>4)+(wT[y]>>4)):0 (16)
【0157】
predModeIntraがINTRA_ANGULAR 2またはINTRA_ANGULAR 66に等しい場合、以下が適用される:
refL[x][y]=p[-1][x+y+1] (17)
refT[x][y]=p[x+y+1][-1] (18)
wT[y]=(32>>1)>>((y<<1)>>nScale) (19)
wL[x]=(32>>1)>>((x<<1)>>nScale) (20)
wTL[x][y]=0 (21)
【0158】
predModeIntraがINTRA_ANGULAR 10以下である場合、以下の順序付きステップが適用される:
変数dXPos[y]、dXFrac[y]、dXInt[y]およびdX[y]は、intraPredModeに応じてinvAngleを使用して以下のように導出される:
dXPos[y]=((y+1)*invAngle+2)>>2
dXFrac[y]=dXPos[y]&63 (22)
dXInt[y]=dXPos[y]>>6
dX[y]=x+dXInt[y]
変数refL[x][y]、refT[x][y]、wT[y]、wL[y]およびwTL[x][y]は、以下のように導出される:
refL[x][y]=0 (23)
refT[x][y]=(dX[y]<refW-1)?
((64-dXFrac[y])*mainRef[dX[y]]+dXFrac[y]*mainRef[dX[y]+1]+32)>>6:0 (24)
wT[y]=(dX[y]<refW-1)?32>>((y<<1)>>nScale):0 (25)
wL[x]=0 (26)
wTL[x][y]=0 (27)
【0159】
predModeIntraがINTRA_ANGULAR58以上である場合、以下の順序付きステップが適用される:
変数dYPos[x]、dYFrac[x]、dYInt[x]およびdY[x]は、intraPredModeに応じてinvAngleを用いて以下のように導出される:
dYPos[x]=((x+1)*invAngle+2)>>2
dYFrac[x]=dYPos[x]&63 (28)
dYInt[x]=dYPos[x]>>6
dY[x]=x+dYInt[x]
変数refL[x][y]、refT[x][y]、wT[y]、wL[y]およびwTL[x][y]は、以下のように導出される:
refL[x][y]=(dY[x]<refH-1)?
((64-dYFrac[x])*sideRef[dY[x]]+dYFrac[x]*sideRef[dY[x]+1]+32)>>6:0 (29)
refT[x][y]=0 (30)
wT[y]=0 (31)
wL[x]=(dY[x]<refH-1)?32>>((x<<1)>>nScale):0 (32)
wTL[x][y]=0 (33)
【0160】
そうでなければ、refL[x][y]、refT[x][y]、wT[y]、wL[y]およびwTL[x][y]はすべて0に等しく設定される。
【0161】
フィルタリングされたサンプルfiltSamples[x][y]、ここでx=0..nTbW-1、y=0..nTbH-1である、の値は、以下のように導出することができる:
filtSamples[x][y]=clip 1Cmp((refL[x][y]*wL+refT[x][y]*wT-p[-1][-1]*wTL[x][y]+(64-wL[x]-wT[y]+wTL[x][y])*predSamples[x][y]+32)>>6)
【0162】
イントラ符号化ブロックのクロマ成分について、エンコーダは、平面(モードインデックス0)、DC(モードインデックス1)、水平(モードインデックス18)、垂直(モードインデックス50)、斜め(モードインデックス66)、および関連するルマコンポーネントのイントラ予測モードすなわちDMモードの直接複製を含む5つのモードの中から最良のクロマ予測モードを選択する。クロマに対するイントラ予測方向とイントラ予測モード番号との間のマッピングの例を表10に示す。
【0163】
【0164】
表10に示すように、クロマ成分のイントラ予測方向は、シンタックス要素intra_chroma_pred_mode[xCb][yCb]を使用して示すことができ、これは5つの値(例えば、0~5)を有することができ、各値は、クロマ成分のそれぞれのイントラ予測方向を示すことができる。シンタックス要素IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]は、クロマ成分のイントラ予測方向に応じて、クロマ成分の対応するイントラ予測モードを示すことができる。
【0165】
重複モードを回避するために、DM以外の4つのモードは、関連するルマコンポーネントのイントラ予測モードに従って割り当てることができる。クロマ成分のイントラ予測モード番号が4である場合、ルマコンポーネントのイントラ予測方向をクロマ成分のイントラ予測サンプル生成に用いることができる。クロマ成分のイントラ予測モード番号が4ではなく、ルマコンポーネントのイントラ予測モード番号と同一である場合、クロマ成分のイントラ予測サンプル生成にはイントラ予測方向66を用いることができる。
【0166】
画像間予測のマージモードは、ブロックに対して明示的にシグナリングされるのではなく、動きデータが推測されることを示す。候補動きパラメータのマージ候補リストを最初に構築することができ、次いで、マージ候補リスト内のどの候補を使用すべきかを識別するためにインデックスをシグナリングすることができる。
【0167】
マージ候補リストは、非サブCUマージ候補リストおよびサブCUマージ候補リストを含むことができる。非サブCUマージ候補は、空間的に隣接する動きベクトル、配列された時間的な動きベクトル、および履歴ベースの動きベクトルに基づいて構築することができる。サブCUマージ候補リストは、アフィンマージ候補およびATMVPマージ候補を含むことができる。サブCUマージ候補を使用して、現在のCUの複数のMVを導出することができ、現在のCU内のサンプルの異なる部分は、異なる動きベクトルを有することができる。
【0168】
画像間予測のためのスキップモードは、ブロックの動きデータが明示的にシグナリングされる代わりに推測され、予測残差が0である、すなわち変換係数が送信されないことを示す。画像間予測スライス内の各CUの先頭で、skip_flagをシグナリングすることができ、これは、(a)マージモードを使用して動きデータを導出し、(b)ビットストリームに残差データが存在しないことを意味する。
【0169】
多仮説イントラ-インター予測(組み合わされたイントラ-インター予測(CIIP)モードとも呼ばれる)は、1つのイントラ予測と1つのマージインデックス予測(またはマージモードの1つのインター予測)、すなわちイントラ-インター予測モードとを組み合わせる。CUがマージモードで符号化されるとき、CUが少なくとも64個のルマサンプル(すなわち、CU幅×CU高さは64以上である)を含む場合、組み合わされたインター/イントラ予測(CIIP)モードがCUに適用されるか否かを示すために追加のフラグがシグナリングされ得る。追加のフラグが真である場合、イントラ候補リストからイントラモードを選択するために追加のフラグがシグナリングされ得る。CUのルマコンポーネントについては、DC、平面、水平、および垂直の4つのイントラ予測モードからイントラ候補リストを導出することができ、イントラ候補リストのサイズはブロック形状に応じて3または4であり得る。CU幅がCU高さの2倍の値よりも大きい場合、イントラモードリストから水平モードが除去される。CU高さがCU幅の2倍よりも大きい場合、垂直モードはイントラモードリストから除去される。また、イントラモードインデックスにより選択された1つのイントラ予測モードと、マージインデックスにより選択された1つのマージインデックス予測とを、加重平均を用いて組み合わせることができる。CUのクロマ成分の場合、DMは、追加のシグナリングなしに常に適用することができる。
【0170】
予測を組み合わせるための重み(または重み付け因子)は、以下のように記述することができる。DCまたは平面モードが選択される場合、または4よりも小さい幅または高さを有する符号化されたブロック(CB)の場合、等しい重みが適用される。幅および高さが4以上のCBの場合、水平/垂直モードが選択されると、CBは最初に垂直/水平に4つの等しい面積領域に分割される。(w_intrai,w_interi)、ここでiが1から4であり、(w_intra1、w_inter1)=(6,2)、(w_intra2、w_inter2)=(5,3)、(w_intra3、w_inter3)=(3,5)、および(w_intra4、w_inter4)=(2,6)であるとして示される各重みセットは、対応する領域に適用することができる。(w_intra1、w_inter1)は、基準サンプルに最も近い領域に適用され、(w_intra4,w_inter4)は、基準サンプルから最も遠い領域に適用される。次いで、2つの重み付き予測(例えば、マージモードにおけるインター予測およびイントラ予測)を合計し、3ビット右シフトすることで、組み合わせ予測を算出することができる。さらに、以下の隣接するCBがイントラ符号化される場合、それらのCBのイントラモード符号化のために、予測子のイントラ仮説のためのイントラ予測モードを保存することができる。
【0171】
インターPDPCモードは、VVCなどのインター予測サンプル(またはインター符号化されたCUの再構成されたサンプル)に直接PDPCフィルタ処理を適用することができる。1つのフラグ、すなわちinterPDPCFlagは、PDPCフィルタ処理を適用するか否かを示すためにシグナリングすることができる。interPDPCFlagが真である場合、予測サンプル(またはインター符号化されたCUの再構成されたサンプル)は、PDPCプロセスにおいてさらに修正される。インターPDPCモードは、インター予測サンプルをさらに改善するために、任意のインター符号化モードと組み合わされ得る。しかしながら、いくつかの実施形態では、インターPDPCモードが特定のインター符号化モードと混在することを禁止するために制限を適用することができる。一例では、インターPDPCモードは、通常マージモードおよび/またはサブブロックマージモードにのみ適用することができる。別の例では、インターPDPCモードはマージスキップモードに適用することができない。
【0172】
VTM3におけるようなインター予測のための三角形パーティションモードは、8×8以上であり、スキップモードまたはマージモードで符号化されるCUにのみ適用することができる。これらの条件を満たすCUの場合、三角形パーティションモードが適用されるか否かを示すためにCUレベルフラグをシグナリングすることができる。三角形パーティションモードが適用されると、例えば
図18Aおよび
図18Bにそれぞれ示されている斜め分割または非斜め分割のいずれかを使用して、CUを2つの三角形のパーティションに均等に分割することができる。CU内の各三角形パーティションは、それ自体の動きを使用して相互予測することができる。また、パーティションごとに単予測のみが許容され得る。すなわち、各パーティションは、1つの動きベクトルおよび1つの参照インデックスを有することができる。単予測動き制約は、従来の双予測と同じように、各CUに2つの動き補償予測のみが必要とされることを保証するために適用することができる。各パーティションの単予測動きは、構築プロセスを使用して構築することができる単予測候補リストから導出することができる。構築処理において、単予測候補リストは、5つの単予測動きベクトル候補を含むことができる。単予測候補リストは、5つの空間的隣接ブロックおよび2つの時間的コロケートブロックを含む7つの隣接ブロックから導出することができる。
【0173】
CUレベルフラグが、現在のCUが三角形パーティションモードを使用して符号化されることを示す場合、[0,39]の範囲内のインデックス(または三角形パーティションインデックス)をさらにシグナリングすることができる。三角形パーティションインデックスを使用して、三角形パーティションの方向(例えば、斜めまたは非斜め)、および各パーティションの動きを、ルックアップテーブルを介して取得することができる。三角形パーティションの各々が予測された後、斜めまたは非斜め端部に沿ったサンプル値は、適応重みによるブレンド処理を使用して調整することができる。これにより、CU全体の予測信号を得ることができる。変換および量子化プロセスは、他の予測モードと同様にCU全体にさらに適用することができる。最後に、三角形パーティションモードを使用して予測されたCUの動きフィールドを4×4単位で格納することができる。
【0174】
本開示の実施形態は、インターPDPC予測モードのための暗黙的変換選択方法を含む。この方法は、例えばVVCのために提案されたように、インターPDPCモードおよびCIIPモードに基づくことができる。
【0175】
MTSを用いない場合(例えば、MTSを示す高レベルシンタックス(HLS)によって無効化され、現在のビットストリームセグメントの符号化に適用することはできない)やISP予測モードを適用する場合には、VVCのようにImplicit MTS方式を用いることができる。イントラ予測残差について、Implicit MTSを有効にする場合には、ブロック幅が16以下4以上であれば水平変換をDST-7とし、ブロック高さが16以下4以上であれば垂直変換をDST-7であり得る。
【0176】
インターPDPCモードは、通常マージモードまたはサブブロックマージモードなどのインター符号化されたCUの異なるモードと組み合わせることができるので、PDPCフィルタを適用した後のインター予測残差のエネルギー分布は、異なるモードに対して異なる可能性がある。したがって、インターPDPCモードと他のインターモードとの異なる組み合わせのために、異なる変換設計が考慮されるべきである。異なる変換設計の考慮は、インターPDPCモードのために対処されていない。
【0177】
本開示では、インターPDPCモードおよび/またはCIIPモードは、イントラ予測残差の同様の統計値を有する予測残差を生成することができる。したがって、DST-7は、DCT-2以外のより効率的な変換であり得る。いくつかの実施形態では、DST-4を使用して、特定の小さいブロックサイズまたはすべてのブロックサイズに対してDST-7を置き換えることができる。さらに、いくつかの実施形態では、PDPCは簡略化されたPDPCを指す。
【0178】
本開示では、PDPCフィルタを適用した後のインター予測残差に使用される変換設計は、インター予測モード、マージフラグ、ブロックサイズ、色成分などを含むがこれらに限定されない、現在のブロックおよび現在のブロックの隣接ブロックの符号化情報に依存し得る。
【0179】
1つの実施形態では、インターPDPCモードがオンである場合、サブブロック変換(SBT)は、インターPDPCモードがどのインター符号化モードに適用されるかに関わらず、常にオン/オフである。別の実施形態では、インターPDPCがサブブロックマージモードに適用される場合、SBTが許可される。一方、インターPDPCがサブブロックマージモード以外のマージモードに適用される場合、SBTは常にオフである。別の実施形態では、インターPDPCが三角マージモードに適用される場合、SBTが許可される。あるいは、インターPDPCが三角マージモードに適用される場合、SBTは許容されない。
【0180】
別の実施形態では、インターPDPCモードがオンであるとき、SBTタイプのサブセットのみが許容され得る。第1の例では、インターPDPCモードおよびSBTフラグの両方がオンであるとき、現在のCUの残差パーティション(例えば、非ゼロ係数を有することが可能にされるパーティション)は、常に、右端または最も下のパーティションである。第2の例では、インターPDPCモードおよびSBTフラグの両方がオンである場合、現在のCUの左端または最も上のパーティションは常にゼロ残差パーティションである。
【0181】
別の実施形態では、インターPDPCモードがオンであるとき、利用可能な変換タイプのサブセットのみが使用され得る。第1の例では、PDPCモードがオンである場合、タイプ8離散コサイン変換(DCT-8)は、許可された変換タイプから除外される。例えば、PDPCモードがオンである場合、タイプ2離散コサイン変換(DCT-2)およびタイプ7離散サイン変換(DST-7)のみがインター予測残差に使用され得る。第2の例では、PDPCモードがオンであるとき、DST-7は許可された変換タイプから除外される。例えば、PDPCモードがオンである場合、DCT-2およびDCT-8のみがインター予測残差に使用され得る。第3の例では、PDPCモードがオンである場合、DST-7のみを適用することができる。
【0182】
第4の例では、インターPDPCモードがオンであるとき、いくつかのブロックサイズについてはDST-7が常に水平変換および垂直変換の両方として使用され、他のブロックサイズについてはDCT-2が水平変換および垂直変換の両方として使用される。第1の実施形態では、インターPDPCモードに対して、暗黙的変換方式(またはモード)が適用される。例えば、ブロック幅が閾値T以下であれば、水平変換をDST-7とし、ブロック高さが閾値T以下であれば、垂直変換をDST-7とする。閾値Tの値例には、4画素、8画素、16画素および32画素が含まれるが、これらに限定されない。第2の実施形態では、暗黙的変換方式は、現在のCUのルマコンポーネントにのみ適用することができ、DCT-2および/またはTSMのみを現在のCUのクロマ成分に適用することができる。
【0183】
別の実施形態では、インターPDPCモードがオンである場合、TSMに加えて、2つの変換方式を予測残差に適用することができ、選択がシグナリングされる。一例では、2つの変換方式は、(1)水平変換と垂直変換の両方としてのDCT-2、および(2)水平変換と垂直変換の両方としてのDST-7を含むことができる。
【0184】
さらに別の1つの実施形態では、インターPDPCモードがオンである場合、インターPDPCモードがどのインター符号化モードに適用されるかに関わらず、MTSは常にオン/オフである。
【0185】
変換シグナリング(例えば、DCT 2、TSM、DST 7、DCT 8のいずれが適用されるかを示すフラグ/インデックス)のためのインデックスをエントロピー符号化するために適用されるコンテキストの選択は、CIIPが現在のブロックに適用されるか否か、および/またはインターPDPCモードが現在のブロックに適用されるか否かに依存し得る。
【0186】
インターPDPCモードのフラグは、コンテキスト符号化されることができ、使用されるコンテキストは、限定されるものではないが、イントラ-インターフラグ、イントラモードフラグ、インターモードフラグ、スキップフラグ、マージフラグ、インターPDPCフラグなどを含む、現在のブロックおよび現在のブロックの隣接ブロックの符号化情報に依存することができる。1つの実施形態では、1つのコンテキストのみが、インターPDPCモードのエントロピー符号化に使用される。別の実施形態では、M個のコンテキストがインターPDPCモードのエントロピー符号化に使用される。Mは、2または3などの1よりも大きい任意の正の整数であり得る。第1の例では、近隣モードのうちの1つがイントラ符号化、イントラ-インター符号化、またはインターPDPC符号化される場合、第1のコンテキストが使用される。そうでなければ、第2のコンテキストが使用される。第2の例では、両方の近隣モードがイントラ符号化、イントラ-インターラ符号化、またはインターPDPC符号化される場合、第1のコンテキストが使用される。そうではなく、近隣モードのうちの1つのみがイントラ符号化、イントラ-インター符号化、またはインターPDPC符号化される場合、第2のコンテキストが使用される。そうでなければ、近隣モードのいずれも、第3のコンテキストが使用されるイントラ符号化、イントラ-インター符号化、またはインターPDPC符号化されない。
【0187】
いくつかの実施形態では、インターPDPCモードは、イントラブロック複製(IBC)モードと共に使用され得ない。
【0188】
本開示では、インターPDPCモード(例えば、wL、wTおよび/またはwTL)で適用される重み付けは、隣接ブロックがイントラ-インターモード、イントラ予測モード、インター予測モード、スキップモード、マージモード、またはインターPDPCモードによって符号化されるか否かを含む、符号化された情報に依存し得る。
【0189】
暗黙的変換方式は、CIIPの予測残差に使用することができる。一実施形態では、CIIPの予測残差の場合、ブロック幅が閾値T以下であれば、水平変換をDST-7とすることができ、ブロック高さが閾値T以下であれば、垂直変換をDST-7とすることができる。閾値Tの値例には、4画素、8画素、16画素および32画素が含まれるが、これらに限定されない。一実施形態では、CIIPの変換選択は、イントラ予測部(wintra)とインター予測部(winter)との間の重み付けに依存することができる。一例では、wintra/winterが所定の閾値T 1よりも大きい場合、ブロック幅が閾値T2以下であれば、水平変換をDST-7とし、ブロック高が閾値T2以下であれば、垂直変換をDST-7とする。T1の値の例は、2、2.5、3、および7を含むことができるが、これらに限定されない。T2の値の例は、4画素、8画素、16画素、および32画素を含むことができるが、これらに限定されない。
【0190】
一実施形態では、CIIPの変換選択は、イントラ符号化された隣接ブロックの数に依存し得る。第1の例では、上と左の隣接ブロックの両方をイントラ符号化する場合、ブロック幅が閾値T2以下であれば、水平変換をDST-7とし、ブロック高が閾値T2以下であれば、垂直変換をDST-7とする。そうでなければ、DCT2が水平および垂直変換として使用される。T2の値の例は、4画素、8画素、16画素、および32画素を含むが、これらに限定されない。第2の例では、N個以上の上と左の隣接ブロックをイントラ符号化する場合、ブロック幅が閾値T2以下であれば、水平変換をDST-7とし、ブロック高が閾値T2以下であれば、垂直変換をDST-7とする。そうでなければ、DCT2が水平および垂直変換として使用される。T2の値の例は、4画素、8画素、16画素、および32画素を含むが、これらに限定されない。Nの値の例には、1、2、3、および4が含まれるが、これらに限定されない。
【0191】
本開示では、CIIPにおけるイントラ予測部(wintra)に適用される重み付け(または重み付け因子)およびインター予測部(winter)に適用される重み付けはまた、隣接ブロックがCIIPモードおよび/またはインターPDPCモードを使用して符号化されるか否かに依存し得る。一実施形態では、右上(または上)および左下(または左)の隣接ブロックの両方がCIIPモードを使用して符号化される場合、wintraは第1の値(例えば、3)として割り当てられる。右上および左下の隣接ブロックのうちの1つがCIIPモードを使用して符号化される場合、wintraは第2の値として割り当てられる(例えば、2)。右上および左下の隣接ブロックのいずれもCIIPモードを使用して符号化されない場合、wintraは第3の値として割り当てられる(例えば、1)。winterの値は、wintraに従って割り当てることができ、例えば、winter=N-wintraである。Nの値の例には、2、4、8、および16が含まれるが、これらに限定されない。一実施形態では、右上(または上)および左下(または左)の隣接ブロックの両方がインターPDPCモードを使用して符号化される場合、wintraは第1の値(例えば、3)として割り当てられる。右上および左下の隣接ブロックのうちの1つがインターPDPCモードを使用して符号化される場合、wintraは第2の値として割り当てられる(例えば、2)。右上および左下の隣接ブロックのいずれもがインターPDPCモードを使用して符号化される場合、wintraは第3の値として割り当てられる(例えば、1)。winterの値は、wintraに従って割り当てることができ、例えば、winter=N-wintraである。Nの値の例には、2、4、8、および16が含まれるが、これらに限定されない。
【0192】
本開示では、フィルタ処理がインター予測ブロックに適用され、フィルタ処理が隣接する再構成されたサンプルを使用して現在のブロックのインター予測サンプルをさらに調整する場合、デフォルトの1次変換を適用することができる。一実施形態では、予め定義された1次変換は、水平変換および垂直変換の両方のためのDST-7である。一実施形態では、予め定義された1次変換は、水平変換および垂直変換の両方のためのDCT-2である。一実施形態では、ブロック幅が閾値T以下である限り、予め定義された水平1次変換はDST-7である。そうでなければ、DCT-2が使用される。閾値Tの値の例は、4画素、8画素、16画素、および32画素を含むが、これらに限定されない。一実施形態では、ブロック高さが閾値T以下である限り、予め定義された垂直1次変換はDST-7である。そうでなければ、DCT-2が使用される。
【0193】
一実施形態では、フィルタ処理は、境界フィルタ処理とすることができ、境界フィルタ処理では、インター予測ブロックの境界に隣接するインター予測サンプルの第1の行のうちのいくつかおよび/または第1の列のうちのいくつかのみを、隣接する再構成されたサンプルを使用してさらに調整することができるが、インター予測ブロック全体は変更されない。一実施形態では、フィルタ処理は、インター予測サンプルと、フィルタリングに使用される隣接する再構成されたサンプルとの間に位置依存重み付けを適用することができる。一実施形態では、暗黙的変換方式は、インター予測ブロックのルマコンポーネントにのみ適用することができ、DCT-2および/またはTSMのみをインター予測ブロックのクロマ成分に適用することができる。一実施形態では、フィルタ処理が適用されるとき、MTSはシグナリングされない。第1の例では、フィルタ処理は、インターPDPCモードを指す。第2の例では、フィルタ処理はCIIPモードを指す。
【0194】
本開示の実施形態は、暗黙的変換に対する修正を含む。VVCにおけるようなMTS関連シンタックス要素のセマンティクスは紛らわしい。例えば、明示的イントラMTSを有効にするためには、sps_mts_enabled_flagとsps_explicit_mts_intra_enabled_flagの両方が1である必要がある。しかしながら、暗黙的MTSを無効にするために、sps_mts_enabled_flagは1である必要があるが、sps_explicit_mts_intra_enabled_flagは0である必要がある。別の例では、明示的インターMTSを有効にするために、sps_mts_enabled_flagとsps_explicit_mts_inter_enabled_flagの両方が1である必要があるが、1つの符号化ツール(または1つのシンタックス要素)のみが制御される。
【0195】
本開示では、イントラ予測残差(DCT-2、暗黙的MTS、または明示的なイントラMTS)およびインター予測残差(DCT-2、またはSBTのための明示的なインターMTSおよび暗黙的MTSか否か)のためのMTS選択は、別々のシンタックス要素を用いて指示され得る。
【0196】
一実施形態では、以下のHLSシンタックスは、例えば表11に示すように、MTSの使用を示すために設計される。
【0197】
【0198】
表11に示すように、sps_intra_mts_selectionは、0、1、および2の値を有することができる。sps_intra_mts_selectionが0または1に等しい場合、tu_mts_idxはイントラ符号化ユニットの変換ユニットシンタックスに存在しない。sps_intra_mts_selectionが2に等しい場合、tu_mts_idxは、イントラ符号化ユニットの変換ユニットシンタックスに存在することができる。さらに、sps_intra_mts_selectionが0に等しい場合、イントラ予測残差に暗黙的MTSは適用されない。sps_intra_mts_selectionが1に等しい場合、イントラ予測残差に対して暗黙的MTSが適用される。sps_inter_mts_selection_flagは、0および1の値を有することができる。sps_inter_mts_selection_flagが1に等しいとき、tu_mts_idxは、インター符号化ユニットの変換ユニットシンタックスに存在することができる。sps_inter_mts_selection_flagが0である場合、tu_mts_idxは、インター符号化単位の変換単位シンタックスに存在しない。表11のシンタックス要素に基づいてMTSの使用を示すように設計された例示的なシンタックスを表12に示す。
【0199】
【0200】
いくつかの実施形態によるスケーリングされた変換係数のための修正された変換プロセスの例を以下に説明する。このプロセスへの入力は、現在の画像の左上ルマサンプルに対する現在のルマ変換ブロックの左上サンプルを指定するルマ位置(xTbY、yTbY)、現在の変換ブロックの幅を指定する変数nTbW、現在の変換ブロックの高さを指定する変数nTbH、現在のブロックの色成分を指定する変数cIdx、および/または、スケーリングされた変換係数の(nTbW)x(nTbH)配列d[x][y]、ここでx=0..nTbW-1、y=0..nTbH-1である、を含むことができる。このプロセスの出力は、残差サンプルの(nTbW)x(nTbH)配列r[x][y]であり、ここでx=0..nTbW-1、y=0..nTbH-1である。
【0201】
変数implicitMtsEnabledは、以下のように導出することができる。複数の条件のうちの1つが真である場合、implicitMtsEnabledは1に等しく設定される。複数の条件は、IntraSubPartitionsSplitTypeはISP_NO_SPLITと等しくないこと、cu_sbt_flagは1であり、Max(nTbW、nTbH)は32以下であり、sps_inter_mts_selection_flagは1であること、および/またはsps_intra_mts_selectionは1に等しく、CuPredMode[0][xTbY][yTbY]はMODE_INTRAに等しく、lfnst_idx[x0][y0]は0に等しく、intra_mip_flag[x0][y0]は0に等しいことを含み得る。そうでない場合、implicitMtsEnabledは0に等しく設定される。
【0202】
別の実施形態では、表13の例示的なHLSシンタックスは、MTSの使用を示すために設計されており、明示的MTSを有効にすることなく、暗黙的MTSをSBTに対して有効にすることができる。
【0203】
【0204】
表13に示すように、sps_intra_mts_selectionは、0、1、または2の値を有することができる。sps_intra_mts_selectionが0または1に等しい場合、tu_mts_idxはイントラ符号化ユニットの変換ユニットシンタックスに存在しない。sps_intra_mts_selectionが2に等しい場合、tu_mts_idxは、イントラ符号化ユニットの変換ユニットシンタックスに存在することができる。さらに、sps_intra_mts_selectionが0に等しい場合、イントラ予測残差に暗黙的MTSは適用されない。sps_intra_mts_selectionが1に等しい場合、イントラ予測残差に対して暗黙的MTSが適用される。sps_inter_mts_selectionは、0、1、または2の値を有することができる。sps_inter_mts_selectionが0または1に等しいとき、tu_mts_idxは、インター符号化ユニットの変換ユニットシンタックスに存在することができる。sps_inter_mts_selectionが2に等しいとき、tu_mts_idxは、インター符号化ユニットの変換ユニットシンタックスに存在することができる。さらに、sps_inter_mts_selectionが0に等しい場合、暗黙的MTSはインター予測残差に適用されない。sps_inter_mts_selectionが1に等しい場合、インター予測残差に暗黙的MTSが適用される。表13のシンタックス要素に基づいてMTSの使用を示すように設計された例示的なsynataxが、例えば表14に示されている。
【0205】
【0206】
いくつかの実施形態のためのスケーリングされた変換係数のための修正された変換プロセスの例が、以下に記載される。このプロセスへの入力は、現在の画像の左上ルマサンプルに対する現在のルマ変換ブロックの左上サンプルを指定するルマ位置(xTbY、yTbY)、現在の変換ブロックの幅を指定する変数nTbW、現在の変換ブロックの高さを指定する変数nTbH、現在のブロックの色成分を指定する変数cIdx、および/または、スケーリングされた変換係数の(nTbW)x(nTbH)配列d[x][y]、ここでx=0..nTbW-1、y=0..nTbH-1である、を含むことができる。このプロセスの出力は、残差サンプルの(nTbW)x(nTbH)配列r[x][y]であり、ここでx=0..nTbW-1、y=0..nTbH-1である。
【0207】
変数implicitMtsEnabledは、以下のように導出することができる。複数の条件のうちの1つが真である場合、implicitMtsEnabledは1に等しく設定される。複数の条件は、IntraSubPartitionsSplitTypeはISP_NO_SPLITと等しくないこと、cu_sbt_flagは1であり、Max(nTbW、nTbH)は32以下であり、sps_inter_mts_selectionは0ではないこと、および/またはsps_intra_mts_selectionは1に等しく、CuPredMode[0][xTbY][yTbY]はMODE_INTRAに等しく、lfnst_idx[x0][y0]は0に等しく、intra_mip_flag[x0][y0]は0に等しいことを含み得る。そうでない場合、implicitMtsEnabledは0に等しく設定される。
【0208】
本開示では、暗黙的MTSまたはDCT-2が適用されるか否かを示すために、ISP符号化ブロックの変換選択を、MTS関連HLSによって制御することができる。いくつかの実施形態によるスケーリングされた変換係数のための修正された変換プロセスの例を以下に説明する。このプロセスへの入力は、現在の画像の左上ルマサンプルに対する現在のルマ変換ブロックの左上サンプルを指定するルマ位置(xTbY、yTbY)、現在の変換ブロックの幅を指定する変数nTbW、現在の変換ブロックの高さを指定する変数nTbH、現在のブロックの色成分を指定する変数cIdx、および/または、スケーリングされた変換係数の(nTbW)x(nTbH)配列d[x][y]、ここでx=0..nTbW-1、y=0..nTbH-1である、を含むことができる。このプロセスの出力は、残差サンプルの(nTbW)x(nTbH)配列r[x][y]であり、ここでx=0..nTbW-1、y=0..nTbH-1である。
【0209】
変数implicitMtsEnabledは、以下のように導出することができる。複数の条件のうちの1つが真である場合、implicitMtsEnabledは1に等しく設定される。複数の条件は、IntraSubPartitionsSplitTypeはISP_NO_SPLITに等しくなく、sps_intra_mts_selectionが0に等しくないこと、cu_sbt_flagは1であり、Max(nTbW、nTbH)は32以下であり、sps_inter_mts_selectionは0ではないこと、および/またはsps_intra_mts_selectionは01に等しく、CuPredMode[0][xTbY][yTbY]はMODE_INTRAに等しく、lfnst_idx[x0][y0]は0に等しく、intra_mip_flag[x0][y0]は0に等しいことを含み得る。そうでない場合、implicitMtsEnabledは0に等しく設定される。
【0210】
いくつかの実施形態では、PDPCは、上述の簡略化されたPDPCまたはその変形を指す。いくつかの実施形態では、DST-4を使用して、特定の小さいブロックサイズまたはすべてのブロックサイズに対してDST-7を置き換えることができる。
【0211】
本開示では、「暗黙的変換」は、変換インデックスシグナリングなしで非DCT2変換(DST-1、DCT-5、DST-7、DCT-8、DST-4、DCT-4など)のグループを選択する変換方式を示すことができる。例えば、非DCT2変換のグループは、イントラ予測モード(平面モード、DCモード、角度モード)、ブロックサイズ、ブロック幅、ブロック高さ、ブロックアスペクト比、ブロックエリアサイズ、イントラ符号化モード(MRL、ISP、MIPを使用するか否か)、選択された空間マージ候補の位置(上マージ候補、左マージ候補)、および/またはインター予測モード(インターPDPCモード、CIIPモードなど)を含むがこれらに限定されない、エンコーダとデコーダの両方に利用可能な既に符号化された情報を使用して選択することができる。
【0212】
本開示では、「明示的変換」は、変換タイプ候補(DCT-2、DST-1、DCT-5、DST-7、DCT-8、DST-4、DCT-4など)のグループから1つの変換を選択する変換方式を示すことができ、どの変換タイプが選択されるかを示すためにシグナリングされるインデックスを有する。
【0213】
本開示では、イントラ予測残差に適用される明示的MTSを明示的イントラMTSと呼び、インター予測残差に適用されるMTSを明示的インターMTSと呼ぶことができる。
【0214】
図19は、本開示の一実施形態によるプロセス(1900)の概要を示すフローチャートを示す。
図20は、本開示の一実施形態によるプロセス(2000)の概要を示すフローチャートを示す。
図21は、本開示の一実施形態によるプロセス(2100)の概要を示すフローチャートを示す。様々な実施形態では、プロセス(1900)、プロセス(2000)、およびプロセス(2100)は、端末デバイス(110)、(120)、(130)、および(140)の処理回路、ビデオエンコーダ(203)の機能を実行する処理回路、ビデオデコーダ(210)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオエンコーダ(403)の機能を実行する処理回路などの処理回路によって実行することができる。いくつかの実施形態では、プロセス(1900)、プロセス(2000)、およびプロセス(2100)はソフトウェア命令で実施することができ、したがって、処理回路がソフトウェア命令を実行すると、処理回路はそれぞれプロセス(1900)、プロセス(2000)、および/またはプロセス(2100)を実行する。
【0215】
図19に示すように、プロセス(1900)は(S1901)から開始し、(S1910)に進む。(S1910)において、現在の画像内の現在のブロックの予測情報は、符号化されたビデオビットストリームから復号することができる。予測情報は、インター予測モードを示す。
【0216】
(S1920)において、現在のブロックにフィルタ処理が適用されているか否かを決定することができる。フィルタ処理は、現在のブロックの隣接する再構成されたサンプルに基づいて、現在のブロックのインター予測サンプルを調整することができる。いくつかの実施形態では、フィルタ処理は、位置依存予測組み合わせ(PDPC)モードまたはインター予測およびイントラ予測組み合わせ(CIIP)モードに基づいて動作され得る。
【0217】
(S1930)において、現在のブロックに適用されると決定されているフィルタ処理に基づいて、予め定義された1次変換タイプに従って変換ブロックに対して1次変換を実行することができ、変換ブロックは現在のブロックから分割される。
【0218】
いくつかの実施形態では、1次変換タイプは、現在のブロックの幅が閾値以下であることに応じて変換ブロックに適用される水平変換のためのタイプ7離散サイン変換(DST-7)モードであり得る。1次変換タイプは、現在のブロックの高さが閾値以下であることに応じて変換ブロックに適用される垂直変換のためのDST-7モードであり得る。閾値は、4画素、8画素、16画素、または32画素のうちの1つを含むことができる。
【0219】
いくつかの実施形態では、1次変換タイプは、現在のブロックの幅が閾値よりも大きいことに応じて変換ブロックに適用される水平変換のためのタイプ2離散コサイン変換(DCT-2)モードであり得る。1次変換タイプは、現在のブロックの高さが閾値よりも大きいことに応じて、垂直変換用のDCT-2モードとすることができ、変換ブロックに適用することができる。閾値は、4画素、8画素、16画素、または32画素のうちの1つを含むことができる。
【0220】
図20に示すように、プロセス(2000)は(S2001)から開始し、(S2010)に進む。(S2010)において、現在のブロックの予測情報は、符号化されたビデオビットストリームから取得することができる。
【0221】
(S2020)において、予測情報が、(i)インター予測のマージモード、および(ii)インター予測およびイントラ予測の組み合わせ(CIIP)モードを示すか否かを決定ことができる。
【0222】
(S2030)において、インター予測のマージモードとCIIPモードを示す予測情報に応じてイントラ予測モード候補リストからイントラ予測モードを決定することができる。
【0223】
(S2040)において、イントラ予測モードおよびインター予測マージモードに応じたインター予測情報に従って、イントラ予測情報を決定することができる。
【0224】
(S2050)において、重み付け因子は、CIIPモードまたはインター位置依存予測組み合わせ(PDPC)モードに従って符号化されている現在のブロックの隣接ブロックに応じて決定することができる。
【0225】
いくつかの実施形態では、重み付きインター予測情報は、インター予測情報と、重み付け因子を減算した定数値とに基づき、定数値は、2、4、8、または16のうちの1つを含む。
【0226】
いくつかの実施形態では、重み付け因子は、CIIPモードを使用して符号化されている現在のブロックの右上/上および左下/左の両方の隣接ブロックに応じて3であり得る。いくつかの実施形態では、重み付け因子は、CIIPモードを使用して符号化されている現在のブロックの右上/上および左下/左下の隣接ブロックのうちの1つに応じて2であり得る。いくつかの実施形態では、重み付け因子は、CIIPモードを使用して符号化されている現在のブロックの右上/上および左下/左の隣接ブロックに応じて1であり得る。
【0227】
いくつかの実施形態では、重み付け因子は、PDPCモードを使用して符号化されている現在のブロックの右上/上および左下/左の両方の隣接ブロックに応じて3であり得る。重み付け因子は、PDPCモードを使用して符号化されている現在のブロックの右上/上および左下/左の隣接ブロックのうちの1つに応じて2であり得る。重み付け因子は、PDPCモードを使用して符号化されている現在のブロックの右上/上および左下/左の隣接ブロックのいずれにも応じない1であり得る。
【0228】
(S2060)で、重み付きイントラ予測情報と重み付きインター予測情報との和に基づいてCIIP予測情報を決定することができ、重み付きイントラ予測情報はイントラ予測情報および重み付け因子に基づいており、重み付きインター予測情報はインター予測情報および重み付け因子に基づいている。
【0229】
次いで、プロセス(2000)は(S2070)に進み、現在のブロックのサンプルはCIIP予測情報に従って再構成され得る。
【0230】
図21は、(S2101)で開始し、(S2110)に進むプロセス(2100)を示す。(S2110)において、変換ブロックシグナリング情報は、符号化されたビデオビットストリームから取得することができる。変換ブロックシグナリング情報は、インター予測変換に関連する第1の情報と、イントラ予測変換に関連する第2の情報とを含むことができる。
【0231】
(S2120)において、第1の情報の第1の値および第2の情報の第2の値を決定することができる。
【0232】
(S2130)において、インター予測モードで符号化された第1の変換ブロックは、暗黙的多重変換選択(MTS)モードにおいて、第1の値および第1の予め定義された変換タイプに従って変換され得る。
【0233】
(S2140)において、イントラ予測モードで符号化された第2の変換ブロックは、暗黙的MTSモードにおける第2の値および第2の予め定義された変換タイプに従って変換され得る。
【0234】
いくつかの実施形態では、第1の情報の第1の値は1に等しくすることができ、第2の情報の第2の値は1に等しくすることができる。
【0235】
いくつかの実施形態では、第1の情報の第1の値は0よりも大きくすることができ、第2の情報の第2の値は1に等しくすることができる。
【0236】
いくつかの実施形態では、イントラ予測モードで符号化された第2の変換ブロックを、第2の値と、暗黙的MTSモードにおける第2の予め定義された変換タイプと、イントラサブパーティショニング(ISP)符号化された第2の変換ブロックを含む符号化ユニットとに従って変換し得る。第2の値は0よりも大きい。
【0237】
提案された方法は、別々に使用されてもよいし、任意の順序で組み合わされてもよい。さらに、方法(または実施形態)、エンコーダ、およびデコーダの各々は、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実施されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に格納されているプログラムを実行する。例えば、上記の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実施され、1つまたは複数のコンピュータ可読媒体に物理的に格納され得る。
図22は、開示された主題の特定の実施形態を実施するのに適した例示的コンピュータシステム(2200)を示している。
【0238】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となる可能性のある任意の適切な機械語またはコンピュータ言語を使用して符号化して、直接または、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによって変換、マイクロコード実行などを介して実行できる命令を含むコードを作成できる。
【0239】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはそのコンポーネント上で実行することができる。
【0240】
コンピュータシステム(2200)について
図22に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用範囲または機能に関する制限を示唆することを意図するものではない。また、コンポーネントの構成は、コンピュータシステム(2200)の例示的な実施形態に示されるコンポーネントのいずれか1つまたは組み合わせに関連する依存性または要件を有すると解釈されるべきではない。
【0241】
コンピュータシステム(2200)は、特定のヒューマンインタフェース入力デバイスを含み得る。そのようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介して、1人または複数の人間のユーザによる入力に応答し得る。ヒューマンインタフェースデバイスを使用して、音声(発話、音楽、周囲音など)、画像(静止画カメラから取得された走査画像、写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関連しない特定の媒体をキャプチャすることもできる。
【0242】
入力ヒューマンインタフェースデバイスには、キーボード(2201)、マウス(2202)、トラックパッド(2203)、タッチスクリーン(2210)、データグローブ(図示せず)、ジョイスティック(2205)、マイク(2206)、スキャナ(2207)、カメラ(2208)のうちの1つまたは複数が含まれることがある。
【0243】
コンピュータシステム(2200)はまた、特定のヒューマンインタフェース出力デバイスを含み得る。そのようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通して、1人または複数の人間のユーザの感覚を刺激し得る。このようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(2210)、データグローブ(図示せず)、またはジョイスティック(2205)による触覚フィードバックが含まれることがあるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカ(2209)、ヘッドホン(図示せず)など)、視覚出力デバイス(それぞれがタッチスクリーン入力機能の有無にかかわらず、それぞれが触覚フィードバック機能の有無にかかわらず、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2210)など、それらの一部は、ステレオグラフィック出力、仮想現実ガラス(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を通じて2次元視覚出力または3次元以上の出力が可能であり得る)およびプリンタ(図示せず)を含み得る。
【0244】
コンピュータシステム(2200)はまた、人間がアクセス可能な記憶装置およびそれらに関連する媒体を含むことができ、例えば、CD/DVDまたは同様の媒体(2221)を有するCD/DVD ROM/RW(2020)を含む光学媒体、サムドライブ(2222)、取り外し可能なハードドライブまたはソリッドステートドライブ(2223)、テープやフロッピー(登録商標)ディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(図示せず)などである。
【0245】
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を含まないことを理解すべきである。
【0246】
コンピュータシステム(2200)はまた、1つまたは複数の通信ネットワークへのインタフェースを含むことができる。ネットワークは、例えば、無線、有線、光であることができる。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などにすることができる。ネットワークの例は、イーサネット(登録商標)、ワイヤレスLANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルテレビ、衛星テレビ、および地上放送テレビを含むテレビ有線または無線広域デジタルネットワーク、CANBusを含む車両および産業などを含む。特定のネットワークは通常、特定の汎用データポートまたは周辺バス(2249)に取り付けられる外部ネットワークインタフェースアダプタを必要とする(例えば、コンピュータシステム(2200)のUSBポート、その他は一般に、以下に説明するようにシステムバスに接続することによってコンピュータシステム(2200)のコアに統合される(例えば、PCコンピュータシステムへのイーサネット(登録商標)インタフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインタフェースなど)。これらのネットワークのいずれかを使用して、コンピュータシステム(2200)は他のエンティティと通信できる。このような通信は、一方向、受信のみ(例えば、テレビ放送)、一方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの通信である。上記のように、特定のプロトコルおよびプロトコルスタックをこれらのネットワークおよびネットワークインタフェースのそれぞれで使用できる。
【0247】
前述のヒューマンインタフェースデバイス、ヒューマンアクセス可能な記憶装置、およびネットワークインタフェースは、コンピュータシステム(2200)のコア(2240)に接続することができる。
【0248】
コア(2240)は、1つまたは複数の中央処理装置(CPU)(2241)、グラフィックス処理装置(GPU)(2242)、フィールドプログラマブルゲートアレイ(FPGA)(2243)の形式の特殊なプログラム可能な処理装置、特定のタスク用のハードウェアアクセラレータ(2244)などを含むことができる。これらの装置は、読み取り専用メモリ(ROM)(2245)、ランダムアクセスメモリ(2246)、ユーザがアクセスできない内蔵ハードドライブなどの内部大容量記憶装置、SSDなど(2247)と共にシステムバス(2248)を介して接続し得る。一部のコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形式でシステムバス(2248)にアクセスすることができる。周辺デバイスは、コアのシステムバス(2248)に直接接続することも、周辺バス(2249)を介して接続することもできる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
【0249】
CPU(2241)、GPU(2242)、FPGA(2243)、およびアクセラレータ(2244)は、組み合わせて前述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM(2245)またはRAM(2246)に格納できる。移行データはRAM(2246)に格納することもできるが、恒久的データは例えば内部大容量記憶装置(2247)に格納できる。任意のメモリデバイスの高速格納および検索は、1つまたは複数のCPU(2241)、GPU(2242)、大容量記憶装置(2247)、ROM(2245)、RAM(2246)などに密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0250】
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、またはそれらは、コンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであり得る。
【0251】
一例として、限定するものではないが、アーキテクチャを有するコンピュータシステム(2200)、具体的にはコア(2240)は、1つまたは複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、上記で紹介したユーザアクセス可能な大容量記憶装置、ならびにコア内部大容量記憶装置(2247)やROM(2245)などの非一時的な性質のコア(2240)の特定の記憶装置に関連付けられた媒体であり得る。本開示の様々な実施形態を実施するソフトウェアは、そのような装置に格納され、コア(2240)によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(2240)、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(2246)に格納されたデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従って、そのようなデータ構造を変更することとを含む、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりにまたはソフトウェアと一緒に動作することができる回路(例えば、アクセラレータ(2244)に論理配線された、あるいは具体化された結果として機能を提供することができる。ソフトウェアへの参照にはロジックを含めることができ、必要に応じてその逆も可能である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理を具体化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0252】
付記A:頭字語
JEM:共同探査モデル
VVC:versatile video coding
BMS:ベンチマークセット
MV:動きベクトル
HEVC:高効率ビデオ符号化
SEI:補足エンハンスメント情報
VUI:ビデオユーザビリティ情報
GOP:グループオブピクチャ
TU:変換ユニット、
PU:予測ユニット
CTU:符号化ツリーユニット
CTB:符号化ツリーブロック
PB:予測ブロック
HRD:仮想参照デコーダ
SNR:信号雑音比
CPU:中央演算処理装置
GPU:グラフィックス処理ユニット
CRT:ブラウン管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:読み出し専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:グローバル移動体通信システム
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺構成要素相互接続
FPGA:フィールドプログラマブルゲートアレイ
SSD:ソリッドステートドライブ
IC:集積回路
CU:符号化ユニット
【0253】
本開示は、いくつかの例示的な実施形態を説明しているが、本開示の範囲内にある変更、並べ替え、および様々な代替の同等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、開示の原理を具体化し、したがってその精神および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0254】
100 通信システム
110,120,130,140 端末デバイス
150 ネットワーク
201 ビデオソース
202 ビデオ画像ストリーム
203 ビデオエンコーダ
204 符号化されたビデオデータ
205 ストリーミングサーバ
206,208 クライアントサブシステム
207,209 符号化されたビデオデータの複製
208 クライアントサブシステム
210 ビデオデコーダ
211 ビデオ画像
212 ディスプレイ
213 ストリーミングシステム
220,230 電子デバイス
301 チャネル
310 ビデオデコーダ
312 レンダリングデバイス
315 バッファメモリ
320 パーサ
321 シンボル
330 電子デバイス
331 受信器
351 スケーラ/逆変換ユニット
352 イントラ画像予測ユニット
353 動き補償予測ユニット
355 集約器
356 ループフィルタユニット
357 参照画像メモリ
358 現在画像バッファ
401 ビデオソース
403 ビデオエンコーダ
420 電子デバイス
430 ソースコーダ
432 符号化エンジン
433 デコーダ
434 参照画像メモリ
435 予測器
440 送信器
443 ビデオシーケンス
445 エントロピーコーダ
450 コントローラ
460 通信チャネル
503 ビデオエンコーダ
521 総合コントローラ
522 イントラエンコーダ
523 残差算出器
524 残差エンコーダ
525 エントロピーエンコーダ
526 スイッチ
528 残差デコーダ
530 インターエンコーダ
610 ビデオデコーダ
671 エントロピーデコーダ
672 イントラデコーダ
673 残差デコーダ
674 再構成モジュール
680 インターデコーダ
1700 ブロック
1702 サンプル
1704 サンプル
2020 CD/DVD ROM/RW
2100 プロセス
2200 コンピュータシステム
2201 キーボード
2202 マウス
2203 トラックパッド
2205 ジョイスティック
2206 マイク
2207 スキャナ
2208 カメラ
2209 スピーカ
2210 スクリーン
2221 CD/DVDまたは同様の媒体
2222 サムドライブ
2223 取り外し可能なハードドライブまたはソリッドステートドライブ
2240 コア
2241 中央処理装置(CPU)
2242 グラフィックス処理装置(GPU)
2243 フィールドプログラマブルゲートアレイ(FPGA)
2244 アクセラレータ
2245 読み取り専用メモリ(ROM)
2246 ランダムアクセスメモリ(RAM)
2247 大容量記憶装置
2248 システムバス
2249 周辺バス