(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-23
(45)【発行日】2023-03-31
(54)【発明の名称】ビデオ復号化の方法並びにその、装置及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/523 20140101AFI20230324BHJP
H04N 19/54 20140101ALI20230324BHJP
H04N 19/59 20140101ALI20230324BHJP
H04N 19/119 20140101ALI20230324BHJP
H04N 19/176 20140101ALI20230324BHJP
【FI】
H04N19/523
H04N19/54
H04N19/59
H04N19/119
H04N19/176
(21)【出願番号】P 2021540493
(86)(22)【出願日】2020-03-06
(86)【国際出願番号】 US2020021381
(87)【国際公開番号】W WO2020185555
(87)【国際公開日】2020-09-17
【審査請求日】2021-08-16
(32)【優先日】2019-03-08
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-03-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リ,グォイチュン
(72)【発明者】
【氏名】シュイ,シアオジョォン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】久保 光宏
(56)【参考文献】
【文献】特表2020-526964(JP,A)
【文献】Kai Zhang, et al.,"Non-CE2: Interweaved Prediction for Affine Motion Compensation",Document: JVET-M0268-v3, [online],JVET-M0268 (version 3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2019年01月15日,Pages 1-4,[令和4年7月21日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=5075> and <URL: https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M0268-v3.zip>,(See document file "JVET-M0268-r2.docx" in the zip file "JVET-M0268-v3.zip".)
【文献】Jianle Chen, et al.,"Algorithm description for Versatile Video Coding and Test Model 3 (VTM 3)",Document: JVET-L1002-v1, [online],JVET-L1002 (version 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年12月24日,Pages 1,2,22-27,[令和4年7月22日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=4835> and <URL: https://jvet-experts.org/doc_end_user/documents/12_Macao/wg11/JVET-L1002-v2.zip>,(See document file "JVET-L1002-v2.docx" in the zip file "JVET-L1002-v2.zip".)
【文献】Kai Zhang, et al.,"CE4-related: Interweaved Prediction for Affine Motion Compensation",Document: JVET-K0102-v2, [online],JVET-K0102 (version 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年07月11日,Pages 1-4,[令和4年7月22日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=3605> and <URL: https://jvet-experts.org/doc_end_user/documents/11_Ljubljana/wg11/JVET-K0102-v2.zip>,(See document file "JVET-K0102-r1.docx" in the zip file "JVET-K0102-v2.zip".)
【文献】高村 誠之,「次世代映像符号化標準・次々世代映像符号化技術の動向」,電子情報通信学会誌,日本,社団法人電子情報通信学会,2011年09月01日,Vol.94, No.9,第807~812頁,ISSN: 0913-5693.
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
ビデオデコーダが実行するビデオ復号化の方法であって、
インターウィーブしたアフィンモードで符号化されたカレントブロックに対してアフィンモデルを決定するステップと、
前記アフィンモデルに基づいて、前記カレントブロックを第1のサブブロックに分割するための第1のパターンに対応する第1の予測ブロックと、前記カレントブロックを第2のサブブロックに分割するための第2のパターンに対応する第2の予測ブロックとを生成するステップであり、
前記第1及び第2の予測ブロックは、前記カレントブロックの入力ビット深度よりも大きい中間ビット深度を有する補間されたサンプルを含む、
ステップと、
前記第1及び第2の予測ブロックに基づいて第3の予測ブロックを生成するステップであり、
それぞれ前記中間ビット深度に対応する精度を有する、前記第1の予測ブロックにおける第1のサンプルおよび前記第2の予測ブロックにおける対応した第2のサンプルは、平均化されたサンプルを取得するように、加重平均演算を実行することによって結合され、前記平均化されたサンプルは前記入力ビット深度に丸められて、前記第3の予測ブロックにおける対応した第3のサンプルを取得する、ステップと、
を含む、方法。
【請求項2】
前記加重平均演算は、前記第1のサンプル及び前記対応した第2のサンプルの加重和に丸めオフセットを追加すること、を含む、
請求項1に記載の方法。
【請求項3】
前記第2のパターンは、前記第1のパターンに対してシフトされ、且つ、完全サブブロックおよび部分サブブロックを含み、
前記第1及び第2のサンプルが、前記第2の予測ブロックの前記部分サブブロックに対応する領域内に位置する場合、前記加重平均演算において、前記第2のサンプルにゼロの重みが与えられる、
請求項1に記載の方法。
【請求項4】
前記第1及び第2のサンプルが、前記第2の予測ブロックの前記完全サブブロックに対応する領域内に位置する場合、前記加重平均演算において、前記第1及び第2のサンプルに同等の重みが与えられる、
請求項3に記載の方法。
【請求項5】
前記第3のサンプルは、0から前記入力ビット深度に対応する可能な最大値までの範囲内にあるように制約される、
請求項1に記載の方法。
【請求項6】
前記カレントブロックに対してデブロック化を無効にする、
請求項1に記載の方法。
【請求項7】
前記第2のパターンは、前記第1のパターンに対してシフトされ、且つ、完全サブブロックと部分サブブロックとを含み、
デブロック化は、前記第2の予測ブロックの前記完全サブブロックに対応する領域内で無効化され、且つ、前記第2の予測ブロックの前記部分サブブロックに対応する領域に適用されるか、もしくは、適用されない、
請求項1に記載の方法。
【請求項8】
回路を含むビデオ復号化の装置であって、
前記回路は、
インターウィーブしたアフィンモードで符号化されたカレントブロックに対してアフィンモデルを決定し、
前記アフィンモデルに基づいて、前記カレントブロックを第1のサブブロックに分割するための第1のパターンに対応する第1の予測ブロック、および、前記カレントブロックを第2のサブブロックに分割するための第2のパターンに対応する第2の予測ブロックを生成し、前記第1及び第2の予測ブロックは、前記カレントブロックの入力ビット深度よりも大きい中間ビット深度を有する補間されたサンプルを含み、
前記第1及び第2の予測ブロックに基づいて、第3の予測ブロックを生成し、それぞれ前記中間ビット深度に対応する精度を有する、前記第1の予測ブロックにおける第1のサンプルおよび前記第2の予測ブロックにおける対応する第2のサンプルは、平均化されたサンプルを取得するように、加重平均演算を実行することによって結合され、前記平均化されたサンプルは、前記入力ビット深度に丸められて、前記第3の予測ブロックにおける対応した第3のサンプルを取得する、
ように構成されている、装置。
【請求項9】
前記加重平均演算は、前記第1のサンプル及び前記対応した第2のサンプルの加重和に丸めオフセットを追加することを含む、請求項8に記載の装置。
【請求項10】
前記第2のパターンは、前記第1のパターンに対してシフトされ、且つ、完全サブブロックおよび部分サブブロックを含み、
前記第1及び第2のサンプルが、前記第2の予測ブロックの前記部分サブブロックに対応する領域内に位置する場合、前記加重平均演算において前記第2のサンプルにゼロの重みが与えられる、
請求項8に記載の装置。
【請求項11】
前記第1及び第2のサンプルが、前記第2の予測ブロックの前記完全サブブロックに対応する領域内に位置する場合、前記加重平均演算において前記第1及び第2のサンプルに同等の重みが与えられる、
請求項10に記載の装置。
【請求項12】
前記第3のサンプルは、0から前記入力ビット深度に対応する可能な最大値までの範囲内にあるように制約される、
請求項8に記載の装置。
【請求項13】
前記カレントブロックに対してデブロック化を無効にする、
請求項8に記載の装置。
【請求項14】
前記第2のパターンは、前記第1のパターンに対してシフトされ、且つ、完全サブブロックおよび部分サブブロックを含み、
デブロック化は、前記第2の予測ブロックの前記完全サブブロックに対応する領域内で無効化され、且つ、前記第2の予測ブロックの前記部分サブブロックに対応する領域に適用されるか、もしくは、適用されない、
請求項8に記載の装置。
【請求項15】
複数のコンピュータ命令を含む
、ビデオ復号化の方法を実施するためのコンピュータプログラムであって、
前記命令が実行される
と、コンピュータに
、
インターウィーブしたアフィンモードで符号化されたカレントブロックに対してアフィンモデルを決定するステップと、
前記アフィンモデルに基づいて、前記カレントブロックを第1のサブブロックに分割するための第1のパターンに対応する第1の予測ブロックと、前記カレントブロックを第2のサブブロックに分割するための第2のパターンに対応する第2の予測ブロックとを生成するステップであり、
前記第1及び第2の予測ブロックは、前記カレントブロックの入力ビット深度よりも大きい中間ビット深度を有する補間されたサンプルを含む、
ステップと、
前記第1及び第2の予測ブロックに基づいて第3の予測ブロックを生成するステップであり、
それぞれ前記中間ビット深度に対応する精度を有する、前記第1の予測ブロックにおける第1のサンプルおよび前記第2の予測ブロックにおける対応した第2のサンプルは、平均化されたサンプルを取得するように、加重平均演算を実行することによって結合され、前記平均化されたサンプルは前記入力ビット深度に丸められて、前記第3の予測ブロックにおける対応した第3のサンプルを取得する、ステップと、
を実施させる、コンピュータプログラム。
【請求項16】
前記第2のパターンは、前記第1のパターンに対してシフトされ、且つ、
完全サブブロックおよび部分サブブロックを含み、
前記第1及び第2のサンプルが、前記第2の予測ブロックの前記部分サブブロックに対応する領域内に位置する場合、前記加重平均演算において前記第2のサンプルにゼロの重みが与えられる、
請求項15に記載のコンピュータプログラム。
【請求項17】
前記第1及び第2のサンプル
が、前記第2の予測ブロック
の前記完全サブブロックに対応する領域内に位置する場合、前記加重平均演算において前記第1及び第2のサンプルに同等の重みが与えられる、
請求項16に記載のコンピュータプログラム。
【請求項18】
前記第3のサンプルは、0から前記入力ビット深度に対応する可能な最大値までの範囲内にあるように制約される、
請求項15に記載のコンピュータプログラム。
【請求項19】
前記カレントブロックに対して
デブロック化を無効にする、
請求項15に記載のコンピュータプログラム。
【請求項20】
前記第2のパターンは、前記第1のパターンに対してシフトされ、且つ、全サブブロックおよび部分サブブロックを含み、
デブロック化は、前記第2の予測ブロックの前記
完全サブブロックに対応する領域内で無効化され、且つ、前記第2の予測ブロックの前記部分サブブロックに対応する領域に適用されるか、もしくは、適用されない、
請求項15に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的に、ビデオ符号化に関する。
【0002】
本出願は、2020年3月4日に出願された「Method and Apparatus for Video Coding(ビデオ符号化のための方法及び装置)」と題する米国出願第16/809,189号について優先権の利益を主張し、上述した出願は2019年3月8日に出願された「Improvement of Interweaved Affine Mode(インターウィーブしたアフィンモードの改善)」と題する米国仮出願第62/816,049号について優先権の利益を主張する。先願の開示内容の全体が参照によってここに組み込まれている。
【背景技術】
【0003】
ここに提供される背景技術の記載は、本開示の文脈を一般的に提示するためのものである。本発明者らの技術は、この背景技術の欄で説明される範囲において、本出願の出願時点で従来技術でないのであれば、従来技術と見なしてはならない説明の側面と同様に、明示的又は黙示的を問わず、本開示に対する従来技術として認められるものではない。
【0004】
ビデオの符号化と復号化は、動き補償付きの画像間予測を使用して行うことができる。非圧縮デジタルビデオは一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080の輝度サンプル及び関連したクロミナンスサンプルの空間寸法を有する。上述した一連のピクチャは、例えば、毎秒60枚又は60Hzの固定又は可変のピクチャレート(非公式にはフレームレートとしても知られている)を持つことができる。非圧縮ビデオには、重要なビットレート要件がある。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60Hzフレームレートで1920×1080の輝度サンプル解像度)には、1.5Gbit/sに近い帯域幅が必要である。1時間にわたるこのようなビデオは、600GByteを超えるストレージスペースを要する。
【0005】
ビデオの符号化と復号化の目的の1つは、圧縮によって入力ビデオ信号の冗長性を減らすことである。圧縮は、前述の帯域幅又はストレージスペースの要件を、場合によっては2桁以上削減するのに役立つ。可逆圧縮と非可逆圧縮の両方、及び、それらの組み合わせを採用できる。可逆圧縮とは、圧縮された元の信号から元の信号の正確なコピーを再構築できる技術を指す。非可逆圧縮を使用する場合、再構築された信号は、元の信号と同一ではない場合があるが、元の信号と再構築された信号の間の歪みは、再構築された信号が目的のアプリケーションに役立つほど十分に小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は、アプリケーションによって異なる。例えば、特定の消費者向けストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容できる。達成可能な圧縮比は、許容歪みが大きいほど、圧縮比が高くなることを反映できる。
【0006】
動き補償は、非可逆圧縮技術であってよく、且つ、動きベクトル(以降、MVとする)によって示される方向に空間的にシフトされた後で、前に再構築されたピクチャ又はその一部(参照ピクチャ)からのサンプルデータのブロックは、新しく再構築されたピクチャ又はピクチャ部分の予測に使用される技術に関連してよい。場合によっては、参照ピクチャは現在再構築中のピクチャと同じであってよい。MVは、2次元のXとY、又は3次元を有してよく、3番目は、使用中の参照ピクチャを示す(後者は間接的に時間次元であってよい)。
【0007】
いくつかのビデオ圧縮技術では、サンプルデータの特定の領域に適用可能なMVを他のMVから予測できる。例えば、再構築中の領域に空間的に隣接したサンプルデータの別の領域に関連し、且つ、復号化順序において上述したMVに先行する他のMVから、予測できる。そうすることで、MVの符号化に必要なデータの量を大幅に削減し、冗長性を解消して、圧縮を向上させることができる。MV予測は、効果的に機能できる原因として、例えば、カメラから得られた入力ビデオ信号(ナチュラルビデオとして知られている)を符号化する場合、単一のMVが適用可能な領域よりも大きい領域が類似の方向に移動するという統計的可能性があるので、場合によっては、隣接領域のMVから得られた類似の動きベクトルを使用して予測することができる。その結果、特定の領域のために見つけられたMVは、周囲のMVから予測されたMVと類似又は同一であり、エントロピー符号化後、直接MVを符号化した場合に使用するビット数よりも少ないビット数で表すことができる。いくつかの場合において、MV予測は、元の信号(即ち、サンプルストリーム)から得られた信号(即ち、MV)の可逆圧縮の例となる。ほかの場合では、例えば、いくつかの周囲のMVから予測器を計算した時の丸め誤差のために、MV予測自体には損失があり得る。
【0008】
H.265/HEVC(ITU-T Rec.H.265、「高効率ビデオ符号化」、2016年12月)には様々なMV予測メカニズムが記載されている。H.265が提供する多くのMV予測メカニズムのうち、以降「空間マージ」と呼ばれる技術がここで説明される。
【0009】
図1を参照すると、カレントブロック(101)は、動き検索の過程でエンコーダによって、空間的にシフトされた同じサイズの前のブロックから予測可能であると見出されたサンプルを含む。直接上述したMVを符号化する代わりに、A0、A1及びB0、B1、B2(それぞれ102~106)で示される5つの周囲のサンプルのいずれかに関連付けられたMVを使用して、1つ以上の参照ピクチャに関連付けられたメタデータから、例えば、(復号化順序において)最新の参照ピクチャからMVを得ることができる。H.265において、MV予測は、隣接ブロックが使用しているのと同じ参照ピクチャからの予測器を使用してよい。
【発明の概要】
【0010】
本開示の態様は、ビデオ符号化/復号化のための方法及び装置を提供する。いくつかの例では、ビデオ復号化のための装置は、インターウィーブしたアフィンモードで符号化されたカレントブロックに対してアフィンモデルを決定するように構成された処理回路を含む。上記アフィンモデルに基づいて、上記カレントブロックを第1のサブブロックに分割するための第1のパターンに対応する第1の予測ブロックと、上記カレントブロックを第2のサブブロックに分割するための第2のパターンに対応する第2の予測ブロックとを生成することができる。上記第1及び第2の予測ブロックは、上記カレントブロックの入力ビット深度よりも大きい中間ビット深度を有する補間されたサンプルを含む。上記第1及び第2の予測ブロックに基づいて第3の予測ブロックを生成することができる。それぞれ上記中間ビット深度に対応した精度を有する、上記第1の予測ブロックにおける第1のサンプル及び上記第2の予測ブロックにおける対応した第2のサンプルは、平均化されたサンプルを取得するように、加重平均演算を実行することによって結合される。上記平均化されたサンプルは、上記入力ビット深度に丸められて、上記第3の予測ブロックにおける対応した第3のサンプルを取得する。
【0011】
一実施形態において、上記加重平均演算は、上記第1のサンプル及び上記対応した第2のサンプルの加重和に、丸めオフセットを追加することを含む。一実施形態において、上記第2のパターンは、上記第1のパターンに対してシフトされ、且つ、完全サブブロックと部分サブブロックとを含み、上記第1及び第2のサンプルが上記第2のブロックの上記完全サブブロックに対応する領域内に位置する場合、上記加重平均演算において、上記第2のサンプルにゼロの重みが与えられる。一実施形態において、上記第1及び第2のサンプルが、第1のサイズを有する上記第2のブロックに対応する領域内に位置する場合、上記加重平均演算において、上記第1及び第2のサンプルに同等の重みが与えられる。
【0012】
一例において、上記第3のサンプルは、0から上記入力ビット深度に対応する可能な最大値までの範囲内にあるように制約される。一例において、上記カレントブロックに対してデブロック化を無効にする。一例において、上記第2のパターンは上記第1のパターンに対してシフトされ、且つ、完全サブブロックと部分サブブロックとを含み、デブロック化は、上記第2のブロックの上記完全サブブロックに対応する領域内で無効化され、且つ、上記第2のブロックの上記部分サブブロックに対応する領域に適用されるか、もしくは、適用されない。
【0013】
本開示の態様は、また、ビデオ復号化のためにコンピュータで実行された場合、上記コンピュータにビデオ復号化の方法を実行させる命令を記憶する非一時的なコンピュータ可読媒体を提供する。
【図面の簡単な説明】
【0014】
開示された主題のさらなる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付図面からより明らかになるであろう。
【
図1】
図1は、一例におけるカレントブロック及びその周囲の空間マージ候補の模式図である。
【
図2】
図2は、一実施形態による通信システム(200)の簡略化された模式ブロック図である。
【
図3】
図3は、一実施形態による通信システム(300)の簡略化された模式ブロック図である。
【
図4】
図4は、一実施形態によるデコーダの簡略化された模式ブロック図である。
【
図5】
図5は、一実施形態によるエンコーダの簡略化された模式ブロック図である。
【
図6】
図6は、別の実施形態によるエンコーダのブロック図を示す。
【
図7】
図7は、別の実施形態によるデコーダのブロック図を示す。
【
図8】
図8は、一実施形態による、空間マージ候補のセットを選択して拡張マージ候補リストを構築することができる候補位置を示す。
【
図9】
図9は、一実施形態による冗長検査プロセスのための拡張マージリスト上の候補ペアを示す。
【
図10】
図10は、一実施形態による、カレントピクチャにおいて拡張マージリスト上の時間マージ候補を導出する一例を示す。
【
図11】
図11は、一実施形態による、拡張マージリスト上の時間マージ候補を選択することができる候補位置を示す。
【
図12】
図12は、一実施形態による、動きベクトル差を有するマージ(MMVD)モードで予測を選択することができる予測位置を示す。
【
図13A】
図13Aは、2パラメータアフィンモデルを表すための2つの制御点動きベクトル(CPMV)を示す。
【
図13B】
図13は、3パラメータアフィンモデルを表すための3つのCPMVを示す。
【
図14】
図14は、アフィン予測モードで符号化されたカレントブロックから分割されたサブブロックに対して導出された動きベクトルを示す。
【
図15】
図15は、継承されたアフィンマージ候補を導出するためのカレントブロックの隣接ブロックを示す。
【
図16】
図16は、構築されたアフィンマージ候補を導出するための候補ブロック位置を示す。
【
図17A】
図17Aは、一実施形態による、空間隣接ブロックの動き情報に基づいてサブブロックベースの時間的動きベクトル予測(SbTMVP)法でカレントブロックの予測動き情報を決定するために使用できる空間隣接ブロックの模式図である。
【
図17B】
図17Bは、一実施形態による、SbTMVP法のために選択された空間隣接ブロックの模式図である。
【
図18】
図18は、一実施形態による、符号化ユニットを2つの三角予測ユニットに分割する例を示す。
【
図19】
図19は、一実施形態による、三角予測モードのユニ予測候補リストを構築するために使用される空間及び時間隣接ブロックを示す。
【
図20】
図20は、一実施形態による、三角パーティションインデックスに基づいて分割方向及び分割操作情報を導出するために使用されるルックアップテーブルを示す。
【
図21】
図21は、一実施形態による、適応ブレンディングプロセスにおける符号化ユニットに適用される重み付き係数を示す。
【
図22】
図22は、一実施形態による
インターウィーブしたアフィン予測プロセスを示す。
【
図23】
図23は、一実施形態による
インターウィーブしたアフィン予測プロセスにおける加重平均演算の重みのパターンを示す。
【
図24】
図24は、一実施形態による高精度の
インターウィーブしたアフィン予測プロセスを示す。
【
図25】
図25は、
インターウィーブしたアフィン予測プロセスにおけるカレントブロックを分割するためのパターンを示す。
【
図26】
図26は、一実施形態による高精度の
インターウィーブしたアフィン予測プロセスのフローチャートを示す。
【
図27】
図27は、一実施形態によるコンピュータシステムの模式図である。
【発明を実施するための形態】
【0015】
ビデオ符号化エンコーダ及びデコーダ
図2は、本開示の一実施形態による通信システム(200)の簡略化されたブロック図を示す。通信システム(200)は、例えば、ネットワーク(250)を介して互いに通信することができる複数の端末装置を含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1の対の端末装置(210)、(220)を含む。
図2の例では、第1の対の端末装置(210)、(220)は、データの単方向送信を実行する。例えば、端末装置(210)は、ネットワーク(250)を介して他の端末装置(220)に送信するために、ビデオデータ(例えば、端末装置(210)によって取り込まれたビデオピクチャのストリーム)を符号化してよい。符号化されたビデオデータは、一つ以上の符号化されたビデオビットストリームの形で送信してよい。端末装置(220)は、ネットワーク(250)から符号化されたビデオデータを受信し、符号化されたビデオデータを復号化してビデオピクチャを復元し、復元されたビデオデータに基づいてビデオピクチャを表示してよい。単方向データ送信は、メディアサービングアプリケーションなどにおいて一般的であってよい。
【0016】
別の例において、通信システム(200)は、例えば、ビデオ会議中に発生し得る符号化されたビデオデータの双方向送信を行う第二の対の端末装置(230)、(240)を含む。データの双方向送信の場合、一例において、端末装置(230)、(240)の各端末装置は、ネットワーク(250)を介して端末装置(230)、(240)のうちの他方の端末装置に送信するためにビデオデータ(例えば、端末装置によって取り込まれたビデオピクチャのストリーム)を符号化してよい。端末装置(230)、(240)の各端末装置は、端末装置(230)、(240)のうちの他方の端末装置によって送信された符号化ビデオデータを受信し、符号化ビデオデータを復号化してビデオピクチャを復元し、復元されたビデオデータに基づいてアクセス可能な表示装置においてビデオピクチャを表示してよい。
【0017】
図2の例において、端末装置(210)、(220)、(230)及び(240)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示されているが、本開示の原理は、そのように限定されるものではない場合がある。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤー、及び/又は、専用のビデオ会議機器に適用される。ネットワーク(250)は、例えば有線(wired)及び/又は無線の通信ネットワークを含む、端末装置(210)、(220)、(230)、及び(240)の間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回線交換及び/又はパケット交換チャネルにおいてデータを交換してよい。代表的なネットワークには、通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は、インターネットが含まれている。本議論の目的のために、ネットワーク(250)のアーキテクチャ及びトポロジーは、本明細書で以下に説明されない限り、本開示の操作にとって重要ではないものであってよい。
【0018】
図3は、開示された主題のアプリケーションの例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリースティックのようなデジタルメディアへの圧縮ビデオの記憶などを含む、他のビデオ対応アプリケーションに等しく適用できる。
【0019】
ストリーミングシステムは、キャプチャサブシステム(313)を含んでよく、上述のキャプチャサブシステムは、例えば、圧縮されていないビデオピクチャのストリーム(302)を作成するビデオソース(301)(例えば、デジタルカメラ)を含んでよい。一例では、ビデオピクチャのストリーム(302)には、デジタルカメラによって撮影されたサンプルが含まれている。符号化されたビデオデータ(304)に比べてデータ量が多いことを強調するために太線で示されているビデオピクチャのストリーム(302)(又は、符号化されたビデオビットストリーム)は、ビデオソース(301)に結合されたビデオエンコーダ(303)を含む電子装置(320)で処理できる。ビデオエンコーダ(303)は、以下でより詳細に記載されるように、開示された主題の態様を有効にするか、あるいは、実行するためのハードウェア、ソフトウェア、又は、それらの組み合わせを含んでよい。ビデオピクチャのストリーム(302)に比べてデータ量が少ないことを強調するために細い線で示されている符号化されたビデオデータ(304)(又は、符号化されたビデオビットストリーム(304))は、将来の使用のためにストリーミングサーバ(305)に記憶してよい。一つ以上のストリーミングクライアントサブシステム(例えば、
図3のクライアントサブシステム(306)及び(308))は、ストリーミングサーバ(305)にアクセスして、符号化されたビデオデータ(304)のコピー(307)及び(309)を検索することができる。クライアントサブシステム(306)は、例えば、電子装置(330)にビデオデコーダ(310)を含んでよい。ビデオデコーダ(310)は、入力された符号化ビデオデータのコピー(307)を復号化し、ディスプレイ(312)(例えば、表示画面)又は他のレンダリング装置(図示せず)上でレンダリング可能な出力されるビデオピクチャのストリーム(311)を生成する。いくつかのストリーミングシステムでは、符号化されたビデオデータ(304)、(307)、及び(309)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮標準に基づいて符号化できる。これらの標準の例には、ITU-T Recommendation H.265が含まれている。一例において、開発中のビデオ符号化標準は、非公式にVersatile Video Coding(VVC)として知られている。開示された主題は、VVCの文脈に使用されてよい。
【0020】
電子装置(320)及び(330)は、他のコンポーネント(図示せず)を含むことができることに留意されたい。例えば、電子装置(320)は、ビデオデコーダ(図示せず)を含むことができ、電子装置(330)は、ビデオエンコーダ(図示せず)も含むことができる。
【0021】
図4は、本開示の一実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は電子装置(430)に含まれることができる。電子装置(430)は、受信器(431)(例えば、受信回路)を含むことができる。ビデオデコーダ(410)を
図3の例におけるビデオデコーダ(310)の代わりに使用することができる。
【0022】
受信器(431)は、ビデオデコーダ(410)で復号化される一つ以上の符号化されたビデオシーケンスを受信してよい。同一又は別の実施形態において、一度に1つの符号化されたビデオシーケンスであり、各符号化されたビデオシーケンスの復号化は、他の符号化されたビデオシーケンスと独立している。符号化されたビデオシーケンスは、符号化されたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであるチャネル(401)から受信されてよい。受信器(431)は、各自の使用エンティティ(図示せず)に転送される他のデータ(例えば、符号化された音声データ及び/又は補助データストリーム)が付いた符号化されたビデオデータを受信してよい。受信器(431)は、符号化されたビデオシーケンスを他のデータから分離してよい。ネットワークジッターに対抗するために、バッファメモリ(415)は、受信器(431)とエントロピーデコーダ/パーサー(420)(以降「パーサー(420)とする」)との間に結合されてよい。特定のアプリケーションにおいて、バッファメモリ(415)は、ビデオデコーダ(410)の一部である。他の場合、バッファメモリは、ビデオデコーダ(410)の外部にあってよい(図示せず)。さらに他の場合では、ネットワークジッターに対抗したりするためにビデオデコーダ(410)の外部にバッファメモリ(図示せず)が設けられている上に、プレイアウトのタイミングを処理したりするためにビデオデコーダ(410)の内部に別のバッファメモリ(415)が設けられていてよい。受信器(431)が、十分な帯域幅及び可制御性を有する記憶/転送装置、又は、等時同期(isosynchronous)ネットワークからデータを受信した場合、バッファメモリ(415)は必要でないかもしれないか、又は、小さくすることができる。インターネットのようなベストエフォートパケットネットワークで使用する場合、バッファメモリ(415)は必要である可能性があり、比較的に大きく、適応サイズを有利に有し、少なくとも部分的にオペレーティングシステム又はビデオデコーダ(410)の外部の類似した要素(図示せず)に実行されてよい。
【0023】
ビデオデコーダ(410)は、パーサー(420)を含んで符号化されたビデオシーケンスからシンボル(421)を再構築してよい。
図4に示されるように、これらのシンボルのカテゴリには、ビデオデコーダ(410)の操作を管理するために使用される情報、及び、潜在的に、レンダリング装置(412)(例えば、表示画面)のようなレンダリング装置を制御するための情報が含まれており、上述のレンダリング装置は、電子装置(430)の不可欠な部分ではないが、電子装置(430)に結合され得る。レンダリング装置の制御情報は、補足強化情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形式であってよい。パーサー(420)は、受信された符号化されたビデオシーケンスに対して構文解析/エントロピー復号化をすることができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術や標準に従うことができ、可変長符号化、ハフマン符号化、文脈感度があるか又はない算術符号化、などを含む様々な原理に従うことができる。パーサー(420)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化されたビデオシーケンスから、ビデオデコーダ内の画素のサブグループの少なくとも1つのサブグループパラメータのセットを抽出してよい。サブグループは、ピクチャのグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)、などを含むことができる。パーサー(420)は、また、符号化されたビデオシーケンスから変換係数、量子化器パラメータ値、動きベクトル、などの情報を抽出することができる。
【0024】
パーサー(420)は、バッファメモリ(415)から受信したビデオシーケンスでエントロピー復号化/構文解析を行ってシンボル(421)を作成してよい。
【0025】
シンボル(421)の再構築には、符号化されたビデオピクチャ又はその一部のタイプ(例えば、画像間及びピクチャ内、ブロック間、及びブロック内)及び他の要因に応じて、複数の異なるユニットが含まれ得る。どのユニットが含まれ、且つ、どのように含まれるかは、パーサー(420)で符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御され得る。パーサー(420)と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、明確にするために示されていない。
【0026】
すでに述べた機能ブロックの他に、ビデオデコーダ(410)は、以下に説明するように、概念的に多くの機能ユニットに細分することができる。商業的制約の下で操作する実際の実行では、これらのユニットの多くは、互いに密接に相互作用し、且つ、少なくとも部分的に互いに統合することができる。しかし、開示された主題を説明するために、以下の機能ユニットへの概念的な細分化が適切である。
【0027】
最初のユニットは、スケーラー/逆変換ユニット(451)である。スケーラー/逆変換ユニット(451)は、パーサー(420)から、使用する変換、ブロックサイズ、量子化係数、量子化スケーリング行列、などを含む量子化変換係数及び制御情報をシンボル(421)として受信する。スケーラー/逆変換ユニット(451)は、アグリゲーター(455)に入力され得るサンプル値を含むブロックを出力できる。
【0028】
場合によって、スケーラー/逆変換(451)の出力サンプルは、イントラ符号化されたブロックに関連することができる。即ち、前に再構築されたピクチャからの予測情報を使用せず、カレントピクチャの前に再構築された部分からの予測情報を使用できるブロックである。このような予測情報は、イントラピクチャ予測ユニット(452)によって提供され得る。いくつかの場合では、イントラピクチャ予測ユニット(452)は、カレントピクチャバッファ(458)からフェッチされた周囲の再構築された情報を使用して、再構築中のブロックと同じ大きさと形状のブロックを生成する。カレントピクチャのバッファ(458)は、例えば、部分的に再構築されたカレントピクチャ及び/又は完全に再構築されたカレントピクチャをバッファリングする。アグリゲーター(455)は、場合によっては、サンプルごとに、スケーラー/逆変換ユニット(451)から提供された出力サンプル情報に、イントラ予測ユニット(452)が生成した予測情報を追加する。
【0029】
他の場合において、スケーラー/逆変換ユニット(451)の出力サンプルは、インター符号化された、潜在的に動き補償されたブロックに関連することができる。このような場合では、動き補償予測ユニット(453)は、参照ピクチャメモリ(457)にアクセスして予測用のサンプルをフェッチすることができる。ブロックに関連したシンボル(421)に基づいてフェッチされたサンプルを動き補償した後、これらのサンプルは、アグリゲーター(455)によってスケーラー/逆変換ユニット(451)の出力に追加されて(この場合、残差サンプル又は残差信号と称する)出力サンプル情報を生成することができる。動き補償予測ユニット(453)が予測サンプルをフェッチする、参照ピクチャメモリ(457)内のアドレスは、動きベクトルで制御でき、且つ、例えばX、Y、及び参照ピクチャコンポーネントを有することができるシンボル(421)の形で動き補償予測ユニット(453)に利用され得る。動き補償も、サブサンプルの正確な動きベクトルが使用されている時に参照ピクチャメモリ(457)からフェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0030】
アグリゲーター(455)の出力サンプルは、ループフィルタユニット(456)における様々なループフィルタリング技術の対象となる可能性がある。ビデオ圧縮技術は、符号化されたビデオシーケンス(符号化されたビデオビットストリームともいう)に含まれるパラメータによって制御されるループ内フィルタ技術を含むことができ、且つ、パーサー(420)からのシンボル(421)としてループフィルタユニット(456)に利用され得るが、符号化されたピクチャ又は符号化されたビデオシーケンスの(復号化順序における)前の部分の復号化中に取得されたメタ情報に応答し、且つ、前に再構築され、且つ、ループフィルター処理されたサンプル値に応答することもできる。
【0031】
ループフィルタユニット(456)の出力は、レンダリング装置(412)に出力され、且つ、将来のインターピクチャ予測に使用するのに参照ピクチャメモリ(457)に記憶され得るサンプルストリームであってよい。
【0032】
完全に再構築された特定の符号化されたピクチャは、将来の予測のための参照ピクチャとして使用できる。例えば、カレントピクチャに対応する符号化されたピクチャが完全に再構築され、且つ、符号化されたピクチャが(例えば、パーサー(420)によって)参照ピクチャとして識別されていると、カレントピクチャバッファ(458)は、参照ピクチャメモリ(457)の一部となり、且つ、次の符号化されたピクチャの再構築を開始する前に新しいカレントピクチャバッファを再割り当てすることができる。
【0033】
ビデオデコーダ(410)は、ITU-T Rec. H.265のような標準における所定のビデオ圧縮技術に基づいて復号化操作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術や標準の構文とビデオ圧縮技術や標準に文書化されたプロファイルの両方に基づいているという意味で、使用されているビデオ圧縮技術や標準に規定された構文に基づいている。具体的に、プロファイルは、その下で利用可能な唯一のツールとして、ビデオ圧縮技術や標準における利用可能なツールのすべてから特定のツールを選択できる。また、コンプライアンスのために必要なのは、符号化されたビデオシーケンスの複雑さがビデオ圧縮技術や標準のレベルによって定義された範囲内にあることである。場合によって、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(例えば、1秒あたりのメガサンプル数で測定)、最大参照ピクチャサイズ、などを制限している。レベルによって設定される制限は、場合によって、仮想参照デコーダ(HRD)の仕様と、符号化されたビデオシーケンスでシグナリングされるHRDバッファー管理のメタデータによって、さらに制限される。
【0034】
一実施形態において、受信器(431)は、符号化されたビデオを有する追加(冗長)データを受信してよい。追加データは、符号化されたビデオシーケンスの一部として含まれてよい。追加データは、ビデオデコーダ(410)によって使用されて、適宜データを復号化し、かつ/あるいは、より正確に元のビデオデータを再構築してよい。追加データは、例えば、時間的、空間的、又は信号雑音比(SNR)強化層、冗長スライス、冗長ピクチャ、前方誤り訂正コード、などの形をとることができる。
【0035】
図5は、本開示の一実施形態に係るビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子装置(520)に含まれている。電子装置(520)は、送信器(540)(例えば、送信回路)を含む。ビデオエンコーダ(503)は、
図3の例におけるビデオエンコーダ(303)の代わりに使用することができる。
【0036】
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によって符号化されるビデオ画像を取り込むことができる(
図5の例における電子装置(520)の一部ではない)ビデオソース(501)からビデオサンプルを受信してよい。別の例において、ビデオソース(501)は、電子装置(520)の一部である。
【0037】
ビデオソース(501)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、及び、任意の適切なサンプリング構造(例えば、Y CrCB 4:2:0、Y CrCb4:4:4)を有するデジタルビデオサンプルストリームの形で、ビデオエンコーダ(503)に符号化されるソースビデオシーケンスを提供してよい。メディア配信システムにおいて、ビデオソース(501)は、前に用意されたビデオを記憶する記憶装置であってよい。ビデオ会議システムにおいて、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとして取り込むカメラであってよい。ビデオデータは、順番に見たときに動きを与える複数の個別のピクチャとして提供されてよい。ピクチャ自体は、画素の空間アレイとして編成されることができ、各画素は、使用中のサンプリング構造、色空間、などによって、一つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明では、サンプルに着目する。
【0038】
一実施形態によれば、ビデオエンコーダ(503)は、アプリケーションに要求されるように、リアルタイム又は任意の他の時間制約で、ソースビデオシーケンスのピクチャを符号化されたビデオシーケンス(543)に符号化して圧縮することができる。適切な符号化速度を強制することは、コントローラ(550)の1つの機能である。いくつかの実施形態において、コントローラ(550)は、以下に説明するように、他の機能ユニットを制御し、他の機能ユニットに機能的に結合されている。明確にするために、カップリングは示されていない。コントローラ(550)によって設定されるパラメータには、レート制御関連のパラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値など)、ピクチャサイズ、ピクチャのグループ(GOP)レイアウト、最大動きベクトル検索範囲、などが含まれ得る。コントローラ(550)は、特定のシステム設計のために最適化されたビデオエンコーダに関連する他の適切な機能を有するように構成できる。
【0039】
いくつかの実施形態において、ビデオエンコーダ(503)は、符号化ループで操作するように構成されている。過度に簡略化された説明として、一例において、符号化ループは、ビデオエンコーダ(503)に組み込まれたソースコーダ(530)(例えば、符号化される入力ピクチャ及び参照ピクチャに基づいて、シンボルストリームのようなシンボルを作成する機能を担当している)及び(ローカル)デコーダ(533)を含むことができる。デコーダ(533)は、シンボルを再構築して、(リモート)デコーダの作成方式と類似した方法でサンプルデータを作成する(開示された主題で考えられたビデオ圧縮技術において、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮は無損失のものであるため)。再構築されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(534)に入力される。シンボルストリームの復号化は、デコーダの位置(ローカル又はリモート)に関係なくビットに正確な結果をもたらすため、参照ピクチャメモリ(534)のコンテンツも、ローカルエンコーダとリモートエンコーダとの間でビットに正確である。言い換えると、エンコーダの予測部分は、参照ピクチャサンプルとして、デコーダが復号化中に予測を使用した時に「見る」のとまったく同じサンプル値を「見る」。参照ピクチャの同期性(及び、例えばチャネルエラーのために同期性を維持できない場合に結果として生じるドリフト)の基本原理は、いくつかの関連技術にも使用されている。
【0040】
「ローカル」デコーダ(533)の操作は、「リモート」デコーダ(例えば、すでに上記で
図4を参照して詳細に説明されているビデオデコーダ(410))と同じであってよい。しかしながら、
図4も簡単に参照すると、シンボルが利用可能であり、且つ、エントロピーコーダ(545)及びパーサー(420)によるシンボルの符号化されたビデオシーケンスへの符号化/復号化は無損失であるため、バッファメモリ(415)及びパーサー(420)を含むビデオデコーダ(410)のエントロピー復号化部分は、ローカルデコーダ(533)に完全に実行されていない可能性がある。
【0041】
この時点で観察できたのは、デコーダに存在する構文解析/エントロピー復号化を除いて、いかなるデコーダ技術も、対応するエンコーダに実質的に同一の機能形式で必ず存在する必要があることである。このため、開示された主題は、デコーダの操作に着目する。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0042】
いくつかの例では、操作中に、ソースコーダ(530)は、動き補償予測符号化をしてよく、上述の動き補償予測符号化は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の前に符号化されたピクチャを参照して、入力ピクチャを予測的に符号化する。このようにして、符号化エンジン(532)は、入力ピクチャの画素ブロックと、入力ピクチャの予測参照として選択され得る参照ピクチャの画素ブロックとの間の差を符号化する。
【0043】
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって作成されたシンボルに基づいて、参照ピクチャとして指定できるピクチャの符号化されたビデオデータを復号することができる。符号化エンジン(532)の操作は、有利には、損失のあるプロセスであってよい。符号化されたビデオデータがビデオデコーダ(
図5には示されていない)において復号化され得る場合、再構築されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスの複製であってよい。ローカルビデオデコーダ(533)は、参照ピクチャのビデオデコーダによって実行されてよく、再構築された参照ピクチャが、参照ピクチャキャッシュ(534)に記憶される原因となる復号化プロセスを複製する。このようにして、ビデオエンコーダ(503)は、再構築された参照ピクチャのコピーをローカルに保存でき、上述の参照ピクチャのコピーは、遠端ビデオデコーダによって得られる再構築された参照ピクチャとして共通のコンテンツを有する(不在伝送エラー)。
【0044】
予測器(535)は、符号化エンジン(532)の予測検索を実行できる。即ち、符号化される新しいピクチャについて、予測器(535)は、参照ピクチャメモリ(534)を検索して、新しいピクチャの適切な予測参照として役立つ得るサンプルデータ(候補参照画素ブロックとして)又は参照ピクチャ動きベクトル、ブロック形状、などの特定のメタデータを得ることができる。予測器(535)は、サンプルブロック-画素ブロック単位で操作して適切な予測参照を見つけることができる。いくつかの場合には、予測器(535)で得られた検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(534)に保存された複数の参照ピクチャから引き出された予測参照を有することができる。
【0045】
コントローラ(550)は、例えば、ビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(530)の符号化操作を管理することができる。
【0046】
前述のすべての機能ユニットの出力は、エントロピーコーダ(545)におけるエントロピー符号化に基づいてよい。エントロピーコーダ(545)は、ハフマン符号化、可変長符号化、算術符号化、などの技術に基づいて記号を無損失圧縮することにより、様々な機能ユニットによって生成された記号を符号化されたビデオシーケンスに変換する。
【0047】
送信器(540)は、エントロピーコーダ(545)によって作成された符号化されたビデオシーケンスをバッファリングして、符号化されたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクである通信チャネル(560)を介して送信の準備をすることができる。送信器(540)は、送信される他のデータ(例えば、符号化されたオーディオデータ及び/又は補助データストリーム(ソースは図示されていない))を有するビデオエンコーダ(503)から、符号化されたビデオデータをマージする。
【0048】
コントローラ(550)は、ビデオエンコーダ(503)の操作を管理することができる。符号化中に、コントローラ(550)は、各符号化されたピクチャに特定の符号化されたピクチャタイプを割り当てることができ、これは、それぞれのピクチャに適用され得る符号化技術に影響を及ぼし得る。例えば、ピクチャは、多くの場合、次のピクチャタイプの一つとして割り当てられる。
【0049】
イントラピクチャ(Iピクチャ)は、シーケンス内の他のピクチャを予測のソースとして使用せずに符号化及び復号化できるピクチャである。一部のビデオコーデックでは、例えばIndependent Decoder Refresh(「IDR」)ピクチャなど、様々なタイプのイントラピクチャを使用できる。当業者は、Iピクチャの変形及びそれらのそれぞれの用途及び特徴を知っている。
【0050】
予測ピクチャ(P picture)は、各ブロックのサンプル値を予測するために最大1つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測によって符号化と復号化をすることができるものであってよい。
【0051】
双方向予測ピクチャ(B picture)は、符号化された各ブロックのサンプル値を予測するために最大2つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測によって符号化と復号化をすることができるものであってよい。同様に、複数の予測ピクチャは、単一のブロックの再構築のために3つ以上の参照ピクチャと関連メタデータを使用できる。
【0052】
ソースピクチャは一般に、複数のサンプルブロック(例えば、4×4、8×8、4×8、又は16×16ブロック、サンプルごと)に空間的に細分されて、ブロック単位で符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定されるように、他の(すでに符号化された)ブロックを参照して予測的に符号化することができる。例えば、Iピクチャのブロックは、非予測的に符号化され得るか、又は、それらは、同じピクチャのすでに符号化されたブロックを参照して予測的に符号化され得る(空間予測又はイントラ予測)。Pピクチャの画素ブロックは、前に符号化された1つの参照ピクチャを参照して、空間予測または時間予測を介して、予測的に符号化されてよい。Bピクチャのブロックは、前に符号化された1つ又は2つの参照ピクチャを参照して、空間予測または時間予測を介して、予測的に符号化されてよい。
【0053】
ビデオエンコーダ(503)は、ITU-T Rec.H.265のような所定のビデオ符号化技術や標準に基づいて符号化操作を実行することができる。その操作において、ビデオエンコーダ(503)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測符号化操作を含む様々な圧縮操作を実行することができる。従って、符号化されたビデオデータは、使用されているビデオ符号化技術や標準によって指定された構文に基づくことができる。
【0054】
一実施形態において、送信器(540)は、符号化されたビデオと追加データを送信してよい。ソースコーダ(530)は、符号化されたビデオシーケンスの一部として、そのようなデータを含んでよい。追加データは、時間的/空間的/SNR強化層、冗長なピクチャ及びスライスのような他の形式の冗長なデータ、SEIメッセージ、VUIパラメータセットフラグメント、などを含むことができる。
【0055】
ビデオは、時間的順序で複数のソースピクチャ(ビデオピクチャ)として取り込まれ得る。ピクチャ内予測(多くの場合、イントラ予測と略される)は、特定のピクチャの空間相関を利用し、画像間予測は、ピクチャの間の(時間的又は他の)相関を利用している。一例では、カレントピクチャと呼ばれる、符号化/復号化中の特定のピクチャが、ブロックに分割される。カレントピクチャのブロックが、前に符号化され、且つ、まだバッファリングされているビデオの参照ピクチャの参照ブロックに類似している場合、カレントピクチャのブロックは、動きベクトルと呼ばれるベクトルによって符号化できる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を持つことができる。
【0056】
いくつかの実施形態においては、双予測技術を画像間予測に使用することができる。双予測技術によれば、第1の参照ピクチャ及び第2の参照ピクチャのような2つの参照ピクチャは、両方ともビデオ内のカレントピクチャよりも復号化順序が前である(ただし、それぞれ表示順序で過去及び将来であってよいものが使用される)。カレントピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトルおよび第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルによって符号化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測することができる。
【0057】
さらに、マージモード技術を画像間予測に使用して、符号化効率を改善することができる。
【0058】
本発明のいくつかの実施形態によれば、画像間予測とピクチャ内予測のような予測は、ブロック単位で行われる。例えば、HEVCの標準により、ビデオピクチャのシーケンスにおけるピクチャは、圧縮のために、符号化ツリーユニット(CTU)に分割され、ピクチャにおけるCTUは同じサイズ(例えば64×64画素、32×32画素、又は16×16画素)を有する。一般に、CTUには3つの符号化ツリーブロック(CTB)が含まれる。これらは、1つの輝度CTBおよび2つの彩度CTBである。各CTUは、一つ以上の符号化ユニット(CU)に再帰的にクアッドツリー分割できる。例えば、64×64画素のCTUは、64×64画素のCU、又は4つの32×32画素のCU、又は16個の16×16画素のCUに分割することができる。一例では、各CUが分析されて、CUの予測タイプ(例えば、インター予測タイプ又はイントラ予測タイプ)を決定する。CUは、時間的及び/又は空間的な予測可能性によって、1つ以上の予測ユニット(PU)に分割される。一般に、各PUには、輝度予測ブロック(PB)と2つの彩度PBが含まれる。一実施形態において、符号化(符号化/復号化)における予測操作は、予測ブロックの単位で実行される。予測ブロックの一例として輝度予測ブロックを使用して、予測ブロックは、画素(例えば、8×8画素、16×16画素、8×16画素、16×8画素など)の値(例えば、輝度値)のマトリックスを含む。
【0059】
図6は、本開示の他の実施形態によるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオピクチャのシーケンスにおけるカレントビデオピクチャ内のサンプル値を受信し、処理ブロックを、符号化されたビデオシーケンスの一部である符号化されたピクチャに符号化する。一例では、ビデオエンコーダ(603)は、
図3の例におけるビデオエンコーダ(303)の代わりに使用される。
【0060】
HEVCの例において、ビデオエンコーダ(603)は、処理ブロック(例えば、8×8サンプルの予測ブロックなど)のサンプル値の行列を受信する。ビデオエンコーダ(603)は、例えば、レート歪み最適化を使用して、イントラモード、インターモード、又は双予測モードで、処理ブロックが最良に符号化されているか否かを判定する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(603)は、イントラ予測技術で、処理ブロックを符号化されたピクチャに符号化することができる。処理ブロックがインターモード又は双予測モードで符号化される場合、ビデオエンコーダ(603)は、それぞれインター予測又は双予測技術を使用して、処理ブロックを、符号化されたピクチャに符号化することができる。特定のビデオ符号化技術において、マージモードは、動きベクトルが一つ以上の動きベクトル予測器から導出される画像間予測サブモードであり、予測器の外部の符号化された動きベクトルコンポーネントの利点を有しない。他の特定のビデオ符号化技術では、対象ブロックに適用可能な動きベクトルコンポーネントが存在する可能性がある。一例では、ビデオエンコーダ(603)は、他のコンポーネントを含み、例えば、モード決定モジュール(図示せず)を含み、処理ブロックのモードを決定する。
【0061】
図6の例において、ビデオエンコーダ(603)は、インターエンコーダ(630)、イントラエンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、汎用コントローラ(621)、及びエントロピーエンコーダ(625)を含み、それらは
図6に示すように結合されている。
【0062】
インターエンコーダ(630)は、カレントブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照ピクチャにおける一つ以上の参照ブロック(例えば、前のピクチャと後のピクチャにおけるブロック)と比較し、インター予測情報(例えば、インター符号化技術による冗長情報の説明、動きベクトル、マージモード情報)を生成し、インター予測情報に基づいて、任意の適切な技術でインター予測結果(例えば、予測されたブロック)を計算するように構成されている。いくつかの例において、参照ピクチャは、符号化されたビデオ情報に基づいて復号化される、復号化された参照ピクチャである。
【0063】
イントラエンコーダ(622)は、カレントブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、そのブロックを既に同じピクチャにおいて符号化されたブロックと比較し、変換後に量子化係数を生成し、かつ、場合によっては、イントラ予測情報(例えば、一つ以上のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成されている。一例において、イントラエンコーダ(622)は、また、イントラ予測情報及び同じピクチャにおける参照ブロックに基づいて、イントラ予測結果(例えば、予測されたブロック)を算出する。
【0064】
汎用コントローラ(621)は、汎用制御データを決定し、その汎用制御データに基づいて、ビデオエンコーダ(603)の他のコンポーネントを制御するように構成されている。一例において、汎用コントローラ(621)は、ブロックのモードを決定し、そのモードに基づいて、スイッチ(626)に制御信号を提供する。例えば、上述のモードがイントラモードである場合、汎用コントローラ(621)は、スイッチ(626)を制御して、残差計算器(623)による使用のためにイントラモード結果を選択し、エントロピーエンコーダ(625)を制御して、イントラ予測情報を選択して、それをビットストリームに含める。上述のモードがインターモードである場合、汎用コントローラ(621)は、スイッチ(626)を制御して、残差計算器(623)による使用のためにインター予測結果を選択し、エントロピーエンコーダ(625)を制御して、インター予測情報を選択して、それをビットストリームに含める。
【0065】
残差計算器(623)は、受信されたブロックと、イントラエンコーダ(622)又はインターエンコーダ(630)から選択された予測結果との間の差(残差データ)を算出するように構成されている。残差エンコーダ(624)は、残差データに基づいて操作して、残差データを符号化して変換係数を生成するように構成されている。一例において、残差エンコーダ(624)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成されている。次に、変換係数は、量子化処理の対象となって、量子化変換係数を取得する。様々な実施形態において、ビデオエンコーダ(603)は、また、残差デコーダ(628)を含む。残差デコーダ(628)は、逆変換を実行し、復号化された残差データを生成するように構成されている。復号化された残差データは、イントラエンコーダ(622)およびインターエンコーダ(630)によって適切に使用され得る。例えば、インターエンコーダ(630)は、復号化された残差データとインター予測情報に基づいて、復号化されたブロックを生成でき、イントラエンコーダ(622)は、復号化された残差データとイントラ予測情報に基づいて、復号化されたブロックを生成できる。復号化されたブロックは、適切に処理されて復号化されたピクチャを生成し、復号化されたピクチャは、メモリ回路(図示せず)においてバッファリングされ、いくつかの例において参照ピクチャとして使用され得る。
【0066】
エントロピーエンコーダ(625)は、ビットストリームをフォーマットして符号化されたブロックを含むように構成されている。エントロピーエンコーダ(625)は、適切な標準(例えば、HEVC標準)に基づいて様々な情報を含むように構成されている。一例では、エントロピーエンコーダ(625)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及びビットストリームにおける他の適切な情報を含むように構成されている。開示された主題によれば、インターモード又は双予測モードのいずれかのマージサブモードでブロックを符号化する場合、残差情報がないことに留意されたい。
【0067】
図7は、本開示の別の実施形態によるビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、符号化されたビデオシーケンスの一部である、符号化されたピクチャを受信し、それを復号化して、再構築されたピクチャを生成するように構成されている。一例において、ビデオデコーダ(710)は、
図3の例におけるビデオデコーダ(310)の代わりに使用される。
【0068】
図7の例において、ビデオデコーダ(710)は、エントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構築モジュール(774)、及びイントラデコーダ(772)を含み、それらは、
図7に示すように結合されている。
【0069】
エントロピーデコーダ(771)は、符号化されたピクチャから、それを構成する構文要素を表す特定のシンボルを再構築するように構成され得る。例えば、このようなシンボルは、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード、又は別のサブモードの後者の2つ)、それぞれイントラデコーダ(772)又はインターデコーダ(780)による予測のために使用される特定のサンプル又はメタデータを識別することができる予測情報(例えば、イントラ予測情報又はインター予測情報)、例えば、量子化変換係数の形の残差情報などを含んでよい。一例では、予測モードがインター又は双予測モードである場合、インター予測情報は、インターデコーダ(780)に提供される。予測タイプがイントラ予測タイプである場合、イントラ予測情報は、イントラデコーダ(772)に提供される。残差情報は、逆量子化の対象となる可能性があり、残差デコーダ(773)に提供される。
【0070】
インターデコーダ(780)は、インター予測情報を受信し、それに基づいて、インター予測結果を生成するように構成されている。
【0071】
イントラデコーダ(772)は、イントラ予測情報を受信し、それに基づいて、予測結果を生成するように構成されている。
【0072】
残差デコーダ(773)は、逆量子化を実行して、非量子化された変換係数を抽出し、非量子化された変換係数を処理して、残差を周波数領域から空間領域に変換するように構成されている。残差デコーダ(773)は(量子化器パラメータ(QP)を含むために)特定の制御情報を必要とし、その情報は、エントロピーデコーダ(771)によって提供されてよい(このように示されていないデータパスは低容量制御情報のみである)。
【0073】
再構築モジュール(774)は、空間領域において残差デコーダ(773)によって出力された残差と、(場合によってインター又はイントラ予測モジュールで出力された)予測結果とを結合して、再構築されたブロックを形成するように構成されており、上述の再構築されたブロックは、再構築されたピクチャの一部であり、引き続き再構築されたビデオの一部であってよい。他の適切な操作(例えば、デブロック化操作など)を実行して、視覚的品質を改善することができることに留意されたい。
【0074】
任意の適切な技術でビデオエンコーダ(303)、(503)、及び(603)、並びに、ビデオデコーダ(310)、(410)、及び(710)を実行することができることに留意されたい。一実施形態においては、一つ以上の集積回路で、ビデオエンコーダ(303)、(503)、及び(603)、並びに、ビデオデコーダ(310)、(410)、及び(710)を実行することができる。別の実施形態において、ソフトウェア命令を実行する一つ以上のプロセッサで、ビデオエンコーダ(303)、(503)、及び(603)、並びに、ビデオデコーダ(310)、(410)、及び(710)を実行することができる。
【0075】
II.インター予測技術
様々な実施形態において、インター予測されたCUの場合、動きベクトル、参照ピクチャインデックス、参照ピクチャリスト使用インデックス、及び、場合によっては、他の追加情報を含む動きパラメータは、インター予測されたサンプルの生成に使用され得る。動きパラメータは、明示的又は暗黙的な方式でシグナリングされ得る。CUがスキップモードで符号化された場合、CUは、1つのPUに関連付けられており、有意な残差係数、符号化された動きベクトルデルタ、又はCUに関連付けられた参照ピクチャインデックスを有しない。
【0076】
マージモードが採用された場合、現在のCUの動きパラメータは、空間及び時間マージ候補、及び、随意選択の他のマージ候補を含む隣接のCUから得られる。マージモードは、インター予測されたCUに適用でき、且つ、スキップモードに適用できる。マージモードの代替手段は、動きパラメータの明示的な送信である。例えば、動きベクトル、各参照ピクチャリストの各参照ピクチャインデックス、参照ピクチャリスト使用フラグ、及び他の必要な情報は、CUごとに明示的にシグナリングされ得る。
【0077】
以下のインター予測符号化ツールはいくつかの実施形態に使用される。
―拡張されたマージ予測
―動きベクトル差のあるマージモード(MMVD)
―アフィン動き補償予測
―サブブロックベースの時間的動きベクトル予測(SbTMVP)
―三角パーティション予測
―インター予測とイントラ予測の組み合わせ(CIIP)
1.拡張されたマージ予測
いくつかの実施形態において、マージ候補リストは、順番に次の5種類の候補を含むことによって構築されている。
【0078】
1)空間隣接のCUからの空間的動きベクトル予測器(SMVP)、
2)併置されたCUからの時間的動きベクトル予測器(TMVP)、
3)先入れ先出し(FIFO)テーブルからの履歴ベースの動きベクトル予測器(HMVP)、
4)ペアワイズ平均動きベクトル予測器(MVP)、
5)ゼロMV。
【0079】
いくつかの実施形態において、マージリストのサイズは、スライスヘッダでシグナリングされ、マージリストの最大許容サイズが6である。マージモードで符号化された各CUに対して、最良のマージ候補のインデックスは、切り捨てられた単項(TU)二値化により符号化される。マージインデックスの最初のビンは、コンテキストで符号化され、バイパス符号化は、他のビンに使用される。
【0080】
マージ候補の各カテゴリの生成プロセスの例は、以下に記載されている。
【0081】
1.1空間候補の導出
空間マージ候補を導出するプロセスにおいて、最大4つのマージ候補は、
図8におけるカレントブロック(810)に隣接した位置A1、B1、B0、A0、及びB2における候補の中から選択される。導出の順序は、A1、B1、B0、A0、及びB2である。(例えば、別のスライス又はタイルに属しているため)位置A1、B1、B0、A0における任意のCUは利用できないか、又は、イントラ符号化された場合、位置B2は考慮される。位置A1における候補が追加された後、残りの候補の追加は、同じ動き情報を持つ候補がリストから除外されることを確保する冗長検査の対象となる。その結果、符号化効率が向上する。計算の複雑さを軽減するために、前述の冗長検査において、すべての可能な候補ペアが考慮されるわけではない。代わりに、
図9の矢印でリンクされたペアが考慮される。冗長検査に使用される対応した候補が同じ動き情報を有しない場合、候補がリストに追加される。
【0082】
1.2 時間的候補の導出
一実施形態においては、一つの時間的候補がリストに追加される。特に、カレントピクチャ(1001)におけるカレントブロック(1011)のための時間マージ候補の導出において、スケーリングされた動きベクトル(1031)は、
図10に示すように、併置された参照ピクチャ(1002)に属する同一位置のCU(1012)に基づいて導出される。同一位置におけるCUの導出に使用される参照ピクチャリストは、スライスヘッダで明示的にシグナリングされる。時間マージ候補のスケーリングされた動きベクトル(1031)は、ピクチャオーダカウント(POC)距離Tb及びTdで、同一位置のCU(1012)の動きベクトル(1032)からスケーリングされる。Tbは、カレントピクチャ(1001)の現在の参照ピクチャ(1003)とカレントピクチャ(1001)とのPOC差として定義される。Tdは、同一位置のピクチャ(1002)の同一位置の参照ピクチャ(1004)と同一位置のピクチャ(1002)とのPOC差として定義される。時間マージ候補の参照ピクチャインデックスは、ゼロに等しいように設定される。
【0083】
時間的候補の位置は、
図11に示される候補C0とC1との間において選択される。位置C0におけるCUは利用できないか、イントラ符号化されるか、又は、CTUの現在の行の外部にある場合、位置C1が使用される。それ以外の場合、位置C0が時間マージ候補の導出に使用される。
【0084】
1.3 履歴ベースのマージ候補の導出
いくつかの実施形態において、履歴ベースのMVP(HMVP)マージ候補は、SMVP及びTMVPの後にマージリストに追加される。この方法では、前に符号化されたブロックの動き情報が、テーブルに記憶され、現在のCUのMVPとして使用される。複数のHMVP候補を有したテーブルは、符号化/復号化の過程で維持される。新しいCTU行が検出されると、テーブルはリセット(空)される。非サブブロック間で符号化されたCUがあるたびに、関連した動き情報が、新しいHMVP候補としてテーブルの最後のエントリに追加される。
【0085】
一実施形態において、HMVPテーブルサイズSを6とすることは、最大6つの履歴ベースのMVP(HMVP)候補がテーブルに追加できることを表す。新しい動き候補をテーブルに挿入する場合、制約付きFIFOルールが使用され、冗長検査が最初に適用されて、テーブルに同一のHMVPがあるか否かを判定する。あると判定された場合、同じHMVPが、テーブルから削除され、そして、すべてのHMVPの候補は、その後、前方に移動される。
【0086】
HMVP候補は、マージ候補リスト構築プロセスに使用され得る。テーブルにおける最新のいくつかのHMVP候補が順番に検査され、TMVP候補の後に候補リストに挿入される。冗長検査が、HMVP候補上で空間的又は時間的マージ候補に適用される。
【0087】
一例では、冗長検査操作の数を減らすために、以下の簡略化が導入されている。
【0088】
(i)マージリストの生成に使用されるHMPV候補の数は(N<=4)に設定されているか?M:(8― N)。ここで、Nはマージリスト内の既存の候補の数を示し、Mはテーブル内の利用可能なHMVP候補の数を示す。
【0089】
(ii)利用可能なマージ候補の総数が最大許容マージ候補-1に達すると、HMVPからのマージ候補リストの構築プロセスが終了する。
【0090】
1.4 ペアワイズ平均マージ候補の導出
いくつかの実施形態において、ペアワイズ平均候補が、既存のマージ候補リスト内の予め定められた候補の対を平均化することによって生成される。例えば、予め定められたペアは、{(0、1)、(0、2)、(1、2)、(0、3)、(1、3)、(2、3)}と規定さる。ここで、これらの数字は、マージ候補リストへのマージインデックスを示す。平均化された動きベクトルは、参照リストごとに個別に計算される。両方の動きベクトルが1つのリストで使用できる場合、これらの2つの動きベクトルは、異なる参照ピクチャを指している場合でも平均化される。利用可能な動きベクトルが1つしかない場合は、その動きベクトルを直接使用する。利用可能な動きベクトルがない場合は、このリストを無効にする。
【0091】
一実施形態において、ペアワイズ平均マージ候補が追加された後にマージリストがフルでない場合、最大マージ候補の数が検出されるまで、ゼロのMVPが最後に挿入される。
【0092】
2.動きベクトル差のあるマージモード(MMVD)
マージモードに加えて、暗黙的に導出された動き情報が直接、現在のCUの予測サンプル生成に使用される場合、MMVDが、いくつかの実施形態に使用される。MMVDフラグは、スキップフラグとマージフラグを送信した直後にシグナリングされて、MMVDモードがCUに使用されているか否かを判定する。
【0093】
MMVDモードにおいて、マージ候補が選択された後、マージ候補が、シグナリングされた動きベクトル差(MVD)情報によってさらに絞り込まれて、絞り込まれた動き情報を取得する。MVD情報は、マージ候補フラグ、動きの大きさを指定するための距離インデックス、及び動き方向を示すためのインデックスを含む。
【0094】
マージリストにおける最初の2つの候補の1つが選択されてMVベース(開始MV)として使用される。マージ候補フラグがシグナリングされて、どちらを使用するかを指定する。
図12に示すように、MVベースは、参照ピクチャリストL0又はL1の参照ピクチャ(1202)又は(1203)での開始点(1211)又は(1221)をそれぞれ決定する。
【0095】
距離インデックスは、動きの大きさの情報を指示し、開始点(1211)又は(1221)から予め定義されたオフセットを示す。
図12に示すように、オフセットは、位置(1211)又は(1221)を指す開始MV(MVベース)の水平方向コンポーネント又は垂直方向コンポーネントのいずれかに添加される。距離インデックスと予め定義されたオフセットとのマッピング関係は、表1に指定されている。
【表1】
方向インデックスは、開始点(1211)又は(1221)に対するMVDの方向を表す。方向インデックスは、表2に示すように、4つの方向の1つを表すことができる。
【表2】
開始MVの情報によって、MVD符号の意味が異なっていることに留意されたい。開始MVが、両方ともカレントピクチャの同じ側をさすユニ予測MV又は双予測MVである場合(即ち、2つの参照のPOCの両方は、カレントピクチャのPOCよりも大きいか又は小さい)、表2の符号は、開始MVに追加されたMVオフセットの符号を指定する。開始MVが、カレントピクチャの異なった側を指す2つのMVを有する双予測MVである場合(即ち、一方の参照のPOCがカレントピクチャのPOCよりも大きく、他方の参照のPOCがカレントピクチャのPOCよりも小さい)、表2の符号は、開始MVのL0 MVコンポーネントに追加されたMVオフセットの符号を指定し、L1 MVの符号は反対の値を有する。
【0096】
MVベース、オフセット、及びMVD符号に基づいて、現在のCUに対して最終のMVを決定することができる。
【0097】
3.アフィン動き補償予測
いくつかの例では、並進動きモデルが動き補償予測(MCP)に適用される。しかし、並進動きモデルは、他のタイプの動き(例えば、ズームイン/ズームアウト、回転、遠近法動き、及びその他の不規則な動き)のモデリングに適さない場合がある。いくつかの実施形態においては、ブロックベースのアフィン変換動き補償予測が適用される。
図13Aにおいて、ブロックのアフィン動きフィールドは、4パラメータアフィンモデルが使用される場合、2つの制御点(CP)CP0およびCP1の2つの制御点動きベクトル(CPMV)であるCPMV0およびCPMV1によって記述される。
図13Bにおいて、ブロックのアフィン動きフィールドは、6パラメータアフィンモデルが使用される場合、3つのCP(CP0、CP1、及びCP2)の3つのCPMV(CPMV0、CPMV1、及びCPMV2)によって記述される。
【0098】
4パラメータアフィン動きモデルの場合、ブロック内のサンプル位置(x、y)における動きベクトルは次のように導出される。
【数1】
6パラメータアフィン動きモデルの場合、ブロック内のサンプル位置(x、y)における動きベクトルは次のように導出される。
【数2】
式(2.1)及び(2.2)において、(mv
0x、mv
0y)は、左上隅の制御点の動きベクトルであり、(mv
1x、mv
1y)は、右上隅の制御点の動きベクトルであり、(mv
2x、mv
2y)は、左下隅の制御点の動きベクトルである。しかも、座標(x、y)は、それぞれのブロックの左上隅を基準とし、WとHは、それぞれのブロックの幅と高さを示す。
【0099】
動き補償予測を単純化するために、サブブロックベースのアフィン変換予測がいくつかの実施形態に適用される。例えば、
図14では、4パラメータのアフィン動きモデルが使用され、2つのCPMV(
【数3】
と、
【数4】
が決定される。カレントブロック(1410)から分割された各4×4(サンプル)輝度サブブロック(1402)の動きベクトルを導出するために、各サブブロック(1402)の中心サンプルの動きベクトル(1401)は、上記の式(2.1)により算出され、1/16分数精度に丸められる。次に、動き補償補間フィルタが適用されて、導出された動きベクトル(1401)で各サブブロック(1402)の予測を生成する。彩度コンポーネントのサブブロックサイズは、4×4と設定される。4×4彩度サブブロックのMVは、4つの対応した4×4輝度サブブロックのMVの平均値として算出される。
【0100】
並進動きインター予測と同様に、2つのアフィン動きインター予測モード(アフィンマージモードおよびアフィンAMVPモード)は、いくつかの実施形態に使用される。
【0101】
3.1 アフィンマージ予測
いくつかの実施形態において、アフィンマージモードは、幅と高さの両方が8以上であるCUに適用され得る。現在のCUのアフィンマージ候補は、空間隣接のCUの動き情報に基づいて生成される。最大5つのアフィンマージ候補が存在することができ、インデックスがシグナリングされて現在のCUに使用されるものを示す。例えば、次の3種類のアフィンマージ候補は、アフィンマージ候補リストを形成するために使用される。
【0102】
(i)隣接CUのCPMVから外挿される継承されたアフィンマージ候補、
(ii)隣接CUの並進MVで導出される構築されたアフィンマージ候補、及び
(iii)ゼロMV。
【0103】
いくつかの実施形態において、隣接ブロックのアフィン動きモデルから導出される継承されたアフィン候補が最大2つ存在することができ、1つは左の隣接のCUから得られ、もう1つは上の隣接のCUから得られる。候補ブロックは、例えば、
図8に示される位置に配置され得る。左の予測器について、スキャン順序はA0->A1であり、上の予測器について、スキャン順序はB0->B1->B2である。各側から最初に継承された候補のみが選択される。2つの継承された候補の間にプルーニングチェックは実行されない。
【0104】
隣接アフィンCUが識別された場合、そのCPMVは、現在のCUのアフィンマージリストにおいてCPMV候補を導出するために使用される。
図15に示すように、現在のCU(1510)の隣接の左下ブロックAは、アフィンモードで符号化される。ブロックAを含むCU(1520)の左上隅、右上隅、及び左下隅の動きベクトル
【数5】
【数6】
及び
【数7】
が得られる。ブロックAが4パラメータアフィンモデルで符号化される場合、現在のCU(1510)の2つのCPMV
【数8】
と
【数9】
は、
【数10】
と
【数11】
により算出される。ブロックAが6パラメータアフィンモデルで符号化される場合、現在のCUの3つのCPMV(図示せず)は、
【数12】
【数13】
及び
【数14】
により算出される。
【0105】
構築されたアフィン候補は、各制御点の隣接の並進動き情報を組み合わせることによって構築される。制御点の動き情報は、
図16に示される指定された空間的近傍と時間的近傍から導出される。CPMVk(k=1、2、3、4)は、k番目の制御点を表す。CPMV1の場合、B2->B3->A2ブロックが順に検査され、第1の利用可能なブロックのMVが使用される。CPMV2の場合、B1->B0ブロックが検査され、CPMV3の場合、A1->A0ブロックが検査される。ブロックTにおけるTMVPが、利用可能な場合、CPMV4として使用される。
【0106】
4つの制御点のMVが得られた後、その動き情報に基づいて、アフィンマージ候補が構築される。制御点MVの以下の組み合わせは、順に構築するために使用される:{CPMV1,CPMV2,CPMV3}、{CPMV1,CPMV2,CPMV4}、{CPMV1,CPMV3,CPMV4}、{CPMV2,CPMV3,CPMV4}、{CPMV1,CPMV2}、{CPMV1,CPMV3}。
【0107】
3つのCPMVの組み合わせは6パラメータのアフィンマージ候補を構築し、2つのCPMVの組み合わせは4パラメータのアフィンマージ候補を構築する。動きスケーリングプロセスを回避するために、制御点の参照インデックスが異なっている場合、制御点MVの関連した組み合わせは破棄される。
【0108】
継承されたアフィンマージ候補および構築されたアフィンマージ候補が検査された後、リストがまだフルでない場合、ゼロMVはマージ候補リストの末端に挿入される。
【0109】
3.2 アフィンAMVP予測
いくつかの実施形態において、アフィンAMVPモードは、幅と高さの両方が16以上であるCUに適用され得る。CUレベルのアフィンフラグは、ビットストリームにおいてシグナリングされて、アフィンAMVPモードが使用されているか否かを示し、そして、もう1つのフラグは、シグナリングされて、4パラメータアフィン又は6パラメータアフィンが使用されているか否かを示す。現在のCUのCPMVとそれらの予測器の差は、ビットストリームにおいてシグナリングされる。アフィンAMVP候補リストサイズは2であり、且つ、順に以下の4種類のCPVMを使用することで生成され得る。
【0110】
(i)隣接のCUのCPMVから外挿される継承されたアフィンAMVP候補、
(ii)隣接のCUの並進MVで導出される構築されたアフィンAMVP候補、
(iii)隣接のCUからの並進MV、及び
(iv)ゼロMV。
【0111】
継承されたアフィンAMVP候補の検査順序は、一例における継承されたアフィンマージ候補の検査順序に似ている。違いは、AVMP候補の場合、カレントブロックと同一の参照ピクチャを持つアフィンCUが考慮されることである。継承されたアフィン動き予測器を候補リストに挿入する場合、プルーニングプロセスは適用されない。
【0112】
構築されたAMVP候補は、
図16に示される指定された空間的近傍から導出される。アフィンマージ候補の構築において行われるように、同じ検査順序が使用されている。また、隣接ブロックの参照ピクチャインデックスも検査される。インター符号化され、且つ、現在のCUと同一の参照ピクチャを持つ、検査順序における最初のブロックが、使用されている。現在のCUが4パラメータアフィンモデルで符号化され、且つ、CPMV0およびCPMV1の両方が利用できる場合、利用可能なCPMVは、1つの候補としてアフィンAMVPリストに追加される。現在のCUが、6パラメータアフィンモードで符号化され、且つ、3つのCPMV(CPMV0、CPMV1、及びCPMV2)がすべて利用できる場合、利用可能なCPMVは、1つの候補としてアフィンAMVPリストに追加される。それ以外の場合は、構築されたAMVP候補は、利用できないように設定される。
【0113】
継承されたアフィンAMVP候補と構築されたAMVP候補が検査された後、アフィンAMVPリスト候補が依然として2未満であると、制御点に隣接した並進動きベクトルは、利用可能な場合、追加されて現在のCUのすべての制御点のMVを予測する。最後に、アフィンAMVPリストがまだフルでない場合、ゼロMVを使用してアフィンAMVPリストを埋める。
4.サブブロックベースの時間的動きベクトル予測(SbTMVP)
図17Aは、一実施形態による、サブブロックベースの時間的MV予測(SbTMVP)法でカレントブロック(1711)の予測動き情報を決定するために用いられる空間隣接ブロックの模式図である。
図17Aは、カレントブロック(1711)、及び、A0、A1、B0、及びB1で示されたその空間隣接ブロック(それぞれ1712、1713、1714、及び1715)を示す。いくつかの例では、空間隣接ブロックA0、A1、B0、及びB1とカレントブロック(1711)は同じピクチャに属している。
【0114】
図17Bは、一実施形態による、選択された空間隣接ブロック(例えば、この非限定的な例におけるブロックA1)に基づいて、SbTMVP法でカレントブロック(1711)のサブブロックの動き情報を決定する模式図である。この例において、カレントブロック(1711)は、カレントピクチャ(1710)内にあり、参照ブロック(1761)は、参照ピクチャ(1760)内にあり、且つ、動きベクトル(1722)に示されるカレントブロック(1711)と参照ブロック(1761)との間の動きシフト(又は変位)に基づいて識別され得る。
【0115】
いくつかの実施形態において、HEVCにおける時間的動きベクトル予測(TMVP)と同様に、SbTMVPは、カレントピクチャにおけるカレントブロックに対して、参照ピクチャにおける様々な参照サブブロック内の動き情報を使用する。いくつかの実施形態において、TMVPによって使用される同じ参照ピクチャは、SbTVMPに使用され得る。いくつかの実施形態において、TMVPは、CUレベルで動き情報を予測するが、SbTMVPは、サブCUレベルで動きを予測する。いくつかの実施形態において、TMVPは、参照ピクチャ内の併置されたブロックからの時間的動きベクトルを使用し、該ベクトルは、カレントブロックの右下隅又は中心に隣接する対応した位置を有し、SbTMVPは、参照ブロックからの時間的動きベクトルを使用し、該ベクトルは、カレントブロックの空間隣接ブロックの1つからの動きベクトルに基づいて、動きシフトを実行することによって識別できる。
【0116】
例えば、
図17Aに示すように、隣接のブロックA1、B1、B0、及びA0は、SbTVMPプロセスで順次検査できる。第1の空間隣接ブロックは、参照ピクチャ(1760)をその参照ピクチャとして使用した動きベクトルを有することが識別されると、上述の動きベクトルは、動きシフトを実行するために使用できる。例えば、ブロックA1は、動きベクトル(1722)を有し、且つ、動きベクトル(1722)は、例えば参照ピクチャ(1760)内の参照ブロックAR1を指すと、この動きベクトル(1722)は、動きシフトを実行するために使用できる。空間隣接ブロックA1、B1、B0、及びA0にはそのような動きベクトルがない場合、動きシフトは(0、0)と設定される。
【0117】
動きシフトを決定した後、参照ブロック(1761)は、カレントブロック(1711)の位置及び決定された動きシフトに基づいて識別され得る。
図17Bでは、参照ブロック(1761)は、参照動き情報MRa~MRpを有した16個のサブブロックに、さらに、分裂され得る。いくつかの例において、参照ブロック(1761)内の各サブブロックの参照動き情報は、このようなサブブロックの中心サンプルを覆う最小の動きグリッドに基づいて決定され得る。動き情報は、動きベクトル及び対応した参照インデックスを含むことができる。カレントブロック(1711)は、さらに、16個のサブブロックに分裂され得る。カレントブロック(1711)内のサブブロックの動き情報MVa~MVpは、TMVPプロセスと類似した方法で、参照動き情報MRa~MRpから導出されてよく、いくつかの例では、時間的スケーリングを伴う。
【0118】
SbTMVPプロセスに使用されるサブブロックサイズは固定されるか(あるいは、予め定められる)又はシグナリングされてよい。いくつかの例において、SbTMVPプロセスに使用されるサブブロックサイズは、8×8サンプルであってよい。いくつかの例において、SbTMVPプロセスは、固定又はシグナリングされたサイズ(例えば、8画素)以上の幅と高さを有したブロックにのみ適用される。
【0119】
一例では、SbTVMP候補とアフィンマージ候補を含む結合されたサブブロックベースのマージリストが、サブブロックベースのマージモードのシグナリングに使用される。SbTVMPモードは、シーケンスパラメータセット(SPS)フラグによって有効化又は無効化され得る。いくつかの例では、SbTMVPモードが有効化されると、SbTMVP候補は、サブブロックベースのマージ候補のリストの最初のエントリとして追加され、その後にアフィンマージ候補が続く。いくつかの実施形態において、サブブロックベースのマージリストの最大許容サイズは、5に設定される。しかしながら、他の実施形態において、他のサイズを利用することができる。
【0120】
いくつかの実施形態において、追加のSbTMVPマージ候補の符号化ロジックは、他のマージ候補の符号化ロジックと同じである。つまり、P又はBスライスでの各ブロックに対して、追加のレート歪み検査を実行して、SbTMVP候補を使用するか否かを決定することができる。
【0121】
5.三角予測
いくつかの実施形態において、三角予測モード(TPM)は、インター予測のために使用され得る。一実施形態において、TPMは、サイズが8×8サンプル以上であり、且つ、スキップモード又はマージモードで符号化されているCUに適用される。一実施形態において、これらの条件を満たす(サイズが8×8サンプル以上であり、且つ、スキップモード又はマージモードで符号化されている)CUの場合、CUレベルフラグをシグナリングして、TPMが適用されるか否かを示す。
【0122】
いくつかの実施形態において、TPMが使用される場合、CUは、
図18に示すように、対角分割又は反対角分割のいずれかで、均等に2つの三角パーティション部分に分割される。
図18では、1番目のCU(1810)は、左上隅から右下隅まで分割されて、2つの三角予測ユニットPU1とPU2をもたらす。2番目のCU(1820)は、右上隅から左下隅まで分割されて、2つの三角予測ユニットPU1とPU2をもたらす。CU(1810)又は(1820)内の各三角予測ユニットPU1又はPU2は、各自の動き情報でインター予測される。
【0123】
いくつかの実施形態において、各三角予測ユニットに対して、ユニ予測のみが許可される。従って、各三角予測ユニットは、1つの動きベクトル及び1つの参照ピクチャインデックスを有する。ユニ予測動き制約を適用して、従来の双予測法と同様に、各CUに対して2つ以下の動き補償予測が実行されることを確保することができる。このようにして、処理の複雑さを軽減できる。各三角予測ユニットのユニ予測動き情報は、ユニ予測マージ候補リストから導出され得る。他のいくつかの実施形態において、各三角予測ユニットに対して双予測が可能である。従って、各三角予測ユニットの双予測動き情報は、双予測マージ候補リストから導出され得る。
【0124】
いくつかの実施形態において、CUレベルフラグが現在のCUはTPMで符号化されていることを示す場合、三角パーティションインデックスと称するインデックスは、さらにシグナリングされる。例えば、三角パーティションインデックスは、[0,39]の範囲の値を有することができる。この三角パーティションインデックスを使用して、三角パーティションの方向(対角又は反対角)及び各分割部分の動き情報(例えば、それぞれのユニ予測候補リストのマージインデックス(又は、TPMインデックスと称する))を、デコーダ側のルックアップテーブルから取得することができる。
【0125】
一実施形態においては、得られた動き情報に基づいて各三角予測ユニットを予測した後、適応重みでブレンディングプロセスを行うことにより、現在のCUの対角線又は反対角線エッジに沿ったサンプル値を調整する。ブレンディングプロセスの結果として、CU全体の予測信号を取得できる。その後、変換及び量子化プロセスは、他の予測モードと同様の方法でCU全体に適用できる。最後に、例えば、動き情報をCUから分割された4×4ユニットのセットに記憶することにより、三角パーティションモードで予測されたCUの動きフィールドを作成することができる。動きフィールドは、例えば、後続の動きベクトル予測プロセスに使用されて、マージ候補リストを構築することができる。
【0126】
5.1 ユニ予測候補リストの構築
いくつかの実施形態において、TPMで処理された符号化ブロックの2つの三角予測ユニットを予測するためのマージ候補リストは、符号化ブロックの空間及び時間隣接ブロックのセットに基づいて構築され得る。このようなマージ候補リストは、TPM候補が記入されているTPM候補リストと称され得る。一実施形態において、マージ候補リストは、ユニ予測候補リストである。一実施形態において、ユニ予測候補リストは、5つのユニ予測動きベクトル候補を含む。例えば、5つのユニ予測動きベクトル候補は、(
図19の1~5でラベル付けされた)5つの空間隣接ブロック、および、(
図19の6~7でラベル付けされた)2つの時間の同一位置のブロックとを含む7つの隣接のブロックから導出される。
【0127】
一例において、7つの隣接ブロックの動きベクトルは、次の順で収集されてユニ予測候補リストに入れられる。まず、ユニ予測された隣接ブロックの動きベクトル;次に、双予測された隣接ブロックの場合、動きベクトルL0(つまり、双予測MVの動きベクトルL0部分)、動きベクトルL1(つまり、双予測MVの動きベクトルL1部分)、及び双予測MVの動きベクトルL0とL1の平均化された動きベクトル、である。一例では、候補の数が5未満であると、ゼロ動きベクトルが、リストの末端に追加される。いくつかの他の実施形態において、マージ候補リストは、
図19に示されたものと同じ又は異なる候補位置から選択される、5未満又は5を超えるユニ予測又は双予測マージ候補を含んでよい。
【0128】
5.2 ルックアップテーブルとテーブルインデックス
一実施形態において、CUは、三角パーティションモードで符号化され、上述の三角パーティションモードは、5つのTPM候補を含むTPM(又はマージ)候補リストを有する。従って、5つのマージ候補が三角PUごとに使用される場合、CU予測の可能な方法は、40通りある。言い換えると、分割方向とマージ(又は、TPM)インデックスとの様々な組み合わせは、次式で算出される40通り存在し得る:2(可能な分割方向)×(5(第1の三角予測ユニットの可能なマージインデックス)×5(第2の三角予測ユニットの可能なマージインデックス)-5(第1の予測ユニットと第2の予測ユニットとのペアが同じマージインデックスを共有する場合の多くの可能性))。例えば、2つの三角予測ユニットに対して同じマージインデックスが決定された場合、三角予測モードの代わりに、通常のマージモードを使用してCUを処理することができる。
【0129】
従って、一実施形態において、[0,39]の範囲の三角パーティションインデックスを使用して、ルックアップテーブルに基づいて、40の組み合わせのうちのどれが使用されるかを表すことができる。
図20は、三角パーティションインデックスに基づいて分割方向を導出し、且つ、インデックスをマージするために使用される、例示的なルックアップテーブル(2000)を示す。ルックアップテーブル(2000)に示されているように、第1行(2001)には、0~39の範囲の三角パーティションインデックスが含まれており、第2行(2002)には、0又は1で表された可能な分割方向が含まれており、第3行(2003)には、第1の三角予測ユニットに対応した、0~4の範囲の可能な第1のマージインデックスが含まれており、第4行(2004)には、第2の三角予測ユニットに対応した、0~4の範囲の可能な第2のマージインデックスが含まれている。
【0130】
例えば、デコーダにおいて1の値を有する三角パーティションインデックスが受信された場合、ルックアップテーブル(2000)の列(2020)に基づいて、分割方向は1の値で示された分割方向であり、第1と第2のマージインデックスはそれぞれ0と1であると判定できる。三角パーティションインデックスはルックアップテーブルに関連付けられているため、本開示では、三角パーティションインデックスはテーブルインデックスともいう。
【0131】
5.3 三角パーティションエッジに沿った適応ブレンディング
一実施形態において、それぞれの動き情報を使用して各三角予測ユニットを予測した後、ブレンディングプロセスは、2つの三角予測ユニットの2つの予測信号に適用されて、対角線又は反対角線エッジの周りにサンプルを導出する。ブレンディングプロセスは、2つの三角予測ユニット間の動きベクトル差によって、重み付き係数の2つのグループから適応的に選択する。一実施形態において、重み付き係数の2つのグループは次のとおりである:
(1)重み付き係数の第1のグループ:輝度コンポーネントのサンプルの場合は{7/8、6/8、4/8、2/8、1/8}、彩度コンポーネントのサンプルの場合は{7/8、4/8、1/8};及び
(2)重み付き係数の第2のグループ:輝度コンポーネントのサンプルの場合は{7/8、6/8、5/8、4/8、3/8、2/8、1/8}、彩度コンポーネントのサンプルの場合は{6/8、4/8、2/8}。
重み付き係数の第2のグループには、より多くの輝度重み付き係数があり、分割エッジに沿ってより多くの輝度サンプルをブレンドする。
【0132】
一実施形態において、以下の条件は、重み付き係数の2つのグループのうち1つを選択するために使用される。2つの三角パーティション部分の参照ピクチャが互いに異なっている場合、又は、2つの三角パーティション部分の間の動きベクトル差が閾値よりも大きい場合(例えば、16個の輝度サンプル)、第2の重み付き係数のグループが選択される。それ以外の場合は、重み付き係数の第1のグループが選択される。
【0133】
図21は、重み付き係数の第1のグループを適用するCUの例を示す。示されるように、第1の符号化ブロック(2101)は輝度サンプルを含み、第2の符号化ブロック(2102)は彩度サンプルを含む。符号化ブロック(2101)又は(2102)内の対角エッジに沿った画素のセットは、それぞれ重み付き係数7/8、6/8、4/8、2/8、1/8に対応した番号1、2、4、6、及び7で標識されている。例えば、番号2で標識された画素の場合、ブレンディング操作後の画素のサンプル値は、次のように取得できる:
ブレンディングされたサンプル値=2/8 × P1 + 6/8 × P2
ここで、P1とP2は、それぞれに、各画素におけるサンプル値を表すが、第1の三角予測ユニットと第2の三角予測ユニットの予測に属している。
【0134】
6.インター予測とイントラ予測の組み合わせ(CIIP)
いくつかの実施形態において、CUは、マージモードで符号化され、且つ、少なくとも64個の輝度サンプルを含む場合(つまり、CUの幅にCUの高さを乗ずると、64以上になる)、追加のフラグがシグナリングされて、インター/イントラ予測の組み合わせ(CIIP)モードが現在のCUに適用されるか否かを示す。
【0135】
CIIP予測を形成するために、イントラ予測モードは、まず2つの追加の構文要素から導出される。利用可能なイントラ予測モードは最大4つあり、次のとおりである:DC、平面、水平、又は垂直。次に、通常のイントラ及びインター復号化プロセスを使用して、インター予測及びイントラ予測信号を導出する。最後に、インター及びイントラ予測信号の加重平均化を実行してCIIP予測を得る。
【0136】
6.1 イントラ予測モードの導出
一実施形態において、最大限、dc、平面、水平、及び垂直を含む4つのイントラ予測モードを使用して、CIIPモードで輝度コンポーネントを予測することができる。CUの形状が非常に広い(つまり、幅が高さの2倍を超える)場合、水平モードは許可されない。CUの形状が非常に狭い(つまり、高さが幅の2倍を超える)場合、垂直モードは許可されない。これらの場合、3つのイントラ予測モードのみが許可される。
【0137】
CIIPモードは、イントラ予測に対して、3つの最確モード(MPM)を使用する。CIIP MPM候補リストは、次のように形成される:
(i)左と上の隣接のブロックは、それぞれAとBに設定される;
(ii)それぞれintraModeAとintraModeBとして示されたブロックAとブロックBのイントラ予測モードは、次のように導出される。
【0138】
a.XをA又はBとする;
b.次の場合、intraModeXはDCに設定される:1)ブロックXは利用できない;又は2)ブロックXはCIIPモード又はイントラモードで予測されていない;又は3)ブロックXは現在のCTUの外部にある;及び
c.他では、intraModeXは次のように設定される:1)ブロックXのイントラ予測モードがdc又は平面であると、dc又は平面と設定される;又は2)ブロックXのイントラ予測モードが「垂直に近い」角度モード(34超)であると、垂直と設定される;又は3)ブロックXのイントラ予測モードが「水平に近い」角度モード(34以下)であると、水平と設定される;
(iii)intraModeAとintraModeBは同じである場合:
a.intraModeAが平面又はdcであると、3つのMPMは{平面、dc、垂直}に、その順で設定される;
b.そうでなければ、3つのMPMは{intraModeA、平面、dc}に、その順で設定される;
(iv)他の場合(intraModeAとintraModeBは異なっている):
a.最初の2つのMPMは、{intraModeA、intraModeB}に、その順で設定される。
【0139】
b.平面、dc、垂直の一意性は、その順で最初の2つのMPM候補モードに対して検査され、一意のモードが見つかると、すぐに3番目のMPMとして追加される。
【0140】
CUの形状が、上記に定義されるように非常に広いか又は非常に狭い場合、MPMフラグは、シグナリングなしで1であると推測される。そうでなければ、MPMフラグがシグナリングされて、CIIPイントラ予測モードは、CIIP MPM候補モードのうちの1つであるか否かを示す。
【0141】
MPMフラグが1である場合、MPMインデックスがさらにシグナリングされて、MPM候補モードのうちのどれがCIIPイントラ予測に使用されるかを示す。他では、MPMフラグが0の場合、イントラ予測モードは、MPM候補リストの「欠落(missing)」モードに設定される。例えば、MPM候補リストに平面モードがないと、平面は欠落モードであり、イントラ予測モードは、平面に設定される。CIIPでは4つの可能なイントラ予測モードが許可されており、且つ、MPM候補リストには3つのイントラ予測モードしか含まれていないため、4つの可能なモードの1つが欠落モードである可能性がある。
【0142】
彩度コンポーネントの場合、DMモードは、追加のシグナリングなしで適用される。例えば、彩度は輝度と同一の予測モードを使用する。
【0143】
CIIPで符号化されたCUのイントラ予測モードは保存され、将来の隣接のCUのイントラモード符号化に使用される。
【0144】
6.2 インター予測信号とイントラ予測信号の組み合わせ
一実施形態において、CIIPモードのインター予測信号P_interは、通常のマージモードに適用される同じインター予測プロセスを使用することで導出され、イントラ予測信号P_intraは、通常のイントラ予測プロセスに基づいてCIIPイントラ予測モードを使用することで導出される。次に、加重平均化でイントラ予測信号とインター予測信号を結合する。ここで、重み値は、イントラ予測モードに依存し、サンプルは、次のように符号化ブロック内に位置する。
【0145】
イントラ予測モードがDC又は平面モードである場合、又は、ブロックの幅又は高さが4より小さい場合、同等の重みが、イントラ予測信号およびインター予測信号に適用される。そうでなければ、重みは、イントラ予測モード(この場合は水平モード又は垂直モード)及びブロック内のサンプル位置に基づいて決定される。水平予測モードを例にとって(垂直モードの重みは同様に導出されるが、直交方向に沿う)説明する。Wは、ブロックの幅を表し、Hは、ブロックの高さを表す。符号化ブロックは、最初に4つの等面積部分に分割され、各部分の寸法は、(W/4)×Hである。イントラ予測参照サンプルに最も近い部分から始まり、且つ、イントラ予測参照サンプルから最も遠い部分で終わる、4つの領域のそれぞれの重みwtが、それぞれ6、5、3、及び2に設定される。最終のCIIP予測信号は、次式で導出される:
P_“CIIP”=((8-wt)*P_inter+wt*P_intra+4)≫3 (式2.3)
III.
インターウィーブしたアフィン予測
いくつかの実施形態において、
インターウィーブしたアフィン予測が使用される。例えば、
図22に示すように、16×16サンプルのサイズを有するカレントブロック(2210)は、2つの異なった分裂パターン(パターン0(2220)およびパターン1(2230))でサブブロックに分裂される。パターン0(2220)の場合、カレントブロック(2210)は、同じサイズの4×4のサブブロック(2221)に分裂される。対照的に、パターン1(2230)は、パターン0(2220)に対して2×2オフセットだけ、カレントブロック(2210)の右下隅に向かってシフトする。パターン1(2230)の場合、カレントブロック(2210)は、それぞれ4×4のサイズを有する完全サブブロック(2231)と、それぞれ4×4よりも小さいサイズを有する部分サブブロック(2232)とに分割される。
図22では、部分サブブロック(2232)は、完全サブブロック(2231)で形成された非網掛け領域を囲む網掛け領域を形成する。
【0146】
続いて、2つの分裂パターン(2220)および(2230)に対応する2つの補助予測P0(2240)およびP1(2250)が、アフィン動き補償(AMC)によって生成される。例えば、アフィンモデルは、サブブロックベースのマージ候補リストのアフィンマージ候補から決定できる。パターン0(2220)および(2230)から分割された各サブブロックのMVは、アフィンモデルに基づいて導出される。例えば、MVは、それぞれ、各自のサブブロックの中心位置から開始できる。
【0147】
その後、最終の予測(2270)は、2つの予測P0(2240)およびP1(2250)を結合することによって算出される。例えば、次式に基づいて、画素ずつ、加重平均演算(2261)を実行して、2つの予測P0(2240)およびP1(2250)の2つの対応したサンプル(P
0およびP
1で表される)の加重平均を計算することができる:
【数15】
ここで、
【数16】
と
【数17】
は、それぞれ、2つの予測P0(2240)およびP1(2250)の同一位置のサンプルのペアに対応する重みである。
【0148】
一実施形態において、加重平均演算(2261)の各サンプルの重みは、
図23に示されるパターン(2300)に基づいて決定され得る。パターン(2300)は、サブブロック2310(例えば、完全サブブロック(2221)又は(2231))に含まれる16個のサンプルを含む。サブブロック(2310)の中心に位置する予測サンプルは、3の加重値に関連付けられており、一方で、サブブロック(2310)の境界に位置する予測サンプルは、1の加重値に関連付けられている。サブブロック(2221)又は(2231)内のサンプルの位置によって、サンプルに対応する重みはパターン(2300)に基づいて決定され得る。
【0149】
一実施形態において、ごく小さなブロックの動き補償を回避するために、
インターウィーブした予測は、
図22に示すように、2つの分裂パターンの両方のサブブロックのサイズが4×4の領域のみに適用される。例えば、パターン1(2230)の網掛け領域では、
インターウィーブした予測は適用されず、パターン1(2230)の非網掛け領域では、
インターウィーブした予測が適用される。
【0150】
一実施形態において、インターウィーブした予測は、彩度コンポーネント及び輝度コンポーネントに適用される。加えて、本開示によれば、すべてのサブブロックのAMCに使用される参照ピクチャの領域が全体として一緒にフェッチされるため、メモリアクセス帯域幅は、インターウィーブした予測によって増加されない。追加の読み取り操作を必要としない。
【0151】
さらに、柔軟性のために、フラグをスライスヘッダでシグナリングしてインターウィーブした予測が使用されるか否かを示す。一例において、フラグは、常に1となるようにシグナリングされる。様々な実施形態において、インターウィーブしたアフィン予測は、ユニ予測アフィンブロック、又は、ユニ予測および双予測アフィンブロックの両方に適用され得る。
【0152】
IV.加重予測
いくつかの実施形態において、双予測ブロックおよびユニ予測ブロックのための加重サンプル予測が採用されている。
【0153】
一実施形態において、重み付きサンプル予測プロセスへの入力は次のとおりである:
-現在の符号化ブロックの幅と高さを指定する2つの変数(nCbWとnCbH)
-それぞれ中間予測サンプル値を含む2つの(nCbW)×(nCbH)アレイpredSamplesL0とpredSamplesL1
-予測リスト使用率フラグpredFlagL0とpredFlagL1
-参照インデックスrefIdxL0とrefIdxL1
-双予測重みインデックスgbiIdx
-サンプルビット深度bitDepth
【0154】
重み付きサンプル予測プロセスの出力は、予測サンプル値の(nCbW)×(nCbH)アレイpbSamplesである。
【0155】
変数shift1、shift2、offset1、offset2、及びoffset3は、次のように導出される。
-変数shift1はMax(2,14-bitDepth)に等しいように設定され、変数shift2はMax(3,15-bitDepth)に等しいように設定される。
-変数offset1は1<<(shift1―1)に等しいように設定される。
-変数offset2は1<<(shift2―1)に等しいように設定される。
-変数offset3は1<<(shift2+2)に等しいように設定される。
【0156】
predFlagL0およびpredFlagL1の値によって、x=0(nCbW―1)且つy=0(nCbH―1)である予測サンプルpbSamples[x][y]は、次のように導出される。
(1)predFlagL0が1に等しく、predFlagL1が0に等しい場合、予測サンプル値は、次のように導出される。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)―1,(predSamplesL0[x][y]+offset1)>>shift1) (式4.1)
(2)それ以外の場合、predFlagL0が0に等しく、predFlagL1が1に等しいと、予測サンプル値は、次のように導出される。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)―1,(predSamplesL1[x][y]+offset1)>>shift1) (式4.2)
(3)それ以外の場合(predFlagL0が1に等しく、predFlagL1が1に等しい)、以下が適用される。
(i)gbiIdxが0に等しい場合、予測サンプル値は次のように導出される。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)―1,(predSamplesL0[x][y]+predSamplesL1[x][y]+offset2)>>shift2) (式4.3)
(ii)それ以外の場合(gbiIdxが0に等しくない)、以下が適用される。
変数w1は、gbiWLut[k]={4,5,3,10,-2}であるgbiWLut[gbiIdX]に等しいように設定される。変数w0は、(8―w1)に等しいように設定される。予測サンプル値は、次のように導出される。
pbSamples[x][y]=Clip3(0,(1<<bitDepth)―1,(w0*predSamplesL0[x][y]+w1*predSamplesL1[x][y]+offset3)>>(shift2+3)) (式4.4)
【0157】
V.高精度の
インターウィーブしたアフィン予測
1.低精度の
インターウィーブしたアフィン予測
図22の例では、2つの分裂パターン(2220)および(2230)に対応する2つの予測(2240)および(2250)を生成するために、アフィン動き補償(AMP)プロセスを実行する。例えば、アフィンモデルに基づいて、16個のサブブロック(2221)および9個のサブブロック(2231)に対応するMVを決定する。それらのMVは、サブ画素精度(例えば、1/2画素、1/4画素、1/8画素、又は1/16精度)を有することができる。従って、MVのサブ画素精度に対応して、補間プロセスを実行して、参照ピクチャ内に補間されたサンプルを生成する。補間されたサンプルを有する補間された参照ピクチャにわたり、サブブロック(2221)および(2231)のサブブロック予測を検索できる。
【0158】
上記補間プロセス中に、補間された参照ピクチャ又はカレントブロック(2210)の入力ビット深度(例えば、10ビット)よりも大きい中間ビット深度(例えば、16ビット)を採用することができる。従って、サブブロック予測(又は予測器)は、入力ビット深度に対応する低精度と比較して、中間ビット深度に対応する高精度(又は精度)のサンプルを含んでよい。
【0159】
図22の例において、サブブロック予測(又は、予測器)の高精度のサンプル値は、予測ブロック(2240)および(2250)に保存される前に、低精度のサンプル値に変換される。例えば、右シフト演算によって、中間ビット深度(16ビット)は、入力ビット深度(例えば、10ビット)に丸められる。その後、画素ずつ低精度(例えば、入力ビット深度)で加重平均演算(2261)を実行して、最終予測(2270)を得る。
【0160】
上記の
図22の例における精度変換演算と加重平均演算(2262)は、一緒に次式で表される。
Pred=((Interp(P0)>>shift1)*w0)+(Interp(P1)>>shift1 * w1)+offset1)/(w0+w1) (式5.1)
ここで、Predは最終予測(2270)のサンプルの値を表し、Interp(P0)およびInter(P1)は、それぞれ、パターン(2220)又は(2230)に対応する高精度の補間されたサンプルの値を表し、w0およびw1は、それぞれの補間されたサンプルに関連付けられた重みを表し、offset1は、丸めオフセットを表す。
【0161】
式(5.1)で示されるように、Interp(P0)およびInterp(P1)は、加重平均演算が実行される前に、高精度から低精度に変換される。
【0162】
2.高精度の
インターウィーブしたアフィン予測
図24は、本開示の一実施形態による、
インターウィーブしたアフィン予測プロセス2400を示す。プロセス2400は、
図22の例におけるプロセスと同様であるが、より高い精度の最終予測(2470)を生成できる。
【0163】
示されるように、パターン(2220)および(2230)に対応する2つの予測(2440)および(2450)は、AMCプロセスの結果として生成できる。特に、入力ビット深度(例えば、10ビット)よりも大きい中間ビット深度(例えば、16ビット)を有する補間されたサンプルは、予測(2440)および(2450)に保存され得る。さらに、予測(2440)および(2450)は、元のサンプルを含んでよいが、それらの元のサンプルは、中間ビット深度(例えば、入力ビット深度から中間ビット深度に変換される)で表されてよい。従って、高精度のサンプル値(例えば、16ビットのビット深度)は、予測ブロック(2440)および(2450)に含まれている。対照的に、予測(2240)および(2250)は、
図22の例における低精度のサンプル値(例えば、10ビットのビット深度)を含む。
【0164】
その後、画素ずつ、
図22の例と同様の加重平均演算(2461)は実行できるが、併置されたサンプル値のペアは、入力として高精度を有する。加重平均演算(2461)から得られた平均サンプル値は、依然として高精度を有することができる。
【0165】
加重平均演算(2461)の後、画素ずつ、精度変換演算(2462)を実行して、加重平均演算(2461)から得られた平均サンプル値を変換して、最終予測(2470)の最終サンプル値を生成することができる。例えば、平均化されたサンプル値は、16ビットの中間ビット深度から10ビットの入力ビット深度に変換される。
【0166】
プロセス2400は、次式で表すことができる。
Pred={((Interp(P0)*w0)+(Interp(P1)*w1)+offset2)/(w0+w1)}>>shift (式5.2)
この式の変形は次のとおりである。
Pred= ((Interp(P0)*w0)+(Interp(P1) w1)+offset3)/{(w0+w1)<<shift} (式5.3)
【0167】
式(5.2)では、加重平均演算から得られたサンプル値は、右シフトされて中間ビット深度から入力ビット深度に変換される。対照的に、式(5.3)では、平均演算(1/(w0+w1))と右シフト演算(>>shift)を組み合わせて、加重和を割る。offset2およびoffset3は、丸めオフセットである。平均化又は右シフトされる値に丸めオフセットを追加することによって、一般的には計算精度を向上させることができる。
【0168】
図22の例と比較して、プロセス2400では、加重平均演算に対して入力された低精度のサンプル値を使用する代わりに、加重平均演算が終わるまで高精度を維持する。結果として、最終予測(2470)のサンプル値は、より高い精度を有することができ、
インターウィーブしたアフィン予測プロセス2400の性能を改善することができる。
【0169】
一実施形態において、範囲制約演算は、さらに、精度変換演算(2462)からの平均値に適用される。その結果、最終予測(2470)の最終サンプル値は、0から可能な最大サンプル値(例えば、(1<<input bitDepth)-1)までの範囲にあるように限定される。例えば、制約演算は次式で表され得る。
Clip(0,(1<<bitDepth)―1,Pred) (式5.4)
ここで、clip()は、クリッピング演算を表す。
【0170】
一実施形態においては、
図25に示すように、分裂パターン(2230)が改めて生成され、分裂パターン(2230)内の部分サブブロック(2232)(網掛け領域)が予測されない(言い換えれば、
インターウィーブしたアフィン予測が適用されない)。例えば、網掛け領域では、補間は実行されない。網掛け領域内の元のサンプルは、予測(2250)に保存されてよい。予測(2250)の網掛け領域のサンプルに対して、ゼロの重み(w1=0)が適用でき、式(5.2)又は(5.3)は、同様に、予測(2250)の他のサンプルに適用できる。このようにして、統一された加重平均計算プロセス(例えば、加重平均演算(2461))が、予測(2240)および(2250)のすべての画素に使用され得る。
【0171】
別の実施形態においては、同等の重み(w0=w1)を
図25の(完全サブブロック2231に対応する)非網掛け領域のサンプルに使用して、加重平均演算(2461)を行う。このようにして、重み付きパターン2300を記憶する必要がなく、加重平均演算(2461)は、単純化できる。
【0172】
3.インターウィーブしたアフィン予測で符号化されたブロックのデブロック化
一実施形態においては、インターウィーブしたアフィン予測で符号化されたブロックに対して、デブロック化を無効にする。例えば、ブロック内のサンプルに対して、デブロック化は実行されない。一般に、アフィン符号化されたブロックに対して、デブロック化操作を実行して、サブブロックのエッジにおける不連続性を低減することができる。しかし、インターウィーブしたアフィン予測は、加重平均演算のためにスムージング効果を有する。従って、デブロック化を無効にして、処理コストを節約することができる。
【0173】
別の実施形態において、デブロック化は、非網掛け領域内で無効化されているが、網掛け領域内で依然として実行されている(
図25に示すように)。例えば、いくつかの実施形態において、
インターウィーブしたアフィン予測は、網掛け領域ではなく、非網掛け領域のみに適用される。従って、網掛け領域および非網掛け領域は、異なった方法で処理できる。
【0174】
4.高精度の
インターウィーブしたアフィン予測プロセスの例
図26は、本開示の一実施形態による、プロセス(2600)の概要のフローチャートを示す。プロセス(2600)を
インターウィーブしたアフィン予測モードで符号化されたブロックの再構築に使用して、再構築中のブロックの予測ブロックを生成することができる。様々な実施形態において、プロセス(2600)は、処理回路(例えば、端末装置(210)、(220)、(230)、及び(240)内の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、など)によって実行される。いくつかの実施形態において、プロセス(2600)は、ソフトウェア命令で実行されるため、処理回路がソフトウェア命令を実行する場合、処理回路はプロセス(2600)を実行する。プロセスは、ステップS2601で始まり、ステップS2610に進む。
【0175】
ステップS2610においては、インターウィーブしたアフィン予測モードで符号化されたカレントブロックに対して、アフィンモデルを決定することができる。例えば、ビットストリーム内で受信されたマージインデックスに基づいて、アフィンマージ候補(例えば、再構築又は継承されたアフィン候補)をサブブロックベースのマージ候補リストから選択してよい。選択されたマージ候補は、3つ又は2つのCPMV、或いは、アフィンモデルパラメータで、アフィンモデルを表してよい。
【0176】
ステップS2620において、第1及び第2の分裂パターンに対応する第1及び第2の予測ブロックを生成することができる。例えば、別々に第1及び第2の分裂パターンを使用して、カレントブロックをサブブロックに分割することができる。アフィンモデルに基づいて、サブブロックに対応するMVを決定できる。サブブロックのMVに基づいて、AMCプロセスを実行して、第1及び第2の予測ブロックを決定することができる。AMCプロセス中に、カレントブロックの入力深度(例えば、10ビット)よりも大きい中間ビット深度(例えば、16ビット)を有する、補間されたサンプルを生成できる。得られた第1及び第2の予測ブロックは、カレントブロック内の元のサンプルよりも高い精度を有する補間されたサンプルを含むことができる。
【0177】
ステップS2630において、第3(最終)の予測ブロックは、第1及び第2の予測ブロックに基づいて生成され得る。例えば、それぞれ中間ビット深度に対応する高精度を有する、第1の予測ブロック内の第1サンプルおよび第2の予測ブロック内の対応した第2のサンプルは、加重平均演算を実行して平均化されたサンプルを得ることにより、結合される。平均化されたサンプルは、続いて、入力ビット深度に丸められて、第3の予測ブロック内の対応した第3のサンプルを得る。プロセス(2600)は、ステップS2699に進んで、ステップS2699で終了し得る。
【0178】
VI.コンピュータシステム
上述した技術は、コンピュータソフトウェアとして実行でき、上記コンピュータソフトウェアは、コンピュータ可読命令を使用し、且つ、物理的に一つ以上のコンピュータ可読媒体に記憶される。例えば、
図27は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(2700)を示す。
【0179】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンキング、又は類似のメカニズムであってよい、任意の適切なマシンコード又はコンピュータ言語で符号化されて、命令を含むコードを作成することができる。上述の命令は、一つ以上のコンピュータの中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)などによって、直接実行されたり、解釈、マイクロコード実行などを通じて、実行されたりすることができる。
【0180】
例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、インターネットオブシングスの装置などを含む、様々なコンピュータやそのコンポーネント上で、命令を実行することができる。
【0181】
図27に示されるコンピュータシステム(2700)のコンポーネントは、本質的に例示であり、本開示の実施形態を実施するコンピュータソフトウェアの使用又は機能の範囲について何ら限定を示唆するものではない。また、コンポーネントの構成は、コンピュータシステム(2700)の例示的な実施形態に示されるコンポーネントのいずれか1つ又はそれらの組み合わせに関連する依存性又は要件を有すると解釈されるべきではない。
【0182】
コンピュータシステム(2700)は、特定のヒューマンインターフェース入力装置を含んでよい。このようなヒューマンインターフェース入力装置は、例えば、触覚入力(キーストローク、スワイプ、データグローブの動、きなど)、音声入力(音声、拍手、など)、視覚入力(ジェスチャー、など)、嗅覚入力(図示せず)を介して、1人以上の人間ユーザによる入力に応答することができる。ヒューマンインターフェース装置は、オーディオ(音声、音楽、周囲の音、など)、画像(スキャンされた画像、静止画像カメラから得られた写真用の画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオ、など)等、必ずしも人間による意識的な入力に直接関連しない特定のメディアを取り込むためにも使用できる。
【0183】
入力ヒューマンインターフェース装置は、キーボード(2701)、マウス(2702)、トラックパッド(2703)、タッチスクリーン(2710)、データグローブ(図示せず)、ジョイスティック(2705)、マイク(2706)、スキャナー(2707)、カメラ(2708)のうちの1つ以上(それぞれに対して、1つのみが図示される)を含んでよい。
【0184】
コンピュータシステム(2700)は、特定のヒューマンインターフェース出力装置を含んでよい。このようなヒューマンインターフェース出力装置は、例えば、触覚出力、音、光、及び嗅覚/味覚を通じて、1人以上の人間のユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力装置は、触覚出力装置(例えば、タッチスクリーン(2710)、データグローブ(図示せず)、又はジョイスティック(2705)による触覚フィードバックがあるが、入力装置として機能するわけではない触覚フィードバック装置)、オーディオ出力装置(スピーカー(2709)、ヘッドフォン(図示せず)、など)、ビジュアル出力装置(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2710)などがあり、それぞれは、タッチスクリーン入力機能と触覚フィードバック機能が付いているか、又は、付いていない。上述のスクリーンの一部は、ステレオグラフィック出力、仮想現実ガラス(図示せず)、ホログラフィックディスプレイ、及びスモークタンク(図示せず)、などの手段を介して、2次元の視覚出力又は3次元を超える出力を出力できる))、及び、プリンター(図示せず)を含んでよい。
【0185】
コンピュータシステム(2700)は、CD/DVD又は類似のメディア(2721)が付いたCD/DVD ROM/RW(2720)を含む光媒体、サムドライブ(2722)、取り外し可能なハードドライブ又はソリッドステートドライブ(2723)、テープやフロッピーディスクのようなレガシー磁気メディア(図示せず)、セキュリティドングルのような特殊のROM/ASIC/PLDベースの装置(図示せず)などの人間がアクセス可能な記憶装置及びその関連メディア、を含んでよい。
【0186】
当業者であれば、本明細書に開示された主題に関連して使用される、「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、又は他の一時的信号を含んでいないことも理解すべきである。
【0187】
コンピュータシステム(2700)は、一つ以上の通信ネットワークへのインターフェースを含んでもよい。ネットワークは、例えば、無線、有線、光であってよい。ネットワークは、さらに、ローカル、広域、メトロポリタン、車両と産業、リアルタイム、遅延耐性、などであってよい。ネットワークの例には、イーサネット、無線LANのようなローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、地上波放送テレビを含むテレビ有線又はワイヤレス広域デジタルネットワーク、CANBusなどを含む車両と産業、が含まれている。特定のネットワークでは、通常、特定の汎用データポート又はペリフェラルバス(2749)(例えば、コンピュータシステム(2700)のUSBポート)に接続された外部ネットワークインターフェースアダプタが必要である。他は、一般的に、以下に説明するように、システムバスに接続することによってコンピュータシステム(2700)のコアに組み込まれる(例えば、PCコンピュータシステムへのイーサネットインターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(2700)は、他のエンティティと通信できる。このような通信は、単方向受信のみ(例えば、テレビ放送)、単方向送信のみ(例えば、CANbusから特定のCANbus装置へ)、又は、双方向、例えば、ローカル又はワイドエリアデジタルネットワークを使用する、他のコンピュータシステムへの通信、が挙げられる。上記のように、特定のプロトコルとプロトコルスタックは、これらのネットワークとネットワークインターフェースのそれぞれに使用できる。
【0188】
前述のヒューマンインターフェース装置、ヒューマンアクセス可能な記憶装置、及びネットワークインターフェースは、コンピュータシステム(2700)のコア(2740)に接続することができる。
【0189】
コア(2740)は、1つ以上の中央処理装置(CPU)(2741)、グラフィックスプロセッシングユニット(GPU)(2742)、フィールドプログラマブルゲートエリア(FPGA)(2743)の形式の特殊のプログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(2744)、などを含むことができる。これらの装置は、読み取り専用メモリ(ROM)(2745)、ランダムアクセスメモリ(2746)、及び、内部非使用者アクセス可能なハードドライブ、SSDなどのような内部大容量記憶装置(2747)と共に、システムバス(2748)を介して接続されてよい。一部のコンピュータシステムにおいて、システムバス(2748)は、一つ以上の物理的プラグの形でアクセス可能であって、追加のCPU、GPUなどによる拡張を有効にする。周辺機器は、直接か又はペリフェラルバス(2749)を介して、コアのシステムバス(2748)に接続され得る。ペリフェラルバスのアーキテクチャには、PCI、USBなどが含まれる。
【0190】
CPU(2741)、GPU(2742)、FPGA(2743)、及びアクセラレータ(2744)は、組み合わされて、上述のコンピュータコードを構成できる特定の命令を実行できる。そのコンピュータコードは、ROM(2745)又はRAM(2746)に記憶され得る。移行データは、RAM(2746)に記憶され得るが、一方で、永久データは、例えば、内部大容量記憶装置(2747)に記憶され得る。一つ以上のCPU(2741)、GPU(2742)、大容量記憶装置(2747)、ROM(2745)、RAM(2746)などに密接に関連付けられることができるキャッシュメモリを使用することで、任意のメモリ装置への高速記憶と読み出しを有効にできる。
【0191】
コンピュータ可読媒体は、その上にコンピュータコードを含み、様々なコンピュータ実行操作を実行することができる。メディア及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであり得るか、又は、コンピュータソフトウェア技術を持つ人々によく知られていて、利用可能なものであり得る。
【0192】
非限定的な一例として、アーキテクチャを有するコンピュータシステム(2700)、特にコア(2740)は、一つ以上の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行する(CPU、GPU、FPGA、アクセラレータ、などを含む)プロセッサの結果として、機能性を提供できる。このようなコンピュータ可読媒体は、上記に紹介された、ユーザがアクセス可能な大容量記憶装置、及び、コア内部大容量記憶装置(2747)又はROM(2745)のような非一時的性質を有するコア(2740)の特定の記憶装置に関連付けられた媒体であり得る。本開示の様々な実施形態を実行するソフトウェアは、このような装置に記憶され、コア(2740)で実行され得る。コンピュータ可読媒体は、特定の要求に応じて、一つ以上のメモリ装置又はチップを含むことができる。ソフトウェアは、コア(2740)、特にその中のプロセッサ(CPU、GPU、FPGA、などを含む)に、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行させることができ、上述のプロセスは、RAM(2746)に記憶されたデータ構造を定義するステップと、ソフトウェアによって定義されたプロセスに基づいて、このようなデータ構造を変更するステップとを含む。加えて、又は、代替として、コンピュータシステムは、回路内のロジックハードワイヤード化又は具体化の結果として、機能性を提供でき(例えば、アクセラレータ(2744))、上述の機能性は、ソフトウェアの代わりに又はそれと共に作動して、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行することができる。ソフトウェアへの言及は、論理を含むことができ、必要に応じて、その逆も可能である。コンピュータ可読媒体への言及は、実行用のソフトウェアを記憶する回路(例えば、集積回路(IC))、実行用の論理を具体化する回路、又は、必要に応じて、両方を含むことができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを含む。
【符号の説明】
【0193】
AMVP:高度なMVP
ASIC:特定用途向け集積回路
BMS:ベンチマークセット
CANBuS:コントローラーエリアネットワークバス
CD:コンパクトディスク
CPU:中央処理装置
CRT:ブラウン管
CTB:ツリーブロックの符号化
CTU:ツリーユニットの符号化
CU:符号化ユニット
DVD:デジタルビデオディスク
FPGA:フィールドプログラマブルゲートアレイ
GOP:ピクチャのグループ
GPU:グラフィックスプロセッシングユニット
GSM:モバイル通信用のグローバルシステム
HEVC:高効率ビデオ符号化
HMVP:履歴ベースのMVP
HRD:仮想参照デコーダ
IC:集積回路
JEM:共同探索モデル
LAN:ローカルエリアネットワーク
LCD:液晶ディスプレイ
LTE:長期的な進化
MMVD:MVDとのマージ
MV:動きベクトル
MVD:動きベクトル差分
MVP:動きベクトル予測器
OLED:有機発光ダイオード
PB:予測ブロック
PCI:ペリフェラルコンポーネントインターコネクト
PLD:プログラマブルロジック装置
PU:予測ユニット
RAM:ランダムアクセスメモリ
ROM:読み取り専用メモリ
SEI:補足強化情報
SNR:信号雑音比
SSD:ソリッドステートドライブ
SbTMVP:サブブロックベースのTMVP
TU:変換ユニット
TMVP:時間的MVP
USB:ユニバーサルシリアルバス
VTM:バーサタイルテストモデル
VUI:ビデオユーザビリティ情報
VVC:バーサタイルビデオ符号化
【0194】
本開示は、いくつかの例示的な実施形態を記載しているが、本開示の範囲内にある変更、置換、及び様々な代替同等物が存在する。従って、当業者であれば、多数のシステム及び方法を考案でき、上述のシステム及び方法は、本明細書に明示的に示されていないか、又は、記載されていないが、本開示の原理を具体化するので、その精神及び範囲内にあることが理解されるようになる。