(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023126972
(43)【公開日】2023-09-12
(54)【発明の名称】タイル独立性制約を使用したインター予測概念
(51)【国際特許分類】
H04N 19/105 20140101AFI20230905BHJP
H04N 19/139 20140101ALI20230905BHJP
H04N 19/167 20140101ALI20230905BHJP
H04N 19/174 20140101ALI20230905BHJP
H04N 19/176 20140101ALI20230905BHJP
H04N 19/51 20140101ALI20230905BHJP
【FI】
H04N19/105
H04N19/139
H04N19/167
H04N19/174
H04N19/176
H04N19/51
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023112911
(22)【出願日】2023-07-10
(62)【分割の表示】P 2021529678の分割
【原出願日】2019-11-25
(31)【優先権主張番号】18208418.6
(32)【優先日】2018-11-26
(33)【優先権主張国・地域又は機関】EP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu-ray
(71)【出願人】
【識別番号】500341779
【氏名又は名称】フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】スク―ピン,ローベルト
(72)【発明者】
【氏名】サンチェス デ ラ フェンテ,ヤゴ
(72)【発明者】
【氏名】ヘルグ,コーネリウス
(72)【発明者】
【氏名】ウィエコウスキ,アダム
(72)【発明者】
【氏名】ゲオルゲ,ファレリ
(72)【発明者】
【氏名】ブロス,ベンヤミン
(72)【発明者】
【氏名】シエル,トーマス
(72)【発明者】
【氏名】ズーリング,カルステン
(72)【発明者】
【氏名】ヴィ―ガント,トーマス
(57)【要約】 (修正有)
【課題】タイル独立符号化をタイル分割に起因する符号化の依存関係の崩れによる符号化効率の低下を抑えつつ、境界に沿ってコーデックの動作をごくわずかに変更するだけで実現するブロックベースの映像復号器を提供する。
【解決手段】データストリーム14から映像11の再構成を復号する復号器は、少なくともある程度まで、符号器10の状況を軽減し、そこから所定のインター予測ブロック104が、映像11の画像12内の境界102の位置に依存するようにデータストリーム14から予測し、映像11の参照画像12b内のパッチ130を配置し、映像11の現在の画像12aの所定のインター予測ブロック104の動き情報を導出する。そのようにして導出された動き情報は、例えば、動きベクトル132として定義されるかまたは動きベクトル132を含む。
【選択図】
図8
【特許請求の範囲】
【請求項1】
映像(11)が空間的に分割されるタイル(100)間の境界(102)の位置に依存して、前記映像(11)が符号化されているデータストリーム(14)から、所定のインター予測ブロック(104)がそこから予測されることになる、参照画像(12b)内のパッチ(130)を配置する、前記映像(11)の現在の画像(12a)の前記所定のインター予測ブロック(104)についての動き情報を導出し、
前記参照画像(12b)の前記パッチ(130)から前記動き情報を使用して前記所定のインター予測ブロック(104)を予測する、ように構成された動き補償予測をサポートするブロックベースの映像復号器。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、例えば、ハイブリッド映像コーデックなどのブロックベースのコーデックで使用するためのインター符号化概念、特に、タイルベースの符号化、すなわち、映像が空間的に細分化されるタイルの独立符号化を可能にする概念に関する。
【背景技術】
【0002】
MPEG OMAF規格に基づく360°映像サービスなどの既存のアプリケーションは、空間的映像分割またはセグメント化の技術に大きく依拠している。そのようなアプリケーションでは、空間的映像セグメントがクライアントに送信され、現在のクライアントの視線方向に適応するように一緒に復号される。映像平面の空間的セグメント化に依拠する別の関連したアプリケーションが、例えば、最新のコンピューティングプラットフォームのマルチコア機能を促進するための、符号化および復号動作の並列化である。
【0003】
そのような空間的セグメント化技術の1つが、HEVCで実施され、画像平面を、長方形のグリッドを形成するセグメントに分割するタイルとして知られている。結果として得られる空間的セグメントはエントロピー符号化およびイントラ予測に関して独立して符号化される。さらに、空間的セグメントが、最先端のインター予測に関しても独立して符号化されることを示す手段が存在する。上記のような一部のアプリケーションでは、3つすべての領域、すなわち、エントロピー符号化、イントラ予測およびインター予測において制約を有することが重要である。
【0004】
しかしながら、絶え間なく進化する映像符号化の技術は、その多くがインター予測の分野に関連する新しい符号化ツールをもたらす、すなわち、多くのツールが以前に符号化された画像または現在符号化されている画像内の異なるエリアに対する新しい依存性を包含するので、これらのエリアすべてにおける独立をどのように保証すべきかに適切な注意が払われなければならない。
【0005】
これまでは、上記の利用可能な符号化ツールを使用する符号化パラメータが、映像のタイルの独立符号化が順守されるように設定されることに注意するのは符号器である。復号器は、符号器によってビットストリームを介して復号器にシグナリングされたそれぞれの保証に「依拠」する。
【0006】
タイル独立符号化を実現にすることで、タイル分割に起因する符号化の依存関係の崩れによる符号化効率の低下を抑えつつ、境界に沿ってコーデックの動作をごくわずかに変更するだけで済むような概念があれば、価値があるはずである。
【発明の概要】
【発明が解決しようとする課題】
【0007】
よって、タイル独立符号化(tile-independent coding)を、ただし、通常はタイル依存性の混乱と関連付けられる符号化効率損失を低下させ、にもかかわらず、タイル境界に沿ったコーデックの動作を、ごくわずかに変更するだけで実現するような方法で映像符号化を可能にする概念があれば好ましい。
【課題を解決するための手段】
【0008】
この目的は、本出願の独立請求項の主題によって達成される。
【0009】
一般的に言えば、本出願の知見は、映像のタイル独立符号化を順守する義務が、部分的に、符号器間で継承される、または言い換えると、符号器が共同注意(Co-Attention)を利用し得るように復号器によってこれに部分的に共同注意(Co-Attention)が与えられれば、映像素材のタイル独立符号化を可能にするより効率的な方法が可能になることを見出したことである。より正確には、本出願の実施形態によれば、復号器は、タイル境界認識を備えている。すなわち、復号器は、映像が空間的に分割されるタイル間の境界の位置に依存するように動作する。特に、このタイル間境界認識は、復号器によるデータストリームからの動き情報の導出にも関連する。この「認識」により、復号器が、シグナリングされるように適用された場合、タイル独立性要件を損なうことにつながるデータストリームで伝達されたシグナリングされた動き情報を認識することになり、したがって、復号器が、タイル独立を損なうことになるそのようなシグナリングされた動き情報を、インター予測に使用されるときに、タイル独立性を損なうことにつながらない動き情報に対応する許容される動き情報状態にマップすることになる。符号器は、この動作に依拠し得、すなわち、復号器の認識、特に、復号器によるタイル独立制約の順守または強制から生じるシグナリング可能な動き情報状態の冗長性を認識する。特に、符号器は、それぞれ、復号器の動作が原因で、復号器側での同じ動き情報につながるシグナリング可能な動き情報状態の中から、より低いビットレートを必要とする状態、例えば、シグナリングされた動き情報予測残差がゼロであるものと関連付けられた状態を選択するために、復号器のタイル独立性制約の強制/順守を利用し得る。よって、符号器側では、特定のインター予測ブロックの動き情報は、その特定のインター予測ブロックがそこから予測されることになるパッチが、その特定のインター予測ブロックが含まれる、すなわち、その特定のインター予測ブロックがその内部に位置するタイルの境界内にあり、タイルの境界を越えないという制約に従うように決定されるが、その特定のインター予測ブロックの動き情報をデータストリームに符号化するときに、符号器は、そのデータストリームからの導出が、タイル境界に依存して行われることになる、すなわち、上記のタイル境界認識を必要とすることを利用する。
【0010】
本出願の実施形態によれば、動き情報は、特定のインター予測ブロックの動きベクトルを含み、復号器の処理のタイル境界認識は、動きベクトルに関連する。特に、本出願の実施形態によれば、復号器は、予測的に符号化された動きベクトルに関するタイル独立性制約を強制する。すなわち、これらの実施形態によれば、復号器は、動きベクトルの決定時に、一方での動きベクトル予測子/予測と、他方での、インター予測ブロックのためにデータストリームで伝送された残差に関する動き情報予測とに基づいて、インター予測ブロックがそこから予測されることになるパッチが、インター予測ブロックがその内部に位置するタイルの境界を越える結果となるように、動きベクトルに対する制約を順守するかまたはこれを強制する。すなわち、復号器は、上記の順守/強制を、最終的に使用される動きベクトルを生成するために、例えば、動き情報予測と動き情報予測残差のすべての組合せをそれらの合計にマップする代わりに、不可逆であるマッピングを使用することによって行い、このマッピングは、その合計が、現在のタイル境界、すなわち、現在のインター予測ブロックがその内部に位置するタイルの境界を越えるパッチと関連付けられた動きベクトルをもたらす動きベクトル予測と動きベクトル予測残差のすべての可能な組合せを、その関連付けられたパッチが現在のタイルの境界を越えない動きベクトルの方へリダイレクト(redirect)する。結果として、符号器は、特定の動きベクトルをシグナリングする際のあいまいさを所定のインター予測ブロックに利用し得、例えば、このインター予測ブロックに、最低のビットレートをもたらす動きベクトル予測残差のシグナリングを選択し得る。これは、例えば、ゼロの動きベクトルの差であってもよい。
【0011】
通常は符号器のみが責任を負うタイル独立性制約を強制するためにタイル境界認識を少なくとも部分的に採用できる機能を復号器に提供するという上記の考えの変形によれば、復号器は、タイル独立性制約の強制を、動き情報予測と動き情報予測残差の組合せの結果として得られる動き情報に対してではなく、特定のインター予測ブロックの1つまたは複数の動き情報予測子に対して適用する。符号器と復号器はどちらも、両方が(1つまたは複数の)同じ動き情報予測子を使用するように(1つまたは複数の)動き情報予測子に対してタイル独立性の強制を行う。信号化のあいまいさおよび復号器を利用したビットレートの最小化の可能性は、ここでは問題ではない。しかしながら、特定のインター予測ブロックのための(1つまたは複数の)動き情報予測子を予め、すなわち、動き情報予測符号化/復号のために(1つまたは複数の)動き情報予測子を使用する前に作成することにより、矛盾する動き情報予測子を現在のタイルの内側のパッチ位置にリダイレクトするように、矛盾するパッチ位置、すなわち、それを使用してインター予測ブロックのための動き情報を予測的に符号化するには、いずれにせよ、非ゼロの動き情報予測残差の信号化が必要になる現在のタイルの境界を越えるパッチ位置を指し示す1つまたは複数の動き情報予測子を無駄にする代わりに、特定のインター予測ブロックのための利用可能な(1つまたは複数の)動きベクトル予測子を、現在のタイル内のパッチ位置だけを指し示すように調整または「集中」させることが可能になる。ここでも、動き情報は動きベクトルであってもよい。
【0012】
後者の変形に関連するが、とは言ってもその変形とは異なり、本出願のさらなる実施形態は、その直接の、すなわち、ゼロ動き情報予測残差での適用が、タイル独立性制約を損なうことにつながる特定のインター予測ブロックのための動き情報予測候補を回避することを目的とする。すなわち、前述の変形以外に、そのような動き情報予測候補は、現在予測されているインター予測ブロックの動き情報予測候補リストへの読込みには単に使用されない。符号器と復号器とは同じく動作する。リダイレクトは行われない。これらの予測子は単に中止される。すなわち、動き情報予測候補リストの確立は、同じタイル間境界認識方法で行われることになる。このようにして、現在符号化されているインター予測ブロックのためにシグナリング可能なすべてのメンバが、矛盾しない動き情報予測候補に集中する。それによって、完全なリストが、データストリーム内の点によってシグナリング可能になり、例えば、指し示された動き情報予測候補がこの制約、または先行するランク位置の動き情報予測候補のどちらかと矛盾するときにタイル独立性制約に従うためにシグナリングされることが禁じられる動き情報予測候補のためにそのようなポインタのシグナリング可能な状態が「無駄になる」ことがなくなる。
【0013】
同様に、本出願のさらなる実施形態は、動き情報予測候補リストに、その原点が、現在のタイル、すなわち、現在のインター予測ブロックがその内部に位置するタイルの外側に位置するブロックにある候補を読み込むことを回避することを目的とする。したがって、これらの実施形態によれば、復号器および符号器は、インター予測ブロックが、現在のタイルの、下側および/または右側などの所定の側に隣接しているか否かをチェックし、そうである場合に、動き情報参照画像内の第1のブロックが識別され、リストに、この第1のブロックの動き情報から導出された動き情報予測候補が読み込まれ、そうでない場合に、動き情報参照画像内の第2のブロックが識別され、動き情報予測候補リストに、代わりに、第2のブロックの動き情報から導出された動き情報予測候補が読み込まれる。例えば、第1のブロックは、現在のインター予測ブロックの内側の第1の位置合わせ位置と同じ場所にある位置を継承するブロックであり得、一方、第2のブロックは、インター予測ブロックの外側にある、すなわち、所定の側に垂直な方向に沿ってインター予測ブロックに対してオフセットされた、第2の所定の位置と同じ場所にある位置を含むブロックである。
【0014】
本出願の上記の考えのさらなる変形によれば、動き情報予測候補リストの構成/確立は、その原点がタイル独立性制約と矛盾しやすい、すなわち、その原点が現在のタイルの外側にある動き情報予測候補を、動き情報予測候補リストの最後の方へシフトさせるような方法で行われる。この方法では、符号器側での動き情報予測候補リストへのポインタの信号化があまり制限されない。言い換えると、特定のインター予測ブロックのために送信される、現在のインター予測ブロックに実際に使用されるべき動き情報予測候補を信号化するポインタは、動き情報予測候補リスト内のランク位置によって実際に使用されるこの動き情報候補を指示する。その原点が現在のタイルの外側に位置するために利用できない可能性があるリスト内の動き情報予測候補を、動き情報予測候補リスト内の最後、または少なくとも後の方に、すなわち、上位ランクで発生するようにシフトさせることによって、リスト内でそれらに先行するすべての動き情報予測候補は、依然として符号器によってシグナリング可能であり、したがって、現在のブロックの動き情報を予測するために利用可能なそれらの動き情報予測候補の範囲は、そのような「問題のある」動き情報予測候補をリストの最後の方にシフトさせなかった場合と比較して依然として大きい。上記の態様に関連するいくつかの実施形態によれば、「問題のある」動き情報予測候補をリストの最後の方にシフトさせるような方法での動き情報予測候補リストの読込みは、符号器および復号器でタイル境界認識の方法で行われる。このようにして、この潜在的により影響を受ける可能性がより高い動き情報予測候補をリストの最後の方にシフトさせることと関連付けられるわずかな符号化効率のペナルティは、タイル境界に沿った映像の画像のエリアに制限される。しかしながら、代替案によれば、「問題のある」動き情報予測候補のリストの最後の方へのシフトは、現在のブロックがタイル境界に沿ってあるか否かに関係なく行われる。符号化効率をわずかに低下させるが、後者の代替案は、ロバスト性を向上させ、符号化/復号手順を容易にする可能性がある。「問題のある」動き情報予測候補は、参照画像内のブロックから導出された候補であるか、または動き情報履歴管理から導出された候補であってもよい。
【0015】
本出願のさらなる実施形態によれば、復号器および符号器は、その動き情報がリストにおいて時間的動き情報予測候補を形成するために使用される、動き情報参照画像内のブロックを指し示すためにさらに使用される予測された動きベクトルに関するタイル独立性制約を強制することによって、タイル境界認識の方法で時間的動き情報予測候補を決定する。予測された動きベクトルは、現在のタイル内にとどまるか、または現在のタイル内の位置を指し示すようにクリップされる。そのような候補の可用性は、したがって、リストのタイル独立性制約の順守が保持されるように現在のタイル内で保証されている。代替の概念によれば、動きベクトルをクリップする代わりに、第1の動きベクトルが現在のタイルの外側を指している場合に第2の動きベクトルが使用される。すなわち、第2の動きベクトルは、第1の動きベクトルがタイルの外側を指している場合に、その動き情報に基づいて時間的動き情報予測候補が形成されるブロックを配置するために使用される。
【0016】
さらに別の実施形態によれば、タイル独立性制約を強制するのを支援するために復号器にタイル境界認識を提供するという上記の考えにおいて、復号器は、特定のインター予測ブロックのためにデータストリームにおいて動き情報が符号化される際に従う動き補償予測をサポートし、復号器は、このインター予測ブロックが分割されるサブブロックのサブブロックごとの動きベクトルを導出し、タイル間の境界の位置に応じて、サブブロック動きベクトルの導出、または導出された動きベクトルを使用した各サブブロックの予測またはその両方を行う。このようにして、タイル独立性制約と矛盾することになるためにそのような効果的な符号化モードが符号器によって使用され得ない事例が、かなり低減される。
【0017】
本出願のさらなる態様によれば、動き補償双方向予測をサポートし、動き補償双方向予測を向上させるために符号器および復号器で双方向オプティカルフローツールを含むコーデックは、ツールの適用がタイル独立性制約との矛盾につながる場合に符号器および復号器に双方向オプティカルフローツールの自動的な非アクティブ化を提供することによって、または現在のタイルの外側にある、そこから特定の双方向予測的インター予測ブロックが予測されるように双方向オプティカルフローツールを使用して予測されるパッチの領域を決定するために境界パディングが使用されることによってタイル独立符号化に準拠する。
本出願の別の態様は、以前に使用された動き情報を格納する動き情報履歴リストを使用する動き情報予測子候補リストの読込みに関する。この態様は、タイルベースの符号化を使用するか否かに関係なく使用され得る。この態様は、動き情報予測子候補リストにこれまで読み込まれている動き情報予測子候補に依存して、候補リストに現在読み込まれているエントリがそれによって記入されることになる動き情報履歴リストの中からの動き情報予測子候補の選択を与えることによって、より高い圧縮効率の映像コーデックを提供しようとするものである。この依存性の目的は、その動き情報が、候補リストにこれまで読み込まれている動き情報予測子候補からさらに離れている可能性が高い履歴リスト内の動き情報エントリを選択することである。適切な距離尺度は、例えば、その履歴リスト内の動き情報エントリと候補リスト内の動き情報予測子候補とによってそれぞれ構成される動きベクトル、および/またはそれらによって構成される参照画像インデックスに基づいて定義され得る。この方法により、履歴ベースの候補を使用した候補リストの読込みは、符号器が優れた歪み最適化の観点から候補リスト内で適切な候補を見つける可能性が、履歴ベースの候補を単に、その動き情報履歴リスト内のランク、すなわち、その候補がどれほど新しく動き情報履歴リストに入力されたかだけに従って選択する場合と比較してより高くなるように、結果として得られる候補リストのより高度な「更新」につながる。この概念は、実際、動き情報予測子候補リストに読み込むために動き情報予測子候補セットの中から現在選択されることになっている任意の他の動き情報予測子候補にも適用され得る。
【0018】
本発明の有利な態様は、従属請求項の主題である。本出願の好ましい実施形態を、以下で図を参照して説明する。
【図面の簡単な説明】
【0019】
【
図1】本出願の実施形態によるインター予測の概念が実施され得る符号器の例として、ブロックベースの映像符号器を示すブロック図である。
【
図2】本出願の実施形態によるインター予測の概念が実施され得る符号器の例として、
図1の符号器に適合する、ブロックベースの映像復号器を示すブロック図である。
【
図3】それぞれ、符号化モードの選択、変換の選択、および変換の性能のための細分化を設定する可能性を例示するように、予測残差信号と予測信号と再構成信号との間の関係の例を示す概略図である。
【
図4】映像のタイルへの例示的な分割およびタイル独立符号化の一般的な目的を示す概略図である。
【
図5】JEM(joint exploration codec mode(ジョイント探索コーデックモード))アフィン運動モデルを示す概略図である。
【
図6】ATMVP(Alternative Temporal Motion Vector Prediction(代替的時間的動きベクトル予測))手順を示す概略図である。
【
図7】BIO(双方向オプティカルフロー)ツールで使用されるオプティカルフロー軌道を示す概略図である。
【
図8】本出願のいくつかの実施形態による復号器による所定のインター予測ブロック、およびより効果的なタイル独立コーデックのための符号器によるその復号器の動作の利用に関するタイル認識またはタイル認識動き情報導出を示す概略図である。
【
図9】本出願のいくつかの実施形態による、復号器の順守/強制機能、および関連付けられる動きデータのリダイレクトを実現するための不可逆的マッピングの使用を示す概略図である。
【
図10】復号器の順守/強制機能を、シグナリングまたは最終的に再構成された動き情報状態または動き情報予測に対して適用する可能性を示すための予測動き情報符号化/復号を示す概略図である。
【
図11】インター予測ブロックの個々のサンプルを計算するための数学的サンプル組合せによるパッチサイズ変動および/またはパッチサイズ拡大の可能性を示す概略図である。
【
図12a】パッチを現在のタイル境界に可能な限り近づけることを目的とする、補間フィルタの動き精度依存のアクティブ化に起因する動き精度依存のパッチサイズに関連した動きリダイレクトまたは不可逆的マッピングを実現する様々な可能性を示す概略図である。
【
図12b】動きベクトルの安全マージンを実現する、補間フィルタの動き精度依存のアクティブ化に起因する動き精度依存のパッチサイズに関連した動きリダイレクトまたは不可逆的マッピングを実現する様々な可能性を示す概略図である。
【
図13】動き情報予測子候補リストの任意選択の構成をさらに示す、復号器の順守/強制機能を動き情報予測の導出に適用する可能性を示す概略図である。
【
図14】復号器の順守/強制機能に関与する不可逆的動きベクトルマッピング、および追加的に、動き情報予測子候補リストを任意で構築するときに結果として得られる例示的な動き情報予測子候補セットを示す概略図である。
【
図15】特定の動き情報予測子候補がタイル独立制約と矛盾するか否かに依存して動き情報予測子候補リストに読み込む際の候補の可用性を与える可能性を示す概略図である。
【
図16】インター予測ブロックが特定のタイルの辺に隣接しているか否かに依存して時間的動き情報予測子候補の導出に関する参照ブロック識別を変化させる可能性を示す概略図である。
【
図17】ここでは、時間的動き情報予測子候補と1つまたは複数の空間的動き情報予測子候補との並置に関して、インター予測ブロックが特定のタイルの辺に隣接しているか否かに依存して動き情報予測子候補リストに読み込む際の読込み順序を与える可能性を示す概略図である。
【
図18】復号器の順守/強制機能を、時間的動き情報予測子候補の導出に使用される予測された動きベクトルに対して適用する可能性を示す概略図である。
【
図19】第1の予測された動きベクトルがタイル独立制約に矛盾する場合に代わりの予測された動きベクトルが使用される
図18の概念の代替案を示す概略図である。
【
図20】タイル独立制約の達成を支援する復号器の様々な概念を示すためのアフィン運動モデルによる現在のインター予測ブロックのサブブロックのための動き情報導出を示す概略図である。
【
図21】結果として得られる候補リストを改善するための、これまで動き情報候補リストに読み込まれている候補の動き情報に依存したリストに読み込むための履歴ベースの動き情報候補の選択を示す概略図である。
【
図22】タイル独立制約の達成を支援する復号器のための様々な概念を示すための、一実施形態による、符号器および復号器に組み込まれたBIO(双方向オプティカルフロー)ツールの機能を示す概略図である。
【発明を実施するための形態】
【0020】
以下の図の説明では初めに、インター予測コーデックの実施形態が組み込まれ得る符号化フレームワークの例を形成するために、映像の画像を符号化するためのブロックベースの予測コーデックの符号器および復号器の説明を提示する。前述の符号器および復号器を、
図1から
図3に関連して説明する。その後、本出願のインター予測概念の実施形態の説明を提示する。それらの概念は組み合わされ、または組合せとして使用され得る。特に、後述されるすべての概念は、それぞれ、
図1および
図2の符号器および復号器に組み合わせて組み込まれてもよく、後続の
図4以下で説明される実施形態もまた、
図1および
図2の符号器および復号器の基礎を成す符号化フレームワークに従って動作しない符号器および復号器を形成するために使用されてもよい。
【0021】
図1に、例示的に、変換ベースの残差符号化を使用して画像シーケンス12からなる映像11をデータストリーム14に予測的に符号化するための装置を示す。この装置、すなわち符号器は、参照符号10を使用して指示されている。
図2に、やはり変換ベースの残差復号を使用して、データストリーム14から、画像シーケンス12’からなる映像11’を予測的に復号するように構成された対応する復号器20、すなわち装置20を示し、アポストロフィは、復号器20によって再構成される映像11’と画像12’とが、予測残差信号の量子化によって導入される符号化損失に関して装置10によって当初符号化された画像12から逸脱することを指示するために使用されている。
図1および
図2は、変換ベースの予測残差符号化を例示的に使用しているが、本出願の実施形態はこの種の予測残差符号化に限定されない。このことは、以下で説明されるように、
図1および
図2に関して説明される他の詳細にも当てはまる。
【0022】
符号器10は、予測残差信号に空間・スペクトル変換を施し、そのようにして取得された予測残差信号をデータストリーム14に符号化するように構成される。同様に、復号器20も、データストリーム14から予測残差信号を復号し、そのようにして取得された予測残差信号にスペクトル・空間変換を施すように構成される。
【0023】
内部に、符号器10は、元の信号、すなわち現在の画像12からの予測信号26の逸脱を測定するように予測残差24を生成する予測残差信号形成器22を含み得る。予測残差信号形成器22は、例えば、元の信号、すなわち現在の画像12から予測信号を減算する減算器であってもよい。符号器10はその場合に、予測残差信号24に空間・スペクトル変換を施して、次いで、やはり符号器10に含まれる量子化器32によって量子化を施される、スペクトル領域の予測残差信号24’を取得する変換器28をさらに含む。そのようにして量子化された予測残差信号24’’はビットストリーム14に符号化される。このために、符号器10は、任意選択で、変換され、量子化された予測残差信号をデータストリーム14にエントロピー符号化するエントロピー符号器34を含み得る。予測残差24は、データストリーム14に復号され、データストリーム14から復号可能な予測残差信号24’’に基づいて、符号器10の予測段36によって生成される。このために、予測段36は内部に、
図1に示されるように、量子化損失を除く信号24’に対応するスペクトル領域の予測残差信号24’’’を得るように予測残差信号24’’を逆量子化する逆量子化器38を含み得、その後に、後者の予測残差信号24’’’に逆変換、すなわちスペクトル・空間変換を施して、量子化損失を除く元の予測残差信号24に対応する予測残差信号24’’’’を取得する逆変換器40が続く。次いで、予測段36の結合器42が、再構成信号46、すなわち、元の信号12の再構成を取得するように、加算などによって、予測信号26と予測残差信号24’’’’とを再結合する。再構成信号46は信号12’に対応し得る。次いで、予測段36の予測モジュール44が、例えば、空間的予測、すなわちイントラ予測、および/または時間的予測、すなわちインター予測を使用して信号46に基づいて予測信号26を生成する。
【0024】
同様に、復号器20も、内部に、予測段36に対応する、予測段36に対応するように相互接続された構成要素で構成され得る。特に、復号器20のエントロピー復号器50は、データストリームから量子化されたスペクトル領域の予測残差信号24’’をエントロピー復号し得、そうすると、相互接続された、予測段36のモジュールに関して上述されたような方法で協働する、逆量子化器52、逆変換器54、結合器56、および予測モジュール58が、
図2に示されるように、結合器56の出力が再構成信号、すなわち画像12’になるように、予測残差信号24’’に基づいて再構成信号を回復する。
【0025】
具体的には上述されていないが、符号器10は、例えば、何らかのレートおよび歪みに関連した基準、すなわち、符号化コストを最適化するようになどの、何らかの最適化方式に従って、例えば、予測モード、動きパラメータなどを含むいくつかの符号化パラメータを設定し得ることが容易に明らかである。例えば、符号器10および復号器20ならびに対応するモジュール44、58は、それぞれ、イントラ符号化モードやインター符号化モードなどの異なる予測モードをサポートし得る。符号器および復号器がこれらの予測モードタイプを切り替える粒度は、それぞれ、画像12および画像12’の符号化セグメントまたは符号化ブロックへの細分化に対応し得る。これらの符号化セグメントの単位において、例えば、画像は、イントラ符号化されるブロックおよびインター符号化されるブロックに細分化され得る。イントラ符号化ブロックは、それぞれのブロックの空間的な、すでに符号化/復号された近傍に基づいて予測される。それぞれのセグメントが、これに従って、近傍のサンプル値を、それぞれの方向性イントラ符号化モードに固有の特定の方向に沿ってそれぞれのイントラ符号化セグメントに外挿することによって埋められる、方向性イントラ符号化モードまたは角度イントラ符号化モードを含む、いくつかのイントラ符号化モードが存在し得、それぞれのイントラ符号化セグメントのために選択され得る。イントラ符号化モードは、例えば、それぞれのイントラ符号化ブロックの予測がそれぞれのイントラ符号化セグメント内のすべてのサンプルにDC値を割り当てるために従うDC符号化モード、および/またはそれぞれのブロックの予測が、近傍のサンプルに基づく二次元線形関数によって定義された平面の傾きおよびオフセットを導出することにより、それぞれのイントラ符号化ブロックのサンプル位置にわたる二次元線形関数によって記述されたサンプル値の空間分布になるように近似または決定されるために従う平面イントラ符号化モードなどの1つまたは複数のさらなるモードも含み得る。これと比較して、インター符号化ブロックは、例えば、時間的に予測され得る。インター符号化ブロックでは、動き情報がデータストリーム内でシグナリングされ得る。動き情報は、それぞれのインター符号化ブロックの予測信号を取得するために以前に符号化/復号された画像がサンプリングされる、画像12が属する映像の以前に符号化された画像の部分の空間変位を指示するベクトルを含み得る。より複雑な動きモデルも使用され得る。これが意味するのは、量子化されたスペクトル領域の予測残差信号24’’を表すエントロピー符号化された変換係数レベルなどの、データストリーム14に含まれる残差信号符号化に加えて、データストリーム14は、様々なブロックに符号化モードを割り当てるための符号化モードパラメータ、インター符号化ブロックの動きパラメータなどのブロックのうちのいくつかの予測パラメータ、および画像12および画像12’それぞれのブロックへの細分化を制御およびシグナリングするパラメータなどの任意選択のさらなるパラメータをその中に符号化している可能性があることである。復号器20は、ブロックに同じ予測モードを割り当て、同じ予測を行って同じ予測信号を得るために、これらのパラメータを使用して、符号器10が行ったのと同じ方法で画像を細分化する。
【0026】
図3に、一方の再構成信号、すなわち再構成画像12’と、他方の、データストリームにおいてシグナリングされる予測残差信号24’’’’と予測信号26との組合せとの間の関係を示す。すでに上述したように、この組合せは加算であってもよい。予測信号26は
図3において、網掛けを使用して例示されているイントラ符号化ブロックと、網掛けなしで例示されているインター符号化ブロックとへの画像エリアの細分化として示されている。細分化は、画像エリアのブロックの行および列またはブロックへの規則的な細分化や、四分木細分化などといった画像12の様々なサイズのリーフブロックへのマルチツリー細分化などの任意の細分化であり得、
図3にはそれらの混合が示されており、画像エリアはまず、ツリールートブロックの行および列に細分化され、次いでそれらが、再帰的なマルチツリー細分化に従ってさらに細分化される。この場合もやはり、データストリーム14は、いくつかのサポートされるイントラ符号化モードのうちの1つをそれぞれのイントラ符号化ブロック80に割り当てる、イントラ符号化ブロック80のためのイントラ符号化モードをその中に符号化している可能性がある。インター符号化ブロック82について、データストリーム14は、1つまたは複数の動きベクトルを含む動き情報などの動き情報をその中に符号化している可能性がある。詳細を以下に記載する。一般的に言えば、インター符号化ブロック82は、時間的に符号化されるだけに限定されない。あるいは、インター符号化ブロック82は、画像12が属する映像の以前に符号化された画像や、符号器および復号器がそれぞれスケーラブルな符号器および復号器である場合には別の視野または階層的に下位のレイヤの画像など、現在の画像12自体を越えて以前に符号化された部分から予測された任意のブロックであってもよい。
図3の予測残差信号24’’’’は、画像エリアのブロック84への細分化としても示されている。これらのブロックは、これらのブロックを符号化ブロック80および82と区別するために、変換ブロックとも呼ばれ得る。実質的に、
図3は、符号器10および復号器20が、ブロックへの、画像12および画像12’それぞれの2つの異なる細分化、すなわち、符号化ブロック80および82それぞれへの1つの細分化と、ブロック84へのもう1つの細分化とを使用し得ることを示している。両方の細分化が同じであってもよく、すなわち、各符号化ブロック80および82が同時に変換ブロック84を形成してもよいが、
図3は、例えば、ブロック80および82の2つのブロック間の任意の境界が2つのブロック84間の境界に重なる、言い換えると、各ブロック80/82が変換ブロック84のうちの1つと一致するか、または変換ブロック84のクラスタと一致するように、変換ブロック84への細分化が符号化ブロック80/82への細分化の拡張を形成する事例を示している。しかしながら、細分化は、変換ブロック84が代替としてブロック80/82間のブロック境界を横切ることもできるように互いに独立して決定または選択されてもよい。変換ブロック84への細分化に関する限り、ブロック80/82への細分化に関して提示されるのと同様の記述がそのように当てはまり、すなわち、ブロック84は、ブロック/画像エリアの行と列とに配置されたブロックへの規則的な細分化の結果、画像エリアの再帰的なマルチツリー細分化の結果、またはそれらの組合せもしくは任意の他の種類のブロック化であってもよい。ちなみに、ブロック80、82および84は、二次形状、長方形または任意の他の形状のものであることに限定されないことに留意されたい。
【0027】
後述する実施形態では、それぞれの実施形態の具体的詳細を説明するためにインター予測ブロック104が代表的に使用されている。このブロック104は、インター予測ブロック82のうちの1つであってもよい。後続の図で言及されるその他のブロックはブロック80および82のうちのいずれかであってもよい。
【0028】
図3は、予測信号26と予測残差信号24’’’’との組合せにより再構成信号12’が直接得られることを示している。しかしながら、代替の実施形態によれば、画像12’を結果として得るために複数の予測信号26が予測残差信号24’’’’と組み合わされ得ることに留意されたい。
【0029】
図3では、変換セグメント84は、以下の有意性を有するものとする。変換器28および逆変換器54は、その変換をこれらの変換セグメント84の単位で行う。例えば、多くのコーデックが、すべての変換ブロック84にある種のDSTまたはDCTを使用する。一部のコーデックは、変換セグメント84の一部について、予測残差信号が空間領域で直接符号化されるように、変換をスキップすることを可能にする。しかしながら、後述する実施形態によれば、符号器10および復号器20は、それらが複数の変換をサポートするように構成される。例えば、符号器10および復号器20によってサポートされる変換は以下を含むことができる。
DCT-II(またはDCT-III)、DCTは離散コサイン変換を表す
DST-IV、DSTは離散サイン変換を表す
DCT-IV
DST-VII
恒等変換(IT)
【0030】
当然ながら、変換器28はこれらの変換のすべての順方向変換バージョンをサポートすることになり、復号器20または逆変換器54は、それらの対応する逆方向バージョンまたは逆バージョンをサポートすることになる。
逆DCT-II(または逆DCT-III)
逆DST-IV
逆DCT-IV
逆DST-VII
恒等変換(IT)
【0031】
以降の説明では、符号器10および復号器20でインター予測をどのようにして実施することができるかに関する詳細を示す。上記のイントラ予測モードなど、上述したすべての他のモードを、個別に、または全部、追加的にサポートすることもできる。残差符号化を、空間領域など、異なる方法で行うこともできる。
【0032】
すでに上述したように、
図1~
図3は、以下で詳述される概念のうちの1つまたは複数を使用してブロックベースの映像符号化を行う符号器の例として提示されている。以下に記載される詳細は、
図1の符号器に、または、別のブロックベースの映像符号器に、その別のブロックベースの映像符号器が、例えば、イントラ予測をサポートしないという点において、またはブロック80および/または82への細分化が
図3に例示されているのと異なる方法で行われるという点において、またはこの符号器が変換予測残差符号化を使用せず、例えば、代わりに直接空間領域で予測残差を符号化するという点においてさえも
図1の符号器と異なるように移され得る。同様に、本出願の実施形態による復号器も、以下でさらに概説される任意のインター予測符号化概念を使用してデータストリーム14からブロックベースの映像復号を行い得るが、例えば、
図2の復号器20とは、イントラ予測をサポートしないという点において、または画像12’をブロックに、
図3に関して説明されたのと異なる方法で細分化するという点において、および/またはデータストリーム14からの予測残差を変換領域で導出せず、例えば、空間領域で導出するという点において異なり得る。
【0033】
しかしながら、実施形態を説明する前に、タイルに分割された形態の映像を符号化する能力およびタイルを互いから独立して符号化/復号する方法を説明する。さらに、これまで論じなかった、後述する実施形態に従って選択的に使用され得、それにもかかわらず相互のタイル符号化の独立性を維持するさらなる符号化ツールの詳細な説明を記載する。
【0034】
よって、ブロックベースの映像符号器および映像復号器の潜在的な実施態様を説明した後、
図4を使用して、タイル独立符号化の概念を示す。タイルベースの独立符号化は、符号器のための複数の符号化設定の1つを表し得るにすぎない。すなわち、符号器は、タイル独立符号化を順守するように設定され得るか、またはタイル独立符号化を順序しないように設定され得る。当然ながら、映像符号器はタイル独立符号化を不可避的に適用することも可能である。
【0035】
タイル独立符号化に従って、映像11の画像はタイル100に分割される。
図4では、例示的に、映像11の3つの画像12a、12bおよび12cのみが示されており、これらが、例示的に、それぞれ、6つのタイル100に分割されるように図示されているが、2つ以上のタイルなど、任意の他の数のタイルへの分割も可能である。さらに、
図4は、タイル100へのタイル分割が、1つの画像内のタイル100が、各タイル100がそれぞれの画像の長方形部分であり、タイル100間の境界が画像12a~12cを通る直線102を形成している行と列とに規則的に配置されるような方法でなされることを示しているが、タイルが別の形状を有する代替の解決策も存在することに留意されたい。それぞれの画像をそれぞれ符号化および復号するための、
図3に関して説明されたような各画像12のブロックへの分割がタイル境界102に位置合わせされること、ならびに符号化ブロック、予測ブロックおよび/または変換ブロックのいずれもタイル境界102を横切らず、むしろ、それぞれの画像のタイル100のうちの1つに排他的にあること、が可能である。例えば、タイル分割は、画像12のツリールートブロックへの、すなわち、ブロック104が属するものとしても代表的に示されおり、その個々の細分化がデータストリームで復号器にシグナリングされる符号器により再帰的なマルチツリー分割によってブロック80/82に個々に細分されるブロックへの分割と位置合わせされるようになされ得る。
【0036】
タイル独立符号化とは、
図4のブロック104について例示的に示されているように、タイルのそれぞれの部分の符号化が、内部にブロック104が位置していない他のタイルから独立した方法でなされることを意味する。この符号化の独立性は、同じ画像の他のタイル、すなわち、ブロック104がその一部である同じ画像内の他のタイルだけに関係するものではなく、その画像内の独立性が例示的な矢印106を使用して
図4に示されおり、この矢印106は、ブロック104の符号化が同じ画像内の任意の他のタイルに依存しないことを示すために中断されているものとして示されている。符号化の独立性はまた、他の画像に関する符号化依存性にも関し、映像11のすべての画像12a~12cが同じ方法でタイル100に分割されている。よって、特定の画像12aの各々タイル100は、すべての他の画像に対応する同じ場所にあるタイルを有する。「タイル」とは、したがって、ブロック104を含む
図4の画像12aのセグメントなどの特定の画像の空間的セグメントのみならず、特定の画像内のこのタイルと同じ場所にある映像のすべての画像のすべての同じ場所にあるタイルからなる映像11の時空間的セグメントも記述するものである。
図4では、この時空間的セグメントが、ブロック104を含むタイルに対して破線で示されている。ブロック104を符号化するとき、符号器は、したがって、時空間的セグメント108の外側のタイルに対する符号化依存性を生じさせないような方法で、ブロック104を含む画像12a以外の画像に対する符号化依存性も制限することになる。
図4では、これは、ブロック104を含むタイルから参照画像12b内の別のタイルを指し示す中断された矢印110で示されている。
【0037】
以下でさらに概説される概念および実施形態は、さもないと、例えば、参照画像の同じ場所にあるタイルを離れるように遠くを指し示す動きベクトルによって引き起こされる、および/またはさもないと、ブロック104が属するタイルの境界を越える領域からの参照画像から動き情報予測を導出することによって引き起こされる、異なる画像の異なるタイル間の符号化依存性をどのように回避するかを、符号器および復号器の間でどのように保証するかについての可能性を提示する。
【0038】
しかしながら、本出願の実施形態を説明する前に、本出願の一実施形態によるブロックベースの映像符号器およびブロックベースの映像復号器において実装され得る、異なる画像の異なるタイル間のタイル相互依存性を引き起こしやすく、よって、中断された矢印110を使用して
図4に示されている制約との矛盾を生じやすい例として、特定の符号化ツールを説明する。
【0039】
典型的な最先端の映像符号化は、符号化効率を高めるためにフレーム間のインター予測を多用する。インター予測制約の符号化では、インター予測プロセスは通常、空間的セグメント境界を順守するように適応される必要があり、これは、(利用可能な動き情報予測子またはMV予測子に関する)ビットレートごとの有意な動き情報予測残差またはMV差の符号化によって達成される。
【0040】
典型的な最先端の映像符号化は、MV予測子の混合された変形をやはり含む、符号化プロセスの異なる段階におけるいわゆる候補リスト、例えば、マージ候補リストにおいて動きベクトル予測子を収集するという概念に大きく依拠する。
【0041】
そのようなリストに追加される典型的な候補は、時間的動きベクトル予測(TMVP)からの同じ場所にあるブロックのMVであり、現在の符号化ブロックの同じ空間的位置に隣接するが、大部分の現在のブロックの参照フレーム内にある右下のブロックである。唯一の例外は、画像内に右下のブロックがないためにいわゆる中央の同じ場所にある候補を導出するために実際の同じ場所にあるブロックが使用される、画像境界にあるブロックおよび(少なくともHEVCにおいての)CTU行の下部境界にあるブロックである。
【0042】
そのような候補の使用が問題になり得る使用事例がある。例えば、タイルが使用され、タイルの部分的復号が行われる場合、それらの可用性が変化し得る。これが起こるのは、符号器で使用されるTMVPが、現在復号されていない別のタイルに属する可能性があるからである。このプロセスは、同じ場所にある候補のインデックスの後のすべての候補にも影響を及ぼす。したがって、そのようなビットストリームの復号は、符号器/復号器の不一致につながり得る。
【0043】
AVCやHEVCなどの映像符号化規格は、整数画素よりも精度が高い高精度の動きベクトルに依拠する。これは、動きベクトルが、整数サンプル位置ではなくサブサンプル位置にある前の画像のサンプルを参照できることを意味する。したがって、映像符号化規格は、補間フィルタによってサブサンプルのサンプリング位置の値を導出する補間プロセスを定義している。HEVCの場合には、例えば、ルマ成分に8タップの補間フィルタ(クロマには4タップ)が使用されている。
【0044】
多くの映像符号化仕様で用いられているサブ画素補間プロセスの結果として、同じ方向の整数サンプル位置を指し示する動きベクトルMV1の長さよりも短い長さ(水平または垂直成分)で、非整数サンプル位置を指し示す動きベクトルMV2を使用する場合、MV1動きベクトルの使用には近傍のタイルのサンプルは不要であるが、サブサンプル補間プロセスのために、(例えば、近傍のタイルの)原点からさらに遠くまで到達するサンプルが必要とされるということが起こり得る。
【0045】
従来、映像符号化は並進のみの動きモデルを用い、すなわち、長方形ブロックが、二次元動きベクトルに従って変位されて、現在のブロックの動き補償予測子が形成される。そのようなモデルは、多くの映像シーケンスによくある回転またはズーム運動を表現することができず、したがって、例えばJEMでアフィン運動と呼ばれるような、従来の並進運動モデルをわずかに拡張する取組みがなされている。
図5に示されるように、このアフィン運動モデルでは、ブロック104ごとに2つ(または3つ)のいわゆる制御点動きベクトル(v
0、v
1)が、回転およびズーム運動をモデル化するために使用される。制御点動きベクトルv
0、v
1は、隣接するブロックのMV候補の中から選択される。結果として得られる動き補償予測子は、サブブロックベースの動きベクトル場を計算することによって導出され、長方形サブブロック112の従来の並進運動補償に依存する。
図5は、そこからそれぞれのサブブロック動きベクトルに従って右上のサブブロック(実線)が予測される結果として得られる予測子またはパッチ114(破線)を例示的に示している。
【0046】
動きベクトル予測は、時間的または空間的・時間的相関ブロックから動き情報を導出する技術である。
図6に示されるようなAlternative TMVP(ATMVP)と呼ばれる1つのそのような手順では、時間的ベクトル116と呼ばれる現在の画像12a内のブロック104のリストからのデフォルトのMV候補(例えば、マージ候補リスト内の第1のマージ候補)が、参照フレーム12bにおける相関ブロック118を決定するために使用される。
【0047】
言い換えると、CTU内の現在の予測ブロック104について、参照画像12bにおいて同じ場所にある予測ブロック118が決定される。同じ場所にあるブロック118を配置するために、動きベクトルMVTemp116が、現在の画像12a内の空間的候補の中から選択される。同じ場所にあるブロックは、現在の予測ブロックの位置12aに動きベクトルMVTemp116を加算することによって決定される。
【0048】
現在のブロック104のサブブロック122ごとに、次いで、相関ブロック118のそれぞれのサブブロック124の動き情報が、現在のサブブロック122のインター予測に使用され、現在のサブブロック122のインター予測はまた、関与するフレーム間の時間差のMVスケーリングなどの追加手順も組み込む。
【0049】
双方向オプティカルフロー(BIO)は、双方向予測のブロックごとの動き補償に加えて行われるサンプルごとの動き精緻化を使用する。
図7にその手順を示す。精緻化は、それぞれの画像パッチの水平勾配および垂直勾配に基づくものであるオプティカルフローの定理に基づいて2つの参照フレーム12b、12c(Ref
0、Ref
1)内の画像パッチ(A、B)間の差を最小化することに基づくものである。AおよびBにおける画像パッチの各々の水平方向および垂直方向の勾配画像、すなわち、画像内のルマ強度の方向変化の尺度が、予測ブロックのサンプルごとの増強オフセットを導出するために計算される。
【0050】
最後に使用されたMVの重複のないFiFoバッファが、MV候補リストをゼロ動きベクトルよりも有望な候補で満たすために維持される、履歴ベースの動きベクトル予測(HMVP)と呼ばれる、VVCのテストモデルなどの、現在の最先端の映像コーデックに新しい概念が導入される。最先端のコーデックは、(サブブロックまたはブロックごとの)同じ場所にある候補または空間的候補の後の動きベクトル候補リストにHMVP候補を追加する。
【0051】
図1~
図3に関して上述した例によるブロックベースの映像符号器および復号器の一般的な機能を説明し、タイル独立符号化の目的、ならびに、その使用が、個々に、タイル独立符号化を特に考慮に入れられないように縮小しやすいか、または不利な方法で考慮に入れられた場合に非常に非効果的になりやすいいくつかの符号化ツールを全体的に説明した。以下では、タイル独立を順守し、しかもなお上記で例示的に示されたような符号化ツールをきわめて効果的に使用することを可能にする実施形態を説明する。
【0052】
図8に、本出願の実施形態によるブロックベースの映像符号器10およびブロックベースの映像復号器20を示し、すでに上述したように、
図1および
図2の参照符号の再利用は、
図8の符号器10および復号器20が、部分的にそうである場合も、そうでない場合もあるが、
図1および
図2に関して上述したように解釈されなければならないことを意味しないものとする。符号器10は映像11をデータストリーム14に符号化し、復号器20はデータストリーム14から映像11の再構成を復号する。映像11の画像12は、
図4に関して説明されたようにタイル100に分割される。タイル100間の符号化独立は、
図8によれば、映像11をデータストリーム14に符号化する際に符号器10によって考慮に入れられるだけのタスクではない。むしろ、復号器20も、映像11の画像12の内部を通り、近傍のタイル100を互いに分離するタイル境界102を認識する。特に、
図4に関してすでに上述したように、タイル100は、各画像12が、同じ方法で、1つの画像の各タイルが映像11の任意の他の画像にもいて同じ場所にあるタイルを有するように、タイル100に分割されるので、時間の次元においても拡張する。よって、1つの画像12内のインター予測ブロックを予測するために使用される動き情報は、現在のタイル内に、すなわち、それぞれのインター予測ブロックの同じタイル内にとどまるはずである。言い換えると、そこからそれぞれのインター予測ブロックが予測されることになる、参照画像内のパッチを配置する、現在の画像のそのようなインター予測ブロックの動き情報は、タイル間の依存性を引き起こさないはずである。
図8によれば、復号器は、少なくともある程度まで、符号器10の状況を軽減し、そこから所定のインター予測ブロック104が、映像11の画像12内の境界102の位置に依存するようにデータストリーム14から予測されることになる、映像の参照画像12b内のパッチ130を配置する、映像11の現在の画像12aの所定のインター予測ブロック104の動き情報を導出する。そのようにして導出された動き情報は、例えば、動きベクトル132として定義され得るか、または動きベクトル132を含み得る。符号器10は、さらに、この復号器の動作に依拠し得、以下のように動作し得る。依然として、符号器10は、パッチ130が内部にとどまるような方法で現在の画像12aの所定のインター予測ブロックの動き情報132を決定し、このインター予測ブロック104がその内部に位置するタイルの境界102を越えない。より正確には、符号器10は、動き情報132を、パッチが、参照画像12bの同じ場所にあるタイル、すなわち、ブロック104がその内部に位置するタイルと同じ場所にあるタイルの境界内にあるように決定する。符号器10は、この動き情報132をこのように決定し、この動き情報をブロック104のインター予測に使用する。しかしながら、動き情報をデータストリーム14に符号化する際に、符号器は、復号器40の機能、より正確には、境界102に関する復号器20の認識を利用する。したがって、符号器10は、データストリーム14からの動き情報132の導出が、タイル100間の境界102の位置に依存して行われる、すなわち、タイル100間の境界102の位置への依存性を必要とするように、動き情報132をデータストリーム14に符号化する。
【0053】
次に説明する実施形態によれば、復号器20は、前述のタイル境界認識、すなわち、タイルの境界位置に対するデータストリームからの動き情報の導出の依存性を、所定のインター予測ブロック104についての動き情報の信号状態に関するタイル独立性を強制するために使用する。
図9を参照されたい。データストリーム14は、ブロック104の動き情報をシグナリングする部分または構文部分140を含む。この部分140は、よって、ブロック104の動き情報のシグナリング状態を決定する。後で、部分140が、例えば、動きベクトルの差、すなわち、動きベクトル予測残差と、任意選択で、動き予測子のリストを指し示す動き予測子インデックスとを含み得ることを説明する。動きベクトルが関連する参照画像12bを識別する参照画像インデックスも、任意選択で、部分140に含まれ得る。動き情報部分140についてどんな説明が厳密になされるにしても、ブロック104の動き情報のシグナリング状態が、ブロック104がそこから予測されることになる、ブロック104が属する同じタイル100a内にある対応するパッチ130につながる限りにおいて、このシグナリング状態は、タイル独立性制約と矛盾することにならず、したがって、復号器20は、この状態をそのままにし、この状態を動き情報の最終状態として、すなわち、パッチ130からのブロック104のインター予測に使用される状態として使用し得る。
図9には2つの例示的なシグナリング状態が示されている。丸で囲んだ1で示される状態は、明確にタイル100aの内部にあるパッチ130aにつながる動き情報132aと関連付けられている。丸で囲んだ2で示される他方の状態は、動き情報132bと関連付けられており、現在のタイル100aから近傍のタイル100bへ境界102を横切るパッチ130bにつながる。近傍のタイル100bとオーバーラップする、パッチ130bのオーバーラップ部分は、
図9では網掛けで示されている。パッチ130bからの予測ブロック104は、近傍のタイル100bのサンプルがブロック104の予測に使用されるので、タイル間依存性を導入することになる。したがって、復号器20は、
図9の例によれば、部分140のシグナリング状態が、パッチが、少なくとも部分的に、タイル100aの外側にある
図9の状態2のような状態であるか否かをチェックし、そうである場合に、動き情報を、シグナリング状態から、現在のタイル100aの境界102内にとどまるためにパッチ130につながるリダイレクト状態にリダイレクトする。
図9の一点鎖線は、リダイレクトされた動き情報130b’のリダイレクト状態2’によって配置されたパッチ130’bを示している。
【0054】
そのようなリダイレクトが行われ得る様々な方法がある。以下で詳細を述べる。特に、以下の説明で明らかになるように、パッチ130a、130bおよび130’bは、異なるサイズのものであってもよい。それらの少なくとも一部は、ブロック104と比較して異なるサイズのものであってもよい。これは、例えば、サブ画素動きベクトルを含む対応する動き情報の場合に、例えば、それぞれのパッチで参照画像からブロック104を予測するために補間フィルタを使用する必要性によって引き起こされ得る。
図9の説明から明らかになるように、上記のリダイレクト142により、符号器はデータストリーム14の内側で動き情報130b’をシグナリングする2つの選択肢を有することになり、すなわち、符号器は信号状態2または状態2’を使用し得る。この「自由」はビットレートの低下につながり得る。例えば、予測符号化が動き情報をシグナリングするために使用されると仮定する。ブロック104の動き情報のための予測子が状態2を指示した場合に、符号器は、単にこの予測子だけを使用してデータストリーム14の部分140におけるゼロの動き情報予測残差をシグナリングすることが可能になり、それによって状態2をシグナリングし、これは復号器によって状態2’にリダイレクトされることになる。
【0055】
図10に、
図9に関してすでに述べた可能性を示す。復号器は、タイル境界位置上のデータストリームからの動き情報導出の依存性を、動き情報の予測およびブロック104のデータストリーム14の部分140における動き情報予測残差信号を使用したその補正の結果である、動き情報のシグナリング状態に関するタイル独立性に対する制約を順守するか、またはこれを強制するために使用し得る。すなわち、ブロック104について、符号器および復号器は、現在の画像内のブロック104の空間的に近傍のブロックまたは特定の参照画像内のブロック104の近くに位置するブロックを符号化/復号するために使用された動き情報に基づくなど、以前に符号化されたブロックを使用して、ベクトルなどの動き情報予測または動き情報予測子150を提供することになる。後者は、パッチ130を含む参照画像12bまたは動き情報予測に使用される別の画像であってもよい。動きベクトルの差などの動き情報予測残差152が、ブロック104の部分140でシグナリングされる。復号器は、よって、データストリーム14から動き情報予測残差152を復号し、動き情報予測150および動き情報予測残差152に基づいてブロック104に使用されるべき動き情報(動きベクトルなど)を決定する。例えば、動きベクトルの場合に、動きベクトル150および152の合計は、ブロック104の動き情報の信号状態に準ずる、シグナリングされた動きベクトル154を指示し、動きベクトル154は、ブロック104が動きベクトル154の足を、例えば、
図10に示されるような左上隅158などのブロック104の隅などの所定の位置合わせ位置と同じ場所にある参照画像内の位置などの所定の位置156に配置することによってそこから予測されることになるフットプリントまたはパッチ130を指し示す。ベクトル154の頭はその場合に、例えば、ブロック104のフットプリントの左上隅を指し示すことになる。パッチ130は、前述したように、パッチ130からブロック104の予測を導出するために使用される補間フィルタリングなどのフィルタリングまたはその他の技術により、純粋なフットプリントと比較して拡大されるか、またはそれ以外に変形され得る。次に説明される実施形態によれば、制約の順守/強制の対象となるのは、この予測的に復号された動き情報154である。
【0056】
すなわち、復号器は、パッチ130が、ブロック104が属するタイル108の境界102を越えないように、動き情報154に対する制約を順守または強制する。
図9に関して説明されたように、復号器は、この順守/強制のために不可逆的マッピングを使用する。このマッピングは、可能なシグナリング状態、ここでは
図10の、動き情報予測150と動き情報予測残差152の可能な組合せを、動き情報154の矛盾しない状態にマップする。不可逆的マッピングは、各可能な組合せを最終的な動き情報に、そのような最終的な動き情報に従って配置されたパッチ130が現在のタイル100aの境界102内にとどまるようにマップする。結果として、現在のタイルのタイル境界に対する位置104ならびに/または動き情報予測150の方向およびサイズに依存して、同じ最終的な動き情報154、すなわち、同じ最終状態にマップされる、動き情報予測150と動き情報予測残差152の可能な組合せ、すなわち、可能なシグナリング状態があることになるが、これらの異なる組合せは、例えば、同じ動き情報予測150を共有し、内部で残差152が異なる。結果として、符号器は、動き情報予測残差152を自由に選択することができる。
図10は、例えば、動き情報予測残差152’が、復号器側の制約の順守/強制により、すなわち、上記の不可逆的マッピングのリダイレクト142により、それぞれ、事実上同じ動き情報154につながり得ることを示している。
【0057】
符号器が、事実上、インター予測を行うためにブロック104に適用されるべき同じ動き情報につながる動き情報予測残差の中から任意の動き情報予測残差を自由に選択することができるそのような事例では、符号器10は、この設定が最低のビットレートにつながるものである可能性が高いので、動き情報予測残差がゼロであるものを使用し得る。
【0058】
図11に、やはり上記ですでに述べたこと、すなわち、ブロック104がそこからインター予測されることになるパッチ130であって、特定の動きベクトル132などの特定の動き情報に従って配置されているパッチ130が、ブロック104と比較して異なる形状のものである可能性を示す。通常、パッチ130は、動き情報132に従って現在の画像内のその位置に対して変位された、参照画像内のブロック104の単なるフットプリント160よりも大きくなる。特に、パッチ130からのブロック104の実際の予測を行う際に、復号器および符号器は、パッチ160のそれぞれの部分内のサンプル164の数学的組合せでブロック104の各サンプル162を予測し得る。通常、特定のブロックサンプル162の数学的組合せに寄与するパッチ130の部分は、動き情報132に従って変位された、それぞれのサンプル162の位置およびその周辺に、すなわち、参照画像12b内のその変位されたサンプル位置162’またはその周辺に配置される。例えば、数学的組合せは、ブロック104からのそれぞれのサンプルに対応する部分のサンプルの加重和であってもよい。各サンプル162のこの部分は、例えば、動きベクトル132がサブ画素動きベクトルである場合には補間フィルタのカーネルによって、したがって、参照画像12b内のサブ画素サンプル位置に対するブロック104のサブ画素変位を求めることによって決定され得る。興味深いことに、例えば、フル画素動きベクトルを含む動き情報132の場合には、パッチ130が、その場合に、ブロック104と同じ大きさになり、各サンプル162が、それをパッチ130内の1つの対応するサンプル164と等しく設定することによって予測されるように、補間フィルタが不要であってもよい。パッチ130に対するフットプリント160の拡大に対する別の種類または寄与の起源は、代替的または追加的に、以下でより具体的に言及されるBIOツールなどの他のインター予測ツールに由来し得る。特に、BIOによれば、パッチ130から導出される予測子は、その場合には双方向予測的に予測されることになるブロック104のただ1つまたは2つの仮説(hypothesis)である可能性がある。この予測子を得るためには、しかしながら、サブ画素動きベクトルの場合の補間ありと、フル画素動きベクトルの場合の補間フィルタなしとで導出された予測子の暫定バージョンが、この暫定バージョンが実際のブロック104のサイズに対してすべての方向にnサンプルずつ拡大されるように決定されることになる(n>0、1など)。これがなされるのは、この暫定的予測子のブロック104のエリアにわたって分布する複数の位置上の局所的輝度勾配を決定し、最終的な双方向予測の予測子を取得するために局所勾配に依存してブロックのエリアにわたって変化するように線形結合によってブロックのエリア内で、両方の仮説、すなわち、参照画像12bから得られた暫定的予測子と別の参照画像から同様に得られた別の暫定的予測子とを組み合わせるためである。
図22を参照して、後者のBIOのパッチ拡大への寄与が無視され得ること、およびパッチ拡大のnサンプル幅のBIO拡張寄与(n>0)がそうではなく境界102を横切るパッチ130につながることになるか否かに依存して、BIOツールが代わりに非アクティブ化され得ることを説明する。すなわち、このリダイレクト手順は、BIOツールを無視して暫定的に行われ、BIOツールは境界認識しており、符号器によって符号器の代わりに非アクティブ化される。さらに、BIOツール以外に使用され得る別のモードが、これに従って動き情報が、ブロック104の2つの異なる隅でブロック104内の動きベクトル場の動きベクトルを定義し、これに基づき、アフィン運動モデルを使用して、ブロック104のサブブロックのサブブロック動きベクトルが計算される現在のブロック104の2つの動きベクトルを含む、アフィン運動モデルツールである。結果として得られるサブブロックのパッチは、サブブロックのパッチからなる、例えば、
図20に示されるような構成されたパッチを形成すると考えられ得、やはり、タイル独立性の強制は、構成されたパッチが全体として、すなわち、個々のサブブロックパッチのいずれも、境界102を横断しないことを強制し得る。それぞれ、
図9および
図10に関して説明されたリダイレクトおよび強制手順に関連して、上記で説明された機能は、様々なパッチサイズのパッチ130が、条件付きリダイレクトを施されることになる実際にシグナリングされた動き情報のパッチのサイズと、「問題のある」動き情報がリダイレクトまたは再マップされる動き情報設定の両方に関して考慮に入れられることを意味する。すなわち、
図9に関して明示的に言及されていないが、特定の動き情報状態のリダイレクトは、パッチサイズの変更につながり得、
図9の状態2のようなまだリダイレクトされていない状態は、リダイレクト142がもたらす状態、すなわち2’とは異なるパッチサイズを有し得る。
【0059】
前述の不可逆的マッピングまたはリダイレクトがどのように行われるかに関して様々な可能性が存在する。これは、一方の、不可逆的マッピングの入力を形成する際にリダイレクトを受ける状態と、他方の、不可逆的マッピングの出力のリダイレクト状態との、両方の側に当てはまる。
図12aに、1つの可能性を示す。
図12aは、一方では現在のタイル100aを他方では近傍のタイル100bを分離する境界102に対して対応するパッチを示すことによって、まだリダイレクトされていないかまたは不可逆的マッピングを施されていない4つの異なる設定1、2、3および4を図示または例示している。最初の3つの状態1、2および3では、パッチ130は、状態4の場合よりも小さい。特に、
図12aは、状態1、2および3において、パッチ130がインター予測ブロックのフットプリント160と一致することを示している。状態4で、パッチ130は、
図12aにこの設定4の破線によって示されているフットプリント160に対して拡大される。拡大は、例えば、状態4の対応する動きベクトルがサブ画素動きベクトルであり、状態1~3ではフル画素動きベクトルであることによるものである。この拡大により、状態1~3のパッチ130は現在のパッチ100a内にあり、境界102を横切らないが、状態4の場合のパッチ130は、これに対応する動きベクトルは状態2と状態3のフル画素動きベクトルの間にあるが、境界102を越えて拡大する。
【0060】
すなわち、いずれにせよ、制約の順守/強制は状態4をリダイレクトしなければならない。いくつかの実施形態によれば、後述するように、状態1、2および3は、対応するパッチが境界102を横切らないのでそのまま残される。これが意味するのは、事実上、不可逆的マッピングの値域、すなわち、リダイレクト状態のリザーバまたは領域が、パッチ130がインター予測ブロック104のフットプリント160と比較してそれぞれ拡大される拡張エッジ部分172の幅170よりもパッチ130が現在のタイル100aの境界102に近づくことを可能にすることである。言い換えると、境界102を横切らないパッチ130につながるフル画素動きベクトルは、例えば、リダイレクトプロセス142不変のままとされる。異なる実施形態では、動き情報のそれらの状態さえもリダイレクトされ、境界102を越えて近傍のタイルに拡張せず、フットプリントに対して拡張されず、拡張された場合に境界102を横切ることになる関連付けられたパッチは、
図12aの例では、これらは、状態1、2および3であり、それらでさえも、少なくとも、幅170に適応するように境界102から距離を置くためにリダイレクトされることになる。状態3のパッチ130が、拡張範囲170よりも小さい境界102からの距離を有するように示されている、
図12bを参照されたい。よって、その関連付けられたパッチ130またはフットプリント160が少なくとも拡張範囲171と同じ大きさの距離171を有するフル画素状態5にリダイレクトされる。すなわち、ここでは状態3が、対応するパッチ130が境界エリア172を含まず、それにもかかわらず、少なくとも幅170と同じ大きさの距離171だけ境界102から距離が置かれる状態5にリダイレクトされる。
【0061】
言い換えると、多くの映像符号化仕様で用いられているサブ画素補間プロセスの結果として、最も近いフル画素参照ブロック位置から複数の整数サンプリング位置離れたサンプルが必要とされ得る。動きベクトルMV1はフル画素動きベクトルであり、MV2はサブ画素動きベクトルであると仮定する。より具体的には、タイル100a内の位置Posx,PosyにあるサイズBW×BHのブロック104を仮定する。水平成分に注目すると、近傍のタイル100bまたは右側のタイルの使用を回避するために、MV1は、最大でも、(MV1x>0と仮定すると)Posx+BW-1+Mv1xが、ブロック104が属するタイル100aの右端のサンプルと等しいか、または(MV1x<0、すなわち、ベクトルが左を指し示すと仮定すると)Posx+Mv1xが、ブロックが属するタイル100aの左端のサンプルと等しい大きさとすることができる。しかしながら、MV2では、近傍のタイル内に到達するのを回避するためにフィルタカーネルサイズからの補間オーバーヘッドを組み込まなければならない。例えば、Mv2xを、MV2の整数部分とみなすと、MV2は、最大でも、(MV2x>0と仮定すると)Posx+BW-1+Mv2xが、ブロックが属するタイルの右端のサンプル-4と等しく、(MV2x<0と仮定すると)Posx+Mv2xが、ブロックが属するタイルの左端のサンプル+3と等しい大きさとすることしかできない。
【0062】
「3」および「-4」は、ここでは、補間フィルタによって生じた幅170の例である。しかしながら、他のカーネルサイズも適用され得る。
【0063】
しかしながら、タイル境界上の動き補償予測を効率的に制限することができる手段を確立することが望ましい。この問題に対するいくつかの解決策を以下で説明する。
【0064】
1つの可能性は、符号化画像内の独立した空間領域、すなわち、タイル100の境界102に関して動きベクトルをクリップすることである。さらに、動きベクトルは、動きベクトル解像度に適応するようにクリップされ得る。
【0065】
以下のブロック104が与えられたとする:
サイズBWxBH
位置Posx、Posy
TileLeft、TileTop、TileRightおよびTileBottomによって定義される境界102を有するタイル100aに属する
以下を定義する:
MVX>>precisionの場合に、MVXInt
MVY>>precisionの場合に、MVYInt
MVX&(2precision-1)の場合に、MVXFrac
MVY&(2precision-1)の場合に、MVYFrac
MVXは、動きベクトルの水平成分であり、MVYは、動きベクトルの垂直成分であり、precisionは、動きベクトルの精度を表す。例えば、HEVCにおいて、MVの精度は、サンプルの1/4であり、したがってprecision=2である。
【0066】
サブ画素部分にゼロを設定した場合に、結果として得られるクリップされたフル画素ベクトルが、厳密にタイル100a内にあるフットプリントまたはパッチになるように、動きベクトルMVのフル画素部分をクリップする。
MVXInt=Clip3(TileLeft-Posx,TileRight-Posx-(BW-1),MVXInt)
MVYInt=Clip3(TileTop-Posy,TileBottom-Posy-(BH-1),MVYInt)
【0067】
水平方向に、(クリッピング後の)動きベクトルのフル画素部分が拡張範囲170よりも境界102に近いことを意味する、(HEVCの8タップフィルタを仮定した)MVXInt<=TileLeft-Posx+3またはMVXInt>=TileRight-Posx-(BW-1)-4の場合に、
MVXFracは0に設定される。
【0068】
水平方向に、(クリッピング後の)動きベクトルのフル画素部分が拡張範囲170よりも境界102に近いことを意味する、(HEVCの8タップフィルタを仮定した)MVYInt<=TileTop-Posy+3またはMVYInt>=TileBottom-Posy-(BH-1)-4の場合に、
MVYFracは0に設定される。
【0069】
これは、状態1、2および3のフル画素動きベクトルが、対応するパッチが近傍のタイル100b内まで拡張しないため、そのままにとどまることが許容される、
図12aに関して説明された状況に対応する。境界102を越えて拡張するパッチ130につながるフル画素動きベクトルは、その対応するパッチが境界102を横切ることなく境界102内にある最も近いフル画素動きベクトルまでクリップされる。その拡大されたパッチ130が境界102を横切るサブ画素動きベクトルについては、以下の手順が適用される:サブ画素動きベクトルは、そのパッチがタイル100a内にとどまるが、サブ画素動きベクトルよりも小さい最も近いフル画素動きベクトルにマップされる。すなわち、動きベクトルのフル画素部分はそれに対応してクリップされ、サブ画素部分はゼロに設定される。これが意味するのは、サブ画素動きベクトルのフル画素部分、すなわち、サブ画素動きベクトルの切り捨てバージョンが、タイル100aを離れるフットプリント160につながらない場合には、サブ画素動きベクトルのサブ画素部分は単にゼロに設定されることである。状態4は、したがって、状態2にリダイレクトされる。
【0070】
分数成分をゼロに設定する代わりに、動きベクトルの整数画素部分が、上記のように次のより小さい整数画素位置に均さず、以下のように空間的に最も近い近傍の整数画素位置に丸めることもできる。
前と同様に、サブ画素部分にゼロを設定した場合に、結果として得られるクリップされたフル画素ベクトルが、厳密にタイル100a内にあるフットプリントまたはパッチになるように、動きベクトルMVのフル画素部分をクリップする。
MVXInt=Clip3(TileLeft-Posx,TileRight-Posx-(BW-1),MVXInt)
MVYInt=Clip3(TileTop-Posy,TileBottom-Posy-(BH-1),MVYInt)
(HEVCの8タップフィルタを仮定した)MVXInt<=TileLeft-Posx+3またはTileRight-Posx-(BW-1)>MVXInt>=TileRight-Posx-(BW-1)-4の場合
MVXInt=MVXInt+(MVXFrac+(1<<(precision-1))>> precision)
(HEVCの8タップフィルタを仮定した)MVXInt<=TileLeft-Posx+3またはMVXInt>=TileRight-Posx-(BW-1)-4の場合
MVXFracは0に設定される。
(HEVCの8タップフィルタを仮定した)MVYInt<=TileTop-Posy+3またはTileBottom-Posy-(BH-1)>MVYInt>=TileBottom-Posy-(BH-1)-4の場合
MVYInt=MVYInt+(MVYFrac+(1 <<(precision-1))>> precision)
(HEVCの8タップフィルタを仮定した)MVYInt<=TileTop-Posy+3またはMVYInt>=TileBottom-Posy-(BH-1)-4の場合
MVYFracは0に設定される。
【0071】
すなわち、前述の手順は以下のように変更される。動きベクトルはタイル100aを離れない最も近いフル画素動きベクトルに丸められる。すなわち、フル画素部分は、必要に応じてクリップされ得る。しかしながら、動きベクトルがサブ画素動きベクトルであった場合、サブ画素部分は単にゼロに設定されない。むしろ、最も近いフル画素動きベクトルへの、すなわち、フル画素部分を条件付きでクリップしたことによって初期のサブ画素動きベクトルと異なる動きベクトルに最も近いフル画素動きベクトルへの丸めが行われる。これは、例えば、
図12aの状態4を状態2の代わりに状態3にマップすること、またはリダイレクトすることにつながる。
【0072】
さらに言い換えると、前述の第1の代替案によれば、そのパッチ130が境界102の間に拡張する動きベクトルは、フットプリント160がタイル100a内にとどまるように動きベクトルのフル画素部分をクリップすることによってフル画素動きベクトルにリダイレクトされ、その場合に、サブ画素はゼロに設定される。第2の代替案として、フル画素部分のクリッピングの後、最も近いフル画素動きベクトルへの丸めが行われる。
【0073】
別のオプションは、制限がより厳しく、動きベクトルの整数部分と分数部分とを、別のタイルのサンプルを組み込んだ最終的に発生するサブサンプル補間が回避されることを保証するような方法ですべて一緒にクリップすることである。この可能性が
図12bで参照されている。
【0074】
MVX=Clip3((TileLeft-Posx+3)<<precision,(TileRight-Posx-BW-1-4)<<precision,MVX)
MVY=Clip3((TileTop-Posy+3)<<precision,(TileBottom-Posy-BH-1-4)<<precision,MVY)
【0075】
上記の説明で明らかになるように、MVクリッピングは、MVが適用されるブロックサイズに依存する。
【0076】
説明では、その空間解像度が異なり得る色成分の並置を無視した。よって、上記のクリッピング手順は、クロマフォーマットを考慮しておらず、または、ルマサンプルごとにクロマサンプルがあるモード4:4:4のみを考慮している。しかしながら、クロマサンプルとルマサンプルとの関係が異なる以下の2つの追加のクロマフォーマットがある。
4:2:0、クロマが水平および垂直方向にルマサンプルの半分を有する(すなわち、各方向に2つのルマサンプルごとに1つのクロマサンプル)
4:2:2、クロマが水平方向にはサンプルの半分を有するが、垂直方向には同じサンプルを有する(すなわち、垂直方向にはルマサンプルあたり1つのクロマサンプルだが、水平方向には2つのルマあたり1つのクロマサンプル)
【0077】
クロマのサブ画素補間プロセスは4タップフィルタを使用し得るが、輝度フィルタは上記のように8タップフィルタを使用する。上記のように、正確な数は重要ではない。クロマの補間フィルタフィルタカーネルサイズは、ルマのものの半分であるが、代替の実施形態ではこれさえも変更されてもよい。
【0078】
4:2:0の場合では、動きベクトルの整数部分および分数部分の導出は以下のとおりである。
MVCX>>(precision+1)の場合、MVXInt
MVCY>>(precision+1)の場合、MVYInt
MVCX&(2precision+1-1)の場合、MVXFrac
MVCY&(2precision+1-1)の場合、MVYFrac
【0079】
これが意味するのは、整数部分が対応するルマ部分の半分であり、分数部分がより細かい粒度のシグナリングを有することである。例えば、precision=2であるHEVCでは、ルマの場合、サンプル間で補間できる4つのサブ画素があり、クロマでは8である。
【0080】
これは、xPos+MVXInt=TileLeft+1であり、MVXIntが、4:2:0のフォーマットの(上記のようにクロマではなく)ルマとして定義される場合に、これが分数クロマサンプルではなく整数ルマサンプルに入ることにつながる。そのようなサンプルは、サブ画素補間によって、TileLeftを越える1つのクロマサンプルを必要とし、これはタイル独立性を妨げることになる。そのような問題が発生する事例は以下のとおりである:
4:2:0(HEVCにおけるChromaType=1)
xPos+MVXInt=TileLeft+1、MVXIntはルマについて定義される
xPos+(BW-1)+MVXInt=TileRight-2、MVXIntはルマについて定義される
yPos+MVYInt=TileTop+1、MVYIntはルマについて定義される
yPos+(BH-1)+MVYInt=TileBottom-2、MVYIntはルマについて定義される
4:2:2(HEVCにおけるChromaType=2)
xPos+MVXInt=TileLeft+1、MVXIntはルマについて定義される
xPos+(BW-1)+MVXInt=TileRight-2、MVXIntはルマについて定義される。
【0081】
2つの可能な解決策がある。
ChromaType(Ctype)に基づいて制限的な方法でクリップする:
ChromaOffsetHor=2*(Ctype==1|| Ctype==2)
ChromaOffsetVer=2*(Ctype==1)
MVXInt=Clip3(TileLeft-Posx+ChromaOffsetHor,TileRight-Posx-(BW-1)-ChromaOffsetHor,MVXInt)
MVYInt=Clip3(TileTop-Posy+ChromaOffsetVer,TileBottom-Posy-(BH-1)-ChromaOffsetVer,MVYInt)
【0082】
または、クロマによる追加変更なしで前述の場合と同様にクリップし、ただし以下であるか否かをチェックする:
4:2:0(HEVCにおけるChromaType=1)
xPos+MVXInt=TileLeft+1、MVXIntはルマについて定義される
xPos+(BW-1)+MVXInt=TileRight-2、MVXIntはルマについて定義される
yPos+MVYInt=TileTop+1、MVYIntはルマについて定義される
yPos+(BH-1)+MVYInt=TileBottom-2、MVYIntはルマについて定義される
4:2:2(HEVCにおけるChromaType=2)
xPos+MVXInt=TileLeft+1、MVXIntはルマについて定義される
xPos+(BW-1)+MVXInt=TileRight-2、MVXIntはルマについて定義される
【0083】
また、(1つまたは複数の)禁止された条件が発生しないように(例えば、+1で、または+1もしくは-1で最も近い方向に丸める分数部分に依存して)MVXIntまたはMVYIntを変更する。
【0084】
言い換えると、上記の説明は1つの色成分のみに注意を向けており、映像の画像の異なる色成分が異なる空間解像度を有し得る事例を無視したが、タイル独立性制約の強制において異なる空間解像度の異なる色成分の並置が考慮に入れられることがあり得、この記述は、強制が、例えば、最終的なMIではなくMI予測子に適用される、以下に記載される変更形態にも当てはまる。率直に言えば、動きベクトルは、色成分のいずれかがパッチがそれに対応して拡大される補間フィルタを必要とする場合には常に、サブ画素動きベクトルとして扱われ得、同様に、リダイレクトが行われる動きベクトルも、現在のタイル100aの境界102を横切る色成分のいずれかに必要になり得る補間フィルタリングを回避するように選択される。
【0085】
代替の実施形態によれば、制約の順守/強制が最終的にシグナリングされた動きベクトル154に適用された上記の実施形態(
図10と比較)は、復号器が同じ概念、すなわち、制約の順守/強制、すなわち、動きベクトルの場合のクリッピングを、最終的な動きベクトルまたは動き情報154ではなく予測子150に対して適用する限りにおいて変更される。よって、符号器と復号器とはどちらも、すべての動き情報予測子150が、ブロック104のパッチがそれぞれの動き情報予測子150に従って配置される場合、すなわち、動き情報予測残差152がゼロであった場合、パッチが現在のタイル100a内にあるという制約を順守することを強制するように、同じく動作する。すべての上記の詳細は、これらの代替の実施形態に移行され得る。
【0086】
しかしながら、符号器10に関する限り、上記の代替の実施形態は、符号器の異なる状況につながる。すなわち、符号器が、異なる動き情報予測残差のうちの1つをシグナリングすることによって復号器にブロック104の同じ動き情報を使用させるためのあいまいさまたは「自由」はなくなる。むしろ、ブロック104に使用されるべき動き情報を選択すると、少なくとも特定の動き情報予測子150に関して、部分140内のシグナリングが一意に決定される。改善点は以下にある。動き情報予測子150がタイル独立性制約との矛盾につながることが妨げられるので、そのような動き情報予測子150をそのシグナリングが通常、ビットレートに関して、ゼロ動き情報予測残差のシグナリングよりもコスト集約的であるそれぞれの非ゼロ動き情報予測残差152によって「リダイレクト」する必要がない。さらに、ブロック104に動き情報予測子のリストを確立する場合には、ブロック104のそのような動き情報予測子のリストに読み込まれるすべての動き情報予測子がタイル独立性制約と矛盾しないという自動的同期的な強制により、符号器は、いずれにせよ、タイル独立性制約が順守されるような方法で動き情報を選択することを余儀なくされるので、これらの利用可能な動き情報予測子のいずれもがレート歪み最適化に関して最善の動き情報にかなり近い可能性が高まる。
【0087】
すなわち、現在の映像符号化規格では、MVクリッピングが最終的なMVで、すなわち、動きベクトルの差が、もしあれば、予測子に追加された後に実行されるが、これは予測に関して行われ、ここで残差を使用したこの予測の補正が追加的に行われる。予測子が(潜在的に境界拡張を有する)画像の外を指しているときに、予測子が境界から本当に遠くを指している場合、動きベクトルの差は、おそらくは、少なくとも、クリッピング後にブロックが画像の境界にあるときには、それがクリップされる方向の成分を含まない。結果として得られる動きベクトルが、画像境界の内側にある参照画像内の位置を指し示した場合にのみ、動きベクトルの差は意味を成すことになる。しかしながら、画像内のブロック参照するためにそのような大きな動きベクトルの差を追加することは、動きベクトルの差を画像境界までクリップさせることと比較してコストがかかりすぎる可能性もある。
【0088】
したがって、一実施形態は、近傍のブロックまたは時間的候補ブロックから使用されるすべてのMV予測子が、ブロックがその内部に含まれるタイルの内側を常に指すように、ブロック位置に依存して予測子をクリップすることを基礎とし、したがって、優れた予測子にシグナリングされるべき残りの動きベクトルの差がより小さくなり、より効率的にシグナリングすることができる。
【0089】
タイル独立性の上記の動きベクトル予測子関連の強制を利用する一実施形態が、
図13に示されている。特に、
図13は、上記で多くの場合可能性として言及されていること、すなわち、動き情報予測子候補192のリスト190が、特定の規則に従い、特定の順序を使用してブロック104のために確立されることを示している。これらの動き情報予測子候補192のうちの1つが、次いで、符号器によってブロック104のために選択され、選択された動き情報予測子候補192の位置をリスト190内のそのランクに関して指示するそれぞれのポインタ193によって、ブロック104のための構文部分140内で選択されるようシグナリングされる。リスト190の確立は、符号器側と復号器側とで同じ方法で行われ、現在の実施形態によれば、リスト190に読み込まれる各動き情報予測子候補192に関するタイル独立性の強制を伴う。よって、リスト190内のすべての動き情報予測子192は、ブロック104が属する現在のタイルの境界内に排他的に存在するのではないパッチと関連付けられていない。部分140内のさらなる構文要素194が、次いで、動きベクトルに関する動き情報予測子候補192の場合の動き情報予測残差、すなわち、動きベクトルの差152を指示する。
【0090】
図14に、リスト190の各動き情報予測候補192にタイル独立性の強制した効果を示す。ブロック104について、リスト190内の3つの動き情報予測子候補192a~192cのパッチ130a~130cが示されている。ただし、パッチ130cは、動き情報予測子候補192cと関連付けられており、これは、しかしながら、実際にはリダイレクト142の結果である。すなわち、符号器および復号器は、実際には、破線と192c’とによって指示される、ブロック104のための動き情報予測子候補を導出した。この予測子192c’は、しかしながら、現在のタイル100aの境界102内にないパッチ130c’につながったはずである。したがって、この動き情報予測子候補192c’は、動き情報予測子候補192cになるようにリダイレクトされている。その効果は以下のとおりである。動き情報予測子候補192c’が、大きな歪みの意味に関して、最も効果的な動き情報予測子候補になった可能性は、符号器が非ゼロの動き情報予測子残差を伴う必要性によりかなり低い。したがって、そのような候補192c’をリスト190に含めると、リスト190内の候補位置の無駄にしかならない可能性が最も高い。
むしろ、予測子192a~192cのいずれかがポインタ193によって選択されてもよく、ほとんどの場合に、わずかな残差194のみが、残差ベクトル152(
図10と比較)と192cなどの選択された予測子との組合せによって得られるように、最終的な動きベクトル154(
図10と比較)に移行されさえすればよい。
【0091】
図13および
図14の概念は、当然ながら、リスト190を全く確立せずに現在のブロック104のための単一の予測150に適用されてもよい。
【0092】
動き情報予測子候補リストの構成/確立に関する代替の概念が、次に
図15に関して説明される実施形態の主題である。可能性として
図13に関してすでに上述したように、リスト190には、所定の規則に従って以前に符号化/復号されたブロックから導出される動き情報予測子候補を使用して読み込まれ得る。これらの規則は、例えば、対応する以前に符号化/復号されたブロックが配置される方法に関係し得る。これは、例えば、現在のブロック104の左側に空間的に近傍のブロックまたは現在のブロック104の上に空間的に近傍のブロックであること、であってもよい。それぞれの動き情報予測子候補の導出は、その場合単に、同じ符号化/復号でそれぞれのブロックに使用されたそれぞれの動き情報の採用であり得、すなわち、ブロック104のそれぞれの動き情報予測子候補は、それぞれのブロックに使用されたそれぞれの動き情報に等しくなるように設定され得る。別の動き情報予測子候補は、参照画像内のブロックに由来し得る。この場合もやはり、これは、候補192のうちの1つが関連する参照画像、または別の画像であってもよい。
図15に、そのような動き情報予測子候補プリミティブ200を示す。プリミティブ200は、リスト190内のエントリが、読込み順序と呼ばれるある順序204に従ってそこから読み込まれる動き情報予測子候補のプールを形成する。この順序204に従って、符号器および復号器は、プリミティブ200を導出し、202でそれらの可用性をチェックする。読込み順序は204に指示されている。可用性は、例えば、それぞれのプリミティブ200の対応するブロック、すなわち、その動き情報が同じ予測的符号化/復号に使用されたブロックが、現在のブロック104と同じタイル100a内にないために、否定される場合がある。しかしながら、
図15の実施形態によれば、可用性チェック202は、追加的または代替的に以下のチェック、すなわち、対応するプリミティブ200がタイル独立性制約と矛盾するか否かのチェック、を伴うか、または含む。すなわち、それぞれのプリミティブ200の起源、すなわち、同じ予測的符号化/復号に使用されたその動き情報がプリミティブ200を形成するために採用されることになる、現在のブロック104の左側のブロック、上のブロックまたは参照画像内のある併置(collocated:隣接)されたブロックの可用性がチェックされるのではなく、動きベクトル予測子がそのようなプリミティブ200で表現されるか否かがチェックされ、すなわち、プリミティブが関連付けられている以前に符号化/復号されたブロックを予測的に符号化/復号するために使用された動き情報から導出され、プリミティブ200を形成するために採用されることになる動き情報が、現在のタイル100a内に位置するパッチ130とその境界を越えずに関連付けられているか否かに関してチェックされることになる。そうでない場合に、それぞれのプリミティブは、利用できないとマークされ、次のプリミティブに進む。
図15は、例えば、第2の候補プリミティブ200が利用できないこと、およびリスト190内の最初の2つの動き情報予測子候補192が、それに応じて、順序204で第1および第3の候補プリミティブ200によって形成されることを示している。言い換えると、上記の問題への別の解決策は、動きベクトルリスト構成プロセスのための可用性フラグの導出を変更することである。これを、対象となる独立符号化領域(例えば、現在符号化されている動き制約タイル)の外側にあるサンプルを使用する動きベクトルが、constraintFlagが設定されているものとして利用不可に設定する方法で行うことができる。
【0093】
例えば、以下が、動きベクトル予測子候補リスト、mvpListLXのための構成プロセスである。
i=0
if(availableFlagLXA){
mvpListLX[i++]=mvLXA
if(availableFlagLXB&&(mvLXA!=mvLXB))
mvpListLX[i++]=mvLXB
}else if(availableFlagLXB)
mvpListLX[i++]=mvLXB
if(i<2&&availableFlagLXCol)
mvpListLX[i++]=mvLXCol
HMVP
while(i<2){
mvpListLX[i][0]=0
mvpListLX[i][1]=0
i++
}
【0094】
mvLXAおよびmvLXBが利用可能であるが、与えられたMCTSの外側を指している場合、おそらくはより有望な併置されたMV候補またはゼロ動きベクトル候補は、リストがすでに一杯であるためリストに入力されないことが分かる。したがって、タイルなどの空間的セグメント境界に関する参照サンプルの可用性を組み込む方法でMV候補の可用性の導出を制御するビットストリーム内のconstraintFlagシグナリングを有することが有利である。
【0095】
別の実施形態では、双方向予測の文脈での可用性導出は、可用性状態のより粒度の細かい記述を可能にし、したがって、動きベクトル候補リストに、部分的に利用可能な候補の混合バージョンを読み込むことをさらに可能にし得る。
【0096】
例えば、現在のブロックがその双方向予測された空間的近傍と同様に双方向予測される場合に、上記の概念(タイル内にある参照サンプル位置に依存した可用性マーキング)は、そのMV0が現在のタイルの外側を指す空間的候補が利用不可としてマークされ、したがって、MV0およびMV1を有する全候補が候補リストに入力されないことにつながる。しかしながら、MV1は、タイル内の有効な参照である。このMV1を動きベクトル候補リストを介してアクセス可能にするために、MV1は部分的に利用可能な候補の一時リストに追加される。その一時リスト内の部分的候補の組合せも、最終的mv候補リストに続いて追加することができる。例えば、空間的候補AのMV0を空間的候補BのMV1またはゼロ動きベクトルまたはHMVP候補成分と混合する。
【0097】
後者の手がかりにより、
図15に示されるプロセスは、ブロック104が双方向予測タイプのものである場合には、もう少し洗練されて符号器および復号器によって行われ得ることが明らかになった。この場合には、2つの異なる参照画像の2つの動きベクトルが各候補プリミティブ200によって伝達される。1つの可能性は、動きベクトルのうちの1つがタイル独立性との矛盾につながる場合に、そのような候補プリミティブ200を利用不可であるとマークすることであったであろう。その動きベクトルの対は、よって、読込み順序でスキップされ、リスト190に追加されない。しかしながら、代替案によれば、タイル独立性チェックは、仮説個別に行われる。すなわち、特定の候補プリミティブ200について、一方の動きベクトルはタイル独立性との矛盾につながり、他方はつながらないことがあってもよい。その場合に、矛盾しない動きベクトル仮説が、置換動き情報予測子の特定の置換リストに追加され得る。必要な場合には、すなわち、それ以上の候補プリミティブ200が読込み順序204で利用できない場合には、符号器及び復号器は、それらの対または1つのエントリおよび置換リストを、ゼロ動きベクトルなどのデフォルトの動き情報予測子と組み合わせるなど、単一の仮説動き情報予測子および置換リストの中からリスト190のための別の1つまたは複数の動き情報予測子候補192を形成することができる。
【0098】
図15の説明を終了するために、前述の図に関して説明された残りの詳細が追加され得ることに留意されたい。例えば、そのような詳細は、ポインタ193および残差194、ならびにパッチサイズおよびブロック104を予測するために最終的にシグナリングされた動き情報の実際の使用に関する詳細に関係し得る。
【0099】
次に説明される実施形態は、特定の参照画像のブロックにその起源を有する動き情報予測候補を扱う。この場合もやはり、この参照画像は、そこから実際のインター予測が行われる画像である必要はない。ただしそうである場合もある。MI(動き情報)予測に使用される参照画像を、パッチ130を含む参照画像と区別するために、以下では前者にアポストロフィが使用される。
【0100】
図16に、現在の画像12a内の現在のインター予測ブロック104、および参照画像12b’内のその併置された部分、すなわち、変位されていないフットプリント104’を示す。時間的動き情報予測子候補(プリミティブ)が、以下の方法で決定される参照画像12b’内のブロックに使用される動き情報を使用して形成されれば、RD性能に関して費用効果的であることが判明した。好ましくは、参照画像12b’内のブロックは、参照画像12b内の所定の位置204’を含む、すなわち、ブロック104に対して所定の位置関係を有する現在の画像12a内の特定の位置合わせ位置204に対して併置されたサンプル位置を含むブロックである。特に、それは、ブロック104の右下のサンプルの対角線上の近傍であるが、ブロック104の外側にあるサンプル位置である。位置204は、よって、
図16の例では水平および垂直方向に沿ってブロック104に対してオフセットされて配置されている。位置204’を含む参照画像12b’のブロックは、
図16において参照符号206によって指示されている。その動き情報が、利用可能な場合に時間的動き情報予測子候補(プリミティブ)を導出するか、または直接表すために使用される。しかしながら、可用性は、例えば、画像またはブロック206の外側にある位置204’および204がインター予測ブロックではなく、例えば、イントラ予測ブロックである場合には適用されない場合がある。そのような場合に、すなわち、非可用性の場合には、別の位置合わせ位置208が、参照画像12b内のソースブロックまたは元のブロックを識別するために使用される。この場合、位置合わせ位置208は、中心に置かれるなどブロック104の内側に配置される。参照画像内の対応する位置が、参照符号210で指示されている。位置210を含むブロックは参照符号212で指示されており、このブロックは、代用により、すなわち、それを使用してこのブロック212が予測されたその動き情報を使用して、時間的動き情報予測子候補(プリミティブ)を形成するために使用される。
【0101】
上記の概念が現在の画像12a内のすべてのブロック104に使用される場合に生じることになる問題を回避するために、以下の代替の概念が適用される。特に、符号器および復号器は、ブロック104が現在のタイル100aの所定の側に隣接しているか否かをチェックする。所定の側は、例えば、本例の場合のように現在のタイル100aの右側境界および/またはこのタイル100aの下側であり、例えば、位置合わせ位置204は、水平方向と垂直方向の両方にブロック104に対してオフセットされている。よって、ブロック104がこれらの側の1つの隣接している場合、符号器および復号器は、時間的動き情報予測子候補(プリミティブ)のソースブロック206を識別し、代わりに位置合わせ位置208だけを使用するために、位置合わせ位置204の使用をスキップする。後者の位置合わせ位置は、現在のブロック104があるのと同じタイル100a内にある参照画像12b内のブロックだけに「当たる」。現在のタイル100aの右側または下側に隣接していない、他のすべてのブロックについては、時間的動き情報予測子候補(プリミティブ)導出は、位置合わせ位置204の使用を含めて行われ得る。
【0102】
しかしながら、
図16の実施形態に関して多くの変形が実行可能であることに留意されたい。
図16に関して提示した説明からのそのような可能な改変は、例えば、位置合わせ位置204および208の厳密な位置に関連する。
【0103】
言い換えると、典型的な最先端の映像符号化仕様もまた、符号化プロセスの様々な段階でいわゆる候補リストにおいて動きベクトル予測子を収集する概念大きく依拠する。以下で、インター予測制約符号化のより高い符号化効率を可能にするMV候補リスト構成の文脈における概念を説明する。
【0104】
マージ候補リストは以下のように解釈され得る。
I=0
if(availableFlagA1)
mergeCandList[i++]=A1
if(availableFlagB1)
mergeCandList[i++]=B1
if(availableFlagB0)
mergeCandList[i++]=B0
if(availableFlagA0)
mergeCandList[i++]=A0
if(availableFlagB2)
mergeCandList[i++]=B2
if(availableFlagCol)
mergeCandList[i++]=Col
【0105】
slice_typeがBに等しいとき、多くの映像コーデック仕様において十分な候補がない場合、結合双方向予測マージMV候補のための導出プロセスが、候補リストを埋めるために行われる。
候補は、あるMV候補のL0成分と別のMV候補のL1成分とを様々な組合せでとることによって組み合わされる。
ゼロ動きベクトルマージ候補は、リストに十分な候補がない場合に追加される。
【0106】
併置されたMV候補(Col)を考察するときにインター予測制約の文脈でのマージリストの関連する問題が発生する。(右下ではなく中央に併置された)併置ブロックが利用できない場合に、参照画像内の隣接するタイルをパースしないとCol候補が存在するか否かを知ることができない。したがって、マージリストは、すべてのタイルを復号する場合とただ1つのタイルを復号する場合とで異なり、またはタイルが符号化時とは異なる配置で復号される。したがって、符号器側と復号器側とのMV候補リストが一致しない可能性があり、特定のオンのインデックス(colインデックス)からの候補を安全に使用することができない。
【0107】
上記のMV候補リストの不一致の問題を回避する
図16の上記の実施形態は、タイル内の右端ブロックおよび下端ブロックについて、現在のタイルに属さない右下の併置ブロックではなく、現在のタイルに属するCol候補としての中央に併置されたブロックを有する。
【0108】
代替の解決策は、読込み順序204に関するリスト構成を変更することであろう。特に、
図16に関して説明された概念を使用する場合、例えば、可用性をチェックされた最初のプリミティブ200など、リスト構成の比較的早期に時間的動き情報予測子候補(プリミティブ)を使用することが可能である(
図15と比較)。符号器側と復号器側とのタイル境界認識により、リストの不一致が発生しないことが保証される。しかしながら、別の可能性は、そのような時間的動き情報予測子候補(プリミティブ)をリスト190の最後の方にシフトさせ、組み合わされた空間的動きベクトルなどの組み合わされた空間的動き情報候補を、好ましくは、ブロック206に基づき、ブロック212に基づく補助的な方法でのみ決定された時間的に併置された候補の前にシフトさせる。上記の疑似コードに関連して、これは、Colが、代用としてのみ主にブロック206のMIとブロック212のMIとに基づいて決定された候補であり、現在の最先端のリスト構成の後で完成したリスト190の最後に移動されることを意味する。この読込み順序の変更を、タイル境界認識で行うことができる。すなわち、符号器および復号器は、現在のタイルの右側または下側に隣接しているブロック104に関してのみ、Col候補をリスト190の最後にシフトさせることによって読込み順序を変更し、その他の読込み順序を他方の方法、すなわち、Colが組み合わされた空間的動き情報候補に先行する方法のままにしておく。
【0109】
当然ながら、動きベクトル候補リストのより統一された作成のために、特定の側に隣接しているブロックのみではなくタイル内のすべてのブロック104について上記の読込み順序変更を実行することも実行可能であろう。
【0110】
図17に、タイル境界認識の読込み順序変更を示す。
図17の左半分には、インター予測ブロック104が問題の現在のタイルの側のうちの1つ、すなわち、右側または下側に隣接している事例が示されており、
図17の右側には、ブロック104が現在のタイル100aのどこか、またはより正確には、現在のタイル100aの特定の側から距離を置いたどこかにある事例が示されている。
【0111】
200aを使用して、動き情報予測子候補プリミティブが指示されており、これらのプリミティブは、例えば、イントラ符号化タイプである206の場合にブロック212の動き情報のみを代用として使用して、ブロック206の動き情報が好ましくはそれに従って使用される前述の方法で導出される。プリミティブ200aの基礎を成すブロックは、206または212である位置合わせされたブロックとも呼ばれる。別の動き情報予測子候補プリミティブ200bが示されている。この動き情報予測子候補プリミティブ200bは、タイル100aの特定の側の反対に面する側、すなわち、現在のブロック104の上側および左側で現在のブロック104の空間的に隣接している空間的に近傍のブロック220の動き情報から導出される。例えば、近傍のブロック220の動き情報の平均値または中央値が、動き情報予測子候補プリミティブ200bを形成するために使用される。しかしながら、読込み方向204は、どちらの場合にも異なる。ブロック104が現在のタイル100aの特定の側のうちの1つに隣接している場合には、組み合わされた空間的候補プリミティブ200bが時間的に併置された候補プリミティブ200aに先行し、他方の場合、すなわち、ブロック104が現在のタイル100aの特定の側のいずれにも隣接していない場合には、順序は、時間的に併置された候補プリミティブ200aが、それに沿ってポインタ193がリスト190を指し示すランク順序195において、組み合わされた空間的候補プリミティブ200bよりも早くリスト190に読み込むために使用されるように変更される。
【0112】
図17に関して具体的に論じられていない多くの詳細は、プリミティブ200aに関連した
図16に関する実施形態などの任意の前述の実施形態から採用され得ることに留意されたい。(1つまたは複数の)プリミティブ200bも別に取得され得る。
【0113】
図18に、タイル独立符号化を効率的に達成するさらなる可能性を示す。ここでは、それに従って、他の方法で予測された動きベクトル240が、符号器および復号器によって、その動き情報、すなわち、ブロック242を符号化/復号するために使用される動き情報が、次いで、動き情報予測候補(プリミティブ)を導出するために使用される参照画像12bにおいて所定のブロック242を配置または識別するように使用される時間的動き情報予測候補(プリミティブ)を導出するための技術が適用される。動きベクトル240は、例えば、空間的に予測され得る。動きベクトル240は、
図18で目指すプリミティブに由来するのではなく、リスト190内のその他の候補のうちの1つに由来し得る。
図18に関して説明される実施形態によれば、符号器および復号器は、動きベクトル240が、ブロック104の位置に対して、現在のタイル100aの外側を指しているか否かをチェックする。
図18の場合には、予測された動きベクトル240がタイル100aの外側を指していることが示されている。この動きベクトル240は、したがって、ブロック104から、より正確には、その所定の位置合わせ位置246から開始して、現在のタイル100aの境界102内にとどまるように、すなわち、タイル100aの外側を指さないように、クリッピング操作244によってクリップされる。そのようにクリップされた動きベクトル250がブロック104に対して指し示すブロック248は、次いで、単にブロック248がそれを使用して予測された動き情報を採用することによるなど、時間的動き情報予測候補(プリミティブ)を導出するための基礎として使用される。
【0114】
別の可能性が
図19に示されている。ここでは、符号器および復号器は、まず、第1の予測された動きベクトル240をテストする。これを行うことにより、符号器および復号器は、この第1の予測された動きベクトルがタイル100aの外側を指しているか否かをチェックする。そうである場合に、符号器および復号器は、別の予測された動きベクトル260を使用して、すなわち、それを使用して、第2の予測された動きベクトル260が指し示すブロック262が予測された動き情報を採用することによって、時間的動き情報予測候補(プリミティブ)を導出する。
図19では、例えば、第1の予測された動きベクトル240は、この動き240が指し示すブロック242が、参照画像12bにおいて現在のタイル100aの外側にあるように、現在のタイル100aの外側を指していることが示されている。しかしながら、動きベクトル260は、現在のタイル100aの外側を指していない。後者の場合に、それぞれの時間的動き情報予測候補(プリミティブ)に、使用不可であるとマークすることができる。
【0115】
言い換えると、MCTSなどの独立符号化される空間的セグメントを伴う使用シナリオでは、上記のATMVP手順は、MCTS間の依存性を回避するように制限される必要がある。
【0116】
サブブロックマージ候補リスト構成では、subblockMergeCandListは、以下のように構成され、最初の候補SbColがサブブロック時間的動きベクトル予測子である。
i=0
if(availableFlagSbCol)
subblockMergeCandList[i++]=SbCol
if(availableFlagA&&i<MaxNumSubblockMergeCand)
subblockMergeCandList[i++]=A
if(availableFlagB&&i<MaxNumSubblockMergeCand)
subblockMergeCandList[i++]=B
if(availableFlagConst1&&i<MaxNumSubblockMergeCand)
subblockMergeCandList[i++]=Const1
if(availableFlagConst2&&i<MaxNumSubblockMergeCand)
subblockMergeCandList[i++]=Const2
if(availableFlagConst3&&i<MaxNumSubblockMergeCand)
subblockMergeCandList[i++]=Const3
if(availableFlagConst4&&i<MaxNumSubblockMergeCand)
subblockMergeCandList[i++]=Const4
if(availableFlagConst5&&i<MaxNumSubblockMergeCand)
subblockMergeCandList[i++]=Const5
if(availableFlagConst6&&i<MaxNumSubblockMergeCand)
subblockMergeCandList[i++]=Const6
【0117】
時間的ベクトルから生じる参照フレーム内の相関ブロックが現在のブロックの空間的セグメントに属さないようにすることが有利である。
【0118】
併置された予測ブロックの位置は、以下の方法で配置されるよう制約される。動きベクトルmvTemp、すなわち、参照画像において併置サブブロックを配置するために使用される動き情報は、併置されたCTU境界内に含まれるようにクリップされる。これにより、併置された予測ブロックが、現在の予測ブロックと同じMCTS領域に配置されることが保証される。
【0119】
あるいは、上記のクリッピングに対して、空間的候補のmvTempが同じ空間的セグメント(タイル)内のサンプル位置を指し示さない場合に、空間的セグメント内に位置する参照ブロックをもたらす候補が見つかるまで、現在のブロックのMV候補リストからの次に利用可能なMV候補が選択される。
【0120】
次に説明される実施形態は、ビットレートを低下させ、または映像を効率的に符号化する別の効果的な符号化ツールを扱う。この概念によれば、ブロック104のためのデータストリーム内で伝達される動き情報は、復号器および符号器が、ブロック104内のより複雑な動き場を、すなわち、一定の動き場だけでなく、変化する動き場も定義することを可能にする。この動き情報は、例えば、
図5に例示的に示されているように、ブロック104の2つの異なる隅の動き場の2つの動きベクトルを決定した。復号器および符号器は、よって、動き情報から、ブロック104が分割されるサブブロックの各々の動きベクトルを導出する位置にある。
図20には4×4サブブロック300への規則的な分割が例示的に示されているが、サブブロック300への分割が規則的である必要はなく、サブブロックの数が16に制限されることもない。サブブロック300への細分は、データストリーム内でシグナリングされ得るか、またはデフォルトで設定され得る。よって、各サブブロックは、このサブブロック300と、それぞれのサブブロック300がそこから予測されることになる参照画像12b内の対応するパッチ302との間の並進変位を指示する動きベクトルを生成する。
【0121】
タイル独立性との矛盾を回避するために、符号器および復号器は本実施形態に従って以下のように動作する。
図20の2つの動きベクトル306aおよび306bによって例示的に表されるデータストリームで伝達される動き情報に基づくサブブロック動きベクトル304の導出は、符号器および復号器によって同じ方法で行われる。結果として得られるサブブロック動きベクトル304は、暫定的状態を想定する。第1の実施形態によれば、復号器は、暫定的なサブブロック動きベクトル304の各々に、例えば、
図9に関して上述された上記のタイル独立性を強制する。よって、サブブロックごとに、復号器は、対応するサブブロック動きベクトル304を、それが現在のタイル100aの境界を越えて拡張するそれぞれのサブブロックの対応するパッチ302につながるか否かをテストする。そうである場合に、対応するサブブロック動きベクトル304はそれに対応して扱われる。各サブブロック300は、次いで、リダイレクトしている可能性のあるそのサブブロック動きベクトル304を使用して予測される。符号器は、サブブロック300のすべての予測が符号器側と復号器側とで同じになるように、同じことを行う。
【0122】
あるいは、2つの動きベクトル306aおよび306bは、サブブロック動きベクトル304のうちのいずれもタイル依存性につながらないようにリダイレクトされる。よって、このために復号器側のベクトル306aおよび306bのクリッピングを使用することができる。すなわち、上述のように、復号器は、動きベクトル306aおよび306bの対を動き情報として、サブブロック300のパッチ302の構成をブロック104のパッチとして扱い、構成されたパッチがタイル独立性と矛盾しないことを強制する。同様に、構成されたパッチが別のタイルまで達した場合には上記のように、動きベクトル対306aおよび306bに対応する動き情報を、候補リストから削除することもできる。または、残差の補正が符号器によって行われ、すなわち、対応するMV差152をベクトル306aおよび306bに追加する。
【0123】
代替案によれば、対応するパッチ302が現在のタイル100aのタイル境界を越えるサブブロック300は、例えば、イントラ予測を使用するなど、別の方法で予測される。このイントラ予測は、当然ながら、その対応するサブブロック動きベクトル304がタイル独立性との矛盾を生じなかったブロック104のその他のサブブロックをインター予測した後に行われてもよい。さらに、これらの矛盾しないサブブロックについてデータストリームで伝達された予測残差さえも、矛盾するサブブロックのイントラ予測を行う前に、符号器側および復号器側で、これらの矛盾しないサブブロックの内部を再構成するためにすでに使用されている可能性もある。
【0124】
MCTSなどの独立符号化される空間的セグメントを伴う使用シナリオでは、上記のアフィン運動手順は、MCTS間の依存性を回避するように制限される必要がある。
【0125】
サブブロック動きベクトル場のMVが、空間的セグメント境界内にない予測子のサンプル位置につながる場合、サブブロックMVは、空間的セグメント境界内のサンプル位置まで個々に切り取られる。
【0126】
加えて、サブブロック動きベクトル場のMVが、空間的セグメント境界内にない予測子のサンプル位置につながる場合に、結果として得られる予測子サンプルは廃棄され、新しい予測子サンプルが、例えば、近傍の隣接するすでに復号されたサンプルエリアで導出された角度予測モードを用いて、イントラ予測技術から導出される。このシナリオで使用される空間的セグメントのサンプルは、近傍のブロック、ならびに現在のブロックの周囲のサブブロックに属し得る。
【0127】
さらに代替として、動きベクトル候補は、結果として得られる予測子の位置と、予測子サンプルが空間的セグメントに属するか否かについてチェックされる。これが当てはまらない場合に、結果として得られるサブブロック動きベクトルは、空間的セグメント内のサンプル位置を指し示さない可能性がより高い。したがって、空間的セグメント境界の外側のサンプル位置を指し示す動きベクトル候補を空間的セグメント境界内の位置まで切り取ることが有利である。あるいは、そのようなシナリオではアフィン運動モデルを使用するモードが使用不可とされる。
【0128】
別の概念は、履歴ベースの動き情報予測候補(プリミティブ)構成に関する。履歴ベースの動き情報予測候補は、不一致を引き起こさないように前述の読込み順序204の最後に配置され得る。言い換えると、動きベクトル候補リストにHMVP候補を追加すると、時間的に併置されたMVの可用性が、復号時のタイルレイアウトの変化により符号化後に変化する場合、復号器側の候補リストが符号器側と一致せず、そのような使用シナリオが想定される場合にCol後のインデックスを使用できないという、前述したのと同じ問題が導入される。ここでの概念の趣旨は、必要な場合に、Col候補がHMVPの後のリストの最後にシフトされる上記と同様である。
【0129】
MV候補リストを作成するために、上記の概念をタイル内のすべてのブロックに対して実行することができる。
【0130】
読込み順序内の履歴ベースの動き情報予測子候補の配置は、代替として、最も新しいインター予測ブロックの格納された動き情報の履歴リストに現在含まれている動き情報の検査に依存する方法で行われてもよいことに留意されたい。例えば、履歴リストに含まれる動き情報の、中央値、平均値などのいくつかの中心的傾向が、符号器および復号器によって、現在のブロックについて、履歴ベースの動き情報予測子候補が実際にタイル独立性との矛盾につながる可能性がどの程度あるかを検出するために使用され得る。例えば、ある平均に従って、履歴リストに含まれる動き情報が現在のタイルの中心の方を指し示す、または、より一般的に言えば、ブロック104の現在位置から、現在のタイル100aの境界102から十分に離れた位置を指し示す場合、履歴ベースの動き情報予測子候補がタイル独立性との矛盾につながる可能性は十分に低く、したがって、その場合に、履歴ベースの動き情報予測子候補(プリミティブ)は、平均的に、履歴リストが現在のタイル100aの境界102の近くか、または境界102を越える場所を指し示す場合と比較して読込み順序内でより早くに配置され得ると仮定され得る。中心的傾向の尺度に加えて、履歴リストに含まれる動き情報の分散尺度も使用され得る。変形などの分散が大きいほど、履歴ベースの動き情報予測子候補がタイル独立性との矛盾を引き起こし、さらに候補リスト190の最後の方に配置されるべきである可能性が高くなり得る。
【0131】
図21に、最も新しく使用された動き情報、すなわち、最も新しく符号化/復号されたインター予測ブロックの動き情報の集合をバッファする動き情報履歴リスト502の中から選択された動き情報予測子候補500で動き情報予測子候補リスト190の読込みを改善する概念を提示する。すなわち、リスト502のエントリ504の各々が、最も新しく符号化/復号されたインター予測ブロックのうちの1つに使用された動き情報を格納している。履歴リスト502におけるバッファは、符号器および復号器によって先入れ先出し方式で行われ得る。履歴リスト502の内容またはエントリを最新に保つための別の可能性も存在する。
図21に関して概説される概念は、タイルベースの独立符号化を使用する場合にも、タイルベースの独立符号化を使用しないときにも有用であるため、符号器および復号器は、その動き情報が履歴リスト502のエントリ504を埋めるために使用され、個々のタイル100、すなわち、現在の符号化ブロック104を検査するときの現在のタイル100aに制限され得、またはタイルベースの独立符号化を使用しない場合には画像全体であるインター予測ブロックの収集エリアを制限し得る。さらに、
図21に関して説明される概念は、必ずしも、それに従って履歴ベースの動き情報予測子候補が、動き情報予測子候補リスト190内で最後の方に、少なくとも組み合わされた空間的候補などの空間的候補の後にシフトされる、上述した態様での概念で使用されるとは限らない。むしろ、以下で
図21に関して概説される概念は、単に、それを使用して履歴リスト502の中から履歴ベースの動き情報予測子候補を選択する500時点で動き情報予測子候補リスト190にすでに読み込まれている動き情報予測子候補192があると想定する。最後に、
図21の場合にタイルベースの独立符号化が使用される場合でも、その場合、
図21の概念は、復号器が、ブロック104についての最終的にシグナリングされた動き情報に対して、またはリスト190に入力された動き情報予測子候補に対してタイル独立性の強制を行う上述した概念のいずれかと組み合わされる場合もあり、または組み合わされない場合もある。
図21の以下の説明では、タイルベースの独立符号化が適用されるが、復号器は、動き情報予測子候補192に関してタイル独立性の強制を行わないと仮定する。
【0132】
図21に示されるように、インター予測ブロック104を符号化/復号する時点で、符号器および復号器は、動き情報予測子候補リスト190を確立する。
図21は、例示的に、動き情報予測子候補リスト190にはすでに、
図21にAおよびBとして指示される、2つの動き情報予測子候補192が読み込まれていると仮定している。この「2つ」は、当然ながら、単なる例である。特に、それを使用して、別の履歴ベースの予測子候補によるリスト190の読込みのための履歴ベースの候補を選択する500時点でブロック104についてリスト190にすでに読み込まれている候補192の数は、空間的に、他の参照画像におけるいくつかの併置された位置およびその周囲にあるインター予測子ブロックの可用性に依存することを想起されたい。しかしながら、
図21が、例示的に、2つの候補192を、履歴リスト502の履歴ベースの候補を選択する500時点でリスト190にすでに存在するものとして示していることは、
図21の概念が、少なくとも2つの候補プリミティブが読込み順序において履歴ベースの候補プリミティブに先行する事例に制限されることも、2つ未満の候補192が、リスト190のための履歴ベースの候補を選択する500時点でリスト190にすでに存在する事例が発生し得ることも意味するものではない。
【0133】
図21は、履歴ベースの動き情報予測子候補プリミティブを導出する、すなわち、埋められるべき候補リスト190内の次の空きエントリ506を使用する履歴ベースの動き情報予測子候補を選択する500時点の状況を示している。特に、
図21は、それによってリスト190にこれまで読み込まれた候補192によって定義される動き情報、AおよびBと、動きベクトルの形態の、
図21に丸で囲まれた1から丸で囲まれた5として指示されている、履歴リスト502のエントリ504内の動き情報とを示している。
図21の概念の理解を容易にするために、すべての動きベクトルA、Bおよび1~5が、例示的に、同じ参照画像12bを参照するものとして指示されているが、これは必ずしもそうとは限らず、各候補192およびエントリ504の動き情報は、実際には、それぞれの動き情報が参照する参照画像にインデックスを付ける参照画像インデックスを含み得、このインデックスは、それぞれ、候補190間およびエントリ504間で異なり得ることが、当業者には明らかなはずである。
【0134】
単に履歴リスト502内の最も新しく入力された動き情報を選択する代わりに、符号器および復号器は、選択500を行う時点でリスト190にすでに存在する動き情報予測子候補192を使用する。
図21の場合、これらは、動き情報予測子候補AおよびBである。特に、選択500を行うために、符号器および復号器は、それを使用して選択500の前にリスト190にすでに読み込まれている動き情報予測子候補192に関して、履歴リスト502におけるエントリ504ごとの相違を判定する。この相違は、例えば、一方の履歴リスト502内のそれぞれの動き情報504と、他方のリスト190内の(1つまたは複数の)動き情報予測子候補192との間の動きベクトルの差に依存し得る。リスト190に複数の候補192が存在する場合、一方のリスト502内のそれぞれの動き情報504と他方のリスト190内の候補192との距離の最小値が、例えば、相違を決定するために使用され得る。差は、両方向矢印を使用してリスト502内の動き情報1に関して
図21に例示的に示されている。しかしながら、相違は、参照画像インデックスの差にも依存し得る。選択500を行う際に相違をどのように使用するかについての異なる可能性が存在する。一般的に言えば、その目的は、リスト502の中から選択された動き情報504が、それを使用してリスト190にこれまで読み込まれた動き情報予測子候補192と十分に区別されるような方法で選択500を行うことである。したがって、依存性は、履歴リスト502内の特定の動き情報504について選択される可能性が高いほど、リスト190にすでに存在する動き情報予測子候補192に対するその相違性が高くなるような方法で設計される。例えば、選択500を、選択が、相違と、それぞれの動き情報504が履歴リスト502に入力されているそれぞれの動き情報504のランクとに依存するような方法で行うことができる。例えば、
図21の矢印508は、動き情報504がリスト502に入力された順序、すなわち、リスト502の上位のエントリはリスト502の下位のエントリよりも新しく入力されたものであることを指示するものとする。特定の実施形態によれば、例えば、符号器および復号器は、履歴リスト502から、その動き情報が、それを使用してリスト190にこれまで読み込まれた(1つまたは複数の)動き情報予測子候補192と異なる、その動き情報が所定の閾値未満である動き情報エントリ504を除外する。このために、符号器および復号器は、例えば、動きベクトルの差および/または参照画像インデックスの差に依存する前述の距離尺度の例を使用し、ある所定の閾値パラメータに対する結果として得られる相違を閾値処理し得る。この手順の結果は、そこから選択500が次いで、最も新しく入力された動き情報エントリを使用して位置506でリスト190に入力されるべき動き情報予測子候補を形成することによって行われ得る動き情報エントリのサブセットのみが残るような、リスト502からの特定の動き情報エントリ504の除外である。ランク順序で、履歴リスト502を使用して読み込まれなければならない別の候補位置を有するリスト190の場合にはこの手順が繰り返され得る。その場合、前述の閾値パラメータが、リスト502内の動き情報エントリのあまり厳しくない除外をもたらすように下げられることがあってもよい。すなわち、より類似した動き情報が、リスト502の中からの動き情報エントリのサブセットをもたらすことが認められ、その中から次いで、リスト190の次の動き情報予測子候補が、履歴リスト502に最も新しく入力された動き情報予測子候補として選択される。当然ながら、それを使用してこれまで候補リスト190に読み込まれた(1つまたは複数の)動き情報予測子候補192に関して、リスト502内の動き情報エントリ504の相違に依存する方法で選択500を行う他の可能性も存在する。
【0135】
実際、
図21の概念は、それら相互の相違が大きいために、符号器が、優れた歪み最適化に関して、このリスト190の中ら最適な候補を見つける可能性を高める動き情報予測子候補192を収集する入力予測されるブロック104の動き情報予測子候補リスト190につながる。その場合、符号器は、次いで、特定の予測残差194と共にそれぞれのポインタ193によって、データストリーム14においてブロック104のリスト190の中から選択された候補をシグナリングし得る。
【0136】
当然ながら、前述の可能性は、履歴リスト502の中から選択された履歴ベースの動き情報予測子候補に制限されない。むしろ、このプロセスは、可能な動き情報予測子候補の別のリザーバの中から選択を行うためにも使用され得る。例えば、動き情報予測子候補のサブセットが、
図21に関して説明された方法でより大きい動き情報予測子候補セットの中から選択されてもよい。
【0137】
言い換えると、最先端技術は、既存のリスト候補のいずれも、水平成分および垂直成分および参照インデックスにおいて潜在的に追加されるべきHMVP候補と一致しないという基準のみで利用可能なHMVP候補を追加する手順である。マージ候補リストやサブブロック動きベクトルなどの動きベクトル候補リストに追加されるHMVP候補の質を高めるために、各HMVP候補のリスト挿入は、適応的閾値に基づくものである。例えば、動きベクトル候補リストが空間的な近傍Aですでに埋められており、さらなる候補BおよびColが、次の空いているリストエントリに、最初の適格なHMVP候補を追加する前に利用できないとすると、適格なHMVP候補と既存のエントリ(与えられた例ではA)との間の差が測定される。閾値が満たされる場合にのみ、それぞれのHMVP候補が追加され、そうでない場合、次の適格なHMVPがテストされ、以下同様である。上記の差分尺度は、MVの水平成分および垂直成分と、参照インデックスとを組み込み得る。一実施形態では、閾値は各HMVP候補に適合され、例えば、閾値が下げられる。
【0138】
最後に、
図22は、コーデックが動き補償双方向予測を改善するための双方向オプティカルフローツールを使用する事例に関する。
図22に、双方向予測的符号化ブロック104を示す。一方が参照画像12b
1に関連し、他方が参照画像12b
2に関連する、2つの動きベクトル154
1および154
2が、ブロック104のデータストリームでシグナリングされる。それぞれの動きベクトル154
1および154
2に従って変位された場合の、参照画像12b1および12b2内のブロック104のフットプリントが、それぞれ、
図22において160
1および160
2に指示されている。BIOツールは、それぞれの参照画像12b
1および12b
2における対応するパッチ130
1および130
2から導出される2つの仮説を組み合わせるために、ブロック104のエリアを局所的に横切る輝度勾配方向を決定する。これらの輝度勾配方向を使用して、BIOツールは、ブロック104が、それぞれ、2つの参照画像12b
1および12b
2から予測される方法を、ブロック104全体にわたって変化する方法で変更する。BIOツールの結果として、それぞれの動きベクトル154
1または154
2がサブ画素動きベクトルである、および/または補間フィルタが必要である、場合のみならず、フル画素ベクトルである場合においても、パッチ130
1および130
2がブロック104のサイズに対して拡大されることになる。どちらの場合にも、nをn>0の整数とする、nサンプル幅の拡張だけの追加の拡大により、パッチを拡大する。これが、BIOツールの動作の結果である。すなわち、局所的輝度勾配を決定できるように、BIOツールは、パッチ130
1および130
2の各々から、
図22において参照符号432で指示されている、上記のnサンプル幅の拡張エッジ部分によってブロック104のサイズに対して拡大されるそれぞれの仮説ブロック402
1および402
2を導出する。拡大された仮説ブロック402
1および402
2を生成するために、パッチ130
1および130
2の拡張エッジ部分172
1および172
2は、少なくとも、ブロック104の幅と比較して対応するnサンプル幅の拡大434に対応し、対応する動きベクトル154
1および154
2がサブ画素動きベクトルである場合に、補間フィルタのカーネル範囲に対応する幅だけの拡大436にさらに対応する。よって、nは、双方向オプティカルフローツールと関連付けられるサンプル幅または拡張に準ずる。
図22では、動きベクトル154
2は、BIOツールがパッチ130
2から仮説ブロック402
2を補間435
2によって導出するようにサブ画素ベクトルであったが、動きベクトル154
1がフル画素動きベクトルである場合には、BIOツールがサンプルコピー435
1のみによってブロック402
1を導出し得る、ことが例示的に想定されている。BIOツールは、その場合、ブロック104の最終的な双方向予測の予測子438を取得するために局所勾配に依存してブロックのエリア全体で変化する方法で線形結合436によってブロック104のエリア160
1および160
2内で、両方の仮説、すなわち、参照画像12b
1から得られた仮説予測子402
1と参照画像12b
2から得られた予測子402
2とを組み合わせるために、決定された勾配をブロック402
1および402
2でそれぞれ使用するために、仮説ボック402
1および402
2の局所的輝度勾配を決定する。特に、ブロック104の各サンプル442について、ブロック402
1および402
2内の対応するサンプル440
1および440
2が追加され、1/2ずつなどのそれぞれの仮説重みで重み付けされるかまたはその合計が任意選択で1になり得る他の重みで重み付けされ、次いで、それぞれのサンプル442を導出するために、ブロック402
1および402
2内の対応するサンプル440
1および440
2について決定された輝度勾配に依存する定数を追加する。これは、その両方がBIOツールを有する符号器および復号器によって行われる。
【0139】
拡大436に関する限り、すなわち、補間による拡大に関する限り、符号器が、動きベクトル154
1および154
2をデータストリームに符号化するために使用される動きベクトル予測子に関する上記の復号器のタイル独立性制約の強制の有無にかかわらず、パッチ130
1および130
2のいずれも境界102を横切らないこと、または、代替として、復号器がそれ自体で最終的な動きベクトル154
1および154
2に関するタイル独立性制約の強制を行うことに注意を払う、ということがあってもよい。しかしながら、双方向オプティカルフローツールと関連付けられるサンプル幅n以下の量だけ境界102を越えるパッチ130
1および130
2の拡張が、依然として可能であろう。しかしながら、符号器と復号器の両方が、追加のnサンプル幅の拡張434により、パッチ130
1および130
2のいずれかが、それでもなお境界102を横切ることになるか否かをチェックする。これが該当する場合に、映像符号器および映像復号器は、BIOツールを非アクティブ化する。そうでない場合に、BIOツールは非アクティブ化されない。したがって、BIOツールを制御するためのデータストリームにおけるシグナリングは不要である。
図22では、パッチ130
2が近傍のタイル100bの方に現在のタイル100aの境界102を横切ることが示されている。したがって、BIOツールは、ここでは、パッチ130
2が境界102を横切ることを復号器および符号器が認識するため、非アクティブ化される。補足として、
図11に関して上述したように、復号器は、タイル境界認識のBIOツール非アクティブ化が不要になるように、動きベクトル154をクリップする際にnサンプルの拡大434に対応することができることを想起されたい。
【0140】
例えば、BIOが非アクティブ化される場合には、各サンプル442、Sample(x,y)は、以下のように、仮説ブロック4021および4022の対応するサンプル4401および4402、predSamplesL0[x][y]およびpredSamplesL1[x][y]、の単純な加重和として導出される。
Sample(x,y)=round(0.5*predSamplesL0[x][y]+0.5*predSamplesL1[x][y])
現在の予測ブロックのすべての(x,y)について。
【0141】
BIOツールがアクティブ化されると、これは以下のように変化する。
Sample(x,y)=round(0.5*predSamplesL0[x][y]+0.5*predSamplesL1[x][y]+bioEnh(x,y))
現在の予測ブロック104のすべての(x,y)について
bioEnh(x,y)は、2つの参照4021および4022の各々の対応する各参照サンプル4401および4402の勾配で計算されたオフセットである。
【0142】
あるいは、復号器は、境界パディングを使用して、フットプリント402および402'の周囲432を埋め、それによって、境界102を超えて近傍のタイルに延びるパッチ430および430'になるように拡張される。
【0143】
言い換えると、MCTSなどの独立符号化される空間的セグメントを伴う使用シナリオでは、上記のBIO手順は、MCTS間の依存性を回避するように制限される必要がある。
【0144】
上記の実施形態の一部として、初期の精緻化されていない参照ブロックがそれぞれの画像において空間的セグメントの境界の位置に配置されている場合には、空間的セグメントの外側のサンプルを必要な勾配計算手順に含めるために、BIOが非アクティブ化される。
【0145】
あるいは、この場合、空間的セグメントの外側は、空間的セグメントの空間的セグメント境界でのサンプル値の反復またはミラーリングや、より高度なパディングモードなどの境界パディング手順によって拡張される。このパディングにより、勾配計算を、近傍の空間的セグメントのサンプルを使用せずに実行することが可能になる。
【0146】
以下の最後の説明は、上記の実施形態および概念に関して行われる。様々な実施形態および概念の説明を通して数回述べたように、それらの実施形態および概念は、特定の映像コーデックにおいて個別または同時に使用および実施され得る。さらに、多くの図において、そこに記載されている動き情報が動きベクトルを含むものとして示されていることは、可能性としてのみ解釈されるものとし、動き情報が動きベクトルを含むことを特に利用しなかった実施形態を制限しないものとする。例えば、
図8に関して説明された復号器の側でのタイル境界依存の動き情報導出は、動きベクトルベースの動き情報に制限されない。
図9に関して、そこで図示されている動き情報に対する復号器のタイル独立性制約の強制の適用は、動きベクトルベースの種類の動き情報にも、
図10に提示されている動き情報の予測符号化にも制限されないことに留意されたい。
図11にフィードバックすると、パッチをインター予測ブロックのフットプリントよりも大きくさせ得る例が提示されている。様々な図に関して説明された本出願の実施形態は、しかしながら、その状況に特に言及している実施形態を除いて、そのような拡大が、例えば、発生しないコーデックにも関連し得る。例えば、
図12aおよび
図12bの実施形態では、この状況に特に言及した。
図13に関して、タイル独立性制約の強制を動き情報予測または動き情報予測子に適用する概念が提示されている。しかしながら、
図13では、動き情報予測子候補リストの使用/確立に関するこの概念を例示したが、この概念は、インター予測ブロックのための動き情報予測子候補リストを確立しないコーデックにも適用され得ることに留意されたい。すなわち、単に、1つの動き情報予測/予測子が、タイル独立性制約の強制を使用する方法でブロック104のために導出されてもよい。しかしながら、以上において、
図13および
図14は、ただ1つの動き情報予測子を参照するように変更され得る実施形態を表している。さらに、前述の図、すなわち特に、
図11、
図12aおよび
図12bに関して説明された強制に関するすべての詳細は、
図13および
図14の実施形態をより詳細に指定および実施するために使用され得ることが上記ですでに説明されている。
図15に関して、それに従って、動き情報予測子候補の可用性がそれらがタイル独立性制約の矛盾を引き起こすか否かに依存して与えられる実施形態/概念が提示されている。この概念は、例えば、特定の動き情報予測子候補(プリミティブ)は、タイル独立性制約の強制を使用して決定され、一部は、それぞれの候補がタイル独立性制約の矛盾を引き起こすか否かに依存して可用性を導出されるという点において、
図13および
図14の実施形態と混合され得ることに留意されたい。さらに、
図15の実施形態は、例えば、
図9に関して前述されたような復号器側でのタイル独立性制約の強制の適用と組み合わされ得る。動き情報予測子候補リストに言及しているか、または動き情報予測子候補リストを利用するすべての実施形態において、それに従って、時間的動き情報予測子候補の決定が、現在のブロックが現在のタイルの特定の側に隣接しているか否かに依存する方法で行われ、読込み順序が、現在のブロックが、この時間的動き情報予測子候補に関して現在のタイルの特定の側に隣接しているか否かに依存して変更される、
図16の概念が使用され得る。
図17は、詳細を提供している。この場合もやはり、
図16および
図17のこの概念は、最終状態の動き情報および/または(1つもしくは複数の)予測子に対する復号器側のタイル独立性制約の強制の適用、ならびに
図12および
図14による可用性制御と組み合わされ得る。後者はまた、
図18に従って時間的動き情報予測子候補を導出する概念である。この概念は、
図16および
図17の概念と組合せ可能であると述べたすべての概念と組合せ可能であり、一方では
図16および
図17の概念と組合せ、他方では
図18の概念と組み合わせることさえも実現可能である。
図19は
図18の代替図を表しているので、
図18に関して行われた説明は
図19にも関連する。
図18および
図19は、特に、ブロックにただ1つの動き情報予測子が、すなわち候補リストの確立なしで、決定される場合にも使用され得る。
図20に関して、この概念の基礎を成すモード、すなわち、アフィン運動モデルモードは、例えば、本明細書に記載されている他のすべての実施形態に関して説明されたモード以外の映像コーデックの1つのモードを表し得るか、または映像コーデックの唯一のインター予測モードを表し得ることに留意されたい。言い換えると、ベクトル306aおよび306bで表された動き情報は、任意の他の実施形態に関して言及された候補リストに入力されたものであるか、またはブロック104の唯一の予測子を表してもよい。
図21に関して提示された候補リストに含まれる動き情報の可変性を増加させるための可変性増加概念は、上記のように、その他の実施形態のいずれかと組み合わされ得、特に、履歴ベースの動き情報予測子候補に限定されない。
図21に関して説明されたBIOツールの実施形態に関して、
図20のアフィン運動モデルの実施形態に関して同様の記述がなされている。本明細書に記載されているすべての実施形態に関して、
図21に関して示されているもののように、ブロック104に複数の動き情報予測子候補が導出される場合、それらが必ずしも同じ参照画像12bを参照するとは限らず、これは、
図22に概説されているB予測ブロックにのみ当てはまるわけではないことに留意されたい。さらに、上記の説明では、主に、近傍のタイル100aおよび100b間の境界、すなわち、画像を通る境界に注目した。しかしながら、上記の詳細は、画像境界と一致するタイル境界、すなわち、画像の外周と隣接しているタイルの境界にも移行され得ることに留意されたい。これらの境界にも、例えば、前述の復号器側のタイル独立性制約の強制が確立され得るか、または可用性制約が適用され得、以下同様である。またさらに、上記のすべての実施形態において、映像コーデックがデータストリームに、その種のタイル独立性制約が映像の符号化に使用されるか否かを指示するフラグを含むことがあってもよい。すなわち、映像コーデックは、復号器に、復号器が特定の制約を適用することになるか否か、および符号器がその符号器側の制約の監視を適用したか否かをシグナリングし得る。
【0147】
いくつかの態様が装置の文脈で説明されているが、これらの態様は、ブロックまたはデバイスが方法ステップまたは方法ステップの特徴に対応する、対応する方法の説明も表していることは明らかである。同様に、方法ステップの文脈で説明された態様も、対応するブロックもしくは項目または対応する装置の特徴を表している。方法ステップの一部または全部が、例えば、マイクロプロセッサ、プログラマブルコンピュータ、または電子回路のようなハードウェア装置によって(またはハードウェア装置を使用して)実行されてもよい。いくつかの実施形態では、最も重要な方法ステップのうちの1つまたは複数がそのような装置によって実行され得る。
【0148】
本発明の符号化映像信号またはデータストリームは、それぞれ、デジタル記憶媒体に格納することができ、またはインターネットなどの無線伝送媒体や有線伝送媒体といった伝送媒体で伝送することができる。
【0149】
特定の実施要件に応じて、本発明の実施形態を、ハードウェアまたはソフトウェアで実施することができる。実施態様は、それぞれの方法が行われるようにプログラマブル・コンピュータ・システムと協働する(または協働することができる)、電子的に読み取り可能な制御信号が格納されたデジタル記憶媒体、例えば、フロッピーディスク、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを使用して実行することができる。したがって、デジタル記憶媒体はコンピュータ可読であってもよい。
【0150】
本発明によるいくつかの実施形態は、本明細書に記載される方法のうちの1つが行われるように、プログラマブル・コンピュータ・システムと協働することができる、電子的に読み取り可能な制御信号を有するデータキャリアを含む。
【0151】
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実施することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で動作すると、方法のうちの1つを行うように動作する。プログラムコードは、例えば、機械可読キャリア上に格納され得る。
【0152】
他の実施形態は、機械可読キャリアに格納された、本明細書に記載される方法のうちの1つを行うためのコンピュータプログラムを含む。
【0153】
言い換えると、本発明の方法の一実施形態は、したがって、コンピュータプログラムがコンピュータ上で動作するときに本明細書に記載される方法のうちの1つを行うためのプログラムコードを有するコンピュータプログラムである。
【0154】
本発明の方法の別の実施形態は、したがって、本明細書に記載される方法のうちの1つを行うためのコンピュータプログラムが記録されているデータキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、または記録された媒体は通常、有形および/または非一時的である。
【0155】
本発明の方法の別の実施形態は、したがって、本明細書に記載される方法のうちの1つを行うためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して転送されるように構成され得る。
【0156】
別の実施形態は、本明細書に記載される方法のうちの1つを行うように構成または適合された処理手段、例えば、コンピュータ、またはプログラマブル・ロジック・デバイスを含む。
【0157】
別の実施形態は、本明細書に記載される方法のうちの1つを行うためのコンピュータプログラムがインストールされたコンピュータを含む。
【0158】
本発明による別の実施形態は、本明細書に記載される方法のうちの1つを行うためのコンピュータプログラムを受信機に(例えば、電子的または光学的に)転送するように構成された装置またはシステムを含む。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどであってもよい。装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを含み得る。
【0159】
いくつかの実施形態では、プログラマブル・ロジック・デバイス(例えば、フィールド・プログラマブル・ゲート・アレイ)を使用して、本明細書に記載される方法の機能の一部または全部が行われ得る。いくつかの実施形態では、フィールド・プログラマブル・ゲート・アレイが、本明細書に記載される方法のうちの1つを行うためにマイクロプロセッサと協働し得る。一般に、これらの方法は、好ましくは、任意のハードウェア装置によって行われる。
【0160】
本明細書に記載される装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータの組合せを使用して実施され得る。
【0161】
本明細書に記載される装置、または本明細書に記載される装置の任意の構成要素は、少なくとも部分的に、ハードウェアとして、および/またはソフトウェアとして実施され得る。
【0162】
本明細書に記載される方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータの組合せを使用して行われ得る。
【0163】
本明細書に記載される方法、または本明細書に記載される装置の任意の構成要素は、少なくとも部分的に、ハードウェアによって、および/またはソフトウェアによって実施され得る。
【0164】
上述した実施形態は、本発明の原理の単なる例示である。当業者には本明細書に記載される構成および詳細の改変および変形が明らかになることを理解されたい。したがって、本明細書において実施形態の記述および説明として提示された具体的な詳細によってではなく、差し迫る特許請求の範囲によってのみ限定されることが意図されている。
【手続補正書】
【提出日】2023-08-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサとメモリを備える映像復号器であって、
前記メモリは、前記少なくとも1つのプロセッサにより実行されるとき、前記映像復号器に、
現在の画像の現在の予測ブロックについて、前記現在の画像のすでに復号されたブロックおよび前記現在の予測ブロックの位置から、動き情報を使用して参照画像内の併置されたブロックの位置を決定することであって、前記参照画像は前記現在の画像に時間的に先行し、前記動き情報は、動きベクトルMVTempの和を含み、前記位置を決定することは前記動き情報をクリッピングすることを含み、その結果、前記参照画像内の前記併置されたブロックが独立して符号化された空間領域に属するように制約される、前記位置を決定することと、
前記併置されたブロックからの動きベクトルを使用して、前記現在の予測ブロックについて、予測された動きベクトルを決定することと、
を行わせる、命令を含む、映像復号器。
【請求項2】
前記動き情報は、前記現在の予測ブロックの対応するCTU境界内に含まれるようにクリップされる、請求項1に記載された映像復号器。
【請求項3】
前記メモリは、さらに、前記少なくとも1つのプロセッサにより実行されるとき、前記映像復号器に、含まれる画像の時間的な差異にしたがい、前記併置されたブロックからの前記動きベクトルをスケーリングさせる、命令を含む、請求項1に記載の映像復号器。
【請求項4】
前記メモリは、さらに、前記少なくとも1つのプロセッサにより実行されるとき、前記映像復号器に、前記参照画像について、データストリームから参照画像インデックスを復号させる、命令を含む、請求項1に記載の映像復号器。
【請求項5】
前記メモリは、さらに、前記少なくとも1つのプロセッサにより実行されるとき、前記映像復号器に、データストリームから動きベクトル予測残差を復号させる、命令を含む、請求項1に記載の映像復号器。
【請求項6】
前記メモリは、さらに、前記少なくとも1つのプロセッサにより実行されるとき、前記映像復号器に、データストリームからのインデックスに基づいて、前記予測された動きベクトルを動きベクトル候補リストから選択された候補として選択する、命令を含む、請求項1に記載の映像復号器。
【請求項7】
前記メモリは、さらに、前記少なくとも1つのプロセッサにより実行されるとき、前記映像復号器に、前記現在の予測ブロックについて、前記データストリームからの動きベクトル予測残差を、動きベクトルを生成する前記選択された候補に追加させる、命令を含む、請求項6に記載の映像復号器。
【請求項8】
現在の画像の現在の予測ブロックについて、前記現在の画像のすでに復号されたブロックおよび前記現在の予測ブロックの位置から、動き情報を使用して参照画像内の併置されたブロックの位置を決定することであって、前記参照画像は前記現在の画像に時間的に先行し、前記動き情報は、動きベクトルMVTempの和を含み、前記位置を決定することは前記動き情報をクリッピングすることを含み、その結果、前記参照画像内の前記併置されたブロックが独立して符号化された空間領域に属するように制約される、前記位置を決定することと、
前記併置されたブロックからの動きベクトルを使用することにより、前記現在の予測ブロックについて、予測された動きベクトルを決定することと、を含む、映像復号の方法。
【請求項9】
前記動き情報は、前記現在の予測ブロックの対応するCTU境界内に含まれるようにクリップされる、請求項8に記載された方法。
【請求項10】
含まれる画像の時間的な差異にしたがい、前記併置されたブロックからの前記動きベクトルをスケーリングすること、をさらに含む、請求項8に記載の方法。
【請求項11】
前記参照画像について、データストリームから参照画像インデックスを復号すること、をさらに含む、請求項8に記載の方法。
【請求項12】
データストリームから動きベクトル予測残差を復号すること、をさらに含む、請求項8に記載の方法。
【請求項13】
データストリームからのインデックスに基づいて、前記予測された動きベクトルを動きベクトル候補リストから選択された候補として選択すること、をさらに含む、請求項8に記載の方法。
【請求項14】
前記現在の予測ブロックについて、前記データストリームからの動きベクトル予測残差を、動きベクトルを生成する前記選択された候補に追加すること、をさらに含む、請求項13に記載の方法。
【請求項15】
コンピュータプログラム命令を格納した非一時的デジタル記憶媒体であって、コンピュータプログラムがコンピュータにより実行されるとき、前記コンピュータプログラム命令は、
現在の画像の現在の予測ブロックについて、前記現在の画像のすでに復号されたブロックおよび前記現在の予測ブロックの位置から、動き情報を使用して参照画像内の併置されたブロックの位置を決定することであって、前記参照画像は前記現在の画像に時間的に先行し、前記動き情報は、動きベクトルMVTempの和を含み、前記位置を決定することは前記動き情報をクリッピングすることを含み、その結果、前記参照画像内の前記併置されたブロックが独立して符号化された空間領域に属するように制約される、前記位置を決定することと、
前記併置されたブロックからの動きベクトルを使用することにより、前記現在の予測ブロックについて、予測された動きベクトルを決定することと、を実行する、非一時的デジタル記憶媒体。
【請求項16】
前記動き情報は、前記現在の予測ブロックの対応するCTU境界内に含まれるようにクリップされる、請求項15に記載された非一時的デジタル記憶媒体。
【請求項17】
前記コンピュータプログラムは、含まれる画像の時間的な差異にしたがい、前記併置されたブロックからの前記動きベクトルをスケーリングする命令をさらに含む、請求項15に記載の非一時的デジタル記憶媒体。
【請求項18】
前記コンピュータプログラムは、データストリームから動きベクトル予測残差を復号する命令、をさらに含む、請求項15に記載の非一時的デジタル記憶媒体。
【請求項19】
前記コンピュータプログラムは、データストリームからのインデックスに基づいて、前記予測された動きベクトルを動きベクトル候補リストから選択された候補として選択する命令、をさらに含む、請求項15に記載の非一時的デジタル記憶媒体。
【請求項20】
前記コンピュータプログラムは、前記現在の予測ブロックについて、前記データストリームからの動きベクトル予測残差を、動きベクトルを生成する前記選択された候補に追加する命令、をさらに含む、請求項19に記載の非一時的デジタル記憶媒体。