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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7325622映像コーディングのための方法、装置、及びコンピュータプログラム
<>
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図1A
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図1B
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図1C
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図2
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図3
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図4
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図5
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図6
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図7
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図8
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図9
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図10
  • 特許-映像コーディングのための方法、装置、及びコンピュータプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-03
(45)【発行日】2023-08-14
(54)【発明の名称】映像コーディングのための方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
   H04N 19/70 20140101AFI20230804BHJP
   H04N 19/126 20140101ALI20230804BHJP
【FI】
H04N19/70
H04N19/126
【請求項の数】 7
(21)【出願番号】P 2022519450
(86)(22)【出願日】2021-04-09
(65)【公表番号】
(43)【公表日】2022-11-29
(86)【国際出願番号】 US2021026560
(87)【国際公開番号】W WO2021211370
(87)【国際公開日】2021-10-21
【審査請求日】2022-03-28
(31)【優先権主張番号】63/009,286
(32)【優先日】2020-04-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/029,363
(32)【優先日】2020-05-22
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/030,060
(32)【優先日】2020-05-26
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/210,800
(32)【優先日】2021-03-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リ,リン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】岩井 健二
(56)【参考文献】
【文献】Benjamin Bross, Jianle Chen, Shan Liu, and Ye-Kui Wang,Versatile Video Coding (Draft 8),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q2001 (version 15),17th Meeting: Brussels, BE,2020年03月12日,pp.44-46,59-61,80-81,111-118,141-148,168-170,305-307
【文献】Kiran Misra, et al.,AHG9: On chroma QP offsets in picture header,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-R0272,18th Meeting: by teleconference,2020年04月04日,pp.1-4
【文献】Ling Li, et al.,AHG12: On signaling of chroma QP,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-R0302-v1,18th Meeting: by teleconference,2020年04月04日,pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコーダが実行する映像コーディングのための方法であって、
符号化映像シーケンスの一部である現在ピクチャ内の現在ブロックについての予測情報を復号するステップであり、前記予測情報は、ルマ成分の量子化パラメータ(QP)情報及び前記現在ブロックのクロマ成分のQP情報の両方が前記現在ピクチャのピクチャヘッダ(PH)に含まれるかを指し示す第1のシンタックス要素を含む、ステップと、
前記ルマ成分の前記QP情報及び前記クロマ成分の前記QP情報の両方が前記予測情報に含まれることを前記第1のシンタックス要素が指し示すことに基づき、前記ルマ成分の前記QP情報と前記クロマ成分の前記QP情報とに基づいて前記クロマ成分のQPを決定するステップと、
前記クロマ成分の前記QPに基づいて前記現在ブロックを再構成するステップと、
を有し、
前記第1のシンタックス要素はchroma_qp_offset_info_in_ph_flagであり、
1に等しい前記第1のシンタックス要素chroma_qp_offset_info_in_ph_flagは、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetがピクチャヘッダ(PH)シンタックス構造内に存在し、PHシンタックス構造を含まないピクチャパラメータセット(PPS)を参照するスライスヘッダ(SL)内には存在しないことを規定し、
0に等しい前記第1のシンタックス要素chroma_qp_offset_info_in_ph_flagは、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetがPHシンタックス構造内には存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内に存在し得ることを規定し、
前記シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetは、それぞれ、クロマQPを導出するのに使用されるルマQPに対するPHレベルクロマQPオフセットを規定し、
前記予測情報は更に、前記現在ピクチャが更に分割されないかを指し示す第2のシンタックス要素を含み、前記現在ピクチャが更に分割されないことを前記第2のシンタックス要素が指し示すとき、前記第1のシンタックス要素chroma_qp_offset_info_in_ph_flagはシグナリングされず、chroma_qp_offset_info_in_ph_flagの値は1に等しいと推定される、
方法。
【請求項2】
前記現在ピクチャのピクチャヘッダが前記現在ピクチャのスライスヘッダに含まれることを指し示す前記予測情報内の第3のシンタックス要素に基づき、前記クロマ成分の前記QP情報は前記現在ピクチャの前記ピクチャヘッダに含まれる、請求項1に記載の方法。
【請求項3】
前記クロマ成分の前記QP情報が前記予測情報に含まれないことを前記第1のシンタックス要素が指し示すことに基づき、前記ルマ成分のQPが前記現在ブロックの前記クロマ成分の前記QPに等しいかを指し示す前記予測情報内の第4のシンタックス要素を復号するステップと、
前記ルマ成分の前記QPが前記現在ブロックの前記クロマ成分の前記QPに等しくないことを前記予測情報内の前記第4のシンタックス要素が指し示すことに基づき、ルマ・ツー・クロマQPマッピングテーブルに従って前記クロマ成分の前記QPを決定するステップと、
を更に有する請求項1記載の方法。
【請求項4】
前記ルマ成分の前記QPが前記現在ブロックの前記クロマ成分の前記QPに等しいことを前記第4のシンタックス要素が指し示すことに基づき、前記ルマ成分の前記QPを前記クロマ成分の前記QPとして決定するステップ、
を更に有する請求項記載の方法。
【請求項5】
前記ルマ・ツー・クロマQPマッピングテーブルは前記予測情報に含まれる、請求項に記載の方法。
【請求項6】
映像コーディングのための装置であって、
1つ以上のプロセッサと、
コンピュータプログラムを格納した1つ以上のメモリと、
を有し、
前記コンピュータプログラムは、前記1つ以上のプロセッサに、請求項1乃至のいずれか一項に記載の方法を実行させる、
装置。
【請求項7】
コンピュータに請求項1乃至のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2020年4月13日に出願された米国仮出願第63/009,286号“SIGNALING OF CHROMA QUANTIZATION PARAMETERS”、2020年5月22日に出願された米国仮出願第63/029,363号“CHROMA QUANTIZATION PARAMETER MAPPING”、及び2020年5月26日に出願された米国仮出願第63/030,060号“ALTERNATIVE METHOD ON CHROMA QUANTIZATION PARAMETER MAPPING”に対する優先権の利益を主張するものである2021年3月24日に出願された米国特許出願第17/210,800号“METHOD AND APPARATUS FOR MOTION PREDICTION IN VIDEO CODING”に対する優先権の利益を主張するものである。これら先行出願の開示全体をそれらの全体にてここに援用する。
【0002】
本開示は、映像コーディングに概して関係する実施形態を記述する。
【背景技術】
【0003】
ここに提示される背景説明は、開示に係る状況を概略的に提示するためのものである。この背景セクションに記載される範囲においての、ここに名を連ねる発明者の仕事、並びに、出願時にさもなければ従来技術として適格でないかもしれない記載の態様は、明示的にも、暗示的にも、本開示に対する従来技術として認められるものではない。
【0004】
動き補償を用いるインターピクチャ予測を使用して映像符号化及び復号を実行することができる。圧縮されていないデジタル映像は一連のピクチャを含み、各ピクチャが、例えば、1920×1080のルミナンスサンプル及び関連するクロミナンスサンプルの空間寸法を持つ。一連のピクチャは、固定又は可変のピクチャレート(非公式にはフレームレートとしても知られる)を持つことができ、例えば、毎秒60ピクチャ、すなわち、60Hzのピクチャレートを持ち得る。圧縮されていない映像は、かなりのビットレート要求を持つ。例えば、サンプル当たり8ビットの1080p60 4:2:0映像(60Hzのフレームレートで1920×1080のルミナンスサンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。1時間のこのような映像は、600GByteを超えるストレージ空間を必要とする。
【0005】
映像の符号化及び復号の1つの目的は、圧縮を通じての入力映像信号の冗長性の低減であるとし得る。圧縮は、前述の帯域幅要求又はストレージ空間要求を、場合によって2桁以上の大きさで、低減させる助けとなることができる。可逆圧縮及び非可逆圧縮の双方、並びにこれらの組み合わせを使用することができる。可逆圧縮は、原信号の正確な複製を圧縮された原信号から再構成することができる技術を指す。非可逆圧縮を使用する場合、再構成された信号は、原信号と同じにならないことがあるが、原信号と再構成信号との間の歪みは、再構成信号を意図した用途に有用にするのに十分な小ささとなる。映像の場合、非可逆圧縮が広く用いられる。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビジョン配信アプリケーションのユーザよりも高い歪みを許容し得る。達成可能な圧縮比はそれを反映し、より高い許容/我慢できる歪みは、より高い圧縮比をもたらすことができる。
【0006】
ビデオエンコーダ及びデコーダは、例えば、動き補償、変換、量子化、及びエントロピーコーディングを含め、幾つかの広範なカテゴリからの技術を利用することができる。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技術を含むことができる。イントラコーディングにおいて、サンプル値は、先行して再構成された参照ピクチャからのサンプル又は他のデータを参照することなく表現される。一部のビデオコーデックにおいて、ピクチャは複数ブロックのサンプルへと空間的に細分される。全てのブロックのサンプルがイントラモードでコーディングされる場合、そのピクチャはイントラピクチャとすることができる。イントラピクチャ及び例えば独立デコーダリフレッシュピクチャなどのそれらの派生物は、デコーダ状態をリセットするために使用されることができ、従って、コーディングされる映像ビットストリーム及び映像セッションにおける最初のピクチャとして、又は静止画として使用されることができる。イントラブロックのサンプルを変換にかけることができ、変換係数が、エントロピーコーディングの前に量子化され得る。イントラ予測は、変換前ドメインにおけるサンプル値を最小化する技術であるとし得る。場合により、変換後のDC値が小さいほど、及びAC係数が小さいほど、エントロピーコーディング後にブロックを表すのに所与の量子化ステップサイズで必要とされるビット数が少なくなる。
【0008】
例えばMPEG-2世代のコーディング技術から知られるような伝統的なイントラコーディングはイントラ予測を使用しない。しかしながら、より新しい一部の映像圧縮技術は、例えば、空間的に隣接し復号順で先行するブロックのデータの符号化/復号中に得られた周囲のサンプルデータ及び/又はメタデータから試みる技術を含む。このような技術を、以後、“イントラ予測”技術と呼ぶ。なお、少なくとも一部のケースにおいて、イントラ予測は、再構成中の現在ピクチャからの参照データのみを使用し、参照ピクチャからのものは使用しない。
【0009】
数多くの異なる形態のイントラ予測が存在し得る。所与の映像コーディング技術において、そのような技術のうち2つ以上が使用され得る場合、使用される技術がイントラ予測モードでコーディングされ得る。ある特定のケースにおいて、モードはサブモード及び/又はパラメータを有することができ、それらが個別にコーディングされる又はモードコードワードに含められることができる。所与のモード/サブモード/パラメータの組み合わせにどのコードワードを使用するかということは、イントラ予測を通じたコーディング効率利得に影響を与え得ることであり、コードワードをビットストリームに変換するのに使用されるエントロピーコーディング技術も同様であり得る。
【0010】
イントラ予測の特定のモードが、H.264で導入され、H.265で改良され、そして、例えば共同探査モデル(JEM)、バーサタイルビデオコーディング(VVC)、及びベンチマークセット(BMS)などの、より新しいコーディング技術でさらに改良された。既に利用可能なサンプルに属する隣接サンプル値を用いて予測子ブロックが形成され得る。隣接サンプルのサンプル値が、方向に従って予測子ブロックにコピーされる。使用する方向の参照が、ビットストリームにコーディングされるか、それ自体が予測されるかし得る。
【0011】
図1Aを参照するに、右下に、H.265の33個の取り得る予測子方向(35個のイントラモードのうちの33個の角度モードに対応)から知られる9個の予測子方向のサブセットが描かれている。矢印が集まった点(101)が予測中のサンプルを表す。矢印は、その方向からサンプルが予測されることを表す。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度で右上の1つのサンプル又は複数のサンプルから予測されることを指し示す。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度で左下の1つのサンプル又は複数のサンプルから予測されることを指し示す。
【0012】
なおも図1Aを参照するに、左上に、4×4サンプルの正方形ブロック(104)(破線の太線で示す)が描かれている。正方形ブロック(104)は、16個のサンプルを含み、各サンプルが、“S”と、Y次元でのその位置(例えば、行インデックス)と、X次元でのその位置(例えば、列インデックス)とでラベル付けられている。例えば、サンプルS21は、Y次元で(上から)2番目、且つX次元で(左から)1番目のサンプルである。同様に、サンプルS44は、ブロック(104)内の、Y及びXの両方の次元で4番目のサンプルである。このブロックは4×4サンプルのサイズなので、S44は右下にある。さらに、同様の番号付けスキームに従った参照サンプルが示されている。参照サンプルは、Rと、ブロック(104)に対するY位置(例えば、行インデックス)及びX位置(列インデックス)とでラベル付けられている。H.264及びH.265の両方で、予測サンプルは再構成中のブロックに隣接し、それ故に、負の値を使用する必要はない。
【0013】
イントラピクチャ予測は、シグナリングされる予測方向によって、隣接サンプルからの参照サンプル値を適宜にコピーすることによって機能する。例えば、このブロックについて、予測方向が矢印(102)と一致すること、すなわち、水平から45度右上の1つ又は複数の予測サンプル又はサンプルからサンプルが予測されること、を指し示すシグナリングを符号化映像ビットストリームが含んでいると仮定する。その場合、サンプルS41、S32、S23、及びS14は、同じ参照サンプルR05から予測される。そして、サンプルS44は、参照サンプルR08から予測される。
【0014】
特定のケースにおいて、特に、方向を45度ずつ等分できない場合に、参照サンプルを計算するために、例えば内挿により、複数の参照サンプルの値を結合することがある。
【0015】
映像コーディング技術が発展するにつれて、取り得る方向の数が増加している。H.264(2003年)では、9個の異なる方向を表すことができた。これが、H.265(2013年)では33個に増加し、JEM/VVC/BMSは、開示された時点で、65個に至る方向をサポートすることができる。最も可能性の高い方向を特定するために実験が行われており、そして、より可能性の低い方向に対するペナルティを受け入れて、それら可能性の高い方向を少数のビットで表現するように、エントロピーコーディングにおける特定の技術が用いられる。さらに、それらの方向自体が、隣接する既に復号されたブロックで用いられた隣接方向から予測されることもある。
【0016】
図1Bは、徐々に数が増えている予測方向を例示すために、JEMに従った65個のイントラ予測方向を描いた概略図(105)を示している。
【0017】
符号化映像ビットストリームにおける方向を表すイントラ予測方向ビットのマッピングは、映像コーディング技術ごとに異なり得るものであり、例えば、イントラ予測モードへの予測方向の単純な直接マッピングから、コードワードや、最確モードを含む複雑な適応方式、及び同様の技術まで及び得る。しかし、どのケースでも、映像コンテンツには、他の特定の方向よりも統計的に発生しにくい特定の方向が存在し得る。映像圧縮の目標は冗長性の低減であるので、良好に動作する映像コーディング技術では、それら可能性の低い方向は、可能性の高い方向よりも多数のビットで表されることになる。
【0018】
動き補償は、非可逆圧縮技術であるとし得るとともに、先行して再構成されたピクチャ又はその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以下、MV)によって指し示される方向に空間的にシフトされた後に、新たに再構成されるピクチャ又はピクチャ部分の予測のために使用される技術に関係するとすることができる。一部のケースにおいて、参照ピクチャは、現在再構成中のピクチャと同じであることができる。MVは、2つの次元X及びYを有することができ、あるいは、使用する参照ピクチャを指し示すインジケーションを3つめとして3つの次元を有することができる(後者は、間接的に、時間次元であるとすることができる)。
【0019】
一部の映像圧縮技術では、サンプルデータのある特定の領域に適用可能なMVを、例えば、復号順でそのMVに先行するMVであって再構成中の領域に空間的に隣接するサンプルデータの別領域に関係するMVからなど、別のMVから予測することができる。そうすることは、そのMVをコーディングするのに必要なデータの量を大幅に減らすことができ、それにより冗長性を取り除いて圧縮を高めることができる。MV予測は、効果的に機能することができる。何故なら、例えば、カメラに由来する入力ビデオ信号(ナチュラルビデオとして知られる)をコーディングするとき、単一のMVが適用可能である領域よりも大きい領域が同様の方向に移動し、それ故に、場合により、隣接する領域のMVから導出される同様のMVを用いて予測されることができる、という統計的尤度があるからである。これがもたらすのは、所与の領域に対して見出されたMVが、周囲のMVから予測されるMVと類似又は同じであり、ひいては、エントロピーコーディングの後に、そのMVを直接コーディングする場合に使用されることになるものよりも少ないビット数で表されることができるということである。一部のケースでは、MV予測は、原信号(はっきり言えば、サンプルストリーム)から導出される信号(はっきり言えば、MV)の可逆圧縮の一例であることができる。他のケースでは、例えば、幾つかの周囲MVから予測子を計算する際の丸め誤差のために、MV予測それ自体が非可逆的であるとし得る。
【0020】
様々なMV予測メカニズムが、H.265/HEVC(ITU-T勧告H.265,“High Efficiency Video Coding”、2016年12月)に記述されている。H.265が提供するそれら多数のMV予測メカニズムのうち、以下では“空間マージ”と称する技術をここで説明する。
【0021】
図1Cを参照するに、現在ブロック(111)は、空間的にシフトされた同じサイズの先行ブロックから予測可能であることが動き探索プロセス中にエンコーダによって見出されたサンプルを含み得る。MVを直接コーディングする代わりに、MVを、A0、A1、及びB0、B1、B2(それぞれ112から116)と表記する5つの周囲サンプルのうちのいずれか1つに関連するMVを用いて、例えば(復号順で)直前の参照ピクチャからなど、1つ以上の参照ピクチャに関連するメタデータから導出することができる。H.265において、MV予測は、隣接ブロックが使用しているのと同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【0022】
本開示の態様は、映像符号化/復号のための装置を提供する。装置は、符号化映像シーケンスの一部である現在ピクチャ内の現在ブロックについての予測情報を復号する処理回路を含む。予測情報は、ルマ成分の量子化パラメータ(QP)情報及び現在ブロックのクロマ成分のQP情報の両方が当該予測情報に含まれるかを指し示す第1のシンタックス要素を含む。上記処理回路は、ルマ成分のQP情報及びクロマ成分のQP情報の両方が予測情報に含まれることを第1のシンタックス要素が指し示すことに基づき、ルマ成分のQP情報とクロマ成分のQP情報とに基づいてクロマ成分のQPを決定する。上記処理回路は、クロマ成分のQPに基づいて現在ブロックを再構成する。
【0023】
一実施形態において、ルマ成分のQP情報及びクロマ成分のQP情報の両方が現在ピクチャのピクチャヘッダに含まれることを指し示す予測情報内の第1のシンタックス要素に基づき、クロマ成分のQP情報は現在ピクチャのピクチャヘッダに含まれる。
【0024】
一実施形態において、現在ピクチャが更に分割されないことを指し示す予測情報内の第2のシンタックス要素に基づき、クロマ成分のQP情報は現在ピクチャのピクチャヘッダに含まれる。
【0025】
一実施形態において、現在ピクチャのピクチャヘッダが現在ピクチャのスライスヘッダに含まれることを指し示す予測情報内の第3のシンタックス要素に基づき、クロマ成分のQP情報は現在ピクチャのピクチャヘッダに含まれる。
【0026】
一実施形態において、上記処理回路は、クロマ成分のQP情報が予測情報に含まれないことを第1のシンタックス要素が指し示すことに基づき、ルマ成分のQPが現在ブロックのクロマ成分のQPに等しいかを指し示す予測情報内の第4のシンタックス要素を復号する。
【0027】
一実施形態において、上記処理回路は、ルマ成分のQPが現在ブロックのクロマ成分のQPに等しくないことを予測情報内の第4のシンタックス要素が指し示すことに基づき、ルマ・ツー・クロマQPマッピングテーブルに従ってクロマ成分のQPを決定する。
【0028】
一実施形態において、上記処理回路は、ルマ成分のQPが現在ブロックのクロマ成分のQPに等しいことを第4のシンタックス要素が指し示すことに基づき、ルマ成分のQPをクロマ成分のQPとして決定する。
【0029】
一実施形態において、ルマ・ツー・クロマQPマッピングテーブルは予測情報に含まれる。
【0030】
本開示の態様は、映像符号化/復号のための方法を提供する。当該方法にて、符号化映像シーケンスの一部である現在ピクチャ内の現在ブロックについての予測情報が復号される。予測情報は、ルマ成分のQP情報及び現在ブロックのクロマ成分のQP情報の両方が予測情報に含まれるかを指し示す第1のシンタックス要素を含む。ルマ成分のQP情報及びクロマ成分のQP情報の両方が予測情報に含まれることを第1のシンタックス要素が指し示すことに基づき、ルマ成分のQP情報とクロマ成分のQP情報とに基づいてクロマ成分のQPが決定される。クロマ成分のQPに基づいて現在ブロックが再構成される。
【0031】
本開示の態様はまた、映像復号用のコンピュータによって実行されるときに該コンピュータに映像復号のための方法のいずれか1つ又は組み合わせを実行させる命令を格納した非一時的コンピュータ読み取り可能媒体を提供する。
【図面の簡単な説明】
【0032】
開示に係る事項の更なる特徴、性質、及び様々な利点が、以下の詳細な説明及び添付の図面から、よりいっそう明らかになる。
図1A】イントラ予測モードの例示的なサブセットを概略的に示している。
図1B】例示的なイントラ予測方向を示している。
図1C】一例における現在ブロック及びその周囲の空間マージ候補を概略的に示している。
図2】一実施形態に従った通信システムの簡略ブロック図を概略的に示している。
図3】一実施形態に従った通信システムの簡略ブロック図を概略的に示している。
図4】一実施形態に従ったデコーダの簡略ブロック図を概略的に示している。
図5】一実施形態に従ったエンコーダの簡略ブロック図を概略的に示している。
図6】他の一実施形態に従ったエンコーダのブロック図を示している。
図7】他の一実施形態に従ったデコーダのブロック図を示している。
図8】一実施形態に従った例示的なフローチャートを示している。
図9】一実施形態に従った他の例示的なフローチャートを示している。
図10】一実施形態に従った他の例示的なフローチャートを示している。
図11】一実施形態に従ったコンピュータシステムの概略図である。
【発明を実施するための形態】
【0033】
I. ビデオデコーダ及びエンコーダシステム
図2は、本開示の一実施形態に従った通信システム(200)の簡略ブロック図を例示している。通信システム(200)は、例えばネットワーク(250)を介して、互いに通信することができる複数の端末装置を含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1の対の端末装置(210)及び(220)を含む。図2の例において、第1の対の端末装置(210)及び(220)は、データの一方向伝送を行う。例えば、端末装置(210)が、映像データ(例えば、端末装置(210)によってキャプチャされた映像ピクチャのストリーム)を、ネットワーク(250)を介した他の端末装置(220)への伝送のために符号化し得る。符号化された映像データは、1つ以上の符号化映像ビットストリームの形態で伝送されることができる。端末装置(220)が、ネットワーク(250)から符号化映像データを受信し、符号化映像データを復号して映像ピクチャを復元し、復元した映像データに従って映像ピクチャを表示し得る。一方向データ伝送は、メディアサービス提供アプリケーション及びそれに類するものにおいて一般的であり得る。
【0034】
他の一例において、通信システム(200)は、例えば、テレビ会議中に発生し得る符号化映像データの双方向伝送を行う第2の対の端末装置(230)及び(240)を含む。データの双方向伝送では、一例において、端末装置(230)及び(240)の各端末装置が、映像データ(例えば、その端末装置によってキャプチャされた映像ピクチャのストリーム)を、ネットワーク(250)を介した端末装置(230)及び(240)のうちの他方の端末装置への伝送のために符号化し得る。端末装置(230)及び(240)の各端末装置はまた、端末装置(230)及び(240)のうちの他方の端末装置によって送信された符号化映像データを受信し得るとともに、符号化映像データを復号して映像ピクチャを復元し、そして、復元した映像データに従って、アクセス可能なディスプレイ装置に映像ピクチャを表示し得る。
【0035】
図2において、端末装置(210)、(220)、(230)及び(240)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示されているが、本開示の原理は、そのように限定されるものではないとし得る。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のテレビ会議機器での用途を見出し。ネットワーク(250)は、例えば、配線(有線)通信ネットワーク及び/又は無線通信ネットワークを含め、端末装置(210)、(220)、(230)及び(240)間で符号化された映像データを伝達するあらゆる数のネットワークを表す。通信ネットワーク(250)は、回線交換チャネル及び/又はパケット交換チャネルにてデータを交換し得る。代表的なネットワークは、遠距離通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットを含む。本説明の目的上、ネットワーク(250)のアーキテクチャ及びトポロジーは、以下にて説明しない限り、本開示の動作にとって重要ではないとし得る。
【0036】
図3は、開示に係る事項に関するアプリケーションの一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を例示している。開示に係る事項は、例えば、テレビ会議や、デジタルTVや、CD、DVD、メモリスティック及びこれらに類するものを含むデジタル媒体上での圧縮映像の格納などを含め、映像を使用可能な他の用途にも等しく適用されることができる。
【0037】
ストリーミングシステムは、例えば圧縮されていない映像ピクチャのストリーム(302)を作り出す例えばデジタルカメラといった映像ソース(301)を含み得るものであるキャプチャサブシステム(313)を含み得る。一例において、映像ピクチャのストリーム(302)は、デジタルカメラによって撮影されるサンプルを含む。映像ピクチャのストリーム(302)は、符号化された映像データ(304)(又は符号化映像ビットストリーム)と比較して高いデータボリュームであることを強調するために太線として描かれており、映像ソース(301)に結合されたビデオエンコーダ(303)を含んだエレクトロニクス装置(320)によって処理され得る。ビデオエンコーダ(303)は、更に詳細に後述される開示に係る事項の態様を使用可能にする又は実装するための、ハードウェア、ソフトウェア、又はこれらの組み合わせを含むことができる。符号化された映像データ(304)(又は符号化映像ビットストリーム(304))は、映像ピクチャのストリーム(302)と比較して低いデータボリュームであることを強調するために細線として描かれており、後の使用のためにストリーミングサーバ(305)に格納されることができる。例えば図3のクライアントサブシステム(306)及び(308)などの1つ以上のストリーミングクライアントサブシステムが、符号化された映像データ(304)のコピー(307)及び(309)を取り出すためにストリーミングサーバ(305)にアクセスすることができる。クライアントサブシステム(306)は、例えばエレクトロニクス装置(330)内の、ビデオデコーダ(310)を含むことができる。ビデオデコーダ(310)は、入ってくる符号化された映像データのコピー(307)を復号し、出ていく映像ピクチャのストリーム(311)を作り出すことができ、出ていく映像ピクチャのストリーム(311)が、ディスプレイ(312)(例えば、表示スクリーン)又は他のレンダリング装置(図示せず)上でレンダリングされ得る。一部のストリーミングシステムにおいて、符号化された映像データ(304)、(307)、及び(309)(例えば、映像ビットストリーム)は、特定の映像符号化/圧縮標準に従って符号化されることができる。それら標準の例は、ITU-T勧告H.265を含む。一例において、開発中のある映像符号化標準は、非公式にバーサタイルビデオコーディング(Versatile Video Coding;VVC)として知られている。開示に係る事項は、VVCの文脈で使用され得る。
【0038】
なお、エレクトロニクス装置(320)及び(330)は、他のコンポーネント(図示せず)を含むことができる。例えば、エレクトロニクス装置(320)はビデオデコーダ(図示せず)を含むことができ、エレクトロニクス装置(330)はビデオエンコーダ(図示せず)も含むことができる。
【0039】
図4は、本開示の一実施形態に従ったビデオデコーダ(410)のブロック図を示している。ビデオデコーダ(410)は、エレクトロニクス装置(430)に含まれ得る。エレクトロニクス装置(430)は、受信器(431)(例えば、受信回路)を含むことができる。ビデオデコーダ(410)は、図3の例におけるビデオデコーダ(310)の代わりに使用されることができる。
【0040】
受信器(431)が、これと同じ実施形態又は他の一実施形態において、一度に1つの符号化映像シーケンスで、ビデオデコーダ(410)によって復号されることになる1つ以上の符号化映像シーケンスを受信することができ、各符号化映像シーケンスの復号は、他の符号化映像シーケンスとは独立である。符号化映像シーケンスは、符号化された映像データを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得るものであるチャネル(401)から受信され得る。受信器(431)は、符号化映像データを、例えば符号化された音声データ及び/又は補助データストリームといった他のデータと共に受信してもよく、それらのデータは、それらそれぞれの使用エンティティ(図示せず)に転送され得る。受信器(431)は、符号化映像シーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、受信器(431)とエントロピーデコーダ/パーサ420(以下、“パーサ(420)”)との間にバッファメモリ(415)が結合され得る。特定のアプリケーションにおいて、バッファメモリ(415)はビデオデコーダ(410)の一部である。他のものにおいて、それは、ビデオデコーダ(410)の外部にあってもよい(図示せず)。更なる他のものにおいて、例えばネットワークジッタに対抗するために、ビデオデコーダ(410)の外部にバッファメモリ(図示せず)が存在することができ、さらに、例えば再生タイミングを取り扱うために、ビデオデコーダ(410)の内部に別のバッファメモリ(415)が存在することができる。受信器(431)が、十分な帯域幅及び可制御性の格納/転送装置から又は等同期ネットワークからデータを受信しているとき、バッファメモリ(415)は、必要とされなくてもよく、又は小さくされることができる。例えばインターネットなどのベストエフォート型パケットネットワーク上での使用では、バッファメモリ(415)が、必要とされ得るとともに、比較的大きくされ、そして、有利には適応可能なサイズのものにされることができ、また、少なくとも部分的に、ビデオデコーダ(410)の外部のオペレーティングシステム又は同様の要素(図示せず)にて実装され得る。
【0041】
ビデオデコーダ(410)は、符号化映像シーケンスからシンボル(421)を再構成するためのパーサ(420)を含み得る。それらシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報を含むとともに、可能性として、図4に示したように、エレクトロニクス装置(430)の統合部分ではないがエレクトロニクス装置(430)に結合されることが可能な、例えばレンダー装置(412)(例えば、表示スクリーン)などのレンダリング装置を制御する情報を含み得る。(1つ以上の)レンダリング装置用の制御情報は、補足強化情報(Supplementary Enhancement Information;SEI)メッセージ又はビデオユーザビリティ情報(Video Usability Information;VUI)パラメータセットフラグメント(図示せず)の形態とし得る。パーサ(420)は、受け取った符号化映像シーケンスを構文解析/エントロピー復号し得る。符号化映像シーケンスの符号化は、映像符号化技術又は標準によることができ、可変長符号化、ハフマン符号化、文脈依存性を持つ又は持たない算術符号化などを含め、様々な原理に従うことができる。パーサ(420)は、符号化映像シーケンスから、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つに関する一組のサブグループパラメータを抽出することができる。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(420)はまた、符号化映像シーケンス情報から、例えば変換係数、量子化パラメータ値、MVなどの情報を抽出し得る。
【0042】
パーサ(420)は、シンボル(421)を生み出すよう、バッファメモリ(415)から受け取った映像シーケンスにエントロピー復号/構文解析処理を実行し得る。
【0043】
シンボル(421)の再構成には、符号化された映像ピクチャ又はその部分のタイプ及び他の要因(例えば、インターピクチャ及びイントラピクチャ、インターブロック及びイントラブロックなど)に応じて、複数の異なるユニットが関与し得る。どのユニットが関与するか、及びそれらがどのように関与するかは、パーサ(420)によって符号化映像シーケンスから構文解析されたサブグループ制御情報によって制御されることができる。パーサ(420)と以下の複数ユニットとの間でのこのようなサブグループ制御情報の流れは、明瞭さのために図示していない。
【0044】
既述の機能ブロックを超えて、ビデオデコーダ(410)は概念的に、後述のような多数の機能ユニットに細分化されることができる。商業上の制約の下で稼働する実用的な実装において、これらのユニットのうちの多くが互いに密接にインタラクトし、少なくとも部分的に互いに統合され得る。しかしながら、開示に係る事項を説明するという目的のためには、以下の機能ユニットへの概念的な細分化が適切である。
【0045】
第1のユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、パーサ(420)からの(1つ以上の)シンボル(421)として、どの変換を使用すべきか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報とともに、量子化された変換係数を受け取る。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力されることが可能な、サンプル値を有するブロックを出力することができる。
【0046】
場合により、スケーラ/逆変換(451)の出力サンプルは、イントラ符号化されたブロック、すなわち、先行して再構成されたピクチャからの予測情報を使用していないが、現在ピクチャのうち先行して再構成された部分からの予測情報を使用することができるブロック、に関係し得る。このような予測情報は、イントラピクチャ予測ユニット(452)によって提供されることができる。場合により、イントラピクチャ予測ユニット(452)は、現在ピクチャバッファ(458)からフェッチされた周囲の既に再構成された情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(458)は、例えば、部分的に再構成された現在ピクチャ及び/又は完全に再構成された現在ピクチャをバッファリングする。アグリゲータ(455)は、場合により、サンプル毎に、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によって提供される出力サンプル情報に付加する。
【0047】
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、インター符号化された、動き補償された可能性のあるブロックに関係し得る。このような場合、動き補償予測ユニット(453)が、参照ピクチャメモリ(457)にアクセスして、予測に使用されるサンプルをフェッチすることができる。フェッチされたサンプルを、ブロックに関係するシンボル(421)に従って動き補償した後、これらのサンプルが、アグリゲータ(455)によって、スケーラ/逆変換ユニット(451)の出力(この場合、残差サンプル又は残差信号と呼ばれる)に付加されて、出力サンプル情報を生成することができる。そこから動き補償予測ユニット(453)が予測サンプルをフェッチする参照ピクチャメモリ(457)内のアドレスは、MVによって制御されることができ、例えばX、Y、及び参照ピクチャ成分を有し得るシンボル(421)の形態で動き補償予測ユニット(453)に利用可能である。動き補償はまた、サブサンプルの正確なMVが使用されるときに参照ピクチャメモリ(457)からフェッチされたサンプル値の補間や、MV予測メカニズムなどを含むことができる。
【0048】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)にて様々なループフィルタリング技術に掛けられ得る。映像圧縮技術は、インループ(in-loop)フィルタ技術を含むことができ、これは、符号化映像シーケンス(符号化映像ビットストリームとも称する)に含められてパーサ(420)からのシンボル(421)としてループフィルタユニット(456)に利用可能にされるパラメータによって制御されるが、符号化ピクチャ又は符号化映像シーケンスのうちの(復号順で)先行部分の復号中に得られたメタ情報にも応答することができるとともに、先行して再構成されてループフィルタリングされたサンプル値にも応答することができる。
【0049】
ループフィルタユニット(456)の出力は、レンダー装置(412)に出力されることが可能なサンプルストリームとすることができ、これはまた、将来のインターピクチャ予測での使用のために参照ピクチャメモリ(457)に格納されることができる。
【0050】
ある特定の符号化ピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用されることができる。例えば、現在ピクチャに対応する符号化ピクチャが完全に再構成され、その符号化ピクチャが参照ピクチャとして(例えば、パーサ(420)によって)特定されると、現在ピクチャバッファ(458)が参照ピクチャメモリ(457)の一部となり得るとともに、次の符号化ピクチャの再構成を開始する前に新しい現在ピクチャバッファが再割り当てされ得る。
【0051】
ビデオデコーダ(410)は、例えばITU-T勧告H.265などの標準における所定の映像圧縮技術に従って復号処理を実行し得る。符号化映像シーケンスは、映像圧縮技術又は標準の構文と映像圧縮技術又は標準において文書化されたプロファイルとの双方を忠実に守るという意味で、使用される映像圧縮技術又は標準によって規定される構文に従い得る。具体的には、プロファイルは、映像圧縮技術又は標準において利用可能な全てのツールから、特定のツールを、そのプロファイルの下での使用に利用可能なツールはそれだけであるように選択することができる。また、コンプライアンスのために、符号化映像シーケンスの複雑さが、映像圧縮技術又は標準のレベルによって規定される範囲内にあることも必要である。場合により、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照ピクチャサイズなどを制約する。レベルによって設定される制限は、場合により、仮説的リファレンスデコーダ(Hypothetical Reference Decoder;HRD)仕様、及び符号化映像シーケンスにてシグナリングされるHRDバッファ管理用のメタデータを通して更に制約され得る。
【0052】
一実施形態において、受信器(431)は、符号化された映像と共に追加(冗長)データを受信し得る。追加データは、(1つ以上の)符号化映像シーケンスの一部として含められ得る。追加データは、データを適切に復号するため、及び/又は元の映像データをいっそう正確に再構成するために、ビデオデコーダ(410)によって使用され得る。追加データは、例えば、時間的、空間的、又は信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、順方向誤り訂正符号などの形態とし得る。
【0053】
図5は、本開示の一実施形態に従った、ビデオエンコーダ(503)のブロック図を示している。ビデオエンコーダ(503)は、エレクトロニクス装置(520)に含まれる。例えば、エレクトロニクス装置(520)は送信器(540)(例えば、送信回路)を含んでいる。ビデオエンコーダ(503)は、図3の例におけるビデオエンコーダ(203)の代わりに使用されることができる。
【0054】
ビデオエンコーダ(503)は、エンコーダ(503)によって符号化されることになる(1つ以上の)映像画像をキャプチャし得る映像ソース(501)(図5の例ではエレクトロニクス装置(520)の一部ではない)から映像サンプルを受信し得る。他の一例において、映像ソース(501)は、エレクトロニクス装置(520)の一部である。
【0055】
映像ソース(501)は、ビデオエンコーダ(503)によって符号化されるソース映像シーケンスを、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、及び任意の好適なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)のものとし得るデジタル映像サンプルストリームの形態で提供し得る。メディアサービス提供システムにおいて、映像ソース(501)は、事前に準備された映像を格納したストレージ装置とし得る。テレビ会議システムでは、映像ソース(501)は、ローカルな画像情報を映像シーケンスとしてキャプチャするカメラとし得る。映像データは、順に見たときに動きを伝える複数の個々のピクチャとして提供され得る。それらピクチャ自体は、ピクセルの空間アレイとして編成されることができ、各ピクセルが、使用されるサンプリング構造、色空間などに応じて、1つ以上のサンプルを有することができる。当業者は、ピクセルとサンプルとの関係を直ちに理解することができる。以下の説明は、サンプルに焦点を当てている。
【0056】
一実施形態によれば、ビデオエンコーダ(503)は、ソース映像シーケンスのピクチャを、リアルタイムで、又はアプリケーションによって要求される他の時間制約下で、符号化映像シーケンス(543)へと符号化及び圧縮し得る。適切な符号化速度を強制することが、コントローラ(550)の1つの機能である。一部の実施形態において、コントローラ(550)は、後述するような他の機能ユニットを制御するとともに、それら他の機能ユニットに機能的に結合される。その結合は、明瞭さのために図示されていない。コントローラ(550)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大MV許容参照領域などを含み得る。コントローラ(550)は、特定のシステム設計に合わせて最適化されるビデオエンコーダ(503)に関連する他の好適な機能を有するように構成されることができる。
【0057】
一部の実施形態において、ビデオエンコーダ(503)は、符号化ループにて動作するように構成される。過度に単純化した説明として、一例において、符号化ループは、ソースコーダ(530)(例えば、符号化される入力ピクチャ及び(1つ以上の)参照ピクチャに基づいて例えばシンボルストリームなどのシンボルを作成することを担う)と、ビデオエンコーダ(503)に埋め込まれた(ローカル)デコーダ(533)とを含むことができる。デコーダ(533)は、(シンボルと符号化映像ビットストリームとの間での圧縮が、開示に係る事項において検討される映像圧縮技術において可逆であるときに)(リモート)デコーダも作成するのと同様にして、シンボルを再構成してサンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)が、参照ピクチャメモリ(534)に入力される。シンボルストリームの復号は、デコーダ位置(ローカル又はリモート)に依存しないビット正確な結果をもたらすので、参照ピクチャメモリ(534)内のコンテンツもローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すれば、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに“見る”のとまったく同じサンプル値を参照ピクチャサンプルとして“見る”。この参照ピクチャ同期性の基本原理(及び、例えばチャネルエラーのために、同期性を維持することができない場合に結果として生じるドリフト)は、一部の関連技術でも使用されている。
【0058】
“ローカル”デコーダ(533)の動作は、例えばビデオデコーダ(410)などの“リモート”デコーダのものと同じであるとすることができ、それは、図4に関連して既に詳細に上述されている。しかしながら、図4も手短に参照するに、シンボルが利用可能であり、且つエントロピーコーダ(545)及びパーサ(420)によるシンボルの符号化映像シーケンスへの符号化/復号は可逆であるとし得るので、バッファメモリ(415)及びパーサ(420)を含むビデオデコーダ(410)のエントロピー復号部分は、ローカルデコーダ(533)に完全に実装されなくてよい。
【0059】
この時点で気付くことができることには、デコーダ内に存在する構文解析/エントロピー復号を除く如何なるデコーダ技術も、対応するエンコーダ内に、実質的に同じ機能的形態で、必ず存在する必要がある。エンコーダ技術の説明は、徹底して説明したデコーダ技術の逆であるので、省略することができる。特定の分野においてのみ、より詳細な説明が必要とされ、以下に提供される。
【0060】
動作時、一部の例において、ソースコーダ(530)は、入力ピクチャを、映像シーケンスからの、“参照ピクチャ”として指定された1つ以上の先に符号化されたピクチャに対して予測的に符号化するものである動き補償予測符号化を実行し得る。斯くして、符号化エンジン(532)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する(1つ以上の)予測基準として選択され得る(1つ以上の)参照ピクチャのピクセルブロックとの間の差分を符号化する。
【0061】
ローカルビデオデコーダ(533)は、参照ピクチャとして指定され得るピクチャの符号化映像データを、ソースコーダ(530)によって作成されたシンボルに基づいて復号し得る。符号化エンジン(532)の動作は、有利には、非可逆プロセスとし得る。符号化映像データが映像デコーダ(図5には示されていない)で復号され得るとき、再構成された映像シーケンスは典型的に、幾分の誤差を伴うソース映像シーケンスのレプリカであり得る。ローカルビデオデコーダ(533)は、参照ピクチャ上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照ピクチャを参照ピクチャキャッシュ(534)に格納させるようにし得る。斯くして、ビデオエンコーダ(503)は、ファーエンドのビデオデコーダによって得られることになる再構成参照ピクチャと共通のコンテンツを持つ再構成参照ピクチャのコピーをローカルに格納し得る。
【0062】
予測器(535)は、符号化エンジン(532)のために予測探索を実行し得る。すなわち、符号化すべき新たなピクチャに関して、予測器(535)は、新たなピクチャ用の適切な予測基準としての役割を果たし得るサンプルデータ(候補参照ピクセルブロックとして)又は例えば参照ピクチャMVやブロック形状などの特定のメタデータについて、参照ピクチャメモリ(534)を検索し得る。予測器(535)は、適切な予測参照を見出すために、ピクセルブロック毎に動作し得る。場合により、予測器(535)によって得られた検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(534)に格納された複数の参照ピクチャから引き出された予測基準を有し得る。
【0063】
コントローラ(550)は、例えば、映像データを符号化するのに使用されるパラメータ及びサブグループパラメータの設定を含め、ソースコーダ(530)の符号化処理を管理し得る。
【0064】
前述の全ての機能ユニットの出力が、エントロピーコーダ(545)におけるエントロピー符号化に掛けられ得る。エントロピーコーダ(545)は、例えばハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化映像シーケンスへと変換する。
【0065】
送信器(540)が、エントロピーコーダ(545)によって生成された(1つ以上の)符号化映像シーケンスをバッファリングし、通信チャネル(560)を介した伝送のために準備し得る。通信チャネル(560)は、符号化された映像データを格納するストレージ装置へのハードウェア/ソフトウェアリンクとし得る。送信器(540)は、ビデオコーダ(503)からの符号化映像データを、例えば符号化オーディオデータ及び/又は補助データストリーム(ソースは図示していない)といった、送信される他のデータとマージし得る。
【0066】
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理し得る。符号化において、コントローラ(550)は、各符号化ピクチャに、それぞれのピクチャに適用され得る符号化技術に影響を及ぼし得るものである特定の符号化ピクチャタイプを割り当て得る。例えば、ピクチャはしばしば、以下のピクチャタイプのうちの1つを割り当てられ得る。
【0067】
イントラピクチャ(Iピクチャ)は、シーケンス内の如何なる他のピクチャも予測のソースとして使用することなく符号化及び復号され得るものとし得る。一部の映像コーデックは、例えば独立デコーダリフレッシュ(Independent Decoder Refresh;IDR)ピクチャを含め、複数の異なるタイプのイントラピクチャを許している。当業者は、Iピクチャのそれら異形、並びにそれらそれぞれの用途及び特徴を知っている。
【0068】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くて1つのMVと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。
【0069】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くて2つのMVと参照インデックスとを使用して、イントラ予測又はインター予測を用いて符号化及び復号され得るものとし得る。同様に、多重予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャと関連メタデータとを使用することができる。
【0070】
ソースピクチャは、一般に、空間的に複数のサンプルブロック(例えば、各々4×4、8×8、4×8、又は16×16サンプルのブロック)に細分化され、ブロック毎に符号化され得る。ブロックは、それらブロックのそれぞれのピクチャに適用される符号化割り当てによって決定される他の(既に符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは非予測的に符号化されることができ、あるいは、それらは同じピクチャの既に符号化されたブロックを参照して予測的に符号化されることができる(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、非予測的に、あるいは、1つの先に符号化された参照ピクチャを参照して空間予測又は時間予測を介して、符号化されることができる。Bピクチャのブロックは、非予測的に、あるいは、1つ又は2つの先に符号化された参照ピクチャを参照して空間予測又は時間予測を介して、符号化されることができる。
【0071】
ビデオエンコーダ(503)は、例えばITU-T勧告H.265などの所定の映像符号化技術又は標準に従って符号化処理を実行し得る。その動作において、ビデオエンコーダ(503)は、入力映像シーケンスにおける時間的及び空間的な冗長性を活用する予測的な符号化処理を含め、様々な圧縮処理を実行し得る。符号化された映像データは、それ故に、使用されている映像符号化技術又は標準によって規定される構文に従い得る。
【0072】
一実施形態において、送信器(540)は、符号化された映像と共に追加データを送信し得る。ソースコーダ(530)が、そのようなデータを、符号化映像シーケンスの一部として含め得る。追加データは、時間的/空間的/SNRエンハンスメントレイヤ、例えば冗長ピクチャ及びスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを有し得る。
【0073】
映像は、時間シーケンスにて複数のソースピクチャ(映像ピクチャ)としてキャプチャされ得る。イントラピクチャ予測(しばしば、イントラ予測と略される)は、所与のピクチャ内の空間的な相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例において、現在ピクチャと称される符号化/復号中の特定のピクチャが、複数のブロックへと分割される。現在ピクチャ内のあるブロックが、映像内の先に符号化され且つ依然としてバッファリングされている参照ピクチャ内の参照ブロックに類似しているとき、現在ピクチャ内のそのブロックは、MVと称されるベクトルによって符号化されることができる。MVは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合には、参照ピクチャを特定する第3の次元を持つことができる。
【0074】
一部の実施形態において、インターピクチャ予測において双予測技術を使用することができる。双予測技術によれば、例えば、映像内でどちらも現在ピクチャに対して復号順で先である(しかし、表示順では、それぞれ過去及び将来であってもよい)第1の参照ピクチャ及び第2の参照ピクチャなどの、2つの参照ピクチャが使用される。現在ピクチャ内のブロックを、第1の参照ピクチャ内の第1の参照ブロックを指す第1のMVと、第2の参照ピクチャ内の第2の参照ブロックを指す第2のMVとによって符号化することができる。そのブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されることができる。
【0075】
さらに、インターピクチャ予測において符号化効率を改善するために、マージモード技術を使用することができる。
【0076】
本開示の一部の実施形態によれば、例えばインターピクチャ予測及びイントラピクチャ予測などの予測が、ブロックの単位で実行される。例えば、HEVC標準によれば、映像ピクチャのシーケンス内のピクチャが、圧縮のために複数のコーディングツリーユニット(CTU)に分割され、ピクチャ内のそれらCTUは、例えば64×64ピクセル、32×32ピクセル、又は16×16ピクセルなどの同一サイズを有する。一般に、CTUは、1つのルマ(luma)CTBと2つのクロマ(chroma)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ピクセル、及びこれらに類するものなど、ピクセルの値(例えば、ルマ値)の行列を含む。
【0077】
図6は、本開示の他の一実施形態に従ったビデオエンコーダ(603)の図を示している。ビデオエンコーダ(603)は、映像ピクチャのシーケンス内の現在映像ピクチャの中の処理ブロック(例えば、予測ブロック)のサンプル値を受信し、該処理ブロックを符号化映像シーケンスの一部である符号化ピクチャへと符号化するように構成される。一例において、ビデオエンコーダ(603)は、図3の例におけるビデオエンコーダ(303)の代わりに使用される。
【0078】
HEVCの例において、ビデオエンコーダ(603)は、例えば予測ブロックの8×8サンプルなどの、処理ブロックに関するサンプル値の行列を受信する。ビデオエンコーダ(603)は、例えばレート-歪み最適化を用いて、処理ブロックが最良に符号化されるのが、イントラモードを用いてなのか、インターモードを用いてなのか、それとも双予測モードを用いてなのかを決定する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(603)は、イントラ予測技術を使用して処理ブロックを符号化ピクチャへと符号化することができ、処理ブロックがインターモード又は双予測モードで符号化される場合、ビデオエンコーダ(603)は、それぞれ、インター予測技術又は双予測技術を使用して処理ブロックを符号化ピクチャへと符号化することができる。特定の映像符号化技術において、マージモードは、予測子の外側の符号化MV成分の利益なしで1つ以上のMV予測子からMVが導出されるインターピクチャ予測サブモードとし得る。特定の他の映像符号化技術では、対象ブロックに適用可能なMV成分が存在してもよい。一例において、ビデオエンコーダ(603)は、例えば処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの、他のコンポーネントを含む。
【0079】
図6の例において、ビデオエンコーダ(603)は、図6に示すように共に結合された、インターエンコーダ(630)、イントラエンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、全般コントローラ(621)、及びエントロピーエンコーダ(625)を含んでいる。
【0080】
インターエンコーダ(630)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、先行ピクチャ内及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術に従った冗長情報の記述、MV、マージモード情報)を生成し、そして、何らかの好適技術を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。一部の例において、参照ピクチャは、符号化された映像情報に基づいて復号された参照ピクチャである。
【0081】
イントラエンコーダ(622)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、一部のケースにおいて、ブロックを、同じピクチャ内の既に符号化されたブロックと比較し、変換後の量子化係数を生成し、一部のケースでは、イントラ予測情報(例えば、1つ以上のイントラ符号化技術に従ったイントラ予測方向情報)も生成する。一例において、イントラエンコーダ(622)はまた、イントラ予測情報及び同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
【0082】
全般コントローラ(621)は、全般制御データを決定し、全般制御データに基づいてビデオエンコーダ(603)の他のコンポーネントを制御するように構成される。一例において、全般コントローラ(621)は、ブロックのモードを決定し、そのモードに基づいてスイッチ(626)に制御信号を提供する。例えば、モードがイントラモードであるとき、全般コントローラ(621)は、残差計算器(623)による使用のためにイントラモード結果を選択するようにスイッチ(626)を制御するとともに、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御し、モードがインターモードであるときには、全般コントローラ(621)は、残差計算器(623)による使用のためにインター予測結果を選択するようにスイッチ(626)を制御するとともに、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。
【0083】
残差計算器(623)は、受信されたブロックと、イントラエンコーダ(622)又はインターエンコーダ(630)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差エンコーダ(624)は、残差データに基づいて動作し、残差データを符号化して変換係数を生成するように構成される。一例において、残差エンコーダ(624)は、残差データを空間ドメインから周波数ドメインに変換し、変換係数を生成するように構成される。次いで、変換係数が量子化処理にかけられて、量子化された変換係数が得られる。様々な実施形態において、ビデオエンコーダ(603)はまた、残差デコーダ(628)を含む。残差デコーダ(628)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(622)及びインターエンコーダ(630)によって好適に使用されることができる。例えば、インターエンコーダ(630)は、復号された残差データ及びインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(622)は、復号された残差データ及びイントラ予測情報に基づいて、復号されたブロックを生成することができる。復号されたブロックが好適に処理されて、復号されたピクチャが生成され、そして、復号されたピクチャは、メモリ回路(図示せず)にバッファリングされ得るとともに、一部の例では参照ピクチャとして使用され得る。
【0084】
エントロピーエンコーダ(625)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(625)は、例えばHEVCなどの好適な標準に従って種々の情報を含めるように構成される。一例において、エントロピーエンコーダ(625)は、全般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の好適情報を、ビットストリームに含めるように構成される。なお、本開示に係る事項によれば、インターモード又は双予測モードのいずれかのマージサブモードにてブロックを符号化するとき、残差情報は存在しない。
【0085】
図7は、本開示の他の一実施形態に従ったビデオデコーダ(710)の図を示している。ビデオデコーダ(710)は、符号化映像シーケンスの一部である符号化されたピクチャを受信し、該符号化されたピクチャを復号して再構成ピクチャを生成するように構成される。一例において、ビデオデコーダ(710)は、図3の例におけるビデオデコーダ(310)の代わりに使用される。
【0086】
図7の例において、ビデオデコーダ(710)は、図7に示すように共に結合された、エントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構成モジュール(774)、及びイントラデコーダ(772)を含んでいる。
【0087】
エントロピーデコーダ(771)は、符号化されたピクチャから、符号化されたピクチャを構成するシンタックス要素を表す特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は他のサブモードにおける後者の2つなど)、それぞれイントラデコーダ(772)又はインターデコーダ(780)による予測のために使用される特定のサンプル又はメタデータを特定することができる予測情報(例えば、イントラ予測情報又はインター予測情報など)、例えば量子化された変換係数の形態をした残差情報、及びこれらに類するものを含むことができる。一例において、予測モードがインターモード又は双予測モードであるときには、インター予測情報がインターデコーダ(780)に提供され、予測タイプがイントラ予測タイプであるときには、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報は、逆量子化にかけられることができ、残差デコーダ(773)に提供される。
【0088】
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0089】
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0090】
残差デコーダ(773)は、逆量子化を実行して、逆量子化された変換係数を抽出し、そして、逆量子化された変換係数を処理して、残差を周波数ドメインから空間ドメインに変換するように構成される。残差デコーダ(773)はまた、特定の制御情報(量子化器パラメータ(QP)を含む)を必要としてもよく、その情報は、エントロピーデコーダ(771)によって提供され得る(これは、低ボリュームの制御情報のみとし得るのでデータ経路は不図示)。
【0091】
再構成モジュール(774)は、残差デコーダ(773)によって出力される残差と、(場合に応じてインター又はイントラ予測モジュールによって出力される)予測結果とを空間ドメインで組み合わせて、再構成ブロックを形成するように構成される。再構成ブロックは、再構成ピクチャの一部とすることができ、代わって再構成ピクチャは、再構成映像の一部とすることができる。なお、視覚的な品質を向上させるために、例えばデブロッキング処理及びそれに類するものなど、他の好適な処理を実行することができる。
【0092】
なお、ビデオエンコーダ(303)、(503)、及び(603)、並びにビデオデコーダ(310)、(410)、及び(710)は、如何なる好適技術を用いて実装されてもよい。一実施形態において、ビデオエンコーダ(303)、(503)、及び(603)、並びにビデオデコーダ(310)、(410)、及び(710)は、1つ以上の集積回路を用いて実装され得る。他の一実施形態において、ビデオエンコーダ(303)、(503)及び(603)、並びにビデオデコーダ(310)、(410)、及び(710)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装され得る。
【0093】
II. 量子化パラメータのシグナリング
例えばHEVC及びVVCなどの関連する一部の例において、量子化プロセスにおける量子化パラメータ(QP)は、例えばレート制御及び知覚量子化の目的などで、ピクチャ内で変化される必要があることがある。
【0094】
例えばVVCドラフト8などの例において、QPは、例えばピクチャパラメータセット(PPS)、ピクチャヘッダ(PH)、又はスライスヘッダ(SH)などのハイレベルシンタックス要素にて制御されることができる。QPはまた、例えばコーディングブロック又は変換ブロックレベルのシンタックス要素などのローレベルシンタックス要素にて制御されることができる。
【0095】
ハイレベルシンタックス要素にて制御されるルマブロックのQP(すなわち、ルマQP)について、ルマQPの初期値をPPS内でシグナリングすることができ、また、ルマQPのオフセット値がPH又はSHのいずれでシグナリングされるかを指し示すために、フラグもPPS内でシグナリングすることができる。従って、QPオフセットを初期QP値に加えることによってルマQP粒度を達成することができる。
【0096】
表1は、PPS内のルマQPに関係する例示的なシンタックス要素を示している。
【表1】
【0097】
表1において、シンタックス要素init_qp_minus26に26を足したものが、PPSを参照する各スライスに対するルマQPの初期値(例えば、SliceQpY)を規定する。ルマQPの初期値SliceQpYは、非ゼロ値のピクチャレベルルマQPオフセットの(例えば、表2の中のシンタックス要素ph_qp_delta)が復号された場合にはピクチャレベルで変更されることができ、あるいは、非ゼロ値のスライスレベルルマQPオフセット(例えば、表3の中のシンタックス要素slice_qp_delta)が復号された場合にスライスレベルで変更されることができる。シンタックス要素init_qp_minus26の値は、両端を含めて、-(26+QpBdOffset)から+37までの範囲内とすることができる。変数QpBdOffsetは、ルマ及びクロマQPについての範囲オフセット値を表す。
【0098】
表1において、1に等しいシンタックス要素qp_delta_info_in_ph_flagは、ルマQPのQPデルタ又はオフセット情報がPHシンタックス構造内に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内には存在しないことを規定する。0に等しいシンタックス要素qp_delta_info_in_ph_flagは、ルマQPのQPデルタ又はオフセット情報が、PHシンタックス構造内には存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内に存在し得ることを規定する。
【0099】
表2は、PH内のルマQPに関係する例示的なシンタックス要素を示している。
【表2】
【0100】
表2において、シンタックス要素ph_qp_deltaは、ルマQP(例えば、QpY)のピクチャレベルルマQPオフセットを規定する。コーディングユニット層内のルマQPオフセット値(例えば、CuQpDeltaVal)によって変更されるまで、ルマQPの初期値を、ピクチャ内のブロックをコーディングするのに使用することができる。シンタックス要素qp_delta_info_in_ph_flagが1に等しいとき、ピクチャの全てのスライスに対するルマQPの初期値SliceQpYは、次のように導出されることができる:
SliceQpY=26+init_qp_minus26+ph_qp_delta (式1)

SliceQpYの値は、両端を含めて、-QpBdOffsetから+63までの範囲内とすることができる。
【0101】
表3は、SH内のルマQPに関係する例示的なシンタックス要素を示している。
【表3】
【0102】
表3において、シンタックス要素slice_qp_deltaは、ルマQP(例えば、QpY)のスライスレベルルマQPオフセットを規定する。コーディングユニット層内のルマQPオフセット値(例えば、CuQpDeltaVal)によって変更されるまで、ルマQPの初期値を、ピクチャ内のブロックをコーディングするのに使用することができる。シンタックス要素qp_delta_info_in_ph_flagが0に等しいとき、スライスに対するルマQPの初期値SliceQpYは、次のように導出されることができる:
SliceQpY=26+init_qp_minus26+slice_qp_delta (式2)
SliceQpYの値は、両端を含めて、-QpBdOffsetから+63までの範囲内とすることができる。
【0103】
例えばVVCドラフト8などの例において、クロマブロックのQP(すなわち、クロマQP)は、対応するマッピングされたクロマQP値(例えば、QpCb、QpCr、又はQpCbCr)にクロマQPオフセットを加えることによって導出されることができる。クロマQPオフセットは、PPS及びSHの両方でシグナリングされることができるが、PHではシグナリングされることができない。
【0104】
表4は、PPS内のクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表4】
【0105】
表4において、1に等しいPPSレベルクロマツールオフセット存在シンタックス要素pps_chroma_tool_offsets_present_flagは、クロマツールオフセットに関係するシンタックス要素(例えば、シンタックス要素pps_cb_qp_offset、pps_cr_qp_offset、pps_joint_cbcr_qp_offset_present_flag、pps_joint_cbcr_qp_offset_value、及びpps_slice_chroma_qp_offsets_present_flag)がPPSローバイトシーケンスペイロード(RBSP)シンタックス構造内に存在することを規定する。0に等しいシンタックス要素pps_chroma_tool_offsets_present_flagは、クロマツールオフセットに関係するシンタックス要素がRBSPシンタックス構造内に存在しないことを規定する。クロマアレイタイプシンタックス要素ChromaArrayType(これの更なる詳細は表6にある)が0に等しいとき、シンタックス要素pps_chroma_tool_offsets_present_flagは0に等しいとすることができる。
【0106】
表4において、シンタックス要素pps_cb_qp_offset及びpps_cr_qp_offsetは、それぞれ、対応するクロマQP(例えば、QpCb及びQpCr)を導出するのに使用されるルマQP(例えば、QpY)に対するPPSレベルクロマQPオフセットを規定する。シンタックス要素pps_cb_qp_offset及びpps_cr_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素ChromaArrayTypeが0に等しいとき、シンタックス要素pps_cb_qp_offset及びpps_cr_qp_offsetは復号プロセスで使用されず、デコーダはこれらの値を無視することができる。シンタックス要素pps_cb_qp_offset及びpps_cr_qp_offsetが存在しないとき、シンタックス要素pps_cb_qp_offset及びpps_cr_qp_offsetの値は0に等しいと推定されることができる。
【0107】
表4において、1に等しいPPSレベルジョイントCbCr残差コーディング(JCCR)QPオフセット存在シンタックス要素pps_joint_cbcr_qp_offset_present_flagは、pps_joint_cbcr_qp_offset_value及びjoint_cbcr_qp_offset_list[i]がPPS RBSPシンタックス構造内に存在することを規定する。0に等しいシンタックス要素pps_joint_cbcr_qp_offset_present_flagは、pps_joint_cbcr_qp_offset_value及びjoint_cbcr_qp_offset_list[i]がPPS RBSPシンタックス構造内に存在しないことを規定する。シンタックス要素ChromaArrayTypeが0に等しい又はSPSレベルJCCR有効化フラグsps_joint_cbcr_enabled_flagが0に等しいとき、シンタックス要素pps_joint_cbcr_qp_offset_present_flagは0に等しいとすることができる。シンタックス要素pps_joint_cbcr_qp_offset_present_flagが存在しないとき、シンタックス要素pps_joint_cbcr_qp_offset_present_flagは0に等しいと推定されることができる。
【0108】
表4において、シンタックス要素pps_joint_cbcr_qp_offset_valueは、JCCRモードにおけるクロマブロックのクロマQP値(例えば、QpCbCr)を導出するのに使用されるルマQP(例えば、QpY)に対するPPSレベルクロマQPオフセットを規定する。シンタックス要素pps_joint_cbcr_qp_offset_valueの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素ChromaArrayTypeが0に等しい又はSPSレベルJCCR有効化フラグシンタックス要素sps_joint_cbcr_enabled_flagが0に等しいとき、シンタックス要素pps_joint_cbcr_qp_offset_valueは復号プロセスで使用されず、デコーダはシンタックス要素pps_joint_cbcr_qp_offset_valueの値を無視することができる。シンタックス要素pps_joint_cbcr_qp_offset_present_flagが0に等しいとき、シンタックス要素pps_joint_cbcr_qp_offset_valueは存在せず、0に等しいと推定されることができる。
【0109】
表4において、1に等しいシンタックス要素pps_slice_chroma_qp_offsets_present_flagは、クロマQPオフセットに関係するスライスレベルシンタックス要素slice_cb_qp_offset及びslice_cr_qp_offsetがスライスヘッダ内に存在することを規定する。0に等しいシンタックス要素pps_slice_chroma_qp_offsets_present_flagは、シンタックス要素slice_cb_qp_offset及びslice_cr_qp_offsetがスライスヘッダ内に存在しないことを規定する。シンタックス要素pps_slice_chroma_qp_offsets_present_flagが存在しない又はシンタックス要素ChromaArrayTypeが0に等しいとき、シンタックス要素pps_slice_chroma_qp_offsets_present_flagは0に等しいと推定されることができる。
【0110】
表5は、HS内のクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表5】
【0111】
表5において、シンタックス要素slice_cb_qp_offsetは、クロマQP(例えば、QpCb)の値を決定する際に、例えば表4内のものなどのシンタックス要素pps_cb_qp_offsetの値に足される差分を規定する。シンタックス要素slice_cb_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素slice_cb_qp_offsetが存在しないとき、シンタックス要素slice_cb_qp_offsetは0に等しいと推定されることができる。シンタックス要素pps_cb_qp_offsetとslice_cb_qp_offsetとの合計値(例えば、pps_cb_qp_offset+slice_cb_qp_offset)は、両端を含めて、-12から+12までの範囲内とすることができる。
【0112】
表5において、シンタックス要素slice_cr_qp_offsetは、クロマQP(例えば、QpCr)の値を決定する際に、例えば表4内のものなどのシンタックス要素pps_cr_qp_offsetの値に足される差分を規定する。シンタックス要素slice_cr_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素slice_cr_qp_offsetが存在しないとき、シンタックス要素slice_cr_qp_offsetは0に等しいと推定されることができる。シンタックス要素pps_cr_qp_offsetとslice_cr_qp_offsetとの合計値(例えば、pps_cr_qp_offset+slice_cr_qp_offset)は、両端を含めて、-12から+12までの範囲内とすることができる。
【0113】
表5において、シンタックス要素slice_joint_cbcr_qp_offsetは、クロマQP(例えば、QpCbCr)の値を決定する際に、例えば表4内のものなどのシンタックス要素pps_joint_cbcr_qp_offsetの値に足される差分を規定する。シンタックス要素slice_joint_cbcr_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素slice_joint_cbcr_qp_offsetが存在しないとき、シンタックス要素slice_joint_cbcr_qp_offsetは0に等しいと推定されることができる。シンタックス要素pps_joint_cbcr_qp_offset_valueとslice_joint_cbcr_qp_offsetとの合計値(例えば、pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offset)は、両端を含めて、-12から+12までの範囲内とすることができる。
【0114】
例えばVVCドラフト8などの例において、シンタックス要素ChromaArrayTypeは、シンタックス要素chroma_format_idc及びseparate_colour_plane_flagを介して規定されるものであるクロマフォーマットサンプリング構造に依存する。
【0115】
表6は、シンタックス要素ChromaArrayTypeの例示的な値を示している。
【表6】
【0116】
表7は、例示的なスライスヘッダを示している。表7において、1に等しいシンタックス要素picture_header_in_slice_header_flagは、PPSを参照するSHがPHシンタックス構造を含むことを規定する。
【表7】
【0117】
III. ピクチャヘッダ内でのクロマ量子化パラメータのシグナリング
一例において、クロマQPオフセットは、PHに内でシグナリングされ得る。表8は、PH内のクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表8】
【0118】
表8において、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetは、それぞれ、クロマQP(例えば、QpCb及びQpCr)を導出するのに使用されるルマQP(例えば、QpY)に対するPHレベルクロマQPオフセットを規定する。シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetが存在しない場合、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetの値は0に等しいと推定されることができる。例えば表4内のものなどのシンタックス要素pps_cb_qp_offsetと例えば表6内のものなどのph_cb_qp_offsetとの合計値(例えば、pps_cb_qp_offset+ph_cb_qp_offset)は、両端を含めて、-12から+12の範囲内とすることができる。例えば表4内のものなどのシンタックス要素pps_cr_qp_offsetと例えば表6内のものなどのph_cr_qp_offsetとの合計値(例えば、pps_cr_qp_offset+ph_cr_qp_offset)は、両端を含めて、-12から+12の範囲内とすることができる。
【0119】
一例において、クロマQPオフセットは、クロマフォーマット(例えば、クロマカラーフォーマット又は表6内のシンタックス要素ChromaArrayType)に基づいて、PH内で、条件付きでシグナリングされることができる。シンタックス要素ChromaArrayTypeが0に等しくないとき、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetをシグナリングすることができる。ビットストリームにクロマ成分がないとき、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetはシグナリングされない。
【0120】
表9は、シンタックス要素ChromaArrayTypeに基づくPH内のクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表9】
【0121】
表9において、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetは、それぞれ、クロマQP(例えば、QpCb及びQpCr)を導出するのに使用されるルマQP(例えば、QpY)に対するPHレベルクロマQPオフセットを規定する。シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetが存在しない場合、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetの値は0に等しいと推定されることができる。シンタックス要素pps_cb_qp_offsetとph_cb_qp_offsetとの合計値(例えば、pps_cb_qp_offset+ph_cb_qp_offset)は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素pps_cr_qp_offsetとph_cr_qp_offsetとの合計値(例えば、pps_cr_qp_offset+ph_cr_qp_offset)は、両端を含めて、-12から+12までの範囲内とすることができる。
【0122】
一例において、クロマQPオフセットは、クロマQP値を導出するためにPH及びSHの双方内でシグナリングされて、異なるレベルのクロマQP粒度を達成することができる。例えば、クロマQP値は、シグナリングされたクロマQPオフセットに基づいて、次のように導出されることができる:
QpCb=Clip3(-QpBdOffset,63,QpCb+pps_cb_qp_offset+ph_cb_qp_offset+
slice_cb_qp_offset+CuQpOffsetCb)+QpBdOffset (式3)
QpCr=Clip3(-QpBdOffset,63,QpCr+pps_cr_qp_offset+ph_cr_qp_offset+
slice_cr_qp_offset+CuQpOffsetCr) +QpBdOffset (式4)
【0123】
一例において、クロマQPオフセットがPH又はSHのいずれかでシグナリングされることを指し示すために、フラグ(例えば、表10内のシンタックス要素chroma_qp_offset_info_in_ph_flag)をシグナリングすることができる。このフラグはまた、QPオフセット値を条件付けるためにも使用されることができる。このフラグは、PPS内でシグナリングされることができる。
【0124】
表10は、クロマQPオフセットがPH又はSHのいずれかでシグナリングされることを指し示す例示的なフラグを示している。
【表10】
【0125】
表10において、1に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、クロマQPオフセット情報がPHシンタックス構造内に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内には存在しないことを規定する。0に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、クロマQPオフセット情報がPHシンタックス構造内には存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内に存在し得ることを規定する。シンタックス要素chroma_qp_offset_info_in_ph_flagが存在しないとき、シンタックス要素chroma_qp_offset_info_in_ph_flagは0に等しいと推定されることができる。
【0126】
表11は、シンタックス要素chroma_qp_offset_info_in_ph_flagに基づくPH内のクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表11】
【0127】
表11において、1に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetがPHシンタックス構造内に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内には存在しないことを規定する。0に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetがPHシンタックス構造内には存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内に存在し得ることを規定する。
【0128】
表11において、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetは、それぞれ、クロマQP(例えば、QpCb及びQpCr)を導出するのに使用されるルマQP(例えば、QpY)に対するPHレベルクロマQPオフセットを規定する。シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetが存在しないとき、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetの値は0に等しいと推定されることができる。シンタックス要素pps_cb_qp_offsetとph_cb_qp_offsetとの合計値(例えば、pps_cb_qp_offset+ph_cb_qp_offset)の合計値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素pps_cr_qp_offsetとph_cr_qp_offsetとの合計値(例えば、pps_cr_qp_offset+ph_cr_qp_offset)は、両端を含めて、-12から+12までの範囲内とすることができる。
【0129】
表12は、シンタックス要素chroma_qp_offset_info_in_ph_flagに基づくSH内のクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表12】
【0130】
表12において、0に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、シンタックス要素slice_cb_qp_offset及びslice_cr_qp_offsetが、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内に存在することを規定する。シンタックス要素chroma_qp_offset_info_in_ph_flagが存在しない又はシンタックス要素ChromaArrayTypeが0に等しいとき、シンタックス要素chroma_qp_offset_info_in_ph_flagは0に等しいと推定されることができる。
【0131】
一例において、クロマQPオフセットは、クロマQP値を導出するためにPH又はSHのいずれか内でシグナリングされて、異なるレベルのクロマQP粒度を達成することができる。例えば、クロマQP値は、次のように導出されることができる:
QpCb=Clip3(-QpBdOffset,63,QpCb+pps_cb_qp_offset+
(chroma_qp_offset_info_in_ph_flag?ph_cb_qp_offset:slice_cb_qp_offset)+
CuQpOffsetCb)+QpBdOffset (式5)
QpCr=Clip3(-QpBdOffset,63,QpCr+pps_cr_qp_offset+
(chroma_qp_offset_info_in_ph_flag?ph_cr_qp_offset:slice_cr_qp_offset)+
CuQpOffsetCr)+QpBdOffset (式6)
【0132】
(式5)及び(式6)では、シンタックス要素chroma_qp_offset_info_in_ph_flagの値に応じて、各式に対して1つのクロマQPオフセットのみを使用して、対応するクロマQP値を導出することができる。
【0133】
一例において、JCCRモードにおけるクロマブロックのクロマQPオフセットは、PH内でシグナリングされることができる。
【0134】
表13は、PH内のJCCRモードにおけるクロマブロックのクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表13】
【0135】
表13において、シンタックス要素ph_joint_cbcr_qp_offsetは、JCCRモードでクロマブロックのクロマQP値(例えば、QpCbCr)を導出するのに使用されるルマQP(例えば、QpY)に対するクロマQPオフセットを規定する。シンタックス要素ph_joint_cbcr_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素ph_joint_cbcr_qp_offsetが存在しないとき、シンタックス要素ph_joint_cbcr_qp_offsetの値は0に等しいと推定されることができる。表4内のシンタックス要素pps_joint_cbcr_qp_offset_valueとph_joint_cbcr_qp_offsetとの合計値(例えば、pps_joint_cbcr_qp_offset_value+ph_joint_cbcr_qp_offset)は、両端を含めて、-12から+12までの範囲内とすることができる。
【0136】
一例において、JCCRモードにおけるクロマブロックのクロマQPオフセットは、クロマフォーマット(例えば、クロマカラーフォーマット又はシンタックス要素ChromaArrayType)に基づいて、PH内で、条件付きでシグナリングされることができる。
【0137】
表14は、シンタックス要素ChromaArrayTypeに基づくPH内のJCCRモードにおけるクロマブロックのクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表14】
【0138】
表14において、シンタックス要素ChromaArrayTypeが0に等しくないとき、シンタックス要素ph_cb_qp_offset及びph_cr_qp_offsetをシグナリングすることができる。ビットストリームにクロマ成分がないとき、シンタックス要素ph_joint_cbcr_qp_offsetはPH内でシグナリングされることができる。ビットストリームにクロマ成分が存在しないとき、シンタックス要素ph_joint_cbcr_qp_offsetはシグナリングされない。シンタックス要素ph_joint_cbcr_qp_offsetは、JCCRモードにおけるクロマブロックのクロマQP値(例えば、QpCbCr)を導出するのに使用されるルマQP(例えば、QpY)に対するPHレベルクロマQPオフセットを規定する。シンタックス要素ph_joint_cbcr_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素ph_joint_cbcr_qp_offsetが存在しないとき、シンタックス要素ph_joint_cbcr_qp_offsetの値は0に等しいと推定されることができる。表4内のシンタックス要素pps_joint_cbcr_qp_offset_valueとph_joint_cbcr_qp_offsetとの合計値(例えば、pps_joint_cbcr_qp_offset_value+ph_joint_cbcr_qp_offset)は、両端を含めて、-12から+12までの範囲とすることができる。
【0139】
一例において、JCCRモードにおけるクロマブロックのクロマQPオフセットは、JCCRモードにおけるクロマブロックのクロマQP値を導出するためにPH及びSHの双方内でシグナリングされて、異なるレベルの粒度のクロマQPを達成することができる。例えば、JCCRモードにおけるクロマブロックのクロマQP値は、次のように導出されることができる:
QpCbCr=Clip3(-QpBdOffset,63,QpCbCr+pps_joint_cbcr_qp_offset_value+
ph_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffsetCbCr)+
QpBdOffset (式7)
【0140】
一例において、JCCRモードにおけるクロマブロックのクロマQPオフセットがPH又はSHのいずれか内でシグナリングされることができることを指し示すために、フラグ(例えば、表10内のシンタックス要素chroma_qp_offset_info_in_ph_flag)をシグナリングすることができる。このフラグはまた、クロマQPオフセット値を条件付けるためにも使用されることができる。
【0141】
表15は、シンタックス要素chroma_qp_offset_info_in_ph_flagに基づくPH内のクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表15】
【0142】
表15において、1に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、クロマQPオフセットに関係するPHレベルシンタックス要素ph_cb_qp_offset、ph_cr_qp_offset、及びph_joint_cbcr_qp_offsetがPHシンタックス構造内に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内には存在しないことを規定する。0に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、シンタックス要素ph_cb_qp_offset、ph_cr_qp_offset、及びph_joint_cbcr_qp_offsetがPHシンタックス構造内には存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内に存在し得ることを規定する。
【0143】
表15において、シンタックス要素ph_joint_cbcr_qp_offsetは、JCCRモードにおけるクロマブロックのクロマQP値(例えば、QpCbCr)を導出するのに使用されるルマQP(例えば、QpY)に対するクロマQPオフセットを規定する。シンタックス要素ph_joint_cbcr_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素ph_joint_cbcr_qp_offsetが存在しないとき、シンタックス要素ph_joint_cbcr_qp_offsetの値は0に等しいと推定されることができる。表4内のシンタックス要素pps_joint_cbcr_qp_offset_valueとph_joint_cbcr_qp_offsetとの合計値(例えば、pps_joint_cbcr_qp_offset_value+ph_joint_cbcr_qp_offset)は、両端を含めて、-12から+12までの範囲とすることができる。
【0144】
表16は、シンタックス要素chroma_qp_offset_info_in_ph_flagに基づくSH内のクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表16】
【0145】
表16において、0に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、クロマQPオフセットに関係するスライスレベルシンタックス要素slice_cb_qp_offset、slice_cr_qp_offset及びslice_joint_cbcr_qp_offsetが、PHシンタックス構造を含まないPPSを参照するSHシンタックス構造内に存在し、PH内に存在しないことを規定する。1に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、シンタックス要素slice_cb_qp_offset、slice_cr_qp_offset及びslice_joint_cbcr_qp_offsetが、PHシンタックス構造を含まないPPSを参照するSHシンタックス構造内には存在せず、PHシンタックス構造内に存在し得ることを規定する。
【0146】
表16において、シンタックス要素slice_joint_cbcr_qp_offsetは、JCCRモードにおけるクロマブロックのクロマQP値(例えば、QpCbCr)を導出するのに使用されるルマQP(例えば、QpY)に対するクロマQPオフセットを規定する。シンタックス要素slice_joint_cbcr_qp_offsetの値は、両端を含めて、-12から+12までの範囲内とすることができる。シンタックス要素slice_joint_cbcr_qp_offsetが存在しないとき、シンタックス要素slice_joint_cbcr_qp_offsetの値は0に等しいと推定されることができる。例えば表4内のものなどのシンタックス要素pps_joint_cbcr_qp_offset_valueとslice_joint_cbcr_qp_offsetとの合計値(例えば、pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offset)は、両端を含めて、-12から+12までの範囲内とすることができる。
【0147】
一例において、クロマQP値は、次のように導出されることができる:
QpCbCr=Clip3(-QpBdOffset,63,QpCbCr+pps_joint_cbcr_qp_offset_value+
(chroma_qp_offset_info_in_ph_flag?ph_joint_cbcr_qp_offset:
slice_joint_cbcr_qp_offset)+CuQpOffsetCbCr)+QpBdOffset (式8)
【0148】
(式8)では、シンタックス要素chroma_qp_offset_info_in_ph_flagの値に応じて、1つのクロマQPオフセットのみを使用して、JCCRモードにおけるクロマブロックのクロマQP値を導出することができる。
【0149】
IV. クロマ量子化パラメータのシグナリング
この開示は、クロマQP情報のシグナリングに向けられた実施形態を含む。この開示の一部の実施形態によれば、クロマQP情報は、例えば表10内のシンタックス要素chroma_qp_offset_info_in_ph_flagなどの、クロマQPオフセットに関係する一部のシンタックス要素を符号化/復号することなく、PH内でシグナリングされることができる。
【0150】
一実施形態において、PPS内のシンタックス要素を用いて、グローバルQPオフセットがどこでシグナリングされるか、例えば、グローバルQPオフセットがPH内又はSH内でシグナリングされるかを指し示すことができる。グローバルルマQPオフセットがPH内又はSH内でシグナリングされるかを指し示すものである例えば表1内のものなどの既存のシンタックス要素qp_delta_info_in_ph_flagを用いて、グローバルクロマQPオフセットがPH内又はSH内でシグナリングされるかを指し示すことができる。このフラグはまた、QPオフセット値を条件付けるためにも使用されることができる。
【0151】
表17は、シンタックス要素qp_delta_info_in_ph_flagに基づくクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表17】
【0152】
表17において、1に等しいシンタックス要素qp_delta_info_in_ph_flagは、ルマ及びクロマ双方のQPオフセット情報がPHシンタックス構造内に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内には存在しないことを規定する。0に等しいシンタックス要素qp_delta_info_in_ph_flagは、ルマ及びクロマ双方のQPオフセット情報がPHシンタックス構造内には存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内に存在し得ることを規定する。
【0153】
一実施形態において、現在ピクチャが更には分割されないことをフラグが指し示すとき(例えば、表1内のシンタックス要素no_pic_partition_flagが1に等しいとき)、表10内のシンタックス要素chroma_qp_offset_info_in_ph_flagはシグナリングされなくてもよい。
【0154】
表18は、シンタックス要素no_pic_partition_flagに基づくクロマQPオフセットに関係する例示的なシンタックス要素を示している。
【表18】
【0155】
表18において、1に等しいシンタックス要素no_pic_partition_flagは、現在ピクチャが更には分割されず、故に、1つのスライスのみを含むことを規定する。0に等しいシンタックス要素no_pic_partition_flagは、現在ピクチャが更に分割されることができ、故に、2つ以上のスライスを含むことを規定する。シンタックス要素no_pic_partition_flagが1に等しいとき、シンタックス要素chroma_qp_offset_info_in_ph_flagはシグナリングされない。一実施形態において、シンタックス要素chroma_qp_offset_info_in_ph_flagが存在しないとき、シンタックス要素chroma_qp_offset_info_in_ph_flagの値は1に等しいと推定されることができる。従って、PH内のグローバルクロマQPオフセットをクロマQP値の導出に用いることができる。
【0156】
一実施形態において、現在ピクチャのピクチャヘッダが現在ピクチャのスライスヘッダに含まれることをフラグが指し示すとき(例えば、表7内のシンタックス要素picture_header_in_slice_header_flagが1に等しいとき)、シンタックス要素chroma_qp_offset_info_in_ph_flagは1に等しいとすることができる。1に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、クロマQPオフセット情報がPHシンタックス構造内に存在し、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内には存在しないことを規定する。0に等しいシンタックス要素chroma_qp_offset_info_in_ph_flagは、QPオフセット情報がPHシンタックス構造内には存在せず、PHシンタックス構造を含まないPPSを参照するスライスヘッダ内に存在し得ることを規定する。シンタックス要素chroma_qp_offset_info_in_ph_flagが存在しないとき、シンタックス要素chroma_qp_offset_info_in_ph_flagの値は0に等しいと推定されることができる。PPSを参照するスライスヘッダがPHシンタックス構造を含むとき(例えば、シンタックス要素picture_header_in_slice_header_flagが1に等しいとき)、シンタックス要素chroma_qp_offset_info_in_ph_flagは1に等しいとし得ることが、ビットストリーム適合の要件である。
【0157】
V. クロマ量子化パラメータマッピング
例えばHEVCなどの関連する一部の例において、クロマフォーマットが4:2:0である場合、ルマQP QpYをクロマQP QpCb及びQpCrに変換するために、クロマQP QpCb及びQpCrの両方に、固定のルックアップテーブルを使用することができる。それ以外の場合、クロマQP QpCb及びQpCrは、QpYと51との間の最小値に等しく設定されることができる。
【0158】
例えばVVCドラフト9などの例では、より柔軟なルマ・ツー・クロマQPマッピングが使用される。固定のテーブルの代わりに、柔軟な区分的線形モデルを用いてルマ・ツー・クロマQPマッピング関係がSPS内でシグナリングされる。区分的線形モデルの1つの制約は、各区分の傾きが負になり得ないことである。すなわち、ルマQPが増加するとき、クロマQPは平坦なままであるか増加するかであり、減少することはできない。区分的線形モデルは、(i)モデル内の区分の数と、(ii)各区分の入力(ルマ)及び出力(クロマ)デルタQPとによって定義されることができる。QPマッピングの関係は、Cb、Cr、及びジョイントCbCr残差コーディングについて別々にシグナリングされることができ、あるいは、一度にシグナリングされて、3つのタイプ全ての残差コーディングに使用されることができる。
【0159】
なお、HEVCとは異なり、VVCにおけるルマ・ツー・クロマQPマッピングは、4:2:0、4:2:2、及び4:4:4のクロマフォーマットに使用されることができる。すなわち、これらのクロマフォーマットに対し、ルマ・ツー・クロマQPマッピングに関係するシンタックス要素をシグナリングすることができる。
【0160】
表19は、SPS内でシグナリングされるルマ・ツー・クロマQPマッピングに関係する例示的なシンタックス要素を示している。
【表19】
【0161】
表19において、1に等しいシンタックス要素sps_same_qp_table_for_chroma_flagは、1つのルマ・ツー・クロマQPマッピングテーブルのみがシグナリングされ、このテーブルを、Cb及びCrの両方の残差に適用することができ、また、SPSレベルのJCCR有効化フラグsps_joint_cbcr_enabled_flagが1に等しいときに更にジョイントCbCr残差に適用することができることを規定する。0に等しいシンタックス要素sps_same_qp_table_for_chroma_flagは、Cb及びCr用に2つ、及びシンタックス要素sps_joint_cbcr_enabled_flagが1に等しいときにはジョイントCbCr用に追加の1つ、のルマ・ツー・クロマQPマッピングテーブルがSPS内でシグナリングされることを規定する。シンタックス要素sps_same_qp_table_for_chroma_flagが存在しないとき、シンタックス要素sps_same_qp_table_for_chroma_flagの値は1に等しいと推定されることができる。
【0162】
表19において、シンタックス要素sps_qp_table_start_minus26[i]に26を足したものは、i番目のルマ・ツー・クロマQPマッピングテーブルを記述するのに使用される開始ルマ及びクロマQPを規定する。シンタックス要素sps_qp_table_start_minus26[i]の値は、両端を含めて、-26-QpBdOffsetから36までの範囲内とすることができる。シンタックス要素sps_qp_table_start_minus26[i]が存在しないとき、シンタックス要素sps_qp_table_start_minus26[i]の値は0に等しいと推定されることができる。
【0163】
表19において、シンタックス要素sps_num_points_in_qp_table_minus1[i]に1を足したものは、i番目のルマ・ツー・クロマQPマッピングテーブルを記述するのに使用される点の数を規定する。シンタックス要素sps_num_points_in_qp_table_minus1[i]の値は、両端を含めて、0から63+QpBdOffsetまでの範囲内とすることができる。シンタックス要素sps_num_points_in_qp_table_minus1[i]が存在しないとき、シンタックス要素sps_num_points_in_qp_table_minus1[0]の値は0に等しいと推定されることができる。
【0164】
表19において、シンタックス要素sps_delta_qp_in_val_minus1[i][j]は、i番目のルマ・ツー・クロマQPマッピングテーブルのj番目のピボット点の入力座標を導出するのに使用されるデルタ値を規定する。シンタックス要素sps_delta_qp_in_val_minus1[0][j]が存在しないとき、シンタックス要素sps_delta_qp_in_val_minus1[0][j]の値は0に等しいと推定されることができる。
【0165】
表19において、シンタックス要素sps_delta_qp_diff_val[i][j]は、i番目のルマ・ツー・クロマQPマッピングテーブルのj番目のピボット点の出力座標を導出するのに使用されるデルタ値を規定する。
【0166】
ルマ及びクロマQP範囲オフセットの値はQpBdOffsetである。
【0167】
一例において、i=0..numQpTables-1での、i番目のルマ・ツー・クロマQPマッピングテーブルChromaQpTable[i]は表20にて導出されることができる。
【表20】
【0168】
表20において、シンタックス要素sps_same_qp_table_for_chroma_flagが1に等しいとき、両端を含めて-QpBdOffsetから63までの範囲内のkについて、シンタックス要素ChromaQpTable[1][k]及びChromaQpTable[2][k]がChromaQpTable[0][k]に等しく設定される。
【0169】
両端を含めて0からnumQpTables-1までの範囲内のi、及び両端を含めて0からsps_num_points_in_qp_table_minus1[i]+1までの範囲内のjについて、シンタックス要素qpInVal[i][j]及びqpOutVal[i][j]の値が、両端を含めて-QpBdOffsetから63までの範囲内であるとし得ることが、ビットストリーム適合の要件である。
【0170】
しかし、i番目のルマ・ツー・クロマQPマッピングテーブルについてのシンタックス要素sps_num_points_in_qp_table_minus1[i]が、63+QpBdOffsetに等しい値を持つとき、シンタックス要素qpInVal[i][63+QpBdOffset+1]は、最大QP値(例えば、63)を超える値を持つ。
【0171】
上述のように、ルマ・ツー・クロマQPマッピングのこの設計は、一部のケースでQP値が最大QP値(例えば、63)を超えることを生じさせ得る。さらに、4:2:0ではないクロマフォーマットの場合、クロマQP QpCb及びQpCrはルマQP QpYに等しく設定されることができる(例えば、4:4:4の場合)。
【0172】
この開示は、ルマ・ツー・クロマQPマッピングに向けられた実施形態を含む。
【0173】
一実施形態において、ルマ・ツー・クロマQPマッピングに関係するシンタックス要素の範囲は、クロマQP値が最大QP値を超えないように制限される。例えば、シンタックス要素sps_num_points_in_qp_table_minus1[i]の範囲は、両端を含めて0から(63+QpBdOffset-1)までの範囲内に制限される。このような制約があると、シンタックス要素sps_num_points_in_qp_table_minus1[i]が、i番目のルマ・ツー・クロマQPマッピングテーブルについて63+QpBdOffset-1に等しいとき、シンタックス要素qpInVal[i][63+QpBdOffset]は最大QP値63を超えない。
【0174】
一実施形態において、ルマ・ツー・クロマQPマッピング導出は、クロマQP QpCb及びQpCrがルマQP QpYに等しく設定される場合に単純化されることができる。
【0175】
表21は、ルマ・ツー・クロマQPマッピングテーブルを導出するのに必要とされる例示的なシンタックス要素と、最悪ケースでのそれらの範囲とを示している。
【表21】
【0176】
一実施形態において、クロマQP QpCb及びQpCrがルマQP QpYに等しく設定されるルマ・ツー・クロマQPマッピングテーブルを導出するために、ルマ・ツー・クロマQPマッピングに関係するシンタックス要素がシグナリングされるかを指し示すよう、シンタックス要素(例えば、表22内のsps_chroma_qp_identical_to_luma_flag)をシグナリングすることができる。
【0177】
表22は、ルマ・ツー・クロマQPマッピングに関係するシンタックス要素がシグナリングされるかを指し示す例示的なシンタックス要素を示している。
【表22】
【0178】
表22において、1に等しいシンタックス要素sps_chroma_qp_identical_to_luma_flagは、各クロマQPがルマQPの値と同じ値を持ち、故に、ルマ・ツー・クロマQPマッピングに関係するシンタックス要素がシグナリングされないことを規定する。0に等しいシンタックス要素sps_chroma_qp_identical_to_luma_flagは、各クロマQPがルマQPの値と同じ値を持たず、故に、ルマ・ツー・クロマQPマッピングに関係するシンタックス要素がシグナリングされ得ることを規定する。シンタックス要素sps_chroma_qp_identical_to_luma_flagが存在しないとき、シンタックス要素sps_chroma_qp_identical_to_luma_flagの値は1に等しいと推定されることができる。
【0179】
表22において、シンタックス要素sps_delta_qp_diff_val[i][j]は、i番目のルマ・ツー・クロマQPマッピングテーブルのj番目のピボット点の出力座標を導出するのに使用されるデルタ値を規定する。シンタックス要素sps_chroma_qp_identical_to_luma_flagが1に等しいとき、シンタックス要素sps_delta_qp_diff_val[i][j]の値は1に等しいと推定されることができる。
【0180】
VII. フローチャート
図8は、本開示の一実施形態に従った例示的なプロセス(800)を概説するフローチャートを示している。様々な実施形態において、プロセス(800)は、例えば、端末装置(210)、(220)、(230)及び(240)の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、イントラデコーダ(772)の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行される。一部の実施形態において、プロセス(800)は、ソフトウェア命令にて実装され、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(800)を実行する。
【0181】
プロセス(800)は概してステップ(S810)で開始することができ、そこで、プロセス(800)は、符号化映像シーケンスの一部である現在ピクチャ内の現在ブロックについての予測情報を復号する。予測情報は、ルマ成分のQP情報及び現在ブロックのクロマ成分のQP情報の両方が当該予測情報に含まれるかを指し示す第1のシンタックス要素を含む。第1のシンタックス要素が、ルマ成分のQP情報及びクロマ成分のQP情報の両方が予測情報に含まれることを指し示すとき、プロセス(800)はステップ(S820)に進む。そうでない場合、プロセス(800)はステップ(S830)に進む。
【0182】
ステップ(S820)にて、プロセス(800)は、予測情報に含まれるルマ成分のQP情報とクロマ成分のQP情報とに基づいてクロマ成分のQPを決定する。そして、プロセス(800)はステップ(S860)に進む。
【0183】
一実施形態において、ルマ成分のQP情報及びクロマ成分のQP情報の両方が現在ピクチャのピクチャヘッダに含まれることを指し示す予測情報内の第1のシンタックス要素に基づき、クロマ成分のQP情報は現在ピクチャのピクチャヘッダに含まれる。
【0184】
一実施形態において、現在ピクチャが更に分割されないことを指し示す予測情報内の第2のシンタックス要素に基づき、クロマ成分のQP情報は現在ピクチャのピクチャヘッダに含まれる。
【0185】
一実施形態において、現在ピクチャのピクチャヘッダが現在ピクチャのスライスヘッダに含まれることを指し示す予測情報内の第3のシンタックス要素に基づき、クロマ成分のQP情報は現在ピクチャのピクチャヘッダに含まれる。
【0186】
ステップ(S830)にて、プロセス(800)は、ルマ成分のQPが現在ブロックのクロマ成分のQPに等しいかを指し示す予測情報内の第4のシンタックス要素を復号する。予測情報内の第4のシンタックス要素が、ルマ成分のQPが現在ブロックのクロマ成分のQPに等しいことを指し示すとき、プロセス(800)はステップ(S840)に進む。そうでない場合、プロセス(800)はステップ(S850)に進む。
【0187】
ステップ(S840)にて、プロセス(800)は、ルマ成分のQPをクロマ成分のQPとして決定する。そして、プロセス(800)はステップ(S860)に進む。
【0188】
ステップ(S850)にて、プロセス(800)は、ルマ・ツー・クロマ(luma-to-chroma)QPマッピングテーブルに基づいてクロマ成分のQPを決定する。そして、プロセス(800)はステップ(S860)に進む。
【0189】
一実施形態において、ルマ・ツー・クロマQPマッピングテーブルは予測情報に含まれる。
【0190】
ステップ(S860)にて、プロセス(800)は、クロマ成分のQPに基づいて現在ブロックを再構成する。そして、プロセス(800)は終了する。
【0191】
本開示では特定の値を用いてシンタックス要素を説明しているが、これらの値は単に例示的なものであることに留意されたい。これらのシンタックス要素のうちの1つ以上が、同じ情報をシグナリングするのに他の値を使用してもよい。
【0192】
図9は、本開示の一実施形態に従った例示的なプロセス(900)を概説する他のフローチャートを示している。様々な実施形態において、プロセス(900)は、例えば、端末装置(210)、(220)、(230)及び(240)の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、イントラデコーダ(772)の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行される。一部の実施形態において、プロセス(900)は、ソフトウェア命令にて実装され、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(900)を実行する。
【0193】
プロセス(900)は概してステップ(S910)で開始することができ、そこで、プロセス(900)は、符号化映像シーケンスの一部である現在ピクチャ内の現在ブロックについての予測情報を復号する。予測情報は、ルマ成分のQP情報及び現在ブロックのクロマ成分のQP情報の両方が当該予測情報に含まれるかを指し示すシンタックス要素を含む。第1のシンタックス要素が、ルマ成分のQP情報及びクロマ成分のQP情報の両方が予測情報に含まれることを指し示すとき、そして、プロセス(900)はステップ(S920)に進む。
【0194】
ステップ(S920)にて、プロセス(900)は、ルマ成分のQP情報及び現在ブロックのクロマ成分のQP情報の両方が予測情報に含まれることをシンタックス要素が指し示すことに基づき、クロマ成分のQPを決定する。一実施形態において、シンタックス要素は、ルマ成分のQP情報及び現在ブロックのクロマ成分のQP情報の両方がPHシンタックス構造に含まれることを指し示し、プロセス(900)は、PHシンタックス構造内のルマ成分のQP情報とクロマ成分のQP情報とに基づいて、クロマ成分のQPを決定する。そして、プロセス(900)はステップ(S930)に進む。
【0195】
ステップ(S930)にて、プロセス(900)は、クロマ成分のQPに基づいて現在ブロックを再構成する。そして、プロセス(900)は終了する。
【0196】
図10は、本開示の一実施形態に従った例示的なプロセス(1000)を概説する他のフローチャートを示している。様々な実施形態において、プロセス(1000)は、例えば、端末装置(210)、(220)、(230)及び(240)の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、イントラデコーダ(772)の機能を実行する処理回路、及びこれらに類するものなどの、処理回路によって実行される。一部の実施形態において、プロセス(1000)は、ソフトウェア命令にて実装され、従って、処理回路がソフトウェア命令を実行するときに、処理回路がプロセス(1000)を実行する。
【0197】
プロセス(1000)は概してステップ(S1010)で開始することができ、そこで、プロセス(1000)は、符号化映像シーケンスの一部である現在ピクチャ内の現在ブロックについての予測情報を復号する。予測情報は、ルマ成分のQPが現在ブロックのクロマ成分のQPに等しいかを指し示すシンタックス要素を含む。シンタックス要素が、ルマ成分のQPが現在ブロックのクロマ成分のQPに等しいことを指し示すとき、プロセス(1000)はステップ(S1020)に進む。そうでない場合、プロセス(1000)はステップ(S1030)に進む。
【0198】
ステップ(S1020)にて、プロセス(1000)は、ルマ成分のQPをクロマ成分のQPとして決定する。そして、プロセス(1000)はステップ(S1040)に進む。
【0199】
ステップ(S1030)にて、プロセス(1000)は、ルマ・ツー・クロマQPマッピングテーブルに基づいてクロマ成分のQPを決定する。そして、プロセス(1000)はステップ(S1040)に進む。
【0200】
ステップ(S1040)にて、プロセス(1000)は、クロマ成分のQPに基づいて現在ブロックを再構成する。
【0201】
VIII. コンピュータシステム
上述の技術は、1つ以上のコンピュータ読み取り可能媒体に物理的に格納された、コンピュータ読み取り可能命令を用いたコンピュータソフトウェアとして、実装されることができる。例えば、図11は、開示に係る事項の特定の実施形態を実装するのに好適なコンピュータシステム(1100)を示している。
【0202】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、又は同様の機構に掛けられることで、直接的に又はインタープリット、マイクロコード実行及びこれらに類するものを介して1つ以上のコンピュータ中央演算処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、及びこれらに類するものによって実行されることが可能な命令を有するコードを作り出し得るような、任意の好適な機械コード又はコンピュータ言語を用いてコード化され得る。
【0203】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、及びこれらに類するものを含め、様々なタイプのコンピュータ又はそのコンポーネント上で実行され得る。
【0204】
コンピュータシステム(1100)に関して図11に示したコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能性の範囲についての何らかの限定を示唆する意図はない。また、コンポーネントの構成も、コンピュータシステム(1100)のこの例示的な実施形態に示されたコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性又は要件も持つものとして解釈されるべきでない。
【0205】
コンピュータシステム(1100)は、特定のヒューマンインタフェース入力装置を含んでもよい。そのようなヒューマンインタフェース入力装置は、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブを動かすことなど)、オーディオ入力(例えば、音声、拍手など)、視覚入力(例えば、ジェスチャなど)、嗅覚入力(図示せず)を介した、一人以上の人間ユーザによる入力に応答し得る。ヒューマンインタフェース装置はまた、例えばオーディオ(例えば、会話、音楽、周囲の音など)、画像(例えば、走査画像、静止画カメラから得られる写真画像など)、映像(例えば、二次元映像、立体視映像を含む3次元映像など)などの、人間による意識的な入力には必ずしも直接関係しない特定の媒体を捕捉するために使用されてもよい。
【0206】
入力ヒューマンインタフェース装置は、キーボード(1101)、マウス(1102)、トラックパッド(1103)、タッチスクリーン(1110)、データグローブ(図示せず)、ジョイスティック(1105)、マイクロフォン(1106)、スキャナ(1107)、カメラ(1108)(各々1つのみ図示している)のうちの1つ以上を含み得る。
【0207】
コンピュータシステム(1100)はまた、特定のヒューマンインタフェース出力装置を含み得る。そのようなヒューマンインタフェース出力装置は、例えば、触覚出力、音、光、及び臭い/味を通して、一人以上の人間ユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力装置は、触覚出力装置(例えば、タッチスクリーン(1110)、データグローブ(図示せず)、又はジョイスティック(1105)による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置もあってもよい)、オーディオ出力装置(例えば、スピーカー(1109)、ヘッドフォン(図示せず)など)、視覚出力装置(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1110)(各々がタッチスクリーン入力機能を有する又は有さない。各々が触覚フィードバック機能を有する又は有さない。これらの一部は、二次元の視覚出力、又は例えば立体視出力などの手段を通じて四次元以上の出力を出力することができるとし得る。)、仮想現実グラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)など)、及びプリンタ(図示せず)を含み得る。これらの視覚出力装置(例えばスクリーン(1110)など)は、グラフィックスアダプタ(1150)を介してシステムバス(1148)に接続されることができる。
【0208】
コンピュータシステム(1100)はまた、例えば、CD/DVD若しくは類似の媒体(1121)を有するCD/DVD ROM/RW(1120)を含む光媒体、サムドライブ(1122)、取り外し可能なハードドライブ若しくは又はソリッドステートドライブ(1123)、例えばテープ及びフロッピーディスク(登録商標、図示せず)などのレガシー磁気媒体、例えばセキュリティドングルなどの特殊化されたROM/ASIC/PLDベースの装置(図示せず)、及びこれらに類するものなどの、人間アクセス可能なストレージ装置及びそれらの関連媒体を含み得る。
【0209】
当業者がこれまた理解するはずのことには、ここでの開示に係る事項に関連して使用される用語“コンピュータ読み取り可能媒体”は、伝送媒体、搬送波、又は他の一時的な信号を含まない。
【0210】
コンピュータシステム(1100)はまた、1つ以上の通信ネットワーク(1155)へのインタフェースを含み得る。1つ以上の通信ネットワーク(1155)は、例えば、無線、有線、光とし得る。1つ以上の通信ネットワーク(1155)は更に、ローカル、広域、大都市、車両及び産業、リアルタイム、耐遅延などとし得る。1つ以上の通信ネットワーク(1155)の例は、例えばイーサネット(登録商標)などのローカルエリアネットワークや、無線LANや、GSM、3G、4G、5G、LTE及びこれらに類するものを含むセルラネットワークや、ケーブルTV、衛星TV、及び地上波放送TVを含むTV有線又は無線広域デジタルネットワークや、CANBusを含む車両及び産業などを含む。特定のネットワークは一般に、特定の汎用データポート又はペリフェラルバス(1149)(例えば、コンピュータシステム(1100)のUSBポートなど)に取り付けられる外付けネットワークインタフェースアダプタを必要とし、他のものは一般に、後述のシステムバスへの取り付けによってコンピュータシステム(1100)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインタフェース、又はスマートフォンコンピュータシステムへのセルラネットワークインタフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(1100)は、他のエンティティと通信することができる。そのような通信は、単方向の受信のみ(例えば、放送TV)であってもよいし、単方向の送信のみ(例えば、特定のCANbus装置に対するCANbus)であってもよいし、あるいは、例えばローカル又は広域デジタルネットワークを用いた他のコンピュータシステムに対しての、双方向であってもよい。特定のプロトコル及びプロトコルスタックが、上述のようにネットワーク及びネットワークインタフェースの各々上で使用され得る。
【0211】
前述のヒューマンインタフェース装置、人間アクセス可能なストレージ装置、及びネットワークインタフェースは、コンピュータシステム(1100)のコア(1140)に取り付けられることができる。
【0212】
コア(1140)は、1つ以上の中央演算処理ユニット(CPU)(1141)、グラフィックス処理ユニット(GPU)(1142)、フィールドプログラマブルゲートアレイ(FPGA)(1143)の形態の特殊なプログラム可能なプロセッシングユニット、特定のタスク用のハードウェアアクセラレータ(1144)などを含み得る。これらのデバイスは、読み出し専用メモリ(ROM)(1145)、ランダムアクセスメモリ(1146)、例えば内部のユーザアクセス可能でないハードドライブ、SSDなどの内部大容量ストレージ(1147)、及びこれらに類するもの(1147)と共に、システムバス(1148)を介して接続され得る。一部のコンピュータシステムにおいて、システムバス(1148)は、追加のCPU、GPU、及びこれらに類するものによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能にされ得る。周辺装置は、コアのシステムバス(1148)に直接的に、又はペリフェラルバス(1149)を介して、のいずれで取り付けられてもよい。ペリフェラルバスのアーキテクチャは、PCI、USB、及びこれらに類するものを含む。
【0213】
CPU(1141)、GPU(1142)、FPGA(1143)、及びアクセラレータ(1144)は、組み合わさって前述のコンピュータコードを構成することができる特定の命令を実行し得る。そのコンピュータコードは、ROM(1145)又はRAM(1146)に格納され得る。RAM(1146)には過渡的なデータも格納されることができ、永久的なデータは、例えば内部大容量ストレージ(1147)に格納されることができる。メモリデバイスのいずれかへの高速な記憶及び取り出しが、1つ以上のCPU(1141)、GPU(1142)、大容量ストレージ(1147)、ROM(1145)、RAM(1146)、及びこれらに類するものの近くに付随し得るキャッシュメモリの使用によって可能にされ得る。
【0214】
コンピュータ読み取り可能媒体はその上に、様々なコンピュータ実装処理を実行するためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的に合わせて特別に設計及び構築されたものであってもよいし、あるいは、それらは、コンピュータソフトウェア技術の当業者にとって周知且つ利用可能な種類のものであってもよい。
【0215】
一例として、限定ではなく、アーキテクチャ(1100)、特にコア(1140)、を有するコンピュータシステムは、1つ以上の有形のコンピュータ読み取り可能媒体に具現化されたソフトウェアを(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータ、及びこれらに類するものを含む)が実行することの結果として機能を提供することができる。そのようなコンピュータ読み取り可能媒体は、例えばコア内部の大容量ストレージ(1147)又はROM(1145)などの、非一時的性質のものであるコア(1140)の特定のストレージ、及び上で紹介したようなユーザアクセス可能な大容量ストレージに関連する媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアは、そのような装置に格納され、コア(1140)によって実行されることができる。コンピュータ読み取り可能媒体は、具体的なニーズに従って、1つ以上のメモリデバイス又はチップを含み得る。ソフトウェアは、コア(1140)及び特にその中のプロセッサ(CPU、GPU、FPGA、及びこれらに類するものを含む)に、RAM(1146)に格納されるデータ構造を規定すること、及びそのようなデータ構造を、ソフトウェアによって規定されたプロセスに従って変更することを含めて、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、ここに記載された特定のプロセスを又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに又はソフトウェアと共に動作することができる回路(例えば、アクセラレータ(1144))にて配線された又はその他の方法で具体化されたロジックの結果として、機能を提供してもよい。ソフトウェアへの言及はロジックを含み、また、適当な場合にその逆もまた然りである。コンピュータ読み取り可能媒体への言及は、実行のためのソフトウェアを格納した回路(例えば、集積回路(IC)など)、実行のためのロジックを具体化した回路、又は適当な場合にこれら双方を含み得る。本開示は、ハードウェア及びソフトウェアの好適な組み合わせを含む。
【0216】
この開示は幾つかの例示的な実施形態を記述しているが、開示の範囲に入る変更、置換、及び様々な均等な代替が存在する。従って、理解されることには、当業者は、ここでは明示的に図示されたり説明されたりしていないものの、開示の原理を具体化し、それ故に、その精神及び範囲の中にあるような、数多くのシステム及び方法を考案することができるであろう。
【0217】
付録A:頭字語
AMVP:Advanced Motion Vector Prediction(アドバンスト動きベクトル予測)
ASIC:Application-Specific Integrated Circuit(特定用途向け集積回路)
ATMVP:Alternative/Advanced Temporal Motion Vector Prediction(代替/アドバンスト時間動きベクトル予測)
BMS:benchmark set(ベンチマークセット)
BV:Block Vector(ブロックベクトル)
CANBus:Controller Area Network Bus(コントローラエリアネットワークバス)
CB:Coding Block(コーディングブロック)
CD:Compact Disc(コンパクトディスク)
CPR:Current Picture Referencing(現在ピクチャ参照)
CPUs:Central Processing Units(中央演算処理ユニット)
CRT:Cathode Ray Tube(陰極線管)
CTBs:Coding Tree Blocks(コーディングツリーブロック)
CTUs:Coding Tree Units(コーディングツリーユニット)
CU:Coding Unit(コーディングユニット)。
DPB:Decoder Picture Buffer(デコーダピクチャバッファ)
DVD:Digital Video Disc(デジタルビデオディスク)
FPGA:Field Programmable Gate Areas(フィールドプログラマブルゲートアレイ)
JCCR:Joint CbCr Residual Coding(ジョイントCbCr残差コーディング)
GOPs:Groups of Pictures(グループ・オブ・ピクチャ)
GPUs:Graphics Processing Units(グラフィックス処理ユニット)
GSM:Global System for Mobile communications(グローバルシステムフォーモバイルコミュニケーションズ)
HEVC:High Efficiency Video Coding(ハイエフィシェンシビデオコーディング)
HRD:Hypothetical Reference Decoder(仮説的リファレンスデコーダ)
IBC:Intra Block Copy(イントラブロックコピー)
IC:Integrated Circuit(集積回路)
JEM:joint exploration model(共同探査モデル)
LAN:Local Area Network(ローカルエリアネットワーク)
LCD:Liquid-Crystal Display(液晶ディスプレイ)
LTE:Long-Term Evolution(ロングタームエボリューション)
MV:Motion Vector(動きベクトル)
OLED:Organic Light-Emitting Diode(有機発光ダイオード)
PBs:Prediction Blocks(予測ブロック)
PCI:Peripheral Component Interconnect(ペリフェラルコンポーネントインターコネクト)
PLD:Programmable Logic Device(プログラマブルロジックデバイス)
PUs:Prediction Units(予測ユニット)
RAM:Random Access Memory(ランダムアクセスメモリ)
ROM:Read-Only Memory(読み出し専用メモリ)
SCC:Screen Content Coding(スクリーンコンテンツコーディング)
SEI:Supplementary Enhancement Information(補足強化情報)
SNR:Signal Noise Ratio(信号対雑音比)
SSD:solid-state drive(ソリッドステートドライブ)
TUs:Transform Units,(変換ユニット)
USB:Universal Serial Bus(ユニバーサルシリアルバス)
VUI:Video Usability Information(ビデオユーザビリティ情報)
VVC:versatile video coding(バーサタイルビデオコーディング)
図1A
図1B
図1C
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11