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

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

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

特開2024-156924イントラモード符号化のための方法、装置及びコンピュータプログラム
<>
  • 特開-イントラモード符号化のための方法、装置及びコンピュータプログラム 図1
  • 特開-イントラモード符号化のための方法、装置及びコンピュータプログラム 図2
  • 特開-イントラモード符号化のための方法、装置及びコンピュータプログラム 図3
  • 特開-イントラモード符号化のための方法、装置及びコンピュータプログラム 図4
  • 特開-イントラモード符号化のための方法、装置及びコンピュータプログラム 図5
  • 特開-イントラモード符号化のための方法、装置及びコンピュータプログラム 図6
  • 特開-イントラモード符号化のための方法、装置及びコンピュータプログラム 図7
  • 特開-イントラモード符号化のための方法、装置及びコンピュータプログラム 図8
  • 特開-イントラモード符号化のための方法、装置及びコンピュータプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024156924
(43)【公開日】2024-11-06
(54)【発明の名称】イントラモード符号化のための方法、装置及びコンピュータプログラム
(51)【国際特許分類】
   H04N 19/11 20140101AFI20241029BHJP
   H04N 19/157 20140101ALI20241029BHJP
   H04N 19/176 20140101ALI20241029BHJP
   H04N 19/593 20140101ALI20241029BHJP
   H04N 19/70 20140101ALI20241029BHJP
【FI】
H04N19/11
H04N19/157
H04N19/176
H04N19/593
H04N19/70
【審査請求】有
【請求項の数】1
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024130704
(22)【出願日】2024-08-07
(62)【分割の表示】P 2023131418の分割
【原出願日】2019-09-05
(31)【優先権主張番号】62/734,996
(32)【優先日】2018-09-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/198,951
(32)【優先日】2018-11-23
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
(57)【要約】
【課題】ビデオシーケンスの復号のためのイントラ予測を制御する方法および装置が提供される。
【解決手段】この方法は、符号化単位の高さに対する幅の比を決定することと、前記決定された比が1とは異なることに基づいて、イントラ予測角度に対応するイントラ予測モードを含んでいる表に、符号化単位の左下の辺に向かう第1の広角度、符号化単位の右上の辺に向かう第2の広角度、ならびに第1の広角度および第2の広角度にそれぞれ対応する追加のイントラ予測モードを追加することとを含む。この方法は、ビデオシーケンスの復号のために、前記イントラ予測モードおよび表に追加された前記追加のイントラ予測モードのうちの1つを選択することをさらに含む。
【選択図】図7
【特許請求の範囲】
【請求項1】
ビデオシーケンスの復号のためのイントラ予測を制御する方法であって、
前記方法は、少なくとも1つのプロセッサによって実行され、
前記少なくとも1つのプロセッサが、
符号化単位の高さに対する幅の比を決定するステップと、
決定した前記比が1とは異なることに基づいて、イントラ予測角度に対応する複数のイントラ予測モードを含む表に、前記符号化単位の左下の辺へと向かう第1の広角度、前記符号化単位の右上の辺へと向かう第2の広角度、ならびに前記第1の広角度および前記第2の広角度にそれぞれ対応する追加のイントラ予測モードを追加するステップと、
前記ビデオシーケンスの復号のために、前記複数のイントラ予測モードおよび前記表に追加した前記追加のイントラ予測モードのうちの少なくとも1つを選択するステップと、
を含み、
前記表に含まれる前記イントラ予測角度の各々は、tan(α)が{0/32,1/32,2/32,3/32,4/32,6/32,8/32,10/32,12/32,14/32,16/32,18/32,20/32,23/32,26/32,29/32,32/32}に等しい角度方向αを有する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願への相互参照〕
本出願は、米国特許商標庁における2018年9月21日付の米国特許仮出願第62/734,996号および2018年11月23日付の米国特許出願第16/198,951号の優先権を主張し、これらの出願は、その全体が参照により本明細書に援用される。
【0002】
実施形態に係る方法および装置は、ビデオ処理に関し、より詳細には、イントラモード符号化のための方法および装置に関する。
【背景技術】
【0003】
高効率ビデオ符号化(HEVC)において使用されるイントラ予測モードを図1に示す。HEVCには合計で35個のイントラ予測モードが存在し、その中でも、モード10(101)が水平モードであり、モード26(102)が垂直モードであり、モード2(103)、モード18(104)、およびモード34(105)が対角モードである。イントラ予測モードは、3つの最確モード(MPM)および残りの32個のモードによって通知される。
【0004】
イントラモードの符号化においては、サイズ3の最確モード(MPM)リストが、隣接ブロックのイントラモードに基づいて作成される。このMPMリストは、MPMリストまたはプライマリMPMリストと呼ばれる。現在のモードがMPMリストに属するかどうかを示すために、1つのMPMフラグが通知される。MPMフラグが真である場合、単進符号がMPMインデックスを通知するために使用される。MPMフラグが偽である場合、5ビットの固定長符号化が残りのモードを通知するために使用される。
【0005】
MPMリスト生成の生成プロセスは、以下のように示される。ここで、leftIntraDirは、左側のブロックにおけるモードを示し、aboveIntraDirは、上側のブロックにおけるモードを示す。左側または上側のブロックが現時点において利用できない場合、leftIntraDirまたはaboveIntraDirは、指数DC_IDXに設定される。また、変数「offset」および「mod」は、それぞれ29および32に設定された定数値である。
・If(leftIntraDir==aboveIntraDir&&leftIntraDir>DC_IDX)
MPM[0]=leftIntraDir;
MPM[1]=((leftIntraDir+offset)%mod)+2;
MPM[2]=((leftIntraDir-1)%mod)+2;
・Else if(leftIntraDir==aboveIntraDir)
MPM[0]=PLANAR_IDX;
MPM[1]=DC_IDX;
MPM[2]=VER_IDX;
・Else if(leftIntraDir!=aboveIntraDir)
MPM[0]=leftIntraDir;
MPM[1]=aboveIntraDir;
If(leftIntraDir>0&&aboveIntraDir>0)
・MPM[2]=PLANAR_IDX;
Else
・MPM[2]=(leftIntraDir+aboveIntraDir)<2?VER_IDX:DC_IDX;
【発明の概要】
【課題を解決するための手段】
【0006】
いくつかの実施形態によれば、ビデオシーケンスの復号のためのイントラ予測を制御する方法が、少なくとも1つのプロセッサによって実行され、符号化単位の高さに対する幅の比を決定することと、決定された比が1とは異なることに基づいて、イントラ予測角度に対応する複数のイントラ予測モードを含んでいる表に、符号化単位の左下の辺(edge)へと向かう第1の広角度、符号化単位の右上の辺(edge)へと向かう第2の広角度、ならびに第1の広角度および第2の広角度にそれぞれ対応する追加のイントラ予測モードを追加することとを含む。この方法は、ビデオシーケンスの復号のために、前記複数のイントラ予測モードおよび表に追加された前記追加のイントラ予測モードのうちの1つを選択することをさらに含む。
【0007】
いくつかの実施形態によれば、ビデオシーケンスの復号のためのイントラ予測を制御するための装置が、コンピュータプログラムコードを格納するように構成された少なくとも1つのメモリと、少なくとも1つのメモリにアクセスし、コンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサとを含む。コンピュータプログラムコードは、符号化単位の高さに対する幅の比を決定することを、少なくとも1つのプロセッサに実行させるように構成された決定コードと、決定された比が1とは異なることに基づいて、イントラ予測角度に対応する複数のイントラ予測モードを含んでいる表に、符号化単位の左下の辺へと向かう第1の広角度、符号化単位の右上の辺へと向かう第2の広角度、ならびに第1の広角度および第2の広角度にそれぞれ対応する追加のイントラ予測モードを追加することを、少なくとも1つのプロセッサに実行させるように構成された追加コードとを含む。コンピュータプログラムコードは、ビデオシーケンスの復号のために、前記複数のイントラ予測モードおよび表に追加された前記追加のイントラ予測モードのうちの1つを選択することを、少なくとも1つのプロセッサに実行させるように構成された選択コードをさらに含む。
【0008】
いくつかの実施形態によれば、非一時的なコンピュータ可読記憶媒体が、符号化単位の高さに対する幅の比を決定すること、および決定された比が1とは異なることに基づいて、イントラ予測角度に対応する複数のイントラ予測モードを含んでいる表に、符号化単位の左下の辺へと向かう第1の広角度、符号化単位の右上の辺へと向かう第2の広角度、ならびに第1の広角度および第2の広角度にそれぞれ対応する追加のイントラ予測モードを追加することを、プロセッサに実行させる命令を格納する。命令は、ビデオシーケンスの復号のために、前記複数のイントラ予測モードおよび表に追加された前記追加のイントラ予測モードのうちの1つを選択することを、プロセッサにさらに実行させる。
【図面の簡単な説明】
【0009】
図1】HEVCにおけるイントラ予測モードの図である。
図2】一実施形態による通信システムの概略のブロック図である。
図3】一実施形態によるストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す図である。
図4】一実施形態によるビデオデコーダの機能ブロック図である。
図5】一実施形態によるビデオエンコーダの機能ブロック図である。
図6】多用途ビデオ符号化(VVC)のDraft 2におけるイントラ予測モードを示す図である。
図7】一実施形態によるビデオシーケンスの復号のためのイントラ予測を制御する方法を示すフローチャートである。
図8】一実施形態によるビデオシーケンスの復号のためのイントラ予測を制御するための装置の概略のブロック図である。
図9】実施形態の実装に適したコンピュータシステムを示す図である。
【発明を実施するための形態】
【0010】
図2は、一実施形態による通信システム(200)の概略のブロック図である。通信システム(200)は、ネットワーク(250)を介して互いに接続された少なくとも2つの端末(210~220)を含み得る。データの一方向送信の場合、第1の端末(210)が、ネットワーク(250)を介して他の端末(220)へと送信するために、ローカル位置でビデオデータを符号化することができる。第2の端末(220)は、ネットワーク(250)から他の端末の符号化されたビデオデータを受信し、符号化されたデータを復号して、回復されたビデオデータを表示することができる。一方向のデータ送信は、メディア提供アプリケーションなどにおいて一般的であり得る。
【0011】
図2は、例えばビデオ会議の最中に生じ得る符号化されたビデオの双方向送信をサポートするために提供された第2組の端末(230、240)を示している。データの双方向送信の場合、各々の端末(230、240)は、ネットワーク(250)を介して他方の端末へと送信するために、ローカル位置でキャプチャされたビデオデータを符号化することができる。さらに、各々の端末(230、240)は、他方の端末によって送信された符号化されたビデオデータを受信し、符号化されたデータを復号し、回復されたビデオデータをローカルディスプレイデバイスに表示することができる。
【0012】
図2において、端末(210~240)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして例示され得るが、実施形態の原理は、そのように限定されない。実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器に適用可能である。ネットワーク(250)は、例えば有線および/または無線通信ネットワークなど、符号化されたビデオデータを端末(210~240)間で伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回路交換および/またはパケット交換チャネルにてデータを交換することができる。代表的なネットワークとして、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが挙げられる。本明細書の目的において、ネットワーク(250)のアーキテクチャおよび接続形態は、以下で本明細書において説明されない限り、実施形態の動作にとって重要ではないかもしれない。
【0013】
図3が、一実施形態によるストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置の図である。開示される主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの格納などを含む他のビデオ対応アプリケーションにも等しく適用可能であり得る。
【0014】
ストリーミングシステムは、例えば非圧縮ビデオサンプルストリーム(302)を生成するデジタルカメラなどのビデオソース(301)を含むことができるキャプチャサブシステム(313)を含み得る。エンコード後のビデオビットストリームと比較してデータ量が多いことを強調するために太線で示されているこのサンプルストリーム(302)は、カメラ(301)に接続されたエンコーダ(303)によって処理され得る。エンコーダ(303)は、以下でさらに詳しく説明されるように、本開示の主題の態様を可能にし、あるいは実行するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含み得る。サンプルストリームと比較してデータ量が少ないことを強調するために細い線で示されているエンコードされたビデオビットストリーム(304)は、将来の使用のためにストリーミングサーバ(305)に格納され得る。1つ以上のストリーミングクライアント(306、308)が、ストリーミングサーバ(305)にアクセスして、エンコードされたビデオビットストリーム(304)のコピー(307、309)を取得し得る。クライアント(306)は、エンコードされたビデオビットストリーム(307)のコピーを受け取って復号し、ディスプレイ(312)または他のレンダリングデバイス(図示せず)においてレンダリングすることができる出力ビデオサンプルストリーム(311)を生成するビデオデコーダ(310)を含み得る。一部のストリーミングシステムにおいて、ビデオビットストリーム(304、307、309)は、特定のビデオ符号化/圧縮規格に従ってエンコードされ得る。それらの規格の例として、ITU-Tの勧告H.265が挙げられる。非公式にVVCとして知られるビデオ符号化規格が、開発中である。本開示の主題は、VVCの文脈において使用され得る。
【0015】
図4が、一実施形態によるビデオデコーダ(310)の機能ブロック図である。
【0016】
レシーバ(410)が、デコーダ(310)によって復号される1つ以上のコーデックビデオシーケンスを受信することができ、同じ実施形態または一実施形態においては、一度に1つの符号化されたビデオシーケンスであり、各々の符号化されたビデオシーケンスの復号は、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスを、エンコードされたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであってよいチャネル(412)から受信することができる。レシーバ(410)は、エンコードされた符号化ビデオデータを、それぞれの使用エンティティ(図示せず)へと転送され得る他のデータ、例えば符号化されたオーディオデータおよび/または補助データストリームと一緒に、受信することができる。レシーバ(410)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(415)が、レシーバ(410)とエントロピデコーダ/パーサ(420)(以下では、「パーサ」)との間に接続され得る。レシーバ(410)が、充分な帯域幅および制御性の蓄積/転送装置またはアイソシクロナスネットワークからデータを受信している場合、バッファ(415)は不要かもしれず、あるいは小さくてよい。インターネットなどのベストエフォートパケットネットワークにおいて使用される場合、バッファ(415)が必要とされる可能性合があり、バッファ(415)は、比較的大きくてよく、好都合には適応的なサイズであってよい。
【0017】
ビデオデコーダ(310)は、エントロピ符号化ビデオシーケンスからシンボル(421)を再現するためのパーサ(420)を含み得る。これらのシンボルの種類として、図4に示されているように、デコーダ(310)の動作を管理するために使用される情報が挙げられ、おそらくは、デコーダの一体の一部分ではないが、デコーダに接続されてよいディスプレイ(312)などのレンダリングデバイスを制御するための情報が挙げられる。レンダリングデバイスの制御情報は、補足拡張情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形態であってよい。パーサ(420)は、受信した符号化されたビデオシーケンスの解析/エントロピ復号を行うことができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または規格に準拠することができ、可変長符号化、ハフマン符号化、文脈依存性を有し、あるいは有さない算術符号化、などの当業者に周知の原理に従うことができる。パーサ(420)は、符号化されたビデオシーケンスから、ビデオデコーダにおけるピクセルのサブグループのうちの少なくとも1つのための一式のサブグループパラメータを、グループに対応する少なくとも1つのパラメータに基づいて抽出することができる。サブグループは、ピクチャのグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化単位(CU)、ブロック、変換単位(TU)、予測単位(PU)、などを含み得る。さらに、エントロピデコーダ/パーサは、符号化されたビデオシーケンスから、変換係数、量子化パラメータ(QP)値、動きベクトル、などの情報も抽出することができる。
【0018】
パーサ(420)は、バッファ(415)から受信されたビデオシーケンスに対してエントロピ復号/解析動作を実行して、シンボル(421)を生成することができる。パーサ(420)は、エンコードされたデータを受信し、特定のシンボル(421)を選択的に復号することができる。さらに、パーサ(420)は、特定のシンボル(421)を動き補償予測ユニット(453)、スケーラ/逆変換ユニット(451)、イントラ予測ユニット(452)、またはループフィルタユニット(454)へと供給すべきか否かを決定することができる。
【0019】
シンボルの再現(421)には、符号化されたビデオピクチャまたはその一部のタイプ(インターおよびイントラピクチャ、インターおよびイントラブロックなど)、およびその他の要因に応じて、複数の異なるユニットが関与し得る。どのユニットが関与し、どのように関与するのかを、パーサ(420)によって符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(420)と後述の複数のユニットとの間のそのようなサブグループ制御情報の流れは、分かりやすくするために示されていない。
【0020】
すでに述べた機能ブロックの他に、デコーダ(310)を、概念的には、以下で説明されるように、いくつかの機能ユニットへと細分化することができる。商業的な制約の下で動作する実際の実装においては、これらのユニットの多くが互いに密接に相互作用し、少なくとも部分的には互いに統合されてよい。しかしながら、本開示の主題を説明する目的で、以下の機能ユニットへの概念的な細分化が適切である。
【0021】
第1のユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、量子化された変換係数、ならびに使用する変換、ブロックサイズ、量子化係数、量子化スケーリングマトリックス、などの制御情報を、パーサ(420)からシンボル(421)として受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)へと入力することができるサンプル値を含むブロックを出力することができる。
【0022】
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラ符号化ブロック、すなわち以前に再現されたピクチャからの予測情報を使用しておらず、むしろ現在のピクチャの以前に再現された部分からの予測情報を使用することができるブロックに関係できる。そのような予測情報を、イントラピクチャ予測ユニット(452)によってもたらすことができる。場合によっては、イントラピクチャ予測ユニット(452)は、現在の(途中まで再現された)ピクチャ(456)から取得される周囲のすでに再現された情報を使用して、再現中のブロックと同じサイズおよび形状のブロックを生成する。アグリゲータ(455)は、場合によっては、サンプルごとのやり方で、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によってもたらされた出力サンプル情報に追加する。
【0023】
他の場合に、スケーラ/逆変換ユニット(451)の出力サンプルは、インター符号化され、場合によっては動き補償されたブロックに関係し得る。そのような場合、動き補償予測ユニット(453)が、参照ピクチャメモリ(457)にアクセスして、予測に使用されるサンプルを取得することができる。ブロックに関係するシンボル(421)に従って取得されたサンプルを動き補償した後に、これらのサンプルを、アグリゲータ(455)によって、スケーラ/逆変換ユニットの出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加して、出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルを取得する参照ピクチャメモリフォーム内のアドレスを、例えばX、Y、および参照ピクチャコンポーネントを有することができるシンボル(421)の形態で動き補償ユニットにとって利用可能である動きベクトルによって制御することができる。さらに、動き補償は、サブサンプルの正確な動きベクトルが使用されているときの参照ピクチャメモリから取得されたサンプル値の補間、動きベクトル予測機構、などを含むことができる。
【0024】
アグリゲータ(455)の出力サンプルに、ループフィルタユニット(454)においてさまざまなループフィルタ処理技術を適用することができる。ビデオ圧縮技術は、符号化されたビデオビットストリームに含まれ、パーサ(420)からのシンボル(421)としてループフィルタユニット(454)にとって利用可能にされるパラメータによって制御されるが、符号化されたピクチャまたは符号化されたビデオシーケンスの(復号の順番における)以前の部分の復号において得られたメタ情報に応答、ならびに以前に再現されてループフィルタ処理されたサンプル値に応答してもよいループ内フィルタ技術を含むことができる。
【0025】
ループフィルタユニット(454)の出力は、レンダリングデバイス(312)へと出力されてよく、さらには将来のインターピクチャ予測において使用するために参照ピクチャメモリ(456)に格納されてよいサンプルストリームであってよい。
【0026】
特定の符号化されたピクチャは、ひとたび完全に再現されると、将来の予測のための参照ピクチャとして使用可能である。ひとたび符号化されたピクチャが完全に再現され、符号化されたピクチャが(例えば、パーサ(420)によって)参照ピクチャとして識別されると、現在の参照ピクチャ(456)は、参照ピクチャバッファ(457)の一部となることができ、新たな現在のピクチャメモリを、次の符号化されたピクチャの再現を開始する前に割り当て直すことができる。
【0027】
ビデオデコーダ(310)は、ITU-T Rec H265などの規格において文書化され得る所定のビデオ圧縮技術に従って復号動作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術の文書または規格、特にはそのプロファイル文書に指定されたとおりのビデオ圧縮技術または規格の構文を忠実に守るという意味で、使用されているビデオ圧縮技術または規格によって指定された構文に従い得る。また、符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された境界の範囲内にあることも、準拠のために必要であり得る。場合によっては、レベルによって最大ピクチャサイズ、最大フレームレート、最大再現サンプルレート(例えば、メガサンプル/秒で測定される)、最大参照ピクチャサイズ、などが制限される。レベルによって設定された制限は、場合によっては、仮想参照デコーダ(HRD)の仕様および符号化されたビデオシーケンスにおいて通知されるHRDバッファ管理のためのメタデータによってさらに制限され得る。
【0028】
一実施形態において、レシーバ(410)は、エンコードされたビデオと共に追加の(冗長な)データを受信することができる。追加のデータは、符号化されたビデオシーケンスの一部として含まれ得る。追加のデータは、データを適切に復号し、かつ/または元のビデオデータをより正確に再現するために、ビデオデコーダ(310)によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号対雑音比(SNR)拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正コード、などの形態であり得る。
【0029】
図5は、一実施形態によるビデオエンコーダ(303)の機能ブロック図である。
【0030】
エンコーダ(303)は、エンコーダ(303)によって符号化されるべきビデオ画像をキャプチャし得るビデオソース(301)(エンコーダの一部ではない)からビデオサンプルを受信することができる。
【0031】
ビデオソース(301)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、など)、任意の色空間(例えば、BT.601 Y CrCB、RGB、など)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であってよいデジタルビデオサンプルストリームの形態でエンコーダ(303)によって符号化されるソースビデオシーケンスをもたらすことができる。メディア提供システムにおいて、ビデオソース(301)は、以前に準備されたビデオを格納する記憶装置であってよい。ビデオ会議システムにおいて、ビデオソース(301)は、ローカル画像情報をビデオシーケンスとして取り込むカメラであってよい。ビデオデータは、順番に眺めたときに動きを与える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間アレイとして編成されてよく、各ピクセルは、用いられているサンプリング構造、色空間、などに応じて、1つ以上のサンプルを含むことができる。当業者であれば、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに注目する。
【0032】
一実施形態によれば、エンコーダ(303)は、リアルタイムまたはアプリケーションによって要求される任意の他の時間制約の下で、ソースビデオシーケンスのピクチャを符号化されたビデオシーケンス(543)へと符号化および圧縮することができる。適切な符号化速度の強制が、コントローラ(550)の機能の1つである。コントローラは、以下で説明されるように他の機能ユニットを制御し、これらのユニットに機能的に接続されている。分かりやすくするために、接続は図示されていない。コントローラによって設定されるパラメータとして、レート制御関連のパラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、など)、ピクチャサイズ、ピクチャのグループ(GOP)のレイアウト、最大動きベクトル検索範囲、などが挙げられる。当業者であれば、コントローラ(550)の他の機能を、それらが特定のシステム設計に最適化されたビデオエンコーダ(303)に関係し得るがゆえに、容易に識別できるであろう。
【0033】
一部のビデオエンコーダは、当業者が「符号化ループ」として容易に認識するもので動作する。きわめて簡略化した説明として、符号化ループは、エンコーダ(530)のエンコード部分(以下では、「ソースコーダ」)(符号化すべき入力ピクチャおよび参照ピクチャに基づくシンボルの生成を担当)と、(リモート)デコーダも生成すると考えられる(シンボルと符号化されたビデオビットストリームとの間のあらゆる圧縮は、本開示の主題において考慮されるビデオ圧縮技術においてロスレスであるため)サンプルデータを生成するためのシンボルを再現するエンコーダ(303)に埋め込まれた(ローカル)デコーダ(533)とで構成され得る。その再現サンプルストリームは、参照ピクチャメモリ(534)に入力される。シンボルストリームの復号により、デコーダの場所(ローカルまたはリモート)に関係なくビット正確な結果が得られるため、参照ピクチャバッファの内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すると、エンコーダの予測部分は、復号において予測を使用するときにデコーダが「見る」と考えられるサンプル値とまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同時性のこの基本原理(および、例えばチャネルエラーのために同時性が維持できない場合に生じるドリフト)は、当業者にとって周知である。
【0034】
「ローカル」デコーダ(533)の動作は、図4に関連してすでに詳しく上述した「リモート」デコーダ(310)の動作と同じであってよい。しかしながら、図4も簡単に参照すると、シンボルが利用可能であり、エントロピコーダ(545)およびパーサ(420)による符号化されたビデオシーケンスへのシンボルのエンコーディング/復号はロスレスであり得るため、チャネル(412)、レシーバ(410)、バッファ(415)、およびパーサ(420)を含むデコーダ(310)のエントロピ復号部分は、ローカルデコーダ(533)においては完全には実装されなくてよい。
【0035】
この点において行うことができる観察は、デコーダに存在する構文解析/エントロピ復号を除くあらゆるデコーダ技術も、対応するエンコーダに実質的に同一の機能形態で必ず存在する必要があることである。エンコーダ技術の説明は、包括的に説明したデコーダ技術の逆であるため、省略可能である。特定の領域においてのみ、さらに詳しい説明が必要であり、以下に示される。
【0036】
ソースコーダ(530)は、その動作の一部として、「参照フレーム」として指定されたビデオシーケンスからの1つ以上の以前に符号化されたフレームを参照して入力フレームを予測的に符号化する動き補償予測符号化を実行することができる。このようにして、符号化エンジン(532)は、入力フレームのピクセルブロックと、入力フレームに対する予測参照として選択され得る参照フレームのピクセルブロックとの間の差を符号化する。
【0037】
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって生成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化されたビデオデータを復号し得る。符号化エンジン(532)の動作は、好都合にはロスの多いプロセスであり得る。符号化されたビデオデータがビデオデコーダ(図4には示されていない)において復号され得るとき、再現されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(533)は、参照フレームについてビデオデコーダによって実行され得る復号プロセスを複製し、再現された参照フレームを参照ピクチャキャッシュ(534)に格納させることができる。このようにして、エンコーダ(303)は、遠端のビデオデコーダによって得られる再現された参照フレームと共通の内容を有する(送信エラーのない)再現された参照フレームのコピーをローカルに格納することができる。
【0038】
予測器(535)が、符号化エンジン(532)のための予測検索を実行し得る。すなわち、符号化される新しいフレームについて、予測器(535)は、(候補参照ピクセルブロックとしての)サンプルデータ、または新しいピクチャのための適切な予測参照として機能し得る参照ピクチャ動きベクトル、ブロック形状、などの特定のメタデータについて、参照ピクチャメモリ(534)を検索することができる。予測器(535)は、適切な予測参照を見つけるために、サンプルブロック対ピクセルブロックのやり方に基づいて動作することができる。場合によっては、予測器(535)によって得られた検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(534)に格納された複数の参照ピクチャから引き出された予測参照を有することができる。
【0039】
コントローラ(550)は、例えばビデオデータのエンコーディングに使用されるパラメータおよびサブグループパラメータの設定など、ビデオコーダ(530)の符号化動作を管理することができる。
【0040】
上述のすべての機能ユニットの出力に、エントロピコーダ(545)におけるエントロピ符号化を施すことができる。エントロピコーダは、例えばハフマン符号化、可変長符号化、算術符号化、などとして当業者に知られている技術に従ってシンボルをロスレス圧縮することにより、種々の機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換する。
【0041】
送信機(540)は、エントロピコーダ(545)によって生成された符号化されたビデオシーケンスをバッファして、エンコードされたビデオデータを格納することができる記憶装置へのハードウェア/ソフトウェアリンクであってよい通信チャネル(560)を介した送信に向けて準備することができる。送信機(540)は、ビデオコーダ(530)からの符号化されたビデオデータを、例えば符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)などの送信される他のデータとマージすることができる。
【0042】
コントローラ(550)は、エンコーダ(303)の動作を管理することができる。符号化の際に、コントローラ(550)は、各々の符号化されたピクチャに、それぞれのピクチャに適用され得る符号化技術に影響を及ぼし得る特定の符号化されたピクチャタイプを割り当てることができる。例えば、ピクチャは、多くの場合に、以下のフレームタイプのうちの1つとして割り当てられ得る。
【0043】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内のいかなる他のフレームも使用せずに符号化および復号が可能なピクチャであり得る。一部のビデオコーデックは、例えば独立デコーダリフレッシュピクチャなど、さまざまなタイプのイントラピクチャを許容する。当業者であれば、Iピクチャのそれらの変種ならびにそれらのそれぞれの用途および特徴を承知しているであろう。
【0044】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号が可能なピクチャであり得る。
【0045】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大で2つの動きベクトルおよび参照インデックスを使用してイントラ予測またはインター予測を使用して符号化および復号が可能なピクチャであり得る。同様に、複数の予測ピクチャは、単一のブロックの再現に3つ以上の参照ピクチャおよび関連メタデータを使用することができる。
【0046】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)へと空間的に細分化され、ブロックごとのやり方で符合化され得る。ブロックは、ブロックのそれぞれのピクチャに適用された符号化割り当てによって決定されるように他の(すでに符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは、非予測的に符号化され得、あるいは同じピクチャのすでに符号化されたブロックを参照して予測的に符号化され得る(空間予測またはイントラ予測)。Pピクチャのピクセルブロックは、非予測的に符号化され得、空間予測によって符号化され得、あるいは1つの以前に符号化された参照ピクチャを参照する時間的予測によって符号化され得る。Bピクチャのブロックは、非予測的に符号化され得、空間予測によって符号化され得、あるいは1つまたは2つの以前に符号化された参照ピクチャを参照する時間的予測によって符号化され得る。
【0047】
ビデオコーダ(303)は、ITU-T Rec H265などの所定のビデオ符号化技術または規格に従って符号化動作を実行することができる。その動作において、ビデオコーダ(303)は、入力ビデオシーケンスにおける時間的および空間的冗長性を利用する予測符号化動作を含む種々の圧縮動作を実行することができる。したがって、符号化されたビデオデータは、用いられているビデオ符号化技術または規格で指定された構文に準拠し得る。
【0048】
一実施形態において、送信機(540)は、エンコードされたビデオと一緒に追加のデータを送信することができる。ビデオコーダ(530)は、そのようなデータを、符合化されたビデオシーケンスの一部として含み得る。追加のデータは、時間的/空間的/SNR拡張層、冗長ピクチャまたはスライスなどの冗長データの他の形式、付加拡張情報(SEI:Supplementary Enhancement Information)メッセージ、視覚的有用性情報(VUI:Visual Usability Information)パラメータセットフラグメント、などを含むことができる。
【0049】
図6は、VVCのDraft 2におけるイントラ予測モードの図である。
【0050】
VVCのDraft 2には、図6に示されるとおりの合計で87個のイントラ予測モードが存在し、その中でも、モード18(601)が水平モードであり、モード50(602)が垂直モードであり、モード2(603)、モード34(604)、およびモード66(605)が対角モードである。モード-1~10およびモード67~76は、広角イントラ予測(WAIP)モードと呼ばれる。
【0051】
35個のHEVCイントラ予測モードが、VVCのDraft 2に含まれており、これらの35個のHEVCモードのモード番号は、0、1、2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48、50、52、54、56、58、60、62、64、および66である。
【0052】
VVCのDraft 2において、MPMリストのサイズは、依然として3であり、MPMリストの生成プロセスは、HEVCと同じである。違いは、VVCのDraft 2には67個の通知されるモードが存在するため、「offset」が61に変更され、変数「mod」が64に変更されることである。
【0053】
モード符号化の場合、最初に、現在のモードがMPMリストに属するかどうかを示すために、1つのMPMフラグが通知される。MPMフラグが真である場合、切り捨てられた単進符号がMPMインデックスを通知するために使用される。MPMフラグが偽である場合、6ビットの固定長符号化が残りのモードを通知するために使用される。
【0054】
VVCのDraft 2からの次の節が、輝度イントラモード符号化プロセスを示している。
1.隣接する場所(xNbA、yNbA)および(xNbB、yNbB)が、それぞれ(xPb-1、yPb)および(xPb、yPb-1)に等しく設定される。
2.XがAまたはBのいずれかによって置き換えられる場合、変数candIntraPredModeXは、次のように導出される。
-節6.4.X[Ed.(BB):隣接ブロックの可用性チェックプロセスtbd]に指定のブロックの可用性導出プロセスが、(xPb、yPb)に等しく設定された場所(xCurr、yCurr)および(xNbX、yNbX)に等しく設定された隣接場所(xNbY、yNbY)を入力として呼び出され、出力がavailableXに割り当てられる。
-候補イントラ予測モードcandIntraPredModeXは、次のように導出される。
-以下の条件のうちの1つ以上が真である場合、candIntraPredModeXは、INTRA_DCに等しく設定される。
-変数availableXがFALSEに等しい。
-CuPredMode[xNbX][yNbX]が、MODE_INTRAに等しくない。
-XがBに等しく、yPb-1が((yPb>>CtbLog2SizeY)<<CtbLog2SizeY)未満である。
-それ以外の場合、candIntraPredModeXは、IntraPredModeY[xNbX][yNbX]に等しく設定される。
3.x=0..2におけるcandModeList[x]が、以下のように導出される。
-candIntraPredModeBがcandIntraPredModeAに等しい場合、以下が当てはまる。
-candIntraPredModeAが2未満である(すなわち、INTRA_PLANARまたはINTRA_DCに等しい)場合、x=0..2におけるcandModeList[x]は、次のように導出される。
candModeList[0]=INTRA_PLANAR(8-1)
candModeList[1]=INTRA_DC(8-2)
candModeList[2]=INTRA_ANGULAR50(8-3)
-それ以外の場合、x=0..2におけるcandModeList[x]は、次のように導出される。
candModeList[0]=candIntraPredModeA(8-4)
candModeList[1]=2+((candIntraPredModeA+61)%64)(8-5)
candModeList[2]=2+((candIntraPredModeA-1)%64)(8-6)
-それ以外である(candIntraPredModeBがcandIntraPredModeAに等しくない)場合、以下が当てはまる。
-candModeList[0]およびcandModeList[1]が、以下のように導出される。
candModeList[0]=candIntraPredModeA(8-7)
candModeList[1]=candIntraPredModeB(8-8)
-candModeList[0]もcandModeList[1]もINTRA_PLANARに等しくない場合、candModeList[2]は、INTRA_PLANARに等しく設定される。
-それ以外の場合、candModeList[0]もcandModeList[1]もINTRA_DCに等しくないならば、candModeList[2]はINTRA_DCに等しく設定される。
-それ以外の場合、candModeList[2]はINTRA_ANGULAR50に等しく設定される。
4.IntraPredModeY[xPb][yPb]は、次の手順を適用することによって導出される。
-intra_luma_mpm_flag[xPb][yPb]が1に等しい場合、IntraPredModeY[xPb][yPb]は、candModeList[intra_luma_mpm_idx[xPb][yPb]]に等しく設定される。
-それ以外の場合、IntraPredModeY[xPb][yPb]は、以下の順序のステップを適用することによって導出される。
1.配列candModeList[x](x=0..2)が、以下の順序のステップによって変更される。
i.candModeList[0]がcandModeList[1]より大きい場合、両方の値が次のように入れ替えられる。
(candModeList[0]、candModeList[1])=Swap(candModeList[0]、candModeList[1])(8-9)
ii.candModeList[0]がcandModeList[2]より大きい場合、両方の値が次のように入れ替えられる。
(candModeList[0]、candModeList[2])=Swap(candModeList[0]、candModeList[2])(8-10)
iii.candModeList[1]がcandModeList[2]より大きい場合、両方の値が次のように入れ替えられる。
(candModeList[1]、candModeList[2])=Swap(candModeList[1]、candModeList[2])(8-11)
2.IntraPredModeY[xPb][yPb]が、以下の順序のステップによって導出される。
i.IntraPredModeY[xPb][yPb]が、intra_luma_mpm_remainder[xPb][yPb]に等しく設定される。
ii.iが0~2(0および2を含む)に等しい場合、IntraPredModeY[xPb][yPb]がcandModeList[i]以上であるときに、IntraPredModeY[xPb][yPb]の値が1だけ増やされる。
x=xPb..xPb+cbWidth-1およびy=yPb..yPb+cbHeight-1における変数IntraPredModeY[x][y]が、IntraPredModeY[xPb][yPb]に等しくなるように設定される。
【0055】
VVCのDraft 2の開発においては、サイズが6のMPMリストが提案された。PlanarモードおよびDCモードが、MPMリストに含まれている。残りの4つのMPMを生成するために、2つの隣接モード、すなわち左側および上側のモードが使用される。
【0056】
しかしながら、VVCのDraft 2では、使用可能なイントラ予測モードの数が67を超えており、通知に多くのビットが必要である。現在のブロックとその隣接ブロックとの間には強い相関があり、これを使用して、現在のブロックの通知されるイントラ予測モードの数を減らすことができる。
【0057】
以下の提案の方法は、個別に使用することも、任意の順序で組み合わせることも可能である。
【0058】
以下の説明において、或るモードがplanarモードでもDCモードでもない場合や、或るモードがVVCのDraft 2に定められたイントラ予測モード2~76および-1~-10などの所与の予測方向に従って予測サンプルを生成している場合、このモードはangularモードと呼ばれる。
【0059】
以下の説明において、許可イントラ予測モード(AIPM)セットが、現在のブロックのイントラ予測に使用できるモードを含む1つのモードセットと定義され、不許可イントラ予測モード(DIPM)セットが、現在のブロックのイントラ予測に関して通知または使用できないモードを含む1つのモードセットと定義される。
【0060】
この文書においては、offsetおよびmodという2つの変数が使用されている。これら2つの変数の値は、次の2組を有することができる。
1)offset=61、mod=64;または
2)offset=62、mod=65。
【0061】
一実施形態においては、ブロックごとに2つのイントラ予測モードセットが存在し、それらはAIPMセットおよびDIPMセットである。各々のブロックについて、これら2つのモードセットのモードは、隣接ブロックおよび/または現在のブロックの符号化された情報に応じて異なり得、これらに限られるわけではないが隣接ブロックのイントラ予測モード、現在のブロックのイントラ予測モード、アスペクト比、符号化ブロックフラグ(CBF)、一次および/または二次変換タイプ、隣接する再現されたサンプル、などを含み得る。
【0062】
一実施形態において、AIPMセットおよびDIPMセットのモードは、隣接ブロックのイントラ予測モードに依存する。
【0063】
一実施形態において、隣接モードはAIPMセットに含まれるが、DIPMセットには含まれない。
【0064】
一実施形態においては、同じアスペクト比あるいは同じ幅および/または高さを有するブロックが、異なるAIPMセットおよび/または異なるDIPMセットを有することができる。
【0065】
一実施形態において、ang_modeで示される各々の角度隣接モードについて、特定のモードを、以下の式1および2によって導出することができ、導出されたモードは、AIPMセットには含まれるが、DIPMセットには含まれない。
(ang_mode+offset-diff)%mod+2(式1)
(ang_mode-1+diff)%mod+2(式2)
【0066】
式1および2において、diffは変数であり、正の整数またはゼロである。一例において、diffは6以下の任意の値であってよい。別の例において、diffは3以下の任意の値であってよい。さらに別の例において、diffは、セット{0、1、2、3、5、7}内の任意の値であってよい。
【0067】
一実施形態において、AIPMセットを再現する複雑さを低減するために、いくつかの導出されたモードは、Thresによって示されるしきい値によって制限される。Thresは、16、32、または48などの任意の正の整数であってよい。
【0068】
一実施形態において、AIPMセットおよびDIPMセットのモードは、隣接ブロックのインター予測モードに依存する。
【0069】
一実施形態において、AIPMセットおよびDIPMセットのモードは、隣接ブロックがイントラ符号化されるか、インター符号化されるか、あるいはイントラブロックコピー(IBC)モードによって符号化されるか、MERGEモードによって符号化されるか、SKIPモードによって符号化されるか、または別の符号化モードによって符号化されるかに依存する。
【0070】
一実施形態においては、隣接ブロックの再現されたピクセルが、許可および非許可のイントラ予測モードセットを導出するために使用される。
【0071】
一実施形態においては、隣接する再現されたサンプルの勾配が、AIPMセットおよびDIPMセットのモードを導出するために使用される。勾配を、これらに限られるわけではないが1次勾配法、2次勾配法、および双共役勾配法など、以下の方法のうちの1つによって計算することができる。
【0072】
一実施形態においては、エッジ検出方法または画像特徴検出方法を使用して、AIPMセットおよびDIPMセットのモードを導出することができる。エッジ検出方法は、これらに限られるわけではないが、Sobel演算子、Laplace演算子、Cannyエッジ検出器、Kayyali演算子、SUSANコーナー検出器、などのうちの1つを含む。
【0073】
一実施形態において、AIPMセットおよびDIPMセットに含まれるモードの数は、事前定義され、すべてのブロックについて固定される。
【0074】
一実施形態においては、AIPMセットに含まれるモードの数がSで表され、SはMに2の累乗を加えたものに等しく、例えばS=M+2Kであり、MおよびKは正の整数であり、例えばM=6およびK=5である。Mは7以下であってよい。典型的な値として、これらに限られるわけではないが3、4、5、6、および7が挙げられる。
【0075】
一実施形態においては、AIPMセットのサイズがSで表され、SはMに複数のレベルの2の累乗を加えたものに等しく、例えばS=M+2K+2Lであり、M、K、およびLは正の整数であり、例えばM=6、K=4、L=5である。Mは7以下であってよい。典型的な値として、これらに限られるわけではないが3、4、5、6、および7が挙げられる。
【0076】
一実施形態において、AIPMセットおよびDIPMセットに含まれるモードの数は、各々のブロックサイズ、または各々のブロックアスペクト比、あるいは各々のブロック形状について事前に定義され、固定されている。しかしながら、AIPMセットおよびDIPMセットに含まれるモードの数は、異なるブロックサイズ、または異なるブロックアスペクト比、あるいは異なるブロック形状について相違し得る。
【0077】
一実施形態において、AIPMセットのサイズがSであり、隣接モードからの導出されたイントラ予測モードの数がS未満である場合、デフォルトモードがAIPMセットを満たすために使用される。
【0078】
一実施形態においては、すべてのHEVCイントラ予測モードがデフォルトモードに含まれる。一例において、Sは35以上である。
【0079】
一実施形態においては、偶数モードインデックスに関連するすべてのイントラ予測モードがデフォルトモードに含まれる。一例において、Sは35以上である。
【0080】
一実施形態においては、HEVCイントラ予測モードが含まれた後に、奇数モードインデックスに関連する角度モードがデフォルトモードに含まれる。
【0081】
一実施形態において、AIPMセットのサイズが38である場合、デフォルトモードは、{0、1、2、50、18、34、66、10、26、42、58、6、14、22、30、38、46、54、62、4、8、12、16、20、24、28、32、36、40、44、48、52、56、60、64、17、19、49}のように事前定義される。
【0082】
一実施形態において、AIPMセットのサイズが35より大きい場合、すべてのHEVCイントラ予測モード、または偶数モードインデックスに関連付けられたすべてのイントラ予測モード、あるいは奇数モードインデックスに関連付けられたすべてのイントラ予測モードが、AIPMセットに常に含まれるが、DIPMセットには含まれない。
【0083】
一実施形態において、AIPMセットに関して、それを2つのリスト、すなわちプライマリMPMリストおよび非MPMリストにさらに分割することができ、非MPMリストのサイズは2の累乗である。
【0084】
一実施形態においては、AIPMセット内のモードを符号化するために、最初に、現在のモードがプライマリMPMリストに属するかどうかを示すために1つのMPMフラグが通知される。MPMフラグが真である場合、切り捨てられた単進符号がMPMインデックスを通知するために使用される。それ以外の場合は、固定長符号化が、非MPMリスト内のモードを通知するために使用される。
【0085】
現在のブロックのアスペクト比に従って、28個または30個の広角度およびそれぞれの広角度イントラ予測モードが、元の角度およびそれぞれの元の角度イントラ予測モードの表に追加される。
【0086】
一実施形態においては、14個または15個の広角度およびそれぞれの広角度イントラ予測モードが、現在のブロックの左下方向(例えば、図6の下辺606)に追加され、別の14個または15個の広角度およびそれぞれの広角度イントラ予測モードが、現在のブロックの右上方向(例えば、図6の右辺607)に追加される。いくつかの例の実装が、以下の表1および表2に示される。
【0087】
広角度の角度表が、元の角度と共に以下のように示される。
【0088】
一例において、32個の角度の角度表(angTable[32])が、角度{0、1、2、3、4、6、8、10、12、14、16、18、20、23、26、29、32、35、39、45、51、57、64、73、86、102、128、171、256、341、512、1024}を含むことができ、ここで角度{0、1、2、3、4、6、8、10、12、14、16、18、20、23、26、29、32}は元の角度であり、角度{35、39、45、51、57、64、73、86、102、128、171、256、341、512、1024}は広角度である。
【0089】
換言すると、各々の角度は、tan(α)が{0/32、1/32、2/32、3/32、4/32、6/32、8/32、10/32、12/32、14/32、16/32、18/32、20/32、23/32、26/32、29/32、32/32、35/32、39/32、45/32、51/32、57/32、64/32、73/32、86/32、102/32、128/32、171/32、256/32、341/32、512/32、1024/32}に等しい角度方向αを有することができる。
【0090】
表1は、67個の元の角度および67個のそれぞれの元の角度イントラ予測モードに30個の広角度および30個のそれぞれの広角度イントラ予測モードが追加されたVVCのそれぞれのイントラ予測モードを有するそのような角度表の例であり得る。
【0091】
【表1】
【0092】
predModeIntraは、VVCのイントラ予測モードを示し、intraPredAngleは、イントラ予測角度を示す。
【0093】
別の例においては、31個の角度の角度表(angTable[31])が、角度{0、1、2、3、4、6、8、10、12、14、16、18、20、23、26、29、32、35、39、45、51、57、64、73、86、102、128、171、256、341、512}を含むことができ、ここで角度{0、1、2、3、4、6、8、10、12、14、16、18、20、23、26、29、32}は元の角度であり、角度{35、39、45、51、57、64、73、86、102、128、171、256、341、512}は広角度である。
【0094】
換言すると、各々の角度は、tan(α)が{0/32、1/32、2/32、3/32、4/32、6/32、8/32、10/32、12/32、14/32、16/32、18/32、20/32、23/32、26/32、29/32、32/32、35/32、39/32、45/32、51/32、57/32、64/32、73/32、86/32、102/32、128/32、171/32、256/32、341/32、512/32}に等しい角度方向αを有することができる。
【0095】
表2は、67個の元の角度および67個のそれぞれの元の角度イントラ予測モードに28個の広角度および28個のそれぞれの広角度イントラ予測モードが追加されたVVCのそれぞれのイントラ予測モードを有するそのような角度表の例であり得る。
【0096】
【表2】

【0097】
以下の文章は、上述の実施形態を用いたVVCのDraft 2の文章の変更(取り消し線および下線あり)を説明する。
8.2.4.2.7 INTRA_ANGULAR2..INTRA_ANGULAR66のイントラ予測モードの仕様
このプロセスへの入力は、
-イントラ予測モードpredModeIntra、
-隣接サンプルp[x][y](x=-1、y=-1..refH-1およびx=0..refW-1、y=-1)、
-変換ブロックの幅を指定する変数nTbW、
-変換ブロックの高さを指定する変数nTbH、
-参照サンプルの幅を指定する変数refW、
-参照サンプルの高さを指定する変数refH
である。
このプロセスの出力は、修正されたイントラ予測モードpredModeIntraおよび予測されたサンプルpredSamples[x][y](x=0..nTbW+1、y=0..nTbH+1)である。
変数whRatioはmin(abs(Log2(nTbW/nTbH))、2)に等しく設定される。
非正方形ブロック(nTbWがnTbHに等しくない)の場合、イントラ予測モードpredModeIntraは、次のように変更される。
-以下の条件がすべて真である場合、predModeIntraは、(predModeIntra+65)に等しく設定される。
-nTbWがnTbHより大きい
-predModeIntraが2以上である
-predModeIntraが(whRatio>1)?12:8よりも小さい
-それ以外の場合、以下の条件がすべて当てはまるならば、predModeIntraは(predModeIntra-67)に等しく設定される。
-nTbHがnTbWより大きい
-predModeIntraが66以下である
predModeIntraが(whRatio>1)?56:60よりも大きい
表8-5は、predModeIntraと角度パラメータintraPredAngleとの間のマッピング表を指定し、図8-3は、各々の角度パラメータのイントラ予測角度を示している。
【0098】
【表3】
【0099】
...
【0100】
【表4】
【0101】
図7は、一実施形態によるビデオシーケンスの復号のためのイントラ予測を制御する方法(700)を示すフローチャートである。いくつかの実装において、図7の1つ以上の処理ブロックは、デコーダ(310)によって実行され得る。いくつかの実装において、図7の1つ以上の処理ブロックは、エンコーダ(303)など、デコーダ(310)とは別であり、あるいはデコーダ(310)を含む別の装置または装置群によって実行され得る。
【0102】
図7を参照すると、第1のブロック(710)において、方法(700)は、符号化単位の高さに対する幅の比を決定することを含む。
【0103】
第2のブロック(720)において、方法(700)は、決定された比が1とは異なることに基づいて、イントラ予測角度に対応する複数のイントラ予測モードを含んでいる表に、符号化単位の左下の辺に向かう第1の広角度と、符号化単位の右上の辺に向かう第2の広角度と、第1の広角度および第2の広角度にそれぞれ対応する追加のイントラ予測モードとを追加することを含む。
【0104】
表に追加される第1の広角度の数は、14であってよい。表に含まれるイントラ予測角度の各々は、tan(α)が{0/32、1/32、2/32、3/32、4/32、6/32、8/32、10/32、12/32、14/32、16/32、18/32、20/32、23/32、26/32、29/32、32/32}に等しい角度方向αを有することができ、表に追加された第1の広角度の各々は、tan(α)が{35/32、39/32、45/32、51/32、57/32、64/32、73/32、86/32、102/32、128/32、171/32、256/32、341/32、512/32}に等しい角度方向αを有することができる。
【0105】
表に追加される第2の広角度の数は、14であってよい。表に含まれるイントラ予測角度の各々は、tan(α)が{0/32、1/32、2/32、3/32、4/32、6/32、8/32、10/32、12/32、14/32、16/32、18/32、20/32、23/32、26/32、29/32、32/32}に等しい角度方向αを有することができ、表に追加された第2の広角度の各々は、tan(α)が{35/32、39/32、45/32、51/32、57/32、64/32、73/32、86/32、102/32、128/32、171/32、256/32、341/32、512/32}に等しい角度方向αを有することができる。
【0106】
表に追加される第1の広角度の数は、15であってよい。表に含まれるイントラ予測角度の各々は、tan(α)が{0/32、1/32、2/32、3/32、4/32、6/32、8/32、10/32、12/32、14/32、16/32、18/32、20/32、23/32、26/32、29/32、32/32}に等しい角度方向αを有することができ、表に追加された第1の広角度の各々は、tan(α)が{35/32、39/32、45/32、51/32、57/32、64/32、73/32、86/32、102/32、128/32、171/32、256/32、341/32、512/32、1024/32}に等しい角度方向αを有することができる。
【0107】
表に追加される第2の広角度の数は、15であってよい。表に含まれるイントラ予測角度の各々は、tan(α)が{0/32、1/32、2/32、3/32、4/32、6/32、8/32、10/32、12/32、14/32、16/32、18/32、20/32、23/32、26/32、29/32、32/32}に等しい角度方向αを有することができ、表に追加された第2の広角度の各々は、tan(α)が{35/32、39/32、45/32、51/32、57/32、64/32、73/32、86/32、102/32、128/32、171/32、256/32、341/32、512/32、1024/32}に等しい角度方向αを有することができる。
【0108】
表に含まれる複数のイントラ予測モードの第1の数は、67であり得、表に追加される追加のイントラ予測モードの第2の数は、28であり得、表は上述の表2を含み得る。
【0109】
第3のブロック(730)において、方法(700)は、ビデオシーケンスを復号するために、複数のイントラ予測モードおよび表に追加された追加のイントラ予測モードのうちの1つを選択することを含む。
【0110】
図7は方法(700)の典型的なブロックを示しているが、一部の実装において、方法(700)は、図7に示されているブロックに関して、さらなるブロック、より少数のブロック、異なるブロック、または異なる配置のブロックを含み得る。これに加え、あるいはこれに代えて、方法(700)のブロックのうちの2つ以上が並行に実行され得る。
【0111】
さらに、本提案の方法は、処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実装され得る。一例において、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に格納されたプログラムを実行して、本提案の方法のうちの1つ以上を実行する。
【0112】
図8は、一実施形態によるビデオシーケンスの復号のためのイントラ予測を制御するための装置(800)の概略のブロック図である。
【0113】
図8を参照すると、装置(800)は、決定コード(810)、追加コード(820)、および選択コード(830)を含む。
【0114】
決定コード(810)は、符号化単位の高さに対する幅の比を決定するように構成される。
【0115】
追加コード(820)は、決定された比が1とは異なることに基づいて、イントラ予測角度に対応する複数のイントラ予測モードを含んでいる表に、符号化単位の左下の辺に向かう第1の広角度と、符号化単位の右上の辺に向かう第2の広角度と、第1の広角度および第2の広角度にそれぞれ対応する追加のイントラ予測モードとを追加するように構成される。
【0116】
表に追加される第1の広角度の数は、14であってよい。表に含まれるイントラ予測角度の各々は、tan(α)が{0/32、1/32、2/32、3/32、4/32、6/32、8/32、10/32、12/32、14/32、16/32、18/32、20/32、23/32、26/32、29/32、32/32}に等しい角度方向αを有することができ、表に追加された第1の広角度の各々は、tan(α)が{35/32、39/32、45/32、51/32、57/32、64/32、73/32、86/32、102/32、128/32、171/32、256/32、341/32、512/32}に等しい角度方向αを有することができる。
【0117】
表に追加される第2の広角度の数は、14であってよい。表に含まれるイントラ予測角度の各々は、tan(α)が{0/32、1/32、2/32、3/32、4/32、6/32、8/32、10/32、12/32、14/32、16/32、18/32、20/32、23/32、26/32、29/32、32/32}に等しい角度方向αを有することができ、表に追加された第2の広角度の各々は、tan(α)が{35/32、39/32、45/32、51/32、57/32、64/32、73/32、86/32、102/32、128/32、171/32、256/32、341/32、512/32}に等しい角度方向αを有することができる。
【0118】
表に追加される第1の広角度の数は、15であってよい。表に含まれるイントラ予測角度の各々は、tan(α)が{0/32、1/32、2/32、3/32、4/32、6/32、8/32、10/32、12/32、14/32、16/32、18/32、20/32、23/32、26/32、29/32、32/32}に等しい角度方向αを有することができ、表に追加された第1の広角度の各々は、tan(α)が{35/32、39/32、45/32、51/32、57/32、64/32、73/32、86/32、102/32、128/32、171/32、256/32、341/32、512/32、1024/32}に等しい角度方向αを有することができる。
【0119】
表に追加される第2の広角度の数は、15であってよい。表に含まれるイントラ予測角度の各々は、tan(α)が{0/32、1/32、2/32、3/32、4/32、6/32、8/32、10/32、12/32、14/32、16/32、18/32、20/32、23/32、26/32、29/32、32/32}に等しい角度方向αを有することができ、表に追加された第2の広角度の各々は、tan(α)が{35/32、39/32、45/32、51/32、57/32、64/32、73/32、86/32、102/32、128/32、171/32、256/32、341/32、512/32、1024/32}に等しい角度方向αを有することができる。
【0120】
表に含まれる複数のイントラ予測モードの第1の数は、67であり得、表に追加される追加のイントラ予測モードの第2の数は、28であり得、表は上述の表2を含み得る。
【0121】
選択コード(830)は、ビデオシーケンスを復号するために、複数のイントラ予測モードおよび表に追加された追加のイントラ予測モードのうちの1つを選択するように構成される。
【0122】
上述の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装され、1つ以上のコンピュータ可読媒体に物理的に格納され得る。
【0123】
図9が、実施形態の実装に適したコンピュータシステム(900)の図である。
【0124】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンキング、または同様の機構の対象とされ、コンピュータの中央処理装置(CPU)、グラフィックス処理装置(GPU)、などによって直接的に、あるいはインタープリテイション、マイクロコードの実行、などを介して実行され得る命令を含むコードを生成する任意の適切なマシンコードまたはコンピュータ言語を使用して符号化され得る。
【0125】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス、などのさまざまなタイプのコンピュータまたはそのコンポーネント上で実行され得る。
【0126】
コンピュータシステム(900)について図9に示されるコンポーネントは、本質的に例示であり、実施形態を実装するコンピュータソフトウェアの使用または機能の範囲に関していかなる制限も示唆しようとする意図はない。また、コンポーネントの構成を、コンピュータシステム(900)の典型的な実施形態に示されるコンポーネントのいずれかまたはコンポーネントの組み合わせに関する依存性または要件を有するものとして解釈すべきではない。
【0127】
コンピュータシステム(900)は、特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動き、など)、オーディオ入力(音声、拍手、など)、視覚入力(ジェスチャーなど)、嗅覚入力(図示せず)、などによる1人以上の人間のユーザによる入力に応答し得る。ヒューマンインターフェースデバイスを使用して、オーディオ(スピーチ、音楽、環境音、など)、画像(スキャンした画像、静止画カメラから得られる写真画像、など)、ビデオ(二次元ビデオ、立体ビデオを含む三次元ビデオ、など)、などの人間による意識的な入力に必ずしも直接的には関係しない特定のメディアをキャプチャすることもできる。
【0128】
入力ヒューマンインターフェースデバイスは、キーボード(901)、マウス(902)、トラックパッド(903)、タッチスクリーン(910)、データグローブ(904)、ジョイスティック(905)、マイク(906)、スキャナ(907)、カメラ(908)、のうちの1つ以上を含むことができる(各々を1つだけ図示した)。
【0129】
さらに、コンピュータシステム(900)は、特定のヒューマンインターフェース出力デバイスを含み得る。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通じて、1人以上の人間のユーザの感覚を刺激することができる。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(910)、データグローブ(904)、またはジョイスティック(905)による触覚フィードバックであるが、入力装置として機能しない触覚フィードバックデバイスが存在してもよい)、オーディオ出力デバイス(スピーカー(909)、ヘッドフォン(図示せず)、など)、視覚出力デバイス(それぞれがタッチスクリーン入力機能を有しても、有さなくてもよく、それぞれが触覚フィードバック機能を有しても、有さなくてもよく、一部は二次元の視覚出力を出力することが可能であってよく、あるいはステレオグラフィック出力、仮想現実眼鏡(図示せず)、ホログラフィック表示、およびスモークタンク(図示せず)、などの手段によって三次元を超える出力を出力することが可能であってよい陰極線管(CRT)画面、液晶表示(LCD)画面、プラズマ画面、有機発光ダイオード(OLED)画面を含むスクリーン(910)など)、およびプリンタ(図示せず)を含むことができる。
【0130】
さらに、コンピュータシステム(900)は、CD/DVDなどの媒体(921)によるCD/DVD ROM/RW(920)などの光学媒体、サムドライブ(922)、取り外し可能なハードドライブまたはソリッドステートドライブ(923)、テープおよびフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用のROM/ASIC/PLDベースのデバイス、などの人間がアクセス可能な記憶装置およびそれらの関連媒体を含むことができる。
【0131】
さらに、当業者であれば、ここで開示される主題に関連して使用される「コンピュータ可読媒体」という用語が、送信媒体、搬送波、または他の一時的な信号を包含しないことを、理解すべきである。
【0132】
さらに、コンピュータシステム(900)は、1つ以上の通信ネットワークへのインターフェースも含むことができる。ネットワークは、例えば、無線、有線、光であり得る。さらに、ネットワークは、ローカル、広域、大都市圏、車両および産業、リアルタイム、遅延耐性、などであってよい。ネットワークの例として、イーサネットなどのローカルエリアネットワーク、無線LAN、グローバルシステムズ・フォー・モバイルコミュニケーション(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、ロングタームエボリューション(LTE)などのセルラーネットワーク、ケーブルテレビ、衛星TV、および地上波放送TVなどのTV有線または無線広域デジタルネットワーク、CANBusなどの車両および産業、などが挙げられる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス((949))(例えば、コンピュータシステム(900)のユニバーサルシリアルバス(USB)ポートなど)に取り付けられる外部ネットワークインターフェースアダプタを必要とする(他は、一般的には、後述のとおりのシステムバスへの取り付けによってコンピュータシステム(900)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースの統合、またはスマートフォンコンピュータシステムへのセルラーネットワークインターフェースの統合)。これらのネットワークのいずれかを使用して、コンピュータシステム(900)は、他のエンティティと通信することができる。このような通信は、単方向の受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、CANbusから特定のCANbusデバイス)、あるいは例えばローカルエリアデジタルネットワークまたは広域デジタルネットワークを使用する他のコンピュータシステムへの通信などの双方向であってよい。特定のプロトコルおよびプロトコルスタックを、上述のとおりのネットワークおよびネットワークインターフェースの各々において使用することができる。
【0133】
上述のヒューマンインターフェースデバイス、人間にとってアクセス可能な記憶装置、およびネットワークインターフェースを、コンピュータシステム(900)のコア(940)に取り付けることができる。
【0134】
コア(940)は、1つ以上の中央処理装置(CPU)(941)、グラフィックス処理装置(GPU)(942)、フィールドプログラマブルゲートエリア(FPGA)(943)の形態の専用プログラマブル処理装置、特定のタスクのためのハードウェアアクセラレータ(944)、などを含むことができる。これらのデバイスは、読み出し専用メモリ(ROM)(945)、ランダムアクセスメモリ(RAM)(946)、ユーザがアクセスできない内部ハードドライブ、ソリッドステートドライブ(SSD)などの内部大容量ストレージ(947)、などと共に、システムバス(948)を介して接続され得る。一部のコンピュータシステムにおいては、システムバス(948)が、追加のCPU、GPU、などによる拡張を可能にするために、1つ以上の物理プラグの形態でアクセス可能であり得る。周辺機器は、コアのシステムバス(948)に直接、または周辺バス(949)を介して接続され得る。周辺バスのアーキテクチャは、ペリフェラル・コンポーネント・インターコネクト(PCI)、USB、などを含む。
【0135】
CPU(941)、GPU(942)、FPGA(943)、およびアクセラレータ(944)は、上述のコンピュータコードを組み合わせにて構成できる特定の命令を実行することができる。そのようなコンピュータコードを、ROM(945)またはRAM(946)に格納することができる。RAM(946)に一時的なデータも保存することができる一方で、恒久的なデータは、例えば内部大容量ストレージ(947)に保存することができる。1つ以上のCPU(941)、GPU(942)、大容量ストレージ(947)、ROM(945)、RAM(946)、などに密接に関連付けることができるキャッシュメモリを使用することで、任意のメモリデバイスへの高速な記憶および取り出しを可能にすることができる。
【0136】
コンピュータ可読媒体は、コンピュータによって実施される種々の動作を実行するためのコンピュータコードを担持することができる。メディアおよびコンピュータコードは、実施形態の目的のために特別に設計および構築されたものであってよく、あるいはコンピュータソフトウェア技術の当業者にとって周知かつ利用可能な種類のメディアおよびコンピュータコードであってよい。
【0137】
これらに限られるわけではないが、例として、アーキテクチャ(900)、とりわけコア(940)を有するコンピュータシステムは、1つ以上の有形なコンピュータ可読媒体に具現化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータ、などを含む)の結果としての機能を提供することができる。そのようなコンピュータ可読媒体は、上述したユーザによるアクセスが可能な大容量ストレージならびにコアの内部大容量ストレージ(947)またはROM(945)などの非一時的な性質を持つコア(940)の特定のストレージに関連付けられた媒体であり得る。種々の実施形態を実現するソフトウェアは、そのようなデバイスに格納され、コア(940)によって実行され得る。コンピュータ可読媒体は、特定のニーズに従って、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(940)、特にはコア内のプロセッサ(CPU、GPU、FPGA、など)に、RAM(946)に格納されるデータ構造の定義およびソフトによって定められたプロセスに従うそのようなデータ構造の変更を含む本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。これに加え、あるいはこれに代えて、コンピュータシステムは、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりに動作でき、あるいはソフトウェアと協働して動作することができる回路(例えば、アクセラレータ(944))に配線または他のやり方で具現化されたロジックの結果としての機能を提供することができる。必要に応じて、ソフトウェアへの言及はロジックを包含でき、逆もまた然りである。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のためのロジックを具体化する回路、またはその両方を包含することができる。実施形態は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを包含する。
【0138】
本開示においていくつかの典型的な実施形態を説明してきたが、本開示の範囲に含まれる変更、置換、および種々の代替の均等物が存在する。したがって、本明細書において明示的には示されておらず、あるいは説明されていないが、本開示の原理を具現化し、したがって本発明の技術的思想および技術的範囲に含まれる多数のシステムおよび方法を、当業者であれば考案できることを理解できるであろう。
【符号の説明】
【0139】
200 通信システム
210 端末
220 端末
230 端末
240 端末
250 通信ネットワーク
301 ビデオソース、カメラ
302 非圧縮ビデオサンプルストリーム
303 エンコーダ、ビデオエンコーダ
304 ビデオビットストリーム
305 ストリーミングサーバ
306 ストリーミングクライアント
307 ビデオビットストリーム
308 ストリーミングクライアント
309 ビデオビットストリーム
310 デコーダ、ビデオデコーダ
311 出力ビデオサンプルストリーム
312 レンダリングデバイス、ディスプレイ
313 キャプチャサブシステム
410 レシーバ
412 チャネル
415 バッファメモリ、バッファ
420 パーサ
421 再現、シンボル
451 逆変換ユニット
452 イントラピクチャ予測ユニット
453 動き補償予測ユニット
454 ループフィルタユニット
455 アグリゲータ
456 参照ピクチャ
457 参照ピクチャバッファ
530 ビデオコーダ、ソースコーダ、エンコーダ
532 符号化エンジン
533 デコーダ、ローカルビデオデコーダ
534 参照ピクチャキャッシュ、参照ピクチャメモリ
535 予測器
540 送信機
543 ビデオシーケンス
545 エントロピコーダ
550 コントローラ
560 通信チャネル
606 下辺
607 右辺
710 ブロック
720 ブロック
730 ブロック
800 装置
810 決定コード
820 追加コード
830 選択コード
900 コンピュータシステム
900 アーキテクチャ
901 キーボード
902 マウス
903 トラックパッド
904 データグローブ
905 ジョイスティック
906 マイク
907 スキャナ
908 カメラ
909 オーディオ出力デバイススピーカー
910 タッチスクリーン
921 媒体
922 サムドライブ
923 ソリッドステートドライブ
940 コア
943 フィールドプログラマブルゲートエリアFPGA
944 ハードウェアアクセラレータ
945 読み出し専用メモリROM
947 内部大容量記憶装置ストレージ
948 システムバス
949 周辺バス
2103 モード
2603 モード
10101 モード
18104 モード
18601 モード
26102 モード
34105 モード
34604 モード
50602 モード
66605 モード
図1
図2
図3
図4
図5
図6
図7
図8
図9
【外国語明細書】