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

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

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

特開2024-69302変換係数に対する符号マップの改善されたエントロピーコーディング
<>
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図1A
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図1B
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図2
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図3
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図4
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図5
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図6
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図7
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図8
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図9
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図10
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図11
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図12
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図13
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図14
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図15
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図16
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図17
  • 特開-変換係数に対する符号マップの改善されたエントロピーコーディング 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024069302
(43)【公開日】2024-05-21
(54)【発明の名称】変換係数に対する符号マップの改善されたエントロピーコーディング
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240514BHJP
   H04N 19/60 20140101ALI20240514BHJP
   H04N 19/186 20140101ALI20240514BHJP
【FI】
H04N19/70
H04N19/60
H04N19/186
【審査請求】有
【請求項の数】7
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024032972
(22)【出願日】2024-03-05
(62)【分割の表示】P 2022560384の分割
【原出願日】2022-01-28
(31)【優先権主張番号】17/573,059
(32)【優先日】2022-01-11
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/175,869
(32)【優先日】2021-04-16
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】マドゥー・ペリンガーサリー・クリシュナン
(72)【発明者】
【氏名】シン・ジャオ
(72)【発明者】
【氏名】シャン・リュウ
(57)【要約】
【課題】変換係数の符号値のエントロピー符号化の実施のための方法、装置及びコンピュータ可読記憶媒体が提供される。
【解決手段】本方法は、ビデオデータのコーディングされたビデオビットストリームから第1の変換係数を含む第1のデータブロックを受け取るステップと、コンテキスト情報に基づいて第1の変換係数の符号値のエントロピー復号を行うステップであって、コンテキスト情報は、ビデオデータの第2のデータブロックの第2の変換係数の符号値に基づいて導出され、第2のデータブロックは、第1のデータブロックと同一位置にあり、同一位置にあることは、異なるチャネルの2つのデータブロックが同一空間位置に位置することを指す、ステップとを含む。
【選択図】図17
【特許請求の範囲】
【請求項1】
ビデオデータを復号する方法であって、
前記ビデオデータのコーディングされたビデオビットストリームから第1の変換係数を含む第1のデータブロックを受け取るステップと、
コンテキスト情報に基づいて前記第1の変換係数の符号値のエントロピー復号を行うステップであって、前記コンテキスト情報は、前記ビデオデータの第2のデータブロックの第2の変換係数の符号値に基づいて導出され、前記第2のデータブロックは、前記第1のデータブロックと同一位置にあり、同一位置にあることは、異なるチャネルの2つのデータブロックが同一空間位置に位置することを指す、ステップと
を含む方法。
【請求項2】
前記第1のデータブロックがCbのコーディングされたブロックを含み、かつ前記第2のデータブロックがCrのコーディングされたブロックを含む、又は
前記第1のデータブロックがCrのコーディングされたブロックを含み、かつ前記第2のデータブロックがCbのコーディングされたブロックを含む、請求項1に記載の方法。
【請求項3】
前記第1の変換係数が直流(DC)変換係数を含む、請求項1に記載の方法。
【請求項4】
コンテキスト情報に基づいて前記第1の変換係数の符号値のエントロピー復号を行う前記ステップは、
前記第1の変換係数がDC変換係数を含む場合にだけ、前記コンテキスト情報に基づいて前記第1の変換係数の前記符号値の前記エントロピー復号を行うステップであって、前記コンテキスト情報は、前記ビデオデータの前記第2のデータブロックの前記第2の変換係数の前記符号値に基づいて導出され、前記第2のデータブロックは、前記第1のデータブロックと同一位置にある、ステップ
を含む、請求項1に記載の方法。
【請求項5】
前記第1の変換係数は、変換ドメインにおいて既定の周波数範囲内にある、請求項1から4のいずれか一項に記載の方法。
【請求項6】
コンテキスト情報に基づいて前記第1の変換係数の符号値のエントロピー復号を行う前記ステップは、
前記第1の変換係数が前記変換ドメインにおいて前記既定の周波数範囲内にある場合にだけ、前記コンテキスト情報に基づいて前記第1の変換係数の前記符号値の前記エントロピー復号を行うステップであって、前記コンテキスト情報は、前記ビデオデータの前記第2のデータブロックの前記第2の変換係数の前記符号値に基づいて導出され、前記第2のデータブロックは、前記第1のデータブロックと同一位置にある、ステップ
を含む、請求項5に記載の方法。
【請求項7】
前記既定の周波数範囲は、既定の周波数以下である、請求項5に記載の方法。
【請求項8】
前記第1の変換係数及び前記第2の変換係数がDC変換係数であり、
前記コンテキスト情報は、前記第1のデータブロックの、少なくとも1つの近傍データブロックの、少なくとも1つのDC変換係数に対応する少なくとも1つの符号値にさらに基づいて導出される、請求項1に記載の方法。
【請求項9】
前記第1の変換係数及び前記第2の変換係数がDC変換係数であり、
前記コンテキスト情報は、前記第1のデータブロックの、少なくとも1つの近傍データブロックの、少なくとも1つのDC変換係数に対応する少なくとも1つの符号値の加重平均にさらに基づいて導出される、請求項1に記載の方法。
【請求項10】
前記第1のデータブロックの前記少なくとも1つの近傍データブロックは、
前記第1のデータブロックの上の近傍データブロック、又は
前記第1のデータブロックの左の近傍データブロック
のうちの少なくとも1つを含む、請求項9に記載の方法。
【請求項11】
デコーダでビデオデータを復号する方法であって、
前記ビデオデータのコーディングされたビデオビットストリームを受け取るステップと、
前記コーディングされたビデオビットストリームから第1の信号を抽出するステップであって、前記第1の信号は、第1のデータブロックの第1の変換係数と、前記第1のデータブロックと同一位置にある第2のデータブロックの関連する第2の変換係数とが同じ符号値を有するか否かを示す、ステップと、
前記第1の信号に基づいて前記第1の変換係数及び前記第2の変換係数のターゲット符号値を導出するステップと
を含む方法。
【請求項12】
前記第1の変換係数と前記関連する第2の変換係数とが前記同じ符号値を有することを前記第1の信号が示すことに応答して、前記コーディングされたビデオビットストリームから第2の信号を抽出するステップであって、前記第2の信号は、前記ターゲット符号値の符号値を示す、ステップ
をさらに含み、
前記第1の信号に基づいて前記第1の変換係数及び前記第2の変換係数のターゲット符号値を導出する前記ステップは、
前記第1の信号及び前記第2の信号に基づいて前記第1の変換係数及び前記第2の変換係数のターゲット符号値を導出するステップ
を含む、請求項11に記載の方法。
【請求項13】
前記第1のデータブロックがCbのコーディングされたブロックを含み、かつ前記第2のデータブロックがCrのコーディングされたブロックを含む、又は
前記第1のデータブロックがCrのコーディングされたブロックを含み、かつ前記第2のデータブロックがCbのコーディングされたブロックを含む、請求項11に記載の方法。
【請求項14】
デコーダでビデオデータを復号する方法であって、
前記ビデオデータのコーディングされたビデオビットストリームを受け取るステップと、
前記コーディングされたビデオビットストリームから信号を抽出するステップであって、前記信号は、第1のデータブロックのサブブロックの変換係数の符号値の各々が第2のデータブロックのサブブロックの関連する変換係数の符号値に等しいか否かを示し、第1のデータブロックの前記サブブロックは、第2のデータブロックの前記サブブロックと同一位置にある、ステップと、
前記第1のデータブロックの前記サブブロックの前記変換係数の前記符号値の各々が前記第2のデータブロックの前記サブブロックの前記関連する変換係数の前記符号値に等しいことを前記信号が示すことに応答して、
前記第2のデータブロックの前記サブブロックの前記関連する変換係数の前記符号値に基づいて前記第1のデータブロックの前記サブブロックの前記変換係数の前記符号値の各々を導出するステップと
を含む方法。
【請求項15】
前記第1のデータブロックがCbのコーディングされたブロックを含み、かつ前記第2のデータブロックがCrのコーディングされたブロックを含む、又は
前記第1のデータブロックがCrのコーディングされたブロックを含み、かつ前記第2のデータブロックがCbのコーディングされたブロックを含む、請求項14に記載の方法。
【請求項16】
前記第1のデータブロックの前記サブブロックが前記第1のデータブロックと一致し、前記第2のデータブロックの前記サブブロックが前記第2のデータブロックと一致する、請求項14に記載の方法。
【請求項17】
前記第1のデータブロック又は前記第2のデータブロックの前記サブブロックのサイズは、4×4、4×8、8×4、4×16、16×4、8×8、8×16、16×8、8×32、32×8、16×64、64×16、16×16、16×32、32×16、32×32、32×64、64×32又は64×64のうちの1つを含む、請求項14に記載の方法。
【請求項18】
請求項1から4又は8から17のいずれか一項に記載の方法を実施するように構成された回路を備える装置。
【請求項19】
請求項5に記載の方法を実施するように構成された回路を備える装置。
【請求項20】
非一時的コンピュータ可読プログラム媒体を備えたコンピュータプログラム製品であって、前記非一時的コンピュータ可読プログラム媒体にはコンピュータコードが記憶され、前記コンピュータコードは、1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、請求項1から4又は8から17のいずれか一項に記載の方法を実施させる、コンピュータプログラム製品。
【請求項21】
非一時的コンピュータ可読プログラム媒体を備えたコンピュータプログラム製品であって、前記非一時的コンピュータ可読プログラム媒体にはコンピュータコードが記憶され、前記コンピュータコードは、1つ以上のプロセッサによって実行されるとき、前記1つ以上のプロセッサに、請求項5に記載の方法を実施させる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
参照による援用
本出願は、2021年4月16日に出願された米国仮出願第63/175,869号と、2022年1月11日に出願された通常の米国出願第17/573,059号とを基礎にして、これらの出願の優先権の利益を主張する。双方の出願の全体が参照によって本明細書に援用される。
【0002】
本開示では最新のビデオコーディング技術の集合を説明する。特に、開示されている技術は変換係数の符号値のエントロピー符号化の実施に関する。
【背景技術】
【0003】
本明細書に記載されている本背景技術の説明は開示の背景を概略的に示すためのものである。本背景技術の記載箇所で説明されている範囲において、現時点で氏名が掲載されている発明者の成果と、その他、本出願の出願時の先行技術としての地位を獲得し得ない説明の態様とは、本開示に対する先行技術として明示的にも黙示的にも自認されるものではない。
【0004】
ビデオのコーディング及び復号は動き補償とともにピクチャ間予測を用いて実行することができる。圧縮されていないデジタルビデオはピクチャ列を含む場合があり、各ピクチャは所定の空間的大きさを持ち、たとえば1920×1080個の輝度サンプル、及び関連する全色度サンプル又はサブサンプリングによる色度サンプルという空間的大きさを持つ。ピクチャ列は、不変であったり可変であったりするピクチャレート(フレームレートとも別称される)を持ち、たとえば毎秒60ピクチャすなわち毎秒60フレームのピクチャレート持つ場合がある。圧縮されていないビデオにはストリーミングやデータ処理に対する特定のビットレート要件がある。たとえば、画素解像度が1920×1080、フレームレートが毎秒60、クロマサブサンプリングが色チャネル1つにつき1画素あたり8ビットで4:2:0であるビデオは約1.5Gbit/sの帯域幅を要する。このようなビデオ1時間には600GByte以上の記憶領域が必要である。
【0005】
ビデオのコーディング及び復号の目的の1つは、圧縮によって圧縮された入力ビデオ信号の冗長さを削減することであるといえる。圧縮は、上述の帯域幅要件及び/又は記憶領域要件を緩和するのに有用であるといえ、場合によっては、2桁以上緩和するのに有用であるといえる。可逆圧縮と非可逆圧縮との両方と、これらの組合せとを用いることができる。可逆圧縮とは、圧縮された元の信号から復号プロセスを介して元の信号の厳密な複製を再構成することができる手法を指す。非可逆圧縮とは、コーディングの際に元のビデオ情報が完全には保持されず、復号の際に完全には復元することができないコーディング/復号プロセスを指す。非可逆圧縮を用いると、再構成された信号は元の信号とは同一ではない場合があるが、元の信号と再構成された信号との間の歪みは、多少の情報の欠落があるが、再構成された信号が意図した用途に用いることができるようになる程度に十分小さくなる。ビデオの場合には、多くの用途に非可逆圧縮が広く用いられている。容認可能な歪みの量は用途に依存する。たとえば、特定の民生用ストリーミング用途のユーザは映画用途やテレビ放送用途のユーザよりも大きい歪みを容認する場合がある。特定のコーディングアルゴリズムによって実現可能な圧縮率を、様々な歪み許容量を反映するように選択したり調節したりすることができる。すなわち、容認可能な歪みが大きいと、通常、大規模な欠落と高い圧縮率をもたらすコーディングアルゴリズムが可能になる。
【0006】
たとえば動き補償、フーリエ変換、量子化やエントロピーコーディングを含む、いくつかの幅広いカテゴリ及びステップから得られる手法をビデオエンコーダ及びデコーダに利用することができる。
【0007】
ビデオコーデック技術はイントラコーディングとして知られている手法を含むことができる。イントラコーディングでは、以前に再構成された参照ピクチャからサンプル又はその他データを参照せずにサンプル値を表現する。いくつかのビデオコーデックでは、ピクチャをサンプルのブロックに空間的に細分する。サンプルのすべてのブロックをイントラモードでコーディングする場合、当該ピクチャをイントラピクチャと称することができる。イントラピクチャと、独立デコーダリフレッシュピクチャなどのその派生とを用いてデコーダの状態をリセットすることができるので、これを、コーディングされたビデオビットストリームやビデオセッションの最初の画像として用いたり、静止画像として用いたりすることができる。その後、イントラ予測の後のブロックのサンプルが周波数ドメインへの変換を受けることが可能であり、そのように生成された変換係数をエントロピーコーディングの前に量子化することができる。イントラ予測は、変換前のドメインでサンプル値を最小限にする手法を代表するものである。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、エントロピーコーディング後のブロックを表す、所与の量子化ステップで必要なビットのサイズが小さくなる。
【0008】
たとえばMPEG-2世代のコーディング手法で知られているコーディングなどの従来のイントラコーディングではイントラ予測を用いていない。しかし、いくつかのより新規のビデオ圧縮手法は、たとえば、空間的に近傍にあるものの符号化及び/又は復号の際に得られる周囲のサンプルデータ及び/又はメタデータや、イントラコーディング又は復号されたデータのブロックに復号順で先行する周囲のサンプルデータ及び/又はメタデータに基づいてブロックのコーディング/復号を試みる手法を含む。以下、このような手法を「イントラ予測」手法と称する。少なくともいくつかの例では、イントラ予測で、再構成中のカレントピクチャの参照データしか用いず、他の参照ピクチャの参照データは用いないことに留意する。
【0009】
多くの異なる形態のイントラ予測が存在することが可能である。このような手法の1つ以上を所与のビデオコーディング技術に利用可能である場合、用いられる手法をイントラ予測モードと称することができる。1つ以上のイントラ予測モードを特定のコーデックで行ってもよい。いくつかの例では、モードは下位モードを有することができかつ/又は様々なパラメータと関連してもよく、モード/下位モード情報とビデオのブロックのイントラコーディングパラメータとを個別にコーディングしたりモードコードワードにまとめて含ませたりすることができる。所与のモード、下位モード及び/又はパラメータの組合せにどのコードワードを用いるかによって、イントラ予測によるコーディング効率の向上に影響を及ぼすことができるので、コードワードをビットストリームに変換するのに用いられるエントロピーコーディング技術に影響を及ぼすことができる。
【0010】
イントラ予測の特定のモードがH.264から導入され、H.265で改良され、JEM(joint exploration model)、VVC(versatile video coding)、BMS(benchmark set)などの新規のコーディング技術でさらに改良された。通常、イントラ予測では、利用可能になっている近傍サンプルの値を用いて予測値ブロックを形成することができる。たとえば、所定の方向及び/又はラインに沿って並ぶ近傍サンプルの特定の集合の利用可能な値を複製して予測値ブロックに入れてもよい。用いられている方向の方の参照値をそのビットストリームにおいてコーディングすることができるし、参照値そのものを予測してもよい。
【0011】
図1Aを参照して、H.265の可能な33個のイントラ予測値方向(H.265に記載されている35個のイントラモードの33個のアンギュラモードに対応する)で指定される9つの予測値方向の部分集合が右下に示されている。矢印が集まる点(101)は予測中のサンプルを表す。矢印は、近傍サンプルを用いて101のサンプルを予測する方向を表す。たとえば、矢印(102)は、水平方向から45度の角度で、1つ以上の近傍サンプルから右上に向かってサンプル(101)を予測することを示す。同様に、矢印(103)は、水平方向から22.5度の角度で、1つ以上の近傍サンプルからサンプル(101)の左下に向かってサンプル(101)を予測することを示す。
【0012】
引き続き図1Aを参照して、左上には4×4個のサンプルの正方形ブロック(104)が示されている(太い破線で示されている)。正方形ブロック(104)は16個のサンプルを含み、各々には、「S」と、サンプルのY次元の位置(たとえば行インデックス)と、サンプルのX次元の位置(たとえば列インデックス)とを含む指標が付されている。たとえば、サンプルS21は、(上から)Y次元において2番目のサンプルであって、(左から)X次元において1番目のサンプルである。同様に、サンプルS44はY次元とX次元との両方においてブロック(104)中で4番目のサンプルである。ブロックのサイズが4×4サンプルであれば、S44は右下にある。同様の番号の付け方にしたがった参照サンプルの例がさらに示されている。参照サンプルには、Rと、ブロック(104)に対する参照サンプルのY位置(たとえば行インデックス)及びX位置(列インデックス)とを含む指標が付されている。H.264でもH.265でも、再構成中にブロックの近傍にあって隣接する予測サンプルが用いられる。
【0013】
シグナリングされた予測方向にしたがって近傍サンプルから参照サンプル値を複製することからブロック104のピクチャ内予測を開始することができる。たとえば、当該ブロック104について、矢印(102)の予測方向を示すシグナリングを、コーディングされたビデオビットストリームが含むと仮定する。すなわち、水平方向から45度の角度で、1つ以上の予測サンプルから右上に向かってサンプルを予測することを示すシグナリングを、コーディングされたビデオビットストリームが含むと仮定する。このような場合、同じ参照サンプルR05からサンプルS41,S32,S23及びS14を予測する。その後、サンプルS44を参照サンプルR08から予測する。
【0014】
いくつかの例では、特に方向を45度で均等に分割することができない場合、参照サンプルを計算するために、複数の参照サンプルの値をたとえば内挿を通じて組み合せてもよい。
【0015】
ビデオコーディング技術が発展し続けるのに応じて、可能な方向の個数が増大してきた。H.264(2003年)では、たとえば、異なる9つの方向をイントラ予測に利用可能である。これがH.265(2013年)では33個まで増加したが、JEM/VVC/BMSが本開示時点で最大65個の方向をサポートすることができる。最適なイントラ予測方向を特定するのを支援するために実験的考察が行われてきたが、少数のビットの場合のこのような最適な方向を符号化するのに、方向についてのビットのなんらかの不利益を許容しつつ、エントロピーコーディングのいくつかの技術を用いることができる。さらに、場合によっては、復号されている近傍のブロックのイントラ予測で用いられる近傍の方向から方向そのものを予測することができる。
【0016】
図1BはJEMにしたがう65個のイントラ予測方向を示す概略図(180)を示しており、日進月歩の様々な符号化技術の多数の予測方向が示されている。
【0017】
コーディングされたビデオビットストリームにおいてイントラ予測方向を表すビットを予測方向にマッピングする仕方はビデオコーディング技術が変わると異なる場合があり、このマッピングの仕方は、たとえば、予測方向の単純な直接マッピングから、イントラ予測モード、コードワード、最も可能性が高いモードをもたらす複雑な適合方式などの手法にまで及ぶことができる。しかし、すべての場合において、いくつかの方向よりもビデオコンテンツで統計的に起こる確からしさが低いイントロ予測のいくつかの方向が存在し得る。ビデオ圧縮の目的が冗長さの削減であるので、このような確からしさが低い方向は、ビデオコーディング技術が適切に設計されている場合、確からしさがより高い方向よりも多数のビットによって表現される場合がある。
【0018】
ピクチャ間予測(すなわちインター予測)は動き補償に基づいてもよい。動き補償では、以前に再構成されたピクチャ又はその一部(参照ピクチャ)から得られるサンプルデータを、動きベクトル(以下、MV)によって示される方向に空間的にシフトした後、新たに再構成されたピクチャ又はピクチャの部分(たとえばブロック)の予測に用いてもよい。場合によっては、参照ピクチャが、再構成が行われている時点のピクチャと同じである場合がある。MVは2つの次元X及びY又は3つの次元を持ってもよく、第3の次元は用いられている参照ピクチャに関する指標である(時間次元に類するもの)。
【0019】
いくつかのビデオ圧縮技術では、サンプルデータの、ある領域に適用可能なカレントMVを他のMVから予測することができ、たとえば、再構成中の領域に空間的に隣接する、サンプルデータの他の領域に関連し、復号順でカレントMVに先行する当該他のMVから予測することができる。このようにすることで、相関するMVの冗長さが取り除かれることに応じてMVをコーディングするのに必要なデータの総量を実質的に削減することができ、これにより、圧縮効率を上げることができる。たとえば、カメラから得られた入力ビデオ信号(未加工ビデオと呼ばれている)をコーディングする場合、1つのMVを適用可能な領域よりも大きい領域がビデオシーケンス中で同様の方向に移動することから、場合によっては、近傍の領域のMVから導出された同様の動きベクトルを用いて当該領域を予測することができるという統計的確からしさが存在するので、MV予測は効果的に機能することができる。その結果、所与の領域の実際のMVが周囲のMVから予測されたMVと同様になったり同一になったりする。エントロピーコーディングの後、MVを近傍の1つ以上のMVから予測せずに直接コーディングする場合に用いられることになるビット数よりも少ないビット数で上記のMVを表現することができる。いくつかの例では、MV予測は、元の信号(すなわちサンプルストリーム)から信号(すなわちMV)の可逆圧縮が導出されるという例であることが可能である。他の例では、たとえば、周囲のいくつかのMVから予測値を計算するときの丸め誤差によりMV予測そのものが不可逆になる場合がある。
【0020】
様々なMV予測メカニズムがH.265/HEVC(ITU-T Rec. H.265,“High Efficiency Video Coding”,December 2016)で説明されている。H.265に記載されている多くのMV予測メカニズムのうちから、以下「空間的マージ」と称する技術を以下で説明する。
【0021】
具体的には、図2を参照して、カレントブロック(201)は、動き探索プロセスの際にエンコーダによって検知されて、空間的にシフトされた同じサイズの以前のブロックから予想可能であるサンプルを含む。当該MVを直接コーディングする代わりに、1つ以上の参照ピクチャに関連づけられたメタデータからMVを導出することができ、たとえば、A0,A1及びB0,B1,B2(それぞれ202~206)で示されている周囲の5つのサンプルのいずれか1つに関連づけられたMVを用いて、最新(復号順)の参照画像からMVを導出することができる。H.265において、MV予測では、近傍のブロックが用いる同じ参照ピクチャから得られる予測値を用いることができる。
【発明の概要】
【課題を解決するための手段】
【0022】
本開示の態様では、ビデオ符号化及び復号のための方法及び装置を提供する。いくつかの例で追加説明を行う。
【0023】
本開示の態様では、ビデオ復号及び/又は符号化のためにコンピュータによって実行されるときにビデオ復号及び/又は符号化のための方法をコンピュータに実行させる命令を記憶する非一時的コンピュータ可読媒体も提供する。
【0024】
以下の詳細な説明と添付の図面とから、開示されている保護対象のさらなる特徴、性質及び様々な効果がより明らかになる。
【図面の簡単な説明】
【0025】
図1A】イントラ予測方向モードの典型的な部分集合の概略図を示す。
図1B】典型的なイントラ予測方向の図を示す。
図2】一例におけるカレントブロックと、動きベクトル予測に用いられる、カレントブロックの周囲の空間的マージ候補との概略図を示す。
図3】一実施形態に係る通信システム(300)の簡略ブロック図の概略図を示す。
図4】一実施形態に係る通信システム(400)の簡略ブロック図の概略図を示す。
図5】一実施形態に係るビデオデコーダの簡略ブロック図の概略図を示す。
図6】一実施形態に係るビデオエンコーダの簡略ブロック図の概略図を示す。
図7】別の実施形態に係るビデオエンコーダのブロック図を示す。
図8】別の実施形態に係るビデオデコーダのブロック図を示す。
図9】本開示の実施形態に係る方向イントラ予測モードを示す。
図10】本開示の実施形態に係る方向性を持たないイントラ予測モードを示す。
図11】本開示の実施形態に係る再帰的イントラ予測モードを示す。
図12】本開示の実施形態に係るイントラ予測ブロックの変換ブロックの分割及びスキャンを示す。
図13】本開示の実施形態に係るインター予測ブロックの変換ブロックの分割及びスキャンを示す。
図14】本開示の実施形態に係る線グラフ変換(LGT)の例を示す。
図15】本開示の実施形態に係る同一位置の変換係数、同一位置のサブブロック及び同一位置のブロックの例を示す。
図16】本開示の実施形態に係る共有シグナリングの例を示す。
図17】本開示の一実施形態に係る方法のフローチャートを示す。
図18】本開示の実施形態に係るコンピュータシステムの概略図を示す。
【発明を実施するための形態】
【0026】
図3は本開示の一実施形態に係る通信システム(300)の簡略ブロック図を示す。通信システム(300)は、互いとたとえばネットワーク(350)を介して通信することができる複数の端末デバイスを含む。たとえば、通信システム(300)はネットワーク(350)を介して相互接続されている端末デバイス(310)及び(320)の第1のペアを含む。図3の例では、端末デバイス(310)及び(320)の第1のペアはデータの一方向伝送を行ってもよい。たとえば、端末デバイス(310)はネットワーク(350)を介して他の端末デバイス(320)に送信するためにビデオデータ(たとえば、端末デバイス(310)によってキャプチャされたビデオピクチャのストリームのビデオデータ)をコーディングしてもよい。符号化されたビデオデータを1つ以上のコーディングされたビデオビットストリームとして送信することができる。端末デバイス(320)はコーディングされたビデオデータをネットワーク(350)から受信し、コーディングされたビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに応じたビデオピクチャを表示することができる。メディア提供アプリケーションなどで一方向データ伝送を実施してもよい。
【0027】
別の例では、通信システム(300)は、たとえばテレビ会議に適用する際に実施される場合があるコーディングされたビデオデータの双方向伝送を行う端末デバイス(330)及び(340)の第2のペアを含む。データの双方向伝送の場合、一例であるが、端末デバイス(330)及び(340)の各端末デバイスはネットワーク(350)を介して端末デバイス(330)及び(340)のうちの他方の端末デバイスに送信するために、ビデオデータ(たとえば、端末デバイスによってキャプチャされたビデオピクチャのストリームのビデオデータ)をコーディングしてもよい。端末デバイス(330)及び(340)の各端末デバイスは、端末デバイス(330)及び(340)のうちの他方の端末デバイスによって送信されたコーディングされたビデオデータの受信も行ってもよく、コーディングされたビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに応じたビデオピクチャを、アクセス可能な表示装置で表示してもよい。
【0028】
図3の例では、端末デバイス(310),(320),(330)及び(340)をサーバ、パーソナルコンピュータ及びスマートフォンとして実施することができるが、本開示の根本原理の適用範囲はこのようには限定されないといえる。本開示の実施形態を、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、ウェアラブルコンピュータ、専用のテレビ会議機器及び/又は類似物で実施してもよい。ネットワーク(350)は、たとえば配線(有線)及び/又は無線通信ネットワークを含む、端末デバイス(310),(320),(330)及び(340)間で、コーディングされたビデオデータを伝達する任意の個数のネットワークや任意のタイプのネットワークを表す。通信ネットワーク(350)9は回線交換チャネル、パケット交換チャネル及び/又は他のタイプのチャネルでデータを交換してもよい。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び/又はインターネットを含む。本例の説明上、本出願で明示的に説明されない限り、ネットワーク(350)のアーキテクチャ及びトポロジは本開示の動作に重要ではない場合がある。
【0029】
図4は、開示されている保護対象に適用する例として、ビデオストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示されている保護対象は、たとえば、テレビ会議、デジタルテレビ放送、ゲーム、仮想現実、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮されたビデオの記憶などを含むビデオの他の適用例に同様に適用可能であってもよい。
【0030】
ビデオストリーミングシステムは、圧縮されていないビデオピクチャ又は画像のストリーム(402)を生成するビデオソース(401)、たとえばデジタルカメラを含むことができるビデオキャプチャサブシステム(413)を含んでもよい。一例では、ビデオピクチャのストリーム(402)はビデオソース(401)のデジタルカメラによって記録されるサンプルを含む。符号化されたビデオデータ(404)(すなわちコーディングされたビデオビットストリーム)と比較する場合にデータ量が多いことを強調するためにビデオピクチャのストリーム(402)を太線で示しているが、そのビデオピクチャのストリーム(402)を、ビデオソース(401)に接続されているビデオエンコーダ(403)を含む電子デバイス(420)によって処理することができる。ビデオエンコーダ(403)は、以降で詳細に説明されている、開示されている保護対象の態様を可能にしたり実施したりするハードウェア、ソフトウェア又はこれらの組合せを含むことができる。圧縮されていないビデオピクチャのストリーム(402)と比較する場合にデータ量が少ないことを強調するために、符号化されたビデオデータ(404)(すなわち符号化されたビデオビットストリーム(404))を細線で示しているが、この符号化されたビデオデータ(404)を、後の使用のためにストリーミングサーバ(405)に記憶したりダウンストリームビデオデバイス(図示せず)に直接記憶したりすることができる。図4のクライアントサブシステム(406)及び(408)などの1つ以上のストリーミングクライアントサブシステムはストリーミングサーバ(405)にアクセスして、符号化されたビデオデータ(404)の複製(407)及び複製(409)を取得することができる。クライアントサブシステム(406)は、たとえば電子デバイス(430)中にあるビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は符号化されたビデオデータの複製(407)を入力して復号し、また、圧縮されておらず、かつディスプレイ(412)(たとえば表示画面)又はその他描画するデバイス(図示せず)に描画することができるビデオピクチャの出力ストリーム(411)を生成する。ビデオデコーダ410を、本開示で説明されている様々な機能の一部又は全部を実行するように構成してもよい。いくつかのストリーミングシステムでは、符号化されたビデオデータ(404),(407)及び(409)(たとえばビデオビットストリーム)を特定のビデオコーディング/圧縮標準にしたがって符号化することができる。このような標準の例にはITU-T勧告H.265が含まれる。一例では、開発中のビデオコーディング標準が非公式にはVVC(Versatile Video Coding)として知られている。開示されている保護対象をVVCや他のビデオコーディング標準を前提として用いてもよい。
【0031】
電子デバイス(420)及び(430)が他の構成要素(図示せず)を含むことができることに留意する。たとえば、電子デバイス(420)がビデオデコーダ(図示せず)を含むことができ、同様に、電子デバイス(430)がビデオエンコーダ(図示せず)を含むことができる。
【0032】
図5は後述の本開示のいずれかの実施形態に係るビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)を電子デバイス(530)に含ませることができる。電子デバイス(530)は受信器(531)(たとえば受信回路)を含むことができる。ビデオデコーダ(510)を図4の例のビデオデコーダ(410)の代わりに用いることができる。
【0033】
受信器(531)は、ビデオデコーダ(510)によって復号されることになる1つ以上のコーディングされたビデオシーケンスを受信してもよい。一度に1つのコーディングされたビデオシーケンスを同じ実施形態で復号したり別の実施形態で復号したりしてもよく、コーディングされた各ビデオシーケンスの復号は他のコーディングされたビデオシーケンスとは独立する。各ビデオシーケンスが複数のビデオフレーム又は画像に関連してもよい。コーディングされたビデオシーケンスをチャネル(501)から受信してもよく、チャネル(501)は、符号化されたビデオデータを記憶する記憶デバイスや、符号化されたビデオデータを送るストリーミング供給元につなげられたハードウェア/ソフトウェアであってもよい。受信器(531)はコーディングされた音声データ及び/又は付属データストリームなどの他のデータとともに、符号化されたビデオデータを受信してもよく、当該他のデータを、それに対応する処理回路(図示せず)に転送してもよい。受信器(531)はコーディングされたビデオシーケンスを他のデータから分離してもよい。ネットワークジターに対処するために、受信器(531)とエントロピーデコーダ/パーサ(520)(以下「パーサ(520)」)との間にバッファメモリ(515)を配置してもよい。いくつかの適用例では、バッファメモリ(515)をビデオデコーダ(510)の一部として実施してもよい。他の適用例では、バッファメモリ(515)はビデオデコーダ(510)外に存在し、ビデオデコーダ(510)とは別体であることが可能である(図示せず)。さらに他の適用例では、たとえばネットワークのジッタに対処するために、ビデオデコーダ(510)外にバッファメモリ(図示せず)が存在することが可能であり、たとえば再生のタイミングを処理するために、ビデオデコーダ(510)内に別の追加バッファメモリ(515)が存在してもよい。受信器(531)が十分な帯域幅及び制御性を持つ記憶/転送デバイスやアイソクロナスネットワークからデータを受信するものである場合、バッファメモリ(515)を要さずともよいし、バッファメモリ(515)が小規模であることが可能である。インターネットなどのベストエフォートパケットネットワークに用いる場合には、十分なサイズのバッファメモリ(515)を要する場合があり、バッファメモリ(515)のサイズを比較的大きくすることができる。このようなバッファメモリを最適なサイズで実施してもよく、ビデオデコーダ(510)外のオペレーティングシステムや同様の要素(図示せず)で少なくとも部分的に実施してもよい。
【0034】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するパーサ(520)を含んでもよい。このようなシンボルのカテゴリにはビデオデコーダ(510)の動作を管理するのに用いられる情報が含まれ、図5に示されているように、電子デバイス(530)の一体部分であってもなくてもよい、電子デバイス(530)に接続されることが可能であるディスプレイ(512)(たとえば表示画面)などの描画する装置を制御する情報が含まれる場合がある。1つ以上のレンダリングデバイスに用いる制御情報はSEI(Supplemental Enhancement Information)メッセージやVUI(Video Usability Information)パラメータ集合フラグメント(図示せず)の形態をとってもよい。パーサ(520)は、パーサ(520)が受け取ったコーディングされたビデオシーケンスをパース/エントロピー復号することができる。当該コーディングされたビデオシーケンスのエントロピーコーディングはビデオコーディング技術や標準に準拠することが可能であり、可変長コーディング、ハフマンコーディング、文脈依存を用いたり用いなかったりする算術コーディングなどを含む様々な原理にしたがうことができる。パーサ(520)は、コーディングされたビデオシーケンスから、ビデオデコーダ中にある画素の部分群の少なくとも1つについての部分群パラメータの集合を、部分群に対応する少なくとも1つのパラメータに基づいて抽出してもよい。部分群は、GOP(Group of Picture)、ピクチャ、タイル、スライス、マクロブロック、CU(Coding Unit)、ブロック、TU(Transform Unit)、PU(Prediction Unit)などを含むことができる。パーサ(520)は、変換係数(たとえばフーリエ変換係数)、クオンタイザパラメータ値、動きベクトルなどのコーディングされたビデオシーケンス情報からも抽出を行ってもよい。
【0035】
パーサ(520)は、バッファメモリ(515)から受け取ったビデオシーケンスにエントロピー復号/パーサ動作を実行することでシンボル(521)を生成してもよい。
【0036】
シンボル(521)の再構成には、コーディングされたビデオピクチャ又はその部分のタイプ(たとえばピクチャ間及びピクチャ内、ブロック間及びブロック内)と他の因子とに応じて複数の異なる処理部位又は機能部位を関与させることができる。関与させる部位と、どのように部位を関与させるのかとを、コーディングされたビデオシーケンスからパーサ(520)によってパースされた部分群制御情報によって制御してもよい。簡略化するために、パーサ(520)と後述の複数の処理部位又は機能部位との間の、このような部分群の制御情報のフローは示されていない。
【0037】
既に説明されている機能ブロックについてさらにいえば、ビデオデコーダ(510)を、後述のように複数の機能部位に概念的に細分することができる。商業上の制約を受けながら運用される実際の実現例では、このような機能部位の多くは互いに緊密にやり取りし、互いに少なくとも部分的に一体化されることが可能である。一方で、開示されている保護対象の様々な機能を明確にしつつ説明するために、以下の開示では機能部位に概念的に細分することを採用している。
【0038】
最初の部位はスケーラ/逆変換部(551)を含んでもよい。スケーラ/逆変換部(551)はパーサ(520)からシンボル(521)として、量子化された変換係数と、どのタイプの逆変換を用いるべきかを示す情報、ブロックサイズ、量子化係数(quantization factor)/量子化パラメータ、量子化スケーリングマトリックス及び状態を含む制御情報とを受け取ってもよい。スケーラ/逆変換部(551)は、集合器(555)に入力することができるサンプル値を含むブロックを出力することができる。
【0039】
いくつかの例では、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、以前に再構成されたピクチャから得られる予測的情報を用いないが、カレントピクチャの以前に再構成された部分から得られる予測的情報を用いることができるブロックに適する場合がある。このような予測的情報をピクチャ内予測部(552)によって提供することができる。いくつかの例では、ピクチャ内予測部(552)は、既に再構成され、カレントピクチャバッファ(558)に記憶されている周囲のブロックの情報を用いて、再構成中のブロックと同じサイズ及び形状のブロックを生成してもよい。カレントピクチャバッファ(558)は、たとえば、部分的に再構成されたカレントピクチャ及び/又は全体的に再構成されたカレントピクチャをバッファリングする。いくつかの実現例では、集合器(555)は、サンプル毎に、イントラ予測部(552)が生成した予測情報を、スケーラ/逆変換部(551)によって提供された出力サンプル情報に加えてもよい。
【0040】
他の例では、スケーラ/逆変換部(551)の出力サンプルはインターコーディングされたブロックに適し、場合によっては動き補償されたブロックに適する場合がある。このような例では、動き補償予測部(553)が参照ピクチャメモリ(557)にアクセスして、ピクチャ間予測に用いられるサンプルを取得することができる。ブロックに関係するシンボル(521)に応じて、取得されたサンプルを動き補償した後、当該サンプルをスケーラ/逆変換部(551)の出力(部位551の出力を残差サンプルや残差信号と称する場合がある)に集合器(555)によって加えることで、出力サンプル情報を生成することができる。動き補償予測部(553)が予測サンプルを取得する取得元の参照ピクチャメモリ(557)内のアドレスを動きベクトルによって制御することができ、動きベクトルは、たとえばX,Y成分(シフト)及び参照ピクチャ成分(時間)を有することができるシンボル(521)の形態をとった状態で動き補償予測部(553)に利用可能である。動き補償は、サブサンプルの正確な動きベクトルが用いられている場合の、参照ピクチャメモリ(557)から取得されるサンプル値の内挿を含むこともでき、動きベクトル予測メカニズムなどに関連することもできる。
【0041】
集合器(555)の出力サンプルは、ループフィルタ部(556)で様々なループフィルタリング手法を受けることができる。ビデオ圧縮技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも称する)に含まれて、パーサ(520)からのシンボル(521)としてループフィルタ部(556)に利用可能になるパラメータによって制御されるループ内フィルタ技術を含むことができる一方で、ビデオ圧縮技術は、コーディングされたピクチャ又はコーディングされたビデオシーケンスの以前(復号順)の部分を復号する際に得られるメタ情報の影響を受け易く、以前に再構成されてループフィルタリングされたサンプル値の影響も受け易い場合もある。ループフィルタ部556の一部として数種類のループフィルタを様々な順序で含ませてもよい。このことについてはさらに詳細に後述する。
【0042】
ループフィルタ部(556)の出力は、レンダリングデバイス(512)に出力することができるだけでなく、後のピクチャ間予測で用いるために参照ピクチャメモリ(557)に記憶することもできるサンプルストリームであることが可能である。
【0043】
いくつかのコーディングされたピクチャは、完全に再構成されると、後のピクチャ間予測のために参照ピクチャとして用いられることが可能である。たとえば、カレントピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが参照ピクチャとして(たとえばパーサ(520)によって)特定されると、カレントピクチャバッファ(558)は参照ピクチャメモリ(557)の一部になることが可能であり、次のコーディングされたピクチャの再構成を開始する前に、新たなカレントピクチャバッファを割り当てし直すことができる。
【0044】
ビデオデコーダ(510)は所定の標準(たとえばITU-T勧告H.265)で採用されている既定のビデオ圧縮技術にしたがって復号動作を行ってもよい。コーディングされたビデオシーケンスがビデオ圧縮技術や標準のシンタックスと、ビデオ圧縮技術や標準の文書に記載されているプロファイルとの両方を遵守するという意味で、コーディングされたビデオシーケンスは、用いられているビデオ圧縮技術や標準によって定められているシンタックスに準拠するといえる。特に、プロファイルについては、ビデオ圧縮技術や標準で利用可能なすべてのツールから、当該プロファイルにしたがった使用に供することができる唯一のツールとして所定のツールを選択することができる。標準に準拠するために、コーディングされたビデオシーケンスの複雑さがビデオ圧縮技術や標準のレベルによって定められた限界内にあってもよい。いくつかの例では、レベルに応じて、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(たとえば毎秒100万サンプルで測定)、最大参照ピクチャサイズなどが制限される。レベルによって設けられる限界は、いくつかの例では、HRD(Hypothetical Reference Decoder)の仕様と、コーディングされたビデオシーケンスでシグナリングされるHRDバッファ管理用のメタデータとにより、さらに制限される場合がある。
【0045】
いくつかの実施形態では、受信器(531)が符号化されたビデオとともに付随(冗長)データを受信してもよい。付随データがコーディングされたビデオシーケンスの一部として含まれてもよい。付随データをビデオデコーダ(510)で用いて、データを適切に復号しかつ/又は元のビデオデータをより正確に再構成してもよい。たとえば、付随データは、時間的、空間的又は信号雑音比(SNR)強化レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形態をとることができる。
【0046】
図6は本開示の一実施形態に係るビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)を電子デバイス(620)に含ませてもよい。電子デバイス(620)は送信器(640)(たとえば送信回路)をさらに含んでもよい。ビデオエンコーダ(603)を図4の例のビデオエンコーダ(403)の代わりに用いることができる。
【0047】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされることになる1つ以上のビデオ画像をキャプチャすることができるビデオソース(601)(図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受け取ってもよい。別の例では、ビデオソース(601)を電子デバイス(620)の一部として実施してもよい。
【0048】
ビデオソース(601)は、任意の適切なビット深度(たとえば、8ビット、10ビット、12ビット、…)、任意の色空間(たとえば、BT.601 YCrCB、RGB、XYZ…)及び任意の適切なサンプリング構造(たとえば、YCrCb 4:2:0、YCrCb 4:4:4)が可能であるデジタルビデオサンプルストリームとしてビデオエンコーダ(603)によってコーディングされることになるソースビデオシーケンスを提供してもよい。メディア提供システムでは、ビデオソース(601)は、予め用意されたビデオを記憶することができる記憶デバイスであってもよい。テレビ会議システムでは、ビデオソース(601)は、現地の画像情報をビデオシーケンスとしてキャプチャするカメラであってもよい。順番に見られると動きを実現する複数の個々のピクチャ又は画像としてビデオデータを提供してもよい。ピクチャをそのまま画素の空間的配列として編成してもよく、各画素は使用されているサンプリング構造、色空間などに応じた1つ以上のサンプルを含むことができる。画素とサンプルとの関係については、当業者は容易に理解することができる。以下の説明ではサンプルに注目する。
【0049】
いくつかの実施形態に係れば、ビデオエンコーダ(603)はソースビデオシーケンスのピクチャをコーディングされたビデオシーケンス(643)にリアルタイムにコーディングして圧縮してもよいし、アプリケーションによって必要とされる任意の他の時間制約を受けつつコーディングして圧縮してもよい。適切なコーディング速度を強制的に維持することは、コントローラ(650)の機能の1つを構成する。いくつかの実施形態では、コントローラ(650)を後述されている他の機能部位に機能的に接続して、コントローラ(650)によって当該他の機能部位を制御してもよい。簡略化するために、接続については示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連のパラメータ(ピクチャスキップ、クオンタイザ、レート-歪み最適化技術のλの値、…)、ピクチャサイズ、GOP(group of picture)のレイアウト、最長の動きベクトルの探索範囲などを含むことができる。特定のシステム設計に最適化されたビデオエンコーダ(603)に関する他の適切な機能を持つようにコントローラ(650)を構成することができる。
【0050】
いくつかの実施形態では、ビデオエンコーダ(603)をコーディングループで動作するように構成してもよい。最大限に単純化した説明として、一例では、コーディングループはソースコーダ(630)(たとえば、コーディングされることになる入力ピクチャと1つ以上の参照ピクチャとに基づいて、シンボルストリームなどのシンボルを生成することを担う)と、ビデオエンコーダ(603)に組み込まれた(別の場所ではなくこの場所にある)デコーダ(633)とを含むことができる。デコーダ(633)はシンボルを再構成し、内蔵デコーダ633がエントロピーコーディングを用いずにソースコーダ630によってコーディングされたビデオストリームを処理したとしても、あたかも(別の場所にある)デコーダによって生成されるのと同様にサンプルデータを生成する(エントロピーコーディングにおける、シンボルとコーディングされたビデオビットストリームとの間の任意の圧縮は開示されている保護対象で検討されているビデオ圧縮技術に含まれる可逆圧縮であってもよい)。再構成されたサンプルストリーム(サンプルデータ)は参照ピクチャメモリ(634)に入力される。シンボルストリームを復号すると、デコーダの場所(この場所にあるのか別の場所にあるのか)とは無関係に正確なビット結果がもたらされるので、参照ピクチャメモリ(634)の内容についても、この場所にあるエンコーダと別の場所にあるエンコーダとの比較でビットが正確になる。言い換えると、あたかもデコーダが復号の際に予測を用いるときに「見る」のと同じサンプル値を、エンコーダの予測部分は参照ピクチャサンプルとして正確に「見る」。このような参照ピクチャの同時性(さらには、たとえばチャネルエラーによって同時性を維持することができない場合に結果として生じるドリフト)の基本原理がコーディング品質を改善するのに用いられる。
【0051】
「この場所にある」デコーダ(633)の動作は、図5をともなって上記で既に詳細に説明されている「別の場所にある」ビデオデコーダ(510)などのデコーダの動作と同じであることが可能である。しかし、幾分図5も参照するが、シンボルが有効であり、かつエントロピーコーダ(645)及びパーサ(520)によるシンボルの符号化、及びコーディングされたビデオシーケンスへの復号が可逆であることが可能であるので、バッファメモリ(515)とパーサ(520)とを含むビデオデコーダ(510)のエントロピー復号部分はエンコーダのこの場所にあるデコーダ(633)では完全には実施されない場合がある。
【0052】
この時点でいえることは、デコーダにしか存在し得ないパース/エントロピー復号以外のいかなるデコーダ技術も、対応するエンコーダにやはり必ず実質的に同一の機能的形態で存在する必要があるといえるということである。この理由から、開示されている保護対象について、エンコーダの復号部分に関連するデコーダの動作に場合に応じて注目する場合がある。したがって、エンコーダ技術の説明については、全体が説明されているデコーダ技術の逆であるので、省略することができる。特定の部分又は態様に限って、エンコーダのより詳細な説明を以下に記載する。
【0053】
いくつかの実現例の動作の際、ソースコーダ(630)は、「参照ピクチャ」に指定されたビデオシーケンスから得られた以前にコーディングされた1つ以上のピクチャを参照して予測して入力ピクチャをコーディングする動き補償予測コーディングを行ってもよい。このようにして、コーディングエンジン(632)は、入力ピクチャの画素ブロックと、入力ピクチャに対する1つ以上の予測参照として選択することができる1つ以上の参照ピクチャの画素ブロックとの色チャネルの差分(または残差)をコーディングする。用語「残差(residue)」とその形容詞形「残差の(residual)」とを互いに入れ替えて用いてもよい。
【0054】
この場所にあるビデオデコーダ(633)は、ソースコーダ(630)によって生成されたシンボルに基づいて、参照ピクチャに指定することができるピクチャのコーディングされたビデオデータを復号してもよい。コーディングエンジン(632)の動作が非可逆プロセスであることが有効である場合がある。コーディングされたビデオデータがなんらかのビデオデコーダ(図6には示されていない)で復号されることがある場合、再構成されたビデオシーケンスは一般的に多少の誤差をともなうソースビデオシーケンスの複製である場合がある。この場所にあるビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって行われる場合がある復号プロセスを繰り返し、再構成された参照ピクチャが参照ピクチャキャッシュ(634)に記憶されるようにしてもよい。このようにして、ビデオエンコーダ(603)は、遠端の(別の場所にある)ビデオデコーダによって得られることになる再構成された参照ピクチャと共通の内容を持つ再構成された参照ピクチャの複製をこの場所に記憶することができる(伝送エラーなし)。
【0055】
予測器(635)はコーディングエンジン(632)のために予測探索を行ってもよい。すなわち、コーディングされることになる新たなピクチャのために、予測器(635)は、サンプルデータ(候補参照画素ブロックとしてのサンプルデータ)を得たり、新たなピクチャのための適切な予測参照を担うことができる参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを得たりするために参照ピクチャメモリ(634)を探索してもよい。予測器(635)は、適切な予測参照を検知するのに画素ブロック毎に1つのサンプルブロックを用いるようにして動作してもよい。いくつかの例では、予測器(635)によって得られる探索結果によって判断する際、入力ピクチャは、参照ピクチャメモリ(634)に記憶されている複数の参照ピクチャから得られた予測参照を含むことができる。
【0056】
たとえば、コントローラ(650)は、ビデオデータを符号化するのに用いられるパラメータ及び部分群パラメータの設定を含む、ソースコーダ(630)のコーディング動作の管理を行ってもよい。
【0057】
上述のすべての機能部位の出力がエントロピーコーダ(645)でエントロピーコーディングを受けてもよい。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術にしたがってシンボルを可逆圧縮することによって、様々な機能部位によって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
【0058】
送信器(640)が通信チャネル(660)を通じた送信に備えるために、エントロピーコーダ(645)によって生成された1つ以上のコーディングされたビデオシーケンスをバッファリングしてもよく、送信器(640)は、符号化されたビデオデータを記憶する記憶デバイスにつなげられたハードウェア/ソフトウェアであってもよい。送信器(640)は、送信されることになる他のデータ、たとえば、コーディングされた音声データ及び/又は付属データストリーム(供給源は示されていない)を、ビデオコーダ(603)から得られたコーディングされたビデオデータに統合してもよい。
【0059】
コントローラ(650)はビデオエンコーダ(603)の動作を管理してもよい。コーディングの際、コントローラ(650)はコーディングされたピクチャ毎に、それぞれのピクチャに適用することができるコーディング手法に影響を及ぼすことができる特定のコーディングされたピクチャのタイプを割り当ててもよい。たとえば、多くの場合、以下のピクチャタイプの1つとしてピクチャを割り当てることができる。
【0060】
Iピクチャ(Intra Picture)は、予測の元になるものとしてシーケンス中の他の一切のピクチャを用いずにコーディング及び復号を行うことができるピクチャであるといえる。いくつかのビデオコーデックでは、たとえばIDR(Independent Decoder Refresh)ピクチャを含む様々なタイプのイントラピクチャが可能である。Iピクチャのこのような変形例とそれに対応する適用例及び特徴部とに当業者は想到する。
【0061】
Pピクチャ(predictive picture)は、イントラ予測又はインター予測を用い、各ブロックのサンプル値を予測するのに最大1つの動きベクトルと参照インデックスとを用いてコーディング及び復号を行うことができるピクチャであるといえる。
【0062】
Bピクチャ(bi-directionally predictive picture)は、イントラ予測又はインター予測を用い、各ブロックのサンプル値を予測するのに最大2つの動きベクトルと参照インデックスとを用いてコーディング及び復号を行うことができるピクチャであるといえる。同様に、multiple-predictive pictureでは、1つのブロックの再構成のために、2つ以上の参照ピクチャと関連メタデータとを用いることができる。
【0063】
一般的に、ソースピクチャを複数のサンプルコーディングブロックに空間的に細分することができ(たとえば、それぞれ4×4、8×8、4×8や16×16個のサンプルのブロック)、ブロックを1つずつコーディングすることができる。それぞれのブロックに対応するピクチャに適用されるコーディング割当てによって判断される際に、他の(既にコーディングされた)ブロックを参照して予測してブロックをコーディングしてもよい。たとえば、Iピクチャのブロックを予測を用いずにコーディングしてもよいし、同じピクチャの既にコーディングされたブロックを参照して、予測を用いてコーディングしてもよい(空間的予測又はイントラ予測)。Pピクチャの画素ブロックを、空間的予測を用いたり、以前にコーディングされた1つの参照ピクチャを参照して時間的予測を用いたりして、予測を用いてコーディングしてもよい。Bピクチャのブロックを、空間的予測を用いたり、以前にコーディングされた1つ又は2つの参照ピクチャを参照して時間的予測を用いたりして、予測を用いてコーディングしてもよい。ソースピクチャ又は中間処理ピクチャを他の目的で他のタイプのブロックに細分してもよい。コーディングブロック及び他のタイプのブロックの分割が同じ仕方にしたがってもしたがわなくてもよく、これについてはさらに詳細に後述されている。
【0064】
ビデオエンコーダ(603)は既定のビデオコーディング技術や標準(たとえばITU-T勧告H.265)にしたがってコーディング動作を行ってもよい。その動作では、ビデオエンコーダ(603)は、入力ビデオシーケンスの時間的冗長さと空間的冗長さとを利用する予測コーディング動作を含む様々な圧縮動作を行ってもよい。したがって、コーディングされたビデオデータは、用いられているビデオコーディング技術や標準によって定められているシンタックスに準拠してもよい。
【0065】
いくつかの実施形態では、送信器(640)は符号化されたビデオとともに付随データを送信してもよい。ソースコーダ(630)はコーディングされたビデオシーケンスの一部としてこのようなデータを含んでもよい。付随データは、時間的/空間的/SNRエンハンスメントレイヤ、冗長ピクチャや冗長スライスなどの冗長データの他の形態、SEIメッセージ、VUIパラメータ集合フラグメントなどを含んでもよい。
【0066】
ビデオを複数のソースピクチャ(ビデオピクチャ)として時間順にキャプチャしてもよい。ピクチャ内予測(イントラ予測と略されることが多い)では所与のピクチャ内の空間的相関を利用し、ピクチャ間予測ではピクチャ間の相関(時間的相関又は他の相関)を利用する。たとえば、カレントピクチャと称されている、符号化/復号中の特定のピクチャをブロックに分割してもよい。カレントピクチャ中のブロックがビデオ中の、以前にコーディングされて依然としてバッファリングされている参照ピクチャ中の参照ブロックに類似する場合、カレントピクチャ中のブロックを、動きベクトルと称されているベクトルによってコーディングしてもよい。動きベクトルは、参照ピクチャ中で参照ブロックの方に向いており、複数の参照ピクチャが用いられる場合、第3の次元を持って参照ピクチャを特定することができる。
【0067】
いくつかの実施形態では、ピクチャ間予測に双予測法(bi-prediction technique)を用いることができる。この双予測法によれば、ビデオ中のカレントピクチャよりも復号順でともに先行する(これとは異なり、表示順でそれぞれ過去又は未来にあってもよい)第1の参照ピクチャ及び第2の参照ピクチャなどの2つの参照ピクチャを用いる。第1の参照ピクチャ中で第1の参照ブロックの方に向いている第1の動きベクトルと、第2の参照ピクチャ中で第2の参照ブロックの方に向いている第2の動きベクトルとによってカレントピクチャ中のブロックをコーディングすることができる。第1の参照ブロックと第2の参照ブロックとの組合せによってこれらを併用してブロックを予測することができる。
【0068】
さらに、ピクチャ間予測にマージモード法を用いてコーディング効率を改善することができる。
【0069】
本開示のいくつかの実施形態に係れば、ピクチャ間予測やピクチャ内予測などの予測をブロックの単位で行う。たとえば、圧縮のためにビデオピクチャのシーケンス中のピクチャをCTU(coding tree unit)に分割し、ピクチャ中のCTUは同じサイズ(たとえば64×64個の画素、32×32個の画素又は16×16個の画素)を持ってもよい。一般的に、CTUは並列する3つのCTB(coding tree block)、すなわち、1つのルマ(luma)CTBと2つのクロマ(chroma)CTBとを含んでもよい。各CTUを1つ以上のCU(Coding Unit)に再帰的に四分木分割することができる。たとえば、64×64個の画素のCTUを64×64個の画素の1つのCUや、32×32個の画素の4つのCUに分割することができる。32×32ブロックの1つ以上の各々を16×16個の画素の4つのCUにさらに分割してもよい。いくつかの実施形態では、符号化の際に各CUを解析して、インター予測タイプやイントラ予測タイプなどの様々な予測タイプからCUの予測タイプを決めてもよい。時間的及び/又は空間的予測可能性に応じてCUを1つ以上のPU(Prediction Unit)に分割してもよい。一般的には、各PUは1つのルマPB(prediction block)と2つのクロマPBとを含む。一実施形態では、コーディング(符号化/復号)の予測動作をPBの単位で行う。CUのPU(又は異なる色チャネルのPB)への分割を様々な空間パターンで実行してもよい。ルマPB又はクロマPBは、たとえば、8×8個の画素、16×16個の画素、8×16個の画素、16×8個のサンプルなどのサンプルの値(たとえば、ルマ値)の行列を含んでもよい。
【0070】
図7は本開示の別の実施形態に係るビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス中のカレントビデオピクチャ中のサンプル値の処理ブロック(たとえば予測ブロック)を受け取って、処理ブロックを符号化して、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャにするように構成されている。ビデオエンコーダ(703)の例を図4の例のビデオエンコーダ(403)の代わりに用いてもよい。
【0071】
たとえば、ビデオエンコーダ(703)は8×8個のサンプルの予測ブロックなどの処理ブロックのサンプル値の行列を受け取る。その後、ビデオエンコーダ(703)は、たとえばレート-歪み最適化(rate-distortion optimization,RDO)を用い、処理ブロックがイントラモードを用いて最も良くコーディングされるのか、インターモードを用いて最も良くコーディングされるのか、双予測モードを用いて最も良くコーディングされるのかを判断する。処理ブロックがイントラモードでコーディングされると判断される場合、ビデオエンコーダ(703)は処理ブロックを符号化してコーディングされたピクチャにするのにイントラ予測法を用いてもよく、処理ブロックがインターモード又は双予測モードでコーディングされると判断される場合、ビデオエンコーダ(703)は処理ブロックを符号化してコーディングされたピクチャにするのにインター予測法又は双予測法をそれぞれ用いてもよい。いくつかの実施形態では、予測器外のコーディングされた動きベクトル構成要素の補助なしに1つ以上の動きベクトル予測器から動きベクトルを得るピクチャ間予測の下位モードとしてマージモードを用いてもよい。いくつかの他の実施形態では、対象となるブロックに適用可能な動きベクトル構成要素が存在してもよい。したがって、ビデオエンコーダ(703)は、処理ブロックの予測モードを判断するモード判定モジュールなど、図7に明示的には示されていない構成要素を含んでもよい。
【0072】
図7の例では、ビデオエンコーダ(703)は、図7の配置例に示されているように接続され合っている、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)及びエントロピーエンコーダ(725)を含む。
【0073】
インターエンコーダ(730)は、カレントブロック(たとえば処理ブロック)のサンプルを受け取り、当該ブロックを参照ピクチャ中の1つ以上の参照ブロック(たとえば、表示順で前のピクチャ及び後のピクチャ中のブロック)と比較し、インター予測情報(たとえば、インター符号化法にしたがった冗長情報の記述、動きベクトル、マージモード情報)を生成し、任意の適切な技術を用いてインター予測情報に基づいてインター予測結果(たとえば、予測されたブロック)を計算するように構成されている。いくつかの例では、参照ピクチャは、図6のエンコーダ620の例に組み込まれている復号部633(図7の残差デコーダ728(さらに詳細に後述されている)として示されている)を用いて、符号化されたビデオ情報に基づいて復号された復号済み参照ピクチャである。
【0074】
イントラエンコーダ(722)は、カレントブロック(たとえば処理ブロック)のサンプルを受け取り、当該ブロックを同じピクチャ中の既にコーディングされたブロックと比較し、変換後の量子化された係数を生成し、場合によって、イントラ予測情報(たとえば、1つ以上のイントラ符号化技術にしたがったイントラ予測方向情報)も生成するように構成されている。イントラエンコーダ(722)はイントラ予測情報と同じピクチャ中の参照ブロックとに基づいてイントラ予測結果(たとえば予測されたブロック)を計算してもよい。
【0075】
汎用コントローラ(721)を、汎用制御データを決定して、汎用制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するように構成してもよい。一例では、汎用コントローラ(721)はブロックの予測モードを決定し、予測モードに基づいて制御信号をスイッチ(726)に提供する。たとえば、予測モードがイントラモードである場合、汎用コントローラ(721)は残差計算器(723)による使用に対してイントラモード結果を選択するようにスイッチ(726)を制御し、イントラ予測情報を選択してイントラ予測情報をビットストリームに含ませるようにエントロピーエンコーダ(725)を制御し、ブロックに用いる予測モードがインターモードである場合、汎用コントローラ(721)は残差計算器(723)による使用に対してインター予測結果を選択するようにスイッチ(726)を制御し、インター予測情報を選択してインター予測情報をビットストリームに含ませるようにエントロピーエンコーダ(725)を制御する。
【0076】
残差計算器(723)を、受け取ったブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択されたブロックについての予測結果との差分(残差データ)を計算するように構成してもよい。残差エンコーダ(724)を、残差データを符号化して変換係数を生成するように構成してもよい。たとえば、残差エンコーダ(724)を、残差データを空間ドメインから周波数ドメインに変換して変換係数を生成するように構成してもよい。その後、変換係数は量子化処理を受け、量子化された変換係数が得られる。様々な実施形態では、ビデオエンコーダ(703)は残差デコーダ(728)も含む。残差デコーダ(728)は、逆変換を行って、復号された残差データを生成するように構成されている。復号された残差データをイントラエンコーダ(722)及びインターエンコーダ(730)によって適切に用いることができる。たとえば、インターエンコーダ(730)は復号された残差データとインター予測情報とに基づいて、復号されたブロックを生成することができ、イントラエンコーダ(722)は復号された残差データとイントラ予測情報とに基づいて、復号されたブロックを生成することができる。復号されたブロックを適切に処理して復号済みピクチャが生成され、復号済みピクチャをメモリ回路(図示せず)にバッファリングして参照ピクチャとして用いることができる。
【0077】
エントロピーエンコーダ(725)を、符号化されたブロックを含むようにビットストリームをフォーマットしてエントロピーコーディングを実行するように構成してもよい。エントロピーエンコーダ(725)は、様々な情報をビットストリームに含ませるように構成されている。たとえば、エントロピーエンコーダ(725)を、汎用制御データ、選択された予測情報(たとえば、イントラ予測情報やインター予測情報)、残差情報及びその他適切な情報をビットストリームに含ませるように構成してもよい。インターモード又は双予測モードのいずれかのマージ下位モードでブロックをコーディングする場合、残差情報が存在しなくてもよい。
【0078】
図8は本開示の別の実施形態に係るビデオデコーダ(810)の例の図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受け取り、コーディングされたピクチャを復号して再構成されたピクチャを生成するように構成されている。一例では、ビデオデコーダ(810)を図4の例のビデオデコーダ(410)の代わりに用いてもよい。
【0079】
図8の例では、ビデオデコーダ(810)は、図8の配置例に示されているように接続され合っている、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)及びイントラデコーダ(872)を含む。
【0080】
エントロピーデコーダ(871)を、コーディングされたピクチャから、コーディングされたピクチャを構成するシンタックス要素を表す特定のシンボルを再構成するように構成することができる。このようなシンボルは、たとえば、ブロックのコーディングに用いるモード(たとえば、イントラモード、インターモード、双予測されるモード、マージ下位モードや別の下位モード)や、イントラデコーダ(872)又はインターデコーダ(880)による予測に用いられる特定のサンプル又はメタデータを特定することができる予測情報(たとえば、イントラ予測情報やインター予測情報)や、たとえば量子化された変換係数の形態をとる残差情報などを含むことができる。一例では、予測モードがインターモード又は双予測されるモードである場合、インター予測情報がインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプである場合、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報に逆の量子化を施すことができ、これは残差デコーダ(873)に提供される。
【0081】
インターデコーダ(880)を、インター予測情報を受け取り、インター予測情報に基づいてインター予測結果を生成するように構成してもよい。
【0082】
イントラデコーダ(872)を、イントラ予測情報を受け取り、イントラ予測情報に基づいて予測結果を生成するように構成してもよい。
【0083】
残差デコーダ(873)を、逆の量子化を行って、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数ドメインから空間ドメインに変換するように構成してもよい。残差デコーダ(873)は(クオンタイザパラメータ(QP)を含むように)特定の制御情報も利用してもよく、当該情報はエントロピーデコーダ(871)によって提供されてもよい(これは少量のデータ量しかない制御情報であるといえるので、データ経路は示されていない)。
【0084】
再構成モジュール(874)を、空間ドメインにおいて、残差デコーダ(873)によって出力された残差と予測結果(場合に応じてインター予測モジュール又はイントラ予測モジュールによって出力される)とを組み合せて、再構成されたビデオの一部として再構成されたピクチャの一部を形成する再構成されたブロックを形成するように構成してもよい。デブロック動作などの他の適切な動作を行って、映像品質を改善することもできることに留意する。
【0085】
ビデオエンコーダ(403),(603)及び(703)とビデオデコーダ(410),(510)及び(810)とを任意の適切な手法を用いて実施することができることに留意する。いくつかの実施形態では、ビデオエンコーダ(403),(603)及び(703)とビデオデコーダ(410),(510)及び(810)とを1つ以上の集積回路を用いて実施することができる。別の実施形態では、ビデオエンコーダ(403),(603)及び(603)とビデオデコーダ(410),(510)及び(810)とをソフトウェア命令を実行する1つ以上のプロセッサを用いて実施することができる。
【0086】
イントラ予測プロセスに戻るが、本プロセスでは、ブロック(たとえば、ルマ予測ブロック若しくはクロマ予測ブロック、又は予測ブロックにさらに分割されていない場合にはコーディングブロック)中のサンプルを、近傍にあるもの、次に近傍にあるもの若しくは他の1つ以上のラインのサンプル又はこれらの組合せによって予測して予測ブロックを生成する。その後、コーディング中の実際のブロックと予測ブロックとの間の残差を量子化後に変換により処理してもよい。様々なイントラ予測モードを利用可能にするすることができ、イントラモードの選択に関連するパラメータ及びその他パラメータをビットストリームでシグナリングすることができる。当該様々なイントラ予測モードは、たとえば、サンプルの予測に用いられる1つ以上のライン位置、予測サンプルを1つ以上の予測ラインから選択する際に進む方向や、他の特別なイントラ予測モードに関係してもよい。
【0087】
たとえば、イントラ予測モード(「イントラモード」とも呼びかえられる)の集合は既定の個数の方向イントラ予測モードを含んでもよい。図1の実現例に関して上述されているように、これらのイントラ予測モードは、特定のブロック内の予測中のサンプルの予測先としてブロック外のサンプルを選択する際に進む既定の個数の方向に対応してもよい。別の特定の実現例では、水平軸に対する45~207度の角度に対応する8つの主要な方向モードがサポートされた既定のモードであってもよい。
【0088】
イントラ予測の他の実現例では、方向テクスチャにおいてより多くの種類の空間的冗長さをさらに利用するために、方向イントラモードを粒度の高い角度集合にさらに拡張してもよい。たとえば、図9に示されているように、上記の8つの角度の実現例を、名称を付した8つの角度(V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED及びD67_PREDと称する)を提供するように構成してもよく、名称を付した角度毎に、既定の個数(たとえば7つ)のより刻みの小さい角度を加えてもよい。このように拡張すれば、方向の角度の総数が大きくなり(たとえば、本例では56個)、当該総数の方向の角度をイントラ予測に用いることができ、これらはそれと同数の既定の方向イントラモードに対応する。予測角度を、名称を付したイントラ角度と、これに付随する角度刻み(angle delta)とで表してもよい。名称を付した角度毎に刻みの小さい7つの角度方向がある上記の特定の例では、角度刻みは-3~3であってもよく、ステップサイズが増加して3度増加する。
【0089】
いくつかの実現例では、上記の方向イントラモードに加えて、又は上記の方向イントラモードの代わりに、方向性を持たない既定の個数のイントラ予測モードも既定のモードであってもよく、これらのモードも利用可能にしてもよい。たとえば、スムーズイントラ予測モードと称される方向性を持たない5つのイントラモードを指定してもよい。これらの方向性を持たないイントラモード予測モードを特にDCイントラモード、PAETHイントラモード、SMOOTHイントラモード、SMOOTH_Vイントラモード及びSMOOTH_Hイントラモードと称する場合がある。これらの方向性を持たないモードの例を用いた特定のブロックのサンプルの予測が図10に示されている。たとえば、図10は、上の近傍ライン及び/又は左の近傍ラインから得られるサンプルによって4×4ブロック1002が予測される様子を示す。ブロック1002内の特定のサンプル1010は、ブロック1002の上の近傍ラインにおいてサンプル1010の真上のサンプル1004と、上の近傍ラインと左の近傍ラインとの交差部分としてサンプル1010の左上にあるサンプル1006と、ブロック1002の左の近傍のラインにおいてサンプル1010の真左にあるサンプル1008とに対応してもよい。DCイントラ予測モードの例では、左の近傍サンプル1008と上の近傍サンプル1004との平均値をサンプル1010の予測値として用いてもよい。PAETHイントラ予測モードの例では、上、左及び左上参照サンプル1004,1008及び1006を取得してもよく、その後、(上+左-左上)に最も近い、これらの3つの参照サンプル間のどのような値でもサンプル1010の予測値として設定してもよい。SMOOTH_Vイントラ予測モードの例では、左上の近傍サンプル1006及び左の近傍サンプル1008の垂直方向の2次補間(quadratic interpolation)によってサンプル1010を予測してもよい。SMOOTH_Hイントラ予測モードの例では、左上の近傍サンプル1006及び上の近傍サンプル1004の水平方向の2次補間によってサンプル1010を予測してもよい。SMOOTHイントラ予測モードの例では、垂直方向及び水平方向の2次補間の平均によってサンプル1010を予測してもよい。上記の方向性を持たないイントラモードの実現例は限定を課さない例として示されているのにすぎない。他の近傍ラインや、方向性を持たない他のサンプル選択法も考えられ、予測ブロック内の特定のサンプルを予測するための予測サンプルの組合せ方も考えられる。
【0090】
様々なコーディングの規模(ピクチャ、スライス、ブロック、ユニットなど)の上記の方向モードや方向性を持たないモードからエンコーダによってどのイントラ予測モードを選択したかをビットストリームでシグナリングしてもよい。いくつかの実現例では、まず、名称を付した8つの典型的な方向モードを、角度を用いない5つのスムーズモードとともに(合計13個の選択肢)シグナリングしてもよい。その後、シグナリングされたモードが、名称を付した角度を用いる8つのイントラモードのうちの1つである場合、対応するシグナリングされた名称を付した角度に対して選択された角度刻みを示すインデックスをさらにシグナリングする。他の実現例では、シグナリングのためにすべてのイントラ予測モード(たとえば、56個の方向モードに方向性を持たない5つのモードを足して61個のイントラ予測モードを得る)に一斉にインデックスを付してもよい。
【0091】
いくつかの実現例では、56個又は他の個数の方向イントラ予測モードの例を、ブロックの各サンプルを参照サブサンプル位置まで射影(project)して2タップのバイリニアフィルタによって参照サンプルを内挿する統一的な方向予測値を用いて実施してもよい。
【0092】
いくつかの実現例では、辺の参照との弱い空間的相関を捉えるために、FILTER INTRAモードと称するさらなるフィルタモードを設計してもよい。当該モードでは、ブロック外のサンプルに加えてブロック内で予測されるサンプルをイントラ予測参照サンプルとしてブロック内のいくつかのパッチに用いてもよい。たとえば、当該モードは既定のモードであってもよく、当該モードを少なくともルマブロックのイントラ予測(又はルマブロックのみに用いるイントラ予測)に利用可能にしてもよい。既定の個数(たとえば5つ)のフィルタイントラモードを予め設計してもよく、たとえば4×2パッチ内のサンプルとそれに隣接するn個の隣接物との相関を反映するnタップフィルタ(たとえば7タップフィルタ)の集合によって各フィルタイントラモードを表現してもよい。言い換えると、nタップフィルタの重み係数が位置に依存してもよい。図11に示されているように、一例として8×8ブロック、4×2パッチ及び7タップフィルタリングを用いる場合、8×8ブロック1102を8個の4×2パッチに分割してもよい。図11ではこれらのパッチはB0,B1,B1,B3,B4,B5,B6,及びB7で示されている。パッチ毎に、パッチの7つの近傍物(図11でR0~R7で示されている)をカレントパッチ内のサンプルを予測するのに用いてもよい。パッチB0については、すべての近傍物が既に再構成されている場合がある。一方で他のパッチについては、近傍物の一部がカレントブロック内にあるので、再構成されていない場合があり、その際には、直に隣接するものの予測値を参照として用いる。たとえば、図11に示されているパッチB7のすべての近傍物が再構成されていないので、代わりに近傍物の予測サンプルが用いられる。
【0093】
イントラ予測のいくつかの実現例では、1つの色成分を1つ以上の他の色成分を用いて予測してもよい。色成分がYCrCb色空間、RGB色空間、XYZ色空間などの成分のいずれか1つであってもよい。たとえば、ルマ成分(たとえばルマ参照サンプル)からクロマ成分(たとえばクロマブロック)を予測する予測(Chroma from LumaまたはCfLと称する)を実施してもよい。いくつかの実現例では、クロスカラー予測(cross-color prediction)について多くがルマからクロマにしか許容されない。たとえば、クロマブロック内のクロマサンプルを、対応する再構成されたルマサンプルの1次関数としてモデル化してもよい。CfL予測を以下のように実施してもよい。
CfL(α)=α×LAC+DC (1)
【0094】
ここで、LACはルマ成分のAC寄与分を示し、αは線形モデルのパラメータを示し、DCはクロマ成分のDC寄与分を示す。たとえば、AC成分がブロックのサンプル毎に得られるのに対して、DC成分はブロック全体に対して得られる。さらにいえば、再構成されたルマサンプルにサブサンプリングを行ってクロマ解像度を得てもよく、その後、各ルマ値から平均ルマ値(ルマのDC)を差し引いてルマのAC寄与分を生成してもよい。その後、ルマのAC寄与分を式(1)の線形モードに用いてクロマ成分のAC値を予測する。ルマAC寄与分からクロマAC成分の近似値を得たり予測したりするために、スケーリングパラメータを計算することをデコーダに要求する代わりに、CfLの実現例では、元のクロマサンプルに基づいてパラメータαを決定してこれをビットストリームでシグナリングしてもよい。これにより、デコーダの複雑さが緩和され、より正確な予測が得られる。クロマ成分のDC寄与分については、いくつかの実現例ではクロマ成分中のイントラDCモードを用いて計算してもよい。
【0095】
その後、変換係数の量子化に続いて、イントラ予測ブロックかインター予測ブロックかのいずれかの残差の変換を実施してもよい。変換を実行するために、イントラコーディングされたブロックとインターコーディングされたブロックとを変換の前に複数の変換ブロック(用語「ユニット(unit)」が3色チャネルの集合を表すのに通常の用法で用いられる場合(たとえば、「コーディングユニット(coding unit)」が1つのルマコーディングブロックと複数のクロマコーディングブロックとを含む場合)であっても、代わりに「変換ユニット(transform unit)」として用いられる場合がある)にさらに分割してもよい。いくつかの実現例では、コーディングされたブロック(すなわち予測ブロック)の最大分割深度(maximum partitioning depth)を指定してもよい(用語「コーディングされたブロック(coded block)」を「コーディングブロック(coding block)」の代わりに用いてもよい)。たとえば、当該分割は、2段階以下のレベルのものであってもよい。予測ブロックを変換ブロックに分割する際、イントラ予測ブロックとインター予測ブロックとで異なる処理を行ってもよい。一方で、いくつかの実現例では、当該分割の際、イントラ予測ブロックとインター予測ブロックとで同様に行ってもよい。
【0096】
いくつかの実現例では、イントラコーディングされたブロックについては、すべての変換ブロックが同じサイズを持つように変換分割を行ってもよく、変換ブロックはラスタスキャン順にコーディングされる。イントラコーディングされたブロックの当該変換ブロック分割の一例が図12に示されている。具体的には、図12は、コーディングされたブロック1202が中間レベルの四分木分割1204を介して1206によって示されている同じブロックサイズの16個の変換ブロックに分割される様子を示す。図12には、コーディングのラスタスキャン順序の例が順番に並んだ矢印によって示されている。
【0097】
いくつかの実現例では、インターコーディングされたブロックについては、既定の段階数のレベル(たとえば第2段階のレベル)までの分割深度を用いて再帰的に変換ユニット分割を行ってもよい。図13に示されているように、分割を中止したり、なんらかの細分のために任意のレベルで再帰的に分割を継続したりしてもよい。具体的には、図13は、ブロック1302が4つの四分木サブブロック1304に分割され、サブブロックの1つが4つの第2段階のレベルの変換ブロックにさらに分割されるのに対して、その他のサブブロックの分割が第1段階のレベルの後に中止され、異なる2つのサイズの合計7つの変換ブロックが得られる例を示す。図13には、コーディングのラスタスキャン順序の例が順番に並んだ矢印によってさらに示されている。図13は最高で第2段階のレベルの正方形変換ブロックの四分木分割の実現例を示しているが、生成に関するいくつかの実現例では、変換についての分割が1:1(正方形)、1:2/2:1及び1:4/4:1の変換ブロック形状と、4×4から64×64に及ぶサイズとをサポートしてもよい。いくつかの実現例では、コーディングブロックが64×64以下である場合、変換ブロックの分割をルマ成分のみに適用してもよい(言い換えると、この状態でクロマ変換ブロックがコーディングブロックと同じになる)。上記とは異なり、コーディングブロックの幅又は高さが64を超える場合、ルマコーディングブロック及びクロマコーディングブロックをmin(W,64)×min(H,64)及びmin(W,32)×min(H,32)の倍数の個数の変換ブロックに暗黙的にそれぞれ分割してもよい。
【0098】
その後、上記の変換ブロックの各々は1次変換を受けてもよい。1次変換により、変換ブロックの残差が空間ドメインから周波数ドメインに実質的に移動する。実際の1次変換のいくつかの実現例では、上記の拡張されたコーディングブロック分割の例をサポートするために、複数の変換サイズ(2つの次元の各次元について4点から64点に及ぶ)と変換形状(正方形、幅/高さの比2:1/1:2及び4:1/1:4を持つ矩形)とを許容してもよい。
【0099】
実際の1次変換に注目して、いくつかの実現例では、2次元変換プロセスに複合的変換カーネル(たとえば、コーディングされた残差変換ブロックの次元毎に異なる1次元変換で構成される場合がある)の使用が必要になる場合がある。1次元変換カーネルの例にはa)4点、8点、16点、32点、64点のDCT-2、b)4点、8点、16点の非対称DST類(DST-4、DST-7)及びその反転型、c)4点、8点、16点、32点恒等変換が含まれてもよいが、これらに限定されない。各次元に用いられる変換カーネルの選択はレート-歪み(rate-distortion,RD)基準に基づいてもよい。たとえば、実施し得るDCT-2の基底関数と非対称DSTの基底関数とを表1に示す。
【0100】
【表1】
【0101】
いくつかの実現例では、1次変換の特定の実現例の複合的変換カーネルの有効性は変換ブロックのサイズと予測モードとに基づいてもよい。依存の様子の例を表2に示す。クロマ成分については、変換タイプの選択を暗黙的に行ってもよい。たとえば、イントラ予測残差については、表3に記載されているように、変換タイプをイントラ予測モードに応じて選択してもよい。インター予測残差については、クロマブロックの変換タイプを同一位置のルマブロックの変換タイプの選択に応じて選択してもよい。したがって、クロマ成分については、ビットストリームでの変換タイプのシグナリングは行わない。
【0102】
【表2】
【0103】
【表3】
【0104】
いくつかの実現例では、1次変換係数に2次変換を行ってもよい。たとえば、2次変換の縮小型として知られているLFNST(low-frequency non-separable transform)を先行する1次変換と量子化との間で(エンコーダで)適用し、逆量子化と逆1次変換との間で(デコーダ側で)適用して1次変換係数の相関をさらに弱めてもよい。
【0105】
いくつかの実現例では、変換は図14に示されている線グラフ変換(Line Graph Transform,LGT)を含んでもよい。グラフは頂点及び辺の集合からなる一般化された数学的構造であってもよく、注目対象の親和性の関係をモデル化するのに用いられる。実際には、加重グラフ(重みの集合を辺に割り当てるのに用いられ、頂点にも割り当てる可能性がある)によって信号/データのロバストなモデリングのための散在表現(sparse representation)を提供することができる。LGTにより、多様なブロック統計値に対する優れた適合性を提供することによってコーディング効率を改善することができる。基礎となる行及び列をモデル化するためにデータから線グラフを得ることによって分離可能なLGTの設計及び最適化を行うことができる。このLGTはブロック残差信号の優れた統計値であり、このLGTを導出するのに関連する一般化グラフラプラシアン(generalized graph Laplacian,GGL)行列が用いられる。
【0106】
一実現例では、加重グラフG(W,V)が与えられると、GGL行列をLE=D-W+Vとして生成することができる。ここで、Wは0ではない辺の重みWcからなる隣接行列であってもよい。Dは対角次数行列であってもよい。Vは加重自己閉路Vc,Vcを表す対角行列であってもよい。行列Lを以下のように表すことができる。
【数1】
【0107】
その後、LGTをGGL Lcの固有値分解によって導出することができる。
=UΦU (3)
【0108】
ここで、直交行列Uの列がLGTの基底ベクトルであり、Φは対角固有値行列である。実際に、DCT-2、DCT-8及びDST-7を含むDCT及びDSTはGGLの特定の形態から導出されるLGTである。DCT-2はVc1=0を設定することによって導出され、DST-7はVc=Wcを設定することによって導出され、DCT-8はVc2=Wcを設定することによって導出され、DST-4はVc1=2wを設定することによって導出され、DCT-4はVc2=2wを設定することによって導出される。
【0109】
行列の乗法としてLGTを実施することができる。Lcにおいてvc1=2wを設定することによって4点LGTコア(4p LGT core)を導出してもよく、この設定は当該LGTがDST-4であることを意味する。Lcにおいてvc1=1.5wを設定することによって8点LGTコアを導出してもよく、Lcにおいてvc1=wcを設定することによって16点、32点及び64点LGTコアを導出してもよく、この設定は当該LGTがDST-7であることを意味する。
【0110】
いくつかの実現例では、係数コーディングには、各2次元変換係数を逐次的に処理するコーディング方式とは対照的に、レベルマップ方式(level-map scheme)を用いてもよい。変換ユニット(又は変換ブロック)毎に、係数コーディングはスキップ符号(skip sign)のコーディングから開始され、スキップ符号の後には、変換コーディングがスキップされない場合に備えて、1次変換カーネルタイプのシグナリングと、EOB(end-of-block)位置とが続く。その後、係数値を、符号値を加えた多レベルマップ(multiple level map)法でコーディングする。レベルマップは3つのレベルプレーン、すなわち、低レベルプレーン、中レベルプレーン及び高レベルプレーンとしてコーディングされ、符号はこれらとは別のプレーンとしてコーディングされる。低レベルプレーン、中レベルプレーン及び高レベルプレーンは異なる範囲の係数の大きさに対応するために対応する。低レベルプレーンはたとえば0~2の範囲に対応し、中レベルプレーンはたとえば3~14の範囲に対応し、高レベルプレーンはたとえば15以上の範囲をカバーする。3つのレベルプレーンを、(a)EOB位置を最初にコーディングする、(b)低レベルプレーンと中レベルプレーンとをともに後進スキャン順にコーディングし、スキャン順序が変換ユニットに全体的に適用されるジグザクのスキャンを含んでもよい、(c)符号プレーンと高レベルプレーンとをともに前進スキャン順にコーディングする、(d)残り(係数レベル-14)が、指数ゴロム符号を用いてエントロピーコーディングする、ようにコーディングしてもよい。低レベルプレーンに適用されるコンテキストモデルは1次変換方向(双方向、水平及び垂直)と変換サイズとに依存し、コンテキストを導出するのに近傍物(周波数ドメインの近傍物)の係数が既定の個数(たとえば5個)まで用いられる。中レベルプレーンには同様のコンテキストモデルを用いてもよいが、コンテキスト近傍物係数の個数をたとえば5個から2個に減少させてもよい。高レベルプレーンを、コンテキストモデルを用いずに指数ゴロム符号によってコーディングしてもよい。DC符号はコンテキストモデリングアプローチを用いてコーディングされ、この場合、以下の式(4)に記述されているように、コンテキスト情報を導出するのに上及び左の近傍ブロックのDC符号値の加重平均を用いてもよい。
【0111】
dc_sum=Σi∈neighborsdc_sign(i)*overlap(i,curr_block) (4)
【0112】
加重はカレント変換ブロックと隣接変換ブロックとの交差部分の長さに依存する。DC符号のコーディングに用いられる3つの異なるコンテキストを得るためのインデックスとして、導出されたコンテキスト情報を以下の式5に示されているように用いる。コンテキストモデルを用いずに、他の係数の符号値を直接コーディングすることができる。
dc_ctx =0 dc_sum=0の場合
=1 dc_sum<0の場合
=2 dc_sum>0の場合 (5)
【0113】
上述のエントロピー符号化を行う際、ルマ変換ブロック及びクロマ変換ブロックのDC符号値に近傍物のDC符号値を利用してコンテキスト情報を導出してもよく、たとえば、空間における近傍物が上及び/又は左の近傍物を含んでもよい。その後、変換係数の符号値のエントロピーコーディングがコンテキスト情報に基づいてもよい。
【0114】
本開示には、同一位置のクロマ変換係数の符号値間の強い要素横断的相関(cross component correlation)を活用する、コンテキストモデルを用いた符号値のエントロピー符号化についての様々な実施形態が開示されている。クロマチャネルの符号値にエントロピーコーディングを行うのに用いられるコンテキストを導出するために様々なレベル(係数レベル、サブブロックレベルやブロックレベル)でこの相関を利用してもよい。具体的には、図15に示されているように、異なるレベル(異なる周波数範囲)に相関が存在してもよい。一例では、Cbブロック1502及び同一位置のCrブロック1504において、2つの同一位置の係数ACb1510及びACr1512が同じ符号値を共有してもよい。別の例では、Cbブロック1506及び同一位置のCrブロック1508において、2つの同一位置のサブブロック1514及び1516の係数が同じ値を共有してもよい。さらに別の例では、Cbブロック1506及び同一位置のCrブロック1508などの同一位置の2つのブロックの全体の係数が同じ値を共有してもよい。したがって、エントロピー符号化効率を改善するために様々なレベルで相関を利用することができる。
【0115】
本開示では、用語「同一位置のブロック(co-located block)」は、別の色チャネルにおいて同じ空間位置に位置するブロックを指す場合がある。たとえば、Cbブロック1502とCrブロック1504とが同一位置にある。エントロピー符号化プロセスでは、同一位置の係数/ブロックの一方の符号化を他方の同一位置の係数/ブロックの符号化の前にまず行ってもよい。係数が空間的に同一位置のブロックに属しかつ同一周波数位置に位置する場合に係数は同一位置にある。たとえば、図15において係数1510及び1512が同一位置の係数である。
【0116】
本開示では、用語「同一位置のクロマブロック(co-located chroma block)」は、別のクロミナンス(色)チャネルにおいて同一空間位置に位置するクロマブロックを指す場合がある。同一位置のクロマ係数は、同一位置のCrブロック及びCbブロックについて、周波数ドメインにおける同じ位置のCr係数及びCb係数を指す。
【0117】
本開示では、同一位置の2つの係数を関連係数とも称する場合がある。同様に、同一位置の2つのサブブロックを関連サブブロックとも称する場合がある。たとえば、ACb1510及びACr1512が関連係数である。サブブロック1514及び1516が同一位置のサブブロックである。
【0118】
本開示では、用語「ブロック」は、変換ブロック、コーディングされたブロック、予測ブロックなどを指す場合がある。
【0119】
本開示では、用語「クロマブロック」は、クロミナンス(色)チャネルのいずれかの、ブロックを指す場合がある。
【0120】
エントロピー符号化のコンテキスト導出
上述されているように、特定の変換係数の符号値が同一位置の変換係数と相関を持つことができる。したがって、エントロピー符号化を行う際、特定の変換係数の符号値を、以前にコーディングされた同一位置の変換係数に基づいて導出することができる。
【0121】
一実施態様では、特定のクロマ(たとえばCb又はCr)変換係数の符号値のエントロピーコーディングが、以前にコーディングされた同一位置のクロマ(たとえばCr又はCb)変換係数の符号値に依存する。
【0122】
一実施態様では、特定の変換係数の符号値のエントロピーコーディングについて、エントロピー符号化のコンテキストを、以前にコーディングされた同一位置の変換係数の符号値に基づいて導出してもよい。
【0123】
一実施態様では、特定の変換係数の符号値のエントロピーコーディングについて、変換係数が変換ドメインにおける既定の位置(又は周波数範囲)に位置する場合にだけ、以前にコーディングされた同一位置の変換係数の符号値に基づいてコンテキストを導出してもよい。
【0124】
一実現例では、コンテキスト導出プロセスをDC係数にだけ適用してもよい。
【0125】
一実現例では、コンテキスト導出プロセスをDC係数と既定の低周波係数とにだけ適用してもよい。
【0126】
一実施態様では、係数のDC符号値のコンテキスト導出が以下に依存してもよい。
・上と左の近傍ブロックのDC符号値の加重平均。重みは既定の要因に基づいてもよい。
・同一位置のDC係数の以前にコーディングされた符号値。
【0127】
符号値のシグナリング
上述されているように、特定の変換係数の符号値が同一位置の変換係数と相関を持つことができる。したがって、同一位置の変換係数の符号値をシグナリングするためには、クロマチャネル毎に信号を用いるのではなく、符号値を併せてシグナリングするのに共同信号を用いてもよい。
【0128】
一実施態様では、符号値を共有するために2つの信号を用いてもよい。2つの信号は両方ともCbチャネル及びCrチャネルに適用される。図16に示されているように、まず、第1の信号1602をシグナリングして、関連するすべての色成分の関連する変換係数の符号値が同一であるか否かを通知してもよい。その後、第2の信号1604をシグナリングして符号値そのものを通知してもよい。特定の色チャネルを対象とするものとして第2の信号をコーディングしてもよいが、同一位置のチャネルのためには参照されなくなる。これの代わりに、Cbチャネル及びCrチャネルを対象とするものとして第2の信号をコーディングしてもよい。たとえば、図15に戻って参照して、第1の信号が、ACb1510の符号値とACr1512の符号値とが同じであることを通知してもよく、第2の信号がACb1510及びACr1512の符号値を示してもよい。
【0129】
一実現例では、Cbブロック1506とCrブロック1508などの同一位置のブロックの関連する変換係数がすべて同じであってもよい。この場合、符号値のシグナリングが1つのブロックのみのためにシグナリングされる必要があるといえ、同一位置のブロックについては符号値のシグナリングをスキップしてもよい。たとえば、ブロック1506の符号値のみをシグナリングする必要がある。ブロック1508についての符号値のシグナリングがスキップされることを示すフラグをシグナリングしてもよい。ブロック1508の変換係数の符号値をブロック1506の対応する変換係数から導出してもよい。
【0130】
同じ概念をサブブロックに適用してもよい。一実現例では、サブブロック1514とサブブロック1516などの同一位置のサブブロックの関連する変換係数がすべて同じであってもよい。この場合、符号値のシグナリングが1つのサブブロックのみのためにシグナリングされる必要があるといえ、同一位置のサブブロックについては符号値のシグナリングをスキップしてもよい。たとえば、サブブロック1514の符号値のみをシグナリングする必要がある。サブブロック1516についての符号値シグナリングがスキップされることを示すフラグをシグナリングしてもよい。サブブロック1516の変換係数の符号値をサブブロック1514の対応する変換係数から導出してもよい。
【0131】
一実現例では、サブブロックサイズのサイズは、4×4、4×8、8×4、4×16、16×4、8×8、8×16、16×8、8×32、32×8、16×64、64×16、16×16、16×32、32×16、32×32、32×64、64×32又は64×64のうちの少なくとも1つを含んでもよい。
【0132】
上記の実施形態では、Cb/Crチャネル/ブロックが例示目的のみに用いられている。同様の概念をルマチャネルなどの他のタイプのチャネルに適用してもよい。たとえば、ルマチャネル、Cbチャネル及びCrチャネルの同一位置の変換係数の符号値が同じであることを示す信号を用いてもよい。
【0133】
図17はビデオデータを復号する典型的な方法1700を示す。方法1700は、ビデオデータのコーディングされたビデオビットストリームから第1の変換係数を含む第1のデータブロックを受け取るステップ1710と、コンテキスト情報に基づいて第1の変換係数の符号値のエントロピー復号を行うステップ1720であって、コンテキスト情報はビデオデータの第2のデータブロックの第2の変換係数の符号値に基づいて導出され、第2のデータブロックは第1のデータブロックと同一位置にあり、同一位置にあることは、異なるチャネルの2つのデータブロックが同一空間位置に位置することを指す、ステップ1720との一部又は全部を含んでもよい。
【0134】
本開示の実施形態では、必要に応じて任意のステップ及び/又は動作を任意の諸量又は順序で組み合せたり配置したりしてもよい。ステップ及び/又は動作の2つ以上を並列に実行してもよい。
【0135】
本開示の実施形態を個別に用いても任意の順序で組み合せてもよい。さらに、方法(又は実施形態)、エンコーダ及びデコーダの各々を処理回路(たとえば、1つ以上のプロセッサや1つ以上の集積回路)によって実施してもよい。一例では、非一時的コンピュータ可読媒体に記憶されているプログラムを1つ以上のプロセッサが実行する。本開示の実施形態をルマブロック又はクロマブロックに適用してもよい。
【0136】
コンピュータ可読命令を用い、1つ以上のコンピュータ可読媒体に物理的に記憶されるコンピュータソフトウェアとして上述の手法を実施することができる。たとえば、図18は開示されている保護対象のいくつかの実施形態を実施するのに好適なコンピュータシステム(1800)を示す。
【0137】
コンピュータソフトウェアは、任意の適切なマシン語すなわちコンピュータ言語を用いてコード化することができ、このコンピュータ言語は、命令を含むコードを生成するためのアセンブリ、コンパイル、リンク、又は同様の機構によって処理される場合があり、この命令は、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって、直接実行したり、解釈、マイクロコードの実行などを通じて実行したりすることができる。
【0138】
命令は、たとえば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータ又はその構成要素で実行することができる。
【0139】
コンピュータシステム(1800)の図18に示されている構成要素も当然典型的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用又は機能の範囲に関していかなる限定の示唆も意図していない。さらには、構成要素の構成が、コンピュータシステム(1800)の典型的な実施形態に示されている構成要素のいずれか1つ又はこれらの組合せに関連する依存性又は要求を持つと解釈するべきでもない。
【0140】
コンピュータシステム(1800)はいくつかのヒューマンインターフェイス入力デバイスを含んでもよい。このようなヒューマンインターフェイス入力デバイスは、たとえば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を通じて1人以上の人間のユーザによる入力に応答するものであってもよい。ヒューマンインターフェイスデバイスを用いることで、音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得した写真画像など)、映像(二次元映像、立体映像を含む三次元映像など)など、人間による意識的な入力に必ずしも直接関連しないなんらかの媒体を獲得することもできる。
【0141】
入力ヒューマンインターフェイスデバイスは、キーボード(1801)、マウス(1802)、トラックパッド(1803)、タッチ画面(1810)、データグローブ(図示せず)、ジョイスティック(1805)、マイク(1806)、スキャナ(1807)、カメラ(1808)の1つ以上(各々の1つのみが図示されている)を含んでもよい。
【0142】
コンピュータシステム(1800)はいくつかのヒューマンインターフェイス出力デバイスも含んでもよい。このようなヒューマンインターフェイス出力デバイスは、たとえば、触覚出力、音、光及び嗅覚/味覚を通じて1人以上の人間のユーザの感覚を刺激してもよい。このようなヒューマンインターフェイス出力デバイスは、触覚出力デバイス(たとえば、タッチ画面(1810)、データグローブ(図示せず)又はジョイスティック(1805)による触覚フィードバック。ただし、入力デバイスとして用いられない触覚フィードバックデバイスも存在することができる)、音声出力デバイス(スピーカ(1809)、ヘッドホン(図示せず)など)、視覚出力デバイス(CRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(1810)など。各々にはタッチ画面入力機能があったりなかったりし、触覚フィードバック機能があったりなかったりする。上記の画面のいくつかは、二次元視覚出力を出力したり、立体グラフィック出力などの手段を通じて三次元以上の出力を出力したりする能力があってもよい。バーチャルリアリティグラス(図示せず)、ホログラムディスプレイ、発煙剤タンク(図示せず))及びプリンタ(図示せず)を含んでもよい。
【0143】
コンピュータシステム(1800)は、CD/DVD又は同様の媒体を用いるCD/DVD ROM/RW(1820)を含む光学媒体(1821)、サムドライブ(1822)、リムーバブルハードドライブやソリッドステートドライブ(1823)、テープやフロッピーディスクなどのレガシー磁気媒体(図示せず)、セキュリティドングルなどの特化型のROM/ASIC/PLDベースのデバイス(図示せず)などの人間が直接操作し得る記憶デバイス及びこれに関連する媒体も含むことができる。
【0144】
ここで開示されている保護対象に関連して用いられている用語「コンピュータ可読媒体」が伝送媒体、搬送波又はその他一時的な信号を含まないことも当業者は当然理解する。
【0145】
コンピュータシステム(1800)は1つ以上の通信ネットワーク(1855)に対するインターフェイス(1854)も含むことができる。ネットワークはたとえば、無線ネットワーク、有線ネットワーク、光学ネットワークであることが可能である。さらに、ネットワークはローカル、広域、大都市圏、車両用及び産業用、リアルタイム、遅延耐性などのネットワークであることが可能である。ネットワークの例には、Ethernetなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラネットワーク、ケーブルテレビ、衛星テレビ及び地上波テレビを含むテレビの有線又は無線広域デジタルネットワーク、CANbusを含む車両用及び産業用などが含まれる。あるネットワークには、いくつかの汎用データポート又はペリフェラルバス(1849)(たとえば、コンピュータシステム(1800)のUSBポート)に一般的な仕方で取り付けられる外部ネットワークインターフェイスアダプタが必要であり、その他のネットワークについては、後述のようにシステムバスに取り付けることによってコンピュータシステム(1800)のコアに一般的な仕方で組み込まれる(たとえば、PCコンピュータシステムにはEthernetインターフェイスであったりスマートフォンコンピュータシステムにはセルラネットワークインターフェイスであったりする)。このようなネットワークのいずれを用いても、コンピュータシステム(1800)は相手方と通信することができる。このような通信は、一方向、受信専用(たとえば、テレビ放送)、一方向送信専用(たとえば、CANbusから特定のCANbusデバイス)又は双方向、たとえば、ローカル若しくは広域デジタルネットワークを用いた他のコンピュータシステムに対する双方向の通信であることが可能である。上述のこのようなネットワーク及びネットワークインターフェイスの各々にいくつかのプロトコル及びプロトコルスタックを用いることができる。
【0146】
上述のヒューマンインターフェイスデバイス、人間が直接操作し得る記憶デバイス及びネットワークインターフェイスをコンピュータシステム(1800)のコア(1840)に取り付けることができる。
【0147】
コア(1840)は、1つ以上の中央処理装置(CPU)(1841)、グラフィックス処理装置(GPU)(1842)、フィールドプログラマブルゲートアレイ(FPGA)(1843)の形態をとる特化型プログラム可能処理装置、特定のタスク用のハードウェアアクセラレータ(1844)、グラフィックアダプタ(1850)などを含むことができる。このようなデバイスを、読出し専用メモリ(ROM)(1845)、ランダムアクセスメモリ(1846)、内部にあってユーザが直接操作し得ないハードドライブ、SSDなどの内部大容量ストレージ(1847)とともにシステムバス(1848)を通じて接続してもよい。いくつかのコンピュータシステムでは、システムバス(1848)は、追加のCPU、GPUなどによって拡張を可能にする1つ以上の物理的なプラグの形態をとる直接操作し得るものであることが可能である。周辺機器をコアのシステムバス(1848)に直接取り付けるか、ペリフェラルバス(1849)を介して取り付けるかすることができる。一例では、画面(1810)をグラフィックアダプタ(1850)に接続することができる。ペリフェラルバスのアーキテクチャにはPCI、USBなどが含まれる。
【0148】
CPU(1841)、GPU(1842)、FPGA(1843)及びアクセラレータ(1844)は、組み合されて上述のコンピュータコードを構築することができるいくつかの命令を実行することができる。当該コンピュータコードをROM(1845)又はRAM(1846)に記憶することができる。RAM(1846)には過渡的データも記憶することができる一方で、不変データをたとえば内部大容量ストレージ(1847)に記憶することができる。1つ以上のCPU(1841)、GPU(1842)、大容量ストレージ(1847)、ROM(1845)、RAM(1846)などと密接に関連することができるキャッシュメモリを用いることにより、メモリデバイスのいずれかに対する高速記憶及び読出しを可能にすることができる。
【0149】
コンピュータ可読媒体には様々なコンピュータ実施動作を実行するためのコンピュータコードを搭載することができる。媒体及びコンピュータコードは本開示のために特別に設計及び構成されたものであることが可能であるし、コンピュータソフトウェア技術の当業者によく知られ、当業者が入手可能な種類のものであることが可能である。
【0150】
限定を課さない例として、アーキテクチャ(1800)を有し、特にコア(1840)を有するコンピュータシステムは、1つ以上のプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形のコンピュータ可読媒体で実施されたソフトウェアを実行した結果として機能を提供することができる。このようなコンピュータ可読媒体は、上述されているような、ユーザが直接操作し得る大容量ストレージに関連する媒体であることが可能であり、さらには、コア内蔵大容量ストレージ(1847)やROM(1845)などの非一時性のストレージであるコア(1840)の特定のストレージであることも可能である。本開示の様々な実施形態を実施するソフトウェアをこのようなデバイスに記憶してコア(1840)によって実行することができる。コンピュータ可読媒体は個々の要求に応じて1つ以上のメモリデバイスやチップを含むことができる。ソフトウェアにより、コア(1840)、特にコア(1840)中のプロセッサ(CPU、GPU、FPGAなどを含む)が、RAM(1846)に記憶されているデータ構造の定義と、ソフトウェアによって定義されているプロセスに応じたこのようなデータ構造の修正とを含む、本出願で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行することができる。これに加えて、又はこれの代わりとして、本出願で説明されている特定のプロセス又は特定のプロセスの特定の部分を実行するようにソフトウェアの代わりに動作したり、ソフトウェアと協働したりすることができる回路(たとえばアクセラレータ(1844))にロジックがハードワイヤードされたり、ロジックが別の仕方で実施された結果としてコンピュータシステムは機能を提供することができる。必要に応じて、「ソフトウェア」と記載されている場合にはロジックを包含する場合があり、逆も可能である。必要に応じて、「コンピュータ可読媒体」と記載されている場合には、実行されるソフトウェアを記憶する回路(集積回路(IC)など)や、実行されるロジックを実施する回路や、これらの両方を包含する場合がある。本開示にはハードウェアとソフトウェアとの任意の適切な組合せが含まれる。
【0151】
本開示ではいくつかの典型的な実施形態を説明してきたが、変形例、置換例及び様々な代替均等例が存在し、これらは本開示の範囲に含まれる。したがって、当業者であれば、本出願で明示的に示されていたり説明されていたりしなくても、本開示の原理を実施し、したがってその精神及び範囲内にある多数のシステム及び方法を想起することができることが分かる。
【0152】
付記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
GOPs:Groups of Picture
TUs:Transform Unit
PUs:Prediction Unit
CTUs:Coding Tree Unit
CTBs:Coding Tree Block
PBs:Prediction Block
HRD:Hypothetical Reference Decoder
SNR:Signal Noise Ratio
CPUs:Central Processing Unit
GPUs:Graphics Processing Unit
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 Area
SSD:solid-state drive
IC:Integrated Circuit
HDR:high dynamic range
SDR:standard dynamic range
JVET:Joint Video Exploration Team
MPM:most probable mode
WAIP:Wide-Angle Intra Prediction
CU:Coding Unit
PU:Prediction Unit
TU:Transform Unit
CTU:Coding Tree Unit
PDPC:Position Dependent Prediction Combination
ISP:Intra Sub-Partition
SPS:Sequence Parameter Setting
PPS:Picture Parameter Set
APS:Adaptation Parameter Set
VPS:Video Parameter Set
DPS:Decoding Parameter Set
ALF:Adaptive Loop Filter
SAO:Sample Adaptive Offset
CC-ALF:Cross-Component Adaptive Loop Filter
CDEF:Constrained Directional Enhancement Filter
CCSO:Cross-Component Sample Offset
LSO:Local Sample Offset
LR:Loop Restoration Filter
AV1:AOMedia Video 1
AV2:AOMedia Video 2
【符号の説明】
【0153】
300 通信システム
310,320,330,340 端末デバイス
350 ネットワーク
400 通信システム
401 ビデオソース
402 ビデオピクチャのストリーム
403 ビデオエンコーダ
404 符号化されたビデオデータ
405 ストリーミングサーバ
406 クライアントサブシステム
407,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 インターデコーダ
1800 アーキテクチャ
1800 コンピュータシステム
1801 キーボード
1802 マウス
1803 トラックパッド
1805 ジョイスティック
1806 マイク
1807 スキャナ
1808 カメラ
1809 スピーカ
1810 タッチ画面
1820 CD/DVD ROM/RW
1821 光学媒体
1822 サムドライブ
1823 ソリッドステートドライブ
1840 コア
1841 CPU
1842 GPU
1843 FPGA
1844 ハードウェアアクセラレータ
1845 ROM
1846 RAM
1847 大容量ストレージ
1848 システムバス
1849 ペリフェラルバス
1850 グラフィックアダプタ
1854 インターフェイス
1855 通信ネットワーク
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
【手続補正書】
【提出日】2024-03-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコーダでビデオデータを復号する方法であって、
前記ビデオデータのコーディングされたビデオビットストリームを受け取るステップと、
前記コーディングされたビデオビットストリームから第1の信号を抽出するステップであって、前記第1の信号は、第1のデータブロックの第1の変換係数と、前記第1のデータブロックと同一位置にある第2のデータブロックの関連する第2の変換係数とが同じ符号値を有するか否かを示す、ステップと、
前記第1の信号に基づいて前記第1の変換係数及び前記第2の変換係数のターゲット符号値を導出するステップと
を含む方法。
【請求項2】
前記第1の変換係数と前記関連する第2の変換係数とが前記同じ符号値を有することを前記第1の信号が示すことに応答して、前記コーディングされたビデオビットストリームから第2の信号を抽出するステップであって、前記第2の信号は、前記ターゲット符号値の符号値を示す、ステップ
をさらに含み、
前記第1の信号に基づいて前記第1の変換係数及び前記第2の変換係数のターゲット符号値を導出する前記ステップは、
前記第1の信号及び前記第2の信号に基づいて前記第1の変換係数及び前記第2の変換係数のターゲット符号値を導出するステップ
を含む、請求項に記載の方法。
【請求項3】
前記第1のデータブロックがCbのコーディングされたブロックを含み、かつ前記第2のデータブロックがCrのコーディングされたブロックを含む、又は
前記第1のデータブロックがCrのコーディングされたブロックを含み、かつ前記第2のデータブロックがCbのコーディングされたブロックを含む、請求項に記載の方法。
【請求項4】
デコーダでビデオデータを復号する方法であって、
前記ビデオデータのコーディングされたビデオビットストリームを受け取るステップと、
前記コーディングされたビデオビットストリームから信号を抽出するステップであって、前記信号は、第1のデータブロックのサブブロックの変換係数の符号値の各々が第2のデータブロックのサブブロックの関連する変換係数の符号値に等しいか否かを示し、第1のデータブロックの前記サブブロックは、第2のデータブロックの前記サブブロックと同一位置にある、ステップと、
前記第1のデータブロックの前記サブブロックの前記変換係数の前記符号値の各々が前記第2のデータブロックの前記サブブロックの前記関連する変換係数の前記符号値に等しいことを前記信号が示すことに応答して、
前記第2のデータブロックの前記サブブロックの前記関連する変換係数の前記符号値に基づいて前記第1のデータブロックの前記サブブロックの前記変換係数の前記符号値の各々を導出するステップと
を含む方法。
【請求項5】
前記第1のデータブロックがCbのコーディングされたブロックを含み、かつ前記第2のデータブロックがCrのコーディングされたブロックを含む、又は
前記第1のデータブロックがCrのコーディングされたブロックを含み、かつ前記第2のデータブロックがCbのコーディングされたブロックを含む、請求項に記載の方法。
【請求項6】
前記第1のデータブロックの前記サブブロックが前記第1のデータブロックと一致し、前記第2のデータブロックの前記サブブロックが前記第2のデータブロックと一致する、請求項に記載の方法。
【請求項7】
前記第1のデータブロック又は前記第2のデータブロックの前記サブブロックのサイズは、4×4、4×8、8×4、4×16、16×4、8×8、8×16、16×8、8×32、32×8、16×64、64×16、16×16、16×32、32×16、32×32、32×64、64×32又は64×64のうちの1つを含む、請求項に記載の方法。
【外国語明細書】