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

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

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

特許7361782変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム
<>
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図1
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図2
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図3
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図4
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図5
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図6
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図7
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図8A
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図8B
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図9
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図10
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図11
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図12
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図13
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図14
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図15
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図16
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図17
  • 特許-変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-05
(45)【発行日】2023-10-16
(54)【発明の名称】変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム
(51)【国際特許分類】
   H04N 19/13 20140101AFI20231006BHJP
   H04N 19/14 20140101ALI20231006BHJP
   H04N 19/18 20140101ALI20231006BHJP
【FI】
H04N19/13
H04N19/14
H04N19/18
【請求項の数】 10
(21)【出願番号】P 2021545447
(86)(22)【出願日】2020-06-18
(65)【公表番号】
(43)【公表日】2022-03-30
(86)【国際出願番号】 US2020038417
(87)【国際公開番号】W WO2020257447
(87)【国際公開日】2020-12-24
【審査請求日】2021-08-03
(31)【優先権主張番号】62/863,742
(32)【優先日】2019-06-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/904,000
(32)【優先日】2020-06-17
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】チュン・オーヤン
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シアン・リ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】久保 光宏
(56)【参考文献】
【文献】Heiko Schwarz, et al.,"Non-CE7: Alternative Entropy Coding for Dependent Quantization",Document: JVET-K0072-v2, [online],JVET-K0072 (version 5),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年07月16日,Pages 1-17,[令和4年8月19日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=3574> and <URL: https://jvet-experts.org/doc_end_user/documents/11_Ljubljana/wg11/JVET-K0072-v5.zip>.
【文献】入谷 純(外1名),「経済数学」,日本,東洋経済新報社,2016年05月12日,第9~10頁,ISBN: 978-4-492-31471-5.
【文献】Heiko Schwarz, et al.,"CE7: Transform Coefficient Coding and Dependent Quantization (Tests 7.1.2, 7.2.1)",Document: JVET-K0071, [online],JVET-K0071 (version 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年07月11日,Pages 1-21,[令和4年8月19日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=3573> and <URL: https://jvet-experts.org/doc_end_user/documents/11_Ljubljana/wg11/JVET-K0071-v2.zip>.
【文献】Yue Yu, et al.,"Context Reduction for Significance Map Coding and Level Coding",Document: JCTVC-I0304-r1, [online],JCTVC-I0304 (version 2),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2012年04月24日,Pages 1-5,[令和5年8月25日検索], インターネット, <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=5562> and <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I0304-v2.zip>.
【文献】T. Nguyen, et al.,"Non-CE11: Proposed Cleanup for Transform Coefficient Coding",Document: JCTVC-H0228, [online],JCTVC-H0228 (version 2),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2012年01月27日,Pages 1-9,[令和5年8月25日検索], インターネット, <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=4531> and <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H0228-v2.zip>.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
現在ピクチャと、前記現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームを受信するステップと、
部分的に再構成された変換係数のグループの和(x)に対して行われる単調非減少関数(f(x))の出力に基づいて、オフセット値を決定するステップと、
前記決定されたオフセット値とベース値との和に基づいてコンテキストモデルインデックスを決定するステップと、
現在の変換係数の前記少なくとも1つのシンタックス要素について、前記決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからあるコンテキストモデルを選択するステップと
を含み、
前記ベース値および前記オフセット値のうちの1つは、前記複数のコンテキストモデルに含まれるコンテキストモデルの数に基づいて決定され、
前記単調非減少関数は、(x+1)>>1として定義される、
ビデオコーディングの方法。
【請求項2】
前記方法は、
前記現在の変換係数に対して依存量子化が有効とされているかどうかを決定するステップをさらに含み、
前記現在の変換係数に対して依存量子化が有効とされているという前記決定に応答して、前記ベース値は量子化器の状態に基づく、請求項1に記載の方法。
【請求項3】
前記現在の変換係数はルマ領域に位置し、前記ベース値は、前記変換ブロック内における前記現在の変換係数の位置と前記変換ブロックの左上隅との間の距離と第1の対角位置閾値との比較に基づく、請求項2に記載の方法。
【請求項4】
前記ベース値は、前記距離と第2の対角位置閾値との比較にさらに基づく、請求項3に記載の方法。
【請求項5】
前記現在の変換係数はクロマ領域に位置し、前記ベース値は、前記変換ブロック内における前記現在の変換係数の位置と前記変換ブロックの左上隅との間の距離と第1の対角位置閾値との比較に基づく、請求項2に記載の方法。
【請求項6】
前記現在の変換係数および部分的に再構成された変換係数の前記グループは、変換係数の連続したセットを構成するテンプレートを形成する、請求項1から5のうちいずれか一項に記載の方法。
【請求項7】
前記少なくとも1つのシンタックス要素は変換係数有意フラグ(sig_coeff_flag)である、請求項1から6のうちいずれか一項に記載の方法。
【請求項8】
前記ビデオビットストリームは、前記少なくとも1つのシンタックス要素を含む複数のシンタックス要素を含み、部分的に再構成された変換係数の前記グループの前記和(x)は、前記複数のシンタックス要素からの1つまたは複数のシンタックス要素に基づく、請求項1から7のうちいずれか一項に記載の方法。
【請求項9】
請求項1から8のいずれか一項に記載のビデオコーディングの方法を行うように構成された装置。
【請求項10】
ビデオコーディング装置のコンピュータに、請求項1から8のいずれか一項に記載のビデオコーディングの方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本開示は、その全体が参照によって本明細書に組み込まれる2019年6月19日に出願された「METHOD OF REDUCING CONTEXT MODELS FOR ENTROPY CODING OF TRANSFORM COEFFICIENT SIGNIFICANT FLAG」なる名称の米国仮出願第62/863,742号に基づく優先権の利益を主張する、2020年6月17日に出願された「METHOD AND APPARATUS FOR REDUCING CONTEXT MODELS FOR ENTROPY CODING OF TRANSFORM COEFFICIENT SIGNIFICANT FLAG」なる名称の米国特許出願第16/904,000号に基づく優先権の利益を主張する。
【0002】
本開示は、概してビデオコーディングに関連する実施形態について説明する。
【背景技術】
【0003】
本明細書で与えられる背景技術の説明は、本開示の文脈を一般的に提示することを目的としている。本発明者らの研究は、この背景技術の項に記載されている限りにおいて、ならびに出願時に先行技術として認められない可能性がある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【0004】
ビデオ符号化および復号は、動き補償を伴うピクチャ間予測を用いて行うことができる。非圧縮デジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば1920×1080のルマサンプルおよび関連するクロマサンプルの空間次元を有する。一連のピクチャは、例えば毎秒60ピクチャまたは60 Hzの固定または可変ピクチャレート(非公式にはフレームレートとしても知られる)を有しうる。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60 Hzのフレームレートで1920×1080のルマサンプル解像度)は、1.5 Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600 GByteを超える記憶空間を必要とする。
【0005】
ビデオ符号化および復号の目的の1つは、圧縮による入力ビデオ信号の冗長性の低減であり得る。圧縮は、前述の帯域幅または記憶空間要件を、場合によっては2桁以上低減するのに役立ち得る。可逆圧縮および非可逆圧縮の両方、ならびにそれらの組み合わせを使用することができる。可逆圧縮とは、原信号の正確な複製を圧縮された原信号から再構成することができる技術を指す。非可逆圧縮を使用する場合、再構成された信号は原信号と同一ではないことがあるが、原信号と再構成された信号との間の歪みは、再構成された信号を意図した用途に有用にするのに十分小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は用途に依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容することがある。達成可能な圧縮比は、より高い許容可能/容認可能な歪みがより高い圧縮比をもたらすことができることを反映することができる。
【0006】
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換、量子化、およびエントロピー・コーディングを含む、いくつかの広範なカテゴリからの技術を利用し得る。
【0007】
ビデオコーデック技術は、イントラ・コーディングとして知られる技術を含むことができる。イントラ・コーディングでは、サンプル値は、サンプルまたは以前に再構成された参照ピクチャからの他のデータを参照せずに表される。いくつかのビデオコーデックでは、ピクチャは空間的にサンプルのブロックに細分される。サンプルのすべてのブロックがイントラモードでコーディングされる場合、そのピクチャは、イントラピクチャであり得る。イントラピクチャおよび独立したデコーダリフレッシュピクチャなどのイントラピクチャの派生物は、デコーダ状態をリセットするために使用されえ、従って、コーディングされたビデオビットストリームおよびビデオセッション内の第1のピクチャとして、または静止画像として使用されうる。イントラブロックのサンプルは、変換にさらされる可能性があり、変換係数は、エントロピー・コーディングの前に量子化され得る。イントラ予測は、変換前領域におけるサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さいほど、およびAC係数が小さいほど、エントロピー・コーディング後のブロックを表すために所与の量子化ステップサイズで必要とされるビットが少なくなる。
【0008】
例えばMPEG-2世代のコーディング技術から知られているような従来のイントラ・は、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、周囲のサンプルデータおよび/または空間的に近傍にあり、かつ復号順序で先行するデータのブロックの符号化/復号中に取得されたメタデータから試行する技術を含む。そのような技法は、以後「イントラ予測」技術と呼ばれる。少なくともいくつかの場合において、イントラ予測は、参照ピクチャからではなく、再構成中の現在ピクチャからの参照データのみを使用することに留意されたい。
【0009】
イントラ予測には多くの異なる形があり得る。そのような技法のうちの2つ以上が所与のビデオコーディング技術において使用され得るとき、使用中の技法はイントラ予測モードで符号化され得る。特定の場合には、モードはサブモードおよび/またはパラメータを有することができ、それらは個別に符号化され得るかまたはモード符号語に含まれ得る。所与のモード/サブモード/パラメータの組み合わせにどの符号語を使用するかは、イントラ予測を介する符号化効率の利得に影響を与える可能性があり、符号語をビットストリームに変換するために使用されるエントロピー・コーディング技術も影響を与える可能性がある。
【0010】
イントラ予測の特定のモードは、H.264で導入され、H.265で改良され、共同探査モデル(JEM)、多用途ビデオ・コーディング(VVC)、およびベンチマークセット(BMS)などの新しいコーディング技術でさらに改良された。予測(predictor)ブロックは、すでに利用可能なサンプルに属する近傍のサンプル値を使用して形成することができる。近傍のサンプルのサンプル値は、方向に従って予測ブロックに複製される。使用中の方向への参照は、ビットストリーム内で符号化され得るか、またはそれ自体が予測され得る。
【0011】
動き補償は非可逆圧縮技術でありえ、以前に再構成されたピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以下、MV)によって示される方向に空間的にシフトされた後、新たに再構成されたピクチャまたはピクチャ部分の予測に使用される技術に関しうる。場合によっては、参照ピクチャは、現在再構成中のピクチャと同じであり得る。MVは、2次元XおよびY、または3次元を有することができ、第3の次元は、使用中の参照ピクチャ(後者は、間接的に、時間次元でありうる。)の指示である。
【0012】
いくつかのビデオ圧縮技術では、サンプルデータの特定の領域に適用可能なMVは、他のMV、例えば再構成中の領域に空間的に隣接し、復号順でそのMVに先行するサンプルデータの別の領域に関連するMVから予測されうる。そうすることにより、MVの符号化に必要なデータ量を実質的に削減することができ、それによって冗長性が排除され、圧縮が増加する。例えば、カメラ(自然なビデオとして知られている)から導出された入力ビデオ信号を符号化するとき、単一のMVが適用可能な領域よりも大きい領域が同様の方向に移動する統計的尤度があり、従って、場合によっては、近傍の領域のMVから導出された同様の動きベクトルを使用して予測することができるため、MV予測は、効果的に機能することができる。これにより、所与の領域について見つかったMVは、周囲のMVから予測されたMVと類似または同じになり、エントロピー符号化後に、MVを直接符号化する場合に使用されるよりも少ないビット数で表すことができる。場合によっては、MV予測は、原信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例とすることができる。他の場合では、例えば、いくつかの周囲のMVから予測(predictor)を計算するときの丸め誤差のために、MV予測自体が非可逆であり得る。
【0013】
様々なMV予測機構は、H.265/HEVC(ITU-T Rec.H.265,"High Efficiency Video Coding",December 2016)に記載されている。本明細書では、H.265が提供する多くのMV予測機構のうち、「空間的マージ」と呼ばれる技術について説明する。
【0014】
図1を参照すると、現在ブロック(101)は、空間的にシフトされた同じサイズの前のブロックから予測可能であるように動き検索プロセス中にエンコーダによって見つけられたサンプルを含む。そのMVを直接符号化する代わりに、MVは、A0、A1、およびB0、B1、B2(それぞれ102~106)で示される5つの周囲サンプルのいずれか1つに関連付けられたMVを使用して、1つまたは複数の参照ピクチャに関連付けられたメタデータから、例えば(復号順序で)最新の参照ピクチャから導出することができる。H.265では、MV予測は、近傍のブロックが使用しているのと同じ参照ピクチャからの予測(predictor)を使用することができる。
【発明の概要】
【課題を解決するための手段】
【0015】
例示的な実施形態によれば、ビデオデコーダにおいて実行されるビデオ復号の方法は、現在ピクチャと、現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームを受信するステップを含む。本方法は、部分的に再構成された変換係数のグループの和(x)に対して行われる単調非減少f(x)関数の出力に基づいて、オフセット値を決定するステップをさらに含む。本方法は、決定されたオフセット値とベース値との和に基づいてコンテキストモデルインデックスを決定するステップをさらに含む。本方法は、現在の変換係数の少なくとも1つのシンタックスについて、決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからコンテキストモデルを選択するステップをさらに含む。
【0016】
例示的な実施形態によれば、ビデオデコーダにおいて実行されるビデオ復号の方法は、現在ピクチャと、現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームを受信するステップを含む。本方法は、複数のコンテキストモデル領域からの各コンテキストモデル領域について、部分的に再構成された変換係数のグループと、それぞれのコンテキストモデル領域に関連付けられたコンテキストモデルの数との和(x)に対して実行される単調非減少関数の出力を決定するステップをさらに含む。本方法は、各コンテキストモデル領域の単調非減少関数の出力に基づいて、コンテキストモデルインデックスを決定するステップをさらに含む。本方法は、現在の変換係数の少なくとも1つのシンタックスについて、決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからコンテキストモデルを選択するステップをさらに含む。
【0017】
例示的な実施形態によれば、ビデオ復号のためのビデオデコーダは、現在ピクチャと、現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームを受信するように構成された処理回路を含む。処理回路は、部分的に再構成された変換係数のグループの和(x)に対して行われる単調非減少f(x)関数の出力に基づいて、オフセット値を決定するようにさらに構成される。処理回路は、決定されたオフセット値とベース値との和に基づいてコンテキストモデルインデックスを決定するようにさらに構成される。処理回路は、現在の変換係数の少なくとも1つのシンタックスについて、決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからコンテキストモデルを選択するようにさらに構成される。
【0018】
例示的な実施形態によれば、ビデオ復号のためのビデオデコーダ装置は、現在ピクチャと、現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームを受信するように構成された処理回路を含む。処理回路は、複数のコンテキストモデル領域からの各コンテキストモデル領域について、部分的に再構成された変換係数のグループと、それぞれのコンテキストモデル領域に関連付けられたコンテキストモデルの数との和(x)に対して実行される単調非減少関数の出力を決定するようにさらに構成される。処理回路は、各コンテキストモデル領域の単調非減少関数の出力に基づいて、コンテキストモデルインデックスを決定するようにさらに構成される。処理回路は、現在の変換係数の少なくとも1つのシンタックスについて、決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからコンテキストモデルを選択するようにさらに構成される。
【0019】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0020】
図1】一例における現在ブロックおよびその周囲の空間的マージ候補の概略図である。
図2】一実施形態による通信システムの簡略化されたブロック図の概略図である。
図3】一実施形態による通信システムの簡略化されたブロック図の概略図である。
図4】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
図5】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
図6】他の実施形態によるエンコーダのブロック図を示す。
図7】他の実施形態によるデコーダのブロック図を示す。
図8A】一実施形態による例示的なコンテキストベースの適応二値算術符号化(CABAC)ベースのエントロピーエンコーダを示す図である。
図8B】一実施形態による例示的なCABACベースのエントロピーデコーダを示す図である。
図9】一実施形態によるサブブロックスキャン順序の一例を示す。
図10】一実施形態による、変換係数のシンタックス要素の異なるタイプが生成されるサブブロックスキャンプロセスの一例を示す図である。
図11】現在の係数のコンテキスト選択に使用されるローカルテンプレートの一例を示す。
図12】係数ブロック内の係数または係数レベルの対角位置を示す。
図13】一実施形態によるルマコンポーネントのコンテキストインデックス計算を示す図である。
図14】一実施形態によるルマコンポーネントのコンテキストインデックス計算を示す図である。
図15】一実施形態によるルマコンポーネントのコンテキストインデックス計算を示す図である。
図16】一実施形態によるエントロピー復号プロセスの概要を示すフローチャートである。
図17】一実施形態によるエントロピー復号プロセスの概要を示すフローチャートである。
図18】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0021】
図2は、本開示の一実施形態による通信システム(200)の簡略化されたブロック図を示す。通信システム(200)は、例えばネットワーク(250)を介して互いに通信可能な複数の端末装置を含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された端末装置の第1の対(210)および(220)を含む。図2の例では、端末装置の第1の対(210)および(220)は、データの一方向の送信を行う。例えば、端末装置(210)は、ネットワーク(250)を介して他の端末装置(220)に送信するためにビデオデータ(例えば、端末装置(210)によってキャプチャされたビデオピクチャのストリーム)を符号化し得る。符号化されたビデオデータは、1つまたは複数の符号化されたビデオビットストリームの形態で送信されうる。端末装置(220)は、ネットワーク(250)から符号化されたビデオデータを受信し、符号化されたビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示することができる。一方向データ送信は、メディアサービング用途などで一般的でありうる。
【0022】
他の例では、通信システム(200)は、例えばビデオ会議中に発生することがある符号化されたビデオデータの双方向送信を実行する端末装置(230)および(240)の第2の対を含む。データの双方向送信のために、一例では、端末装置(230)および(240)の各端末装置は、ネットワーク(250)を介して端末装置(230)および(240)の他方の端末装置に送信するためのビデオデータ(例えば、端末装置によってキャプチャされたビデオピクチャのストリーム)を符号化し得る。端末装置(230)および(240)の各端末装置はまた、端末装置(230)および(240)の他方の端末装置によって送信された符号化されたビデオデータを受信し得、符号化されたビデオデータを復号してビデオピクチャを復元し得、復元されたビデオデータに従ってアクセス可能な表示装置にビデオピクチャを表示し得る。
【0023】
図2の例では、端末装置(210)、(220)、(230)、および(240)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器を用いた用途を見出す。ネットワーク(250)は、例えば、有線および/または無線通信ネットワークを含む、端末装置(210)、(220)、(230)および(240)間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回線交換および/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本議論の目的のために、ネットワーク(250)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではないことがある。
【0024】
図3は、開示された主題の用途の例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの保存を含む、他のビデオ対応用途に等しく適用可能である。
【0025】
ストリーミングシステムは、ビデオソース(301)、例えば、圧縮されていないビデオピクチャのストリーム(302)を作成する、例えば、デジタルカメラを含むことができるキャプチャサブシステム(313)を含み得る。一例では、ビデオピクチャのストリーム(302)は、デジタルカメラによって撮影されたサンプルを含む。符号化されたビデオデータ(304)(または符号化されたビデオビットストリーム)と比較して高いデータ量を強調するために太線として示されているビデオピクチャのストリーム(302)は、ビデオソース(301)に結合されたビデオエンコーダ(303)を含む電子装置(320)によって処理することができる。ビデオエンコーダ(303)は、ハードウェア、ソフトウェア、またはそれらの組み合わせを含み得、以下により詳細に説明されるように、開示された主題の態様を可能にするかまたは実施する。符号化されたビデオデータ(304)(または符号化されたビデオビットストリーム(304))は、ビデオピクチャのストリーム(302)と比較してより少ないデータ量を強調するために細い線として描かれ、将来の使用のためにストリーミングサーバ(305)に格納されうる。図3のクライアントサブシステム(306)および(308)などの1つまたは複数のストリーミングクライアントサブシステムは、ストリーミングサーバ(305)にアクセスして、符号化されたビデオデータ(304)の複製(307)および(309)を取得することができる。クライアントサブシステム(306)は、例えば電子装置(330)内のビデオデコーダ(310)を含むことができる。ビデオデコーダ(310)は、符号化されたビデオデータの入力複製(307)を復号し、ディスプレイ(312)(例えば、表示画面)または他のレンダリング装置(図示せず)上にレンダリングすることができるビデオピクチャの出力ストリーム(311)を作成する。いくつかのストリーミングシステムでは、符号化されたビデオデータ(304)、(307)、および(309)(例えば、ビデオビットストリーム)を、特定のビデオ符号化/圧縮標準に従って符号化できる。例えば、ITU-T勧告H.265などが挙げられる。一例では、開発中のビデオコーディング標準は、多用途ビデオ符号化(VVC)として非公式に知られている。開示された主題は、
VVCの文脈で使用され得る。
【0026】
電子装置(320)および(330)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子装置(320)はビデオデコーダ(図示せず)を含むことができ、電子装置(330)はビデオエンコーダ(図示せず)も含むことができる。
【0027】
図4は、本開示の一実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子装置(430)に含まれ得る。電子装置(430)は、受信器(431)(例えば、受信回路)を含むことができる。ビデオデコーダ(410)は、図3の例のビデオデコーダ(310)の代わりに使用されうる。
【0028】
受信器(431)は、ビデオデコーダ(410)によって復号される1つまたは複数の符号化されたビデオシーケンスを受信し得、同じまたは他の実施形態では、一度に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号は、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスは、チャネル(401)から受信し得、チャネル(401)は、符号化されたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る。受信器(431)は、それぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリームと共に符号化されたビデオデータを受信し得る。受信器(431)は、符号化されたビデオシーケンスを他のデータから分離し得る。ネットワークジッタに対抗するために、バッファメモリ(415)を、受信器(431)とエントロピーデコーダ/パーサ(420)(以下、「パーサ(420)」)との間に結合し得る。特定の用途では、バッファメモリ(415)は、ビデオデコーダ(410)の一部である。他の場合には、ビデオデコーダ(410)の外部にあってもよい(図示せず)。さらに他のものでは、例えばネットワークジッタに対抗するためにビデオデコーダ(410)の外部にバッファメモリ(図示せず)があり、さらに例えば再生タイミングを処理するためにビデオデコーダ(410)の内部に別のバッファメモリ(415)があり得る。受信器(431)が十分な帯域幅および制御可能性の格納/転送装置から、またはアイソシンクロナスネットワークからデータを受信しているとき、バッファメモリ(415)は必要ないか、または小さくてよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(415)が必要とされることがあり、比較的大きくてもよく、有利には適応サイズであってもよく、ビデオデコーダ(410)の外部のオペレーティングシステムまたは同様の要素(図示せず)に少なくとも部分的に実装され得る。
【0029】
ビデオデコーダ(410)は、符号化されたビデオシーケンスからシンボル(421)を再構成するためのパーサ(420)を含み得る。これらのシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報と、潜在的に、図4に示すように、電子装置(430)の不可欠な部分ではないが電子装置(430)に結合されうるレンダ装置(412)(例えば、表示画面)などのレンダリング装置を制御するための情報を含む。レンダリング装置(複数可)の制御情報は、補足エンハンスメント情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形式であってもよい。パーサ(420)は、受信した符号化されたビデオシーケンスを解析/エントロピー復号し得る。符号化されたビデオシーケンスの符号化は、ビデオコーディング技術または標準に従うことができ、可変長符号化、ハフマン符号化、文脈依存の有無にかかわらず算術符号化などを含む様々な原則に従うことができる。パーサ(420)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダ内の画素のサブグループの少なくとも1つのサブグループパラメータのセットを抽出し得る。サブグループには、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含めることができる。エントロピーデコーダ/パーサ(420)はまた、変換係数、量子化器パラメータ値、動きベクトルなどの符号化されたビデオシーケンス情報から抽出し得る。
【0030】
パーサ(420)は、バッファメモリ(415)から受信したビデオシーケンスに対してエントロピー復号/シンタックス解析動作を実行して、シンボル(421)を作成し得る。
【0031】
シンボル(421)の再構成は、符号化されたビデオピクチャまたはその一部(ピクチャ間およびイントラピクチャ、ブロック間およびイントラブロックなど)のタイプ、および他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように関与するかは、パーサ(420)によって符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(420)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確性のために描かれていない。
【0032】
すでに述べた機能ブロックを超えて、ビデオデコーダ(410)は、以下に説明するように、概念的にいくつかの機能ユニットに細分することができる。商業的制約の下で動作する実際の実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分化が適切である。
【0033】
第1のユニットはスケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、量子化された変換係数、ならびに使用する変換、ブロックサイズ、量子化因子、量子化スケーリングマトリクスなどを含む制御情報を、パーサ(420)からシンボル(421)として受け取る。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力され得るサンプル値を備えるブロックを出力し得る。
【0034】
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラ符号化されたブロックに関係することができ、つまり、以前に再構成されたピクチャからの予測情報を使用していないが、現在ピクチャの以前に再構成された部分からの予測情報を使用できるブロックである。そのような予測情報は、イントラピクチャ予測ユニット(452)によって提供されうる。場合によっては、イントラピクチャ予測ユニット(452)は、現在ピクチャバッファ(458)からフェッチされた周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在ピクチャバッファ(458)は、例えば、部分的に再構成された現在ピクチャおよび/または完全に再構成された現在ピクチャをバッファに入れる。アグリゲータ(455)は、場合によっては、サンプルごとに、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によって提供される出力サンプル情報に追加する。
【0035】
他の場合では、スケーラ/逆変換ユニット(451)の出力サンプルは、インターコードされ、潜在的に動き補償されたブロックに関係し得る。このような場合、動き補償予測ユニット(453)は、参照ピクチャメモリ(457)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(421)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(455)によってスケーラ/逆変換ユニット(451)の出力に追加できる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償予測ユニット(453)が予測サンプルをフェッチする参照ピクチャメモリ(457)内のアドレスは、動きベクトルによって制御することができ、例えば、X、Y、および参照ピクチャコンポーネントを有することができるシンボル(421)の形式で動き補償予測ユニット(453)に利用可能である。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(457)からフェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0036】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)において様々なループフィルタリング技術を受けうる。ビデオ圧縮技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(420)からのシンボル(421)としてループフィルタユニット(456)に利用可能になるインループフィルタ技術を含むことができるが、符号化されたピクチャまたは符号化されたビデオシーケンスの前の(復号順で)部分の復号中に取得されたメタ情報に応答することができ、以前に再構成およびループフィルタリングされたサンプル値に応答することもできる。
【0037】
ループフィルタユニット(456)の出力は、レンダ装置(412)に出力され得るだけでなく、将来のピクチャ間予測で使用するために参照ピクチャメモリ(457)に格納され得るサンプルストリームであり得る。
【0038】
特定の符号化されたピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。例えば、現在ピクチャに対応する符号化されたピクチャが完全に再構成され、(例えば、パーサ(420)によって)符号化されたピクチャが参照ピクチャとして識別されると、現在ピクチャバッファ(458)は、参照ピクチャメモリ(457)の一部になることができ、次の符号化されたピクチャの再構成を開始する前に、新しい現在ピクチャバッファを再割り当てすることができる。
【0039】
ビデオデコーダ(410)は、例えばITU-T Rec.H.265などの、標準の所定のビデオ圧縮技術に従って復号動作を実行し得る。符号化されたビデオシーケンスは、符号化されたビデオシーケンスがビデオ圧縮技術または標準のシンタックスと、ビデオ圧縮技術または標準に文書化されたプロファイルの両方に準拠するという意味で、使用されているビデオ圧縮技術または標準によって指定されたシンタックスに準拠することがある。具体的には、プロファイルは、ビデオ圧縮技術または標準で利用可能なすべてのツールから、そのプロファイルの下で使用可能な唯一のツールとして特定のツールを選択することができる。また、コンプライアンスのために必要なのは、符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または標準のレベルによって定義された範囲内にあることである。場合によっては、レベルによって、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、1秒あたりのメガサンプル数で測定)、最大参照ピクチャサイズなどが制限される。レベルによって設定される制限は、場合によっては、ハイポセティカルリファレンスデコーダ(HRD)仕様と、符号化されたビデオシーケンスにおいて伝えられるHRDバッファ管理のメタデータによってさらに制限されることがある。
【0040】
一実施形態では、受信器(431)は、符号化されたビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、符号化されたビデオシーケンスの一部として含まれることがある。追加のデータは、データを適切に復号するため、および/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(410)によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号対雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、順方向エラー訂正コードなどの形式をとることができる。
【0041】
図5は、本開示の一実施形態によるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子装置(520)に含まれる。電子装置(520)は、送信器(540)(例えば、送信回路)を含む。ビデオエンコーダ(503)は、図3の例のビデオエンコーダ(303)の代わりに使用することができる。
【0042】
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によって符号化されるビデオ画像をキャプチャし得るビデオソース(501)(図5の例では電子装置(520)の一部ではない)からビデオサンプルを受信することができる。他の例では、ビデオソース(501)は電子装置(520)の一部である。
【0043】
ビデオソース(501)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、ビデオエンコーダ(503)によって符号化されるソースビデオシーケンスを提供し得る。メディアサービングシステムでは、ビデオソース(501)は、以前に準備されたビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、順番に見たときに動きを与える複数の個別のピクチャとして提供し得る。ピクチャ自体は、画素の空間配列として編成することができ、各画素は、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てている。
【0044】
一実施形態によれば、ビデオエンコーダ(503)は、リアルタイムで、または用途によって要求される他の任意の時間制約の下で、ソースビデオシーケンスのピクチャを符号化されたビデオシーケンス(543)に符号化および圧縮し得る。適切な符号化速度を強制することは、コントローラ(550)の1つの機能である。いくつかの実施形態では、コントローラ(550)は、以下に説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。明確性のため、結合は描かれていない。コントローラ(550)によって設定されるパラメータには、レート制御関連のパラメータ(ピクチャスキップ、量子化器、レート歪み最適化手法のラムダ値など)、ピクチャサイズ、Group of Pictures(GOP)レイアウト、最大動きベクトル検索範囲などが含まれ得る。コントローラ(550)は、特定のシステム設計に最適化されたビデオエンコーダ(503)に関する他の適切な機能を有するように構成することができる。
【0045】
いくつかの実施形態では、ビデオエンコーダ(503)は、符号化ループで動作するように構成される。過度に簡略化された説明として、一例では、符号化ループは、ソースコーダ(530)(例えば、符号化される入力ピクチャと、参照ピクチャとに基づいて、シンボルストリームのようなシンボルを生成することを担当する)と、ビデオエンコーダ(503)に組み込まれた(ローカル)デコーダ(533)とを含むことができる。デコーダ(533)は、(リモート)デコーダも作成するのと同様の方法でサンプルデータを作成するためにシンボルを再構成する(開示された主題で考慮されるビデオ圧縮技術では、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮が可逆的であるため)。その再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(534)に入力される。シンボルストリームの復号により、デコーダの位置(ローカルまたはリモート)に関係なくビットイグザクト(bit-exact)結果が得られるため、参照ピクチャメモリ(534)内の内容もまたローカルエンコーダとリモートエンコーダとの間でビットイグザクトになる。言い換えると、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネルエラーのために同期性を維持できない場合に生じるドリフト)のこの基本原理は、いくつかの関連する技術においても使用される。
【0046】
「ローカル」デコーダ(533)の動作は、ビデオデコーダ(410)などの「リモート」デコーダの動作と同じであり得、これは、図4に関連して上記で詳細に説明されている。しかしながら、図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)およびパーサ(420)による符号化されたビデオシーケンスへのシンボルの符号化/復号は可逆であり得、バッファメモリ(415)およびパーサ(420)を含むビデオデコーダ(410)のエントロピー復号部分は、ローカルデコーダ(533)に完全に実装されていないことがある。
【0047】
この時点で行うことができる観察は、デコーダに存在する解析/エントロピー復号以外のデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要があるということである。このため、開示された主題はデコーダ動作に重点を置いている。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0048】
動作中、いくつかの例では、ソースコーダ(530)は、動き補償予測符号化を実行することがあり、これは、「参照ピクチャ」として指定されたビデオシーケンスからの1つまたは複数の以前に符号化されたピクチャを参照して入力ピクチャを予測的に符号化する。このようにして、符号化エンジン(532)は、入力ピクチャの画素ブロックと、入力ピクチャへの予測参照として選択され得る参照ピクチャの画素ブロックとの間の差を符号化する。
【0049】
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャの符号化されたビデオデータを復号し得る。符号化エンジン(532)の動作は、有利には、非可逆プロセスであり得る。符号化されたビデオデータがビデオデコーダ(図5には示されていない)で復号され得る場合、再構成されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(533)は、参照ピクチャ上でビデオデコーダによって実行され得る復号プロセスを複製し、再構成された参照ピクチャを参照ピクチャキャッシュ(534)に格納させ得る。このようにして、ビデオエンコーダ(503)は、遠端ビデオデコーダによって取得される再構成された参照ピクチャとして共通の内容を有する再構成された参照ピクチャの複製をローカルに格納し得る(送信エラーがない)。
【0050】
予測器(535)は、符号化エンジン(532)の予測検索を実行し得る。すなわち、符号化される新しいピクチャに対して、予測器(535)は、サンプルデータ(候補参照画素ブロックとして)または新しいピクチャの適切な予測参照として役立ち得る参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータについて、参照ピクチャメモリ(534)を検索し得る。予測器(535)は、適切な予測参照を見つけるために、画素ブロックごとに1つのサンプルブロックで動作し得る。場合によっては、予測器(535)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(534)に格納された複数の参照ピクチャから引き出された予測参照を有し得る。
【0051】
コントローラ(550)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(530)の符号化動作を管理し得る。
【0052】
前述のすべての機能ユニットの出力は、エントロピーコーダ(545)でエントロピー符号化を受けることがある。エントロピーコーダ(545)は、ハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換する。
【0053】
送信器(540)は、エントロピーコーダ(545)によって作成された符号化されたビデオシーケンスをバッファに入れて、通信チャネル(560)を介した送信のために準備し得、通信チャネル(560)は、符号化されたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る。送信器(540)は、ビデオコーダ(503)からの符号化されたビデオデータを、送信される他のデータ、例えば、符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージし得る。
【0054】
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理し得る。符号化中に、コントローラ(550)は、それぞれの符号化されたピクチャに特定の符号化されたピクチャタイプを割り当てることがあり、これは、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼし得る。例えば、ピクチャは多くの場合、次のピクチャタイプのいずれかとして割り当てられ得る。
【0055】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のピクチャを使用せずに符号化および復号され得るものであり得る。一部のビデオコーデックでは、例えばIndependent Decoder Refresh(「IDR」)Pictureなど、様々なタイプのイントラピクチャを使用できる。当業者は、Iピクチャのこれらの変形およびそれらのそれぞれの用途および特徴を知っている。
【0056】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。
【0057】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。同様に、複数の予測ピクチャは、単一ブロックの再構成のために3つ以上の参照ピクチャおよび関連するメタデータを使用できる。
【0058】
ソースピクチャは、一般に、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)に細分され、ブロックごとに符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定されるように、他の(すでに符号化された)ブロックを参照して予測的に符号化し得る。例えば、Iピクチャのブロックは、非予測的に符号化され得るか、または同じピクチャのすでに符号化されたブロックを参照して予測的に符号化され得る(空間予測またはイントラ予測)。Pピクチャの画素ブロックは、空間予測を介して、または以前に符号化された1つの参照ピクチャを参照する時間予測を介して、予測的に符号化され得る。Bピクチャのブロックは、空間予測を介して、または以前に符号化された1つまたは2つの参照ピクチャを参照する時間予測を介して、予測的に符号化され得る。
【0059】
ビデオエンコーダ(503)は、例えばITU-T Rec.H.265などの所定のビデオコーディング技術または標準に従って符号化動作を実行し得る。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含む、様々な圧縮動作を実行し得る。従って、符号化されたビデオデータは、使用されているビデオコーディング技術または標準によって指定されたシンタックスに準拠していることがある。
【0060】
一実施形態では、送信器(540)は、符号化されたビデオと共に追加のデータを送信し得る。ソースコーダ(530)は、符号化されたビデオシーケンスの一部としてそのようなデータを含み得る。追加データは、時間的/空間的/SNRエンハンスメント層、冗長なピクチャおよびスライスなどの他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含み得る。
【0061】
ビデオは、複数のソースピクチャ(ビデオピクチャ)として時系列に撮像されてもよい。イントラピクチャ予測(しばしばイントラ予測と略される)は、所与のピクチャにおける空間相関を利用し、ピクチャ間予測は、ピクチャ間の(時間的または他の)相関を利用する。一例では、現在ピクチャと呼ばれる、符号化/復号中の特定のピクチャがブロックに分割される。現在ピクチャ内のブロックがビデオ内の以前に符号化されてまだバッファされている参照ピクチャ内の参照ブロックに類似しているとき、現在ピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによって符号化することができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有することができる。
【0062】
いくつかの実施形態では、ピクチャ間予測に双予測技術を使用することができる。双予測技術によれば、第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用され、これらは両方ともビデオ内の現在ピクチャの復号順より前にある(しかし、表示順序は、それぞれ過去および未来のものであってもよい。)。現在ピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルによって符号化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測することができる。
【0063】
さらに、符号化効率を改善するために、ピクチャ間予測にマージモード技術を使用することができる。
【0064】
本開示のいくつかの実施形態によれば、ピクチャ間予測およびイントラピクチャ予測などの予測は、ブロック単位で実行される。例えば、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画素などの画素の値(例えば、ルマ値)の行列を含む。
【0065】
図6は、本開示の他の実施形態によるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオピクチャのシーケンス内の現在のビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、符号化されたビデオシーケンスの一部である符号化されたピクチャに符号化するように構成される。一例では、ビデオエンコーダ(603)は、図3の例のビデオエンコーダ(303)の代わりに使用される。
【0066】
HEVCの例では、ビデオエンコーダ(603)は、8×8サンプルの予測ブロックなどの処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(603)は、処理ブロックが、例えばレート歪み最適化を使用して、イントラモード、インターモード、または双予測モードを使用して最良に符号化されるか否かを判定する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(603)は、処理ブロックを符号化されたピクチャへ符号化するために、イントラ予測技術を使用し得、処理ブロックがインターモードまたは双予測モードで符号化されるとき、ビデオエンコーダ(603)は、処理ブロックを符号化されたピクチャに符号化するために、それぞれインター予測技術または双予測技術を使用し得る。特定のビデオコーディング技術では、マージモードは、予測子の外側の符号化された動きベクトル成分の恩恵を受けずに動きベクトルが1つまたは複数の動きベクトル予測子から導出されるピクチャ間予測サブモードであり得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0067】
図6の例では、ビデオエンコーダ(603)は、図6に示すように互いに結合されたインターエンコーダ(630)、イントラエンコーダ(622)、残差算出部(623)、スイッチ(626)、残差エンコーダ(624)、一般コントローラ(621)、およびエントロピーエンコーダ(625)を含む。
【0068】
インターエンコーダ(630)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照ピクチャ(例えば、前のピクチャおよび後のピクチャ内のブロック)内の1つまたは複数の参照ブロックと比較し、インター予測情報(例えば、インターコーディング技術、動きベクトル、マージモード情報による冗長情報の記述)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号される復号参照ピクチャである。
【0069】
イントラエンコーダ(622)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じピクチャ内ですでに符号化されているブロックと比較し、変換後に量子化係数を生成し、場合によってはイントラ予測情報(例えば、1つまたは複数のイントラコーディング技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(622)は、イントラ予測情報と、同一ピクチャ内の参照ブロックとに基づいて、イントラ予測結果(例えば、予測ブロック)を算出する。
【0070】
一般コントローラ(621)は、一般制御データを決定し、一般制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例では、一般コントローラ(621)は、ブロックのモードを決定し、モードに基づいてスイッチ(626)に制御信号を提供する。例えば、一般コントローラ(621)は、モードがイントラモードである場合、スイッチ(626)を制御して、残差算出部(623)が用いるイントラモード結果を選択させ、エントロピーエンコーダ(625)を制御して、イントラ予測情報を選択してビットストリームに含めさせ、モードがインターモードである場合、一般コントローラ(621)は、スイッチ(626)を制御して、残差算出部(623)が用いるインター予測結果を選択させると共に、エントロピーエンコーダ(625)を制御して、インター予測情報を選択してビットストリームに含めさせる。
【0071】
残差算出部(623)は、受信されたブロックと、イントラエンコーダ(622)またはインターエンコーダ(630)から選択された予測結果との差分(残差データ)を算出する。残差エンコーダ(624)は、残差データに基づいて動作して、変換係数を生成するために残差データを符号化するように構成される。一例では、残差エンコーダ(624)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。変換係数はその後、量子化された変換係数を得るために量子化処理を受ける。様々な実施形態において、ビデオエンコーダ(603)はまた、残差デコーダ(628)を含む。残差デコーダ(628)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(622)およびインターエンコーダ(630)によって好適に用い得る。例えば、インターエンコーダ(630)は、復号された残差データとインター予測情報とに基づいて復号されたブロックを生成することができ、イントラエンコーダ(622)は、復号残差データとイントラ予測情報とに基づいて復号されたブロックを生成することができる。いくつかの例では、復号されたブロックは、復号されたピクチャを生成するために適切に処理され、復号されたピクチャは、メモリ回路(図示せず)にバッファされ、参照ピクチャとして使用され得る。
【0072】
エントロピーエンコーダ(625)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(625)は、HEVC標準などの適切な標準に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ(625)は、一般制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報をビットストリームに含めるように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックを符号化するとき、残差情報は存在しないことに留意されたい。
【0073】
図7は、本開示の他の実施形態によるビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、符号化されたビデオシーケンスの一部である符号化されたピクチャを受信し、符号化されたピクチャを復号して再構成されたピクチャを生成するように構成される。一例では、ビデオデコーダ(710)は、図3の例のビデオデコーダ(310)の代わりに使用される。
【0074】
図7の例では、ビデオデコーダ(710)は、図7に示すように互いに結合されたエントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構成モジュール(774)、およびイントラデコーダ(772)を含む。
【0075】
エントロピーデコーダ(771)は、符号化されたピクチャから、符号化されたピクチャを構成するシンタックス要素を表す特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、後者の2つは双方向予測モード、マージサブモードまたは別のサブモード)、イントラデコーダ(772)またはインターデコーダ(780)によってそれぞれ予測に使用される特定のサンプルまたはメタデータを識別することができる予測情報(例えば、イントラ予測情報やインター予測情報など)、例えば量子化変換係数の形態の残差情報などを含むことができる。一例では、予測モードがインター予測モードまたは双方向予測モードである場合、インター予測情報はインターデコーダ(780)に提供され、予測タイプがイントラ予測タイプである場合、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報は逆量子化を受けることができ、残差デコーダ(773)に提供される。
【0076】
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0077】
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0078】
残差デコーダ(773)は、逆量子化を実行して逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(773)はまた、(量子化器パラメータ(QP)を含むために)特定の制御情報を必要とする場合があり、その情報はエントロピーデコーダ(771)によって提供される場合がある(これとして示されていないデータ経路は、低量制御情報のみであり得る)。
【0079】
再構成モジュール(774)は、空間領域において、残差デコーダ(773)による出力としての残差と、(場合によってはインターまたはイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構成ピクチャの一部であり得る再構成ブロックを形成するように構成され、再構成ブロックは再構成ビデオの一部であり得る。視覚的品質を改善するために、非ブロック化動作などの他の適切な動作を実行することができることに留意されたい。
【0080】
ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、任意の適切な技術を使用して実施することができることに留意されたい。一実施形態では、ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、1つまたは複数の集積回路を使用して実施することができる。他の実施形態では、ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、ソフトウェア命令を実行する1つまたは複数のプロセッサを使用して実施することができる。
【0081】
エントロピー符号化は、ビデオ信号が一連のシンタックス要素に縮小された後、ビデオ符号化の最終段階(またはビデオ復号の第1段階)で実行することができる。エントロピー符号化は、データを表すために使用されるビット数が、データの確率に対数的に比例するように、データを圧縮するために統計的性質を使用する可逆圧縮方式であり得る。例えば、シンタックス要素のセットにわたってエントロピー符号化を実行することにより、シンタックス要素を表すビット(ビンと呼ばれる)をビットストリーム内のより少ないビット(符号化ビットと呼ばれる)に変換することができる。コンテキストベースの適応二値算術符号化(CABAC)はエントロピー符号化の一形態である。CABACでは、確率推定を提供するコンテキストモデルは、それぞれのビンに関連するコンテキストに基づいて、一連のビン内の各ビンについて決定することができる。その後、ビットストリーム内の符号化ビットにビンのシーケンスを符号化するために、確率推定を使用して二値算術符号化プロセスを実行することができる。加えて、コンテキストモデルは、符号化されたビンに基づく新しい確率推定で更新される。
【0082】
図8Aは、一実施形態による例示的なCABACベースのエントロピーエンコーダ(800A)を示す。例えば、エントロピーエンコーダ(800A)は、図5の例のエントロピーコーダ(545)、または図6の例のエントロピーエンコーダ(625)に実装することができる。エントロピーエンコーダ(800A)は、コンテキストモデラ(810)および二値算術エンコーダ(820)を含むことができる。一例では、エントロピーエンコーダ(800A)への入力として、様々なタイプのシンタックス要素が提供される。例えば、二値シンタックス要素のビンは、コンテキストモデラ(810)に直接入力されえ、非二値シンタックス要素は、ビンストリングのビンがコンテキストモデラ(810)に入力される前に、ビンストリングに最初に2値化することができる。
【0083】
一例では、コンテキストモデラ(810)は、シンタックス要素のビンを受け取り、受け取ったビンごとにコンテキストモデルを選択するためにコンテキストモデリング処理を実行する。例えば、変換ブロック内の変換係数の二値シンタックス要素のビンが受け取られる。従って、コンテキストモデルは、例えば、シンタックス要素のタイプ、変換コンポーネントの色コンポーネントタイプ、変換係数の位置、および以前に処理された近傍の変換係数などに基づいて、このビンに対して決定することができる。コンテキストモデルは、このビンの確率推定を提供することができる。
【0084】
一例では、シンタックス要素のタイプごとにコンテキストモデルのセットを構成することができる。これらのコンテキストモデルは、図8Aに示すようにメモリ(801)に記憶されたコンテキストモデルリスト(802)に配置することができる。コンテキストモデルリスト(802)内の各エントリは、コンテキストモデルを表すことができる。リスト上の各コンテキストモデルには、コンテキストモデルインデックスまたはコンテキストインデックスと呼ばれるインデックスを割り当てることができる。さらに、各コンテキストモデルは、確率推定、または確率推定を示すパラメータを含むことができる。確率推定は、ビンが0または1である尤度を示すことができる。例えば、コンテキストモデリング中に、コンテキストモデラ(810)は、ビンのコンテキストインデックスを計算することができ、それに応じて、コンテキストモデルは、コンテキストモデルリスト(802)からのコンテキストインデックスに従って選択され、ビンに割り当てられることができる。
【0085】
さらに、コンテキストモデルリスト内の確率推定は、エントロピーエンコーダ(800A)の動作の開始時に初期化することができる。コンテキストモデルリスト(802)上のコンテキストモデルがビンに割り当てられ、ビンを符号化するために使用された後、コンテキストモデルは、更新された確率推定を有するビンの値に従ってその後更新され得る。
【0086】
一例では、二値算術エンコーダ(820)は、ビンおよびビンに割り当てられたコンテキストモデル(例えば、確率推定)を受け取り、それに応じて二値算術符号化プロセスを実行する。これにより、符号化ビットが生成され、ビットストリームで送信される。
【0087】
図8Bは、一実施形態による例示的なCABACベースのエントロピーデコーダ(800B)を示す図である。例えば、エントロピーデコーダ(800B)は、図4の例のパーサ(420)、または図7の例のエントロピーデコーダ(771)において実装することができる。エントロピーデコーダ(800B)は、二値算術デコーダ(830)と、コンテキストモデラ(840)とを含むことができる。二値算術デコーダ(830)は、ビットストリームから符号化ビットを受信し、符号化ビットからビンを復元するために二値算術復号プロセスを実行する。コンテキストモデラ(840)は、コンテキストモデラ(810)と同様に動作することができる。例えば、コンテキストモデラ(840)は、メモリ(803)に記憶されたコンテキストモデルリスト(804)内のコンテキストモデルを選択し、選択されたコンテキストモデルを二値算術デコーダ(830)に提供することができる。しかしながら、コンテキストモデラ(840)は、二値算術デコーダ(830)から復元されたビンに基づいてコンテキストモデルを決定する。例えば、復元されたビンに基づいて、コンテキストモデラ(840)は、次のデコードされるビンのシンタックス要素のタイプ、および以前にデコードされたシンタックス要素の値を知ることができる。その情報は、次の復号対象ビンのコンテキストモデルを決定するために使用される。
【0088】
一実施形態では、変換ブロックの残差信号は、最初に空間領域から周波数領域に変換され、変換係数のブロックを生じさせる。次に、変換係数のブロックを変換係数レベルのブロックに量子化するために量子化が実行される。様々な実施形態において、残差信号を変換係数レベルに変換するために異なる技術が使用されてもよい。変換係数レベルのブロックは、エントロピーエンコーダに提供され、ビットストリームのビットに符号化され得るシンタックス要素を生成するためにさらに処理される。一実施形態では、変換係数レベルからシンタックス要素を生成するプロセスは、以下のように実行することができる。
【0089】
変換係数レベルのブロックは、まず、例えば4×4の位置のサイズを有するサブブロックに分割されうる。これらのサブブロックは、所定のスキャン順序に従って処理されうる。図9は、逆対角スキャン順序と呼ばれるサブブロックスキャン順序の一例を示す。図示のように、ブロック(910)は16個のサブブロック(901)に分割される。右下隅のサブブロックが最初に処理され、左上隅のサブブロックが最後に処理される。変換係数レベルがすべて0であるサブブロックの場合、一例では、サブブロックは処理なしでスキップされ得る。
【0090】
各々が少なくとも1つの非ゼロ変換係数レベルを有するサブブロックについて、各サブブロックにおいて4回のスキャンパスを実行することができる。各パスの間に、それぞれのサブブロック内の16個の位置を逆対角スキャン順序でスキャンすることができる。図10は、変換係数のシンタックス要素の異なるタイプが生成されるサブブロックスキャンプロセス(1000)の一例を示す図である。
【0091】
サブブロック内の16個の係数位置(1010)が、図10の下部に一次元で示されている。位置(1010)は、それぞれのスキャン順序を反映して0から15まで番号付けされる。第1のパスの間に、スキャン位置(1010)がスキャンされ、各スキャン位置(1010)で3つのタイプのシンタックス要素(1001~1003)が生成されうる。
(i)それぞれの変換係数の絶対変換係数レベル(absLevelで示される)が0であるか0より大きいかを示す第1のタイプの二値シンタックス要素(1001)(有意フラグと呼ばれ、sig_coeff_flagで示される)。
(ii)それぞれの変換係数の絶対変換係数レベルのパリティを示す第2のタイプの二値シンタックス要素(1002)(パリティフラグと呼ばれ、par_level_flagによって示される)。パリティフラグは、それぞれの変換係数の絶対変換係数レベルが非ゼロの場合にのみ生成される。
(iii)(absLevel-1)>>1がそれぞれの変換係数について0より大きいかどうかを示す第3のタイプの二値シンタックス要素(1003)(より大きい1フラグと呼ばれ、rem_abs_gt 1_flagによって示される)。より大きい1フラグは、それぞれの変換係数の絶対変換係数レベルが非ゼロの場合にのみ生成される。
【0092】
第2のパスの間に、第4のタイプの二値シンタックス要素(1004)が生成されることがある。第4のタイプのシンタックス要素(1004)は、より大きい2フラグと呼ばれ、rem_abs_gt 2_flagによって表される。第4のタイプのシンタックス要素(1004)は、それぞれの変換係数の絶対変換係数レベルが4より大きいかどうかを示す。より大きい2フラグは、それぞれの変換係数について(absLevel-1)>>1が0より大きい場合にのみ生成される。
【0093】
第3のパスの間に、第5のタイプの非二値シンタックス要素(1005)が生成されることがある。第5のタイプのシンタックス要素(1005)はabs_remainderによって表され、4より大きいそれぞれの変換係数の絶対変換係数レベルの残りの値を示す。第5のタイプのシンタックス要素(1005)は、それぞれの変換係数の絶対変換係数レベルが4より大きい場合にのみ生成される。
【0094】
第4のパスの間、それぞれの変換係数レベルの符号を示す非ゼロ係数レベルを有する第6のタイプのシンタックス要素(1006)が各スキャン位置(1010)で生成されうる。
【0095】
上述した様々なタイプのシンタックス要素(1001~1006)は、パスの順序および各パスのスキャン順序に従ってエントロピーエンコーダに与えられ得る。異なるタイプのシンタックス要素を符号化するために、異なるエントロピー符号化方式を使用することができる。例えば、一実施形態では、有意フラグ、パリティフラグ、より大きい1フラグ、およびより大きい2フラグは、図8Aの例で説明したようなCABACベースのエントロピーエンコーダで符号化することができる。対照的に、第3および第4のパス中に生成されたシンタックス要素は、CABACバイパスエントロピーエンコーダ(例えば、入力ビンについて固定の確率推定を有する二値算術エンコーダ)で符号化することができる。
【0096】
コンテキストモデリングを実行して、いくつかのタイプの変換係数シンタックス要素のビンのコンテキストモデルを決定することができる。一実施形態では、コンテキストモデルは、場合によっては他の要因と組み合わせて、ローカルテンプレートおよび各現在の係数の対角位置(例えば、現在処理中の係数)に従って決定することができる。
【0097】
図11は、現在の係数のコンテキスト選択に使用されるローカルテンプレート(1130)の一例を示す。ローカルテンプレート(1130)は、係数ブロック(1110)内の現在の係数(1120)の近傍の位置または係数のセットをカバーすることができる。図11の例では、係数ブロック(1110)は8×8の位置のサイズを有し、64個の位置に係数レベルを含む。係数ブロック(1110)は、各々が4×4の位置のサイズを有する4つのサブブロックに分割される。図11の例では、ローカルテンプレート(1130)は、現在の係数(1120)の右下側の5つの係数レベルをカバーする5つの位置テンプレートであると定義される。逆対角スキャン順序が係数ブロック(1110)内のスキャン位置にわたる複数のパスに使用される場合、ローカルテンプレート(1130)内の近傍の位置は、現在の係数(1120)の前に処理される。
【0098】
コンテキストモデリング中に、ローカルテンプレート(1130)内の係数レベルの情報を使用して、コンテキストモデルが決定されうる。この目的のために、テンプレートの大きさと呼ばれる尺度は、いくつかの実施形態では、ローカルテンプレート(1130)内の変換係数または変換係数レベルの大きさを測定または示すために定義される。次いで、テンプレートの大きさは、コンテキストモデルを選択するための基礎として使用されうる。
【0099】
一例では、テンプレートの大きさは、sumAbs1によって示される、ローカルテンプレート(1130)内の部分的に再構成された絶対変換係数レベルの和であるように定義される。部分的に再構成された絶対変換係数レベルは、それぞれの変換係数のシンタックス要素、sig_coeff_flag、par_level_flag、およびrem_abs_gt 1_flagのビンに従って決定することができる。これらの3つのタイプのシンタックス要素は、エントロピーエンコーダまたはエントロピーデコーダで実行されるサブブロックのスキャン位置の第1のパスの後に取得される。一実施形態では、位置(x、y)における部分的に再構成された絶対変換係数レベルは、以下に従って決定することができる:
式(1):absLevel1[x][y]=sig_coeff_flag[x][y]+par_level_flag[x][y]+2*rem_abs_gt 1_flag[x][y]、
式中、xおよびyは、係数ブロック(1110)の左上隅に対する座標であり、absLevel1[x][y]は、位置(x、y)における部分的に復元された絶対変換係数レベルを表す。
【0100】
他の例では、テンプレートの大きさは、部分的に再構成された絶対変換係数レベルの和と、numSigによって示される、ローカルテンプレート内の非ゼロ係数の数との間の、tmplCpSum 1によって示される差であるように定義される(1130)。従って、差は以下に従って決定することができる:
式(2):tmplCpSum 1=sumAbs 1-numSig。
【0101】
他の例では、テンプレートの大きさは、変換係数または変換係数レベルの大きさを示すために他の方法で定義されてもよい。
【0102】
いくつかの実施形態では、変換係数間の相関を利用するために、図11に示すローカルテンプレートによってカバーされる以前に符号化された係数が現在の係数のコンテキスト選択で使用され、正方形のクロスハッチング(1120)を有する位置は現在の変換係数位置(x、y)を示し、対角クロスハッチングを有する位置はその5つの近隣を示す。AbsLevelPass1[x][y]が、最初のパス後の位置(x、y)における係数の部分的に再構成された絶対レベルを表し、dが、現在の係数の対角位置(d=x+y)を表し、sumAbs1が、ローカルテンプレートによってカバーされる係数の部分的に復元された絶対レベルAbsLevelPass1[x][y]の和を表すとする。シンタックス要素AbsLevelPass 1[x][y]は、シンタックス要素sig_coeff_flag[xC][yC]、abs_level_gtx_flag[n][0]、par_level_flag[n]、abs_level_gtx_flag[n][1]から計算することができ、abs_level_gtx_flag[n][0]およびabs_level_gtx_flag[n][1]は、図10の位置nにおける係数について、それぞれrem_abs_gt 1_flagおよびrem_abs_gt 2_flagとしても知られている。
【0103】
図12は、係数ブロック(1210)内の係数または係数レベルの対角位置を示す。一実施形態では、スキャン位置(x、y)の対角位置は、以下に従って定義される:
式(3):d=x+y、
式中、dは対角位置を表し、xおよびyはそれぞれの位置の座標である。各係数の対角位置dを使用して、1つまたは2つの対角位置閾値に基づいて係数ブロック(1210)内の異なる周波数領域を定義することができる。2つの例として、低周波領域(1220)は、図12に示すように、d<=3であり、一方、高周波領域(1230)はd>=11で定義される。
【0104】
いくつかの実施形態では、現在の係数のsig_coeff_flag[x][y]を符号化するとき、コンテキストモデルインデックスは、sumAbs1の値および対角位置dに応じて選択される。より具体的には、ルマコンポーネントについて図13に示すように、コンテキストモデルインデックスは、以下に従って決定される:
式(4):オフセット=min(sumAbs1,5)
式(5):ベース=18*max(0,state-1)+(d<2?12:(d<5?6:0))
式(6):ctxSig=ベース+オフセット
【0105】
クロマコンポーネントの場合、コンテキストモデルインデックスは、以下に従って決定される:
式(7):オフセット=min(sumAbs 1、5)
式(8):ベース=12*max(0、状態-1)+(d<2?6:0)
式(9):ctxSig=ベース+オフセット、
状態は、使用されるスカラ量子化器を指定し、演算子?および:は、コンピュータ言語Cと同様に定義される。依存量子化(Dependent Quantization)が有効にされている場合、状態遷移プロセスを使用して状態が導出される。そうでない場合、依存量子化は有効にされず、状態は0に等しい。
【0106】
いくつかの例では、sig_coeff_flag[x][y]を符号化するためのコンテキストモデルの数は、ルマについては54であり、クロマについては36である。従って、sig_coeff_flag[x][y]を符号化するためのコンテキストモデルの総数は90であり、VVC Draft 5などの標準化されたコンテキストモデリング方式における424個のコンテキストモデルの21%超である。
【0107】
表1は、残差符号化シンタックスの例を示す。表1において、xCは、変換ブロックにおける現在の係数のx座標に対応し、yCは、変換ブロックにおける現在の係数のy座標に対応する。
【0108】
【表1A】
【表1B】
【表1C】
【表1D】
【0109】
コンテキストモデルの数が増加すると、ハードウェアおよびソフトウェアの複雑さも増加する。そこで、符号化効率を犠牲にすることなく、コンテキストモデルの数を削減することが望まれる。特に、VVC Draft 5の標準化されたコンテキストモデリング方式では、424個のコンテキストモデルの21%を超えるため、変換係数の有意性のための符号化のためのコンテキストモデルの数を減らすことが望ましい。
【0110】
本開示の実施形態は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、本開示の実施形態による方法、エンコーダおよびデコーダの各々は、処理回路(例えば、1つまたは複数のプロセッサまたは1つまたは複数の集積回路)によって実施されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。本開示の実施形態によれば、タームブロックは、予測ブロック、符号化ブロック、または符号化ユニット(すなわち、CU)として解釈され得る。
【0111】
いくつかの実施形態によれば、領域は、連結された変換係数位置のセットとして定義される。例えば、領域は、位置閾値と呼ばれるいくつかの負でない整数d0およびd1に対してd0≦x+y<d1となるような変換係数位置(x、y)のセットである。本開示の実施形態は、以下のパラメータを有する変換係数有意フラグ(sig_coeff_flag)のエントロピーコーディング技術に適用することができる:
(i)Nは、領域ごとのコンテキストモデルの数である。1つの例示的な実施態様では、Nは4に等しい。他の例示的な実施態様では、Nは5に等しい。
(ii)d0Yおよびd1Yは、ルマ領域の対角位置閾値である。1つの例示的な実施態様では、d0Yは2であり、d1Yは5である。
(iii)d0Cはクロマ領域の対角位置閾値である。1つの例示的な実施態様では、d0Cは2である。
(iv)f(x)は、負でない整数の集合から負でない整数の集合にマッピングする単調非減少関数である。
(v)Nが5であるとき、関数f(x)の実施態様は、以下のように定義される。
f(x)=x-(x>>2)
(vi)Nが4であるとき、関数f(x)の実施態様は、以下のように定義される。
f(x)=(x+1)>>1
【0112】
いくつかの実施形態によれば、現在の係数のsig_coeff_flag[x][y]を符号化するとき、コンテキストモデルインデックスは、sumAbs 1の値および対角位置dに応じて選択される。より具体的には、図14に示すように、ルマコンポーネントについて、コンテキストモデルインデックスは、いくつかの実施形態では、以下に従って決定される:
式(10):オフセット=min(f(sumAbs 1)、N-1)
式(11):ベース=3*N*max(0、状態-1)+(d<d0Y?2*N:(d<d1Y?N:0))
式(12):ctxSig=ベース+オフセット
【0113】
クロマコンポーネントの場合、コンテキストモデルインデックスは、以下に従って決定される:
式(13):オフセット=min(f(sumAbs 1)、N-1)
式(14):ベース=2*N*max(0、状態-1)+(d<d0C?N:0)
式(15):ctxSig=ベース+オフセット
式中、状態は、依存量子化が有効にされ、状態遷移プロセスを使用して状態が導出される場合に使用されるスカラ量子化器を指定する。依存量子化が有効にされていない場合、いくつかの例では、状態は0に等しい。さらに、いくつかの実施形態では、図15に示すように、Nが4または5である場合、関数min(f(sumAbs1),N-1)はまた、f(min(sumAbs1,5))より低いハードウェア複雑度のために実装することができる。
【0114】
VVC Draft 5における標準化されたコンテキストモデリング方式は、変換係数の有意性を符号化するための90個のコンテキストモデルを有する。本開示の実施形態では、Nが5に等しいとき、コンテキストモデルの数は90から75に減少し、Nが4に等しいとき、コンテキストモデルの数は90から60に減少する。
【0115】
いくつかの実施形態によれば、負でない整数xの単調非減少関数f(x)は、以下のように定義することができる:
式(16):
【数1】
式中、
【数2】
biは整数値である。さらに、aiは、計算を減らすために0、1または-1とすることができる。
【0116】
いくつかの実施形態によれば、コンテキスト領域は対角位置dに依存するので、領域ごとのコンテキストモデルの数は対角位置dに依存して、コンテキストの数をさらに減らすことができる。例えば、(d<d0Y)、(d0Y≦d<d1Y)、(d1Y≦d<d2Y)の領域ごとのコンテキストモデルの数は、それぞれN1、N2、N3である。特に、コンテキストモデルの数は、dの値に基づいて変化し得る。この場合、コンテキストモデルインデックスは、
式(17):g1(x)=min(f1(x),N1-1)
式(18):g2(x)=min(f2(x),N2-1)
式(19):g3(x)=min(f3(x),N3-1)
式(20):ctxSig=(N1+N2+N3)*max(0,状態-1)+(d<d0Y?(N2+N3)+g1(sumAbs 1):
(d<d1Y?N3+g2(sumAbs 1):g3(sumAbs 1)))、
式中、f1(x)、f2(x)、およびf3(x)は、負でない整数xの単調非減少関数である。N1、N2およびN3の値の例は、1から16の整数値であり得る。式(17)~(20)を含む実施形態は、同じビットレートを有するコンテキストの数を減らすことによって、より柔軟性を提供する。
【0117】
本開示の代替実施形態は、以下のパラメータを有する変換係数有意フラグのエントロピーコーディング技術に適用することができる。
(i)Nは、領域ごとのコンテキストモデルの数である。この実施態様では、Nは4に等しい。
(ii)d0Yは、ルマ領域の対角位置閾値である。この実施態様では、d0Yは5である。
(iii)d0Cはクロマ領域の対角位置閾値である。この実施態様では、d0Cは2である。
(iv)Nが4である場合、非負整数xの関数f(x)は、以下のように定義される。
f(x)=(x+1)>>1
【0118】
いくつかの実施形態によれば、現在の係数のsig_coeff_flag[x][y]を符号化するとき、コンテキストモデルインデックスは、sumAbs 1および対角位置dに応じて選択され、ルマコンポーネントの場合、コンテキストモデルインデックスは、以下に従って決定される:
式(21):オフセット=min(f(sumAbs 1)、N-1)
式(22):ベース=2*N*max(0、状態-1)+(d<d0Y?N:0)
式(23):ctxSig=ベース+オフセット
【0119】
クロマコンポーネントの場合、コンテキストモデルインデックスは、以下に従って決定される。
式(24):offset=min(f(sumAbs 1)、N-1)
式(25):ベース=2*N*max(0、状態-1)+(d<d0C?N:0)
式(26):ctxSig=ベース+オフセット
式中、状態は、依存量子化が有効にされ、状態遷移プロセスを使用して状態が導出される場合に使用されるスカラ量子化器を指定する。そうでない場合、依存量子化は有効にされず、状態は0に等しい。
【0120】
いくつかの実施形態では、関数min(f(sumAbs 1),N-1)はまた、f(min(sumAbs 1,5))より低いハードウェア複雑度のために実装することができる。
【0121】
VVC Draft 5における標準化されたコンテキストモデリング方式は、変換係数の有意性を符号化するための90個のコンテキストモデルを有する。先に開示された代替の実施形態(すなわち、式(21)~(26))において、Nが4に等しいとき、コンテキストモデルの数は90から48に減少する。
【0122】
図16は、ビデオデコーダ(710)などのデコーダによって実行されるプロセスの一実施形態を示す。プロセスはステップ(S1600)から開始することができ、現在ピクチャと、現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームが受信される。一例として、少なくとも1つのシンタックスはsig_coeff_flagであってもよい。プロセスはステップ(S1602)に進み、部分的に再構成された変換係数のグループの和(x)に対して行われる単調非減少関数f(x)の出力に基づいてオフセット値が決定される。プロセスはステップ(S1604)に進み、決定されたオフセット値とベース値との和に基づいて、コンテキストモデルインデックスが決定される。一例として、コンテキストモデルインデックスは、図14および図15のいずれかに示されたプロセス、または上記で開示された代替の実施形態(すなわち、式(21)~(26))に従って決定され得る。プロセスはステップ(S1606)に進み、現在の変換係数の少なくとも1つのシンタックスについて、決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからコンテキストモデルが選択される。
【0123】
図17は、ビデオデコーダ(710)などのデコーダによって実行されるプロセスの一実施形態を示す。プロセスはステップ(S1700)から開始することができ、現在ピクチャと、現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームが受信される。一例として、少なくとも1つのシンタックスはsig_coeff_flagであってもよい。プロセスはステップ(S1702)に進み、複数のコンテキストモデル領域からの各コンテキストモデル領域について、部分的に再構成された変換係数のグループと、それぞれのコンテキストモデル領域に関連付けられたコンテキストモデルの数との和(x)に対して行われる単調非減少関数の出力が決定される。例えば、上記で開示された関数g1(x)=min(f1(x),N1-1)、g2(x)=min(f2(x),N2-1)、およびg3(x)=min(f3(x),N3-1)をそれぞれのコンテキストモデル領域に使用することができ、領域当たりのコンテキストモデルの数(すなわち、N1、N2、N3)は、変換ブロックの左上隅からの現在の係数の距離に基づいて変化する。プロセスはステップ(S1704)に進み、各コンテキストモデル領域の単調非減少関数の出力に基づいて、コンテキストモデルインデックスが決定される。プロセスはステップ(S1706)に進み、現在の変換係数の少なくとも1つのシンタックスについて、決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからコンテキストモデルが選択される。
【0124】
上記の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装され、1つまたは複数のコンピュータ可読媒体に物理的に格納され得る。例えば、図18は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(1800)を示している。
【0125】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となり得る任意の適切な機械語またはコンピュータ言語を使用して符号化して、直接または、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって変換、マイクロコード実行などを介して実行できる命令を含むコードを作成できる。
【0126】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置などを含む、様々なタイプのコンピュータまたはそのコンポーネント上で実行することができる。
【0127】
コンピュータシステム(1800)について図18に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用範囲または機能に関する制限を示唆することを意図するものではない。また、コンポーネントの構成は、コンピュータシステム(1800)の例示的な実施形態に示されるコンポーネントのいずれか1つまたは組み合わせに関連する依存性または要件を有すると解釈されるべきではない。
【0128】
コンピュータシステム(1800)は、特定のヒューマンインタフェース入力装置を含み得る。そのようなヒューマンインタフェース入力装置は、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を介して、1人または複数の人間のユーザによる入力に応答し得る。ヒューマンインタフェース装置を使用して、音声(発話、音楽、周囲音など)、画像(静止画カメラから取得されたスキャン画像、写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関連しない特定の媒体をキャプチャすることもできる。
【0129】
入力ヒューマンインタフェース装置には、キーボード(1801)、マウス(1802)、トラックパッド(1803)、タッチスクリーン(1810)、データグローブ(図示せず)、ジョイスティック(1805)、マイク(1806)、スキャナ(1807)、カメラ(1808)のうちの1つまたは複数が含まれることがある。
【0130】
コンピュータシステム(1800)はまた、特定のヒューマンインタフェース出力装置を含み得る。そのようなヒューマンインタフェース出力装置は、例えば、触覚出力、音、光、および嗅覚/味覚を通して、1人または複数の人間のユーザの感覚を刺激し得る。このようなヒューマンインタフェース出力装置は、触覚出力装置(例えば、タッチスクリーン(1810)、データグローブ(図示せず)、またはジョイスティック(1805)による触覚フィードバックが含まれることがあるが、入力装置として機能しない触覚フィードバック装置もあり得る)、オーディオ出力装置(スピーカ(1809)、ヘッドホン(図示せず)など)、視覚出力装置(それぞれがタッチスクリーン入力機能の有無にかかわらず、それぞれが触覚フィードバック機能の有無にかかわらず、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1810)など、それらの一部は、ステレオグラフィック出力、仮想現実ガラス(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段を通じて2次元視覚出力または3次元以上の出力が可能であり得る)およびプリンタ(図示せず)を含み得る。
【0131】
コンピュータシステム(1800)はまた、人間がアクセス可能な記憶装置およびそれらに関連する媒体を含むことができ、例えば、CD/DVDまたは同様の媒体(1821)を有するCD/DVD ROM/RW(1820)を含む光学媒体、サムドライブ(1822)、取り外し可能なハードドライブまたはソリッドステートドライブ(1823)、テープやフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースの装置(図示せず)などである。
【0132】
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を含まないことを理解すべきである。
【0133】
コンピュータシステム(1800)はまた、1つまたは複数の通信ネットワークへのインタフェースを含むことができる。ネットワークは、例えば、無線、有線、光であることができる。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などにすることができる。ネットワークの例は、イーサネット、ワイヤレスLANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどのためのグローバルシステムを含むセルラネットワーク、ケーブルテレビ、衛星テレビ、および地上放送テレビを含むテレビ有線または無線広域デジタルネットワーク、CANBusを含む車両および産業などを含む。特定のネットワークは通常、特定の一般データポートまたは周辺バス(1849)に取り付けられる外部ネットワークインタフェースアダプタを必要とする(例えば、コンピュータシステム(1800)のUSBポート)、その他は一般に、以下に説明するようにシステムバスに接続することによってコンピュータシステム(1800)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインタフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインタフェースなど)。これらのネットワークのいずれかを使用して、コンピュータシステム(1800)は他のエンティティと通信できる。このような通信は、一方向、受信のみ(例えば、テレビ放送)、一方向の送信のみ(例えば、特定のCANbus装置へのCANbus)、または双方向、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの通信である。上記のように、特定のプロトコルおよびプロトコルスタックをこれらのネットワークおよびネットワークインタフェースのそれぞれで使用できる。
【0134】
前述のヒューマンインタフェース装置、ヒューマンアクセス可能な記憶装置、およびネットワークインタフェースは、コンピュータシステム(1800)のコア(1840)に接続することができる。
【0135】
コア(1840)は、1つまたは複数の中央処理装置(CPU)(1841)、グラフィックス処理装置(GPU)(1842)、フィールドプログラマブルゲートエリア(FPGA)(1843)の形式の特殊なプログラム可能な処理装置、特定のタスク用のハードウェアアクセラレータ(1844)などを含むことができる。これらの装置は、読み取り専用メモリ(ROM)(1845)、ランダムアクセスメモリ(1846)、ユーザがアクセスできない内蔵ハードドライブなどの内部大容量記憶装置、SSDなど(1847)と共にシステムバス(1848)を介して接続し得る。一部のコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形式でシステムバス(1848)にアクセスすることができる。周辺装置は、コアのシステムバス(1848)に直接接続することも、周辺バス(1849)を介して接続することもできる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
【0136】
CPU(1841)、GPU(1842)、FPGA(1843)、およびアクセラレータ(1844)は、組み合わせて前述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM(1845)またはRAM(1846)に格納できる。移行データはRAM(1846)に格納することもできるが、恒久的データは例えば内部大容量記憶装置(1847)に格納できる。任意のメモリ装置の高速格納および検索は、1つまたは複数のCPU(1841)、GPU(1842)、大容量記憶装置(1847)、ROM(1845)、RAM(1846)などに密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0137】
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、またはそれらは、コンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであり得る。
【0138】
一例として、限定するものではないが、アーキテクチャ(1800)、具体的にはコア(1840)を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、上記で紹介したユーザアクセス可能な大容量記憶装置、ならびにコア内部大容量記憶装置(1847)やROM(1845)などの非一時的な性質のコア(1840)の特定の記憶装置に関連付けられた媒体であり得る。本開示の様々な実施形態を実施するソフトウェアは、そのような装置に格納され、コア(1840)によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリ装置またはチップを含むことができる。ソフトウェアは、コア(1840)、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1846)に格納されたデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従って、そのようなデータ構造を変更することとを含む、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりにまたはソフトウェアと一緒に動作することができる回路(例えば、アクセラレータ1844))に論理配線された、あるいは具体化された結果として機能を提供することができる。ソフトウェアへの参照にはロジックを含めることができ、必要に応じてその逆も可能である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のための論理を具体化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
付記A:頭字語
JEM:joint exploration model 共同探査モデル
VVC:versatile video coding 多用途ビデオ符号化
BMS:benchmark set ベンチマークセット
MV:Motion Vector 動きベクトル
HEVC:High Efficiency Video Coding 高効率ビデオ符号化
SEI:Supplementary Enhancement Information 補足エンハンスメント情報
VUI:Video Usability Information ビデオユーザビリティ情報
GOP:Groups of Pictures グループオブピクチャ
TU:Transform Units 変換ユニット
PU:Prediction Units 予測ユニット
CTU:Coding Tree Units 符号化ツリーユニット
CTB:Coding Tree Blocks 符号化ツリーブロック
PB:Prediction Blocks 予測ブロック
HRD:Hypothetical Reference Decoder 仮想参照デコーダ
SNR:Signal Noise Ratio 信号雑音比
CPU:Central Processing Units 中央処理装置
GPU:Graphics Processing Units グラフィックス処理装置
CRT:Cathode Ray Tube ブラウン管
LCD:Liquid-Crystal Display 液晶ディスプレイ
OLED:Organic Light-Emitting Diode 有機発光ダイオード
CD:Compact Disc コンパクトディスク
DVD:Digital Video Disc デジタルビデオディスク
ROM:Read-Only Memory 読み出し専用メモリ
RAM:Random Access Memory ランダムアクセスメモリ
ASIC:Application-Specific Integrated Circuit 特定用途向け集積回路
PLD:Programmable Logic Device プログラマブルロジック装置
LAN:Local Area Network ローカルエリアネットワーク
GSM:Global System for Mobile communications グローバル移動体通信システム
LTE:Long-Term Evolution ロングタームエボリューション
CANBus:Controller Area Network Bus コントローラエリアネットワークバス
USB:Universal Serial Bus ユニバーサルシリアルバス
PCI:Peripheral Component Interconnect 周辺構成要素相互接続
FPGA:Field Programmable Gate Areas フィールドプログラマブルゲートエリア
SSD:solid-state drive ソリッドステートドライブ
IC:Integrated Circuit 集積回路
CU:Coding Unit 符号化ユニット
【0139】
本開示は、いくつかの例示的な実施形態を説明しているが、本開示の範囲内にある変更、並べ替え、および様々な代替の同等物が存在する。従って、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、開示の原理を具体化し、従ってその精神および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。
【0140】
(1)ビデオデコーダにおいて実行されるビデオ復号の方法であって、方法は、現在ピクチャと、現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームを受信するステップと、部分的に再構成された変換係数のグループの和(x)に対して行われる単調非減少f(x)関数の出力に基づいて、オフセット値を決定するステップと、決定されたオフセット値とベース値との和に基づいてコンテキストモデルインデックスを決定するステップと、現在の変換係数の少なくとも1つのシンタックスについて、決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからあるコンテキストモデルを選択するステップとを含む、方法。
【0141】
(2)ベース値およびオフセット値のうちの1つは、複数のコンテキストモデルに含まれるコンテキストモデルの数に基づいて決定される、特徴(1)の方法。
【0142】
(3)方法は、現在の係数に対して依存量子化が有効とされているかどうかを決定するステップをさらに含み、現在の係数に対して依存量子化が有効とされているという決定に応答して、ベース値は量子化器の状態に基づく、特徴(2)に記載の方法。
【0143】
(4)現在の係数はルマ領域に位置し、ベース値は、変換ブロックの左上隅からの現在の係数の距離と第1の対角位置閾値との比較に基づく、特徴(3)に記載の方法。
【0144】
(5)ベース値は、距離と第2の対角位置閾値との比較にさらに基づく、特徴(4)に記載の方法。
【0145】
(6)現在の係数はクロマ領域に位置し、ベース値は、変換ブロックの左上隅からの現在の係数の距離と第1の対角位置閾値との比較に基づく、特徴(3)に記載の方法。
【0146】
(7)単調非減少関数は、x-(x>>2)として定義される、特徴(1)から(6)のいずれか1つに記載の方法。
【0147】
(8)単調非減少関数は、(x+1)>>1として定義される、特徴(1)から(6)のいずれか1つに記載の方法。
【0148】
(9)現在の係数および部分的に再構成された変換係数のグループは、変換係数の連続したセットを構成するテンプレートを形成する、特徴(1)から(8)のいずれか1つに記載の方法。
【0149】
(10)少なくとも1つのシンタックス要素は変換係数有意フラグ(sig_coeff_flag)である、特徴(1)から(9)のいずれか1つに記載の方法。
【0150】
(11)ビットストリームは、少なくとも1つのシンタックス要素を含む複数のシンタックス要素を含み、部分的に再構成された変換係数のグループの和(x)は、複数のシンタックス要素からの1つまたは複数のシンタックス要素に基づく、特徴(1)から(10)のいずれか1つに記載の方法。
【0151】
(12)ビデオデコーダにおいて実行されるビデオ復号の方法であって、方法は、現在ピクチャと、現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームを受信するステップと、複数のコンテキストモデル領域からの各コンテキストモデル領域について、部分的に再構成された変換係数のグループと、それぞれのコンテキストモデル領域に関連するコンテキストモデルの数との和(x)に対して行われる単調非減少関数の出力を決定するステップと、各コンテキストモデル領域の単調非減少関数の出力に基づいてコンテキストモデルインデックスを決定するステップと、現在の変換係数の少なくとも1つのシンタックスについて、決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからあるコンテキストモデルを選択するステップとを含む、方法。
【0152】
(13)コンテキストモデルインデックスを決定するステップは、変換ブロックの左上隅からの現在の係数の距離と、第1の対角位置閾値および第2の対角位置閾値との比較にさらに基づく、特徴(12)に記載の方法。
【0153】
(14)コンテキストモデルインデックスを決定するステップは、変換ブロックの左上隅からの現在の係数の距離と、第1の対角位置との比較にさらに基づく、特徴(12)に記載の方法。
【0154】
(15)現在ピクチャと、現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームを受信し、部分的に再構成された変換係数のグループの和(x)に対して行われる単調非減少f(x)関数の出力に基づいて、オフセット値を決定し、決定されたオフセット値とベース値との和に基づいてコンテキストモデルインデックスを決定し、現在の変換係数の少なくとも1つのシンタックスについて、決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからあるコンテキストモデルを選択するように構成された処理回路を備える、ビデオ復号のためのビデオデコーダ。
【0155】
(16)ベース値およびオフセット値のうちの1つは、複数のコンテキストモデルに含まれるコンテキストモデルの数に基づいて決定される、特徴(15)に記載のビデオデコーダ。
【0156】
(17)処理回路は、現在の係数に対して依存量子化が有効とされているかどうかを決定するようにさらに構成され、現在の係数に対して依存量子化が有効とされているという決定に応答して、ベース値は量子化器の状態に基づく、特徴(16)に記載のビデオデコーダ。
【0157】
(18)現在の係数はルマ領域に位置し、ベース値は、変換ブロックの左上隅からの現在の係数の距離と第1の対角位置閾値との比較に基づく、特徴(17)に記載のビデオデコーダ。
【0158】
(19)ベース値は、距離と第2の対角位置閾値との比較にさらに基づく、特徴(18)に記載のビデオデコーダ。
【0159】
(20)現在ピクチャと、現在ピクチャ内の変換ブロックの変換係数に対応する少なくとも1つのシンタックス要素とを含む符号化されたビデオビットストリームを受信し、複数のコンテキストモデル領域からの各コンテキストモデル領域について、部分的に再構成された変換係数のグループと、それぞれのコンテキストモデル領域に関連するコンテキストモデルの数との和(x)に対して行われる単調非減少関数の出力を決定し、各コンテキストモデル領域の単調非減少関数の出力に基づいてコンテキストモデルインデックスを決定し、現在の変換係数の少なくとも1つのシンタックスについて、決定されたコンテキストモデルインデックスに基づいて、複数のコンテキストモデルからあるコンテキストモデルを選択するように構成された処理回路を備える、ビデオ復号のためのビデオデコーダ装置。
【符号の説明】
【0160】
101 現在ブロック
200 通信システム
210 端末装置
220 端末装置
230 端末装置
250 ネットワーク
301 ビデオソースのストリーム
302 ビデオピクチャ
303 ビデオエンコーダ
304 ビデオデータ
305 ストリーミングサーバ
306 クライアントサブシステム
307 ビデオデータ
313 キャプチャサブシステム
320 電子装置
401 チャネル
410 ビデオデコーダ
412 レンダ装置
415 バッファメモリ
420 パーサ
421 シンボル
430 電子装置
431 受信器
451 スケーラ/逆変換ユニット
452 イントラピクチャ予測ユニット
453 動き補償予測ユニット
455 アグリゲータ
456 ループフィルタユニット
457 参照ピクチャメモリ
458 現在ピクチャバッファ
501 ビデオソース
503 ビデオエンコーダ/ビデオコーダ
530 ソースコーダ
532 符号化エンジン
533 ローカルビデオデコーダ
534 参照ピクチャメモリ
535 予測器
540 送信器
543 符号化されたビデオシーケンス
545 エントロピーコーダ
550 コントローラ
560 通信チャネル
603 ビデオエンコーダ
621 一般コントローラ
622 イントラエンコーダ
623 残差算出部
624 残差エンコーダ
625 エントロピーエンコーダ
626 スイッチ
628 残差デコーダ
630 インターエンコーダ
710 ビデオデコーダ
771 エントロピーデコーダ
772 イントラデコーダ
773 残差デコーダ
774 再構成モジュール
780 インターデコーダ
800A エントロピーエンコーダ
800B エントロピーデコーダ
801 メモリ
802 コンテキストモデルリスト
803 メモリ
804 コンテキストモデルリスト
810 コンテキストモデラ
820 二値算術エンコーダ
830 二値算術デコーダ
840 コンテキストモデラ
1000 サブブロックスキャンプロセス
1130 ローカルテンプレート
1800 コンピュータシステム
1801 キーボード
1802 マウス
1803 トラックパッド
1805 ジョイスティック
1806 マイク
1807 スキャナ
1808 カメラ
1809 スピーカ
1810 タッチスクリーン
1821 媒体
1822 サムドライブ
1823 ソリッドステートドライブ
1840 コア
1843 フィールドプログラマブルゲートエリア(FPGA)
1844 アクセラレータ
1845 読み取り専用メモリ(ROM)
1846 ランダムアクセスメモリ(RAM)
1847 内部大容量記憶装置
1848 システムバス
1849 周辺バス
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18