(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-05-13
(54)【発明の名称】デコーダが実行するビデオ復号の方法、装置およびコンピュータプログラム
(51)【国際特許分類】
H04N 19/103 20140101AFI20220506BHJP
H04N 19/136 20140101ALI20220506BHJP
H04N 19/176 20140101ALI20220506BHJP
H04N 19/186 20140101ALI20220506BHJP
【FI】
H04N19/103
H04N19/136
H04N19/176
H04N19/186
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021558683
(86)(22)【出願日】2021-01-13
(85)【翻訳文提出日】2021-09-29
(86)【国際出願番号】 US2021013264
(87)【国際公開番号】W WO2021150407
(87)【国際公開日】2021-07-29
(32)【優先日】2020-01-20
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-11-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159PP16
5C159SS26
5C159TA17
5C159TB08
5C159TC26
5C159TD12
5C159UA02
5C159UA05
(57)【要約】
本開示の態様は、ビデオエンコード化/復号のための方法および装置を提供する。いくつかの例では、ビデオ復号のための装置は、受信回路および処理回路を含む。例えば、処理回路は、符号化ビデオビットストリームからブロックの予測情報を復号し、ブロックのサイズと閾値との比較に基づいてブロックのパレットベースの符号化モードを許可するかどうかを判定し、予測情報に基づいてブロックがローカルデュアルツリー構造の下にあるかどうかを判定する。さらに、処理回路は、ブロックのパレットベースの符号化モードを許可するかどうかの判定、およびブロックがローカルデュアルツリー構造の下にあるかどうかの判定に基づいてブロックを復号する。
【特許請求の範囲】
【請求項1】
デコーダにおけるビデオ復号の方法であって、
プロセッサによって、符号化ビデオビットストリームからブロックの予測情報を復号するステップと、
前記プロセッサによって、前記ブロックのサイズと閾値との比較に基づいて、前記ブロックのパレットベースの符号化モードを許可するかどうかを判定するステップと、
前記プロセッサによって、前記予測情報に基づいて前記ブロックがローカルデュアルツリー構造の下にあるかどうかを判定するステップと、
前記プロセッサによって、前記ブロックの前記パレットベースの符号化モードを許可するかどうかの前記判定と、前記ブロックが前記ローカルデュアルツリー構造の下にあるかどうかの前記判定とに基づいて、前記ブロックを復号するステップと
を含む、方法。
【請求項2】
前記ブロックの前記サイズが前記閾値より小さいことに応答して、前記ブロックの前記パレットベースの符号化モードを許可しないステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
前記閾値は、前記ブロックが閾値よりも大きいことに応答して前記ローカルデュアルツリー構造を許可しないように定義される、請求項1に記載の方法。
【請求項4】
前記ブロックがクロマブロックであり、前記クロマブロックの前記サイズが前記閾値よりも小さいことに応答して、前記ブロックの前記パレットベースの符号化モードを許可しないステップ
をさらに含む、請求項1に記載の方法。
【請求項5】
前記ブロックが前記ローカルデュアルツリー構造の下のクロマブロックであることを示す前記ブロックのモードタイプとツリータイプの組み合わせに基づいて、前記ブロックの前記パレットベースの符号化モードを許可しないステップ
をさらに含む、請求項1に記載の方法。
【請求項6】
前記符号化ビデオビットストリームから、前記パレットベースの符号化モードが許可されていることに応答して、前記ブロック上で前記パレットベースの符号化モードが使用されるかどうかを示すフラグを復号するステップと、
前記ブロックに対する前記パレットベースの符号化モードの使用を示す前記フラグに応答して、前記パレットベースの符号化モードを使用して前記ブロックを復号するステップと、
前記ブロックが前記ローカルデュアルツリー構造の下にあることに応答して、パレット予測器リストの更新をバイパスするステップと
をさらに含む、請求項1に記載の方法。
【請求項7】
前記ローカルデュアルツリー構造がトリガされないことに応答して、前記ブロックの前記復号に使用されたパレットに基づいて前記パレット予測器リストを更新するステップ
をさらに含む、請求項6に記載の方法。
【請求項8】
前記符号化ビデオビットストリームから、前記パレットベースの符号化モードが許可されていることに応答して、前記ブロック上で前記パレットベースの符号化モードが使用されるかどうかを示すフラグを復号するステップと、
前記ブロックおよび前記ローカルデュアルツリー構造の下にある前記ブロックに対する前記パレットベースの符号化モードの使用を示す前記フラグに応答して、最大サイズが縮小されたパレットに基づいて前記ブロックを復号するステップと
をさらに含む、請求項1に記載の方法。
【請求項9】
前記ブロックの前記復号において使用された前記パレットに基づいてパレット予測器リストを更新するステップであって、前記パレット予測器リストのサイズは縮小された最大サイズによって制限される、ステップ
をさらに含む、請求項8に記載の方法。
【請求項10】
ビデオ復号のための装置が、
処理回路を備え、前記処理回路は、
符号化ビデオビットストリームからブロックの予測情報を復号し、
前記ブロックのサイズと閾値との比較に基づいて、前記ブロックのパレットベースの符号化モードを許可するかどうかを判定し、
前記予測情報に基づいて、前記ブロックがローカルデュアルツリー構造の下にあるかどうかを判定し、
前記ブロックの前記パレットベースの符号化モードを許可するかどうかの前記判定と、前記ブロックが前記ローカルデュアルツリー構造の下にあるかどうかの前記判定とに基づいて、前記ブロックを復号する
ように構成される、
装置。
【請求項11】
前記処理回路が、
前記ブロックの前記サイズが前記閾値よりも小さいことに応答して、前記ブロックの前記パレットベースの符号化モードを許可しない
ように構成される、請求項10に記載の装置。
【請求項12】
前記閾値は、前記ブロックが閾値よりも大きいことに応答して前記ローカルデュアルツリー構造を許可しないように定義される、請求項10に記載の装置。
【請求項13】
前記処理回路が、
前記ブロックがクロマブロックであり、前記クロマブロックの前記サイズが前記閾値よりも小さいことに応答して、前記ブロックの前記パレットベースの符号化モードを許可しない
ように構成される、請求項10に記載の装置。
【請求項14】
前記処理回路が、
前記ブロックが前記ローカルデュアルツリー構造の下のクロマブロックであることを示す前記ブロックのモードタイプとツリータイプの組み合わせに基づいて、前記ブロックの前記パレットベースの符号化モードを許可しない
ように構成される、請求項10に記載の装置。
【請求項15】
前記処理回路が、
前記符号化ビデオビットストリームから、前記パレットベースの符号化モードが許可されていることに応答して、前記ブロック上で前記パレットベースの符号化モードが使用されるかどうかを示すフラグを復号し、
前記ブロックに対する前記パレットベースの符号化モードの使用を示す前記フラグに応答して、前記パレットベースの符号化モードを使用して前記ブロックを復号し、
前記ブロックが前記ローカルデュアルツリー構造の下にあることに応答して、パレット予測器リストの更新をバイパスする
ように構成される、請求項10に記載の装置。
【請求項16】
前記処理回路が、
前記ローカルデュアルツリー構造をトリガしないことに応答して、前記ブロックの前記復号で使用されたパレットに基づいて前記パレット予測器リストを更新するように構成される、請求項15に記載の装置。
【請求項17】
前記処理回路が、
前記符号化ビデオビットストリームから、前記パレットベースの符号化モードが許可されていることに応答して、前記ブロック上で前記パレットベースの符号化モードが使用されるかどうかを示すフラグを復号し、
前記ブロックおよび前記ローカルデュアルツリー構造の下にある前記ブロックに対する前記パレットベースの符号化モードの使用を示す前記フラグに応答して、最大サイズが縮小されたパレットに基づいて前記ブロックを復号する
ように構成される、請求項10に記載の装置。
【請求項18】
前記処理回路が、
前記ブロックの前記復号において使用される前記パレットに基づいてパレット予測器リストを更新し、前記パレット予測器リストのサイズは縮小された最大サイズによって制限される
ように構成される、請求項17に記載の装置。
【請求項19】
ビデオ復号のためにコンピュータによって実行されると、前記コンピュータに、
符号化ビデオビットストリームからブロックの予測情報を復号するステップと、
前記ブロックのサイズと閾値との比較に基づいて、前記ブロックのパレットベースの符号化モードを許可するかどうかを判定するステップと、
前記予測情報に基づいて、前記ブロックがローカルデュアルツリー構造の下にあるかどうかを判定するステップと、
前記ブロックに対して前記パレットベースの符号化モードを許可するかどうかの前記判定と、前記ブロックが前記ローカルデュアルツリー構造の下にあるかどうかの前記判定とに基づいて、前記ブロックを復号するステップと
を実行させる命令を格納する、非一時的コンピュータ可読媒体。
【請求項20】
前記命令が、前記コンピュータに、
前記ブロックが前記ローカルデュアルツリー構造の下のクロマブロックであることを示す前記ブロックのモードタイプとツリータイプの組み合わせに基づいて、前記ブロックの前記パレットベースの符号化モードを許可しないステップ
を実行させる、請求項19に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
参照による援用
本出願は、2020年1月20日に出願された米国仮出願第62/963,216号’’SIMPLIFIED PALETTE MODE CODING WITH LOCAL DUAL TREE CODING STRUCTURE’’に対する優先権の利益を主張する、2020年11月13日に出願された米国特許出願第17/097,415号’’METHOD AND APPARATUS FOR PALETTE BASED CODING MODE UNDER LOCAL DUAL TREE STRUCTURE’’に対する優先権の利益を主張する。以前の出願の開示全体は、参照によりその全体が組み込まれる。
【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】
ビデオコーデック技術は、イントラ符号化として知られる技術を含むことができる。イントラ符号化では、サンプルまたは以前に再構築された参照画像からの他のデータを参照せずにサンプル値が表される。いくつかのビデオコーデックでは、画像は空間的にサンプルのブロックに細分される。サンプルのすべてのブロックがイントラモードで符号化される場合、その画像は、イントラ画像であり得る。イントラ画像および独立したデコーダリフレッシュ画像などのそれらの派生を、デコーダ状態をリセットするために使用することができ、したがって、符号化ビデオビットストリームおよびビデオセッション内の第1の画像として、または静止イメージとして使用することができる。イントラブロックのサンプルは、変換にさらされる可能性があり、変換係数は、エントロピー符号化の前に量子化される可能性がある。イントラ予測は、変換前領域におけるサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さいほど、およびAC係数が小さいほど、エントロピー符号化後のブロックを表すために所与の量子化ステップサイズで必要とされるビットが少なくなる。
【0008】
例えばMPEG-2生成符号化技術から知られているような従来のイントラ符号化は、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、周囲のサンプルデータおよび/または空間的に隣接し、復号順序で先行するデータのブロックのエンコード化/復号中に取得されたメタデータから試行する技術を含む。そのような技法は、以後「イントラ予測」技法と呼ばれる。少なくともいくつかの場合において、イントラ予測は、再構築中のカレント画像からの参照データのみを使用し、参照画像からの参照データは使用しないことに留意されたい。
【0009】
イントラ予測には多くの異なる形態があり得る。そのような技法のうちの2つ以上が所与のビデオ符号化技術において使用され得るとき、使用中の技法はイントラ予測モードで符号化され得る。ある場合には、モードはサブモードおよび/またはパラメータを有することができ、それらは個別に符号化されるかまたはモード符号語に含まれることができる。所与のモード/サブモード/パラメータの組み合わせにどの符号語を使用するかは、イントラ予測を介して符号化効率の向上に影響を与える可能性があり、そのため、符号語をビットストリームに変換するために使用されるエントロピー符号化技術にも影響を与える可能性がある。
【0010】
イントラ予測の特定のモードは、H.264で導入され、H.265で改良され、共同探索モデル(JEM)、汎用ビデオ符号化(VVC)、およびベンチマークセット(BMS)などの新しい符号化技術でさらに改良された。予測器ブロックは、既に利用可能なサンプルに属する隣接サンプル値を使用して形成され得る。隣接するサンプルのサンプル値は、方向に従って予測器ブロックにコピーされる。使用中の方向への参照は、ビットストリーム内で符号化され得るか、またはそれ自体が予測され得る。
【0011】
図1を参照すると、右下には、(35個のイントラモードのうちの33個の角度モードに対応する)H.265の33個の可能な予測器方向から知られている9つの予測器方向のサブセットが示されている。矢印が収束する点(101)は、予測対象のサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が水平から45度の角度で右上の1つまたは複数のサンプルから予測されることを示す。同様に、矢印(103)は、水平から22.5度の角度で、1つまたは複数のサンプルからサンプル(101)の左下までサンプル(101)が予測されることを示す。
【0012】
さらに
図1を参照すると、左上には、4×4サンプル(破線の太字で示されている)の正方形ブロック(104)が示されている。正方形ブロック(104)は、各々が「S」でラベル付けされた16個のサンプルと、Y次元におけるその位置(例えば、行インデックス)と、X次元におけるその位置(例えば、列インデックス)とを含む。例えば、サンプルS21は、Y次元の(上から)2番目のサンプルであり、X次元の(左から)1番目のサンプルである。同様に、サンプルS44は、ブロック(104)におけるY次元およびX次元の両方の4番目のサンプルである。ブロックのサイズは4×4サンプルであるため、S44は右下にある。同様の番号付けスキームに従う参照サンプルをさらに示す。参照サンプルは、ブロック(104)に対してR、そのY位置(例えば、行インデックス)およびX位置(列インデックス)でラベル付けされる。H.264およびH.265の両方において、予測サンプルは、再構築中のブロックに隣接する;したがって、負の値を使用する必要はない。
【0013】
イントラ画像予測は、シグナリングされた予測方向によって適切にされるように、隣接するサンプルから参照サンプル値をコピーすることによって機能することができる。例えば、符号化ビデオビットストリームが、このブロックについて、矢印(102)と一致する予測方向を示すシグナリングを含む、すなわち、水平から45度の角度で、1つまたは複数の予測サンプルから右上のサンプルが予測されると仮定する。その場合、同じ参照サンプルR05からサンプルS41、S32、S23、およびS14が予測される。次に、参照サンプルR08からサンプルS44が予測される。
【0014】
特定の場合には、参照サンプルを計算するために、例えば補間によって複数の参照サンプルの値を組み合わせることができる;特に、方向が45度で均等に割り切れない場合に可能である。
【0015】
可能な方向の数は、ビデオ符号化技術が発展するにつれて増加している。H.264(2003年)では、9つの異なる方向を表すことができた。これは、H.265(2013年)では33個に増加し、JEM/VVC/BMSは、本開示の時点で、最大65個の方向をサポートすることができる。最も可能性の高い方向を識別するために実験が行われており、エントロピー符号化における特定の技術は、それらの可能性の高い方向を少数のビットで表すために使用され、可能性の低い方向に対して特定のペナルティを受け入れる。さらに、方向自体は、隣接する既に復号されたブロックで使用される隣接する方向から予測できる場合がある。
【0016】
図2は、経時的に増加する予測方向の数を示すためにJEMによる65個のイントラ予測方向を示す概略図(201)を示している。
【0017】
方向を表す符号化ビデオビットストリーム内のイントラ予測方向ビットのマッピングは、ビデオ符号化技術からビデオ符号化技術とは異なる可能性があり;例えば、予測方向の単純な直接マッピングからイントラ予測モード、符号語、最も可能性の高いモードを含む複雑な適応方式、および同様の技術まで様々であり得る。しかしながら、すべての場合において、ビデオコンテンツにおいて特定の他の方向よりも統計的に発生する可能性が低い特定の方向が存在し得る。ビデオ圧縮の目的は冗長性の低減であるため、うまく機能するビデオ符号化技術では、それらの可能性の低い方向は、可能性の高い方向よりも多くのビット数で表される。
【発明の概要】
【発明を解決するための手段】
【0018】
本開示の態様は、ビデオエンコード化/復号のための方法および装置を提供する。いくつかの例では、ビデオ復号のための装置は、受信回路および処理回路を含む。例えば、処理回路は、符号化ビデオビットストリームからブロックの予測情報を復号し、ブロックのサイズと閾値との比較に基づいてブロックのパレットベースの符号化モードを許可するかどうかを判定し、予測情報に基づいてブロックがローカルデュアルツリー構造の下にあるかどうかを判定する。さらに、処理回路は、ブロックのパレットベースの符号化モードを許可するかどうかの判定、およびブロックがローカルデュアルツリー構造の下にあるかどうかの判定に基づいてブロックを復号する。
【0019】
いくつかの実施形態では、処理回路は、ブロックのサイズが閾値より小さいことに応答して、ブロックのパレットベースの符号化モードを許可しない。いくつかの例では、閾値は、ブロックが閾値よりも大きいことに応答してローカルデュアルツリー構造を許可しないように定義される。一例では、処理回路は、ブロックがクロマブロックであり、クロマブロックのサイズが閾値よりも小さいことに応答して、ブロックのパレットベースの符号化モードを許可しない。いくつかの例では、処理回路は、ブロックがローカルデュアルツリー構造の下のクロマブロックであることを示すブロックのモードタイプとツリータイプの組み合わせに基づいて、ブロックのパレットベースの符号化モードを許可しない。
【0020】
いくつかの実施形態では、パレットベースの符号化モードが許可されたことに応答して、処理回路は、符号化ビデオビットストリームから、ブロックに対してパレットベースの符号化モードが使用されるかどうかを示すフラグを復号し、ブロックに対するパレットベースの符号化モードの使用を示すフラグに応答して、パレットベースの符号化モードを使用してブロックを復号する。さらに、いくつかの例では、ブロックがローカルデュアルツリー構造の下にあることに応答して、処理回路はパレット予測器リストの更新をバイパスする。一例では、処理回路は、ローカルデュアルツリー構造をトリガしないことに応答して、ブロックの復号に使用されるパレットに基づいてパレット予測器リストを更新する。
【0021】
いくつかの他の実施形態では、パレットベースの符号化モードが許可されたことに応答して、処理回路は、符号化ビデオビットストリームから、ブロックに対してパレットベースの符号化モードが使用されるかどうかを示すフラグを復号し、ブロックおよびローカルデュアルツリー構造の下にあるブロックに対するパレットベースの符号化モードの使用を示すフラグに応答して、最大サイズが縮小されたパレットに基づいてブロックを復号する。さらに、処理回路は、ブロックの復号に使用されるパレットに基づいてパレット予測器リストを更新することができ、パレット予測器リストのサイズは、縮小された最大サイズによって制限される。
【0022】
本開示の態様はまた、ビデオ復号のためにコンピュータによって実行されると、コンピュータにビデオ復号のための方法を実行させる命令を格納する非一時的コンピュータ可読媒体を提供する。
【0023】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかにされよう。
【図面の簡単な説明】
【0024】
【
図1】イントラ予測モードの例示的なサブセットの概略図である。
【
図3】一実施形態による通信システム(300)の簡略ブロック図の概略図である。
【
図4】一実施形態による通信システム(400)の簡略ブロック図の概略図である。
【
図5】一実施形態によるデコーダの簡略ブロック図の概略図である。
【
図6】一実施形態によるエンコーダの簡略ブロック図の概略図である。
【
図7】別の実施形態によるエンコーダのブロック図である。
【
図8】別の実施形態によるデコーダのブロック図である。
【
図9】いくつかの例におけるパレット予測リストを更新するためのシンタックス例を示す図である。
【
図10】ビットストリームにおいて、いくつかの例のパレットモードフラグの存在を判定するためのシンタックス例を示す図である。
【
図11】本開示のいくつかの実施形態によるプロセス例の概要を示すフローチャートである。
【
図12】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0025】
図3は、本開示の一実施形態による通信システム(300)の簡略ブロック図を示している。通信システム(300)は、例えばネットワーク(350)を介して互いに通信可能な複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された端末デバイス(310)および(320)の第1のペアを含む。
図3の例では、端末デバイス(310)および(320)の第1のペアは、データの単方向伝送を実行する。例えば、端末デバイス(310)は、ネットワーク(350)を介して他の端末デバイス(320)に送信するためにビデオデータ(例えば、端末デバイス(310)によって取り込まれたビデオ画像のストリーム)を符号化することができる。エンコード化ビデオデータは、1つまたは複数の符号化ビデオビットストリームの形態で送信され得る。端末デバイス(320)は、ネットワーク(350)から符号化ビデオデータを受信し、符号化ビデオデータを復号してビデオ画像を復元し、復元されたビデオデータに従ってビデオ画像を表示することができる。単方向データ伝送は、メディアサービングアプリケーションなどにおいて一般的であり得る。
【0026】
別の例では、通信システム(300)は、例えばビデオ会議中に発生する可能性がある符号化ビデオデータの双方向伝送を実行する端末デバイス(330)および(340)の第2のペアを含む。データの双方向伝送のために、一例では、端末デバイス(330)および(340)の各端末デバイスは、ネットワーク(350)を介して端末デバイス(330)および(340)の他方の端末デバイスに送信するためのビデオデータ(例えば、端末デバイスによって取り込まれたビデオ画像のストリーム)を符号化することができる。端末デバイス(330)および(340)の各端末デバイスはまた、端末デバイス(330)および(340)の他方の端末デバイスによって送信された符号化ビデオデータを受信することができ、符号化ビデオデータを復号してビデオ画像を復元することができ、復元されたビデオデータに従ってアクセス可能な表示デバイスにビデオ画像を表示することができる。
【0027】
図3の例では、端末デバイス(310)、(320)、(330)、および(340)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤおよび/または専用ビデオ会議機器に適用される。ネットワーク(350)は、例えば有線および/または無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)、および(340)の間で符号化ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回路交換チャネルおよび/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットが含まれる。本説明の目的のために、ネットワーク(350)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作に重要ではない場合がある。
【0028】
図4は、開示された主題のアプリケーションの一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮ビデオの格納などを含む、他のビデオ対応アプリケーションにも等しく適用可能であり得る。
【0029】
ストリーミングシステムは、例えば非圧縮のビデオ画像(402)のストリームを生成する、例えばデジタルカメラなどのビデオソース(401)を含むことができるキャプチャサブシステム(413)を含むことができる。一例では、ビデオ画像(402)のストリームは、デジタルカメラによって撮影されたサンプルを含む。エンコード化ビデオデータ(404)(または符号化ビデオビットストリーム)と比較して高いデータ量を強調するために太線として示されているビデオ画像(402)のストリームは、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理され得る。ビデオエンコーダ(403)は、以下でより詳細に説明するように、開示された主題の態様を可能にするかまたは実施するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ビデオ画像(402)のストリームと比較してより低いデータ量を強調するために細い線として示されているエンコード化ビデオデータ(404)(または符号化ビデオビットストリーム(404))は、将来の使用のためにストリーミングサーバ(405)に格納され得る。
図4のクライアントサブシステム(406)および(408)などの1つまたは複数のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、エンコード化ビデオデータ(404)のコピー(407)および(409)を取得することができる。クライアントサブシステム(406)は、例えば電子デバイス(430)内のビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、エンコード化ビデオデータの入力コピー(407)を復号し、ディスプレイ(412)(例えば、表示画面)または他のレンダリングデバイス(図示せず)上にレンダリングすることができるビデオ画像(411)の出力ストリームを作成する。いくつかのストリーミングシステムでは、エンコード化ビデオデータ(404)、(407)、および(409)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮規格に従ってエンコード化され得る。規格の例として、ITU-T Recommendation H.265が挙げられる。一例では、開発中のビデオ符号化規格は、汎用ビデオ符号化(VVC)として非公式に知られている。開示された主題は、VVCの文脈で使用され得る。
【0030】
電子デバイス(420)および(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(420)はビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)はビデオエンコーダ(図示せず)も含むことができる。
【0031】
図5は、本開示の一実施形態によるビデオデコーダ(510)のブロック図を示している。ビデオデコーダ(510)は、電子デバイス(530)に含まれ得る。電子デバイス(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、
図4の例のビデオデコーダ(410)の代わりに使用され得る。
【0032】
受信機(531)は、ビデオデコーダ(510)によって復号される1つまたは複数の符号化ビデオシーケンスを受信することができ;同じまたは別の実施形態では、一度に1つの符号化ビデオシーケンスであり、各符号化ビデオシーケンスの復号は他の符号化ビデオシーケンスから独立している。符号化ビデオシーケンスは、エンコード化ビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであり得るチャネル(501)から受信され得る。受信機(531)は、エンティティ(図示せず)を使用してそれぞれに転送され得る他のデータ、例えば、符号化オーディオデータおよび/または補助データストリームを有するエンコード化ビデオデータを受信することができる。受信機(531)は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(515)が、受信機(531)とエントロピーデコーダ/パーサ(520)(以下「パーサ(520)」)との間に結合され得る。特定の用途では、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他の場合には、バッファメモリ(515)は、ビデオデコーダ(510)の外部にあってもよい(図示せず)。さらに他の場合には、例えばネットワークジッタに対抗するためにビデオデコーダ(510)の外部にバッファメモリ(図示せず)があり、さらに例えば再生タイミングを処理するためにビデオデコーダ(510)の内部に別のバッファメモリ(515)があり得る。受信機(531)が十分な帯域幅および制御可能性の格納/転送デバイスから、またはアイソシンクロナスネットワークからデータを受信しているとき、バッファメモリ(515)は必要とされなくてもよく、または小さくてもよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(515)が必要とされてもよく、比較的大きくてもよく、有利には適応サイズであってもよく、ビデオデコーダ(510)の外部のオペレーティングシステムまたは同様の要素(図示せず)に少なくとも部分的に実装されてもよい。
【0033】
ビデオデコーダ(510)は、符号化ビデオシーケンスからシンボル(521)を再構築するために、パーサ(520)を含み得る。これらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報、および潜在的に、
図5に示すように、電子デバイス(530)の不可欠な部分ではないが電子デバイス(530)に結合することができるレンダリングデバイス(512)(例えば、表示画面)などのレンダリングデバイスを制御するための情報を含む。レンダリングデバイス(複数可)の制御情報は、補足エンハンスメント情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセット断片(図示せず)の形態であってもよい。パーサ(520)は、受信された符号化ビデオシーケンスを構文解析/エントロピー復号することができる。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または規格に従うことができ、可変長符号化、ハフマン符号化、コンテキストセンシティビティの有無にかかわらない算術符号化などを含む、様々な原理に従うことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化ビデオシーケンスから、ビデオデコーダ内の画素のサブグループのうちの少なくとも1つについてのサブグループパラメータのセットを抽出することができる。サブグループは、画像のグループ(GOP)、画像、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(520)はまた、変換係数、量子化器パラメータ値、動きベクトルなどの情報を符号化ビデオシーケンスから抽出することができる。
【0034】
パーサ(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受信したビデオシーケンスに対してエントロピー復号/構文解析動作を実行することができる。
【0035】
シンボル(521)の再構築は、符号化ビデオ画像またはその一部(例えば、インター画像およびイントラ画像、インターブロックおよびイントラブロック)のタイプ、およびその他の要因に依存して、複数の異なるユニットに関与することができる。どのユニットがどのように関与するかは、パーサ(520)によって符号化ビデオシーケンスから構文解析されたサブグループ制御情報によって制御され得る。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明確にするために示されていない。
【0036】
既に述べた機能ブロックを超えて、ビデオデコーダ(510)は、以下に説明するように概念的にいくつかの機能ユニットに細分することができる。商業的制約の下で動作する実際の実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示された主題を説明する目的で、以下の機能ユニットへの概念的細分化が適切である。
【0037】
第1のユニットはスケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化ファクタ、量子化スケーリング行列などをシンボル(複数可)(521)として含む制御情報を、パーサ(520)から受信する。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力され得るサンプル値を含むブロックを出力することができる。
【0038】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラ符号化ブロック;すなわち、以前に再構築された画像からの予測情報を使用していないが、カレント画像の以前に再構築された部分からの予測情報を使用することができるイントラ符号化ブロックに関連し得る。そのような予測情報を、イントラ画像予測ユニット(552)によって提供することができる。場合によっては、イントラ画像予測ユニット(552)は、カレント画像バッファ(558)からフェッチされた周囲の既に再構築された情報を用いて、再構築中のブロックと同じサイズおよび形状のブロックを生成する。カレント画像バッファ(558)は、例えば、部分的に再構築されたカレント画像および/または完全に再構築されたカレント画像をバッファリングする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
【0039】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコードされた、潜在的に動き補償されたブロックに関連し得る。そのような場合、動き補償予測ユニット(553)は、予測に使用されるサンプルをフェッチするために参照画像メモリ(557)にアクセスすることができる。ブロックに関連するシンボル(521)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によってスケーラ/逆変換ユニット(551)の出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加され得る。動き補償予測ユニット(553)が予測サンプルをフェッチする参照画像メモリ(557)内のアドレスは、動き補償予測ユニット(553)が例えばX、Y、および参照画像成分を有することができるシンボル(521)の形態で利用可能な動きベクトルによって制御され得る。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照画像メモリ(557)からフェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0040】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)における様々なループフィルタ処理技術の対象となり得る。ビデオ圧縮技術は、符号化ビデオシーケンス(符号化ビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(520)からシンボル(521)としてループフィルタユニット(556)に利用可能にされるインループフィルタ技術を含むことができるが、符号化画像または符号化ビデオシーケンスの以前の(復号順の)部分の復号中に取得されたメタ情報に応答することもでき、以前に再構築され、ループフィルタリングされたサンプル値に応答することもできる。
【0041】
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)に出力されることができるとともに、将来の画像間予測に使用するために参照画像メモリ(557)に格納されることができるサンプルストリームとすることができる。
【0042】
完全に再構築されると、特定の符号化画像は、将来の予測のための参照画像として使用され得る。例えば、カレント画像に対応する符号化画像が完全に再構築され、符号化画像が(例えば、パーサ(520)によって)参照画像として識別されると、カレント画像バッファ(558)は参照画像メモリ(557)の一部になることができ、新しいカレント画像バッファは、後続の符号化画像の再構築を開始する前に再配置され得る。
【0043】
ビデオデコーダ(510)は、例えばITU-T Rec.H.265のような規格における所定のビデオ圧縮技術に従って復号動作を実行し得る。符号化ビデオシーケンスは、符号化ビデオシーケンスがビデオ圧縮技術または規格のシンタックスおよびビデオ圧縮技術または規格に文書化されたプロファイルの両方に準拠するという意味で、使用されているビデオ圧縮技術または規格によって指定されたシンタックスに準拠することができる。具体的には、プロファイルは、ビデオ圧縮技術または規格で利用可能なすべてのツールから、そのプロファイルの下で使用可能な唯一のツールとして特定のツールを選択することができる。また、コンプライアンスのために必要なのは、符号化ビデオシーケンスの複雑さがビデオ圧縮技術または規格のレベルによって定義される境界内にあることであり得る。場合によっては、レベルは、最大画像サイズ、最大フレームレート、最大再構築サンプルレート(例えば、毎秒メガサンプルで測定される)、最大参照画像サイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想リファレンスデコーダ(HRD)仕様および符号化ビデオシーケンスにおいてシグナリングされたHRDバッファ管理のためのメタデータによってさらに制限され得る。
【0044】
一実施形態では、受信機(531)は、エンコード化されたビデオを有する追加の(冗長な)データを受信することができる。追加のデータは、符号化ビデオシーケンス(複数可)の一部として含まれ得る。追加のデータは、データを適切に復号するために、および/または元のビデオデータをより正確に再構築するために、ビデオデコーダ(510)によって使用され得る。追加のデータは、例えば、時間、空間、または信号雑音比(SNR)強化層、冗長スライス、冗長画像、前方誤り訂正符号などの形態であり得る。
【0045】
図6は、本開示の一実施形態によるビデオエンコーダ(603)のブロック図を示している。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、
図4の例のビデオエンコーダ(403)の代わりに使用され得る。
【0046】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によって符号化されるビデオイメージ(複数可)を取り込むことができるビデオソース(601)(
図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受信することができる。別の例では、ビデオソース(601)は電子デバイス(620)の一部である。
【0047】
ビデオソース(601)は、ビデオエンコーダ(603)によって符号化されるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB、RGB、...)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形態で提供することができる。メディアサービングシステムにおいて、ビデオソース(601)は、予め用意されたビデオを格納するストレージデバイスであってもよい。ビデオ会議システムでは、ビデオソース(601)は、ビデオシーケンスとしてローカル画像情報を取り込むカメラであってもよい。ビデオデータは、連続して見たときに動きを与える複数の個々の画像として提供されてもよい。画像自体は、画素の空間アレイとして編成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて1つまたは複数のサンプルを含むことができる。当業者であれば、画素とサンプルとの関係を容易に理解することができる。以下、サンプルに着目して説明する。
【0048】
一実施形態によれば、ビデオエンコーダ(603)は、リアルタイムで、またはアプリケーションによって要求される任意の他の時間制約下で、ソースビデオシーケンスの画像を符号化して符号化ビデオシーケンス(643)に圧縮することができる。適切な符号化速度を強制することは、コントローラ(650)の一機能である。いくつかの実施形態では、コントローラ(650)は、以下に説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確にするために示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(画像スキップ、量子化器、レート歪み最適化技術のラムダ値、...)、画像サイズ、画像のグループ(GOP)レイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計に最適化されたビデオエンコーダ(603)に関する他の適切な機能を有するように構成され得る。
【0049】
いくつかの実施形態では、ビデオエンコーダ(603)は、符号化ループで動作するように構成される。過度に簡略化された説明として、一例では、符号化ループは、ソースコーダ(630)(例えば、符号化される入力画像と、参照画像(複数可)とに基づいて、シンボルストリームのようなシンボルを生成することを担当する)と、ビデオエンコーダ(603)に組み込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(リモート)デコーダも作成するのと同様の方法でサンプルデータを作成するためにシンボルを再構築する(開示された主題で考慮されるビデオ圧縮技術では、シンボルと符号化ビデオビットストリームとの間の任意の圧縮が可逆的であるため)。再構築されたサンプルストリーム(サンプルデータ)は、参照画像メモリ(634)に入力される。シンボルストリームの復号は、デコーダ位置(ローカルまたはリモート)とは無関係にビット正確な結果をもたらすので、参照画像メモリ(634)内のコンテンツもローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えれば、エンコーダの予測部は、復号中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を参照画像サンプルとして「見る」。参照画像同期性(および、例えばチャネル誤差のために同期性を維持することができない場合、結果として生じるドリフト)のこの基本原理は、いくつかの関連技術においても使用される。
【0050】
「ローカル」デコーダ(633)の動作は、
図5に関連して既に詳細に説明したビデオデコーダ(510)などの「リモート」デコーダの動作と同じであり得る。しかしながら、
図5も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)およびパーサ(520)による符号化ビデオシーケンスへのシンボルのエンコード化/復号は可逆であり得るため、バッファメモリ(515)を含むビデオデコーダ(510)のエントロピー復号部、およびパーサ(520)は、ローカルデコーダ(633)に完全に実装され得ない。
【0051】
この時点でなされ得る観測は、デコーダ内に存在する構文解析/エントロピー復号を除く任意のデコーダ技術もまた、対応するエンコーダ内に実質的に同一の機能形態で存在する必要があるということである。このため、開示された主題はデコーダ動作に焦点を合わせている。エンコーダ技術の説明は、それらが包括的に説明されたデコーダ技術の逆であるので省略することができる。特定の領域においてのみ、より詳細な説明が必要とされ、以下に提供される。
【0052】
動作中、いくつかの例では、ソースコーダ(630)は、「参照画像」として指定されたビデオシーケンスからの1つまたは複数の以前に符号化された画像を参照して入力画像を予測的に符号化する動き補償予測符号化を実行することができる。このようにして、符号化エンジン(632)は、入力画像の画素ブロックと、入力画像に対する予測参照(複数可)として選択され得る参照画像(複数可)の画素ブロックとの間の差分を符号化する。
【0053】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって生成されたシンボルに基づいて、参照画像として指定され得る画像の符号化ビデオデータを復号し得る。符号化エンジン(632)の動作は、好適には非可逆プロセスであり得る。符号化ビデオデータがビデオデコーダ(
図6には示されていない)で復号され得るとき、再構築されたビデオシーケンスは、通常、いくつかのエラーを有するソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(633)は、ビデオデコーダによって参照画像に対して実行され得る復号処理を複製し、再構築された参照画像を参照画像キャッシュ(634)に格納させ得る。このようにして、ビデオエンコーダ(603)は、遠端ビデオデコーダによって取得される(伝送エラーなし)ことになる再構築された参照画像として共通のコンテンツを有する再構築された参照画像のコピーをローカルに格納することができる。
【0054】
予測器(635)は、符号化エンジン(632)の予測検索を実行することができる。すなわち、符号化される新しい画像について、予測器(635)は、(候補参照画素ブロックとしての)サンプルデータ、または、新しい画像の適切な予測参照として機能し得る、参照画像の動きベクトル、ブロック形状などの特定のメタデータを求めて参照画像メモリ(634)を検索し得る。予測器(635)は、適切な予測参照を見つけるために、サンプルの画素ブロックごとに動作することができる。場合によっては、予測器(635)によって取得された検索結果によって決定されるように、入力画像は、参照画像メモリ(634)に格納された複数の参照画像から描画された予測参照を有することができる。
【0055】
コントローラ(650)は、例えば、ビデオデータをエンコード化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)の符号化動作を管理することができる。
【0056】
前述のすべての機能ユニットの出力は、エントロピーコーダ(645)においてエントロピー符号化の対象となり得る。エントロピーコーダ(645)は、ハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0057】
送信機(640)は、エントロピーコーダ(645)によって生成された符号化ビデオシーケンス(複数可)をバッファリングして、エンコード化されたビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであり得る通信チャネル(660)を介した伝送の準備をすることができる。送信機(640)は、ビデオコーダ(603)からの符号化ビデオデータを、伝送される他のデータ、例えば、符号化オーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージすることができる。
【0058】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理することができる。符号化中、コントローラ(650)は、各符号化画像に特定の符号化画像タイプを割り当てることができ、これは、それぞれの画像に適用され得る符号化技術に影響を及ぼし得る。例えば、画像は、以下の画像タイプのうちの1つとして割り当てられることが多い。
【0059】
イントラ画像(I画像)は、シーケンス内の他の画像を予測のソースとして使用せずに符号化および復号され得る画像であり得る。いくつかのビデオコーデックは、例えば、インディペンデント・デコーダ・リフレッシュ(「IDR」)画像を含む異なるタイプのイントラ画像を可能にする。当業者は、I画像のこれらの変形ならびにそれらのそれぞれの用途および特徴を認識している。
【0060】
予測画像(P画像)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得る画像であり得る。
【0061】
双方向予測画像(B画像)は、各ブロックのサンプル値を予測するために最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得る画像であり得る。同様に、複数の予測画像は、単一のブロックの再構築のために3つ以上の参照画像および関連するメタデータを使用することができる。
【0062】
ソース画像は、一般に、複数のサンプルブロック(例えば、4×4、8×8、4×8、または16×16サンプルの各ブロック)に空間的に細分化され、ブロックごとに符号化され得る。ブロックは、ブロックのそれぞれの画像に適用される符号化割当によって決定されるように、他の(既に符号化された)ブロックを参照して予測的に符号化され得る。例えば、I画像のブロックは、非予測的に符号化されてもよいし、同じ画像の既に符号化されたブロックを参照して予測的に符号化されてもよい(空間予測またはイントラ予測)。P画像の画素ブロックは、以前に符号化された1つの参照画像を参照して、空間予測を介して、または時間予測を介して予測的に符号化され得る。B画像のブロックは、以前に符号化された1つまたは2つの参照画像を参照して、空間予測を介して、または時間予測を介して、予測的に符号化され得る。
【0063】
ビデオエンコーダ(603)は、例えばITU-T Rec.H.265のような所定のビデオ符号化技術または規格に従って符号化動作を実行し得る。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンス内の時間的および空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行することができる。したがって、符号化ビデオデータは、使用されているビデオ符号化技術または規格によって指定されたシンタックスに準拠することができる。
【0064】
一実施形態では、送信機(640)は、エンコード化されたビデオと共に追加のデータを伝送することができる。ソースコーダ(630)は、符号化ビデオシーケンスの一部としてそのようなデータを含むことができる。追加のデータは、時間/空間/SNR拡張レイヤ、冗長画像およびスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含むことができる。
【0065】
ビデオは、複数のソース画像(ビデオ画像)として時系列に取り込まれてもよい。画像内予測(しばしばイントラ予測と略される)は、所与の画像における空間相関を利用し、画像間予測は、画像間の(時間的または他の)相関を利用する。一例では、カレント画像と呼ばれる、エンコード化/復号中の特定の画像がブロックに分割される。カレント画像内のブロックがビデオ内の以前に符号化されてまだバッファリングされている参照画像内の参照ブロックに類似しているとき、カレント画像内のブロックは、動きベクトルと呼ばれるベクトルによって符号化され得る。動きベクトルは、参照画像内の参照ブロックを指し、複数の参照画像が使用されている場合、参照画像を識別する第3の次元を有することができる。
【0066】
いくつかの実施形態では、画像間予測に双予測技術を使用することができる。双予測技術によれば、第1の参照画像および第2の参照画像などの2つの参照画像が使用され、これらは両方ともビデオ内のカレント画像の復号順より前にある(ただし、表示順序は、それぞれ過去および未来のものであってもよい)。カレント画像内のブロックは、第1の参照画像内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照画像内の第2の参照ブロックを指す第2の動きベクトルによって符号化され得る。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測され得る。
【0067】
さらに、符号化効率を改善するために、画像間予測にマージモード技術を使用することができる。
【0068】
本開示のいくつかの実施形態によれば、画像間予測および画像内予測などの予測は、ブロック単位で実行される。例えば、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画素などの画素の値の行列(例えば、ルマ値)を含む。
【0069】
図7は、本開示の別の実施形態によるビデオエンコーダ(703)の図を示している。ビデオエンコーダ(703)は、ビデオ画像のシーケンス内のカレントビデオ画像内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、符号化ビデオシーケンスの一部である符号化画像にエンコード化するように構成される。一例では、ビデオエンコーダ(703)は、
図4の例のビデオエンコーダ(403)の代わりに使用される。
【0070】
HEVCの例では、ビデオエンコーダ(703)は、例えば8×8サンプルの予測ブロックのような処理ブロックのためのサンプル値のマトリクスを受信する。ビデオエンコーダ(703)は、処理ブロックが、例えばレート歪み最適化を使用して、イントラモード、インターモード、または双予測モードを使用して最良に符号化されるかどうかを判定する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(703)は、処理ブロックを符号化画像へエンコード化するために、イントラ予測技術を使用し得る;処理ブロックがインターモードまたは双予測モードで符号化されるべきであるとき、ビデオエンコーダ(703)は、処理ブロックを符号化画像にエンコード化するために、それぞれインター予測技術または双予測技術を使用することができる。特定のビデオ符号化技術では、マージモードは、予測器の外側の符号化された動きベクトル成分の恩恵を受けずに動きベクトルが1つまたは複数の動きベクトル予測器から導出されるインター画像予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0071】
図7の例では、ビデオエンコーダ(703)は、
図7に示すように互いに結合されたインターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)、およびエントロピーエンコーダ(725)を含む。
【0072】
インターエンコーダ(730)は、カレントブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照画像(例えば、前の画像および後の画像内のブロック)内の1つまたは複数の参照ブロックと比較し、インター予測情報(例えば、インターエンコード化技術、動きベクトル、マージモード情報による冗長情報の記述)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照画像は、エンコード化されたビデオ情報に基づいて復号される復号参照画像である。
【0073】
イントラエンコーダ(722)は、カレントブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じ画像内で既に符号化されているブロックと比較し、変換後に量子化係数を生成し、場合によってはイントラ予測情報(例えば、1つまたは複数のイントラエンコード化技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(722)は、イントラ予測情報と、同一画像内の参照ブロックとに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
【0074】
汎用コントローラ(721)は、一般制御データを決定し、一般制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、汎用コントローラ(721)は、モードがイントラモードである場合、残差計算器(723)が用いるイントラモード結果を選択するようにスイッチ(726)を制御し、イントラ予測情報を選択してビットストリームに含めるようにエントロピーエンコーダ(725)を制御し;汎用コントローラ(721)は、モードがインターモードである場合、残差計算器(723)で用いるインター予測結果を選択するようにスイッチ(726)を制御し、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御する。
【0075】
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との差分(残差データ)を計算するように構成される。残差エンコーダ(724)は、変換係数を生成するために残差データをエンコード化するために残差データに基づいて動作するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。変換係数はその後、量子化された変換係数を得るために量子化処理の対象となる。様々な実施形態において、ビデオエンコーダ(703)はまた、残差デコーダ(728)を含む。残差デコーダ(728)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(722)およびインターエンコーダ(730)によって適切に使用され得る。例えば、インターエンコーダ(730)は、復号残差データとインター予測情報とに基づいて復号ブロックを生成し、イントラエンコーダ(722)は、復号残差データとイントラ予測情報とに基づいて復号ブロックを生成することができる。いくつかの例では、復号されたブロックは、復号画像を生成するために適切に処理され、復号画像は、メモリ回路(図示せず)にバッファリングされ、参照画像として使用され得る。
【0076】
エントロピーエンコーダ(725)は、エンコード化ブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC規格などの適切な規格に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ(725)は、一般制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報をビットストリームに含めるように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックを符号化するとき、残差情報は存在しないことに留意されたい。
【0077】
図8は、本開示の別の実施形態によるビデオデコーダ(810)の図を示している。ビデオデコーダ(810)は、符号化されたビデオシーケンスの一部である符号化画像を受信し、符号化画像を復号して再構築された画像を生成するように構成される。一例では、ビデオデコーダ(810)は、
図4の例のビデオデコーダ(410)の代わりに使用される。
【0078】
図8の例では、ビデオデコーダ(810)は、
図8に示すように互いに結合されたエントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構築モジュール(874)、およびイントラデコーダ(872)を含む。
【0079】
エントロピーデコーダ(871)は、符号化画像から、符号化画像が構築されるシンタックス要素を表す特定のシンボルを再構築するように構成され得る。そのようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、後者の2つはマージサブモードまたは別のサブモードである)、イントラデコーダ(872)またはインターデコーダ(880)によってそれぞれ予測に使用される特定のサンプルまたはメタデータを識別することができる予測情報(例えば、イントラ予測情報やインター予測情報)、例えば量子化変換係数の形態の残差情報などを含むことができる。一例では、予測モードがインター予測モードまたは双予測モードである場合、インター予測情報はインターデコーダ(880)に提供され;予測タイプがイントラ予測タイプである場合、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は逆量子化の対象となり得、残差デコーダ(873)に提供される。
【0080】
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0081】
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0082】
残差デコーダ(873)は、逆量子化を実行して逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して、残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、(量子化器パラメータ(QP)を含むために)特定の制御情報を必要とする場合があり、その情報はエントロピーデコーダ(871)によって提供される場合がある(このように示されていないデータ経路は、低ボリューム制御情報のみであり得る)。
【0083】
再構築モジュール(874)は、空間領域において、残差デコーダ(873)による出力としての残差と(場合によってはインターまたはイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構築ビデオの一部であり得る再構築画像の一部であり得る再構築ブロックを形成するように構成される。視覚的品質を改善するために、デブロッキング動作などの他の適切な動作を実行することができることに留意されたい。
【0084】
ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、任意の適切な技術を使用して実装され得ることに留意されたい。一実施形態では、ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、1つまたは複数の集積回路を使用して実装され得る。別の実施形態では、ビデオエンコーダ(403)、(603)、および(603)、ならびにビデオデコーダ(410)、(510)、および(810)は、ソフトウェア命令を実行する1つまたは複数のプロセッサを使用して実装され得る。
【0085】
本開示のいくつかの態様によれば、パレットベースの符号化モードと呼ばれる符号化モードが、インター予測モードおよびイントラ予測モードに加えて使用され得る。本開示は、ローカルデュアルツリー符号化構造を用いてパレットベースの符号化モードを単純化する技術を提供する。
【0086】
いくつかの例では、画面コンテンツは特定の特性を有し、画面符号化のための符号化ツールを開発することができる。画面符号化のための符号化ツールは、符号化効率の著しい向上を達成することができる。パレットベースの符号化モードは、ブロックの主要な色を含むパレットへのインデックスを使用して画素のブロックを表すことができる。パレットおよびインデックスは、空間的冗長性を利用することによってエンコード化され得る。
【0087】
具体的には、いくつかの実施形態では、パレットは、インデックスを画素値と関連付けることができるエントリのルックアップテーブルとして定義される。いくつかの例では、画素値は、色成分に対応する1つまたは複数の値を含む。一例では、画素値は、3つの色成分をそれぞれ表す3つの値を含むことができる。別の例では、モノクロパレットの場合、ピクセル値は、単色成分を表す値を含む。
【0088】
いくつかの実施形態では、画素ブロックをパレットに基づいてエンコード化することができ、パレットを使用する符号化モードはパレットベースの符号化モードと呼ばれる。パレットベースの符号化モードは、VVCなどのいくつかのビデオ符号化規格で採用されている。
【0089】
いくつかの実施形態によれば、パレットベースの符号化モードはスタンドアロン符号化モードである。一実施形態では、パレットベースの符号化モードは、イントラエンコーダ(722)、インターエンコーダ(730)、イントラデコーダ(872)、インターデコーダ(870)とは別個の符号化ユニット(例えば、パレットベースのエンコーダ、パレットベースのデコーダなど)として実装される。一例では、パレットベースの符号化モードは、イントラエンコーダ(722)、インターエンコーダ(730)、イントラデコーダ(872)、インターデコーダ(870)とは別個のハードウェア回路として実装される。別の例では、パレットベースの符号化モードは、イントラエンコーダ(722)、インターエンコーダ(730)、イントラデコーダ(872)、インターデコーダ(870)のためのソフトウェアモジュールとは別個のソフトウェアモジュールとして実装される。パレットベースの符号化モード用のソフトウェアモジュールおよび他のソフトウェアモジュールは、同じプロセッサまたは異なるプロセッサによって実行され得る。
【0090】
本開示のいくつかの態様によれば、パレットベースの符号化モードは、一般に、パレットのための符号化方法の第1の部分と、パレットを使用するサンプルのための符号化方法の第2の部分との2つの部分を含む。第1の部分は、主要な色選択およびパレット符号化を含むことができる。第2の部分は、パレットインデックス符号化、ランレングス符号化、およびエスケープ画素符号化を含むことができる。
【0091】
いくつかの例では、パレットベースのエンコーダは、ブロックのパレットを決定し(例えば、パレットを明示的に符号化すること、パレットを予測すること、シグナリングと予測との組み合わせなど)、1つまたは複数の画素値を表すパレット内のエントリを特定し、ブロックの画素値を表すために使用されるパレット内のエントリを示すインデックス値でブロックをエンコード化することによって、ビデオデータのブロックをエンコード化することができる。いくつかの例では、パレットベースのエンコーダは、エンコード化ビットストリーム内のパレットおよび/またはインデックス値をシグナリングすることができる。次に、パレットベースのデコーダは、エンコード化ビットストリームから、ブロックのためのパレット、ならびにブロックの個々の画素のインデックス値を取得することができる。いくつかの他の例では、パレットを予測することができ、パレットベースのエンコーダはパレットをシグナリングすることなくエンコード化ビットストリーム内のインデックス値をシグナリングすることができ、パレットベースのエンコーダはパレットを予測し、エンコード化ビットストリーム内のインデックス値を受信することができる。次に、パレットベースのデコーダは、画素のインデックス値を、画素値を提供するパレットのエントリに関連付けることができる。パレットベースのデコーダは、インデックス値に関連付けられた画素値に基づいてブロックの様々な画素を再構築することができる。
【0092】
いくつかの実施形態によれば、パレットは、所与のブロック内の最も支配的な画素値を含むことができる。例えば、最も支配的な画素値は、所与のブロック内で最も頻繁に発生する1つまたは複数の画素値を含むことができる。さらに、いくつかの例では、閾値(例えば、画素値を有する画素の数)を使用して、画素値がブロック内の最も支配的な画素値の1つとして含まれるべきかどうかを判定することができる。
【0093】
いくつかの実施形態では、ヒストグラムベースのアルゴリズムを使用して、パレットを形成するためにブロック内の画素の画素値を分類する。いくつかの例では、ヒストグラム内の最も重要なL個のピーク値を主要色として選択することができる(Lは正の整数である)。一例では、主要な色に近い画素値を主要な色に量子化することができる。いくつかの例では、主要な色に属さない画素は、エスケープ画素と呼ばれる。エスケープ画素は、符号化の前に量子化され得る。いくつかの実施形態では、可逆符号化のために、量子化プロセスは実行されない。
【0094】
さらに、いくつかの実施形態では、各ピクセルに対して、ピクセルがどの色に属するかを示すためにカラーインデックスが割り当てられる。いくつかの例では、L個の主要な色が使用される場合、0~(L-1)を主要な色のカラーインデックスとして使用することができ、0~(L-1)を主要なカラーセットと呼ぶことができる。主要なカラーインデックスが存在しないピクセルについては、特別なインデックス(例えば、0以外のインデックスN~(L-1))が割り当てられ、これらのピクセルは「エスケープピクセル」と呼ばれる。
【0095】
一般に、パレットはカラールックアップテーブルとして実装される。カラールックアップテーブルは、複数のエントリを含む。各エントリは、カラーインデックスを色(例えば、主要な色)に関連付ける。いくつかの例では、ルマ成分とクロマ成分の両方を符号化するために単一のパレットが使用される。各エントリは、3つの色成分を使用して特定のRGB(YUV)色を表すことができる。例えば、パレットは、純粋な黒色を表す(R,G,B)=(0,0,0)を有するエントリ1を有することができ、青みがかった色を表す(R,G,B)=(2,10,200)を有するエントリ0を有することができる。ビデオフォーマットが420であるとき、クロマプレーンは、パレットのためのカラールックアップテーブルを生成するためにアップサンプリングされることに留意されたい。
【0096】
いくつかの実施形態では、パレットベースの符号化はCUベースで実行される。一例では、カレントCUについて、カレントCU内の最も支配的な画素値を含むカラールックアップテーブルが導出される。いくつかの例では、カラールックアップテーブルのサイズおよび要素を送信することができる。いくつかの他の例では、カラールックアップテーブルのサイズおよび要素は、他のCUのカラールックアップテーブルのサイズおよび/または要素を使用して予測的に符号化され得る。
【0097】
本開示のいくつかの態様によれば、パレット予測器リストに基づいてパレット予測を実行することができる。一例では、パレット予測器リストは、他のCUに使用される複数のパレットを含むことができる。パレット予測器リストを参照として使用してカレントパレットを符号化するために、パレット予測器リスト内の各エントリがカレントパレットで再利用されるかどうかを示すためにバイナリベクトルが使用される。
【0098】
いくつかの例(例えば、HEVC SCC)では、パレット予測器リストは、カレントパレットを予測するための参照として以前に符号化されたパレットエントリを格納する。パレット予測器リストは、各パレットモードCUの後に更新される。一例では、パレット予測器リストは使用頻度が最も低いキャッシュと同様に動作する。最新のパレットをパレット予測器リストの先頭に挿入することができ、リストサイズが閾値を超える場合、走査順で最も遠いCUからのエントリは破棄される。いくつかの例では、最大許容パレット予測器サイズおよびパレットサイズは、高レベルシンタックスで、またはエンコーダおよびデコーダの両方によって合意された定義値としてシグナリングされる。一実施形態では、パレット予測器リストのサイズの上限は、SPSにおいて(直接的または間接的に)シグナリングされる。例えば、パレット予測器リストは、パレットのサイズ制限の約2倍のサイズを有することができる。いくつかの例では、パレット予測器リストは、履歴パレット予測器リスト(HPPL)とも呼ばれる。一例では、SPSにおいて、最大予測器パレットサイズは63であるようにシグナリングされ、最大パレットサイズは31であるようにシグナリングされる。別の例では、これら2つの値は、シグナリングなしでエンコーダおよびデコーダによって想定される。
【0099】
いくつかの実施形態では、パレット予測リスト内のエントリは、それぞれ再利用フラグを有することができる。エントリの再利用フラグが真である場合(例えば、「1」)、そのエントリは再利用エントリと呼ばれる。パレット予測リスト内の再利用エントリの色成分は、カレントパレットのカラールックアップテーブルにコピーされ得る。再利用エントリは、パレット予測器リスト内の順序を維持するように、カレントパレットの先頭に配置される。カレントパレット内の再利用エントリの後に、パレット予測器リストにない新たなパレットエントリが続くことができる。新しいパレットエントリをシグナリングすることができる。各新しいパレットエントリは、例えば3つの色成分を含むことができる。
【0100】
いくつかの実施形態では、パレット予測器リストを初期化するために、所定のエントリを有するパレットイニシャライザを使用することができる。パレットイニシャライザを使用すると、いくつかのシナリオでは符号化効率を向上させることができる。パレットイニシャライザは、例えば画像パラメータセット(PPS)、シーケンスパラメータセット(SPS)などでシグナリングされ得る。
【0101】
カラーインデックスを、以下のようにエンコード化することができる。分類後、ブロックの画素を、選択された主要カラーセットに従ってカラーインデックスに変換することができる。いくつかの例では、予測符号化方法を色インデックスに適用することができ、水平モード(例えば、コピーインデックスモード)、垂直モード(例えば、コピーアバブモード)、および通常モード(例えば、エスケープモード)を含む複数の異なるモード(例えば、3つの異なるモード)によって画素ラインを予測することができる。いくつかの例では、色インデックスを符号化するときに2つのインデックス走査順序(例えば、水平トラバース走査および垂直トラバース走査)が使用される。2つのインデックス走査順序のうちのどれが使用されるかを示すために、インデックス回転フラグをシグナリングすることができる。
【0102】
コピーインデックスモードでは、第1のピクセルから開始して、1つまたは複数の連続するインデックスを第1のピクセルからコピーすることができる。第1のピクセルのカラーインデックスをシグナリングすることができる。
【0103】
コピーアバブモードでは、1つまたは複数の連続するカラーインデックスを、上記のピクセルライン、例えばカレントピクセルラインの上にあるピクセルラインからコピーすることができる。
【0104】
エスケープモードでは、例えば主要カラーセット内の最大インデックス(例えば、N)によってシグナリングされるエスケープピクセルに遭遇すると、対応するピクセル値を最大インデックス(例えば、N)の後に符号化することができる。CU内に異なる色値を有する複数のエスケープピクセルが存在し得る。異なるエスケープピクセル位置の場合、エスケープピクセルのピクセル値は異なり得る。
【0105】
各コピーインデックスモードについて、インデックス値をシグナリングすることができる。インデックスシグナリングは、例えば、コンテキスト適応型バイナリ算術符号化(CABAC)スループットを改善するために、前方(または先頭)にグループ化され得る。同様に、例えばCABACスループットを改善するために、エスケープピクセルのピクセル値を後方でシグナリングすることができる。インデックス符号化とエスケープ符号化との間でコピーインデックスモードおよびコピーアバブモードをシグナリングすることができる。
【0106】
一実施形態では、符号化ツリー方式は、ルマ成分および対応するクロマ成分(複数可)が別個のブロックツリー構造を有する能力をサポートする。一例では、PスライスおよびBスライスの場合、CTU内のルマCTBおよびクロマCTBは、同じ符号化ツリー構造(例えば、シングルツリー)を共有する。Iスライスの場合、CTU内のルマCTBおよびクロマCTBは、別個のブロックツリー構造(例えば、デュアルツリー)を有することができ、別個のブロックツリー構造を使用するCTUのパーティションケースは、デュアルツリーパーティションと呼ばれる。一例では、デュアルツリーパーティションが適用される場合、ルマCTBを、ルマ符号化ツリー構造によってルマCUに分割することができ、クロマCTBを、クロマ符号化ツリー構造によってクロマCUに分割することができる。
【0107】
JVETなどのいくつかの例では、クロマ成分のサンプルは、ルマ成分と比較して独立したまたは別個の分割ツリー構造(または符号化ツリー構造)を有することができる。別個の符号化ツリー構造はCTUレベルから開始することができ、いくつかの例では、CTUレベルからのデュアルツリー構造はグローバルデュアルツリー構造と呼ばれる。一例では、クロマCU(例えば、2つのクロマ成分のみを含むCU)は、対応するサンプル位置におけるクロマCUのルマ対応部分よりも大きい。
【0108】
CTUレベルデュアルツリー(グローバルデュアルツリー構造)のいくつかの例では、最大許容予測器パレットサイズおよびパレットサイズは、例えば半分に縮小され、その結果、(ルマまたはクロマの)各チャネルについて、複雑さが低減される。例えば、シングルツリー符号化の場合、ルマおよびクロマパレット符号化ブロックは一緒に符号化され、最大許容予測器パレットサイズは63エントリであり、最大許容パレットサイズは31エントリである。デュアルツリー符号化の場合、ルマパレット符号化ブロックでは、最大許容予測器パレットサイズは31エントリであり、最大許容パレットサイズは15エントリであり;クロマパレット符号化ブロックについて、最大許容予測器パレットサイズは31エントリであり、最大許容パレットサイズは15エントリである。
【0109】
本開示のいくつかの態様によれば、小さいクロマブロック(4×4より小さいクロマサンプルを有するCUなど)の使用を回避するために、ローカルデュアルツリーと呼ばれる技術が使用される。一例では、いくつかの条件(親CUサイズが4×4サンプル未満のクロマブロックを引き起こす可能性があるいくつかの閾値以下であるなど)が満たされたとき、ローカルデュアルツリー技術がトリガされ得る。その後、CTUレベルでのデュアルツリーと同様の方法でCUのルマおよびクロマ符号化を分離することができる。
【0110】
本開示の一態様によれば、分割ツリー構造が使用される場合、ルマ成分は、イントラ予測モード、IBCモード、およびパレットベースの符号化モードのうちの1つで符号化され得、クロマ成分は、イントラ予測モードおよびパレットベースの符号化モードのうちの1つで符号化され得る。しかしながら、ローカルデュアルツリーの使用は、パレットベースの符号化モードにおける動作を複雑にする。例えば、ローカルデュアルツリー構造のブロックは、シングルツリー構造内に隣接するブロックを有することができる。同じパレット予測器リストが、ローカルデュアルツリー構造のブロックおよびシングルツリー構造内の隣接ブロックによって使用されてもよい。パレット予測器リストの更新は複雑になり得る。
【0111】
本開示の態様は、ローカルデュアルツリー符号化構造を用いてパレットベースの符号化を単純化する技術を提供する。
【0112】
本開示の一態様によれば、いくつかの条件が真である場合、パレット予測器リスト更新プロセスは無効化されるか、またはパレットモード符号化のためにバイパスされる。いくつかの例では、ローカルデュアルツリーをトリガすることができ、ローカルデュアルツリー構造のブロックがパレットベースの符号化モードで符号化される場合、パレット予測器リストの更新プロセスを無効にすることができる。したがって、ローカルデュアルツリー構造の下で、パレットベースの符号化モードで符号化されたルマブロックおよび/またはパレットベースの符号化モードで符号化されたクロマブロックの場合、それらのブロックのパレットエントリは、パレット予測器リスト内のパレットエントリを更新するために使用されない。
【0113】
一実施形態では、ローカルデュアルツリーのトリガを検出することができる。一例では、ローカルデュアルツリーがトリガされると、パレット予測器リストは、ローカルデュアルツリー構造の下でパレットベースの符号化モードで符号化されたクロマブロックに基づいて更新されず、ローカルデュアルツリー構造の下でパレットベースの符号化モードで符号化されたルマブロックに基づいて更新されない。別の例では、ローカルデュアルツリーがトリガされると、パレット予測器リストは、ローカルデューツリー構造の下でパレットベースの符号化モードで符号化されたルマブロックに基づいて更新されず、ローカルデュアルツリー構造の下でパレットベースの符号化モードで符号化されたクロマブロックに基づいて更新され得る。別の例では、ローカルデュアルツリーがトリガされると、パレット予測器リストは、ローカルデュアルツリー構造の下でパレットベースの符号化モードで符号化されたクロマブロックに基づいて更新されず、ローカルデュアルツリー構造の下でパレットベースの符号化モードで符号化されたルマブロックに基づいて更新され得る。
【0114】
具体的には、一例では、localDualTreeで示される変数を使用して、ローカルデュアルツリーをトリガできるかどうかを検出する。一例では、変数localDualTreeは、(式1)に従って導出される:
localDualTree=treeType !=SINGLE_TREE&&
(slice_type !=I | |(slice_type==I&&qtbtt_dual_tree_intra_flag==0))?1:0(式1)
ここで、treeTypeは分割ツリー構造(例えば、SINGLE_TREE、DUAL_TREE_LUMA、DUAL_TREE_CHROMAなど)のタイプを表し、slice_typeはカレントスライスのタイプ(例えば、I、PまたはB)を表し、qtbtt_dual_tree_intra_flagはグローバルデュアルツリー用のフラグを表す。変数localDualTreeが1に等しい場合、ローカルデュアルツリーをトリガして検出することができ;変数localDualTreeが0に等しい場合、ローカルデュアルツリーはトリガされない。
【0115】
図9は、いくつかの例におけるパレット予測リストを更新するためのシンタックス例(900)を示している。いくつかの例では、localDualtreeが0に等しい場合、パレット予測リストを、シンタックス例(900)に従って更新することができ;localDualtreeが1に等しい場合、シンタックス例(900)による更新処理をスキップする。
【0116】
一例では、シングルツリー構造の下にあるパレット符号化ブロックの場合、パレット予測リストをブロックに基づいて更新することができる。例えば、treeTypeはSINGLE_TREEに等しいので、localDualtreeは0に等しい。また、変数startComp(例えば、開始色成分)は0に設定され、変数numComps(例えば、色成分の数)は、ルマ成分のみが符号化されている場合には1に設定され、ルマ成分およびクロマ成分の両方が符号化されている場合には3に設定される。そして、シンタックス(900)に従って、パレット予測器リスト(例えば、PredictorPaletteSizeで表される)のサイズ、およびパレット予測器リスト(例えば、predictorPaletteEntriesで表される)のエントリを更新することができる。
【0117】
別の例では、グローバルデュアルツリーの下のパレット符号化ルマブロックの場合、パレット予測リストをブロックに基づいて更新することができる。例えば、CTUレベルデュアルツリー(グローバルデュアルツリー)の場合、treeTypeはDUAL_TREE_LUMAに等しく、slice_typeはIに等しく、グローバルデュアルツリーフラグqtbtt_dual_tree_intra_flagは1に等しく、したがってlocalDualtreeは0に等しい。また、変数startCompは0に設定され、numCompsは1に設定される。そして、シンタックス(900)に従って、パレット予測器リスト(例えば、PredictorPaletteSizeで表される)のサイズ、およびパレット予測器リスト(例えば、predictorPaletteEntriesで表される)のエントリを更新することができる。
【0118】
別の例では、グローバルデュアルツリーの下のパレット符号化クロマブロックの場合、パレット予測リストをブロックに基づいて更新することができる。例えば、CTUレベルデュアルツリー(グローバルデュアルツリー)の場合、treeTypeはDUAL_TREE_CHROMAに等しく、slice_typeはIに等しく、グローバルデュアルツリーフラグqtbtt_dual_tree_intra_flagは1に等しく、したがってlocalDualtreeは0に等しい。また、変数startCompは1に設定され、numCompsは2に設定される。そして、シンタックス(900)に従って、パレット予測器リスト(例えば、PredictorPaletteSizeで表される)のサイズ、およびパレット予測器リスト(例えば、predictorPaletteEntriesで表される)のエントリを更新することができる。
【0119】
別の例では、ローカルデュアルツリーの下のパレット符号化クロマブロックの場合、パレット予測リストの更新をスキップすることができる。例えば、treeTypeはDUAL_TREE_CHROMAに等しく、slice_typeはIに等しく、グローバルデュアルツリーフラグqtbtt_dual_tree_intra_flagは0に等しく、したがってlocalDualtreeは1に等しい。そして、シンタックス例(900)による更新処理はスキップされる。
【0120】
本開示の別の態様によれば、ローカルデュアルツリーの使用をトリガすることができる符号化構成が使用中である場合、パレットベースの符号化モードは小さいブロックに対しては許可されない。したがって、ローカルデュアルツリーの場合のパレット予測器リスト更新の複雑化を回避することができる。
【0121】
一例では、slice_typeがIに等しくない場合、またはslice_typeがIに等しいが、(グローバル)デュアルツリーを有効にするスライスレベルフラグ(例えば、qtbtt_dual_tree_intra_flag)が0に等しい場合、ローカルデュアルツリーをトリガできる(例えば、localDualTreeは1に等しい)。ローカルデュアルツリーがトリガされると、幅×高さ<閾値である符号化ユニットなどの小さいブロックは、パレットベースの符号化モードによって符号化されることが許可されない。一実施形態では、閾値は、カレント符号化ツリーのブロックサイズがこの閾値を超える場合、ローカルデュアルツリーが使用されないように定義される。いくつかの例では、パレットベースの符号化モードは、ローカルデュアルツリー構造の下の小さいルマブロックおよび小さいクロマブロックに対して許可されない。いくつかの例では、パレットベースの符号化モードは、ローカルデュアルツリー構造の下の小さいクロマブロックに対してのみ許可されない。
【0122】
図10は、パレットベースの符号化モードがカレントブロックに使用されるかどうかを示すフラグ(pred_mode_plt_flag)の存在をビットストリームにおいて判定するためのシンタックス例を示している。
図10の例では、部分(1001)はサイズ制約を適用するために使用され、部分(1002)はクロマブロックおよびローカルデュアルツリー制約を適用するために使用される。例えば、ブロックが小さい(例えば、ルマブロックの場合、幅×高さが16より小さい、またはクロマブロックの場合、幅×高さが16×SubWidthC×SubHeightCより小さい)場合、部分(1001)は0とすることができ、したがってブロックのpre_mode_plt_flagはビットストリーム内に存在せず、パレットベースの符号化モードはブロックに対して許可されない。
【0123】
一例では、ローカルデュアルツリー構造の下のクロマブロックの場合、modeTypeはMODE_TYPE_INTRAに等しく、treeTypeはDUAL_TREE_CHROMAに等しいので、部分(1002)は0になり得る。したがって、クロマブロックの場合のpred_mode_plt_flagはビットストリーム内に存在せず、したがって、パレットベースの符号化モードはクロマブロックに対して許可されない。別の例では、グローバルデュアルツリーのクロマブロックの場合、modeTypeはMODE_TYPE_ALLに等しく、treeTypeはDUAL_TREE_CHROMAに等しいので、部分(1002)は1になり得る。したがって、グローバルデュアルツリー構造の下のクロマブロックは、パレットベースの符号化モードで符号化され得る。別の例では、ローカルデュアルツリー構造の下のルマブロックの場合、modeTypeはMODE_TYPE_INTRAに等しく、treeTypeはDUAL_TREE_LUMAに等しいので、部分(1002)は1になり得る。したがって、ローカルデュアルツリー構造の下のルマブロックは、パレットベースの符号化モードで符号化され得る。
【0124】
本開示の別の態様によれば、ローカルデュアルツリーが使用される場合、最大許容予測器パレットサイズおよびパレットサイズは、例えば半分に縮小される。予測器パレットサイズおよびパレットサイズの縮小は、更新の複雑さを低減することができる。いくつかの例では、ルマブロックとクロマブロックを別々に符号化することを可能にする(CTUより小さい)各ローカル領域(例えば、ローカルデュアルツリー)について、最大許容予測器パレットサイズおよびパレットサイズは、ジョイントパレットケース(ルマ成分とクロマ成分の両方を有するパレットを使用する)の半分に設定される。
【0125】
一実施形態では、最大許容予測器パレットサイズおよびパレットサイズは、ジョイントパレットケースでは、それぞれ63および31である。次に、ローカルデュアルツリー構造の下で、ルマブロックのパレットベースの符号化モードのための最大許容予測器パレットサイズおよびパレットサイズは、それぞれ31および15に設定され;クロマブロックのパレットベースの符号化モードのための最大許容予測器パレットサイズおよびパレットサイズは、それぞれ31および15に設定される。
【0126】
図11は、本開示の一実施形態によるプロセス(1100)の概要を示すフローチャートを示している。プロセス(1100)は、ブロックの再構築に使用され得る。様々な実施形態では、プロセス(1100)は、端末デバイス(310)、(320)、(330)および(340)の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、プロセス(1100)はソフトウェア命令で実施され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(1100)を実行する。プロセスは(S1101)から始まり、(S1110)に進む。
【0127】
(S1110)において、符号化ビデオビットストリームからブロックの予測情報が復号される。
【0128】
(S1120)において、ブロックのパレットベースの符号化モードを許可するかどうかが、ブロックのサイズと閾値との比較に基づいて判定される。
【0129】
(S1130)において、ブロックがローカルデュアルツリー構造の下にあるかどうかが判定される。
【0130】
(S1140)において、ブロックのパレットベースの符号化モードを許可するかどうかの判定、およびブロックがローカルデュアルツリー構造の下にあるかどうかの判定に基づいて、ブロックが復号される。
【0131】
いくつかの実施形態では、ブロックのサイズが閾値より小さいことに応答して、ブロックのパレットベースの符号化モードは許可されない。例えば、ブロックについて条件(1001)が満たされない場合、パレットベースの符号化モードは許可されない。いくつかの例では、閾値は、ブロックが閾値より大きい場合にローカルデュアルツリー構造が使用されないように定義される。
【0132】
一実施形態では、ブロックがクロマブロックであり、クロマブロックのサイズが閾値より小さいことに応答して、ブロックのパレットベースの符号化モードは許可されない。一例では、パレットベースの符号化モードは、小さいルマブロックでは使用できるが、小さいクロマブロックでは使用できない。
【0133】
別の実施形態では、パレットベースの符号化モードは、ブロックがローカルデュアルツリー構造の下のクロマブロックであることを示すブロックのモードタイプとツリータイプの組み合わせに基づいてブロックに対して許可されない。一例では、ブロックを復号するために、モードタイプがMODE_TYPE_INTRAに等しく、ツリータイプがDUAL_TREE_CHROMAに等しく、条件(1002)の値が0に等しい場合、ブロックのパレットベースの符号化モードは許可されない。
【0134】
いくつかの実施形態では、パレットベースの符号化モードが許可されると、パレットベースの符号化モードがブロックで使用されるかどうかを示すフラグ(例えば、pred_mode_plt_flag)が復号される。ブロックに対するパレットベースの符号化モードの使用を示すフラグに応答して、ブロックはパレットベースの符号化モードを使用して復号される。いくつかの実施形態では、ブロックがローカルデュアルツリー構造の下にあることに応答して、パレット予測器リストの更新をスキップまたはバイパスすることができる。
【0135】
いくつかの例では、パレット予測器リストは、ローカルデュアルツリー構造のトリガがないことに応答して、ブロック更新の復号で使用されるパレットに基づいて更新される。一例では、変数localDualTreeは、ローカルデュアルツリーがトリガされたかどうかを検出するために使用される。例えば、変数localDualTreeが0である場合、ブロックのカレントパレットに基づくパレット予測器リストの更新を行うことができる。一例では、変数localDualTreeが1である場合、ブロックのカレントパレットに基づくパレット予測器リストの更新はスキップされる。別の例では、変数localDualTreeが1である場合、パレット予測器リストは、ブロックがルマブロックであるときに更新され得、ブロックがクロマブロックであるときにはスキップされる。
【0136】
別の実施形態では、ローカルデュアルツリー構造の下のブロック、パレットの最大サイズ、およびパレット予測器リストの最大サイズは、例えば半分に縮小される。いくつかの例では、パレットベースの符号化モードがブロックに許可されている場合、パレットベースの符号化モードがブロックで使用されるかどうかを示すフラグが復号される。次に、フラグがブロックに対するパレットベースの符号化モードの使用を示し、ブロックがローカルデュアルツリー構造の下にある場合、ブロックは、パレットの最大サイズが縮小されたパレットに基づいて復号される。例えば、パレットの通常の最大サイズは31であり、パレットの縮小された最大サイズは15である。さらに、パレット予測器リストは、ブロックの復号に使用されたパレットに基づいて更新され、パレット予測器リストのサイズは、パレット予測器リストの縮小された最大サイズによって制限される。例えば、パレット予測器リストの通常の最大サイズは63であり、パレット予測器リストの縮小された最大サイズは31である。
【0137】
その後、プロセスは(S1199)に進み、終了する。
【0138】
上述した技術は、コンピュータ可読命令を使用し、1つまたは複数のコンピュータ可読媒体に物理的に格納されたコンピュータソフトウェアとして実装され得る。例えば、
図12は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(1200)を示している。
【0139】
コンピュータソフトウェアは、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって直接、または間接的に、マイクロコード実行などを介して実行することができる命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどの機構を対象とし得る任意の適切な機械コードまたはコンピュータ言語を使用して符号化され得る。
【0140】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む様々な種類のコンピュータまたはその構成要素上で実行され得る。
【0141】
コンピュータシステム(1200)について
図12に示す構成要素は、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関する制限を示唆することを意図していない。構成要素の構成は、コンピュータシステム(1200)の例示的な実施形態に示されている構成要素のいずれか1つまたは組み合わせに関する依存関係または要件を有すると解釈されるべきではない。
【0142】
コンピュータシステム(1200)は、特定のヒューマンインターフェース入力デバイスを含んでもよい。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介した1人または複数の人間のユーザによる入力に応答してもよい。ヒューマンインターフェースデバイスはまた、オーディオ(例えば、スピーチ、音楽、周囲音)、イメージ(例えば、走査イメージ、静止イメージカメラから取得された写真イメージ)、ビデオ(例えば、2次元ビデオ、立体ビデオを含む3次元ビデオ)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むために使用されてもよい。
【0143】
入力ヒューマンインターフェースデバイスは、キーボード(1201)、マウス(1202)、トラックパッド(1203)、タッチスクリーン(1210)、データグローブ(図示せず)、ジョイスティック(1205)、マイクロフォン(1206)、スキャナ(1207)、カメラ(1208)のうちの1つまたは複数(各々のうちのただ1つ)を含んでもよい。
【0144】
コンピュータシステム(1200)はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味によって1人または複数の人間のユーザの感覚を刺激してもよい。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1210)、データグローブ(図示せず)、またはジョイスティック(1205)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る)、音声出力デバイス(例えば、スピーカ(1209)、ヘッドホン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1210)であって、それぞれがタッチスクリーン入力機能を有するかまたは有さず、それぞれが触覚フィードバック機能を有するかまたは有さず、その一部は、ステレオ出力などの手段を介して二次元視覚出力または三次元以上の出力を出力することができてもよい;仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、およびスモークタンク(図示せず))、およびプリンタ(図示せず)を含んでもよい。
【0145】
コンピュータシステム(1200)はまた、ヒューマンアクセス可能なストレージデバイスおよびそれらの関連媒体、例えば、CD/DVDなどの媒体(1221)を有するCD/DVD ROM/RWを含む光学媒体(1220)、サムドライブ(1222)、リムーバブルハードドライブまたはソリッドステートドライブ(1223)、テープおよびフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用ROM/ASIC/PLDベースのデバイスなどを含むことができる。
【0146】
当業者はまた、本開示の主題に関連して使用される 「コンピュータ可読媒体」 という用語が、伝送媒体、搬送波、または他の一時的信号を包含しないことを理解すべきである。
【0147】
コンピュータシステム(1200)はまた、1つまたは複数の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などであり得る。ネットワークの例には、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルTV、衛星TV、および地上波放送TVを含むTV有線または無線広域デジタルネットワーク、CANBusを含む車両および産業用などが含まれる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(1249)に取り付けられた外部ネットワークインターフェースアダプタを必要とする(例えば、コンピュータシステム(1200)のUSBポートなど);他のものは、一般に、後述するようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラネットワークインターフェース)によってコンピュータシステム(1200)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(1200)は、他のエンティティと通信することができる。そのような通信は、例えば、ローカルまたは広域デジタルネットワークを使用する他のコンピュータシステムに対して、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースのそれぞれで使用され得る。
【0148】
前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能なストレージデバイス、およびネットワークインターフェースを、コンピュータシステム(1200)のコア(1240)に取り付けることができる。
【0149】
コア(1240)は、1つまたは複数の中央処理装置(CPU)(1241)、グラフィックス処理装置(GPU)(1242)、フィールドプログラマブルゲートエリア(FPGA)(1243)の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(1244)などを含むことができる。これらのデバイスは、読み取り専用メモリ(ROM)(1245)、ランダムアクセスメモリ(1246)、内部非ユーザアクセス可能ハードドライブやSSDなどの内部大容量ストレージ(1247)と共に、システムバス(1248)を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1248)は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺機器を、コアのシステムバス(1248)に直接取り付けることも、周辺バス(1249)を介して取り付けることもできる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
【0150】
CPU(1241)、GPU(1242)、FPGA(1243)、およびアクセラレータ(1244)は、組み合わせて上述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(1245)またはRAM(1246)に格納され得る。移行データはまた、RAM(1246)に格納され得、一方、永続データは、例えば内部大容量ストレージ(1247)に格納され得る。メモリデバイスのいずれかへの高速記憶および検索は、1つまたは複数のCPU(1241)、GPU(1242)、大容量ストレージ(1247)、ROM(1245)、RAM(1246)などと密接に関連付けることができるキャッシュメモリの使用によって可能にすることができる。
【0151】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであってもよい。
【0152】
限定ではなく、例として、アーキテクチャ(1200)、特にコア(1240)を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体で実現されたソフトウェアを実行する1つまたは複数のプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上述のようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ(1247)またはROM(1245)などの非一時的な性質のコア(1240)の特定のストレージに関連付けられた媒体とすることができる。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに格納され、コア(1240)によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1240)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1246)に格納されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、ハードワイヤードまたは他の方法で回路(例えば、アクセラレータ(1244))に実現された論理の結果として機能を提供することができ、ソフトウェアの代わりに、またはソフトウェアと共に動作して、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行することができる。ソフトウェアへの参照は、適切な場合には、論理を包含することができ、逆もまた同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理を実現する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
付記A:頭字語
JEM:共同探査モデル
VVC:汎用ビデオ符号化
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:符号化ユニット
【0153】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内に入る変更、置換、および様々な代替の等価物がある。したがって、当業者は、本明細書に明示的に示されていないまたは記載されていないが、本開示の原理を具体化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0154】
101 サンプル
201 概略図
300 通信システム
310 端末デバイス
320 端末デバイス
330 端末デバイス
340 端末デバイス
350 ネットワーク
400 通信システム
401 ビデオソース
402 ビデオ画像
403 ビデオエンコーダ
404 エンコード化ビデオデータ
405 ストリーミングサーバ
406 クライアントサブシステム
407 エンコード化ビデオデータのコピー
408 クライアントサブシステム
409 エンコード化ビデオデータのコピー
410 ビデオデコーダ
411 ビデオ画像
412 ディスプレイ
413 キャプチャサブシステム
420 電子デバイス
430 電子デバイス
501 チャネル
510 ビデオデコーダ
512 レンダリングデバイス
515 バッファメモリ
520 パーサ
521 シンボル
530 電子デバイス
531 受信機
551 スケーラ/逆変換ユニット
552 イントラ画像予測ユニット
553 動き補償予測ユニット
555 アグリゲータ
556 ループフィルタユニット
557 参照画像メモリ
558 カレント画像バッファ
601 ビデオソース
603 ビデオエンコーダ
620 電子デバイス
630 ソースコーダ
632 符号化エンジン
633 デコーダ
634 参照画像メモリ
635 予測器
640 送信機
643 符号化ビデオシーケンス
645 エントロピーコーダ
650 コントローラ
660 チャネル
703 ビデオエンコーダ
721 汎用コントローラ
722 イントラエンコーダ
723 残差計算器
724 残差エンコーダ
725 エントロピーエンコーダ
726 スイッチ
728 残差デコーダ
730 インターエンコーダ
810 ビデオデコーダ
871 エントロピーデコーダ
872 イントラデコーダ
873 残差デコーダ
874 再構築モジュール
880 インターデコーダ
900 シンタックス
1001 部分、条件
1002 部分、条件
1200 コンピュータシステム
1201 キーボード
1202 マウス
1203 トラックパッド
1205 ジョイスティック
1206 マイクロフォン
1207 スキャナ
1208 カメラ
1209 スピーカ
1210 タッチスクリーン
1220 光学媒体
1221 CD/DVDなどの媒体
1222 サムドライブ
1223 リムーバブルハードドライブまたはソリッドステートドライブ
1240 コア
1241 CPU
1242 GPU
1243 FPGA
1244 アクセラレータ
1245 ROM
1246 ランダムアクセスメモリ
1247 大容量ストレージ
1248 システムバス
1249 周辺バス
【手続補正書】
【提出日】2021-09-29
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーダ
が実行するビデオ復号の方法であって、
符号化ビデオビットストリームからブロックの予測情報を復号するステップと、
前記ブロックのサイズと閾値との比較に基づいて、前記ブロックのパレットベースの符号化モードを許可するかどうかを判定するステップと、
前記予測情報に基づいて前記ブロックがローカルデュアルツリー構造の下にあるかどうかを判定するステップと、
前記ブロックの前記パレットベースの符号化モードを許可するかどうかの前記判定と、前記ブロックが前記ローカルデュアルツリー構造の下にあるかどうかの前記判定とに基づいて、前記ブロックを復号するステップと
を含む、方法。
【請求項2】
前記ブロックの前記サイズが前記閾値より小さいことに応答して、前記ブロックの前記パレットベースの符号化モードを許可しないステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
前記閾値は、前記ブロックが閾値よりも大きいことに応答して前記ローカルデュアルツリー構造を許可しないように定義される、請求項1に記載の方法。
【請求項4】
前記ブロックがクロマブロックであり、前記クロマブロックの前記サイズが前記閾値よりも小さいことに応答して、前記ブロックの前記パレットベースの符号化モードを許可しないステップ
をさらに含む、請求項1に記載の方法。
【請求項5】
前記ブロックが前記ローカルデュアルツリー構造の下のクロマブロックであることを示す前記ブロックのモードタイプとツリータイプの組み合わせに基づいて、前記ブロックの前記パレットベースの符号化モードを許可しないステップ
をさらに含む、請求項1に記載の方法。
【請求項6】
前記符号化ビデオビットストリームから、前記パレットベースの符号化モードが許可されていることに応答して、前記ブロック上で前記パレットベースの符号化モードが使用されるかどうかを示すフラグを復号するステップと、
前記ブロックに対する前記パレットベースの符号化モードの使用を示す前記フラグに応答して、前記パレットベースの符号化モードを使用して前記ブロックを復号するステップと、
前記ブロックが前記ローカルデュアルツリー構造の下にあることに応答して、パレット予測器リストの更新をバイパスするステップと
をさらに含む、請求項1に記載の方法。
【請求項7】
前記ローカルデュアルツリー構造がトリガされないことに応答して、前記ブロックの前記復号に使用されたパレットに基づいて前記パレット予測器リストを更新するステップ
をさらに含む、請求項6に記載の方法。
【請求項8】
前記符号化ビデオビットストリームから、前記パレットベースの符号化モードが許可されていることに応答して、前記ブロック上で前記パレットベースの符号化モードが使用されるかどうかを示すフラグを復号するステップと、
前記ブロックおよび前記ローカルデュアルツリー構造の下にある前記ブロックに対する前記パレットベースの符号化モードの使用を示す前記フラグに応答して、最大サイズが縮小されたパレットに基づいて前記ブロックを復号するステップと
をさらに含む、請求項1に記載の方法。
【請求項9】
前記ブロックの前記復号において使用された前記パレットに基づいてパレット予測器リストを更新するステップであって、前記パレット予測器リストのサイズは縮小された最大サイズによって制限される、ステップ
をさらに含む、請求項8に記載の方法。
【請求項10】
請求項1~9のいずれか一項に記載の方法を行うように構成された装置。
【請求項11】
コンピュータに、請求項1~9のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【国際調査報告】