(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-18
(45)【発行日】2024-07-26
(54)【発明の名称】多重変換選択を用いた適応スキャン
(51)【国際特許分類】
H04N 19/12 20140101AFI20240719BHJP
H04N 19/46 20140101ALI20240719BHJP
H04N 19/61 20140101ALI20240719BHJP
H04N 19/136 20140101ALI20240719BHJP
H04N 19/18 20140101ALI20240719BHJP
【FI】
H04N19/12
H04N19/46
H04N19/61
H04N19/136
H04N19/18
(21)【出願番号】P 2022564801
(86)(22)【出願日】2022-04-20
(86)【国際出願番号】 US2022025604
(87)【国際公開番号】W WO2022226096
(87)【国際公開日】2022-10-27
【審査請求日】2022-10-25
(32)【優先日】2021-04-20
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-04-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】チュン・アウヨン
(72)【発明者】
【氏名】シアン・リ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】田部井 和彦
(56)【参考文献】
【文献】特表2014-504820(JP,A)
【文献】特表2014-534749(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/12
H04N 19/61
H04N 19/46
H04N 19/136
H04N 19/18
(57)【特許請求の範囲】
【請求項1】
復号器が実行するビデオ処理の方法であって、
ビットストリームから符号化ブロックの情報を復号するステップであって、前記情報が、前記符号化ブロックのイントラ予測モードと、複数の分離可能な一次変換候補からの分離可能な一次変換の選択と、複数のスキャンパターン候補からのスキャンパターンの選択と
、選択可能な二次非分離可能変換が前記ビットストリームに適用されていないかどうかとを示す、ステップと、
選択可能な二次非分離可能変換が前記ビットストリームに適用されていないかどうか、および選択可能な分離可能一次変換が前記ビットストリームに適用されているかどうかを
前記情報に基づいて決定するステップと、
前記
選択可能な二次非分離可能変換が前記ビットストリームに適用されず、前記選択可能な分離可能一次変換が前記ビットストリームに適用されると決定することに応答して、前記スキャンパターンの前記選択
と、前記分離可能な一次変換の前記選択とに基づいて前記ビットストリームから前記符号化ブロックの残差を決定するステップと、
前記選択可能な二次非分離可能変換が前記ビットストリームに適用され、前記選択可能な分離可能一次変換が前記ビットストリームに適用されないと決定することに応答して、固定スキャンパターンに基づいて前記ビットストリームから前記符号化ブロックの残差を決定するステップと、
前記符号化ブロックを前記残差と前記符号化ブロックのイントラ予測との組み合わせに基づいて再構成するステップであって、前記イントラ予測が前記イントラ予測モードに基づく、ステップと
を含む、方法。
【請求項2】
前記スキャンパターンの前記選択と、前記分離可能な一次変換の前記選択とに基づいて前記符号化ブロックの前記残差を決定する前記ステップが、
前記ビットストリームを復号し、前記スキャンパターンの前記選択に基づいて変換ドメインにおける変換係数を決定するステップと、
前記分離可能な一次変換に関連する逆変換を前記変換ドメインの前記変換係数に適用し、前記残差を決定するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記情報が選択可能な二次非分離可能変換の除外を示し、前記符号化ブロックの前記残差を決定する前記ステップが、前記選択可能な二次非分離可能変換に関連する逆変換の適用を除外する、請求項1に記載の方法。
【請求項4】
前記スキャンパターンが、前記複数の分離可能な一次変換候補のサブセットを用いて各々適用可能である、請求項1に記載の方法。
【請求項5】
前記スキャンパターンが、前記複数の分離可能な一次変換候補のそれぞれを用いて各々適用可能である、請求項1に記載の方法。
【請求項6】
前記ビットストリームからシンタックスの値を復号するステップであって、前記シンタックスの前記値が、前記複数の分離可能な一次変換候補からの前記分離可能な一次変換の前記選択と前記複数のスキャンパターン候補からの前記スキャンパターンの前記選択との組み合わせを示す、ステップをさらに含む、
請求項1に記載の方法。
【請求項7】
第1のシンタックスの値を前記ビットストリームから復号するステップであって、前記第1のシンタックスの前記値が前記分離可能な一次変換の前記選択を示すステップと、
第2のシンタックスの値を前記ビットストリームから復号するステップであって、前記第2のシンタックスの前記値が前記スキャンパターンの前記選択を示すステップと、
をさらに含む、請求項1に記載の方法。
【請求項8】
前記スキャンパターンの前記選択を推測するステップ
をさらに含む、請求項1に記載の方法。
【請求項9】
前記スキャンパターンの前記選択を、前記イントラ予測モードに基づいて推測するステップ、
をさらに含む、請求項8に記載の方法。
【請求項10】
前記分離可能な一次変換の前記選択を推測するステップと、
シンタックスの値を前記ビットストリームから復号するステップであって、前記シンタックスの前記値が前記分離可能な一次変換の前記選択を示すステップと、
の少なくとも1つをさらに含む、請求項8に記載の方法。
【請求項11】
請求項1~10のいずれか一項に記載の方法を行うように構成された装置。
【請求項12】
コンピュータに、請求項1~10のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年4月18日に出願された米国特許出願第17/723,256号「ADAPTIVE SCANNING WITH MULTIPLE TRANSFORM SELECTION」に対する利益を主張し、これは、2021年4月20日に出願された米国仮出願第63/177,280号「ADAPTIVE SCANNING WITH MULTIPLE TRANSFORM SELECTION」の優先権の利益を主張する。先行出願の開示は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、ビデオ符号化に関係する実施形態を記載する。
【背景技術】
【0003】
本明細書において提供される背景技術の説明は、本開示の文脈を大まかに提示することを目的としている。本明細書に記載された発明者の業績は、その業績がこの背景技術セクションに記載されている限りにおいて、さもなければ出願時に従来技術として適格ではない可能性がある説明の態様は、本開示に対する従来技術として、明示的にも黙示的にも認められない。
【0004】
非圧縮のデジタルビデオは一連の画像を含むことができ、各画像の空間次元は、例えば1920x1080の輝度サンプルと、関連する色度サンプルとを有する。当該一連の画像は、例えば、毎秒60画像、つまり60Hzの固定または可変の画像レート(非公式にはフレームレートとも呼ばれる)を有することができる。非圧縮ビデオは特定のビットレート要件を有する。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60Hzフレームレートで1920x1080の輝度サンプルの解像度)には、約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の(35個のイントラモードのうちの33個の角度モードに対応する)33個の可能な予測器方向から知られる9つの予測器方向のサブセットである。矢印が収束する点(101)は、予測されているサンプルを表す。矢印は、そこからサンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が水平から45度の角度で右上にある1つまたは複数のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が水平から22.5度の角度でサンプル(101)の左下にある1つまたは複数のサンプルから予測されることを表す。
【0012】
さらに
図1Aを参照すると、左上には、(太い破線によって示された)4×4サンプルの正方形ブロック(104)が図示されている。正方形ブロック(104)は16個のサンプルを含み、各々、「S」、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】
図1Bは、時間と共に増加する予測方向の数を説明するために、JEMによる65個のイントラ予測方向を描いた概略図(110)である。
【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予測自体は非可逆であり得る。
【0020】
様々なMV予測メカニズムが、H.265/HEVC(ITU-T Rec.H.265、「High Efficiency Video Coding」、2016年12月)に記載されている。H.265が提供する多くのMV予測メカニズムのうち、本明細書に記載されるのは、以降「空間マージ」と呼ばれる技術である。
【0021】
図2を参照すると、現在ブロック(201)は、動き検索処理中に符号器により、空間的にシフトされた同じサイズの以前のブロックから予測可能であることが見出されたサンプルを含む。直接そのMVを符号化する代わりに、MVは、A0、A1、およびB0、B1、B2(各々、202~206)と表記された5つの周囲サンプルのいずれか1つに関連付けられたMVを使用して、1つまたは複数の参照画像に関連付けられたメタデータから、例えば、(復号順序で)最新の参照画像から導出することができる。H.265では、MV予測は、隣接するブロックが使用している同じ参照画像からの予測器を使用することができる。
【発明の概要】
【課題を解決するための手段】
【0022】
本開示の態様は、ビデオを符号化/復号する方法および装置を提供する。いくつかの例では、ビデオ復号のための装置は、受信回路および処理回路を含む。例えば、処理回路は、ビットストリームから符号化ブロックの情報を復号する。情報は、符号化ブロックのイントラ予測モード、複数の分離可能な一次変換候補からの分離可能な一次変換の選択、および複数のスキャンパターン候補からのスキャンパターンの選択を示す。処理回路は、選択可能な二次非分離可能変換がビットストリームに適用されていないかどうか、および選択可能な分離可能一次変換がビットストリームに適用されているかどうかを決定する。二次非分離可能変換がビットストリームに適用されず、選択可能な分離可能一次変換がビットストリームに適用されると決定することに応答して、処理回路は、スキャンパターンの選択および分離可能一次変換の選択に基づいてビットストリームから符号化ブロックの残差を決定する。処理回路は、残差と符号化ブロックのイントラ予測との組み合わせに基づいて、符号化ブロックを再構成する。符号化ブロックのイントラ予測は、イントラ予測モードに基づく。
【0023】
いくつかの実施形態では、処理回路はビットストリームを復号し、スキャンパターンの選択に基づいて変換ドメインにおける変換係数を決定し、分離可能な一次変換に関連する逆変換を変換ドメインの変換係数に適用し、残差を決定する。
【0024】
いくつかの実施形態では、情報は、選択可能な二次非分離可能変換の除外も示し、処理回路は、選択可能な二次非分離可能変換に関連する逆変換を適用することなく、符号化ブロックの残差を決定することができる。
【0025】
いくつかの例では、スキャンパターンは、複数の分離可能な一次変換候補のサブセットを用いて各々適用可能である。いくつかの例では、スキャンパターンは、複数の分離可能な一次変換候補のそれぞれを用いて各々適用可能である。
【0026】
いくつかの例では、処理回路は、ビットストリームからシンタックスの値を復号することができ、シンタックスの値は、複数の分離可能な一次変換候補からの分離可能な一次変換の選択と複数のスキャンパターン候補からのスキャンパターンの選択との組み合わせを示す。
【0027】
いくつかの例では、処理回路は、ビットストリームから第1のシンタックスの値および第2のシンタックスの値を復号することができる。第1のシンタックスの値は、分離可能な一次変換の選択を示す。第2のシンタックスの値は、スキャンパターンの選択を示す。
【0028】
いくつかの例では、処理回路は、スキャンパターンの選択を推測する。一例では、処理回路は、イントラ予測モードに基づいてスキャンパターンの選択を推測する。さらに、一例では、処理回路は、分離可能な一次変換の選択も推測する。別の例では、処理回路は、ビットストリームからシンタックスの値を復号し、シンタックスの値は、分離可能な一次変換の選択を示す。
【0029】
本開示の態様はまた、ビデオ復号のためにコンピュータによって実行されると、コンピュータにビデオ復号のための方法を実行させる命令を格納する非一時的コンピュータ可読媒体を提供する。
【0030】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0031】
【
図1A】イントラ予測モードの例示的なサブセットの概略図である。
【
図2】一例における現在のブロックおよびその周囲の空間マージ候補の概略図である。
【
図3】一実施形態による、通信システム(300)の簡略化されたブロック図の概略図である。
【
図4】一実施形態による、通信システム(400)の簡略化されたブロック図の概略図である。
【
図5】一実施形態による、復号器の簡略化されたブロック図の概略図である。
【
図6】一実施形態による、符号器の簡略化されたブロック図の概略図である。
【
図7】別の実施形態による、符号器のブロック図である。
【
図8】別の実施形態による、復号器のブロック図である。
【
図9】本開示のいくつかの実施形態による、変換サブブロック内の変換係数の3つのスキャンパターンのセットを示す図である。
【
図10】本開示のいくつかの実施形態による、変換サブブロックの2つのスキャンパターンのセットを示す図である。
【
図11】いくつかの例における残差符号化モジュールの図である。
【
図12】いくつかの例における変換基底関数を示す図である。
【
図13】いくつかの例における多重変換選択(MTS)のためのテーブルを示す図である。
【
図14】いくつかの例における残差符号化モジュールの図である。
【
図15】本開示のいくつかの実施形態による残差符号化モジュールの図である。
【
図16】いくつかの例による変換およびスキャンシグナリングのマッピングテーブルを示すテーブルの図である。
【
図17】いくつかの例による変換およびスキャンシグナリングのマッピングテーブルを示す別のテーブルの図である。
【
図18】いくつかの例による変換およびスキャンシグナリングのマッピングテーブルを示す別のテーブルの図である。
【
図19】本開示の一実施形態による処理を概説するフローチャートである。
【
図20】本開示の一実施形態による処理を概説するフローチャートである。
【
図21】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0032】
図3は、本開示の一実施形態による通信システム(300)の簡略ブロック図を示す。通信システム(300)は、例えば、ネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された端末デバイス(310)および(320)の第1のペアを含む。
図3の例では、端末デバイス(310)および(320)の第1のペアは、データの単方向伝送を実行する。例えば、端末デバイス(310)は、ネットワーク(350)を介して他の端末デバイス(320)に伝送するためのビデオデータ(例えば、端末デバイス(310)によって取り込まれたビデオ画像のストリーム)を符号化することができる。符号化ビデオデータは、1つまたは複数の符号化ビデオビットストリームの形式で送信することができる。端末デバイス(320)は、ネットワーク(350)から符号化ビデオデータを受信し、符号化ビデオデータを復号してビデオ画像を復元し、復元されたビデオデータにしたがってビデオ画像を表示することができる。単方向データ伝送は、メディアサービス用途などで一般的であり得る。
【0033】
別の例では、通信システム(300)は、例えばビデオ会議中に発生することがある符号化されたビデオデータの双方向伝送を実行する端末デバイス(330)および(340)の第2のペアを含む。データの双方向伝送の場合、一例では、端末デバイス(330)および(340)の各端末デバイスは、ネットワーク(350)を介して端末デバイス(330)および(340)の他方の端末デバイスに伝送するためのビデオデータ(例えば、端末デバイスによって取り込まれたビデオ画像のストリーム)を符号化することができる。端末デバイス(330)および(340)の各端末デバイスはまた、端末デバイス(330)および(340)の他方の端末デバイスによって送信された符号化されたビデオデータを受信し得、符号化されたビデオデータを復号してビデオ画像を復元し得、復元されたビデオデータにしたがってアクセス可能な表示デバイスにビデオ画像を表示し得る。
【0034】
図3の例では、端末デバイス(310)、(320)、(330)、および(340)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、本開示の原理はそのように限定され得ない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用ビデオ会議機器を用いるアプリケーションを見出す。ネットワーク(350)は、例えば、電線(有線)および/または無線の通信ネットワークを含む、端末デバイス(310)、(320)、(330)、および(340)の間で符号化ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換チャネルおよび/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本議論の目的のために、ネットワーク(350)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではないことがある。
【0035】
図4は、開示された主題の用途の例として、ストリーミング環境におけるビデオ符号器およびビデオ復号器の配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTV、ならびにCD、DVD、およびメモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶などを含む他のビデオ対応用途に等しく適用可能であり得る。
【0036】
ストリーミングシステムは、ビデオソース(401)、例えば、非圧縮ビデオ画像のストリーム(402)を作成する、例えば、デジタルカメラを含むことができるキャプチャサブシステム(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勧告H.265が含まれる。一例では、開発中のビデオ符号化規格は、非公式に多用途ビデオ符号化(VVC)として知られている。開示された主題は、VVCの文脈で使用され得る。
【0037】
電子デバイス(420)および(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(420)はビデオ復号器(図示せず)を含むことができ、電子デバイス(430)はビデオ符号器(図示せず)も含むことができる。
【0038】
図5は、本開示の一実施形態によるビデオ復号器(510)のブロック図を示す。ビデオ復号器(510)は、電子デバイス(530)に含まれ得る。電子デバイス(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオ復号器(510)は、
図4の例のビデオ復号器(410)の代わりに使用され得る。
【0039】
受信機(531)は、ビデオ復号器(510)によって復号される1つまたは複数の符号化されたビデオシーケンスを受信し得、同じまたは別の実施形態では、一度に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号は、他の符号化されたビデオシーケンスから独立している。符号化ビデオシーケンスは、チャネル(501)から受信されてもよく、チャネル(501)は、符号化ビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであってもよい。受信機(531)は、それらのそれぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えば、符号化オーディオデータおよび/または補助データストリームと共に符号化ビデオデータを受信することができる。受信機(531)は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(515)は、受信機(531)とエントロピー復号器/パーサ(520)(以下、「パーサ(520)」)との間に結合されてもよい。特定のアプリケーションでは、バッファメモリ(515)はビデオ復号器(510)の一部である。他のアプリケーションでは、それはビデオ復号器(510)の外側にあり得る(図示せず)。さらに他のアプリケーションでは、例えば、ネットワークジッタに対抗するために、ビデオ復号器(510)の外側にバッファメモリ(図示せず)が存在することができ、加えて、例えば、プレイアウトタイミングを処理するために、ビデオ復号器(510)の内側に別のバッファメモリ(515)が存在することができる 受信機(531)が十分な帯域幅および制御可能性のストア/フォワードデバイスから、またはアイソシンクロナスネットワークからデータを受信しているとき、バッファメモリ(515)は必要とされなくてもよいか、または小さい可能性がある。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(515)が必要とされることがあり、比較的大きくてもよく、好適には適応サイズであってもよく、ビデオ復号器(510)の外部のオペレーティングシステムまたは同様の要素(図示せず)に少なくとも部分的に実装され得る。
【0040】
ビデオ復号器(510)は、符号化されたビデオシーケンスからシンボル(521)を再構成するためのパーサ(520)を含み得る。これらのシンボルのカテゴリには、ビデオ復号器(510)の動作を管理するために使用される情報、および潜在的に、電子デバイス(530)の不可欠な部分ではないが、
図5に示されたように、電子デバイス(530)に結合することができるレンダデバイス(512)(例えば、ディスプレイ画面)などのレンダリングデバイスを制御するための情報が含まれる。レンダリングデバイスのための制御情報は、サプリメンタル・エンハンスメント情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)のパラメータセットフラグメント(図示せず)の形式であってもよい。パーサ(520)は、受け取ったコード化ビデオシーケンスを構文解析/エントロピー復号することができる。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または規格にしたがうことができ、文脈感度の有無にかかわらず、可変長符号化、ハフマン符号化、算術符号化などを含む様々な原理にしたがうことができる。パーサ(520)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化ビデオシーケンスから、ビデオ復号器内の画素のサブグループのうちの少なくとも1つのためのサブグループパラメータのセットを抽出することができる。サブグループは、画像グループ(GOP)、画像、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(520)はまた、変換係数、量子化器パラメータ値、動きベクトルなどの符号化されたビデオシーケンス情報から抽出し得る。
【0041】
パーサ(520)は、バッファメモリ(515)から受信したビデオシーケンスに対してエントロピー符号化/解析動作を実行して、シンボル(521)を作成し得る。
【0042】
シンボル(521)の再構成は、符号化されたビデオ画像またはその一部(画像間およびイントラ画像、ブロック間およびイントラブロックなど)のタイプ、および他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように関与するかは、パーサ(520)によって符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、分かりやすくするために図示されていない。
【0043】
既に述べた機能ブロックを超えて、ビデオ復号器(510)は、以下に説明するように、いくつかの機能ユニットに概念的に細分され得る。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかし、開示された主題を説明する目的のために、以下の機能ユニットに概念的に細分するのが適切である。
【0044】
第1のユニットはスケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を、パーサ(520)からシンボル(521)として受け取る。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を含むブロックを出力することができる。
【0045】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラ符号化ブロックに関係することができ、つまり、以前に再構成された画像からの予測情報を使用していないが、現在の画像の以前に再構成された部分からの予測情報を使用できるブロックである。そのような予測情報を、イントラ画像予測ユニット(552)によって提供することができる。場合によっては、イントラ画像予測ユニット(552)は、現在の画像バッファ(558)からフェッチされた周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在の画像バッファ(558)は、例えば、部分的に再構成された現在の画像および/または完全に再構成された現在の画像をバッファリングする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
【0046】
他の場合では、スケーラ/逆変換ユニット(551)の出力サンプルは、インター符号化され、潜在的に動き補償されたブロックに関係し得る。そのような場合、動き補償予測ユニット(553)は、参照画像メモリ(557)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(521)にしたがってフェッチされたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によってスケーラ/逆変換ユニット(551)の出力に追加することができる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償予測ユニット(553)が予測サンプルをフェッチする参照画像メモリ(557)内のアドレスは、例えば、X、Y、および参照画像成分を有することができるシンボル(521)の形式で動き補償予測ユニット(553)に利用可能な動きベクトルによって制御することができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照画像メモリ(557)からフェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0047】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々なループフィルタリング技術を受けることができる。ビデオ圧縮技術は、(符号化ビデオビットストリームとも呼ばれる)符号化ビデオシーケンスに含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるインループフィルタ技術を含むことができるが、符号化画像または符号化ビデオシーケンスの(復号順序で)前の部分の復号中に取得されたメタ情報に応答するだけでなく、以前に再構成およびループフィルタリングされたサンプル値に応答することもできる。
【0048】
ループフィルタユニット(556)の出力は、レンダデバイス(512)に出力され得るだけでなく、将来のインター画像予測で使用するために参照画像メモリ(557)に格納され得るサンプルストリームであり得る。
【0049】
特定の符号化された画像は、完全に再構成されると、将来の予測のための参照画像として使用され得る。例えば、現在の画像に対応する符号化された画像が完全に再構成され、符号化された画像が(例えば、パーサ(520)によって)参照画像として識別されると、現在の画像バッファ(558)は、参照画像メモリ(557)の一部になることができ、次の符号化された画像の再構成を開始する前に、新しい現在の画像バッファを再割り当てすることができる。
【0050】
ビデオ復号器(510)は、ITU-T Rec.H.265などの規格の所定のビデオ圧縮技術にしたがって復号動作を実行し得る。符号化されたビデオシーケンスは、符号化されたビデオシーケンスがビデオ圧縮技術または規格のシンタックスと、ビデオ圧縮技術または規格に文書化されたプロファイルの両方に忠実であるという意味において、使用されているビデオ圧縮技術または規格によって指定されたシンタックスに準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格で利用可能なすべてのツールから、そのプロファイル下で使用するために利用可能な唯一のツールとしていくつかのツールを選択することができる。また、準拠するために必要なことは、符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることであり得る。場合によっては、レベルは、最大画像サイズ、最大フレームレート、最大再構成サンプルレート(例えば毎秒メガサンプルで測定される)、最大参照画像サイズなどを制限する。レベルによって設定された限界は、場合によっては、仮想参照復号器(HRD:Hypothetical Reference Decoder)の仕様、および符号化されたビデオシーケンスでシグナリングされるHRDバッファ管理のメタデータによってさらに制限され得る。
【0051】
一実施形態において、受信機(531)は、符号化されたビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、符号化ビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切に復号するために、かつ/またはオリジナルのビデオデータをより正確に再構成するために、ビデオ復号器(510)によって使用されてもよい。追加のデータは、例えば、時間、空間、または信号ノイズ比(SNR:signal noise ratio)拡張層、冗長スライス、冗長画像、および前方誤り訂正コードなどの形式であり得る。
【0052】
図6は、本開示の一実施形態によるビデオ符号器(603)のブロック図を示す。ビデオ符号器(603)は電子デバイス(620)に含まれる。電子デバイス(620)は送信機(640)(例えば、送信回路)を含む。ビデオ符号器(603)は、
図4の例のビデオ符号器(403)の代わりに使用され得る。
【0053】
ビデオ符号器(603)は、ビデオ符号器(603)によって符号化されるべきビデオ画像を取り込み得るビデオソース(601)(
図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受信し得る。別の例では、ビデオソース(601)は電子デバイス(620)の一部である。
【0054】
ビデオソース(601)は、ビデオ符号器(603)によって符号化されるべきソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB、RGB、...)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)のものとすることができるデジタルビデオサンプルストリームの形で提供し得る。メディアサービスシステムでは、ビデオソース(601)は、以前に準備されたビデオを格納するストレージデバイスであり得る。ビデオ会議システムでは、ビデオソース(601)は、ビデオシーケンスとしてローカル画像情報を取り込むカメラであってもよい。ビデオデータは、順番に見たときに動きを伝える複数の個別の画像として提供されてもよい。画像自体は、画素の空間アレイとして編成され得、各画素は、使用中のサンプリング構造、色空間などに応じて1つまたは複数のサンプルを含むことができる。当業者であれば、画素とサンプルとの関係を容易に理解することができる。以下の説明は、サンプルに焦点を合わせている。
【0055】
一実施形態によれば、ビデオ符号器(603)は、リアルタイムで、または用途によって要求される他の任意の時間制約の下で、ソースビデオシーケンスの画像を符号化されたビデオシーケンス(643)に符号化および圧縮し得る。適切な符号化速度を強制することは、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、以下に記載される他の機能ユニットを制御し、他の機能ユニットに機能的に結合されている。分かりやすくするために、結合は描写されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(画像スキップ、量子化器、レート歪み最適化技術のラムダ値、…)、画像サイズ、画像グループ(GOP)のレイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計に最適化されたビデオ符号器(603)に関する他の適切な機能を有するように構成され得る。
【0056】
いくつかの実施形態では、ビデオ符号器(603)は、符号化ループで動作するように構成される。単純化し過ぎた説明として、一例では、符号化ループは、(例えば、符号化される入力画像、および参照画像に基づいて、シンボルストリームなどのシンボルを作成することに関与する)ソースコーダ(630)、ならびにビデオ符号器(603)に組み込まれた(ローカル)復号器(633)を含むことができる。復号器(633)は、(シンボルと符号化ビデオビットストリームとの間のいかなる圧縮も、開示された主題で考慮されるビデオ圧縮技術において可逆であるため)(リモート)復号器も作成するのと同様の方式で、シンボルを再構成してサンプルデータを作成する。再構成されたサンプルストリーム(サンプルデータ)は、参照画像メモリ(634)に入力される。シンボルストリームの復号は、復号器の場所(ローカルまたはリモート)に関係なくビット正確な結果につながるので、参照画像メモリ(634)内のコンテンツも、ローカル符号器とリモート符号器との間でビット正確である。言い換えれば、符号器の予測部分は、復号中に予測を使用するときに復号器が「見る」のと全く同じサンプル値を参照画像サンプルとして「見る」。参照画像の同期性(および、例えばチャネルエラーのために同期性を維持できない場合に生じるドリフト)のこの基本原理は、いくつかの関連技術でも同様に使用されている。
【0057】
「ローカル」復号器(633)の動作は、
図5に関連して上記で既に詳細に説明された、ビデオ復号器(510)などの「リモート」復号器の動作と同じであり得る。しかし、
図5も簡単に参照すると、シンボルが利用可能であり、エントロピー符号器(645)およびパーサ(520)による符号化されたビデオシーケンスへのシンボルの符号化/復号は可逆であり得、バッファメモリ(515)およびパーサ(520)を含むビデオ復号器(510)のエントロピー復号部分は、ローカル復号器(633)に完全に実装されていないことがある。
【0058】
現時点で行うことができる観察は、復号器に存在する解析/エントロピー復号以外の復号器技術も、対応する符号器に実質的に同一の機能形式で必ず存在するニーズがあるということである。このため、開示された主題は復号器の動作に焦点を当てる。符号器技術の説明は、包括的に記載された復号器技術の逆であるため、省略することができる。特定のエリアでのみ、より詳細な説明が必要であり、以下に提供される。
【0059】
動作中、いくつかの例では、ソースコーダ(630)は、動き補償予測符号化を実行することがあり、これは、「参照画像」として指定されたビデオシーケンスからの1つまたは複数の以前に符号化された画像を参照して入力画像を予測的に符号化する。このようにして、符号化エンジン(632)は、入力画像の画素ブロックと、入力画像への予測参照(複数可)として選択され得る参照画像(複数可)の画素ブロックとの間の差異を符号化する。
【0060】
ローカルビデオ復号器(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照画像として指定され得る画像の符号化されたビデオデータを復号することができる。符号化エンジン(632)の動作は、有利なことに、非可逆処理であってもよい。符号化ビデオデータが(
図6には示されていない)ビデオ復号器で復号され得るとき、再構成されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオ復号器(633)は、参照画像に対してビデオ復号器によって実行され得る復号処理を複製し、再構成された参照画像が参照画像キャッシュ(634)に格納されるようにすることができる。このようにして、ビデオ符号器(603)は、遠端ビデオ復号器によって取得される(伝送エラーがない)再構成された参照画像として共通のコンテンツを有する再構成された参照画像のコピーをローカルに格納することができる。
【0061】
予測器(635)は、符号化エンジン(632)の予測検索を実行することができる。すなわち、符号化される新しい画像の場合、予測器(635)は、新しい画像のための適切な予測参照として役立つことができる、(候補参照画素ブロックとしての)サンプルデータまたは参照画像動きベクトル、ブロック形状などの特定のメタデータを求めて、参照画像メモリ(634)を検索することができる。予測器(635)は、適切な予測参照を見つけるために、画素ブロックごとにサンプルブロックに対して動作することができる。場合によっては、予測器(635)によって取得された検索結果によって決定されるように、入力画像は、参照画像メモリ(634)に記憶された複数の参照画像から引き出された予測参照を有することができる。
【0062】
コントローラ(650)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)の符号化動作を管理することができる。
【0063】
前述のすべての機能ユニットの出力は、エントロピー符号器(645)でエントロピー符号化を受けさせ得る。エントロピー符号器(645)は、ハフマン符号化、可変長符号化、算術符号化などのテクノロジによりシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換する。
【0064】
送信機(640)は、エントロピー符号器(645)によって作成された符号化されたビデオシーケンス(複数可)をバッファに入れて、通信チャネル(660)を介した伝送のために準備し得、通信チャネル(660)は、符号化されたビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであり得る。送信機(640)は、ビデオ符号器(603)からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
【0065】
コントローラ(650)は、ビデオ符号器(603)の動作を管理し得る。符号化中に、コントローラ(650)は、各符号化画像に特定の符号化画像タイプを割り当てることができ、それは、それぞれの画像に適用され得る符号化技術に影響を及ぼす場合がある。例えば、画像は、多くの場合、以下の画像タイプのうちの1つとして割り当てられ得る。
【0066】
イントラ画像(I画像)は、シーケンス内の他の画像を予測のソースとして使用せずに符号化および復号され得るものであり得る。いくつかのビデオコーデックは、例えば、独立復号器リフレッシュ(「IDR」)画像を含む、様々なタイプのイントラ画像を可能にする。当業者は、I画像のそれらの変種ならびにそれらのそれぞれの用途および特徴を認識している。
【0067】
予測画像(P画像)は、イントラ予測またはインター予測を用い、各ブロックのサンプル値を予測するのに最大1つの動きベクトルと参照インデックスとを用いて符号化および復号を行うことができる画像であるといえる。
【0068】
双方向予測画像(B画像)は、イントラ予測またはインター予測を用い、各ブロックのサンプル値を予測するのに最大2つの動きベクトルと参照インデックスとを用いて符号化および復号を行うことができる画像であるといえる。同様に、複数の予測画像は、単一のブロックの再構成のために2つより多くの参照画像および関連メタデータを使用し得る。
【0069】
ソース画像は、一般的には、複数のサンプルブロック(例えば、4×4、8×8、4×8、または16×16のサンプルそれぞれのブロック)に空間的に細分され、ブロックごとに符号化され得る。ブロックは、ブロックのそれぞれの画像に適用される符号化割り当てによって決定されるように、他の(既に符号化された)ブロックを参照して予測的に符号化されてもよい。例えば、I画像のブロックは、非予測的に符号化されてもよいか、またはそれらは、同じ画像の既に符号化されたブロックを参照して予測的に符号化されてもよい(空間予測もしくはイントラ予測)。P画像の画素ブロックは、1つの以前に符号化された参照画像を参照して、空間予測を介してまたは時間予測を介して予測的に符号化されてもよい。B画像のブロックは、空間予測によってまたは時間予測によって、以前に符号化された1つまたは2つの参照画像を参照して予測的に符号化され得る。
【0070】
ビデオ符号器(603)は、例えばITU-T Rec.H.265などの所定のビデオ符号化技術または規格にしたがって符号化動作を実行し得る。その動作において、ビデオ符号器(603)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行し得る。したがって、符号化されたビデオデータは、使用されているビデオ符号化技術または規格によって指定されたシンタックスに準拠し得る。
【0071】
一実施形態において、送信機(640)は、符号化されたビデオと共に追加のデータを送信し得る。ソースコーダ(630)は、符号化されたビデオシーケンスの一部としてそのようなデータを含んでもよい。追加のデータは、時間/空間/SNR拡張層、冗長画像およびスライスなどの他の形式の冗長データ、SEIメッセージ、およびVUIパラメータセットフラグメントなどを含み得る。
【0072】
ビデオは、時系列の複数のソース画像(ビデオ画像)として取り込まれ得る。(多くの場合、イントラ予測と省略される)イントラ画像予測は、所定の画像内の空間の相関関係を利用し、インター画像予測は、画像間の(時間または他の)相関関係を利用する。一例では、現在の画像と呼ばれる、符号化/復号中の特定の画像がブロックに分割される。現在の画像内のブロックが、以前に符号化され、ビデオ内にまだバッファリングされている参照画像内の参照ブロックに類似しているとき、現在の画像内のブロックは、動きベクトルと呼ばれるベクトルによって符号化することができる。動きベクトルは、参照画像中で参照ブロックの方に向いており、複数の参照画像が用いられる場合、第3の次元を持って参照画像を特定することができる。
【0073】
いくつかの実施形態では、インター画像予測に双予測技術が使用され得る。双予測技術によれば、両方ともビデオ内の現在の画像よりも復号順序で前にある(が、それぞれ、表示順序で過去および将来であり得る)第1の参照画像および第2の参照画像などの2つの参照画像が使用される。現在の画像内のブロックは、第1の参照画像内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照画像内の第2の参照ブロックを指す第2の動きベクトルによって符号化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測され得る。
【0074】
さらに、符号化効率を改善するために、インター画像予測にマージモード技術が使用され得る。
【0075】
本開示のいくつかの実施形態によれば、インター画像予測およびイントラ画像予測などの予測は、ブロック単位で実行される。例えば、HEVC規格によれば、ビデオ画像のシーケンス内の画像は、圧縮のために符号化ツリーユニット(CTU)に分割され、画像内のCTUは、64×64ピクセル、32×32ピクセル、または16×16画素などの同じサイズを有する。一般に、CTUは3つの符号化ツリーブロック(CTB)を含み、それらは1つのルーマCTBおよび2つのクロマCTBである。各CTUは、1つまたは複数の符号化ユニット(CU)に再帰的に四分木分割することができる。例えば、64×64画素のCTUは、1つの64×64画素のCU、または4つの32×32画素のCU、または16個の16×16画素のCUに分割することができる。一例では、インター予測タイプまたはイントラ予測タイプなどのCUの予測タイプを決定するために、各CUが分析される。CUは、時間および/または空間の予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。一般に、各PUは、1つのルーマ予測ブロック(PB)および2つのクロマPBを含む。一実施形態において、符号化(エンコーディング/復号)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルーマ予測ブロックを使用すると、予測ブロックは、8×8画素、16×16画素、8×16画素、および16×8画素などの画素の値(例えば、ルーマ値)の行列を含む。
【0076】
図7は、本開示の別の実施形態によるビデオ符号器(703)の図を示す。ビデオ符号器(703)は、ビデオ画像のシーケンス内の現在ビデオ画像内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを符号化ビデオシーケンスの一部である符号化画像に符号化するように構成される。一例では、ビデオ符号器(703)は、
図4の例のビデオ符号器(403)の代わりに使用される。
【0077】
HEVCの例では、ビデオ符号器(703)は、8×8サンプルの予測ブロックなどの処理ブロックのサンプル値の行列を受信する。ビデオ符号器(703)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモード、インターモード、または双予測モードを使用して最良に符号化されるかどうかを判定する。処理ブロックがイントラモードで符号化されるとき、ビデオ符号器(703)は、イントラ予測技術を使用して、処理ブロックを符号化画像に符号化することができ、処理ブロックがインターモードまたは双予測モードで符号化されるとき、ビデオ符号器(703)は、各々、インター予測技術または双予測技術を使用して、処理ブロックを符号化画像に符号化することができる。特定のビデオ符号化技術では、マージモードは、予測器の外側の符号化された動きベクトル成分の利点がない、動きベクトルが1つまたは複数の動きベクトル予測器から導出されるインター画像予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオ符号器(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0078】
図7の例では、ビデオ符号器(703)は、
図7に示されているように互いに結合されたインター符号器(730)、イントラ符号器(722)、残差算出部(723)、スイッチ(726)、残差符号器(724)、汎用コントローラ(721)、およびエントロピー符号器(725)を含む。
【0079】
インター符号器(730)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照画像(例えば、前の画像および後の画像内のブロック)内の1つまたは複数の参照ブロックと比較し、インター予測情報(例えば、インターエンコーディング技術、動きベクトル、マージモード情報による冗長情報の記述)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を算出するように構成される。いくつかの例では、参照画像は、符号化されたビデオ情報に基づいて復号された参照画像である。
【0080】
イントラ符号器(722)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じ画像内で既に符号化されているブロックと比較し、変換後に量子化係数を生成し、場合によってはイントラ予測情報(例えば、1つまたは複数のイントラエンコーディング技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラ符号器(722)は、イントラ予測情報と、同一画像内の参照ブロックとに基づいて、イントラ予測結果(例えば、予測ブロック)も算出する。
【0081】
汎用コントローラ(721)は、汎用制御データを決定し、汎用制御データに基づいてビデオ符号器(703)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードである場合、汎用コントローラ(721)は、残差算出部(723)が用いるイントラモード結果を選択するためにスイッチ(726)を制御し、イントラ予測情報を選択してビットストリームに含めるためにエントロピー符号器(725)を制御し、モードがインターモードである場合、汎用コントローラ(721)は、残差算出部(723)が用いるインター予測結果を選択するためにスイッチ(726)を制御し、インター予測情報を選択してビットストリームに含めるためにエントロピー符号器(725)を制御する。
【0082】
残差算出部(723)は、受信されたブロックと、イントラ符号器(722)またはインター符号器(730)から選択された予測結果との差分(残差データ)を算出するように構成される。残差符号器(724)は、残差データを符号化して変換係数を生成するために、残差データに基づいて動作するように構成される。一例では、残差符号器(724)は、残差データを空間ドメインから周波数ドメインにコンバートし、変換係数を生成するように構成される。次に、変換係数は、量子化変換係数を取得するために量子化処理を受ける。様々な実施形態では、ビデオ符号器(703)は残差復号器(728)も含む。残差復号器(728)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラ符号器(722)およびインター符号器(730)によって適切に使用することができる。例えば、インター符号器(730)は、復号された残差データおよびインター予測情報に基づいて復号されたブロックを生成することができ、イントラ符号器(722)は、復号された残差データおよびイントラ予測情報に基づいて復号されたブロックを生成することができる。いくつかの例では、復号されたブロックは、復号された画像を生成するために適切に処理され、復号された画像は、メモリ回路(図示せず)にバッファリングされ、参照画像として使用され得る。
【0083】
エントロピー符号器(725)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピー符号器(725)は、HEVC規格などの適切な規格にしたがって様々な情報を含むように構成される。一例では、エントロピー符号器(725)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、およびビットストリーム内の他の適切な情報を含むように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックを符号化する場合、残差情報は存在しないことに留意されたい。
【0084】
図8は、本開示の別の実施形態によるビデオ復号器(810)の図を示す。ビデオ復号器(810)は、符号化ビデオシーケンスの一部である符号化画像を受信し、符号化画像を復号して再構成画像を生成するように構成される。一例では、ビデオ復号器(810)は、
図4の例のビデオ復号器(410)の代わりに使用される。
【0085】
図8の例では、ビデオ復号器(810)は、
図8に示されているように互いに結合されたエントロピー復号器(871)、インター復号器(880)、残差復号器(873)、再構成モジュール(874)、およびイントラ復号器(872)を含む。
【0086】
エントロピー復号器(871)は、符号化された画像から、符号化された画像を構成するシンタックス要素を表す特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、(例えば、イントラモード、インターモード、双予測モード、マージサブモードまたは別のサブモードの中の後者2つなどの)ブロックが符号化されるモード、それぞれ、イントラ復号器(872)またはインター復号器(880)による予測に使用される特定のサンプルまたはメタデータを識別することができる(例えば、イントラ予測情報またはインター予測情報などの)予測情報、例えば、量子化変換係数の形態の残差情報などを含むことができる。一例では、予測モードがインターモードまたは双予測モードであるとき、インター予測情報はインター復号器(880)に提供され、予測タイプがイントラ予測タイプであるとき、イントラ予測情報はイントラ復号器(872)に提供される。残差情報は逆量子化を受けることができ、残差復号器(873)に提供される。
【0087】
インター復号器(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0088】
イントラ復号器(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0089】
残差復号器(873)は、逆量子化を実行して逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数ドメインから空間ドメインにコンバートするように構成される。残差復号器(873)はまた、(量子化器パラメータ(QP)を含むために)特定の制御情報を必要とする場合があり、その情報はエントロピー復号器(871)によって提供される場合がある(これとして示されていないデータパスは、低量制御情報のみであり得る)。
【0090】
再構成モジュール(874)は、空間ドメインにおいて、残差復号器(873)による出力としての残差と、(場合によってはインターまたはイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構成画像の一部であり得る再構成されたブロックを形成するように構成され、再構成されたブロックは再構成されたビデオの一部であり得る。視覚的品質を改善するために、デブロッキング動作などの他の適切な動作が実行され得ることに留意されたい。
【0091】
ビデオ符号器(403)、(603)、および(703)、ならびにビデオ復号器(410)、(510)、および(810)は、任意の適切な技術を使用して実施され得ることに留意されたい。一実施形態において、ビデオ符号器(403)、(603)、および(703)、ならびにビデオ復号器(410)、(510)、および(810)は、1つまたは複数の集積回路を使用して実装することができる。別の実施形態では、ビデオ符号器(403)、(603)、および(603)、ならびにビデオ復号器(410)、(510)、および(810)は、ソフトウェア命令を実行する1つまたは複数のプロセッサを使用して実施され得る。
【0092】
本開示の態様は、多重変換選択を用いた適応スキャンのための技術を提供する。残差符号化の間、多重変換選択を用いた変換係数のスキャンは、適応的に実行され得る。スキャンされた変換係数は、量子化され、エントロピー符号化され得る。
【0093】
本開示のいくつかの態様によれば、予測後の残差を符号化するために、CUは、好適には、ルーマ成分およびクロマ成分にしたがってルーマ変換ブロック(例えば、ルーマ成分の予測後の残差を含む)およびクロマ変換ブロック(例えば、クロマ成分の予測後の残差を含む)に分離され得る変換単位(TU)に分割される。変換前の変換ブロックは、空間ドメインにおける残差を含むことができ、空間ドメインにおける変換ブロックは、変換ドメインにおける変換ブロックに変換することができる。変換ドメインにおける変換ブロックは、変換ドメインにおける変換係数を含む。変換ドメインにおける変換ブロックは、スキャンパターンにしたがってスキャンされ、二次元(2D)形態の変換係数を一次元(1D)形態の変換係数にコンバートすることができる。次に、1D形態の変換係数を量子化し、ビットにエントロピー符号化することができ、ビットを他の適切な情報と結合して、符号化されたビデオを伝搬するビットストリームに結合することができる。
【0094】
本開示のいくつかの態様によれば、様々な変換およびスキャン技術を、残差符号化に適用することができる。
【0095】
いくつかの例では、変換ブロックに対して、残差信号を変換ドメインに変換するために、1つの変換候補のみが利用可能である。例(例えば、HEVC)では、タイプ2離散余弦変換(DCT-2)と呼ばれるタイプの変換が、残差信号を変換ドメインに変換するために使用される。例えば、DCT-2は、DCT-2の変換基底関数を水平方向および垂直方向に適用することによって実装することができる。いくつかの例では、DCT-2は、変換行列を使用して実装することができる。いくつかの例では、変換ブロックは、4×4、8×8、16×16、および32×32などの4つのサイズを有することができ、次に、4つの整数のDCT-2変換行列が、残差符号化中、変換ブロックの4つのサイズに対してそれぞれ変換のために使用される。変換行列の要素は、8ビット整数を使用して表現でき、したがって、それらの変換行列は、いくつかの例において、8ビット変換コアと呼ばれる。
【0096】
一例では、イントラ予測4×4ブロックの残差符号化は、DCT-2の4×4行列と異なる変換行列、例えば、4×4整数DST-6行列と呼ばれる行列を使用できることに留意されたい。
【0097】
変換ドメインにおける変換ブロックの変換係数をスキャンするために、いくつかの例では、4×4より大きい変換ブロックは、それぞれが4×4の変換係数である非重複変換サブブロック(TSB)に分割される。説明を簡単にするために、4×4の変換係数の変換ブロックは、変換サブブロックと呼ぶことができる。いくつかの例では、変換ドメインにおける変換ブロックの変換係数のスキャンパターンは、変換サブブロック内の変換係数のスキャンパターン、および変換ブロックの変換サブブロックのスキャンパターンに基づいて決定することができる。
【0098】
図9は、本開示のいくつかの実施形態による、変換サブブロック内の変換係数の3つのスキャンパターン(910)、(920)、および(930)のセットを示す図である。
【0099】
図9において、スキャンパターン(910)は、変換サブブロックの逆対角スキャンパターンと呼ぶことができる。スキャンパターン(910)において、各小正方形は、変換サブブロックにおける変換係数を表現し、小正方形内の番号は、変換ブロックの左上コーナから右下コーナに斜めにスキャンする斜めスキャンにおけるスキャン順序、例えば、0~15を表す。逆対角スキャンパターンは、矢印で示すように、対角スキャンの逆の順序、例えば15-0で変換係数をスキャンする。
【0100】
図9において、スキャンパターン(920)は、変換サブブロックの逆水平スキャンパターンと呼ぶことができる。スキャンパターン(920)において、各小正方形は、変換サブブロックにおける変換係数を表現し、小正方形内の番号は、左から右へ、上から下へスキャンする水平ラスタスキャンにおけるスキャン順序、例えば、0~15を表す。逆水平スキャンパターンは、矢印で示すように、水平ラスタスキャンの逆の順序、例えば15-0で変換係数をスキャンする。
【0101】
図9において、スキャンパターン(930)は、変換サブブロックの逆垂直スキャンパターンと呼ぶことができる。スキャンパターン(930)において、各小正方形は、変換サブブロックにおける変換係数を表現し、小正方形内の番号は、上から下へ、左から右へスキャンする垂直ラスタスキャンにおけるスキャン順序、例えば0~15を表す。逆垂直スキャンパターンは、矢印で示すように、垂直ラスタスキャンの逆の順序、例えば15-0で変換係数をスキャンする。
【0102】
図10は、本開示のいくつかの実施形態による、変換サブブロックの2つのスキャンパターン(1010)、および(1020)のセットを示す図である。
【0103】
図10において、スキャンパターン(1010)は、8x8変換ブロックにおける4つの変換サブブロックの逆対角(または垂直)スキャンパターンと呼ぶことができる。スキャンパターン(1010)において、各小正方形は、変換ブロック内の変換サブブロックを表現し、小正方形内の番号は、変換ブロックの左上コーナから右下コーナに斜めに(または垂直ラスタの順番に)スキャンする対角(垂直ラスタ)スキャンの変換サブブロックのスキャン順序、例えば0~3を表す。逆対角(垂直)スキャンパターンは、矢印で示すように、対角(垂直)スキャンの逆の順序、例えば3~0で変換ブロック内の変換サブブロックをスキャンする。
【0104】
図10において、スキャンパターン(1020)は、8x8変換ブロックにおける4つの変換サブブロックの逆水平スキャンパターンと呼ぶことができる。スキャンパターン(1020)において、各小正方形は、変換ブロック内の変換サブブロックを表し、小正方形内の番号は、変換サブブロックを左から右、上から下にスキャンする水平ラスタスキャンにおける変換サブブロックのスキャン順序、例えば0~3を表す。逆水平スキャンパターンは、矢印で示すように、水平ラスタスキャンの逆の順序、例えば3~0で変換ブロック内の変換サブブロックをスキャンする。
【0105】
いくつかの実施形態では、インター符号化ブロックについて、すべてのブロックサイズに対して逆対角スキャンが使用される。すべてのブロックサイズに対して、変換ブロックの変換サブブロックのスキャン順序は、TSB内の係数スキャンと同じパターンにしたがう。例えば、TSB内の変換係数のスキャンパターン(910)とTSBのスキャンパターン(1010)は、8x8インター符号化ブロックの変換ブロックに使用することができる。
【0106】
サイズ4×4または8×8のイントラ符号化ブロックに対して、3つのスキャンパターン(910)、(920)および(930)が利用可能である。いくつかの実施形態では、3つのスキャンパターン(910)、(920)および(930)のうちの1つが、イントラ予測モードの方向に基づいて選択され得る。変換ブロック内の変換サブブロックの順序付けは、TSB内の係数スキャンと同じパターンにしたがうことに留意されたい。一実施例では、TSB内の変換係数のスキャンパターン(910)およびTSBのスキャンパターン(1010)は、8x8イントラ符号化ブロックの変換ブロックに使用することができる。別の例では、TSBの変換係数のスキャンパターン(920)およびTSBのスキャンパターン(1020)は、8x8イントラ符号化ブロックの変換ブロックに使用することができる。別の例では、TSB内の変換係数のスキャンパターン(930)およびTSBのスキャンパターン(1010)は、8x8イントラ符号化ブロックの変換ブロックに使用することができる。
【0107】
いくつかの実施形態では、サイズ16×16および32×32のイントラ符号化ブロックに対して、逆対角スキャンが使用される。いくつかの例では、変換ブロックの変換サブブロックのスキャン順序は、TSB内の係数スキャンと同じパターンにしたがう。例えば、TSB内の変換係数のスキャンパターン(910)とTSB(例えば4x4のTSBをスキャンするための(910)と同様のスキャンパターンとを、16x16イントラ符号化ブロックの変換ブロックに使用することができる。
【0108】
図11は、いくつかの例における残差符号化モジュール(1100)の図である。例えば、残差符号化モジュール(1100)は、HEVCのイントラ予測残差から変換係数を符号化するために使用することができる。サイズのイントラ符号化ブロックに対して、変換(例えば、変換行列)を、イントラ符号化ブロックのサイズに基づいて固定し、スキャンパターンを、イントラ予測モードにより変化させることができる。
【0109】
具体的には、
図11の例では、残差符号化モジュール(1100)は、
図11に示すように、共に結合された、変換モジュール(1110)と、選択可能スキャンモジュール(1170)と、量子化モジュール(1180)と、エントロピー符号化モジュール(1190)とを含む。
【0110】
変換モジュール(1110)は、イントラ予測残差(例えば、オリジナルサンプルからイントラ予測を減算することによって生成される)を受信し、イントラ予測残差を空間ドメインでTBに分割する。変換モジュール(1110)は、空間ドメインにおけるTBを変換ドメインにおけるTBにコンバートする変換(例えば、固定変換行列、水平方向および垂直方向におけるDCT-2)を実行することができる。
【0111】
選択可能スキャンモジュール(1170)は、変換ドメインのTBと、選択されたスキャンパターンを表す選択スキャン信号とを受信する。変換ドメインにおけるTBは、2D形態の変換係数を含む。スキャンモジュール(1170)は、選択されたスキャンパターンを使用して、2D形態の変換係数を1D形態の変換係数にコンバートすることができる。
【0112】
量子化モジュール(1180)は、変換係数を圧縮して変換係数レベルを生成するために、量子化およびスケーリングを実行することができる。
【0113】
エントロピー符号化モジュール(1190)は、変換係数レベルの二値化を実行し、変換係数レベルを表す符号化ビットを生成することができる。
【0114】
いくつかの例では、
図11のモジュールは、モジュールの機能を実行するために集積回路(IC)を使用して各々実装することができる。いくつかの例では、
図11のモジュールは、モジュールの機能を実行するために1つまたは複数のプロセッサによって実行され得るソフトウェア命令として各々実装することができる。
【0115】
上記の例(例えば、HEVC)では、イントラ符号化ブロックおよびインター符号化ブロックを符号化するための変換は固定されているが、いくつかの他の例では、多重変換選択(MTS)と呼ばれる技術を、複数の変換候補(例えば、同じサイズの変換行列、変換基底関数)から選択した変換を用いてインター符号化ブロックおよびイントラ符号化ブロックの両方の残差符号化に使用することができる。いくつかの例では、複数の変換候補は、DCT-2、タイプ7離散正弦変換(DST-7)、およびタイプ8離散余弦変換(DCT-8)を含むことができる。いくつかの例では、MTSは、ルーマブロックの残差符号化にのみ適用される。
【0116】
図12は、いくつかの例におけるDCT-2、DST-7、およびDCT-8の変換基底関数を示す図である。いくつかの例において、分離可能な変換は、水平方向変換および垂直方向変換として個別に適用できる変換を示す。いくつかの例において、水平方向変換は、DCT-2、DST-7およびDCT-8変換基底関数から選択することができ、垂直方向変換は、DCT-2、DST-7およびDCT-8変換基底関数から選択することができる。いくつかの例において、非分離可能変換とは、垂直変換および水平変換として分離できない変換を示す。
【0117】
本開示の態様によれば、変換候補からの変換の選択は、符号器側から復号器側へ暗黙的にまたは明示的にシグナリングされ得る。暗黙的なMTSの例では、DCT-2とDST-7との組み合わせを、現在のTBの幅および高さに基づいて導出することができる。一例では、幅の値が現在のTBの高さの値より大きい場合、DCT-2を用いて水平方向の変換を実行し、DST-7を用いて垂直方向の変換を実行し、幅の値が現在のTBの高さの値より小さい場合、DCT-2を用いて垂直方向の変換を実行し、DST-7を用いて水平方向の変換を実行する。別の例では、幅の値が現在のTBの高さの値より大きい場合、DST-7を使用して水平方向の変換を実行し、DCT-2を使用して垂直方向の変換を実行し、幅の値が現在のTBの高さの値より小さい場合、DST-7を使用して垂直方向の変換を実行し、DCT-2を使用して水平方向の変換を実行する。
【0118】
いくつかの例では、MTSスキームを制御するために、SPSレベルで、イントラおよびインターに対して各々個別の有効化フラグが指定される。いくつかの実施形態では、MTSがSPSで有効化されるとき、mts_idxで示されるCUレベルフラグがシグナリングされ、MTSがどのように適用されるかを示す。
【0119】
図13は、いくつかの例でのCUレベルフラグmts_idxに基づくMTSの適用のテーブル(1300)を示す。mts_idxの各値は、水平方向変換および垂直方向変換に関連付けられる。例えば、mts_idxの値が0である場合、MTSは適用せず、水平方向および垂直方向の変換を実行するためにDCT-2を使用し、mts_idxの値が1である場合、水平方向の変換を実行するためにDST-7を使用し、かつ垂直方向の変換を実行するためにDST-7を使用し、mts_idxの値が2である場合、水平方向の変換を実行するためにDCT-8を使用し、かつ垂直方向の変換を実行するためにDST-7を使用し、mts_idxの値が3である場合、水平方向の変換を実行するためにDST-7を使用し、かつ垂直方向の変換を実行するためにDCT-8を使用し、mts_idxの値が4である場合、水平方向の変換を実行するためにDCT-8を使用し、かつ垂直方向の変換を実行するためにDCT-8を使用する。
【0120】
いくつかの実施形態では、MTSは、ルーマブロックの残差符号化にのみ適用されることに留意されたい。例えば、DCT-2のみが、クロマブロックの残差符号化に使用される。
【0121】
本開示の一態様によれば、MTSシグナリングは、いくつかの例においてスキップすることができる。一例では、ルーマTBの最後の有意な係数の位置が1未満である(例えば、DC成分のみを有する)とき、MTSシグナリングはスキップされる。別の例では、ルーマTBの最後の有意な係数がMTSゼロアウト領域(例えばビデオ符号器によって係数がゼロに設定されたルーマTB内の領域)内に位置するとき、MTSシグナリングはスキップされる。
【0122】
本開示のいくつかの態様によれば、残差信号の符号化は、一次変換および二次変換を含み得る。いくつかの例(例えば、VVC)では、DCT-2は、例えば、周波数成分を生成するために一次変換として(水平方向および垂直方向の)イントラ符号化ブロックに適用され、低周波非分離可能変換(LFNST)は、イントラ符号化ブロックの方向性特性を良好に利用するために一次変換から出力された低周波成分に二次変換として適用される。
【0123】
LFNSTは、垂直変換および水平変換として分離できない非分離可能変換であることに留意されたい。一般に、水平変換および垂直変換として実行される分離可能変換を使用すると、水平方向および垂直方向の相関を捉えることができ、非分離可能変換を使用すると、対角方向などの他の方向の相関をさらに捉えることができる。
【0124】
本開示の態様によれば、LFNSTはモード依存であり得、LFNSTに適用する変換(例えば、行列)は、イントラ符号化ブロックのイントラ画像予測モードに基づいて選択され得る。LFNSTは、符号器側で、一次変換(符号器側で前方一次変換とも呼ばれる)と量子化との間に適用することができ、LFNSTは、復号器側で、逆量子化と逆一次変換との間に適用することができる。いくつかの例では、LFNSTが適用されると、CUレベルフラグmts_idxはシグナリングされず、mts_idxは0であると推測され、DCT2が水平および垂直変換の両方(一次変換において)に使用されることを示す。
【0125】
図14は、いくつかの例における残差符号化モジュール(1400)の図である。例えば、残差符号化モジュール(1400)は、VVCのイントラ予測残差から変換係数を符号化するために使用することができる。残差符号化モジュール(1400)は、イントラ予測残差(イントラ予測後の残差)に選択可能な一次変換を適用することができ、またはイントラ予測残差に非選択可能な一次変換および選択可能な二次変換を適用することができる。残差符号化モジュール(1400)は、2D変換係数を1D変換係数にコンバートするために、逆対角線スキャンのような固定スキャンを適用することができる。
【0126】
具体的には、
図14の例では、残差符号化モジュール(1400)は、
図14に示すように、共に結合された、選択可能一次変換モジュール(1410)と、固定一次変換モジュール(1420)と、選択可能な二次変換モジュール(1430)と、固定スキャンモジュール(1470)と、量子化モジュール(1480)と、エントロピー符号化モジュール(1490)とを含む。
【0127】
選択可能一次変換モジュール(1410)は、イントラ予測残差(例えば、オリジナルサンプルからイントラ予測を減算することによって生成される)を受信し、イントラ予測残差を空間ドメインでTBに分割することができる。選択可能一次変換モジュール(1410)は、水平方向および垂直方向に適用された変換関数などの選択された変換を示す選択変換信号も受信する。選択可能一次変換モジュール(1410)は、空間ドメインのTBを変換ドメインのTBにコンバートするために、選択変換信号にしたがって変換を実行することができる。
【0128】
固定一次変換モジュール(1420)は、イントラ予測残差(例えば、オリジナルサンプルからイントラ予測を減算することによって生成される)を受信し、イントラ予測残差を空間ドメインでTBに分割することができる。固定一次変換モジュール(1420)は、空間ドメインにおけるTBを周波数ドメインにおける中間TBにコンバートする、水平方向および垂直方向におけるDCT-2などの固定変換を実行することができる。
【0129】
いくつかの例では、選択可能な二次変換モジュール(1430)は、LFNSTを実行するように構成される。選択可能な二次変換モジュール(1430)は、中間TBと、選択されたLFNSTなどの選択された二次変換を示す選択二次変換シグナリングとを受信できる。選択可能な二次変換モジュール(1430)は、中間TBに対して選択されたLFNSTで実施し、変換ドメインでTBを生成することができる。
【0130】
固定スキャンモジュール(1470)は、選択可能一次変換モジュール(1410)または選択可能な二次変換モジュール(1430)から変換ドメインのTBを受信することができる。固定スキャンモジュール(1470)は、(910)および(1010)によって示された逆対角スキャンパターンなどの固定スキャンパターンを適用して、2D形態の変換係数を1D形態の変換係数にコンバートする。
【0131】
量子化モジュール(1480)は、変換係数を圧縮して変換係数レベルを生成するために、量子化およびスケーリングを実行することができる。
【0132】
エントロピー符号化モジュール(1490)は、変換係数レベルの二値化を実行し、変換係数レベルを表す符号化ビットを生成することができる。
【0133】
いくつかの例では、
図14のモジュールは、モジュールの機能を実行するために集積回路(IC)を使用して各々実装することができる。いくつかの例では、
図14のモジュールは、モジュールの機能を実行するために1つまたは複数のプロセッサによって実行され得るソフトウェア命令として各々実装することができる。
【0134】
図14の例では、符号化ブロックの変換係数は、変換サブブロック(TSB)に分類されることによって符号化される。TSBのサイズは、4×4、1×16、16×1、2×8、8×2、2×4、および4×2であり得る。いくつかの例(例えば、VVC)では、ルーマTBを狭くしたり、クロマTBを小さくしたりすることができるイントラサブパーティション(ISP)を適用することができる。TSB内の変換係数は、(910)で示されるような単一の逆対角スキャン順序にしたがって符号化され、TB内のTSBは、(1010)で示されるような単一の逆対角スキャン順序にしたがって符号化される。
【0135】
いくつかの例(例えば、HEVCによるイントラ予測ブロックの残差符号化)では、変換は所定のブロックサイズに固定され、スキャンパターンはイントラ予測モードに基づいて変化させることができることに留意されたい。変換が固定されているので、スキャンパターンは変換に適応しない。いくつかの他の例(例えば、VVCによる残差符号化形態イントラ予測ブロック)では、スキャンパターンは固定されるが(適応ではない)、多重変換選択を適用して、イントラ符号化ブロックとインター符号化ブロックとの両方の符号化効率を改善することができる。
【0136】
本開示の態様によれば、特定の条件(例えば、VTM-11を用いたVVC共通テスト条件)において、mts_idxの特定の値、例えばmts_idx=0またはmts_idx=1が高い確率で使用され、mts_idxの他の値はほとんど使用されない。いくつかの実施形態では、mts_idxのすべての値ではなく、mts_idxの特定の値のレート歪み性能を評価するために、符号器で計算を節約することができる。本開示のいくつかの態様は、ビデオ符号化の符号化効率を向上させることができる。
【0137】
図15は、本開示のいくつかの実施形態による残差符号化モジュール(1500)の図である。例えば、残差符号化モジュール(1500)は、符号器でイントラ予測残差から変換係数を符号化するために使用され得る。残差符号化モジュール(1500)は、イントラ予測残差(イントラ予測後の残差)に適切な変換およびスキャン技術を適用して1D変換係数を形成するための、複数の変換およびスキャン処理パスを含むことができる。例えば、残差符号化モジュール(1500)は、選択可能な一次変換および選択可能なスキャンをイントラ予測残差に適用して、1D変換係数を形成することができる第1の変換およびスキャン処理パス(1501)を含み、また固定一次変換、選択可能二次変換および固定スキャンをイントラ予測残差に適用して、1D変換係数を形成することができる第2の変換およびスキャン処理パス(1502)を含む。
【0138】
具体的には、
図15の例では、残差符号化モジュール(1500)は、
図15に示すように、共に結合された、選択可能一次変換モジュール(1510)と、選択可能スキャンモジュール(1560)と、固定一次変換モジュール(1520)と、選択可能な二次変換モジュール(1530)と、固定スキャンモジュール(1570)と、量子化モジュール(1580)と、エントロピー符号化モジュール(1590)とを含む。
【0139】
選択可能一次変換モジュール(1510)は、イントラ予測残差(例えば、オリジナルサンプルからイントラ予測を減算することによって生成される)を受信し、イントラ予測残差を空間ドメインでTBに分割することができる。選択可能一次変換モジュール(1510)は、水平方向および垂直方向に適用された変換関数などの選択された変換を示す選択変換信号も受信する。選択可能一次変換モジュール(1510)は、空間ドメインのTBを変換ドメインのTBにコンバートするために、選択変換信号にしたがって変換を実行することができる。
【0140】
選択可能スキャンモジュール(1560)は、選択可能一次変換モジュール(1510)からの変換ドメイン出力のTBと選択されたスキャンパターンを表す選択スキャン信号とを受信する。変換ドメインにおけるTBは、2D形態の変換係数を含む。選択可能スキャンモジュール(1560)は、選択されたスキャンパターンを使用して、2D形態の変換係数を1D形態の変換係数にコンバートすることができる。
【0141】
固定一次変換モジュール(1520)は、イントラ予測残差(例えば、オリジナルサンプルからイントラ予測を減算することによって生成される)を受信し、イントラ予測残差を空間ドメインでTBに分割することができる。固定一次変換モジュール(1520)は、空間ドメインにおけるTBを周波数ドメインにおける中間TBにコンバートする、水平方向および垂直方向におけるDCT-2などの固定変換を実行することができる。
【0142】
いくつかの例では、選択可能な二次変換モジュール(1530)は、LFNSTを実行するように構成される。選択可能な二次変換モジュール(1530)は、中間TBと、選択されたLFNSTなどの選択された二次変換を示す選択二次変換シグナリングとを受信できる。選択可能な二次変換モジュール(1530)は、中間TBに対して選択されたLFNSTで実施し、変換ドメインでTBを生成することができる。
【0143】
固定スキャンモジュール(1570)は、選択可能な二次変換モジュール(1530)から変換ドメイン出力のTBを受信することができる。固定スキャンモジュール(1570)は、(910)および(1010)によって示される逆対角スキャンパターンなどの固定スキャンパターンを適用して、2D形態の変換係数を1D形態の変換係数にコンバートする。
【0144】
量子化モジュール(1580)は、選択可能スキャンモジュール(1560)または固定スキャンモジュール(1570)から出力された1D形態の変換係数を受信することができる。量子化モジュール(1580)は、変換係数を圧縮して変換係数レベルを生成するために、量子化およびスケーリングを実行することができる。
【0145】
エントロピー符号化モジュール(1590)は、変換係数レベルの二値化を実行し、変換係数レベルを表す符号化ビットを生成することができる。
【0146】
いくつかの例では、
図15のモジュールは、モジュールの機能を実行するために集積回路(IC)を使用して各々実装することができる。いくつかの例では、
図15のモジュールは、モジュールの機能を実行するために1つまたは複数のプロセッサによって実行され得るソフトウェア命令として各々実装することができる。
【0147】
図15に示すように、第1の変換およびスキャン処理パス(1501)は、一次変換が選択可能であり、二次変換が有効でないとき、イントラ予測残差ブロックの符号化に適応スキャン(選択可能スキャン)を適用することができる。一次分離可能変換が選択可能であり、二次変換が有効でないとき、複数のスキャンパターンからスキャンパターンを選択して、選択された一次変換の少なくとも1つの出力に適用し、二次元変換係数を一次元に再順序付けしてから量子化のために変換係数を送信する。
【0148】
本開示の態様によれば、スキャン選択は、暗黙的にまたは明示的にシグナリングすることができる。スキャン選択が明示的にシグナリングされるとき、TBに対するスキャンの選択は、各TBに対するビットストリームに符号化される。スキャン選択が暗黙的にシグナリングされるとき、スキャン選択は、いくつかの例において、イントラ予測モードの方向および/または一次変換の選択から導出することができる。
【0149】
いくつかの実施形態では、一次変換選択とスキャン選択は個別にシグナリングされる。
【0150】
いくつかの実施形態では、一次変換選択およびスキャン選択は、共にシグナリングされる。
【0151】
一実施形態において、変換選択およびスキャン選択は共にシグナリングされ、スキャン選択は選択可能な一次変換のサブセットに適用可能である。例えば、
図9および
図10に示すような逆対角スキャンパターン、逆水平スキャンパターンおよび逆垂直スキャンパターンをスキャンに使用することができる。変換選択およびスキャン選択は、変換およびスキャンシグナリングのマッピングテーブルに基づいてなど、mts_idxを符号化することによって共に符号化することができる。
【0152】
図16は、いくつかの例による変換およびスキャンシグナリングのマッピングテーブルを示すテーブル(1600)の図である。いくつかの例では、明示的MTSによるイントラ符号化(例えば、VVCにおいて)の統計は、ほとんどのブロックが、水平および垂直変換の両方に対してDCT-2、または水平および垂直変換の両方に対してDST-7のいずれかで符号化されたことを示す。テーブル(1600)の例は、統計を利用し、2つの変換選択、すなわち、水平および垂直変換の両方に対するDCT-2の第1の選択と、水平および垂直変換の両方に対するDST-7の第2の選択とを含む。
【0153】
図16において、テーブル(1600)では、水平および垂直変換の両方にDCT-2を使用する第1の選択に対応して、固定走査を使用する。さらに、水平および垂直変換の両方にDST7を使用する第2の選択に対応して、3つのスキャンパターン候補を適用することができる。
図16の例では、選択可能なスキャンは、選択可能な変換のサブセットに対してのみ適用可能である。
【0154】
別の実施形態では、一次変換選択およびスキャン選択は共にシグナリングされ、スキャン選択は、選択可能な一次変換の各変換選択に適用可能である。
【0155】
図17は、いくつかの例による変換およびスキャンシグナリングのマッピングテーブルを示すテーブル(1700)の図である。いくつかの例では、明示的MTSによるイントラ符号化(例えば、VVCにおいて)の統計は、ほとんどのブロックが、水平および垂直変換の両方に対してDCT-2、または水平および垂直変換の両方に対してDST-7のいずれかで符号化されたことを示す。テーブル(1700)の例は、統計を利用し、2つの変換選択、すなわち、水平および垂直変換の両方に対するDCT-2の第1の選択と、水平および垂直変換の両方に対するDST-7の第2の選択とを含む。
【0156】
図17において、テーブル(1700)では、水平および垂直変換の両方にDCT-2を使用する第1の選択に対応して、3つのスキャンパターン候補(例えば、逆対角スキャンパターン、逆垂直スキャンパターン、逆水平スキャンパターン)からスキャンパターンを選択することができる。同様に、水平および垂直変換の両方にDST7を使用する第2の選択に対応して、3つのスキャンパターン候補(例えば、逆対角スキャンパターン、逆垂直スキャンパターン、逆水平スキャンパターン)からスキャンパターンを選択することができる。
【0157】
いくつかの実施形態では、変換選択は明示的にシグナリングされ、スキャン選択はイントラ予測モードに基づいて暗黙的にシグナリングされる。
【0158】
図18は、いくつかの例による変換およびスキャンシグナリングのマッピングテーブルを示すテーブル(1800)の図である。いくつかの例では、明示的MTSによるイントラ符号化(例えば、VVCにおいて)の統計は、ほとんどのブロックが、水平および垂直変換の両方に対してDCT-2、または水平および垂直変換の両方に対してDST-7のいずれかで符号化されたことを示す。テーブル(1800)の例は、統計を利用し、2つの変換選択、すなわち、水平および垂直変換の両方に対するDCT-2の第1の選択と、水平および垂直変換の両方に対するDST-7の第2の選択とを含む。
【0159】
図18において、テーブル(1800)では、1ビットを用いてmts_idxにシグナリングし、水平および垂直変換の両方にDCT-2を使用する第1の選択と、水平および垂直変換の両方にDST7を用いる第2の選択のうちの1つを示す。スキャンパターンは、イントラ予測モードに基づいて選択される。いくつかの例では、符号器側では、テーブル(1300)に示す5つの選択肢の代わりに、2つの選択肢mts_idxに対してレート歪み最適化をすることができ、したがって、符号器の複雑さを少なくできる。
【0160】
いくつかの実施形態では、スキャンパターンは、VVCのpredModeIntraで表されるような、イントラ予測モードに基づいて決定される。
【0161】
一例では、逆水平スキャンは、|preModeIntra-50|≦10またはpreModeIntra値≦-5のときに選択することができ、逆垂直スキャンは、|preModeIntra-18|≦10またはpreModeIntra≧70のときに用いられ、他の値のpredModeIntraについては、逆対角スキャンが使用される。
【0162】
図19は、本開示の一実施形態による処理(1900)を概説するフローチャートである。処理(1900)は、ビデオ符号器で使用することができる。様々な実施形態において、処理(1900)は、例えば、端末デバイス(310)、(320)、(330)および(340)内の処理回路、ビデオ符号器(403)の機能を実行する処理回路、ビデオ符号器(603)の機能を実行する処理回路、ビデオ符号器(703)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、処理(1900)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は処理(1900)を実行する。処理は(S1901)から開始し、(S1910)に進む。
【0163】
(S1910)において、イントラ予測モードに基づいて、符号化ブロックのイントラ予測がされる。
【0164】
(S1920)において、イントラ予測からの符号化ブロックの残差を符号化するために、複数の分離可能な一次変換候補からの分離可能な一次変換の選択と、複数のスキャンパターン候補からのスキャンパターンの選択とが決定される。いくつかの例では、ビデオ符号器は、イントラ符号化ブロックのほとんどが変換関数DCT-2またはDST-7で符号化される統計値を利用する。一例では、ビデオ符号器は、変換関数DCT-2またはDST-7、および適用可能なスキャンパターンに基づいてレート歪み性能評価を実行し、複数の分離可能な一次変換候補から分離可能な一次変換の選択と、複数のスキャンパターン候補からスキャンパターンの選択を決定する。
【0165】
いくつかの例では、選択可能な二次非分離可能変換の適用の除外を決定し、したがって、選択可能な二次非分離可能変換が適用されない。
【0166】
いくつかの例では、スキャンパターンは、テーブル(1600)などの、複数の分離可能な一次変換候補のサブセットを用いて各々適用可能である。
【0167】
いくつかの例では、スキャンパターンは、テーブル(1700)などの、複数の分離可能な一次変換候補のそれぞれを用いて各々適用可能である。
【0168】
(S1930)において、分離可能な一次変換の選択とスキャンパターンの選択とに基づいて、符号化ブロックの残差が符号化される。
【0169】
いくつかの例では、分離可能な一次変換を、残差に適用し、変換ドメインにおける変換係数を生成する。次に、変換ドメインにおける変換係数を、スキャンパターンに基づいて2Dから1Dにコンバートすることができる。1Dの変換係数を量子化し、ビットストリームのビットにエントロピー符号化することができる。
【0170】
(S1940)において、分離可能な一次変換の選択およびスキャンパターンの選択がシグナリングされる。次に、(S1999)に進み、処理を終了する。
【0171】
いくつかの例では、分離可能な一次変換の選択およびスキャンパターンの選択は、共に明示的にシグナリングされる。一例では、シンタックスの値(例えば、mts_idx)は、テーブル(1600)、テーブル(1700)などを使用するように、複数の分離可能一次変換候補からの分離可能一次変換の選択と、複数のスキャンパターン候補からのスキャンパターンの選択との組み合わせを示すように選択される。シンタックスの値は、ビットストリームに符号化される。
【0172】
いくつかの例では、分離可能な一次変換の選択およびスキャンパターンの選択は、個別に明示的にシグナリングされる。一例では、第1のシンタックスの値は、分離可能な一次変換の選択を示すように決定され、第2のシンタックスの値は、スキャンパターンの選択を示すように決定される。第1のシンタックスおよび第2のシンタックスは、ビットストリームに符号化される。
【0173】
いくつかの例では、分離可能な一次変換の選択は明示的にシグナリングされ、スキャンパターンの選択は暗黙的にシグナリングされる。例えば、スキャンパターンの選択は、イントラ予測モードに基づく。
【0174】
いくつかの例では、分離可能な一次変換の選択は暗黙的にシグナリングされ、スキャンパターンの選択は暗黙的にシグナリングされる。例えば、スキャンパターンの選択は、イントラ予測モードに基づく。
【0175】
処理(1900)は、適切に適合させることができる。処理(1900)のステップは、変更および/または省略することができる。追加のステップを追加することができる。任意の適切な実施順序を使用できる。
【0176】
図20は、本開示の一実施形態による処理(2000)を概説するフローチャートである。処理(2000)は、ビデオ復号器で使用することができる。様々な実施形態において、処理(2000)は、例えば、端末デバイス(310)、(320)、(330)および(340)内の処理回路、ビデオ復号器(410)の機能を実行する処理回路、ビデオ復号器(510)の機能を実行する処理回路などの処理回路によって実行される。いくつかの実施形態では、処理(1800)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は処理(2000)を実行する。処理は(S2001)から開始し、(S2010)に進む。
【0177】
(S2010)において、ビットストリームから符号化ブロックの情報が復号される。情報は、符号化ブロックのイントラ予測モード、複数の分離可能な一次変換候補からの分離可能な一次変換の選択、および複数のスキャンパターン候補からのスキャンパターンの選択を示す。
【0178】
一例では、スキャンパターンは、複数の分離可能な一次変換候補のサブセットを用いて各々適用可能である。別の例では、スキャンパターンは、複数の分離可能な一次変換候補を用いてそれぞれ適用可能である。
【0179】
いくつかの例では、分離可能な一次変換の選択およびスキャンパターンの選択は、共に明示的にシグナリングされる。例えば、シンタックスの値がビットストリームから復号され、シンタックスの値は、複数の分離可能な一次変換候補からの分離可能な一次変換の選択と複数のスキャンパターン候補からのスキャンパターンの選択との組み合わせを示す。
【0180】
いくつかの例では、分離可能な一次変換の選択およびスキャンパターンの選択は、個別に明示的にシグナリングされる。例えば、第1のシンタックスの値がビットストリームから復号され、第1のシンタックスの値は分離可能な一次変換の選択を示し、第2のシンタックスの値がビットストリームから復号され、第2のシンタックスの値はスキャンパターンの選択を示す。
【0181】
いくつかの例では、分離可能な一次変換の選択は明示的にシグナリングされ、スキャンパターンの選択は暗黙的にシグナリングされ、したがって、スキャンパターンの選択を推測することができ、分離可能な一次変換の選択をビットストリームから復号されたシンタックスに基づいて決定することができる。いくつかの例では、分離可能な一次変換の選択およびスキャンパターンの選択の両方が暗黙的にシグナリングされ、したがって、分離可能な一次変換の選択およびスキャンパターンの選択の両方が推測され得る。一例では、スキャンパターンの選択は、イントラ予測モードの方向に基づいて推測することができる。
【0182】
(S2020)において、符号化ブロックの残差は、ビットストリームからスキャンパターンの選択と分離可能な一次変換の選択とに基づいて決定される。
【0183】
いくつかの例では、スキャンパターンの選択に基づいて、ビットストリームから変換ドメインの変換係数が復号される。次に、分離可能な一次変換に関連する逆変換を変換ドメインの変換係数に適用し、残差を決定する。
【0184】
いくつかの例では、符号化ブロックの復号情報は、選択可能な二次非分離可能変換の除外を示す。したがって、選択可能な二次非分離可能変換に関連する逆変換の適用は、符号化ブロックの残差を決定するための処理から除外される。
【0185】
(S2030)において、符号化ブロックは、残差と符号化ブロックのイントラ予測との組み合わせに基づいて再構成され、符号化ブロックのイントラ予測は、イントラ予測モードに基づいて行われる。
【0186】
次に、(S2099)に進み、処理を終了する。
【0187】
処理(2000)は、適切に適合させることができる。処理(2000)のステップは、変更および/または省略することができる。追加のステップを追加することができる。任意の適切な実施順序を使用できる。
【0188】
上述の技術は、1つまたは複数のコンピュータ可読媒体に物理的に記憶された、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装することができる。例えば、
図21は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム2100を示す。
【0189】
コンピュータソフトウェアは、1つまたは複数のコンピュータ中央処理装置(CPU)およびグラフィックス処理装置(GPU)などによって直接的に、または解釈およびマイクロコードの実行などを通して実行され得る命令を含むコードを生成するために、アセンブリ、コンパイル、リンキング、または同様のメカニズムを受け得る任意の適切な機械コードまたはコンピュータ言語を使用してコーディングされ得る。
【0190】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、IoTデバイスなどを含む様々な種類のコンピュータまたはその構成要素上で、実行され得る。
【0191】
図21に示されたコンピュータシステム(2100)の構成要素は、本質的に例示であり、本開示の実施形態を実装するためのコンピュータソフトウェアの使用範囲または機能にいかなる制限を加えることを意図するものではない。また、構成要素の構成は、コンピュータシステム(2100)の例示的な実施形態に示される構成要素のいずれか1つまたは組み合わせに関連する依存性または要件を有すると解釈されるべきではない。
【0192】
コンピュータシステム(2100)は、特定のヒューマン・インタフェース入力デバイスを含むことができる。そのようなヒューマン・インタフェース入力デバイスは、例えば、触知入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介した1つまたは複数の人間のユーザによる入力に応答することができる。ヒューマン・インタフェース・デバイスを用いて、音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得される写真画像など)、ビデオ(二次元ビデオ、立体ビデオを含む三次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係ない特定の媒体を取り込むこともできる。
【0193】
入力ヒューマン・インタフェース・デバイスは、キーボード(2101)、マウス(2102)、トラックパッド(2103)、タッチスクリーン(2110)、データグローブ(図示せず)、ジョイスティック(2105)、マイクロフォン(2106)、スキャナ(2107)、カメラ(2108)のうちの1つまたは複数(各々のうちのただ1つ)を含んでもよい。
【0194】
コンピュータシステム(2100)はまた、特定のヒューマン・インタフェース出力デバイスを含み得る。そのようなヒューマン・インタフェース出力デバイスは、例えば、触覚出力、音、光、および匂い/味によって1人または複数の人間のユーザの感覚を刺激し得る。このようなヒューマン・インタフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(2110)、データグローブ(図示せず)、またはジョイスティック(2105)による触覚フィードバックが含まれることがあるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、オーディオ出力デバイス(スピーカ(2109)、ヘッドホン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2110)などであり、それぞれにタッチスクリーン入力機能が有っても無くてもよく、それぞれに触覚フィードバック機能が有っても無くてもよく、それらの一部は、ステレオグラフィック出力、仮想現実ガラス(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を通じて2次元視覚出力または3次元以上の出力が可能であり得る)およびプリンタ(図示せず)を含み得る。
【0195】
コンピュータシステム(2100)はまた、CD/DVDなどの媒体(2121)を有するCD/DVD ROM/RW(2120)を含む光学媒体、サムドライブ(2122)、リムーバブルハードドライブまたはソリッドステートドライブ(2123)、テープおよびフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの専用ROM/ASIC/PLDベースのデバイス(図示せず)など、人間がアクセス可能なストレージデバイスおよびそれらの関連媒体を含むことができる。
【0196】
当業者はまた、現在開示された主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
【0197】
コンピュータシステム(2100)はまた、1つまたは複数の通信ネットワーク(2155)へのインタフェース(2154)を含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例には、Ethernetなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルテレビ、衛星テレビおよび地上波テレビを含むテレビの有線または無線広域デジタルネットワーク、CANBusを含む車両用および産業用などが含まれる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(2149)に取り付けられた外部ネットワークインタフェースアダプタ(例えば、コンピュータシステム(2100)のUSBポートなど)を必要とし、他のものは、一般に、後述するようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットインタフェースまたはスマートフォンコンピュータシステムへのセルラネットワークインタフェース)によってコンピュータシステム(2100)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(2100)は、他のエンティティと通信することができる。そのような通信は、例えば、ローカルまたは広域デジタルネットワークを使用する他のコンピュータシステムに対して、単方向で受信のみ(例えば、放送TV)、単方向で送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上記で説明したように、それらのネットワークおよびネットワークインタフェースのそれぞれで使用することができる。
【0198】
前述のヒューマン・インタフェース・デバイス、ヒューマンアクセス可能なストレージデバイス、およびネットワークインタフェースを、コンピュータシステム(2100)のコア(2140)に取り付けることができる。
【0199】
コア(2140)は、1つまたは複数の中央処理装置(CPU)(2141)、グラフィックス処理装置(GPU)(2142)、フィールドプログラマブルゲートエリア(FPGA)(2143)の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(2144)、グラフィックスアダプタ(2150)などを含むことができる。これらのデバイスは、読み取り専用メモリ(ROM)(2145)、ランダムアクセスメモリ(2146)、ユーザがアクセスできない内部ハードドライブ、SSDなどの内部大容量ストレージ(2147)と共に、システムバス(2148)を介して接続されてもよい。一部のコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形式でシステムバス(2148)にアクセスすることができる。周辺デバイスを、コアのシステムバス(2148)に直接取り付けることも、周辺バス(2149)を介して取り付けることもできる。一例では、スクリーン(2110)をグラフィックスアダプタ(2150)に接続することができる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
【0200】
CPU(2141)、GPU(2142)、FPGA(2143)、およびアクセラレータ(2144)は、組み合わせて前述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM(2145)またはRAM(2146)に格納され得る。移行データはまた、RAM(2146)に格納され得、一方、永続データは、例えば内部大容量ストレージ(2147)に格納され得る。メモリデバイスのいずれかへの高速記憶および取得は、1つまたは複数のCPU(2141)、GPU(2142)、大容量ストレージ(2147)、ROM(2145)、RAM(2146)などと密接に関連付けることができるキャッシュメモリの使用によって可能にすることができる。
【0201】
コンピュータ可読媒体は、様々なコンピュータ実施動作を行うためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであってもよいし、またはコンピュータソフトウェア技術の当業者に公知の利用可能な種類のものであってもよい。
【0202】
一例として、限定するものではないが、アーキテクチャ(2100)、具体的にはコア(2140)を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ(複数可)(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上述のようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ(2147)またはROM(2145)などの非一時的な性質のコア(2140)の特定のストレージに関連付けられた媒体とすることができる。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに格納され、コア(2140)によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(2140)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、本明細書に記載の特定処理または特定処理の特定部分を実行させることができ、処理には、RAM(2146)に格納されたデータ構造を定義すること、および、ソフトウェアによって定義された処理にしたがってそのようなデータ構造を修正することが含まれる。加えて、または代替として、コンピュータシステムは、ハードワイヤードまたは他の方法で回路(例えば、アクセラレータ(2144))に具現化された論理の結果として、機能を提供することができ、ソフトウェアの代わりに、またはソフトウェアと共に動作して、本明細書に記載の特定処理または特定処理の特定部分を実行することができる。ソフトウェアへの参照は、論理を包含することができ、適切な場合には逆もまた同様である。必要に応じて、コンピュータ可読媒体への言及は、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のためのロジックを具体化する回路、またはこれらの両方を包含することができる。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
【0203】
付録A::頭字語
JEM:ジョイント探索モデル
VVC:多用途ビデオ符号化
BMS:ベンチマークセット
MV:動きベクトル
HEVC:高効率ビデオ符号化
SEI:サプリメンタル・エンハンスメント情報
VUI:ビデオのユーザビリティ情報
GOPs:画像グループ
TUs:変換ユニット
PUs:予測ユニット
CTUs:符号化ツリーユニット
CTBs:符号化ツリーブロック
PBs:予測ブロック
HRD:仮想参照復号器
SNR:信号ノイズ比
CPUs:中央処理装置
GPUs:グラフィックス処理装置
CRT:ブラウン管
LCD:液晶ディスプレイ
OLED:有機発光ダイオード
CD:コンパクトディスク
DVD:デジタルビデオディスク
ROM:読み取り専用メモリ
RAM:ランダムアクセスメモリ
ASIC:特定用途向け集積回路
PLD:プログラマブルロジックデバイス
LAN:ローカルエリアネットワーク
GSM:グローバル移動体通信システム
LTE:ロングタームエボリューション
CANBus:コントローラエリアネットワークバス
USB:ユニバーサルシリアルバス
PCI:周辺構成要素相互接続
FPGA:フィールドプログラマブルゲートエリア
SSD:ソリッドステートドライブ
IC:集積回路
CU:符号化ユニット
【0204】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内にある修正例、置換例、および様々な代替均等例がある。したがって、当業者は、本明細書に明示的に示されていないまたは記載されていないが、本開示の原理を具体化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【符号の説明】
【0205】
101 矢印が収束する点
102 矢印
103 矢印
104 正方形ブロック
110 概略図
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 インター復号器
910 スキャンパターン
920 スキャンパターン
930 スキャンパターン
1010 スキャンパターン
1020 スキャンパターン
1100 残差符号化モジュール
1110 変換モジュール
1170 スキャンモジュール
1180 量子化モジュール
1190 エントロピー符号化モジュール
1300 テーブル
1400 残差符号化モジュール
1410 選択可能一次変換モジュール
1420 固定一次変換モジュール
1430 二次変換モジュール
1470 固定スキャンモジュール
1480 量子化モジュール
1490 エントロピー符号化モジュール
1500 残差符号化モジュール
1501 スキャン処理パス
1502 スキャン処理パス
1510 選択可能一次変換モジュール
1520 固定一次変換モジュール
1530 二次変換モジュール
1560 選択可能スキャンモジュール
1570 固定スキャンモジュール
1580 量子化モジュール
1590 エントロピー符号化モジュール
1600 テーブル
1700 テーブル
1800 テーブル、処理
1900 処理
2000 処理
2100 アーキテクチャ、コンピュータシステム
2101 キーボード
2102 マウス
2103 トラックパッド
2105 ジョイスティック
2106 マイクロフォン
2107 スキャナ
2108 カメラ
2109 オーディオ出力デバイススピーカ
2110 タッチスクリーン
2120 CD/DVD ROM/RW
2121 媒体
2122 サムドライブ
2123 ソリッドステートドライブ
2140 コア
2141 中央処理装置(CPU)
2142 グラフィック処理装置(GPU)
2143 フィールドプログラマブルゲートエリア(FPGA)
2144 ハードウェアアクセラレータ
2145 読み取り専用メモリ(ROM)
2146 ランダムアクセスメモリ
2147 内部大容量ストレージ
2148 システムバス
2149 周辺バス
2150 グラフィックスアダプタ
2154 インタフェース
2155 通信ネットワーク