(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023073286
(43)【公開日】2023-05-25
(54)【発明の名称】イントラ予測のためのデバイスおよび方法
(51)【国際特許分類】
H04N 19/117 20140101AFI20230518BHJP
H04N 19/593 20140101ALI20230518BHJP
H04N 19/176 20140101ALI20230518BHJP
H04N 19/18 20140101ALI20230518BHJP
【FI】
H04N19/117
H04N19/593
H04N19/176
H04N19/18
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023039809
(22)【出願日】2023-03-14
(62)【分割の表示】P 2020572788の分割
【原出願日】2018-06-29
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】アレクセイ・コンスタンチノヴィチ・フィリッポフ
(72)【発明者】
【氏名】ヴァシリー・アレクセーヴィチ・ルフィットスキー
(57)【要約】
【課題】本発明は、画像処理の分野、たとえば、静止ピクチャ/画像および/またはビデオピクチャ/画像コーディングに関する。
【解決手段】特に、本発明は、ビデオ画像の予測ブロックをイントラ予測するためのデバイスおよび対応する方法に関する。デバイスは、指向性イントラ予測モードの集合から指向性イントラ予測モードを選択するように構成され、各指向性イントラ予測モードは、異なるイントラ予測角度に対応する。さらに、本デバイスは、選択された指向性イントラ予測モードに基づいてフィルタの集合からフィルタを選択するように構成される。さらに、本デバイスは、予測ブロックの所与の予測サンプルについて、選択された指向性イントラ予測モードに基づいて、参照サンプルの集合から参照サンプルを決定することと、選択されたフィルタを決定された参照サンプルに適用することとを行うように構成される。
【選択図】
図8
【特許請求の範囲】
【請求項1】
ビデオ画像の予測ブロック(400)をイントラ予測するためのデバイス(500)であって、
指向性イントラ予測モード(501)の集合から指向性イントラ予測モード(501a)を選択することであって、各指向性イントラ予測モード(501)は、異なるイントラ予測角度に対応する、選択することと、
前記選択された指向性イントラ予測モード(501a)に基づいてフィルタ(402)の集合からフィルタ(402a)を選択することと、
前記予測ブロック(400)の所与の予測サンプル(401)について、前記選択された指向性イントラ予測モード(501a)に基づいて、参照サンプル(403)の集合から参照サンプル(403a)を決定することと、
前記選択されたフィルタ(402a)を前記決定された参照サンプル(403a)に適用することと
を行うように構成されている、デバイス(500)。
【請求項2】
前記選択された指向性イントラ予測モード(401a)に基づいてフィルタの長さを決定することと、
少なくとも前記決定されたフィルタの長さを有するものを前記フィルタ(402a)として選択することと
を行うように構成される、請求項1に記載のデバイス(500)。
【請求項3】
フィルタ(402)の前記集合が、異なるフィルタの長さ、特に1つ、3つ、または5つの隣接する参照サンプル(403)にまたがるフィルタの長さを有するフィルタ(402)を含む、請求項2に記載のデバイス(500)。
【請求項4】
フィルタ(402)の前記集合内の各フィルタ(402)が、前記決定された参照サンプル(403a)に適用されると、前記決定された参照サンプル(403a)および1つまたは複数の隣接する参照サンプル(403)に対して異なる平滑化を行う、請求項1から3のいずれか一項に記載のデバイス(500)。
【請求項5】
前記選択された指向性イントラ予測モード(501a)に対応する前記イントラ予測角度を決定することと、
前記決定されたイントラ予測角度に応じて前記フィルタ(402)を選択することと
を行うように構成される、請求項1から4のいずれか一項に記載のデバイス(500)。
【請求項6】
前記選択された指向性イントラ予測モード(501)に対応する前記イントラ予測角度を決定することと、
前記予測ブロック(400)のさらなる予測サンプル(401)について、前記選択された指向性イントラ予測モード(501a)に基づいて、参照サンプル(403)の前記集合からさらなる参照サンプル(403b)を指定することと、
前記決定された参照サンプル(403a)と別の前記参照サンプル(403b)の間の距離を決定することと、
前記決定された距離に応じて前記フィルタ(402a)を選択することと
を行うように構成される、請求項1から5のいずれか一項に記載のデバイス(500)。
【請求項7】
前記指向性イントラ予測モード(501)の第1の下位集合から選択された指向性イントラ予測モード(501a)ごとに同じフィルタ(402a)を選択することと、
前記指向性イントラ予測モード(501)の第2の下位集合から選択された指向性イントラ予測モード(501a)ごとに異なるフィルタ(402a)を選択することと
を行うように構成される、請求項1から6のいずれか一項に記載のデバイス(500)。
【請求項8】
前記決定された参照サンプル(403a)から直接前記所与の予測サンプル(401)をイントラ予測するようにさらに構成され、
前記デバイス(400)が、前記所与の予測サンプル(401)の前記イントラ予測の前または前記イントラ予測中に、前記選択されたフィルタ(402a)を前記決定された参照サンプル(403a)に適用するように構成される、請求項1から7のいずれか一項に記載のデバイス(500)。
【請求項9】
前記選択されたイントラ予測モード(501a)に基づいて前記決定された参照サンプル(403a)を補間することによって転置された参照サンプル(700a)を生成することと、
前記転置された参照サンプル(700a)から前記所与の予測サンプル(401)をイントラ予測することと
を行うようにさらに構成され、
前記デバイス(500)が、前記転置された参照サンプル(700a)の前記生成の前または前記生成中に、前記選択されたフィルタ(402a)を前記決定された参照サンプル(403a)に適用するように構成される、請求項1から7のいずれか一項に記載のデバイス(500)。
【請求項10】
参照サンプル(403)の前記集合内の各参照サンプル(403)を転置するように構成され、参照サンプル(403)の行が転置された参照サンプル(700)の列になり、参照サンプル(403)の列が転置された参照サンプル(700)の行になる、請求項9に記載のデバイス(500)。
【請求項11】
参照サンプル(403)の前記集合の前記参照サンプル(403)が、前記予測ブロック(400)の上および右上に隣接して前記ビデオ画像の行に配置され、ならびに/または前記予測ブロック(400)の左および左下に隣接して前記ビデオ画像の列に配置される、請求項1から10のいずれか一項に記載のデバイス(500)。
【請求項12】
前記デバイス(500)が、前記ビデオ画像を符号化および/または復号するように構成されているか、
前記デバイス(500)が、ビデオエンコーダ(100)および/またはビデオデコーダ(200)である、請求項1から11のいずれか一項に記載のデバイス(500)。
【請求項13】
ビデオ画像の予測ブロック(400)をイントラ予測するための方法(800)であって、
指向性イントラ予測モード(501)の集合から指向性イントラ予測モード(501a)を選択するステップ(801)であって、各指向性イントラ予測モード(501)が、異なるイントラ予測角度に対応する、ステップと、
前記選択された指向性イントラ予測モード(501a)に基づいてフィルタ(402)の集合からフィルタ(402a)を選択するステップ(802)と、
前記予測ブロック(400)の所与の予測サンプル(401)について、前記選択された指向性イントラ予測モード(501)に基づいて、参照サンプル(403)の集合から参照サンプル(403a)を決定するステップ(803)と、
前記選択されたフィルタ(402a)を前記決定された参照サンプル(403a)に適用するステップ(804)と
を含む、方法(800)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、画像処理の分野、たとえば、静止ピクチャ/画像および/またはビデオピクチャ/画像コーディングに関する。特に、本発明は、イントラ予測のための、すなわち、ビデオ画像の予測ブロックをイントラ予測するためのデバイスに関する。デバイスは、ビデオピクチャエンコーダもしくはビデオ画像デコーダ、またはその一部であってもよい。デバイスは、予測ブロックの指向性イントラ予測を行うように特に構成されている。本発明はまた、対応するイントラ予測方法に関する。
【背景技術】
【0002】
ビデオコーディング(ビデオ符号化および復号)は、たとえば、ブロードキャストデジタルTV、インターネットおよびモバイルネットワークを介したビデオ送信、ビデオチャットなどのリアルタイム会話アプリケーション、ビデオ会議、DVDおよびブルーレイディスク、ビデオコンテンツの取得および編集システム、ならびにセキュリティ用途のカムコーダなどの幅広いデジタルビデオ用途で使用される。
【0003】
1990年にH.261標準においてブロックベースのハイブリッドビデオコーディング手法が開発されて以来、新しいビデオコーディング技法とツールが開発され、新しいビデオコーディング標準の基礎が形成された。ほとんどのビデオコーディング標準の目標のうちの1つは、画質を犠牲にすることなく、以前の標準と比較してビットレート削減を達成することであった。さらなるビデオコーディング標準は、MPEG-1ビデオ、MPEG-2ビデオ、ITU-T H.262/MPEG-2、ITU-T H.263、ITU-T H.264/MPEG-4、パート10、アドバンスドビデオコーディング(AVC)、ITU-T H.265、高効率ビデオコーディング(HEVC)、ならびにこれらの標準の拡張機能、たとえば、スケーラビリティおよび/または3次元(3D)拡張機能を含む。
【0004】
ビデオ圧縮は、所望のビットレート削減の達成を実現することが可能であるが、複雑なタスクである。具体的には、ビデオ圧縮は、圧縮効率と計算の複雑さという2つの相反するパラメータによって制約される。ITU-T H.264/AVC、またはITU-TH.265/HEVCなどのビデオコーディング標準は、これらのパラメータ間の良好なトレードオフを提供する。そのため、ほとんどいかなるビデオ圧縮用途についても、ビデオコーディング標準のサポートが必須要件である。
【0005】
最先端のビデオコーディング標準は、ソースピクチャをブロックに分割することに基づいている。これらのブロックの処理は、それらのサイズ、空間位置、およびエンコーダによって指定されるコーディングモードによって異なる。
【0006】
コーディングモードは、予測のタイプに応じて、イントラ予測モードとインター予測モードの2つのグループに分類することができる。イントラ予測モードは、再構築されているブロックのピクセルの予測値を計算するために、同じピクチャのピクセルを使用して参照サンプルを生成する。イントラ予測はまた、空間予測とも呼ばれる。インター予測モードは、時間的予測のために設計されており、現在のピクチャのブロックのピクセルを予測するために、前または次のピクチャの参照サンプルを使用する。
【0007】
予測段階の後、元の信号とその予測の差分である予測誤差に対して変換符号化が行われる。次いで、変換係数とサイド情報が、エントロピーコーダ(たとえば、AVC/H.264およびHEVC/H.265の場合はCABAC)を用いて符号化される。最近採用されたITU-TH.265/HEVC標準(ISO/IEC 23008-2:2013、「Information technology-High efficiency coding and media delivery in heterogeneous environments-Part 2:High efficiency video coding」、2013年11月)は、コーディング効率と計算の複雑さの間の合理的なトレードオフを提供する最先端のビデオコーディングツールの集合を宣言している。ITU-T H.265/HEVC標準の概要は、IEEE Transactions on Circuits and Systems for Video Technology、Vol. 22、No. 12、2012年12月における、Gary J. Sullivan著、「Overview of the High Efficiency Video Coding (HEVC) Standard」によって与えられており、その全内容は参照により本明細書に組み込まれる。
【0008】
ITU-T H.264/AVCビデオコーディング標準と同様に、HEVC/H.265ビデオコーディング標準は、ソースピクチャをブロック、たとえばコーディングユニット(CU)に分割することを規定している。CUの各々は、より小さいCUまたは予測ユニット(PU)にさらに分割されることができる。PUは、PUのピクセルに適用される処理のタイプに応じて、イントラ予測またはインター予測されることができる。インター予測の場合、PUは、PUについて指定された動きベクトルを使用した動き補償によって処理されるピクセルの領域を表す。イントラ予測では、隣接するブロックの隣接するピクセルが、現在のブロックを予測するための参照サンプルとして使用される。
【0009】
PUは、このPUに含まれるすべての変換ユニット(TU)のイントラ予測モードの集合から選択される予測モードを指定する。すなわち、イントラ予測モードは、PUの各TUについて同じである。TUは様々なサイズ(たとえば、4×4、8×8、16×16、および32×32ピクセル)を有することができ、様々な方法で処理されることができる。TUの場合、変換符号化が行われ、すなわち、予測誤差は離散コサイン変換または離散サイン変換(HEVC/H.265標準では、イントラコード化ブロックに適用される)で変換され、量子化される。したがって、再構築されたピクセルは、DBF、SAO、ALFなどのループ内フィルタが抑制しようとする量子化ノイズ(たとえば、ユニット間のブロッキネス、鋭いエッジに伴うリンギングアーティファクトなどとして明らかになる可能性がある)を含む。高度な予測符号化(動き補償およびイントラ予測など)および分割技法(たとえば、CUおよびPUの場合は4分木(Quad-Tree、QT)、ならびにHEVC/H.265標準におけるTUの場合は残差4分木(Residual Quad-Tree、RQT)、バージョンJEM-3.0以降のジョイント探索モデル(JEM)参照ソフトウェアの場合は4分木および2分木(QTBT))により、標準化委員会はPUにおける冗長性を大幅に減らすことができた。QTとQTBTの分割メカニズムの基本的な違いは、後者のメカニズムでは、4分木と2分木の両方に基づく分割を用いることによって、正方形だけでなく長方形のブロックも有効にすることである。本発明は、指向性イントラ予測に関するものであり、指向性イントラ予測モードの新しい修正を導入する。
【0010】
HEVC/H.265標準によると、35のイントラ予測モードが利用可能である。
図9に示されるように、この集合には次のモードが含まれている。
・平面モード(イントラ予測モードのインデックスは0)、
・DCモード(イントラ予測モードのインデックスは1)、
・
図9において実線の矢印によって示されている指向性モード(イントラ予測モードのインデックス値の範囲は2から34)。指向性イントラ予測モードの集合は、指向性イントラ予測モード間の角度ステップを2分の1に減らすことによって、最大65のモード(すなわち、ほぼ2倍)に拡張された。これらの追加モードは、
図9において破線の矢印によって示されている。
【0011】
JEM-3.0ソフトウェアでは、QTBTとして知られている新しい分割メカニズムが提案された。
図10に示されるように、QTBT分割は、正方形だけでなく長方形のブロックも提供することができる。もちろん、エンコーダ側における若干のシグナリングオーバーヘッドと計算の複雑さの増加は、たとえばHEVC/H.265標準において使用されている従来のQTベースの分割と比較して、QTBT分割の代償である。それにもかかわらず、QTBTベースの分割は、より優れたセグメンテーションプロパティを備えているため、従来のQTよりも大幅に高いコーディング効率を示す。
【0012】
しかしながら、QTBTを導入する際、利用可能な指向性イントラ予測モードの集合はそれに応じて変更されなかった。特に、
図11に示されるように、長方形のブロックの非対称性は考慮されなかった。したがって、長方形のブロックの短辺と長辺の両方に沿って、同じ数の参照サンプルが用いられる。QTBTフレームワークの現在の実装形態では、指向性イントラ予測モードの数は、ブロックのアスペクト比にも、参照サンプルの実際の利用可能性にも依存しない。その結果、長方形のブロックの短辺に用いられる極めてありそうにもない参照サンプルがある一方で、長辺に用いられないありそうな参照サンプルがある。
【0013】
特に、
図12に示されるように、本明細書では、「垂直方向のブロック」(「ブロックの垂直方向」)および「水平方向のブロック」(「ブロックの水平方向」)という用語は、QTBTフレームワークによって生成される長方形のブロックに適用される。
図12は、特に(a)水平方向のブロック、および(b)垂直方向のブロックを示している。
【0014】
寄稿JVET-D0113では、指向性イントラ予測モードの数が調整可能であるメカニズムを適用することがさらに提案されている。特に、大きなブロックサイズでは指向性イントラ予測モードの数を131へとさらに増やし、小さなブロックサイズでは指向性イントラ予測モードの数を減らすことが提案されている。ブロックサイズに基づく指向性イントラ予測モードの数の切替えは、SPSにおいてlog2値からそれぞれマイナス4およびマイナス6としてシグナリングされる2つのしきい値によって制御される。第1のしきい値は、35のイントラ予測モード方向を有することができる最大のブロックサイズを示し、第2のしきい値は、67のイントラ予測モード方向を有することができる最大ブロックサイズを示し、他のすべてのブロックは、131のイントラ予測モード方向を使用する。デフォルト設定では、しきい値はそれぞれ4および6としてシグナリングされ、高解像度の画像の場合は5および8に設定される。
【0015】
実装形態では、指向性イントラ予測モードインデックスは、実際に使用される指向性イントラ予測モードの数に関係なく、常に131モード範囲によって表される。実際に使用されている67のイントラ予測モードでは、2つおきの角度(指向性)モードのみが許可され、35のモードでは、4つおきの角度(指向性)モードのみが許可される。したがって、
図13において説明されているように、現在のブロックが131未満のイントラ予測モード方向を使用する場合、イントラ予測モードシグナリング中に、隣接ブロックのイントラ予測モードは、最も近い、第2の、または第4の角度イントラ予測モードに丸める必要がある。この変換は、1または2の左右のシフトをイントラ予測モードに適用することによって行われる。モードがMPMではない場合、モードシグナリングはJEM-3.0と同じプロセスに従うが、イントラ予測モードの数が異なる。平面モードとDCモードは変更されないままであり、モード変換は必要としない。イントラ予測モードの数の増加に対応するために、4タップイントラフィルタが1/32から1/64分数ペルに拡張されている。
【0016】
さらに、最近、長方形ブロック用に設定されたイントラ予測モードにいくつの指向性イントラ予測モードを含めるべきかという問題に対処するための技術が提案された。
図14に示されるように、提案された技術によれば、指向性イントラ予測モードの集合は、予測ブロックのアスペクト比に従って拡張されることができ、追加された指向性イントラ予測モードを従来の下位集合にマッピングすることによって信号を送ることができる。
【0017】
図15は、この点に関して、指向性イントラ予測モードに関連付けられる45°に等しい角度を有する対角方向のイントラ予測の場合を示している。この場合の対応するHEVCイントラモードインデックスは、2(左下から)と35(右上から)である。
【0018】
しかしながら、45°未満の角度に同様のイントラ予測メカニズムが適用された場合、すなわち、拡張された指向性イントラ予測モードの場合、状況は
図16に示されるもののようになる。つまり、イントラ予測の方向が鋭角(すなわち、45°未満)であると指定されている場合、予測において明らかな不連続性が観察される可能性がある。これらの不連続性の原因は、特に、予測サンプルの2つの隣接する行間の参照サンプルの位置の差分が1つの参照サンプルよりも大きくなる可能性があることである。この問題は、参照サンプルの処理とイントラ予測補間の実行方法に関連している。
【先行技術文献】
【非特許文献】
【0019】
【非特許文献1】ITU-TH.265/HEVC標準(ISO/IEC 23008-2:2013、「Information technology-High efficiency coding and media delivery in heterogeneous environments-Part 2:High efficiency video coding」、2013年11月)
【非特許文献2】IEEE Transactions on Circuits and Systems for Video Technology、Vol. 22、No. 12、2012年12月における、Gary J. Sullivan著、「Overview of the High Efficiency Video Coding (HEVC) Standard」
【発明の概要】
【発明が解決しようとする課題】
【0020】
上述の実装形態を考慮して、本発明は、ハイブリッドビデオコーディングをさらに改善することを目的とする。特に、本発明は、ビデオ画像の予測ブロックの改善されたイントラ予測のためのデバイスおよび方法を提供することを目的としている。本発明は、ハードウェアおよび計算の複雑さを追加することなく、追加のコーディングゲインを特に目指している。具体的には、本発明は、45°未満の鋭角で発生する上述の問題を克服することを意図しており、すなわち、これらの鋭角における不連続性を抑制したい。本発明は、従来の指向性イントラ予測メカニズムを使用するコーデックに容易に実装されるはずである。
【課題を解決するための手段】
【0021】
本発明の目的は、独立請求項の特徴によって定義される本発明の実施形態に従って解決される。実施形態のさらに有利な実装形態は、従属請求項の特徴によって定義される。
【0022】
特に、本発明は、イントラ予測の鋭角、すなわち45°未満のフィルタの長さを延ばすことによって不連続性を低減することを提案する。この解決策は、主にQTBTおよびMTTなどの分割フレームワークによって作成された長方形のブロックに適用可能である。
【0023】
本発明の第1の態様は、ビデオ画像の予測ブロックをイントラ予測するためのデバイスを提供し、デバイスは、指向性イントラ予測モードの集合から指向性イントラ予測モードを選択することであって、各指向性イントラ予測モードは、異なるイントラ予測角度に対応する、選択することと、選択された指向性イントラ予測モードに基づいてフィルタの集合からフィルタを選択することと、予測ブロックの所与の予測サンプルについて、選択された指向性イントラ予測モードに基づいて、参照サンプルの集合から参照サンプルを決定することと、選択されたフィルタを決定された参照サンプルに適用することとを行うように構成される。
【0024】
第1の態様によるデバイスは、以下の利点を提供する:
・追加のコーディングゲインに到達することができる。
・それぞれ最先端のビデオコーディングフレームワークと次世代のビデオコーディングフレームワークである、HMソフトウェアおよびVPXビデオコーデックファミリ、ならびにJEMおよびVTMソフトウェアとVPX/AV1ビデオコーデックファミリと互換性のあるハイブリッドビデオコーディングパラダイムにおける多くの潜在的なアプリケーションにおいて使用することができる。
・ハードウェアと計算の複雑さを低く抑える。
・デバイスは、従来の指向性イントラ予測メカニズムを採用したコーデックで簡単に実装することができる。
【0025】
特に、角度に応じてフィルタの長さを選択することによって、45°未満の鋭角のイントラ予測角度の上述の問題を克服することができる。2つの隣接する予測サンプルのイントラ予測に使用される2つの参照サンプル間の距離が大きくなり、2つの参照サンプルが互いに隣接しなくなった場合、選択されたフィルタの長さを大きくすると、不連続性が回避される。参照ピクセルが別のピクセルに隣接している45°を超える角度の場合、詳細を保持するためにフィルタの長さを短く選択することができる。
【0026】
特に、予測ブロックは、TUまたはPUであり得る。デバイスは、所与の予測サンプルについて説明したように、予測ブロック内の各予測サンプルを処理するように構成されている。したがって、デバイスは、ビデオ画像内の予測ブロック全体のイントラ予測を実行するように構成される。サンプルは、ビデオ画像におけるチャネルとピクセルの共通部分である。たとえば、ビデオ画像の各ピクセルは、赤、緑、および青の3つのサンプルが含み得る。
【0027】
第1の態様の実装形態では、デバイスは、選択された指向性イントラ予測モードに基づいてフィルタの長さを決定することと、少なくとも決定されたフィルタの長さを有するものをフィルタとして選択することとを行うように構成される。
【0028】
したがって、デバイスは、フィルタの長さがいずれの場合も不連続性を回避するのに十分な長さであることを保証する。
【0029】
第1の態様のさらなる実装形態では、フィルタの集合は、異なるフィルタの長さ、特に1つ、3つ、または5つの隣接する参照サンプルにまたがるフィルタの長さを有するフィルタを含む。
【0030】
第1の態様のさらなる実装形態では、フィルタの集合内の各フィルタは、決定された参照サンプルに適用されると、決定された参照サンプルおよび1つまたは複数の隣接する参照サンプルに対して異なる平滑化を行う。
【0031】
より鋭角の場合、たとえば、より隣接する参照サンプルに対するより強い平滑化は、それに応じてフィルタを選択することによって選択することができ、一方、より鋭角ではない(または、鋭角ではない)角度については、たとえば、より隣接の少ない参照サンプルに対するより柔らかい平滑化を選択することができる。
【0032】
第1の態様のさらなる実装形態では、デバイスは、選択された指向性イントラ予測モードに対応するイントラ予測角度を決定することと、決定されたイントラ予測角度に応じてフィルタを選択することとを行うように構成される。
【0033】
したがって、イントラ予測の角度ごとに最適なフィルタを選択することができる。
【0034】
第1の態様のさらなる実装形態では、デバイスは、選択された指向性イントラ予測モードに対応するイントラ予測角度を決定することと、予測ブロックのさらなる予測サンプルについて、選択された指向性イントラ予測モードに基づいて、参照サンプルの集合からさらなる参照サンプルを指定することと、決定された参照サンプルと別の参照サンプルの間の距離を決定することと、決定された距離に応じてフィルタを選択することとを行うように構成される。
【0035】
デバイスは、イントラ予測角度を出力として取得するために、選択された指向性イントラ予測モードを入力として取るフィルタ選択アルゴリズムを実行するように構成され得る。デバイスは、選択された指向性イントラ予測モードのインデックスに基づいてイントラ予測角度を決定し得る。さらに、デバイスは、予測ブロックのアスペクト比に基づいて角度を決定するように構成され得る。
【0036】
決定された参照サンプルが所与の予測サンプルに対して決定されるのと同じ方法で、特に選択されたモードのイントラ予測方向、すなわちイントラ予測角度に基づいて、さらなる参照サンプルがさらなる予測サンプルに対して指定され得る。決定された参照サンプルとさらなる参照サンプルとの間の距離は、所与の予測サンプルと予測ブロック内のさらなる予測サンプルとの間の距離、および選択されたモードに関連付けられるイントラ予測角度に基づいて導出され得る。距離は、参照サンプルの整数または分数で決定され得る。
【0037】
決定された距離がより小さい場合は、フィルタの長さがより長いフィルタが選択され得、決定された距離がより大きい場合は、フィルタの長さがより短いフィルタが選択され得る。特に、少なくとも決定された距離のフィルタの長さを有するフィルタが選択されうる。少なくとも決定された距離のフィルタの長さを有する選択可能なフィルタがない場合、フィルタ集合内の最大のフィルタの長さを有するフィルタが選択され得る。
【0038】
したがって、参照サンプル間の距離がイントラ予測後に不連続性を引き起こさないようにフィルタを選択することができる。
【0039】
第1の態様のさらなる実装形態では、デバイスは、指向性イントラ予測モードの第1の下位集合から選択された指向性イントラ予測モードごとに同じフィルタを選択することと、指向性イントラ予測モードの第2の下位集合から選択された指向性イントラ予測モードごとに異なるフィルタを選択することとを行うように構成される。
【0040】
たとえば、第1の下位集合は、45°以上のイントラ予測角度に関連付けられる指向性イントラ予測モードを含み得、第2の下位集合は、45°未満のイントラ予測角度に関連付けられる指向性イントラ予測モードを含み得る。
【0041】
第1の態様のさらなる実装形態では、デバイスは、決定された参照サンプルから直接所与の予測サンプルをイントラ予測するように構成され、デバイスは、所与の予測サンプルのイントラ予測の前またはイントラ予測中に、選択されたフィルタを決定された参照サンプルに適用するように構成される。
【0042】
第1の態様のさらなる実装形態では、デバイスは、選択されたイントラ予測モードに基づいて決定された参照サンプルを補間することによって転置された参照サンプルを生成することと、転置された参照サンプルから所与の予測サンプルをイントラ予測することとを行うように構成され、デバイスは、転置された参照サンプルの生成の前または生成中に、選択されたフィルタを決定された参照サンプルに適用するように構成される。
【0043】
第1の態様のさらなる実装形態では、デバイスは、参照サンプルの集合内の各参照サンプルを転置するように構成され、参照サンプルの行は転置された参照サンプルの列になり、参照サンプルの列は転置された参照サンプルの行になる。
【0044】
第1の態様のさらなる実装形態では、参照サンプルの集合の参照サンプルは、予測ブロックの上および右上に隣接してビデオ画像の行に配置され、ならびに/または予測ブロックの下で左および左下に隣接してビデオ画像の列に配置される。
【0045】
第1の態様のさらなる実装形態では、デバイスは、ビデオ画像を符号化および/または復号するように構成されているか、デバイスは、ビデオエンコーダおよび/またはビデオデコーダである。
【0046】
たとえば、第1の態様のデバイスは、エンコーダまたはデコーダのイントラ予測ユニットに含まれるか、またはそのユニットであり得る。
【0047】
本発明の第2の態様は、ビデオ画像の予測ブロックをイントラ予測するための方法を提供し、本方法は、指向性イントラ予測モードの集合から指向性イントラ予測モードを選択するステップであって、各指向性イントラ予測モードは、異なるイントラ予測角度に対応する、ステップと、選択された指向性イントラ予測モードに基づいてフィルタの集合からフィルタを選択するステップと、予測ブロックの所与の予測サンプルについて、選択された指向性イントラ予測モードに基づいて、参照サンプルの集合から参照サンプルを決定するステップと、選択されたフィルタを決定された参照サンプルに適用するステップとを含む。
【0048】
第2の態様の実装形態では、本方法は、選択された指向性イントラ予測モードに基づいてフィルタの長さを決定するステップと、少なくとも決定されたフィルタの長さを有するものをフィルタとして選択するステップとを含む。
【0049】
第2の態様のさらなる実装形態では、フィルタの集合は、異なるフィルタの長さ、特に1つ、3つ、または5つの隣接する参照サンプルにまたがるフィルタの長さを有するフィルタを含む。
【0050】
第2の態様のさらなる実装形態では、フィルタの集合内の各フィルタは、決定された参照サンプルに適用されると、決定された参照サンプルおよび1つまたは複数の隣接する参照サンプルに対して異なる平滑化を実行する。
【0051】
第2の態様のさらなる実装形態では、本方法は、選択された指向性イントラ予測モードに対応するイントラ予測角度を決定するステップと、決定されたイントラ予測角度に応じてフィルタを選択するステップとを含む。
【0052】
第2の態様のさらなる実装形態では、本方法は、選択された指向性イントラ予測モードに対応するイントラ予測角度を決定するステップと、予測ブロックのさらなる予測サンプルについて、選択された指向性イントラ予測モードに基づいて、参照サンプルの集合からさらなる参照サンプルを指定するステップと、決定された参照サンプルと別の参照サンプルの間の距離を決定するステップと、決定された距離に応じてフィルタを選択するステップとを含む。
【0053】
第2の態様のさらなる実装形態では、本方法は、指向性イントラ予測モードの第1の下位集合から選択された指向性イントラ予測モードごとに同じフィルタを選択するステップと、指向性イントラ予測モードの第2の下位集合から選択された指向性イントラ予測モードごとに異なるフィルタを選択するステップとを含む。
【0054】
第2の態様のさらなる実装形態では、本方法は、決定された参照サンプルから直接所与の予測サンプルをイントラ予測するステップを含み、本方法は、所与の予測サンプルのイントラ予測の前またはイントラ予測中に、選択されたフィルタを決定された参照サンプルに適用するステップを含む。
【0055】
第2の態様のさらなる実装形態では、本方法は、選択されたイントラ予測モードに基づいて決定された参照サンプルを補間することによって転置された参照サンプルを生成するステップと、転置された参照サンプルから所与の予測サンプルをイントラ予測するステップとを含み、本方法は、転置された参照サンプルの生成の前または生成中に、選択されたフィルタを決定された参照サンプルに適用するステップを含む。
【0056】
第2の態様のさらなる実装形態では、本方法は、参照サンプルの集合内の各参照サンプルを転置するステップを含み、参照サンプルの行は転置された参照サンプルの列になり、参照サンプルの列は転置された参照サンプルの行になる。
【0057】
第2の態様のさらなる実装形態では、参照サンプルの集合の参照サンプルは、予測ブロックの上および右上に隣接してビデオ画像の行に配置され、ならびに/または予測ブロックの下で左および左下に隣接してビデオ画像の列に配置される。
【0058】
第2の態様のさらなる実装形態では、本方法は、ビデオ画像を符号化および/または復号するようために実行されるか、本方法は、ビデオエンコーダおよび/またはビデオデコーダにおいて実行される。
【0059】
第2の態様の方法およびその実装形態は、第1の態様のデバイスおよびそのそれぞれの実装形態について上述したものと同じ利点および効果を達成する。
【0060】
本出願において説明されるすべてのデバイス、要素、ユニット、および手段は、ソフトウェアまたはハードウェア要素、あるいはそれらの任意の種類の組合せにおいて実装することができる点に留意されたい。本出願で説明される様々なエンティティによって実行されるすべてのステップ、ならびに様々なエンティティによって実行されるように記述される機能は、それぞれのエンティティがそれぞれのステップおよび機能を実行するように適合または構成されることを意味することが意図される。たとえ以下の特定の実施形態の説明において、外部エンティティによって実行されるべき特定の機能またはステップが、その特定のステップまたは機能を実行するそのエンティティの特定の詳細な要素の説明に反映されていない場合でも、これらの方法および機能は、それぞれのソフトウェアまたはハードウェア要素、あるいはそれらの任意の種類の組合せにおいて実装することができることは、当業者にとって明らかであるべきである。
【0061】
1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【0062】
以下の本発明の実施形態では、添付の図および図面を参照してより詳細に説明されている。
【図面の簡単な説明】
【0063】
【
図1】本発明の実施形態を実装するように構成されたビデオエンコーダの例示的な構造を示すブロック図である。
【
図2】本発明の実施形態を実装するように構成されたビデオデコーダの例示的な構造を示すブロック図である。
【
図3】本発明の実施形態を実装するように構成されたビデオコーディングシステムの例を示すブロック図である。
【
図4】(a)イントラ予測角度が45°より小さい場合の不連続性の原因、および(b)イントラ予測角度が45°より小さい場合の行間不連続性を示す図である。
【
図5】本発明の一実施形態によるデバイスを示すブロック図である。
【
図6】本発明の実施形態によるデバイスによって実行される、イントラ予測角度に依存する参照サンプルフィルタ選択メカニズムのフローチャートである。
【
図7】本発明の実施形態によるデバイスによって実行される、参照サンプルの事前補間メカニズムを示す図である。
【
図8】本発明の一実施形態による方法の流れ図である。
【
図9】HMおよびJEMソフトウェアにおけるイントラ予測モードを示す図である(角度/指向性モードは破線によってマーク付けされており、JEMに対してのみ導入されており、HMに対しては導入されていない)。
【
図11】QTおよびQTBTフレームワークにおける指向性イントラ予測メカニズムの現在の実装形態を示す図である。
【
図12】長方形ブロックの方向を説明し、特に、(a)水平方向および(b)垂直方向を有する長方形ブロックを示す図である。
【
図13】JVET-D0113において提案されたイントラモード選択を示す図である。
【
図14】指向性イントラ予測モードの提案された拡張を示す図である。
【
図15】45°に等しいイントラ予測角度についての予測サンプルの2つの隣接する行をイントラ予測するための参照サンプル間の距離を概略的に示す図である。
【
図16】45°未満のイントラ予測角度についての予測サンプルの2つの隣接する行をイントラ予測するための参照サンプル間の距離を概略的に示す図である。
【発明を実施するための形態】
【0064】
以下の説明では、本開示の一部を形成し、例示として、本発明の実施形態の特定の態様または本発明の実施形態が使用され得る特定の態様を示す添付の図を参照する。本発明の実施形態は、他の態様において使用され得、図面に示されていない構造的または論理的変更を含むことができることが理解される。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲によって定義される。
【0065】
たとえば、説明された方法に関連する開示は、その方法を実行するように構成された対応するデバイスまたはシステムにも当てはまる可能性があり、逆もまた同様であることが理解される。たとえば、1つまたは複数の特定の方法ステップが説明される場合、対応するデバイスは、たとえそのような1つまたは複数のユニットが図に明示的に説明または図示されていない場合でも、説明された1つまたは複数の方法ステップ(たとえば、1つまたは複数のステップを実行する1つのユニット、あるいはそれぞれが複数のステップのうちの1つまたは複数を実行する複数のユニット)を実行するために、1つまたは複数のユニット、たとえば、機能ユニットを含み得る。一方、たとえば、特定の装置が1つまたは複数のユニット、たとえば機能ユニットに基づいて説明される場合、対応する方法は、たとえそのような1つまたは複数のステップが図に明示的に説明または図示されていない場合でも、1つまたは複数のユニット(たとえば、1つまたは複数のユニットの機能を実行する1つのステップ、あるいはそれぞれが複数のユニットのうちの1つまたは複数の機能を実行する複数のステップ)の機能を実行するための1つのステップを含み得る。さらに、本明細書に記載の様々な例示的な実施形態および/または態様の特徴は、特に明記しない限り、互いに組み合わせることができることが理解される。
【0066】
ビデオコーディングは通常、ビデオまたはビデオシーケンスを形成する一連のピクチャの処理を指す。ピクチャという用語の代わりに、フレームまたは画像という用語がビデオコーディングの分野において同義語として使用され得る。ビデオコーディングは、ビデオ符号化とビデオ復号の2つの部分を含む。ビデオ符号化はソース側で実行され、通常、(より効率的なストレージおよび/または送信のために)ビデオピクチャを表すために必要なデータの量を減らすために、(たとえば、圧縮によって)元のビデオピクチャを処理することを含む。ビデオ復号は宛先側で実行され、通常、ビデオピクチャを再構築するためのエンコーダと比較して逆の処理を含む。ビデオピクチャ(または、後で説明するように、ビデオ画像または概してピクチャ)の「コーディング」に言及する実施形態は、ビデオピクチャの「符号化」および「復号」の両方に関連すると理解されるものとする。符号化部分と復号部分の組合せは、CODEC(COdingおよびDECoding)とも呼ばれる。
【0067】
可逆ビデオコーディングの場合、元のビデオピクチャは再構築されることができ、すなわち、(ストレージまたは送信中に伝送損失または他のデータ損失がないと仮定すると)再構築されたビデオピクチャは元のビデオピクチャと同じ品質を有する。非可逆ビデオコーディングの場合、ビデオピクチャを表すデータの量を減らすために、たとえば量子化によるさらなる圧縮が実行され、デコーダにおいて完全に再構築されることができず、すなわち、元のビデオピクチャの品質と比較して、再構築されたビデオピクチャの品質が低下または悪化する。
【0068】
H.261以降のいくつかのビデオコーディング標準は、「非可逆ハイブリッドビデオコーデック」のグループに属している(すなわち、サンプルドメインにおける空間的および時間的予測と、変換ドメインにおける量子化を適用するための2D変換符号化を組み合わせる)。ビデオシーケンスの各ピクチャは、通常、重複しないブロックの集合に分割され、コーディングは通常、ブロックレベルで行われる。言い換えると、エンコーダにおいて、ビデオは通常、たとえば、予測ブロックを生成するために空間(ピクチャ内)予測と時間(ピクチャ間)予測を使用すること、残差ブロックを取得するために現在のブロック(現在処理されている/処理される予定のブロック)から予測ブロックを差し引くこと、送信されるべきデータの量を減らす(圧縮する)ために残差ブロックを変換し、変換ドメインにおいて残差ブロックを量子化することによって、ブロック(ビデオブロック)レベルで処理、すなわち符号化され、一方、表現のために現在のブロックを再構築するために、デコーダにおいて、エンコーダと比較して逆の処理が、符号化または圧縮されたブロックに適用される。さらに、エンコーダは、デコーダ処理ループを複製して、両方が、後続のブロックを処理、すなわちコーディングするための同一の予測(たとえば、イントラ予測およびインター予測)および/または再構築を生成するようにする。
【0069】
ビデオピクチャ処理(動画処理とも呼ばれる)および静止ピクチャ処理(コーディングを含む処理という用語)は、多くの概念および技術またはツールを共有しているため、以下では、必要のない場合、ビデオピクチャと静止ピクチャとの間の不必要な繰返しおよび区別を回避するために、「ピクチャ」という用語はビデオシーケンスのビデオピクチャ(上記で説明したように)および/または静止ピクチャを指すために使用される。説明が静止ピクチャ(または、静止画像)のみに言及している場合、「静止ピクチャ」という用語が使用されるものとする。
【0070】
以下では、
図4から
図11に基づいて本発明の実施形態をより詳細に説明する前に、本発明の実施形態を実装するためのエンコーダ100、デコーダ200、およびコーディングシステム300が
図1から
図3に基づいて説明される。
【0071】
図3は、コーディングシステム300、たとえば、ピクチャコーディングシステム300の実施形態を示す概念的または概略的なブロック図であり、コーディングシステム300は、符号化されたデータ330、たとえば、符号化されたピクチャ330を、符号化されたデータ330を復号するための宛先デバイス320へ提供するように構成されたソースデバイス310を備える。
【0072】
ソースデバイス310は、エンコーダ100または符号化ユニット100を備え、追加的に、すなわち任意で、ピクチャソース312、前処理ユニット314、たとえば、ピクチャ前処理ユニット314、および通信インターフェースまたは通信ユニット318を備え得る。
【0073】
ピクチャソース312は、たとえば、実世界のピクチャをキャプチャするための任意の種類のピクチャキャプチャデバイス、および/またはコンピュータアニメーションピクチャを生成するためのコンピュータグラフィックプロセッサなどの任意の種類のピクチャ生成デバイス、あるいは実世界のピクチャ、コンピュータアニメーションピクチャ(たとえば、画面コンテンツ、仮想現実(VR)ピクチャ)、ならびに/あるいはそれらの任意の組合せ(たとえば、拡張現実(AR)ピクチャ)を取得および/または提供するための任意の種類のデバイスを備えるか、またはそれであり得る。以下では、特に明記しない限り、これらすべての種類のピクチャおよび任意の他の種類のピクチャを「ピクチャ」と呼び、「ビデオピクチャ」、「ビデオ画像」、「静止画像」、および「静止ピクチャ」をカバーする「ピクチャ」という用語に関する前述の説明は、明示的に別段の指定がない限り、引き続き当てはまる。
【0074】
(デジタル)ピクチャは、強度値を持つサンプルの2次元配列またはマトリックスでもよく、そのように見なすこともできる。配列内のサンプルはまた、ピクセル(ピクチャ要素の略称)またはペルと呼ばれ得る。配列またはピクチャの水平および垂直方向(または、軸)のサンプル数は、ピクチャのサイズおよび/または解像度を定義する。色の表現には、通常、3つの色成分が使用され、すなわち、ピクチャを表現することも、3つのサンプル配列を含むこともできる。RBG形式または色空間において、ピクチャは対応する赤、緑、および青のサンプル配列で構成される。しかしながら、ビデオコーディングにおいて、各ピクセルは通常、輝度/クロミナンス形式または色空間、たとえば、Yによって示される輝度成分(代わりにLも使用される場合がある)と、CbおよびCrによって示される2つのクロミナンス成分を含むYCbCrで表される。輝度(luminance)(または、略してルマ(luma))成分Yは、明度またはグレーレベル強度(たとえば、グレースケールピクチャのように)を表し、2つのクロミナンス(chrominance)(または、略して彩度(chroma))成分CbおよびCrは、色度または色情報成分を表す。したがって、YCbCr形式のピクチャは、輝度サンプル値(Y)の輝度サンプル配列、およびクロミナンス値(CbおよびCr)の2つのクロミナンスサンプル配列を含む。RGB形式のピクチャはYCbCr形式に変換または変換され得、その逆も可能であり、このプロセスは、色変換または色変換としても知られる。ピクチャがモノクロである場合、ピクチャは輝度サンプル配列のみを含み得る。
【0075】
ピクチャソース312は、たとえば、ピクチャをキャプチャするためのカメラ、以前にキャプチャまたは生成されたピクチャを含むまたは記憶するメモリ、たとえばピクチャメモリ、および/あるいはピクチャを取得または受信するための任意の種類のインターフェース(内部または外部)であり得る。カメラは、たとえば、ソースデバイスに統合されたローカルまたは統合カメラであり得、メモリは、たとえば、ソースデバイスに統合されたローカルまたは統合メモリであり得る。インターフェースは、たとえば、外部ビデオソース、たとえば、カメラなどの外部ピクチャキャプチャデバイス、外部メモリ、あるいは外部ピクチャ生成デバイス、たとえば、外部コンピュータグラフィックスプロセッサ、コンピュータまたはサーバからピクチャを受信するための外部インターフェースであり得る。インターフェースは、任意の独自のまたは標準化されたインターフェースプロトコルによる、任意の種類のインターフェース、たとえば、有線または無線インターフェース、光インターフェースであり得る。ピクチャデータ312を取得するためのインターフェースは、通信インターフェース318と同じインターフェースまたはその一部であり得る。
【0076】
前処理ユニット314および前処理ユニット314によって実行される処理と区別して、ピクチャまたはピクチャデータ313は、生ピクチャまたは生ピクチャデータ313と呼ばれることもある。
【0077】
前処理ユニット314は、(生)ピクチャデータ313を受信することと、前処理されたピクチャ315または前処理されたピクチャデータ315を取得するためにピクチャデータ313に対して前処理を実行することとを行うように構成される。前処理ユニット314によって実行される前処理は、たとえば、トリミング、色フォーマット変換(たとえば、RGBからYCbCrへ)、色補正、またはノイズ除去を含み得る。
【0078】
エンコーダ100は、前処理されたピクチャデータ315を受信することと、符号化されたピクチャデータ171を提供することとを行うように構成される(たとえば、
図1に基づいて、さらなる詳細が説明される)。
【0079】
ソースデバイス310の通信インターフェース318は、符号化されたピクチャデータ171を受信すること、それを、ストレージまたは直接再構成するために、別のデバイス、たとえば、宛先デバイス320または任意の他のデバイスに直接送信すること、あるいは、符号化されたデータ330を記憶する前に、および/あるいは符号化されたデータ330を別のデバイス、たとえば、宛先デバイス320、あるいは復号または記憶するための任意の他のデバイスに送信する前に、符号化されたピクチャデータ171を処理することを行うように構成され得る。
【0080】
宛先デバイス320は、デコーダ200または復号ユニット200を備え、さらに、すなわち、任意で、通信インターフェースまたは通信ユニット322、後処理ユニット326、および表示デバイス328を備え得る。
【0081】
宛先デバイス320の通信インターフェース322は、たとえば、ソースデバイス310から直接、または任意の他のソース、たとえば、メモリ、たとえば、符号化されたピクチャデータメモリから、符号化されたピクチャデータ171または符号化されたデータ330を受信するように構成される。
【0082】
通信インターフェース318および通信インターフェース322は、ソースデバイス310と宛先デバイス320との間の直接通信リンク、たとえば、直接的な有線または無線接続を介して、あるいは、任意の種類のネットワーク、たとえば、有線または無線ネットワーク、またはそれらの任意の組合せ、あるいは任意の種類のプライベートおよびパブリックネットワーク、またはそれらの任意の種類の組合せを介して、符号化されたピクチャデータ171または符号化されたデータ330をそれぞれ送受信するように構成され得る。
【0083】
通信インターフェース318は、たとえば、符号化されたピクチャデータ171を、通信リンクまたは通信ネットワークを介して送信するための適切なフォーマット、たとえば、パケットにパッケージ化するように構成され得、データ損失保護およびデータ損失回復をさらに含み得る。
【0084】
通信インターフェース318の相手となる通信インターフェース322は、たとえば、符号化されたピクチャデータ171を取得するために符号化されたデータ330をパッケージ解除するように構成され得、たとえばエラー隠蔽を含む、データ損失保護およびデータ損失回復を実行するようにさらに構成され得る。
【0085】
通信インターフェース318および通信インターフェース322の両方は、ソースデバイス310から宛先デバイス320を指す
図3の符号化されたピクチャデータ330の矢印によって示されるように、単方向通信インターフェース、または双方向通信インターフェースとして構成され得、たとえばメッセージを送受信するように、たとえば接続をセットアップするように、ピクチャデータを含む、失われたまたは遅延したデータを確認および/または再送信するように、および通信リンクおよび/またはデータ送信、たとえば、符号化されたピクチャデータの送信に関連する任意の他の情報を交換するように構成され得る。
【0086】
デコーダ200は、符号化されたピクチャデータ171を受信し、復号されたピクチャデータ231または復号されたピクチャ231を提供するように構成される(たとえば、
図2に基づいてさらなる詳細が説明される)。
【0087】
宛先デバイス320のポストプロセッサ326は、復号されたピクチャデータ231、たとえば復号されたピクチャ231を後処理して、後処理されたピクチャデータ327、たとえば後処理された画像327を取得するように構成される。後処理ユニット326によって実行される後処理は、たとえば、色フォーマット変換(たとえば、YCbCrからRGBへ)、色補正、トリミング、またはリサンプリング、あるいは、たとえばディスプレイデバイス328による、たとえば表示のための復号されたピクチャデータ231を準備するための任意の他の処理を含み得る。
【0088】
宛先デバイス320のディスプレイデバイス328は、たとえば、ユーザまたは視る者に対してピクチャを表示するための後処理されたピクチャデータ327を受信するように構成される。ディスプレイデバイス328は、再構築されたピクチャを表すための任意の種類のディスプレイ、たとえば統合された、または外部のディスプレイあるいはモニタであり得るか、またはそれを備え得る。ディスプレイは、たとえば、ブラウン管(CRT)、液晶ディスプレイ(LDC)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または任意の種類の他のディスプレイ、ビーマ、またはホログラム(3D)を含み得る。
【0089】
図3は、ソースデバイス310および宛先デバイス320を別個のデバイスとして示しているが、デバイスの実施形態はまた、両方または両方の機能、ソースデバイス310または対応する機能、および宛先デバイス320または対応する機能を備え得る。そのような実施形態では、ソースデバイス310または対応する機能および宛先デバイス320または対応する機能は、同じハードウェアおよび/またはソフトウェアを使用して、あるいは別個のハードウェアおよび/またはソフトウェアまたはそれらの任意の組合せによって実装され得る。
【0090】
説明に基づいて当業者に明らかであるように、異なるユニットの機能、または
図3に示されるようなソースデバイス310および/もしくは宛先デバイス320内の機能の存在および(正確な)分割は、実際のデバイスおよびアプリケーションによって異なる場合がある。
【0091】
したがって、
図3に示されるソースデバイス310および宛先デバイス320は、本発明の単なる例示的な実施形態であり、本発明の実施形態は、
図3に示されるものに限定されない。
【0092】
ソースデバイス310および宛先デバイス320は、任意の種類のハンドヘルドまたは固定デバイス、たとえば、ノートブックまたはラップトップコンピュータ、モバイル電話、スマートフォン、タブレットまたはタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、ブロードキャストレシーバデバイスなどを含む広範囲のデバイスのいずれかを含んでもよく、オペレーティングシステムを使用しなくてもよく、任意の種類のオペレーティングシステムを使用してもよい。
【0093】
エンコーダおよび符号化方法
図1は、入力102、残差計算ユニット104、変換ユニット106、量子化ユニット108、逆量子化ユニット110、および逆変換ユニット112、再構築ユニット114、バッファ118、ループフィルタ120、復号ピクチャバッファ(DPB)130、予測ユニット160(インター推定ユニット142、インター予測ユニット144、イントラ推定ユニット152、およびイントラ予測ユニット154を含む)、モード選択ユニット162、エントロピー符号化ユニット170、および出力172を備える、エンコーダ100、たとえば、ピクチャエンコーダ100の実施形態の概略/概念ブロック図を示している。
図1に示されるようなビデオエンコーダ100は、ハイブリッドビデオエンコーダまたはハイブリッドビデオコーデックによるビデオエンコーダと呼ばれることもある。
【0094】
たとえば、残差計算ユニット104、変換ユニット106、量子化ユニット108、およびエントロピー符号化ユニット170は、エンコーダ100の順方向信号経路を形成し、一方、たとえば、逆量子化ユニット110、逆変換ユニット112、再構築ユニット114、バッファ118、ループフィルタ120、復号ピクチャバッファ(DPB)130、インター予測ユニット144、およびイントラ予測ユニット154は、エンコーダの逆方向信号経路を形成し、エンコーダの逆方向信号経路は、デコーダの信号経路に対応する(
図2のデコーダ200を参照)。
【0095】
エンコーダ100は、たとえば、入力102によって、ピクチャ101またはピクチャ101のピクチャブロック103、たとえば、ビデオまたはビデオシーケンスを形成するピクチャのシーケンスのピクチャを受信するように構成される。(特に、現在のピクチャを、他のピクチャ、たとえば同じビデオシーケンスの以前に符号化および/または復号されたピクチャ、すなわち現在のピクチャも含むビデオシーケンスとは区別するため、ビデオコーディングにおいて)ピクチャブロック103はまた、現在のピクチャブロックまたは符号化されるべきピクチャブロックと呼ばれ得、ピクチャ101は、現在のピクチャまたは符号化されるべきピクチャと呼ばれ得る。
【0096】
残差計算
残差計算ユニット104は、たとえば、サンプルドメイン内の残差ブロック105を取得するためにサンプルごと(ピクセルごと)に、ピクチャブロック103のサンプル値から予測ブロック165のサンプル値を差し引くことによって、ピクチャブロック103および予測ブロック165に基づいて残差ブロック105を計算するように構成される(予測ブロック165についてのさらなる詳細は後で提供される)。
【0097】
変換
変換ユニット106は、変換、たとえば、空間周波数変換または線形空間(周波数)変換、たとえば、変換領域における変換された係数107を取得するために、残差ブロック105のサンプル値に対して離散コサイン変換(DCT)または離散サイン変換(DST)を適用するように構成される。変換された係数107はまた、変換された残差係数と呼ばれ得、変換領域における残差ブロック105を表す。
【0098】
変換ユニット106は、HEVC/H.265で指定されたコア変換などの、DCT/DSTの整数近似を適用するように構成され得る。正規直交DCT変換と比較すると、そのような整数近似は通常、特定の係数によってスケーリングされる。順変換および逆変換によって処理される残差ブロックのノルムを維持するために、変換プロセスの一部として追加のスケーリング係数が適用される。スケーリング係数は通常、シフト演算では2の累乗であるスケーリング係数、変換された係数のビット深度、精度と実装コストの間のトレードオフなどの特定の制約に基づいて選択される。特定のスケーリング係数は、たとえば、デコーダ200における逆変換ユニット212によって(および対応する逆変換、たとえばエンコーダ100における逆変換ユニット112によって)逆変換に対して指定され、エンコーダ100における、たとえば、変換ユニット106による順方向変換の対応するスケーリング係数は、それに応じて指定され得る。
【0099】
量子化
量子化ユニット108は、量子化された係数109を取得するために、たとえば、スカラ量子化またはベクトル量子化を適用することによって、変換された係数107を量子化するように構成される。量子化された係数109はまた、量子化された残差係数109と呼ばれ得る。たとえば、スカラ量子化の場合、より細かいまたはより粗い量子化を実現するために、様々なスケーリングが適用され得る。より小さい量子化ステップサイズはより細かい量子化に対応し、より大きい量子化ステップサイズはより粗い量子化に対応する。適用可能な量子化ステップサイズは、量子化パラメータ(QP)によって示され得る。量子化パラメータは、たとえば、適用可能な量子化ステップサイズの事前定義された集合へのインデックスであり得る。たとえば、小さい量子化パラメータは、細かい量子化(小さい量子化ステップサイズ)に対応し得、大きい量子化パラメータは、粗い量子化(大きい量子化ステップサイズ)に対応し得、またはその逆であり得る。量子化は、量子化ステップサイズによる除算を含み得、たとえば逆量子化110による対応する逆非量子化は、量子化ステップサイズによる乗算を含み得る。HEVCによる実施形態は、量子化ステップサイズを決定するために量子化パラメータを使用するように構成され得る。一般に、量子化ステップサイズは、除算を含む方程式の固定小数点近似を使用して、量子化パラメータに基づいて計算され得る。残差ブロックのノルムを復元するために、量子化と非量子化に追加のスケーリング係数が導入され得、これは、量子化ステップサイズと量子化パラメータの方程式の固定小数点近似において使用されるスケーリングのために修正される可能性がある。1つの例示的な実装形態では、逆変換のスケーリングと非量子化を組み合わせることができる。あるいは、カスタマイズされた量子化テーブルを使用して、エンコーダからデコーダに、たとえばビットストリームで信号を送ることができる。量子化は非可逆演算であり、量子化ステップサイズの増加に伴って損失が増加する。
【0100】
エンコーダ100(または、それぞれ量子化ユニット108)の実施形態は、たとえば、対応する量子化パラメータによって、量子化スキームおよび量子化ステップサイズを出力するように構成され得、その結果、デコーダ200は、対応する逆量子化を受信および適用し得る。エンコーダ100(または、量子化ユニット108)の実施形態は、量子化スキームおよび量子化ステップサイズを、たとえば直接、またはエントロピー符号化ユニット170または任意の他のエントロピー符号化ユニットを介して符号化されたエントロピーを出力するように構成され得る。
【0101】
逆量子化ユニット110は、非量子化された係数111を取得するために、たとえば、量子化ユニット108と同じ量子化ステップサイズに基づいて、または量子化ユニット108と同じ量子化ステップサイズを使用して、量子化ユニット108によって適用される量子化スキームの逆を適用することによって、量子化された係数に量子化ユニット108の逆量子化を適用するよう構成される。非量子化された係数111はまた、非量子化された残差係数111と呼ばれてもよく、通常、量子化による損失により、変換された係数と同一ではないが、変換された係数107に対応する。
【0102】
逆変換ユニット112は、サンプルドメインにおける逆変換されたブロック113を取得するために、変換ユニット106によって適用される変換の逆変換、たとえば、逆離散コサイン変換(DCT)または逆離散サイン変換(DST)を適用するように構成される。逆変換されたブロック113はまた、逆変換された非量子化ブロック113または逆変換された残差ブロック113と呼ばれ得る。
【0103】
再構築ユニット114は、たとえば、復号された残差ブロック113のサンプル値と予測ブロック165のサンプル値をサンプルごとに加算することによって、サンプルドメイン内の再構築されたブロック115を取得するために、逆変換されたブロック113と予測ブロック165とを組み合わせるように構成される。
【0104】
バッファユニット116(または、略して「バッファ」116)、たとえば、ラインバッファ116は、たとえば、イントラ推定および/またはイントラ予測のために、再構築されたブロックおよびそれぞれのサンプル値をバッファリングまたは記憶するように構成される。さらなる実施形態では、エンコーダは、任意の種類の推定および/または予測のために、フィルタリングされていない再構築されたブロックおよび/またはバッファユニット116に記憶されたそれぞれのサンプル値を使用するように構成され得る。
【0105】
ループフィルタユニット120(または、略して「ループフィルタ」120)は、フィルタリングされたブロック121を取得するために、たとえば、非ブロック化サンプル適応オフセット(SAO)フィルタまたは他のフィルタ、たとえば、シャープニングまたは平滑化フィルタまたは協調フィルタを適用することによって、再構築されたブロック115をフィルタリングするように構成される。フィルタリングされたブロック121はまた、フィルタリングされた再構築されたブロック121と呼ばれ得る。
【0106】
ループフィルタユニット120の実施形態(
図1には示されていない)は、フィルタ分析ユニットおよび実際のフィルタユニットを備え得、フィルタ分析ユニットは、実際のフィルタのループフィルタパラメータを決定するように構成される。フィルタ分析ユニットは、固定のあらかじめ決定されたフィルタパラメータを実際のループフィルタに適用するか、あらかじめ決定されたフィルタパラメータの集合からフィルタパラメータを適応的に選択するか、または実際のループフィルタのフィルタパラメータを適応的に計算するように構成され得る。
【0107】
ループフィルタユニット120の実施形態(
図1には示されていない)は、1つまたは複数のフィルタ(ループフィルタコンポーネント/サブフィルタ)、たとえば、1つまたは複数の異なる種類またはタイプのフィルタ、たとえば、直列に接続された、または並列に接続された、あるいはそれらの任意の組合せを含み得、フィルタの各々は、たとえば前の段落で説明したように、それぞれのループフィルタパラメータを決定するためのフィルタ分析ユニットを、個別に、または複数のフィルタの他のフィルタと共同で備え得る。
【0108】
エンコーダ100(それぞれループフィルタユニット120)の実施形態は、ループフィルタパラメータを、たとえば直接、またはエントロピー符号化ユニット170または任意の他のエントロピー符号化ユニットを介して符号化されたエントロピーを出力するように構成され得、その結果、たとえばデコーダ200は、復号用に同じループフィルタパラメータを受信して適用し得る。
【0109】
復号ピクチャバッファ(DPB)130は、フィルタリングされたブロック121を受信して記憶するように構成される。復号ピクチャバッファ130は、同じ現在のピクチャまたは異なるピクチャ、たとえば、以前に再構築されたピクチャの、他の以前にフィルタリングされたブロック、たとえば、以前に再構築およびフィルタリングされたブロック121を記憶するようにさらに構成され得、たとえばインター推定および/またはインター予測のために、完全に以前に再構成された、すなわち復号されたピクチャ(ならびに、対応する参照ブロックおよびサンプル)および/または部分的に再構築された現在のピクチャ(ならびに、対応する参照ブロックおよびサンプル)を提供し得る。
【0110】
本発明のさらなる実施形態はまた、任意の種類の推定または予測、たとえば、イントラ推定およびインター推定ならびに予測のために、以前にフィルタリングされたブロックおよび復号ピクチャバッファ130の対応するフィルタリングされたサンプル値を使用するように構成され得る。
【0111】
動き推定と予測
ブロック予測ユニット160とも呼ばれる予測ユニット160は、ピクチャブロック103(現在のピクチャ101の現在のピクチャブロック103)および復号または少なくとも再構築されたピクチャデータ、たとえば、バッファ116からの同じ(現在の)ピクチャおよび/あるいは復号ピクチャバッファ130からの1つまたは複数の以前に復号されたピクチャからの復号されたピクチャデータ231の参照サンプルを受信または取得することと、予測のためにそのようなデータを処理する、すなわち予測ブロック165を提供することとを行うように構成され、これはインター予測されたブロック145またはイントラ予測されたブロック155であり得る。
【0112】
モード選択ユニット162は、予測モード(たとえば、イントラ予測モードまたはインター予測モード)および/または残差ブロック105の計算、ならびに再構築されたブロック115の再構築のための予測ブロック165として使用されるべき対応する予測ブロック145または155を選択するように構成され得る。
【0113】
モード選択ユニット162の実施形態は、(たとえば、予測ユニット160によってサポートされるものから)予測モードを選択するように構成され得、これは、最適な一致、または、言い換えれば最小残差(最小残差は送信またはストレージの圧縮率が高いことを意味する)、または最小シグナリングオーバーヘッド(最小シグナリングオーバーヘッドは送信またはストレージの圧縮率が高いことを意味する)を提供し、あるいは両方を考慮またはバランスさせる。モード選択ユニット162は、レート歪み最適化(RDO)に基づいて予測モードを決定する、すなわち、最小レート歪み最適化を提供する、または関連付けられるレート歪みが少なくとも予測モード選択基準を満たす予測モードを選択するように構成され得る。
【0114】
以下では、例示的なエンコーダ100によって実行される予測処理(たとえば、予測ユニット160)およびモード選択(たとえば、モード選択ユニット162による)がより詳細に説明される。
【0115】
上述のように、エンコーダ100は、(あらかじめ決定された)予測モードの集合から最良または最適な予測モードを決定または選択するように構成される。予測モードの集合は、たとえば、イントラ予測モードおよび/またはインター予測モードを含み得る。
【0116】
イントラ予測モードの集合は、32の異なるイントラ予測モード、たとえば、DC(または、平均)モードおよび平面モードのような非指向性モード、または、たとえばH.264で定義されるような指向性モードを含み得、または65の異なるイントラ予測モード、たとえばDC(または、平均)モードおよび平面モードなどの非指向性モード、またはたとえばH.265で定義されるような指向性モードなどを含み得る。
【0117】
インター予測モードの(または、可能な)集合は、利用可能な参照ピクチャ(すなわち、たとえばDBP230に記憶された、以前の少なくとも部分的に復号されたピクチャ、)および他のインター予測パラメータ、たとえば、参照ピクチャ全体または参照ピクチャのたとえば現在のブロックの領域の周りの検索ウィンドウ領域の一部のみが、最も一致する参照ブロックを検索するために使用されるかどうか、ならびに/あるいは、たとえばピクセル補間、たとえば、ハーフ/セミペル、および/またはクォーターペル補間が適用されるか否かに依存する。
【0118】
上述の予測モードに加えて、スキップモードおよび/または直接モードが適用され得る。
【0119】
予測ユニット160は、たとえば、4分木分割(QT)、2分木分割(BT)、または3分木分割(TT)、またはそれらの任意の組合せを繰り返し使用して、ブロック103をより小さいブロック分割またはサブブロックに分割することと、たとえば、ブロック分割またはサブブロックの各々の予測を実行することとを行うようにさらに構成され得、モード選択は、分割されたブロック103のツリー構造の選択と、ブロック分割またはサブブロックの各々に適用される予測モードとを含む。
【0120】
インターピクチャ推定ユニット142とも呼ばれるインター推定ユニット142は、インター推定(または、「インターピクチャ推定」)のために、ピクチャブロック103(現在のピクチャ101の現在のピクチャブロック103)および復号されたピクチャ231、または少なくとも1つまたは複数の以前に再構築されたブロック、たとえば、1つまたは複数の他の/異なる以前に復号されたピクチャ231の再構築されたブロックを受信または取得するように構成される。たとえば、ビデオシーケンスは、現在のピクチャおよび以前に復号されたピクチャ231を含み得、言い換えれば、現在のピクチャおよび以前に復号されたピクチャ231は、ビデオシーケンスを形成するピクチャのシーケンスの一部であってもよく、またはそれを形成し得る。
【0121】
エンコーダ100は、たとえば、複数の他のピクチャの同じまたは異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャ(または、参照ピクチャインデックス)および/または参照ブロックの位置(x、y座標)と、インター予測ユニット144に対するインター推定パラメータ143としての現在のブロックの位置との間のオフセット(空間オフセット)を提供するように構成され得る。このオフセットは、動きベクトル(MV)とも呼ばれる。インター推定は動き推定(ME)と呼ばれ、インター予測は動き予測(MP)とも呼ばれる。
【0122】
インター予測ユニット144は、たとえば、インター予測パラメータ143を取得、たとえば受信することと、インター予測ブロック145を取得するために、インター予測パラメータ143に基づいて、またはインター予測パラメータ143を使用してインター予測を実行することとを行うように構成される。
【0123】
図1は、インターコーディングのための2つの別個のユニット(または、ステップ)、つまり、インター推定142およびインター予測152を示しているが、両方の機能は、たとえば、現在最良のインター予測モードおよびそれぞれのインター予測ブロックを記憶しながら、すべての可能な、またはあらかじめ決定された可能な予測モードの所定の下位集合を繰り返しテストすることと、別の時間のインター予測144を実行することなく、現在最良のインター予測モードおよびそれぞれのインター予測ブロックを(最終的な)インター予測パラメータ143およびインター予測ブロック145として使用することとによって、1つとして実行され得る(インター推定は、通常、インター予測ブロック、すなわち、インター予測154または「一種の」インター予測154を計算することを含む)。
【0124】
イントラ推定ユニット152は、イントラ推定のために、たとえば、ピクチャブロック103(現在のピクチャブロック)と、同じピクチャの1つまたは複数の以前に再構築されたブロック、たとえば再構築された隣接ブロックを取得、たとえば受信するように構成される。エンコーダ100は、たとえば、複数のイントラ予測モードからイントラ予測モードを選択し、それをイントラ推定パラメータ153としてイントラ予測ユニット154に提供するように構成され得る。
【0125】
エンコーダ100の実施形態は、最適化基準、たとえば、最小残差(たとえば、現在のピクチャブロック103に最も類似した予測ブロック155を提供するイントラ予測モード)または最小レート歪みに基づいてイントラ予測モードを選択するように構成され得る。
【0126】
イントラ予測ユニット154は、イントラ予測パラメータ153、たとえば、選択されたイントラ予測モード153、イントラ予測ブロック155に基づいて決定するように構成される。
【0127】
図1は、イントラコーディングのための2つの別個のユニット(または、ステップ)、つまり、イントラ推定152およびイントラ予測154を示しているが、両方の機能は、たとえば、現在最良のイントラ予測モードおよびそれぞれのイントラ予測ブロックを記憶しながら、可能なイントラ予測モードのすべての可能な、またはあらかじめ定められた下位集合を繰り返しテストし、イントラ予測154を再度実行せずに現在の最良のイントラ予測モードおよびそれぞれのイントラ予測ブロックを(最終の)イントラ予測パラメータ153およびイントラ予測ブロック155として使用することによって、1つとして実行され得る(イントラ推定は、通常イントラ予測ブロック、すなわち、イントラ予測154または「一種の」イントラ予測154を計算することを含む)。
【0128】
本発明は、本発明の実施形態によるデバイス500(
図5)および方法800(
図8)に関して以下でさらに説明されるように、エンコーダ100のこの位置に適用され得る。すなわち、デバイス500は、エンコーダ100、具体的にはイントラ予測ユニット154であってもよく、その一部であってもよい。
【0129】
エントロピー符号化ユニット170は、出力172によって、たとえば、符号化されたビットストリーム171の形態で出力することができる符号化されたピクチャデータ171を取得するために、エントロピー符号化アルゴリズムまたはスキーム(たとえば、量子化された残差係数109、インター予測パラメータ143、イントラ予測パラメータ153、および/またはループフィルタパラメータに、個別にまたは共同で(または、まったくしない)可変長コーディング(VLC)スキーム、コンテキスト適応VLCスキーム(CALVC)、算術コーディングスキーム、文脈適応バイナリ算術コーディング(CABAC))を適用するように構成される。
【0130】
図2は、復号されたピクチャ231を取得するために、たとえば、エンコーダ100によって符号化された、符号化されたピクチャデータ(たとえば、符号化されたビットストリーム)171を受信するように構成された例示的なビデオデコーダ200を示している。
【0131】
デコーダ200は、入力202、エントロピー復号ユニット204、逆量子化ユニット210、逆変換ユニット212、再構築ユニット214、バッファ216、ループフィルタ220、復号ピクチャバッファ230、予測ユニット260(インター予測ユニット244、およびイントラ予測ユニット254を含む)、モード選択ユニット260、および出力232を備える。
【0132】
エントロピー復号ユニット204は、たとえば、量子化された係数209および/または復号されたコーディングパラメータ(
図2には示されていない)、たとえば、(復号された)インター予測パラメータ143、イントラ予測パラメータ153、および/またはループフィルタパラメータのいずれかまたはすべてを取得するために、符号化されたピクチャデータ171に対してエントロピー復号を実行するように構成される。
【0133】
デコーダ200の実施形態では、逆量子化ユニット210、逆変換ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号ピクチャバッファ230、予測ユニット260、およびモード選択ユニット260は、符号化されたピクチャデータ171を復号するために、エンコーダ100(および、それぞれの機能ユニット)とは逆の処理を実行するように構成されている。
【0134】
特に、逆量子化ユニット210は、逆量子化ユニット110と機能が同一であり得、逆変換ユニット212は、逆変換ユニット112と機能が同一であり得、再構築ユニット214は、再構成ユニット114と機能が同一であり得、バッファ216は、バッファ116と機能が同一であり得、ループフィルタ220は、ループフィルタ120と機能が同一であり得(ループフィルタ220は、通常、元のピクチャ101またはブロック103に基づいてフィルタパラメータを決定するためのフィルタ分析ユニットを備えないが、たとえば、エントロピー復号ユニット204から符号化に使用されるフィルタパラメータを(明示的または暗黙的に)受信または取得するため、実際のループフィルタに関して)、復号ピクチャバッファ230は、復号ピクチャバッファ130と機能が同一であり得る。
【0135】
予測ユニット260は、インター予測ユニット244およびイントラ予測ユニット254を備え得、インター予測ユニット144はインター予測ユニット244と機能が同一であり得、イントラ予測ユニット154はイントラ予測ユニット254と機能が同一であり得る。予測ユニット260およびモード選択ユニット262は、通常、ブロック予測を実行し、および/または符号化されたデータ171からのみ(元のピクチャ101に関するさらなる情報なしに)予測されたブロック265を取得し、たとえば、エントロピー復号ユニット204から、予測パラメータ143または153、ならびに/あるいは、選択された予測モードに関する情報を(明示的にまたは暗黙的に)受信または取得するように構成される。
【0136】
本発明は、本発明の実施形態によるデバイス500(
図5を参照)および方法800(
図8を参照)に関して以下でさらに説明されるように、デコーダ200のこの位置に適用され得る。すなわち、デバイス500は、デコーダ200、具体的にはイントラ予測ユニット154であってもよく、その一部であってもよい。
【0137】
デコーダ200は、ユーザに提示または表示するために、たとえば出力232を介して、復号されたピクチャ230を出力するように構成される。
【0138】
図15および16を参照すると、
図4は、(a)において、本発明の実施形態によって除去することができる不連続性の原因をより具体的に示している。特に、これらの不連続性の理由は、予測ブロック400(たとえば、PUまたはTU)内の2つの垂直に隣接する予測サンプル401が、鋭角のイントラ予測角度のために互いに隣接していない参照サンプル403から予測され得ることであり、これは補間の欠陥である。この欠陥は、参照サンプルの平滑化フィルタまたは長さN
fの内挿フィルタを適用することによって部分的に低減され得るが、イントラ予測角度が45°を大幅に下回る場合、固定長では十分に大きくない可能性がある。フィルタリングプロセスは、フィルタリングプロセス中に
図4に示される参照サンプル403を畳み込むことによって、不連続性の影響を低減することができる。しかしながら、垂直方向に隣接する予測サンプル401に対して選択された参照サンプル403が離れすぎている場合、不連続性が依然として発生する可能性がある。たとえば、合成された参照の場合(上段)の、視覚的に観察できるそのような不連続性の例は(b)に示されている。
【0139】
図5は、ビデオピクチャの予測ブロック400を改善された方法でイントラ予測するように構成された、つまり、
図4に示される不連続性の上述の原因を排除することができる、本発明の実施形態によるデバイス500を概略的に示している。デバイス500は、それぞれ、
図1または
図2に示されるエンコーダ100またはデコーダ200、具体的には、イントラ予測ユニット154または254であってもよく、その一部であってもよい。
【0140】
デバイス500は、たとえば、プロセッサまたは他の種類の処理回路によって実装されるいくつかの機能を行うように構成される。具体的には、デバイス500は、指向性イントラ予測モード501の集合から指向性イントラ予測モード501aを選択するように構成され、各指向性イントラ予測モード501は、異なるイントラ予測角度に対応する。これらの指向性イントラ予測モード501は、
図9に示される(および、標準において定義されるように)指向性/角度イントラ予測モードを含み得、また、たとえば
図14に示されるように、さらなるイントラ予測角度に対応する拡張された指向性イントラ予測モードを含み得る。特に、長方形の予測ブロック400の場合、指向性イントラ予測モード501は、鋭角のイントラ予測角度(45°より小さい角度)に関連するモードを含み得る。イントラ予測角度は、参照サンプル403からの予測サンプル401のイントラ予測の方向に基づく。たとえば、角度は、このイントラ予測方向と予測ブロック400の上縁(水平エッジ)との間で定義される。
【0141】
さらに、デバイス500は、選択された指向性イントラ予測モード501aに基づいて、フィルタ402の集合からフィルタ402aを選択するように構成される。具体的には、デバイス500は、選択された指向性イントラ予測モード501aに基づいてフィルタの長さを決定することと、少なくとも決定されたフィルタの長さを有する集合から1つのフィルタ402をフィルタ402aとして選択するステップとを含む。
【0142】
デバイス500は、予測ブロック400の所与の予測サンプル401について、選択された指向性イントラ予測モード501aに基づいて、参照サンプル403の集合から参照サンプル403aを決定し、決定された参照サンプル403aに対して選択されたフィルタ402aを適用するようにさらに構成される。デバイス500は、予測ブロック400の予測サンプル401ごとにこのように進行するように特に構成され得る。すなわち、予測サンプル401ごとに、デバイス500は、参照サンプル403から参照サンプル403aを決定し得、選択されたフィルタ402aを各参照サンプル403に適用し得る。このようにして、デバイス500は、予測ブロック400全体をイントラ予測することができる。
【0143】
デバイス500がフィルタ402を選択するように構成される例示的なフィルタ集合が、以下の表に示されている。フィルタ集合は、異なるフィルタ402を特に含む。たとえば、フィルタ402の集合は、異なるフィルタの長さNf、特に1つ、3つ、または5つの隣接する参照サンプル403にまたがるフィルタの長さNfを有するフィルタ402を含み得る。さらに、フィルタ402の集合の各フィルタ402は、決定された参照サンプル403aに適用されると、決定された参照サンプル403aおよび1つまたは複数の隣接する参照サンプル403に対して異なる平滑化を行い得る。この平滑化は、表のように異なる係数によって表すことができ、係数の数は、決定された参照サンプル403aと他の隣接する参照サンプルとの相対的な重み付け(決定された参照サンプル403aのための中央の番号から隣接する参照サンプル403のためのそれぞれ0、2または4のさらなる番号)を示す。
【0144】
【0145】
図6は、デバイス500が行うように構成され得る参照サンプルフィルタ選択メカニズム600の例示的なフローチャートを示す。デバイス500は、イントラ予測角度に応じて、参照サンプルフィルタ402aを特に選択することができる。メカニズム600については、フィルタ集合(ここではFで示される)がフィルタの長さN
fによって昇順でソートされると仮定されている。
【0146】
ブロック601において、デバイス500は、選択メカニズム600への入力として、イントラ予測角度αを導出するように構成される。デバイス500は、選択された指向性イントラ予測モード501に対応するイントラ予測角度を決定するように構成され得る。
【0147】
次いで、ブロック602において、デバイス500は、決定された参照サンプル403aとさらなる参照サンプル403bとの間の距離Δp
α(たとえば、
図4を参照)を導出するように構成され、選択された指向性イントラ予測モード501aに基づいて、参照サンプル403の集合からの予測ブロック400のさらなる予測サンプル401に対して指定され得る。
【0148】
ブロック603において、フィルタインデックスはi=0に初期化される。ブロック604において、現在のインデックスiを有するフィルタ402がフィルタ集合から取り出される。たとえば、上記の表は、フィルタ402がi=0~3からインデックス付けされ得ることを示している。
【0149】
ブロック605において、デバイス500は、集合から取られたフィルタ402の長さNfが距離Δpαよりも小さいかどうかを決定するように構成される。小さくない場合、選択メカニズム600は完了し、現在取られているフィルタ402が、決定された参照サンプル403aに適用されるべきフィルタ402aとして選択される。
【0150】
さもなければ、デバイス500は、ブロック606において、現在のフィルタインデックスiがkよりも小さいかどうかをチェックするように構成され、kは、可能な最高のフィルタインデックスであり得、および/またはフィルタ集合内のフィルタ402の数を示し得る。小さくない場合、選択メカニズム600は完了し、この場合は、集合がフィルタの長さによってソートされていると仮定すると、最大のフィルタの長さNfを有するフィルタ402に対応する、現在取られているフィルタ402が、決定された参照サンプル403aに適用されるべきフィルタ402aとして選択される。さもなければ、フィルタインデックスは、ブロック607において1ずつ増加し、選択メカニズムは、ブロック604に進む(すなわち、集合内の次のフィルタ402が取られる)。
【0151】
図7に示されるように、デバイス500はまた、参照サンプル403の前処理を実行するように構成され得る。具体的には、デバイス500は、決定された参照サンプル403aから、つまり、選択されたイントラ予測モード501aに基づいて決定された参照サンプル403aを補間することによって、転置された参照サンプル700aを生成するように構成され得る。次いで、デバイス500は、決定された参照サンプル403aから直接ではなく、転置された参照サンプル700aから所与の予測サンプル401をイントラ予測するように構成され得る。
【0152】
前処理の第1のステップは、例示的に
図7の(a)に示され、参照サンプル403(Rで示される)の所与の一番上の行から転置された参照サンプル700(
【0153】
【0154】
で示される)の集合を計算することからなることができる。このステップへの入力は、予測されるブロック400の上、および右上側に配置された参照サンプル403の集合とであり得る。これらの参照サンプル403は、イントラ予測角度に応じて、上述のようにフィルタリングすることができる。すなわち、デバイス500は、上述のようにフィルタ402aを選択し、次いで、転置された参照サンプル700aの生成前または生成中に、選択されたフィルタ402aを決定された参照サンプル403aに適用するように構成され得る。
【0155】
第1のステップは、Rの2つの部分に対して実行される補間によって特に実行される。RLで示される集合の1つの部分は、ブロックPTRの右上のピクセルの左側に配置される。位置PTRの参照サンプル403は、この第1のステップでは変更されず、すなわち、
【0156】
【0157】
である。RRで示される別の部分は、PTRの右側に配置される。両方の部分について、補間は、予測されるべきブロック400内のサンプルを予測するために使用されるのと同じメカニズムを使用して実行される(Bで示される)。これら2つの部分に使用される予測角度αは同じであるが、予測方向は反対である。
【0158】
前処理の第2のステップは、
図7の(b)に示され、つまり、(a)に示される第1のステップにおいて計算された転置された参照サンプル700の集合からイントラ予測補間を実行することによって、予測されるべきブロック400の予測サンプル401をイントラ予測することである。イントラ予測方向が一番上の行を使用しない場合、すなわち、イントラ予測方向の角度αが180度より大きい場合、ブロックと対応する参照サンプルが転置され(行インデックスが列インデックスになり、その逆も同様)、イントラ予測が上述のように実行される。この場合の最終結果は、計算された予測ブロックを転置して戻すことによって取得される。
【0159】
図8は、本発明の実施形態による方法800を示している。方法800は、ビデオピクチャの予測ブロック400をイントラ予測するためのものであり、
図5に示されるデバイス500によって実行され得る。具体的には、方法800は、指向性イントラ予測モード501の集合から指向性イントラ予測モード501aを選択するステップ801を含み、各指向性イントラ予測モード501は、異なるイントラ予測角度に対応する。さらに、方法800は、選択された指向性イントラ予測モード501aに基づいて、フィルタ402の集合からフィルタ402aを選択するステップ802を含む。次いで、方法800は、予測ブロック400の所与の予測サンプル401について、選択された指向性イントラ予測モード501aに基づいて、参照サンプル403の集合から参照サンプル403aを決定するステップ803と、選択されたフィルタ402aを決定された参照サンプル403aに適用するステップ804とを含む。
【0160】
本明細書はピクチャ(フレーム)の説明を提供するが、インターレースピクチャ信号の場合、フィールドがピクチャとして代用される点に留意されたい。
【0161】
本発明の実施形態は、主にビデオコーディングに基づいて説明されてきたが、エンコーダ100およびデコーダ200(および、対応してシステム300)の実施形態はまた、静止ピクチャ処理またはコーディング、すなわち、ビデオコーディングの場合のように、先行または連続する画像から独立した個々のピクチャの処理またはコーディングのために構成され得る点に留意されたい。一般に、ピクチャ処理コーディングが単一のピクチャ101に制限されている場合、インター推定142、インター予測144、242のみが利用可能ではない。ビデオエンコーダ100およびビデオデコーダ200の他のすべてではないにしてもほとんどの機能(ツールまたは技術とも呼ばれる)は、静止ピクチャ、たとえば、分割、変換(スケーリング)106、量子化108、逆量子化110、逆変換112、イントラ推定142、イントラ予測154、254および/またはループフィルタリング120、220、ならびにエントロピー符号化170およびエントロピー復号204に等しく使用され得る。
【0162】
当業者は、様々な図(方法および装置)の「ブロック」(「ユニット」)が、(ハードウェアまたはソフトウェアにおける必ずしも個々の「ユニット」ではなく)本発明の実施形態の機能を表すまたは説明すること、したがって、装置の実施形態ならびに方法の実施形態(ユニット=ステップ)の機能または特徴を等しく説明することを理解するであろう。
【0163】
「ユニット」という用語は、エンコーダ/デコーダの実施形態の機能を説明する目的でのみ使用され、開示を限定することを意図するものではない。
【0164】
本出願において提供されるいくつかの実施形態では、開示されたシステム、装置、および方法は、他の方法で実装され得ることが理解されるべきである。たとえば、記載された装置の実施形態は、単なる例示である。たとえば、単位除算は単なる論理関数除算であり、実際の実装形態では他の除算である場合がある。たとえば、複数のユニットまたはコンポーネントが組み合わせられたり、別のシステムに統合されたりしてもよく、いくつかの機能が無視されたり、実行されなかったりしてもよい。さらに、表示または説明されている相互結合または直接結合あるいは通信接続は、いくつかのインターフェースを使用することによって実装され得る。装置またはユニット間の間接的な結合または通信接続は、電子的、機械的、または他の形態で実装され得る。
【0165】
別個の部品として説明されるユニットは、物理的に別個であってもそうでなくてもよく、ユニットとして表示される部品は、物理ユニットであってもそうでなくてもよく、1つの位置に配置されてもよく、複数のネットワークユニットに分散されてもよい。ユニットのうちのいくつかまたはすべては、実施形態の解決策の目的を達成するための実際の必要性に従って選択され得る。
【0166】
さらに、本発明の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、ユニットの各々が物理的に単独で存在してもよく、2つ以上のユニットが1つのユニットに統合されてもよい。
【0167】
本発明の実施形態は、本明細書に記載の方法および/またはプロセスのうちのいずれかを実行するように構成された処理回路を備える装置、たとえば、エンコーダおよび/またはデコーダをさらに備え得る。
【0168】
エンコーダ100および/またはデコーダ200の実施形態は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組合せとして実装され得る。たとえば、エンコーダ/符号化またはデコーダ/復号の機能は、ファームウェアまたはソフトウェアを伴うまたは伴わない処理回路、たとえば、プロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)などによって実行され得る。
【0169】
エンコーダ100(および対応する符号化方法100)および/またはデコーダ200(および対応する復号方法200)の機能は、コンピュータ可読媒体に記憶されたプログラム命令によって実装され得る。プログラム命令は、実行されると、処理回路、コンピュータ、プロセッサなどに、符号化および/または復号方法のステップを実行させる。コンピュータ可読媒体は、ブルーレイディスク、DVD、CD、USB(フラッシュ)ドライブ、ハードディスク、ネットワーク経由で利用可能なサーバストレージなど、プログラムが記憶される非一時的なストレージ媒体を含む、任意の媒体にすることができる。
【0170】
本発明の一実施形態は、コンピュータ上で実行される場合に、本明細書に記載の方法のうちのいずれかを実行するためのプログラムコードを含むコンピュータプログラムを含むか、またはコンピュータプログラムである。
【0171】
本発明の一実施形態は、プロセッサによって実行されると、コンピュータシステムに本明細書に記載の方法のうちのいずれかを実行させるプログラムコードを含むコンピュータ可読媒体を含むか、またはコンピュータ可読媒体である。
【符号の説明】
【0172】
100 エンコーダ
102 入力(たとえば、入力ポート、入力インターフェース)
103 ピクチャブロック
104 残差計算[ユニットまたはステップ]
105 残差ブロック
106 変換(たとえば、スケーリングを追加で含む)[ユニットまたはステップ]
107 変換された係数
108 量子化[ユニットまたはステップ]
109 量子化された係数
110 逆量子化[ユニットまたはステップ]
111 非量子化された係数
112 逆変換(たとえば、スケーリングを追加で含む)[ユニットまたはステップ]
113 逆変換されたブロック
114 再構築[ユニットまたはステップ]
115 再構築されたブロック
116 (ライン)バッファ[ユニットまたはステップ]
117 参照サンプル
120 ループフィルタ[ユニットまたはステップ]
121 フィルタリングされたブロック
130 復号ピクチャバッファ(DPB)[ユニットまたはステップ]
142 インター推定(または、インター画像推定)[ユニットまたはステップ]
143 インター推定パラメータ(たとえば、参照画像/参照画像インデックス、動きベクトル/オフセット)
144 インター予測(または、インター画像予測)[ユニットまたはステップ]
145 インター予測ブロック
152 イントラ推定(または、イントラ画像推定)[ユニットまたはステップ]
153 イントラ予測パラメータ(たとえば、イントラ予測モード)
154 イントラ予測(イントラフレーム/画像予測)[ユニットまたはステップ]
155 イントラ予測ブロック
162 モード選択[ユニットまたはステップ]
165 予測ブロック(インター予測ブロック145またはイントラ予測ブロック155のいずれか)
170 エントロピー符号化[ユニットまたはステップ]
171 符号化されたピクチャデータ(たとえば、ビットストリーム)
172 出力(出力ポート、出力インターフェース)
231 復号されたピクチャ
200 デコーダ
202 入力(ポート/インターフェース)
204 エントロピー復号
209 量子化された係数
210 逆量子化
211 非量子化された係数
212 逆変換(スケーリング)
213 逆変換されたブロック
214 再構築(ユニット)
215 再構築されたブロック
216 (ライン)バッファ
217 参照サンプル
220 ループフィルタ(ループフィルタにおける)
221 フィルタリグされたブロック
230 復号ピクチャバッファ(DPB)
231 復号されたピクチャ
232 出力(ポート/インターフェース)
244 インター予測(インターフレーム/画像予測)
245 インター予測ブロック
254 イントラ予測(イントラフレーム/画像予測)
255 イントラ予測ブロック
260 モード選択
265 予測ブロック(インター予測ブロック245またはイントラ予測ブロック255)
300 コーディングシステム
310 ソースデバイス
312 ピクチャソース
313 (生)ピクチャデータ
314 プリプロセッサ/前処理ユニット
315 前処理されたピクチャデータ
318 通信ユニット/インターフェース
320 宛先デバイス
322 通信ユニット/インターフェース
326 ポストプロセッサ/後処理ユニット
327 後処理されたピクチャデータ
328 ディスプレイデバイス/ユニット
330 送信された/受信された/通信された(符号化された)ピクチャデータ
400 予測ブロック
401 予測サンプル
402 フィルタ
402a 選択されたフィルタ
403 参照サンプル
403a 決定された参照サンプル
500 デバイス
501 指向性イントラ予測モード
501a 選択された指向性イントラ予測モード
600 フィルタ選択メカニズム
601~607 メカニズムの機能ブロック
700 転置された参照サンプル
700a 転置された参照サンプル
800 予測ブロックをイントラ予測するための方法
801 イントラ予測モードを選択するステップ
802 フィルタを選択するステップ
803 所与の予測サンプルの参照サンプルを決定するステップ
804 選択されたフィルタを参照サンプルに適用するステップ
【手続補正書】
【提出日】2023-03-31
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ画像の非正方形予測ブロックをイントラ予測するための方法であって、
指向性イントラ予測モードのセットから指向性イントラ予測モードを決定するステップであって、各指向性イントラ予測モードが異なるイントラ予測角度に対応し、指向性イントラ予測モードの前記セットが、非正方形ブロックにのみ適用される拡張指向性イントラ予測モードを含む、ステップと、
前記非正方形予測ブロックの予測サンプルについて、前記指向性イントラ予測モードに基づいて参照サンプルのセットから参照サンプルを決定するステップと、
前記指向性イントラ予測モードに基づいて、前記決定された参照サンプルにフィルタを適用するかどうかを決定するステップと、
前記指向性イントラ予測モードを示すためにビットストリームを出力するステップと
を備える、方法。
【請求項2】
前記指向性イントラ予測モードに対応するイントラ予測角度を決定するステップと、
前記決定されたイントラ予測角度に応じてフィルタを選択するステップと
をさらに備える、請求項1に記載の方法。
【請求項3】
前記拡張指向性イントラ予測モードが鋭角のイントラ予測角度に関連するモードを含み、前記拡張指向性イントラ予測モードの少なくとも1つの値が66より大きい、請求項1または2に記載の方法。
【請求項4】
前記決定された参照サンプルに前記フィルタを適用するかどうかを決定するステップが、
前記指向性イントラ予測モードに基づいてフィルタの長さを決定するステップと、
前記フィルタの長さが1の場合、前記決定された参照サンプルに前記フィルタを適用しないことを決定するステップ、または、前記フィルタの長さが3の場合、前記決定された参照サンプルに前記フィルタを適用することを決定するステップと
を備える、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記指向性イントラ予測モードに基づいて、フィルタのセットからフィルタを選択するステップをさらに備える、請求項1から3のいずれか一項に記載の方法。
【請求項6】
フィルタの前記セットが、1つ、3つ、または5つの隣接する参照サンプルにまたがる異なるフィルタの長さを有するフィルタを含む、請求項5に記載の方法。
【請求項7】
前記フィルタの長さが1の場合、前記選択されたフィルタの係数が[1]である、または、
前記フィルタの長さが3の場合、前記選択されたフィルタの係数が[1、2、1]である、請求項6に記載の方法。
【請求項8】
フィルタの前記セット内の各フィルタが、前記決定された参照サンプルおよび1つまたは複数の隣接する参照サンプルに対して異なる平滑化を実行する、請求項5に記載の方法。
【請求項9】
指向性イントラ予測モードの前記セットの第1のサブセットから選択された指向性イントラ予測モードごとに同じフィルタを選択するステップと、
指向性イントラ予測モードの前記セットの第2のサブセットから選択された指向性イントラ予測モードごとに異なるフィルタを選択するステップと
をさらに備える、請求項5に記載の方法。
【請求項10】
前記選択されたフィルタが、前記予測サンプルの前記イントラ予測の前または最中に、前記決定された参照サンプルに適用される、請求項9に記載の方法。
【請求項11】
ビデオ画像の非正方形予測ブロックをイントラ予測するためのデバイスであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合され、前記少なくとも1つのプロセッサによって実行されると、前記デバイスに、
指向性イントラ予測モードのセットから指向性イントラ予測モードを決定することであって、各指向性イントラ予測モードが異なるイントラ予測角度に対応し、指向性イントラ予測モードの前記セットが、非正方形ブロックにのみ適用される拡張指向性イントラ予測モードを含む、決定することと、
前記非正方形予測ブロックの予測サンプルについて、前記指向性イントラ予測モードに基づいて参照サンプルのセットから参照サンプルを決定することと、
前記指向性イントラ予測モードに基づいて、前記決定された参照サンプルにフィルタを適用するかどうかを決定することと、
前記指向性イントラ予測モードを示すためにビットストリームを出力することと
を行わせるプログラミング命令を記憶するメモリと
を備える、デバイス。
【請求項12】
前記プログラミング命令が、前記少なくとも1つのプロセッサによって実行されると、前記デバイスに、
前記指向性イントラ予測モードに対応するイントラ予測角度を決定することと、
前記決定されたイントラ予測角度に応じてフィルタを選択することと
をさらに行わせる、請求項11に記載のデバイス。
【請求項13】
前記拡張指向性イントラ予測モードが鋭角のイントラ予測角度に関連するモードを含み、前記拡張指向性イントラ予測モードの少なくとも1つの値が66より大きい、請求項11または11に記載のデバイス。
【請求項14】
前記決定された参照サンプルに前記フィルタを適用するかどうかを決定するために、前記プログラミング命令が、前記少なくとも1つのプロセッサによって実行されると、前記デバイスに、
前記指向性イントラ予測モードに基づいてフィルタの長さを決定することと、
前記フィルタの長さが1の場合、前記決定された参照サンプルに前記フィルタを適用しないことを決定すること、または、前記フィルタの長さが3の場合、前記決定された参照サンプルに前記フィルタを適用することを決定することと
を行わせる、請求項11から13のいずれか一項に記載のデバイス。
【請求項15】
前記プログラミング命令が、前記少なくとも1つのプロセッサによって実行されると、前記デバイスに、
前記指向性イントラ予測モードに基づいて、フィルタのセットからフィルタを選択することをさらに行わせる、請求項11から13のいずれか一項に記載のデバイス。
【請求項16】
フィルタの前記セットが、1つ、3つ、または5つの隣接する参照サンプルにまたがる異なるフィルタの長さを有するフィルタを含む、請求項15に記載のデバイス。
【請求項17】
フィルタの前記セット内の各フィルタが、前記決定された参照サンプルおよび1つまたは複数の隣接する参照サンプルに対して異なる平滑化を実行する、請求項15に記載のデバイス。
【請求項18】
前記プログラミング命令が、前記少なくとも1つのプロセッサによって実行されると、前記デバイスに、
指向性イントラ予測モードの前記セットの第1のサブセットから選択された指向性イントラ予測モードごとに同じフィルタを選択することと、
指向性イントラ予測モードの前記セットの第2のサブセットから選択された指向性イントラ予測モードごとに異なるフィルタを選択することと
をさらに行わせる、請求項15に記載のデバイス。
【請求項19】
前記選択されたフィルタが、前記予測サンプルの前記イントラ予測の前または最中に、前記決定された参照サンプルに適用される、請求項18に記載のデバイス。
【請求項20】
ブロックの指向性イントラ予測モードを示す情報を含むビットストリームを備える非一時的コンピュータ可読媒体であって、前記指向性イントラ予測モードが、指向性イントラ予測モードのセットから決定され、各指向性イントラ予測モードが異なるイントラ予測角度に対応し、指向性イントラ予測モードの前記セットが、非正方形ブロックにのみ適用される拡張指向性イントラ予測モードを含み、前記ブロックの参照サンプルにフィルタを適用するかどうかが、前記指向性イントラ予測モードに基づいて決定される、非一時的コンピュータ可読媒体。
【外国語明細書】