(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024123143
(43)【公開日】2024-09-10
(54)【発明の名称】ビデオエンコーディングおよびデコーディングにおけるアフィンモードシグナリング
(51)【国際特許分類】
H04N 19/13 20140101AFI20240903BHJP
H04N 19/176 20140101ALI20240903BHJP
H04N 19/139 20140101ALI20240903BHJP
【FI】
H04N19/13
H04N19/176
H04N19/139
【審査請求】有
【請求項の数】30
【出願形態】OL
(21)【出願番号】P 2024099480
(22)【出願日】2024-06-20
(62)【分割の表示】P 2021520102の分割
【原出願日】2019-10-09
(31)【優先権主張番号】18306339.5
(32)【優先日】2018-10-10
(33)【優先権主張国・地域又は機関】EP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
(71)【出願人】
【識別番号】318017914
【氏名又は名称】インターデイジタル ヴィーシー ホールディングス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】フランク ガルピン
(72)【発明者】
【氏名】ファブリス ル ルアンネック
(72)【発明者】
【氏名】フィリップ ボルデ
(57)【要約】
【課題】新規なビデオエンコーディングおよびデコーディングにおけるアフィンモードシグナリングが望まれている。
【解決手段】一般に、ピクチャ部分をエンコードまたはデコードすることは、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABAC確率モデルと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABAC確率モデルとを含むことができ、第1および第2のCABAC確率モデルは、異なり、独立して決定される。
【選択図】
図10
【特許請求の範囲】
【請求項1】
アフィンフラグをエンコードするためのCABACコンテキストを取得するステップであって、前記アフィンフラグはAMVPモードにおけるまたはマージモードにおけるブロックを予測するアフィンモードの使用をシグナリングしている、ステップと、
前記CABACコンテキストを使用して、前記AMVPモードおよび前記マージモードの間で前記アフィンモードの使用の異なる統計的発生を考慮して、前記アフィンフラグをエンコードするステップと
を備える方法。
【請求項2】
アフィンフラグをデコードするためのCABACコンテキストを取得するステップであって、前記アフィンフラグはAMVPモードにおけるまたはマージモードにおけるブロックを予測するアフィンモードの使用をシグナリングしている、ステップと、
前記CABACコンテキストを使用して、前記AMVPモードおよび前記マージモードの間で前記アフィンモードの使用の異なる統計的発生を考慮して、前記アフィンフラグをデコードするステップと
を備える方法。
【請求項3】
前記CABACコンテキストは、前記AMVPモードおよび前記マージモードの間で共有される請求項1または2に記載の方法。
【請求項4】
前記CABACコンテキストは、前記ブロックの近隣ブロックと関連付けられたアフィンフラグの値の関数として、取得される請求項1乃至3いずれかに記載の方法。
【請求項5】
前記CABACコンテキストの値は、
左隣のブロックと上隣のブロックのいずれもアフィンモードでシグナリングされない場合に、0であり、
前記左隣のブロックが前記アフィンモードでシグナリングされ、前記上隣のブロックが前記アフィンモードでシグナリングされない場合に、1であり、
前記左隣のブロックおよび前記上隣のブロックの両方が、前記アフィンモードでシグナリングされる場合に、2である
のいずれかである請求項4に記載の方法。
【請求項6】
前記CABACコンテキストの値は、
左隣のブロックと上隣のブロックのいずれもアフィンモードでシグナリングされない場合に、0であり、
前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが、前記アフィンモードでシグナリングされる場合に、1である
のいずれかである請求項1または2に記載の方法。
【請求項7】
前記CABACコンテキストを取得するステップは、仮想アフィン候補が近隣ブロックから構築され得るか否かを考慮する請求項1または2に記載の方法。
【請求項8】
近隣ブロックがインターモードで、しかしアフィン動きモデルを使用しないで符号化される場合、仮想アフィン候補が前記近隣ブロックから構築される請求項7に記載の方法。
【請求項9】
前記CABACコンテキストの値は、
左隣のブロックと上隣のブロックのいずれもインターモードでシグナリングされない場合に、0であり、
前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが、前記インターモードでシグナリングされ、かつ、前記左隣のブロックと前記上隣のブロックのいずれも前記アフィンモードでシグナリングされない場合に、1であり、
前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが、前記インターモードでシグナリングされ、かつ、前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが前記アフィンモードでシグナリングされる場合に、2である
のいずれかである請求項8に記載の方法。
【請求項10】
前記CABACコンテキストを取得するステップは、仮想時間アフィン候補が、インターモードで符号化された参照ピクチャにおける時間的に同一位置にあるブロックから構築され得るか否かをさらに考慮することを含む請求項7に記載の方法。
【請求項11】
前記CABACコンテキストの値は、
左隣のブロックと上隣のブロックのいずれもインターモードでシグナリングされず、かつ、参照ピクチャインデックス0を持つインター参照ピクチャが利用可能でない場合に、0であり、
前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが、前記インターモードでシグナリングされ、かつ、前記左隣のブロックと前記上隣のブロックのいずれも前記アフィンモードでシグナリングされない、もしくは、参照ピクチャインデックス0を持つインター参照ピクチャが利用可能な場合に、1であり、
前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが、前記インターモードでシグナリングされ、かつ、前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが前記アフィンモードでシグナリングされる場合に、2である
のいずれかである請求項10に記載の方法。
【請求項12】
前記CABACコンテキストは、前記AMVPモードおよび前記マージモードの両方において、同一の導出を使用して取得される請求項1乃至11いずれかに記載の方法。
【請求項13】
前記アフィンフラグをエンコードするステップは、
前記ブロックが前記AMVPモードにある場合、前記CABACコンテキストに関連付けられた第1のCABAC確率モデルを取得し、前記第1のCABAC確率モデルを使用して前記アフィンフラグをエンコードすること、および、
前記ブロックが前記マージモードにある場合、前記CABACコンテキストに関連付けられた、前記第1のCABAC確率モデルとは異なる第2のCABAC確率モデルを取得し、前記第2のCABAC確率モデルを使用して前記アフィンフラグをエンコードすること
を含む請求項1に記載の方法。
【請求項14】
前記アフィンフラグをデコードするステップは、
前記ブロックが前記AMVPモードにある場合、前記CABACコンテキストに関連付けられた第1のCABAC確率モデルを取得し、前記第1のCABAC確率モデルを使用して前記アフィンフラグをデコードすること、および、
前記ブロックが前記マージモードにある場合、前記CABACコンテキストに関連付けられた、前記第1のCABAC確率モデルとは異なる第2のCABAC確率モデルを取得し、前記第2のCABAC確率モデルを使用して前記アフィンフラグをデコードすること
を含む請求項2に記載の方法。
【請求項15】
アフィンフラグをエンコードするためのCABACコンテキストを取得し、前記アフィンフラグはAMVPモードにおけるまたはマージモードにおけるブロックを予測するアフィンモードの使用をシグナリングしており、
前記CABACコンテキストを使用して、前記AMVPモードおよび前記マージモードの間で前記アフィンモードの使用の異なる統計的発生を考慮して、前記アフィンフラグをエンコードする
よう構成された1つ以上のプロセッサ
を備えた装置。
【請求項16】
アフィンフラグをデコードするためのCABACコンテキストを取得し、前記アフィンフラグはAMVPモードにおけるまたはマージモードにおけるブロックを予測するアフィンモードの使用をシグナリングしており、
前記CABACコンテキストを使用して、前記AMVPモードおよび前記マージモードの間で前記アフィンモードの使用の異なる統計的発生を考慮して、前記アフィンフラグをデコードする
よう構成された1つ以上のプロセッサ
を備えた装置。
【請求項17】
前記CABACコンテキストは、前記AMVPモードおよび前記マージモードの間で共有される請求項15または16に記載の装置。
【請求項18】
前記CABACコンテキストは、前記ブロックの近隣ブロックと関連付けられたアフィンフラグの値の関数として、取得される請求項15乃至17いずれかに記載の装置。
【請求項19】
前記CABACコンテキストの値は、
左隣のブロックと上隣のブロックのいずれもアフィンモードでシグナリングされない場合に、0であり、
前記左隣のブロックが前記アフィンモードでシグナリングされ、前記上隣のブロックが前記アフィンモードでシグナリングされない場合に、1であり、
前記左隣のブロックおよび前記上隣のブロックの両方が、前記アフィンモードでシグナリングされる場合に、2である
のいずれかである請求項18に記載の装置。
【請求項20】
前記CABACコンテキストの値は、
左隣のブロックと上隣のブロックのいずれもアフィンモードでシグナリングされない場合に、0であり、
前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが、前記アフィンモードでシグナリングされる場合に、1である
のいずれかである請求項15または16に記載の装置。
【請求項21】
前記CABACコンテキストを取得することは、仮想アフィン候補が近隣ブロックから構築され得るか否かを考慮する請求項15または16に記載の装置。
【請求項22】
近隣ブロックがインターモードで、しかしアフィン動きモデルを使用しないで符号化される場合、仮想アフィン候補が前記近隣ブロックから構築される請求項21に記載の装置。
【請求項23】
前記CABACコンテキストの値は、
左隣のブロックと上隣のブロックのいずれもインターモードでシグナリングされない場合に、0であり、
前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが、前記インターモードでシグナリングされ、かつ、前記左隣のブロックと前記上隣のブロックのいずれも前記アフィンモードでシグナリングされない場合に、1であり、
前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが、前記インターモードでシグナリングされ、かつ、前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが前記アフィンモードでシグナリングされる場合に、2である
のいずれかである請求項22に記載の装置。
【請求項24】
前記CABACコンテキストを取得することは、仮想時間アフィン候補が、インターモードで符号化された参照ピクチャにおける時間的に同一位置にあるブロックから構築され得るか否かをさらに考慮する請求項21に記載の装置。
【請求項25】
前記CABACコンテキストの値は、
左隣のブロックと上隣のブロックのいずれもインターモードでシグナリングされず、かつ、参照ピクチャインデックス0を持つインター参照ピクチャが利用可能でない場合に、0であり、
前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが、前記インターモードでシグナリングされ、かつ、前記左隣のブロックと前記上隣のブロックのいずれも前記アフィンモードでシグナリングされない、もしくは、参照ピクチャインデックス0を持つインター参照ピクチャが利用可能の場合に、1であり、
前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが、前記インターモードでシグナリングされ、かつ、前記左隣のブロックまたは前記上隣のブロックの少なくとも1つが前記アフィンモードでシグナリングされる場合に、2である
のいずれかである請求項24に記載の装置。
【請求項26】
前記CABACコンテキストは、前記AMVPモードおよび前記マージモードの両方において、同一の導出を使用して取得される請求項15乃至25いずれかに記載の装置。
【請求項27】
前記アフィンフラグをエンコードすることは、
前記ブロックが前記AMVPモードにある場合、前記CABACコンテキストに関連付けられた第1のCABAC確率モデルを取得し、前記第1のCABAC確率モデルを使用して前記アフィンフラグをエンコードすること、および、
前記ブロックが前記マージモードにある場合、前記CABACコンテキストに関連付けられた、前記第1のCABAC確率モデルとは異なる第2のCABAC確率モデルを取得し、前記第2のCABAC確率モデルを使用して前記アフィンフラグをエンコードすること
を含む請求項15に記載の装置。
【請求項28】
前記アフィンフラグをデコードすることは、
前記ブロックが前記AMVPモードにある場合、前記CABACコンテキストに関連付けられた第1のCABAC確率モデルを取得し、前記第1のCABAC確率モデルを使用して前記アフィンフラグをデコードすること、および、
前記ブロックが前記マージモードにある場合、前記CABACコンテキストに関連付けられた、前記第1のCABAC確率モデルとは異なる第2のCABAC確率モデルを取得し、前記第2のCABAC確率モデルを使用して前記アフィンフラグをデコードすること
を含む請求項16に記載の装置。
【請求項29】
1つまたは複数のプロセッサによって実行されるときに、請求項1乃至14のいずれかに記載の方法を実行するためのコンピューティング命令を含むコンピュータ読取り可能記憶媒体。
【請求項30】
請求項15乃至28のいずれかに記載の装置と、
(i)信号を受信するように構成されたアンテナであって、前記信号はビデオデータを表すデータを含む、アンテナ、(ii)前記ビデオデータを表す前記データを含む前記受信された信号を、周波数の帯域に制限するように構成された帯域リミッタ、および(iii)前記ビデオデータから画像を表示するように構成されたディスプレイのうちの少なくとも1つと
を備えたデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ビデオエンコーディングおよびデコーディングに関する。
【背景技術】
【0002】
高い圧縮効率を達成するために、HEVC(高効率ビデオ符号化)規格によって定義されるものなど、画像およびビデオ符号化スキームは、通常、ビデオコンテンツ内における空間的および時間的冗長性を活用するために、予測および変換符号化を利用する。一般に、イントラまたはインターフレーム相関を活用するために、イントラまたはインター予測が使用され、その後、予測誤差または予測残差としばしば呼ばれる、元のブロックと予測されたブロックとの間の差が、変換され、量子化され、エントロピ符号化される。ビデオを再構築するために、圧縮されたデータは、予測、変換、量子化、およびエントロピ符号化に対応する、逆プロセスによってデコードされる。ビデオ圧縮技術に対する最近の追加は、共同ビデオ調査チーム(JVET)によって開発されている共同調査モデル(JEM)の参照ソフトウェアおよび/または文書の様々なバージョンを含む。JEMなどの取組みの目的は、HEVCなど、既存の規格に対して、さらなる改善を行うことである。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】H.265/HEVC High Efficiency Video Coding, ITU-T H.265 Telecommunication Standardization Sector of ITU, “Series H: Audiovisual and Multimedia Systems, Infrastructure of audiovisual services- Coding of moving video,High efficiency video coding”
【発明の概要】
【発明が解決しようとする課題】
【0004】
新規なビデオエンコーディングおよびデコーディングにおけるアフィンモードシグナリングが望まれている。
【課題を解決するための手段】
【0005】
一般に、実施形態の少なくとも1つの例は、ビデオデータをエンコードするための方法であって、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定するステップと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定するステップであって、第1のCABACコンテキストは、第1のCABAC確率モデルに対応し、第2のCABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、ステップと、アフィンモードの間は、第1のCABACコンテキストおよび第1のCABAC確率モデルに基づいて、ならびに第2のモードの間は、第2のCABACコンテキストおよび第2のCABAC確率モデルに基づいて、ビデオデータをエンコードするステップとを備える、方法を含む。
【0006】
一般に、実施形態の少なくとも1つの例は、ビデオデータをデコードするための方法であって、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定するステップと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定するステップであって、第1のCABACコンテキストは、第1のCABAC確率モデルに対応し、第2のCABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、ステップと、アフィンモードの間は、エンコードされたビデオデータをデコードするために、第1のCABACコンテキストおよび第1のCABAC確率モデルに基づいて、ならびに第2のモードの間は、エンコードされたビデオデータをデコードするために、第2のCABACコンテキストおよび第2のCABAC確率モデルに基づいて、ビデオデータをデコードするステップとを備える、方法を含む。
【0007】
一般に、実施形態の少なくとも1つの例は、少なくとも1つまたは複数のプロセッサを備えた、ビデオデータをエンコードするための装置を含み、1つまたは複数のプロセッサは、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定することと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定することであって、第1のCABACコンテキストは、第1のCABAC確率モデルに対応し、第2のCABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、決定することと、アフィンモードの間は、第1のCABACコンテキストおよび第1のCABAC確率モデルに基づいて、ならびに第2のモードの間は、第2のCABACコンテキストおよび第2のCABAC確率モデルに基づいて、ビデオデータをエンコードすることとを行うために構成される。
【0008】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含み、1つまたは複数のプロセッサは、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定することと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定することであって、第1のCABACコンテキストは、第1のCABAC確率モデルに対応し、第2のCABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、決定することと、アフィンモードの間は、エンコードされたビデオデータをデコードするために、第1のCABACコンテキストおよび第1のCABAC確率モデルに基づいて、ならびに第2のモードの間は、エンコードされたビデオデータをデコードするために、第2のCABACコンテキストおよび第2のCABAC確率モデルに基づいて、ビデオデータをデコードすることとを行うために構成される。
【0009】
一般に、実施形態の少なくとも1つの例は、説明される実施形態のいずれかを実行すること、および/または結果の画像を(例えば、モニタ、スクリーン、もしくは他のタイプのディスプレイを使用して)表示すること、および/またはエンコードされた画像を含む信号を受信するために、チャネルを(例えば、チューナを使用して)調整すること、および/またはエンコードされた画像を含む信号を(例えば、アンテナを使用して)無線で受信すること、および説明される実施形態のいずれかを実行することを行う、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイスなどの、しかし、それらに限定されない、デバイスを含む。
【0010】
一般に、実施形態の少なくとも1つの例は、エンコードされたビデオデータを含むようにフォーマットされた、ビットストリームを含み、エンコードされたビデオデータは、本明細書において説明される少なくとも1つの方法によって、エンコードされる。
【0011】
一般に、実施形態の少なくとも1つの例は、本明細書を用いて説明される方法または装置に従って、ビデオデータをエンコードまたはデコードするための命令をその上に記憶した、コンピュータ可読記憶媒体を提供する。
【0012】
一般に、実施形態の少なくとも1つの例は、本明細書を用いて説明される方法または装置に従って生成されたビットストリームをその上に記憶した、コンピュータ可読記憶媒体を提供する。
【0013】
一般に、実施形態の様々な例は、本明細書において説明される方法または装置に従って生成されたビットストリームを送信または受信するための、方法および/または装置を提供する。
【0014】
上述したことは、本開示のいくつかの態様の基本的な理解を提供するために、本主題の簡略化された要約を提示する。この要約は、本主題の広範な概要ではない。実施形態の主要/必須な要素を識別すること、または本主題の範囲の輪郭を描くことは、意図されていない。それの唯一の目的は、以下で提供されるより詳細な説明の前置きとして、本主題のいくつかの概念を簡略化された形で提示することである。
【0015】
本開示は、添付の図を併用する、以下の詳細な説明の考察によって、より良く理解することができる。
【発明の効果】
【0016】
新規なビデオエンコーディングおよびデコーディングにおけるアフィンモードシグナリングが提供される。
【図面の簡単な説明】
【0017】
【
図1】HEVCにおける、符号化ツリーユニット(CTU)を含むビデオエンコーディング、デコーディングのビデオ情報パーティショニングを示す図である。
【
図2】CTUおよび符号化ユニット(CU)を含む、ビデオエンコーディング、デコーディングのビデオ情報のパーティショニングを示す図である。
【
図3】アフィン動きモデルの態様を例示する図である。
【
図4】アフィン動きモデルを含む実施形態を例示する図である。
【
図5】アフィンインターモードと関連付けられた制御点動きベクトル予測(CPMVP)を示す図である。
【
図6】アフィンマージモードと関連付けられた候補位置を示す図である。
【
図7】アフィンマージモードの間に制御点動きベクトル(CPMV)の決定に関与する動きベクトルを示す図である。
【
図8】アフィンフラグと関連付けられたCABACコンテキスト等、フラグと関連付けられたコンテキストを決定する実施形態を示す図である。
【
図9】CABAC確率モデル等、エンコーディングおよび/またはデコーディングの確率モデルを決定する例を示す図である。
【
図10】CABAC確率モデル等、エンコーディングおよび/またはデコーディングの確率モデルを決定する別の例を示す図である。
【
図11】アフィンフラグと関連付けられたCABACコンテキスト等、フラグと関連付けられたコンテキストを決定する実施形態を示す図である。
【
図12】アフィンフラグと関連付けられたCABACコンテキスト等、フラグと関連付けられたコンテキストを決定する実施形態を示す図である。
【
図13】アフィンフラグと関連付けられたCABACコンテキスト等、フラグと関連付けられたコンテキストを決定する実施形態の様々な例を示す図である。
【
図14】本明細書の実施形態のうちの1つ以上のビデオデータをエンコードに適したエンコーダの実施形態を示す図である。
【
図15】本明細書の実施形態のうちの1つ以上のビデオデータをデコードするのに適したデコーダの実施形態を示す図である。
【
図16】本明細書の実施形態のうちの1つ以上のビデオデータのエンコードおよび/またはデコードに適したシステムの実施形態を示す図である。
【発明を実施するための形態】
【0018】
図面は、様々な態様、実施形態および特徴の例を例示する目的のためのもので、必ずしも唯一の可能な構成ではないことが、理解されるべきである。様々な図を通して、同様の参照指示子は、同じまたは類似の特徴を参照する。
【0019】
高い圧縮効率を達成するために、画像およびビデオ符号化スキームは、通常、ビデオコンテンツ内における空間的および時間的冗長性を活用するために、動きベクトル予測を含む予測および変換を利用する。一般に、イントラまたはインターフレーム相関を活用するために、イントラまたはインター予測が、使用され、その後、予測誤差または予測残差としばしば呼ばれる、元の画像と予測された画像との間の差が、変換され、量子化され、エントロピ符号化される。ビデオを再構築するために、圧縮されたデータは、エントロピ符号化、量子化、変換、および予測に対応する、逆プロセスによってデコードされる。エントロピ符号化/デコーディングは、典型的に、コンテキスト適応バイナリ算術符号化(CABAC)を含む。
【0020】
高い圧縮技術に対する最近の追加は、アフィンモデリングに基づいた、動きモデルを使用することを含む。アフィンモデリングは、ビデオピクチャのエンコーディングおよびデコーディングのための動き補償のために使用される。一般に、アフィンモデリングは、ピクチャのブロックのそれぞれの角(corners)における動きを表す、例えば、2つの制御点動きベクトル(CPMV)などの、少なくとも2つのパラメータを使用するモデルであり、ピクチャのブロック全体についての動き場を導出して、例えば、回転および相似(ズーム)をシミュレートすることを可能にするモデルである。
【0021】
ここで説明される一般的な態様は、ビデオ圧縮の分野にある。これらの態様は、既存のビデオ圧縮システムと比較して、圧縮効率を向上させることを目的とする。
【0022】
HEVCビデオ圧縮規格(非特許文献1を参照)においては、ビデオの連続したピクチャ間に存在する冗長性を活用するために、動き補償された時間予測が、利用される。
【0023】
そうするために、動きベクトルは、各予測ユニット(PU)に関連付けられ、それを今から紹介する。各CTU(符号化ツリーユニット)は、圧縮された領域においては、符号化ツリーによって表される。これは、CTUの4分木分割であり、各リーフは、符号化ユニット(CU)と呼ばれるが、これについては、
図1を参照されたい。
【0024】
その後、各CUは、いくつかのイントラまたはインター予測パラメータ(予測情報)を与えられる。そうするために、それは、1つまたは複数の予測ユニット(PU)に空間的にパーティショニングされ、各PUは、いくつかの予測情報を割り当てられる。イントラまたはインター符号化モードは、CUレベルにおいて割り当てられるが、これについては、
図2を参照されたい。
【0025】
HEVCにおいては、正確に1つの動きベクトルが、各PUに割り当てられる。この動きベクトルは、考察されるPUの動き補償された時間予測のために使用される。したがって、HEVCにおいては、予測されたブロックとそれの参照ブロックとを結びつける動きモデルは、単純に変換を含む。
【0026】
JVET(共同ビデオ調査チーム)グループによって開発された、共同調査モデル(JEM)、およびその後のVTM(多用途ビデオ符号化(VVC)テストモデル)においては、時間予測を改善するために、いくつかのより豊かな動きモデルが、サポートされる。そうするために、PUを空間的にサブPUに分割することができ、より豊かなモデルを使用して、各サブPUに専用の動きベクトルを割り当てることができる。
【0027】
CUは、PUまたはTUにもはや分割されず、いくつかの動きデータは、各CUに直接的に割り当てられる。この新しいコーデック設計においては、CUをサブCUに分割することができ、サブCUごとに、動きベクトルを計算することができる。
【0028】
JEMにおいて導入された新しい動きモデルの1つは、アフィンモデルであり、基本的に、アフィンモデルを使用して、CUにおける動きベクトルを表すことを含む。
【0029】
使用される動きモデルが、
図3によって例示されている。アフィン動き場は、考察されるブロック内部の各位置(x,y)に対して、以下の動きベクトル成分値を含む。
【0030】
【0031】
式1:予測するCU内部の動き場を生成するために使用されるアフィンモデル
【0032】
座標(v0x,v0y)および(v1x,v1y)は、アフィン動き場を生成するために使用される、いわゆる制御点動きベクトルである。点(v0x,v0y)は、動きベクトル左上コーナ(corner)制御点であり、(v1x,v1y)は、動きベクトル右上コーナ制御点である。
【0033】
実際には、複雑さを妥当なものに保つために、
図4に例示されるように、考察されるCUの4×4サブブロック(サブCU)ごとに、動きベクトルを計算する。アフィン動きベクトルは、各サブブロックの中心の位置における、制御点動きベクトルから計算される。獲得されたMVは、1/16ピクセル精度で表される。
【0034】
結果として、アフィンモードにおける符号化ユニットの時間的符号化は、各サブブロックを、それ独自の動きベクトルを用いて、動き補償予測することを含む。
【0035】
3つの制御点を用いるモデルも可能であることに留意されたい。
【0036】
VTMにおいては、2つの方法で、アフィン動き補償を使用することができ、それらは、アフィンインター(AF_INTER)、アフィンマージおよびアフィンテンプレートである。それらを以下で紹介する。
【0037】
- アフィンインター(AF_INTER):
8×8よりも大きいサイズを有する、AMVPモードにおけるCUは、アフィンインターモードで予測することができる。これは、ビットストリーム内のフラグを通して伝達される。そのインターCUのためのアフィン動き場の生成は、動きベクトル差と制御点動きベクトル予測(CPMVP)との加算を通して、デコーダによって獲得される、制御点動きベクトル(CPMV)を決定することを含む。CPMVPは、
図5に例示されるように、リスト(A、B、C)および(D、E)からそれぞれ取得された、動きベクトル候補のペアである。
【0038】
【0039】
最初に、CPMVPは、高さHおよび幅Wのブロックについて、式2を使用して、有効性をチェックされる。
【0040】
【0041】
式2:各CPMVPのための有効性テスト
【0042】
その後、有効なCPMVPは、(位置FまたはGから取得される)第3の動きベクトル
【0043】
【0044】
のためのアフィン動きモデルによって与えられるベクトルへのものであり、より良好なものがCPMVPである。
【0045】
高さHおよび幅Wのブロックについて、各CPMVPのコストは、式3を用いて計算される。以下の式において、XおよびYは、それぞれ、動きベクトルの水平および垂直成分である。
【0046】
【0047】
式3:各CPMVPのために計算されたコスト
【0048】
- アフィンマージ:
アフィンマージモードにおいては、CUレベルフラグが、マージCUがアフィン動き補償を利用するかどうかを示す。利用する場合、
図6の候補位置(A、B、C、D、E)の順序付けられたセットの中から、アフィンモードで符号化された第1の利用可能な近隣CUが、選択される。
【0049】
アフィンモードにある第1の近隣CUが、ひとたび獲得されると、近隣CUの左上コーナ、
【0050】
【0051】
(
図7参照)。これらの3つのベクトルに基づいて、現在のCUの左上コーナおよび右上コーナの2つのCPMVが、以下のように導出される。
【0052】
【0053】
式4:近隣CUの3つのコーナ動きベクトルに基づいた現在のCUのCPMVの導出
【0054】
【0055】
て、現在のCU内部の動き場が、4×4サブCUに基づいて、計算される。
【0056】
アフィンマージモードについては、より多くの候補を追加することができ、最大7つの候補の中から最良の候補を選択し、最良の候補のインデックスをビットストリームに符号化する。
【0057】
別のタイプの候補は、時間アフィンと呼ばれる。TMVP(時間動きベクトルプレディクタ)候補と同様に、アフィンCUは、参照画像内において探索され、候補リストに追加される。
【0058】
プロセスは、追加される「仮想」アフィン候補を作成することができる。そのようなプロセスは、アフィンCUが、現在のCU周辺において利用可能でないときに、アフィン候補を作成するのに有用なことがある。そうするために、コーナにおける個々のサブブロックの動きを取得し、「アフィン」モデルを作成することによって、アフィンモデルが、作成される。
【0059】
候補リスト作成中、複雑さの理由から検討すべき、2つの制約が、存在する。
【0060】
- 潜在的な候補の総数:計算必要性の総量を増やす。
【0061】
- 最終的なリストサイズ:連続する各候補のために必要とされる、比較の回数を増やすことによって、デコーダにおける遅延を増加させる。
【0062】
一般に、少なくとも1つの実施形態は、動き補償のためにアフィンフラグ符号化を使用する、ビデオ符号化を含む。アフィンフラグは、VVCなどのビデオ符号化システムとの関連において知られている。アフィンフラグは、現在のCUの時間予測のために、アフィン動き補償を使用するかどうかを、符号化ユニット(CU)レベルで、伝達する。以下の説明においては、符号化ユニットは、符号化ユニット、CU、またはブロックと呼ばれる。
【0063】
インターモードにおいては、アフィンフラグは、上で説明されたように、ブロックを予測するために、アフィン動き場の使用を伝達する。アフィン動きモデルは、上で説明されたように、典型的に、4つまたは6つのパラメータを使用している。このモードは、(動きプレディクタとの動きベクトル差)mvdが符号化されるAMVP、および(mvdをゼロと推定する)マージの両方において使用される。一般に、本明細書において説明される実施形態の少なくとも1つの例は、マージモードでmvdを伝達することができる、mmvd(UMVEとしても知られる、マージ動きベクトル差)、または動きプレディクタがデコーダサイドで精緻化される、DMVR(デコーダサイド動き精緻化)などの他のモードにも適用することができる。一般に、少なくとも1つの実施形態は、アフィンフラグの符号化の改善を提供する。
【0064】
現在、アフィンフラグは、CABACコンテキストを使用して、伝達される。CABACを用いてエンコードするために、非2進シンタックス要素値が、2進化プロセスを通して、ビンストリング(bin string)と呼ばれる、2進シーケンスにマッピングされる。ビンに対して、コンテキストモデルが、選択される。「コンテキストモデル」は、1つまたは複数のビンのための確率モデルであり、最近符号化されたシンボルの統計に応じて、利用可能なモデルの選択肢から選択される。各ビンのコンテキストモデルは、(「コンテキストインデックス」としても使用される)コンテキストモデルインデックスによって識別され、異なるコンテキストインデックスは、異なるコンテキストモデルに対応する。コンテキストモデルは、各ビンが「1」である、または「0」である確率を記憶し、適応的または静的であることができる。静的モデルは、ビンが「0」および「1」についての確率が等しいと、符号化エンジンをトリガする。適応符号化エンジンにおいては、ビンの実際の符号化された値に基づいて、コンテキストモデルが、更新される。適応モデルおよび静的モデルに対応する動作モードは、それぞれ、通常モードおよびバイパスモードと呼ばれる。コンテキストに基づいて、バイナリ算術符号化エンジンは、対応する確率モデルに従って、ビンをエンコードまたはデコードする。
【0065】
上で言及されたように、現在、アフィンフラグは、近隣のブロックと関連付けられたアフィンフラグの値の関数である、CABACコンテキストを使用して、伝達される。例が、
図8に例示されており、それは、AMVPおよびマージ両方のアフィンについての、アフィンフラグコンテキスト導出の例を示している。
図8においては、3010において、x、yに配置された、サイズがwidth、heightである現在のCUについて、アフィンコンテキストCtxが、例えば、0に初期化される。3020において、左隣のCUが、アフィンかどうかチェックされる。3020が、左隣のCUがアフィンであると決定した場合、3030において、Ctxが、インクリメントされる。3020が、左隣のCUがアフィンでないと決定した場合、3040において、上隣のCUが、アフィンかどうかチェックされる。3040におけるチェックが、上隣のCUがアフィンであると決定した場合、3050において、Ctxが、インクリメントされ、その後、説明された動作によって獲得されたCtx値を有して、3060において、終了する。3040におけるチェックが、上隣のCUがアフィンでないと決定した場合、3040の後、獲得されたCtx値を有して、3060において、終了する。
図8に例示された、例示的な実施形態によって導出されたアフィンフラグコンテキストは、3つの異なる値、すなわち、Ctx=0(左隣も上隣もアフィンではない)、またはCtx=1(左隣もしくは上隣の一方だけがアフィンである)、またはCtx=2(左隣および上隣の両方がアフィンである)を有することができる。
【0066】
AMVPおよびマージモード両方によって、同じCABACコンテキストが、共有される。結果として、両方のモードに対して、同じCABACビンまたは確率モデルが、示され、または選択される。したがって、符号化またはデコーディングは、両方のモードに対して、同じモデルを使用する。1つの問題は、VVCなどのシステムが、近隣CUのアフィンフラグ値を使用せずに構築される、(仮想候補または構築された候補と呼ばれる)他のアフィン候補もサポートすることである。これらの他のアフィン候補は、個々の動きベクトルからのアフィン動きモデルを使用する。マージ、AMVP、および他のアフィン候補のモードのためのアフィンフラグを符号化するために、1つの単一コンテキストを使用することは、アフィンフラグの様々な統計的挙動を捉えるのに非効率になる。
【0067】
一般に、本明細書において説明される少なくとも1つの実施形態は、2つのインター予測モード、例えば、AMVPおよびマージの間における、アフィンモード使用の異なる統計的発生を、これらの2つのモードにおいて、アフィンフラグを独立して符号化することによって考慮する。例が、
図9に例示されている。
図9においては、910において、現在のCUについて、アフィンコンテキストCtxが、決定または獲得される。Ctxのこの決定は、
図8に示されるものなど、実施形態の例に従って、行うことができる。910におけるCtxの決定に続いて、920において、第1のインター予測モード、例えば、アフィンモードのための、CABACビンまたは確率モデルが、例えば、Ctx値とCABACビンまたはモデルとの間の関連付けまたは対応の、特定の式もしくは関係、または表もしくはリストに基づいて、決定または獲得される。930において、第2のインター予測モード、例えば、マージモードのための、CABACビンまたは確率モデルが、例えば、Ctx値とCABACビンまたはモデルとの間の関連付けまたは対応の、特定の式もしくは関係、または表もしくはリストに基づいて、決定または獲得される。したがって、CABACビンまたはモデルは、モードごとに独立して、すなわち、920において1つのモードのために、また930において別のモードのために決定される。
【0068】
図9の例においては、アフィンフラグのためのCABACコンテキストの総数は、2倍になり、すなわち、第1のインター予測モードAおよび第2のインター予測モードBの各々に対して、3つである。すなわち、
図9におけるような、アフィンフラグコンテキストを決定するための実施形態の例は、3つの代わりに、6つのコンテキストを使用することができる。言い換えると、CABACコンテキスト値は、2つのインター予測モードの各々に対して、同じ方法で導出することができるが、CABACコンテキストと関連付けられた確率モデルは、独立して決定することができ、アフィンフラグを含む2つの異なるインター予測モード、例えば、AMVPおよびマージの各々について、異なることができる。
【0069】
2つのインター予測モード、すなわち、アフィンおよびマージに関する、アフィンフラグを独立して符号化する例が、以下のコードによって、例示されている。以下の例は、それぞれのモードフラグAffineFlagおよびSubblockMergeFlagによって示される、アフィンおよびマージの2つのモードの各々と関連付けられた、CABACコンテキストの決定を例示している。上で説明されたように、CABACコンテキストの導出は、同じであることができ、例えば、
図8のものなど、例示的な実施形態に基づくことができる。
モード1-アフィン(AffineFlag):
...
unsigned ctxId=DeriveCtx::CtxAffineFlag(cu); //上隣および左隣に基づいて、コンテキストを導出する。コンテキストは、0、1、または2であることができる。
cu.affine=m_BinDecoder.decodeBin(Ctx::AffineFlag(ctxId)); //確率モデルと関連付けられたAffineFlagを使用する。
...
モード2-マージ(SubblockMergeFlag)
...
unsignedctxId=DeriveCtx::CtxAffineFlag(cu); //コンテキスト導出はアフィンにおけるのと同じであることに留意されたい。
cu.subblock=m_BinDecoder.decodeBin(Ctx::SubblockMergeFlag(ctxId)); //モデル(ビン)導出または決定はアフィンのものと異なることに留意されたい。
...
別の例が、
図10に示されている。
図10においては、1011および1012は、それぞれの第1および第2のフラグ、例えば、アフィンフラグおよびサブブロックマージフラグと関連付けられた、第1および第2のCABACコンテキストを決定する。アフィンフラグは、アフィンモードが使用されることを示す。サブブロックマージフラグは、アフィンモード、またはアフィンモードとは異なる第2のモードのどちらかが使用されることを示す。コンテキストは、使用されるモードと関連付けられる。例えば、第2のモードは、SbTMVPなどのマージモードであることができる。1013および1014において、第1および第2のコンテキスト、したがってモードと関連付けられた、第1および第2のCABAC確率モデルが、独立して決定される。
【0070】
コンテキストのモデリングを改善するための実施形態の他の例は、少なくとも以下を含む。1つの例は、空間アフィン近隣に基づいた、CABACコンテキストモデリングを完全に取り除くことを含む。このケースにおいては、ただ1つのコンテキストが、使用される。別の例は、空間的近隣が利用可能かどうかだけを使用することによって、モデリングの複雑さを低減することを含む。この例については、アフィン近隣が利用可能でない(コンテキスト0)、または少なくとも1つが利用可能である(コンテキスト1)という、2つのコンテキストが、可能である。2つのコンテキストが利用可能である例が、
図11に例示されている。
図11においては、1111において、アフィンコンテキストCtxが、初期化され、例えば、0に等しく設定される。1112において、左隣のCUまたは上隣のCUのどちらかが、アフィンである場合、1113において、Ctxが、インクリメントされ、その後、1113からのCtx値、例えば、1が返される、1114において、終了する。どちらもアフィンでない場合、1112の後、返されるCtx値が0または1のどちらかである、1114において、終了する。
【0071】
一般に、少なくとも1つの実施形態は、仮想アフィン候補を考慮した、アフィンのためのコンテキストモデリングの例を例示する、
図12に示されるように、コンテキストモデリングの態様として、仮想アフィン候補を構築する可能性を含むことができる。
図12においては、1211において、コンテキストCtxが、初期化され、例えば、ゼロに等しく設定される。仮想アフィン候補は、インターモードで符号化されているが、アフィンモードで符号化されていない、近隣CUから構築することができる。1212において、近隣CUが、チェックされて、それらが、インター符号化されているかどうかが決定される。されていない場合、1212の後、初期化された値、例えば、0にあるCtxの値を有して、1216において、終了する。1212におけるチェックが、近隣CUがインター符号化されていると決定した場合、1212の後に、Ctxがインクリメント(初期値+1)される、1213が続く。1213の後、1214において、近隣CUがアフィンであるかどうかを決定するためのチェックが、行われる。アフィンである場合、1215において、Ctxがインクリメント((初期値+1)+1)され、その後、Ctx値が返される、1216において、終了し、アフィンでない場合、1214におけるチェックの後、1216において、終了する。
図12における取り決めの結果を要約すると、コンテキストは、
○インター近隣が利用可能でない場合は、0、
○インター近隣が利用可能であるが、アフィン近隣が利用可能でない場合は、1、
○アフィン近隣が利用可能である場合は、2
である。
【0072】
変形においては、少なくとも1つの実施形態は、
図13における例によって例示されるように、インターピクチャである参照ピクチャの存在を、それが仮想時間候補の作成を可能にするので、検討することができることを含む。すなわち、
図13は、仮想時間アフィン候補を考慮した、アフィンのためのコンテキストモデリングの例を例示している。仮想時間候補は、インターモードで符号化された、時間的に併置されたCUから、構築することができる。
図13のこの例は、
○インター近隣が利用可能である、または参照ピクチャインデックス0を有するインター参照ピクチャが利用可能である
というように、
図12における1212を
図13における1312に変更することによって、
図12におけるコンテキストモデリングの上で説明された例示的な実施形態を変更することを含む。
図13の実施形態の他の特徴は、上で説明された
図12の同様の特徴に対応しており、
図13に関して再び説明されない。
【0073】
本文書は、実施形態、特徴、モデル、手法などの様々な例を説明する。多くのそのような例は、特定的に説明され、少なくとも個々の特徴を示すために、限定的に見えることがある方法で、しばしば説明される。しかしながら、これは、説明における明瞭さのためであり、適用または範囲を限定しない。実際、本明細書において説明される、実施形態、特徴などの様々な例は、実施形態のさらなる例を提供するために、様々な方法で組み合わせること、および取り換えることができる。
【0074】
本開示に従った実施形態の例は、以下を含むが、それらに限定されない。
【0075】
一般に、実施形態の少なくとも1つの例は、ビデオデータをエンコードするための方法であって、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定するステップと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定するステップであって、第1のCABACコンテキストは、第1のCABAC確率モデルに対応し、第2のCABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、ステップと、アフィンモードの間は、第1のCABACコンテキストおよび第1のCABAC確率モデルに基づいて、ならびに第2のモードの間は、第2のCABACコンテキストおよび第2のCABAC確率モデルに基づいて、ビデオデータをエンコードするステップとを含む、方法を含むことができる。
【0076】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサを備える、ビデオデータをエンコードするための装置を含むことができ、1つまたは複数のプロセッサは、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定することと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定することであって、第1のCABACコンテキストは、第1のCABAC確率モデルに対応し、第2のCABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、決定することと、アフィンモードの間は、第1のCABACコンテキストおよび第1のCABAC確率モデルに基づいて、ならびに第2のモードの間は、第2のCABACコンテキストおよび第2のCABAC確率モデルに基づいて、ビデオデータをエンコードすることとを行うために構成される。
【0077】
一般に、実施形態の少なくとも1つの例は、ビデオデータをデコードするための方法であって、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定するステップと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定するステップであって、第1のCABACコンテキストは、第1のCABAC確率モデルに対応し、第2のCABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、ステップと、アフィンモードの間は、第1のCABACコンテキストおよび第1のCABAC確率モデルに基づいて、エンコードされたビデオデータをデコードし、第2のモードの間は、第2のCABACコンテキストおよび第2のCABAC確率モデルに基づいて、エンコードされたビデオデータをデコードするステップとを含む、方法を含むことができる。
【0078】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含むことができ、1つまたは複数のプロセッサは、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定することと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定することであって、第1のCABACコンテキストは、第1のCABAC確率モデルに対応し、第2のCABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、決定することと、アフィンモードの間は、第1のCABACコンテキストおよび第1のCABAC確率モデルに基づいて、エンコードされたビデオデータをデコードし、第2のモードの間は、第2のCABACコンテキストおよび第2のCABAC確率モデルに基づいて、エンコードされたビデオデータをデコードすることとを行うために構成される。
【0079】
一般に、実施形態の少なくとも1つの例は、ビデオデータをエンコードするための方法であって、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定するステップと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定するステップと、エンコードされたビデオデータを生成するために、ビデオデータをエンコードするステップであって、アフィンモードに基づいて生成されたビデオデータは、第1のCABACコンテキストと関連付けられた、第1のCABAC確率モデルに基づいて、エンコードされ、第2のモードに基づいて生成されたビデオデータは、第2のCABACコンテキストと関連付けられた、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに基づいて、エンコードされる、ステップとを含む、方法を含むことができる。
【0080】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサを備える、ビデオデータをエンコードするための装置を含むことができ、1つまたは複数のプロセッサは、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定することと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定することと、エンコードされたビデオデータを生成するために、ビデオデータをエンコードすることであって、アフィンモードに基づいて生成されたビデオデータは、第1のCABACコンテキストと関連付けられた、第1のCABAC確率モデルに基づいて、エンコードされ、第2のモードに基づいて生成されたビデオデータは、第2のCABACコンテキストと関連付けられた、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに基づいて、エンコードされる、エンコードすることとを行うために構成される。
【0081】
一般に、実施形態の少なくとも1つの例は、ビデオデータをデコードするための方法であって、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定するステップと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定するステップと、デコードされたビデオデータを生成するために、ビデオデータをデコードするステップであって、アフィンモードに基づいてエンコードされたビデオデータは、第1のCABACコンテキストと関連付けられた、第1のCABAC確率モデルに基づいて、デコードされ、第2のモードに基づいてエンコードされたビデオデータは、第2のCABACコンテキストと関連付けられた、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに基づいて、デコードされる、ステップとを含む、方法を含むことができる。
【0082】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含むことができ、1つまたは複数のプロセッサは、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定することと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定することと、デコードされたビデオデータを生成するために、ビデオデータをデコードすることであって、アフィンモードに基づいてエンコードされたビデオデータは、第1のCABACコンテキストと関連付けられた、第1のCABAC確率モデルに基づいて、デコードされ、第2のモードに基づいてエンコードされたビデオデータは、第2のCABACコンテキストと関連付けられた、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに基づいて、デコードされる、デコードすることとを行うために構成される。
【0083】
一般に、実施形態の少なくとも1つの例は、ビデオデータをエンコードするための方法であって、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定するステップと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定するステップであって、第2のCABACコンテキストを決定するステップは、第1のCABACコンテキストを決定するステップとは独立して生じる、ステップと、それぞれ、第1および第2のモードの間は、第1および第2のフラグならびに第1および第2のCABACコンテキストに基づいて、エンコードされたビデオデータを生成するために、ビデオデータをエンコードするステップとを含む、方法を含むことができる。
【0084】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサを備える、ビデオデータをエンコードするための装置を含むことができ、1つまたは複数のプロセッサは、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定することと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定することであって、第2のCABACコンテキストを決定することは、第1のCABACコンテキストを決定することとは独立して生じる、決定することと、それぞれ、第1および第2のモードの間は、第1および第2のフラグならびに第1および第2のCABACコンテキストに基づいて、エンコードされたビデオデータを生成するために、ビデオデータをエンコードすることとを行うために構成される。
【0085】
一般に、実施形態の少なくとも1つの例は、ビデオデータをデコードするための方法であって、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定するステップと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定するステップであって、第2のCABACコンテキストを決定するステップは、第1のCABACコンテキストを決定するステップとは独立して生じる、ステップと、デコードされたビデオデータを生成するために、それぞれ、第1および第2のモードの間は、第1および第2のCABACコンテキストに基づいて、エンコードされたビデオデータをデコードするステップとを含む、方法を含むことができる。
【0086】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含むことができ、1つまたは複数のプロセッサは、アフィンモードの使用を示す、第1のフラグと関連付けられた、第1のCABACコンテキストを決定することと、アフィンモードまたはアフィンモードと異なる第2のモードのどちらかの使用を示す、第2のフラグと関連付けられた、第2のCABACコンテキストを決定することであって、第2のCABACコンテキストを決定するステップは、第1のCABACコンテキストを決定するステップとは独立して生じる、決定することと、デコードされたビデオデータを生成するために、それぞれ、第1および第2のモードの間は、第1および第2のCABACコンテキストに基づいて、エンコードされたビデオデータをデコードすることとを行うために構成される。
【0087】
一般に、実施形態の少なくとも1つの例は、ビデオデータをエンコードするための方法であって、アフィンモードまたはアフィンモードと異なる第2のモードを含むモードの使用を示す、サブブロックマージモードフラグと関連付けられた、CABACコンテキストを決定するステップであって、CABACコンテキストは、アフィンモードの間は、第1のCABAC確率モデルに、および第2のモードの間は、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、ステップと、CABACコンテキスト、モード、およびモードに対応するCABAC確率モデルに基づいて、ビデオデータをエンコードするステップとを含む、方法を含むことができる。
【0088】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサを備える、ビデオデータをエンコードするための装置を含むことができ、1つまたは複数のプロセッサは、アフィンモードまたはアフィンモードと異なる第2のモードを含むモードの使用を示す、サブブロックマージモードフラグと関連付けられた、CABACコンテキストを決定することであって、CABACコンテキストは、アフィンモードの間は、第1のCABAC確率モデルに、および第2のモードの間は、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、決定することと、CABACコンテキスト、モード、およびモードに対応するCABAC確率モデルに基づいて、ビデオデータをエンコードすることとを行うために構成される。
【0089】
一般に、実施形態の少なくとも1つの例は、ビデオデータをデコードするための方法であって、アフィンモードまたはアフィンモードと異なる第2のモードを含むモードの使用を示す、サブブロックマージモードフラグと関連付けられた、CABACコンテキストを決定するステップであって、CABACコンテキストは、アフィンモードの間は、第1のCABAC確率モデルに、および第2のモードの間は、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、ステップと、第1のCABAC確率モデルに基づいて、アフィンモードに基づいてエンコードされたビデオデータをデコードし、第2のCABACコンテキストに基づいて、第2のモードに基づいてエンコードされたビデオデータをデコードするステップとを含む、方法を含むことができる。
【0090】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含むことができ、1つまたは複数のプロセッサは、アフィンモードまたはアフィンモードと異なる第2のモードを含むモードの使用を示す、サブブロックマージモードフラグと関連付けられた、CABACコンテキストを決定することであって、CABACコンテキストは、アフィンモードの間は、第1のCABAC確率モデルに、および第2のモードの間は、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、決定することと、第1のCABAC確率モデルに基づいて、アフィンモードに基づいてエンコードされたビデオデータをデコードし、第2のCABACコンテキストに基づいて、第2のモードに基づいてエンコードされたビデオデータをデコードすることとを行うために構成される。
【0091】
一般に、実施形態の少なくとも1つの例は、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、アフィンモードは、AMVPモードを含み、第2のモードは、マージモードを含む。
【0092】
一般に、実施形態の少なくとも1つの例は、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、アフィンモードは、AMVPモードを含み、第2のモードは、マージ、SbTMVP、mmvd、またはDMVRのうちの1つを含む。
【0093】
一般に、実施形態の少なくとも1つの例は、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、第1または第2のCABACコンテキストなどのCABACコンテキストを決定することは、空間アフィン近隣を検討しない。
【0094】
一般に、実施形態の少なくとも1つの例は、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、第1または第2のCABACコンテキストなどのCABACコンテキストは、ただ1つのコンテキストを有する。
【0095】
一般に、実施形態の少なくとも1つの例は、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、第1または第2のCABACコンテキストなどのCABACコンテキストを決定することは、空間近隣が利用可能かどうかだけに基づく。
【0096】
一般に、実施形態の少なくとも1つの例は、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、第1または第2のCABACコンテキストなどのCABACコンテキストを決定するとき、検討される仮想アフィン候補を構築することを含む。
【0097】
一般に、実施形態の少なくとも1つの例は、仮想アフィン候補を含む、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、仮想アフィン候補を構築することは、近隣CUが、インターモードで符号化されており、アフィンモードで符号化されていないことに基づく。
【0098】
一般に、実施形態の少なくとも1つの例は、インターモードで符号化された近隣CUに基づいて、仮想アフィン候補を構築することを含む、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、CABACコンテキストは、インター近隣が利用可能でない場合は、0、インター近隣が利用可能であるが、アフィン近隣が利用可能でない場合は、1、アフィン近隣が利用可能である場合は、2のうちの1つを含む。
【0099】
一般に、実施形態の少なくとも1つの例は、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、仮想時間候補の作成を可能にするために、インターピクチャである参照ピクチャの存在を検討することをさらに含む。
【0100】
一般に、実施形態の少なくとも1つの例は、仮想時間候補を構築することを含む、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、仮想時間候補は、インターモードで符号化された時間的に併置されたCUに基づいて、構築することができる。
【0101】
一般に、実施形態の少なくとも1つの例は、インターモードで符号化された併置されたCUに基づいて、仮想時間候補を構築することを含む、本明細書において説明されるいずれかの実施形態に従った、方法または装置を含むことができ、コンテキストを決定することは、インター近隣が利用可能であること、または参照ピクチャインデックス0を有するインター参照ピクチャが利用可能であることを含む。
【0102】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサによって実行されたときに、本明細書において説明されるいずれかの実施形態に従った方法を実行するためのコンピューティング命令を含む、コンピュータプログラム製品を含むことができる。
【0103】
一般に、実施形態の少なくとも1つの例は、実行可能なプログラム命令を記憶する非一時的コンピュータ可読媒体であって、命令を実行するコンピュータに、本明細書において説明されるいずれかの実施形態に従った方法を実行させる、非一時的コンピュータ可読媒体を含むことができる。
【0104】
一般に、実施形態の少なくとも1つの例は、エンコードされたビデオデータを含むようにフォーマットされた、ビットストリームを含むことができ、エンコードされたビデオデータは、本明細書において説明されるいずれかの方法に従ってCABACコンテキストを獲得することと関連付けられたインジケータと、CABACコンテキストに基づいてエンコードされたピクチャデータとを含む。
【0105】
一般に、実施形態の少なくとも1つの例は、本明細書において説明されるいずれかの実施形態に従った装置と、(i)信号を受信するように構成されたアンテナであって、信号はビデオデータを表すデータを含む、アンテナ、(ii)ビデオデータを表すデータを含む受信された信号を、周波数の帯域に制限するように構成された帯域リミッタ、および(iii)ビデオデータから画像を表示するように構成されたディスプレイのうちの少なくとも1つとを備える、デバイスを含むことができる。
【0106】
一般に、実施形態の少なくとも1つの例は、1つまたは複数のプロセッサを備える、ビデオデータをエンコードするための装置を含むことができ、1つまたは複数のプロセッサは、第1のインター予測モードの間は、アフィン動きモデルの使用を示すフラグと関連付けられた、第1のCABACコンテキストを決定することと、第1のインター予測モードと異なる第2のインター予測モードの間は、第1のCABACコンテキストと異なる、アフィン動きモデルの使用を示すフラグと関連付けられた、第2のCABACコンテキストを決定することと、エンコードされたビデオデータを生成するために、ビデオデータをエンコードすることであって、第1のインター予測モードの間に、アフィン動きモデルに基づいて生成されたビデオデータは、第1のCABACコンテキストと関連付けられた、第1のCABAC確率モデルに基づいて、エンコードされ、第2のインター予測モードの間に、アフィン動きモデルに基づいて生成されたビデオデータは、第2のCABACコンテキストと関連付けられた、第2のCABAC確率モデルに基づいて、エンコードされる、エンコードすることとを行うために構成される。
【0107】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをエンコードするための方法であって、第1のインター予測モードの間は、アフィン動きモデルの使用を示すフラグと関連付けられた、第1のCABACコンテキストを決定するステップと、第1のインター予測モードと異なる第2のインター予測モードの間は、第1のCABACコンテキストと異なる、アフィン動きモデルの使用を示すフラグと関連付けられた、第2のCABACコンテキストを決定するステップと、エンコードされたビデオデータを生成するために、ビデオデータをエンコードするステップであって、第1のインター予測モードの間に、アフィン動きモデルに基づいて生成されたビデオデータは、第1のCABACコンテキストと関連付けられた、第1のCABAC確率モデルに基づいて、エンコードされ、第2のインター予測モードの間に、アフィン動きモデルに基づいて生成されたビデオデータは、第2のCABACコンテキストと関連付けられた、第2のCABAC確率モデルに基づいて、エンコードされる、ステップとを含む、方法を含むことができる。
【0108】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含むことができ、1つまたは複数のプロセッサは、第1のインター予測モードの間は、アフィン動きモデルの使用を示すフラグと関連付けられた、第1のCABACコンテキストを決定することと、第1のインター予測モードと異なる第2のインター予測モードの間は、第1のCABACコンテキストと異なる、アフィン動きモデルの使用を示すフラグと関連付けられた、第2のCABACコンテキストを決定することと、デコードされたビデオデータを生成するために、ビデオデータをデコードすることであって、第1のインター予測モードの間に、アフィン動きモデルに基づいて生成されたビデオデータは、第1のCABACコンテキストと関連付けられた、第1のCABAC確率モデルに基づいて、デコードされ、第2のインター予測モードの間に、アフィン動きモデルに基づいて生成されたビデオデータは、第2のCABACコンテキストと関連付けられた、第2のCABAC確率モデルに基づいて、デコードされる、デコードすることとを行うために構成される。
【0109】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをデコードするための方法であって、第1のインター予測モードの間は、アフィン動きモデルの使用を示すフラグと関連付けられた、第1のCABACコンテキストを決定するステップと、第1のインター予測モードと異なる第2のインター予測モードの間は、第1のCABACコンテキストと異なる、アフィン動きモデルの使用を示すフラグと関連付けられた、第2のCABACコンテキストを決定するステップと、デコードされたビデオデータを生成するために、ビデオデータをデコードするステップであって、第1のインター予測モードの間に、アフィン動きモデルに基づいて生成されたビデオデータは、第1のCABACコンテキストと関連付けられた、第1のCABAC確率モデルに基づいて、デコードされ、第2のインター予測モードの間に、アフィン動きモデルに基づいて生成されたビデオデータは、第2のCABACコンテキストと関連付けられた、第2のCABAC確率モデルに基づいて、デコードされる、ステップとを含む、方法を含むことができる。
【0110】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをエンコードするための装置を含むことができ、1つまたは複数のプロセッサは、第1のインター予測モードの間は、アフィン動き補償フラグと関連付けられた、第1のCABACコンテキストを決定することと、第1のインター予測モードと異なる第2のインター予測モードの間は、アフィン動き補償フラグと関連付けられた、第2のCABACコンテキストを決定することであって、第2のCABACコンテキストを決定することは、第1のCABACコンテキストを決定することとは独立して生じる、決定することと、それぞれ、第1および第2のインター予測モードの間は、アフィン動き補償フラグ、ならびに第1および第2のCABACコンテキストに基づいて、エンコードされたビデオデータを生成するために、ビデオデータをエンコードすることとを行うために構成される。
【0111】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをエンコードするための方法であって、第1のインター予測モードの間は、アフィン動き補償フラグと関連付けられた、第1のCABACコンテキストを決定するステップと、第1のインター予測モードと異なる第2のインター予測モードの間は、アフィン動き補償フラグと関連付けられた、第2のCABACコンテキストを決定するステップであって、第2のCABACコンテキストを決定するステップは、第1のCABACコンテキストを決定するステップとは独立して生じる、ステップと、それぞれ、第1および第2のインター予測モードの間は、アフィン動き補償フラグ、ならびに第1および第2のCABACコンテキストに基づいて、エンコードされたビデオデータを生成するために、ビデオデータをエンコードするステップとを含む、方法を含むことができる。
【0112】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含むことができ、1つまたは複数のプロセッサは、第1のインター予測モードの間は、アフィン動き補償フラグと関連付けられた、第1のCABACコンテキストを決定することと、第1のインター予測モードと異なる第2のインター予測モードの間は、アフィン動き補償フラグと関連付けられた、第2のCABACコンテキストを決定することであって、第2のCABACコンテキストを決定することは、第1のCABACコンテキストを決定することとは独立して生じる、決定することと、それぞれ、第1および第2のインター予測モードの間は、アフィン動き補償フラグ、ならびに第1および第2のCABACコンテキストに基づいて、デコードされたビデオデータを生成するために、ビデオデータをデコードすることとを行うために構成される。
【0113】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをデコードするための方法であって、第1のインター予測モードの間は、アフィン動き補償フラグと関連付けられた、第1のCABACコンテキストを決定するステップと、第1のインター予測モードと異なる第2のインター予測モードの間は、アフィン動き補償フラグと関連付けられた、第2のCABACコンテキストを決定するステップであって、第2のCABACコンテキストを決定するステップは、第1のCABACコンテキストを決定するステップとは独立して生じる、ステップと、それぞれ、第1および第2のインター予測モードの間は、アフィン動き補償フラグ、ならびに第1および第2のCABACコンテキストに基づいて、デコードされたビデオデータを生成するために、ビデオデータをデコードするステップとを含む、方法を含むことができる。
【0114】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをエンコードするための装置を含むことができ、1つまたは複数のプロセッサは、インター予測モードを決定することと、インター予測モードが第1のモードであることに基づいて、アフィン動き補償フラグと関連付けられた、第1のCABACコンテキストを獲得することと、インター予測モードが第1のモードと異なる第2のモードであることに基づいて、アフィン動き補償フラグと関連付けられた、第2のCABACコンテキストを獲得することであって、第2のCABACコンテキストを獲得することは、第1のCABACコンテキストを獲得することとは独立して生じる、獲得することと、それぞれ、第1および第2のモードの間は、アフィン動き補償フラグ、ならびに第1および第2のCABACコンテキストに基づいて、エンコードされたビデオデータを生成するために、ビデオデータをエンコードすることとを行うために構成される。
【0115】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをエンコードするための方法であって、インター予測モードを決定するステップと、インター予測モードが第1のモードであることに基づいて、アフィン動き補償フラグと関連付けられた、第1のCABACコンテキストを獲得するステップと、インター予測モードが第1のモードと異なる第2のモードであることに基づいて、アフィン動き補償フラグと関連付けられた、第2のCABACコンテキストを獲得するステップであって、第2のCABACコンテキストを獲得するステップは、第1のCABACコンテキストを獲得するステップとは独立して生じる、ステップと、それぞれ、第1および第2のモードの間は、アフィン動き補償フラグ、ならびに第1および第2のCABACコンテキストに基づいて、エンコードされたビデオデータを生成するために、ビデオデータをエンコードするステップとを含む、方法を含むことができる。
【0116】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含むことができ、1つまたは複数のプロセッサは、インター予測モードを決定することと、インター予測モードが第1のモードであることに基づいて、アフィン動き補償フラグと関連付けられた、第1のCABACコンテキストを獲得することと、インター予測モードが第1のモードと異なる第2のモードであることに基づいて、アフィン動き補償フラグと関連付けられた、第2のCABACコンテキストを獲得することであって、第2のCABACコンテキストを獲得することは、第1のCABACコンテキストを獲得することとは独立して生じる、獲得することと、それぞれ、第1および第2のモードの間は、アフィン動き補償フラグ、ならびに第1および第2のCABACコンテキストに基づいて、デコードされたビデオデータを生成するために、ビデオデータをデコードすることとを行うために構成される。
【0117】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをデコードするための方法であって、インター予測モードを決定するステップと、インター予測モードが第1のモードであることに基づいて、アフィン動き補償フラグと関連付けられた、第1のCABACコンテキストを獲得するステップと、インター予測モードが第1のモードと異なる第2のモードであることに基づいて、アフィン動き補償フラグと関連付けられた、第2のCABACコンテキストを獲得するステップであって、第2のCABACコンテキストを獲得するステップは、第1のCABACコンテキストを獲得するステップとは独立して生じる、ステップと、それぞれ、第1および第2のモードの間は、アフィン動き補償フラグ、ならびに第1および第2のCABACコンテキストに基づいて、デコードされたビデオデータを生成するために、ビデオデータをデコードするステップとを含む、方法を含むことができる。
【0118】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをエンコードするための装置を含むことができ、1つまたは複数のプロセッサは、インター予測モードの間は、アフィン動きモデルの使用を示すフラグと関連付けられた、CABACコンテキストを決定することであって、インター予測モードが第1のモードである場合、CABACコンテキストは、第1のCABAC確率モデルに対応し、インター予測モードが第1のモードと異なる第2のモードである場合、CABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、決定することと、フラグ、CABACコンテキスト、インター予測モード、ならびにインター予測モードに対応する第1および第2のCABAC確率モデルのうちの一方に基づいて、ビデオデータをエンコードすることとを行うために構成される。
【0119】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをエンコードするための方法であって、インター予測モードの間は、アフィン動きモデルの使用を示すフラグと関連付けられた、CABACコンテキストを決定するステップであって、インター予測モードが第1のモードである場合、CABACコンテキストは、第1のCABAC確率モデルに対応し、インター予測モードが第1のモードと異なる第2のモードである場合、CABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、ステップと、フラグ、CABACコンテキスト、インター予測モード、ならびにインター予測モードに対応する第1および第2のCABAC確率モデルのうちの一方に基づいて、ビデオデータをエンコードするステップとを含む、方法を含むことができる。
【0120】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含むことができ、1つまたは複数のプロセッサは、インター予測モードの間は、アフィン動きモデルの使用を示すフラグと関連付けられた、CABACコンテキストを決定することであって、インター予測モードが第1のモードである場合、CABACコンテキストは、第1のCABAC確率モデルに対応し、インター予測モードが第1のモードと異なる第2のモードである場合、CABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、決定することと、フラグ、CABACコンテキスト、インター予測モード、ならびにインター予測モードに対応する第1および第2のCABAC確率モデルのうちの一方に基づいて、ビデオデータをデコードすることとを行うために構成される。
【0121】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをデコードするための方法であって、インター予測モードの間は、アフィン動きモデルの使用を示すフラグと関連付けられた、CABACコンテキストを決定するステップであって、インター予測モードが第1のモードである場合、CABACコンテキストは、第1のCABAC確率モデルに対応し、インター予測モードが第1のモードと異なる第2のモードである場合、CABACコンテキストは、第1のCABAC確率モデルと異なる第2のCABAC確率モデルに対応する、ステップと、フラグ、CABACコンテキスト、インター予測モード、ならびにインター予測モードに対応する第1および第2のCABAC確率モデルのうちの一方に基づいて、ビデオデータをデコードするステップとを含む、方法を含むことができる。
【0122】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをエンコードするための装置を含むことができ、1つまたは複数のプロセッサは、アフィン動きモデルの使用を示すフラグを獲得することと、フラグと関連付けられた、CABACコンテキストを決定することであって、CABACコンテキストは、フラグと関連付けられた唯一のCABACコンテキストであり、現在の符号化ユニットの空間アフィン近隣に基づいた、CABACコンテキストモデリングなしに、決定される、決定することと、アフィンフラグおよびCABACコンテキストに基づいて、エンコードされたビデオデータを生成するために、ビデオデータをエンコードすることとを行うために構成される。
【0123】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをエンコードするための方法であって、アフィン動きモデルの使用を示すフラグを獲得するステップと、フラグと関連付けられた、CABACコンテキストを決定するステップであって、CABACコンテキストは、フラグと関連付けられた唯一のCABACコンテキストであり、現在の符号化ユニットの空間アフィン近隣に基づいた、CABACコンテキストモデリングなしに、決定される、ステップと、アフィンフラグおよびCABACコンテキストに基づいて、エンコードされたビデオデータを生成するために、ビデオデータをエンコードするステップとを含む、方法を含むことができる。
【0124】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含むことができ、1つまたは複数のプロセッサは、アフィン動きモデルの使用を示すフラグを獲得することと、フラグと関連付けられた、CABACコンテキストを決定することであって、CABACコンテキストは、フラグと関連付けられた唯一のCABACコンテキストであり、現在の符号化ユニットの空間アフィン近隣に基づいた、CABACコンテキストモデリングなしに、決定される、決定することと、アフィンフラグおよびCABACコンテキストに基づいて、デコードされたビデオデータを生成するために、ビデオデータをデコードすることとを行うために構成される。
【0125】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをデコードするための方法であって、アフィン動きモデルの使用を示すフラグを獲得するステップと、フラグと関連付けられた、CABACコンテキストを決定するステップであって、CABACコンテキストは、フラグと関連付けられた唯一のCABACコンテキストであり、現在の符号化ユニットの空間アフィン近隣に基づいた、CABACコンテキストモデリングなしに、決定される、ステップと、アフィンフラグおよびCABACコンテキストに基づいて、デコードされたビデオデータを生成するために、ビデオデータをデコードするステップを含む、方法を含むことができる。
【0126】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをエンコードするための装置を含むことができ、1つまたは複数のプロセッサは、現在の符号化ユニットのアフィン空間近隣の利用可能性だけに基づいて、インター予測モードの間に、アフィン動きモデルの使用を示すフラグと関連付けられた、CABACコンテキストを決定することであって、CABACコンテキストは、空間アフィン近隣が利用可能でないことを示す利用可能性に対応する第1のコンテキスト、または少なくとも1つの空間アフィン近隣が利用可能であることを示す利用可能性に対応する第2のコンテキストのうちの一方である、決定することと、CABACコンテキストに基づいて、CABAC確率モデルを獲得することと、フラグ、CABACコンテキスト、およびCABACコンテキストに対応するCABAC確率モデルに基づいて、ビデオデータをエンコードすることとを行うために構成される。
【0127】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをエンコードするための方法であって、現在の符号化ユニットのアフィン空間近隣の利用可能性だけに基づいて、インター予測モードの間に、アフィン動きモデルの使用を示すフラグと関連付けられた、CABACコンテキストを決定するステップであって、CABACコンテキストは、空間アフィン近隣が利用可能でないことを示す利用可能性に対応する第1のコンテキスト、または少なくとも1つの空間アフィン近隣が利用可能であることを示す利用可能性に対応する第2のコンテキストのうちの一方である、ステップと、CABACコンテキストに基づいて、CABAC確率モデルを獲得するステップと、フラグ、CABACコンテキスト、およびCABACコンテキストに対応するCABAC確率モデルに基づいて、ビデオデータをエンコードするステップとを含む、方法を含むことができる。
【0128】
一般に、実施形態の少なくとも1つの他の例は、1つまたは複数のプロセッサを備える、ビデオデータをデコードするための装置を含むことができ、1つまたは複数のプロセッサは、現在の符号化ユニットのアフィン空間近隣の利用可能性だけに基づいて、インター予測モードの間に、アフィン動きモデルの使用を示すフラグと関連付けられた、CABACコンテキストを決定することであって、CABACコンテキストは、空間アフィン近隣が利用可能でないことを示す利用可能性に対応する第1のコンテキスト、または少なくとも1つの空間アフィン近隣が利用可能であることを示す利用可能性に対応する第2のコンテキストのうちの一方である、決定することと、CABACコンテキストに基づいて、CABAC確率モデルを獲得することと、フラグ、CABACコンテキスト、およびCABACコンテキストに対応するCABAC確率モデルに基づいて、ビデオデータをデコードすることとを行うために構成される。
【0129】
一般に、実施形態の少なくとも1つの他の例は、ビデオデータをデコードするための方法であって、現在の符号化ユニットのアフィン空間近隣の利用可能性だけに基づいて、インター予測モードの間に、アフィン動きモデルの使用を示すフラグと関連付けられた、CABACコンテキストを決定するステップであって、CABACコンテキストは、空間アフィン近隣が利用可能でないことを示す利用可能性に対応する第1のコンテキスト、または少なくとも1つの空間アフィン近隣が利用可能であることを示す利用可能性に対応する第2のコンテキストのうちの一方である、ステップと、CABACコンテキストに基づいて、CABAC確率モデルを獲得するステップと、フラグ、CABACコンテキスト、およびCABACコンテキストに対応するCABAC確率モデルに基づいて、ビデオデータをデコードするステップとを含む、方法を含むことができる。
【0130】
本文書において説明および企図される実施形態の様々な例は、多くの異なる形態で実施することができる。
図14、
図15、および
図16は、以下で説明されるような、いくつかの実施形態の例を提供するが、他の実施形態が、企図され、
図14、
図15、および
図16の説明は、実施の広さを限定しない。態様の少なくとも1つは、一般に、ビデオエンコーディングおよびデコーディングに関し、少なくとも1つの他の態様は、一般に、生成またはエンコードされたビットストリームの送信に関する。これらおよび他の実施形態、特徴、態様などは、方法、装置、説明された方法のいずれかに従ってビデオデータをエンコードもしくはデコードするための命令をその上に記憶したコンピュータ可読記憶媒体、および/または説明される方法のいずれかに従って生成されたビットストリームをその上に記憶したコンピュータ可読記憶媒体として実施することができる。
【0131】
本出願においては、「再構築された」および「デコードされた」という用語は、交換可能に使用することができ、「ピクセル」および「サンプル」という用語は、交換可能に使用することができ、「画像」、「ピクチャ」、および「フレーム」という用語は、交換可能に使用することができる。必ずではないが、通常、「再構築された」という用語は、エンコーダ側において使用され、一方、「デコードされた」は、デコーダ側において使用される。
【0132】
本明細書においては、様々な方法が、説明され、方法の各々は、説明された方法を達成するための、1つまたは複数のステップまたはアクションを含む。ステップまたはアクションの特定の順序が、方法の適切な動作のために必要とされない限り、特定のステップおよび/またはアクションの順序および/または使用は、変更すること、または組み合わせることができる。
【0133】
本文書において説明される様々な方法および他の態様を使用して、モジュール、例えば、
図14および
図15に示されるような、それぞれ、ビデオエンコーダ100およびデコーダ200のエントロピ符号化モジュール145および/またはエントロピデコーディングモジュール230を変更することができる。さらに、本態様は、VVCまたはHEVCに限定されず、例えば、既存のものか、それとも将来開発されるものかに関わらず、他の規格および勧告に、ならびに(VVCおよびHEVCを含む)いずれかそのような規格および勧告の拡張に適用することができる。別段の指摘がない限り、または技術的に除外されない限り、本文書において説明される態様は、個別に、または組み合わせて使用することができる。
【0134】
本文書においては、例えば、{{1,0}、{3,1}、{1,1}}など、様々な数値が、使用される。特定の値は、例示を目的としたものであり、説明される態様は、これらの特定の値に限定されない。
【0135】
図14は、エンコーダ100の例を例示している。このエンコーダ100の変形が、企図されるが、エンコーダ100は、明瞭にするために、すべての予想される変形を説明することなく、以下で説明される。
【0136】
エンコードされる前に、ビデオシーケンスは、例えば、カラー変換を入力カラーピクチャに適用し(例えば、RGB 4:4:4からYCbCr 4:2:0への変換)、または(例えば、カラー成分の1つのヒストグラム均等化を使用して)圧縮に対してより回復力のある信号分布を取得するために、入力ピクチャ成分の再マッピングを実行する、プリエンコーディング処理(101)を通過することができる。メタデータは、前処理と関連付け、ビットストリームに添付することができる。
【0137】
エンコーダ100において、ピクチャは、以下で説明されるように、エンコーダ要素によってエンコードされる。エンコードされたピクチャは、パーティショニングされ(102)、例えば、CUの単位で、処理される。各ユニットは、例えば、イントラモードまたはインターモードのどちらかを使用して、エンコードされる。ユニットが、イントラモードでエンコードされるとき、それは、イントラ予測(160)を実行する。インターモードにおいては、動き推定(175)および補償(170)が、実行される。エンコーダは、ユニットをエンコードするために使用する、イントラモードまたはインターモードのどちらか一方を決定し(105)、例えば、予測モードフラグによって、イントラ/インター決定を示す。予測残差が、例えば、予測されたブロックを元の画像ブロックから減算(110)することによって、計算される。
【0138】
その後、予測残差は、変換(125)され、量子化(130)される。量子化された変換係数、ならびに動きベクトルおよび他のシンタックス要素が、エントロピ符号化(145)されて、ビットストリームを出力する。エンコーダは、変換をスキップし、変換されていない残差信号に直接的に量子化を適用することができる。エンコーダは、変換および量子化の両方をバイパスすることができ、すなわち、残差は、変換または量子化プロセスの適用なしに、直接的に符号化される。
【0139】
エンコーダは、エンコードされたブロックをデコードして、さらなる予測のための参照を提供する。量子化された変換係数は、予測残差をデコードするために、逆量子化(140)および逆変換(150)される。デコードされた予測残差と予測されたブロックとを組み合わせて(155)、画像ブロックが、再構築される。例えば、デブロッキング/SAO(サンプル適応オフセット)フィルタリングを実行するために、インループフィルタ(165)が、再構築されたピクチャに適用されて、エンコーディングアーチファクトを低減させる。フィルタリングされた画像は、参照ピクチャバッファ(180)に記憶される。
【0140】
図15は、ビデオデコーダ200の例のブロック図を例示している。デコーダ200において、ビットストリームは、以下で説明されるように、デコーダ要素によってデコードされる。ビデオデコーダ200は、一般に、
図14に関して説明されるようなエンコーディングパスと相反的な、デコーディングパスを実行する。エンコーダ100も、一般に、ビデオデータをエンコードする一環として、ビデオデコーディングを実行する。
【0141】
デコーダの入力は、ビデオエンコーダ100によって生成することができる、ビデオビットストリームを含む。ビットストリームは、最初に、エントロピデコード(230)されて、変換係数、動きベクトル、および他の符号化された情報を獲得する。ピクチャパーティション情報は、ピクチャがどのようにパーティショニングされているかを示す。したがって、デコーダは、デコードされたピクチャのパーティショニング情報に従って、ピクチャを分割する(235)ことができる。変換係数は、予測残差をデコードするために、逆量子化(240)および逆変換(250)される。デコードされた予測残差と予測されたブロックとを組み合わせて(255)、画像ブロックが、再構築される。予測されたブロックは、イントラ予測(260)または動き補償予測(すなわち、インター予測)(275)から、獲得する(270)ことができる。インループフィルタ(265)が、再構築された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(280)に記憶される。
【0142】
デコードされたピクチャは、さらに、ポストデコーディング処理(285)、例えば、逆カラー変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)、またはプリエンコーディング処理(101)において実行された再マッピングプロセスの逆を実行する逆再マッピングを通過することができる。ポストデコーディング処理は、プリエンコーディング処理において導出され、ビットストリームで伝達された、メタデータを使用することができる。
【0143】
図16は、様々な態様および実施形態が実施されるシステムの例のブロック図を例示している。システム1000は、以下で説明される様々な構成要素を含むデバイスとして具体化することができ、本文書において説明される態様のうちの1つまたは複数を実行するように構成される。そのようなデバイスの例は、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受像機、パーソナルビデオ録画システム、接続された家電製品、およびサーバなど、様々な電子デバイスを含むが、それらに限定されない。システム1000の要素は、単独で、または組み合わせて、単一の集積回路、複数のIC、および/または個別の構成要素で具体化することができる。例えば、少なくとも1つの実施形態においては、システム1000の処理およびエンコーダ/デコーダ要素は、複数のICおよび/または個別の構成要素にわたって分散される。様々な実施形態においては、システム1000は、例えば、通信バスを介して、または専用入力および/もしくは出力ポートを通して、他の類似のシステムに、または他の電子デバイスに通信可能に結合される。様々な実施形態においては、システム1000は、本文書において説明される態様のうちの1つまたは複数を実施するように構成される。
【0144】
システム1000は、例えば、本文書において説明される様々な態様を実施するために、そこにロードされた命令を実行するように構成された、少なくとも1つのプロセッサ1010を含む。プロセッサ1010は、組み込みメモリ、入出力インターフェース、および当技術分野において知られた様々な他の回路を含むことができる。システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリデバイス、および/または不揮発性メモリデバイス)を含む。システム1000は、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含むが、それらに限定されない、不揮発性メモリおよび/または揮発性メモリを含むことができる、ストレージデバイス1040を含む。ストレージデバイス1040は、非限定的な例として、内部ストレージデバイス、取り付けられたストレージデバイス、および/またはネットワークアクセス可能なストレージデバイスを含むことができる。
【0145】
システム1000は、例えば、データを処理して、エンコードされたビデオまたはデコードされたビデオを提供するように構成された、エンコーダ/デコーダモジュール1030を含み、エンコーダ/デコーダモジュール1030は、それ自体のプロセッサおよびメモリを含むことができる。エンコーダ/デコーダモジュール1030は、エンコーディングおよび/またはデコーディング機能を実行するために、デバイスに含めることができる、モジュールを表す。知られているように、デバイスは、エンコーディングモジュールおよびデコーディングモジュールの一方または両方を含むことができる。加えて、エンコーダ/デコーダモジュール1030は、システム1000の別々の要素として実施することができ、または当業者に知られているように、ハードウェアおよびソフトウェアの組合せとして、プロセッサ1010内に組み込むことができる。
【0146】
本文書において説明される様々な態様を実行するために、プロセッサ1010またはエンコーダ/デコーダ1030上にロードされるプログラムコードは、ストレージデバイス1040内に記憶され、その後、プロセッサ1010による実行のために、メモリ1020上にロードすることができる。様々な実施形態に従うと、プロセッサ1010、メモリ1020、ストレージデバイス1040、およびエンコーダ/デコーダモジュール1030のうちの1つまたは複数は、本文書において説明されるプロセスの実行中に、様々なアイテムのうちの1つまたは複数を記憶することができる。そのような記憶されたアイテムは、入力ビデオ、デコードされたビデオまたはデコードされたビデオの一部、ビットストリーム、行列、変数、ならびに方程式、公式、演算、および演算論理の処理からの中間または最終結果を含むことができるが、それらに限定されない。
【0147】
いくつかの実施形態においては、プロセッサ1010および/またはエンコーダ/デコーダモジュール1030の内部のメモリは、命令を記憶し、エンコーディングまたはデコーディング中に必要とされる処理のための作業メモリを提供するために使用される。しかしながら、他の実施形態においては、処理デバイス(例えば、処理デバイスは、プロセッサ1010またはエンコーダ/デコーダモジュール1030のどちらかであることができる)の外部のメモリが、これらの機能のうちの1つまたは複数のために使用される。外部メモリは、メモリ1020および/またはストレージデバイス1040、例えば、動的揮発性メモリおよび/または不揮発性フラッシュメモリであることができる。いくつかの実施形態においては、外部不揮発性フラッシュメモリは、テレビのオペレーティングシステムを記憶するために使用される。少なくとも1つの実施形態においては、RAMなどの高速な外部動的揮発性メモリが、MPEG-2、HEVC、またはVVC(多用途ビデオ符号化)など、ビデオ符号化およびデコーディング演算のための作業メモリとして使用される。
【0148】
システム1000の要素への入力は、ブロック1130に示されるような、様々な入力デバイスを通して、提供することができる。そのような入力デバイスは、(i)例えば、放送局によって無線で送信された、RF信号を受信するRF部、(ii)複合入力端子、(iii)USB入力端子、および/または(iv)HDMI入力端子を含むが、それらに限定されない。
【0149】
様々な実施形態においては、ブロック1130の入力デバイスは、当技術分野において知られるような、関連付けられたそれぞれの入力処理要素を有する。例えば、RF部は、(i)所望の周波数を選択し(信号を選択する、または信号を周波数の帯域に帯域制限するとも言われる)、(ii)選択された信号をダウンコンバートし、(iii)ある実施形態においてはチャネルと呼ぶことができる(例えば)信号周波数帯域を選択するために、周波数のより狭い帯域に再び帯域制限し、(iv)ダウンコンバートおよび帯域制限された信号を復調し、(v)誤り訂正を実行し、および(vi)データパケットの所望のストリームを選択するために逆多重化するために必要な要素に関連付けることができる。様々な実施形態のRF部は、これらの機能を実行するための1つまたは複数の要素、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、およびデマルチプレクサを含む。RF部は、例えば、受信された信号を、より低い周波数(例えば、中間周波数もしくは近ベースバンド周波数)に、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実行する、チューナを含むことができる。セットトップボックスの一実施形態においては、RF部およびそれの関連付けられた入力処理要素は、有線(例えば、ケーブル)媒体上において送信されたRF信号を受信し、所望の周波数帯域にフィルタリングし、ダウンコンバートし、および再びフィルタリングすることによって、周波数選択を実行する。様々な実施形態は、上で説明された(および他の)要素の順序を再配置し、これらの要素のいくつかを削除し、および/または類似もしくは異なる機能を実行する他の要素を追加する。要素を追加することは、既存の要素の間に要素を挿入すること、例えば、増幅器およびアナログ-デジタルコンバータを挿入することを含むことができる。様々な実施形態においては、RF部は、アンテナを含む。
【0150】
加えて、USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続を介して、システム1000を他の電子デバイスに接続するための、それぞれのインターフェースプロセッサを含むことができる。入力処理の様々な態様、例えば、リード-ソロモン誤り訂正は、必要に応じて、例えば、別個の入力処理IC内において、またはプロセッサ1010内において実施することができることを理解されたい。同様に、USBまたはHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内において、またはプロセッサ1010内において実施することができる。復調され、誤り訂正され、逆多重化されたストリームは、出力デバイス上における提示用に、必要に応じて、データストリームを処理するために、メモリおよびストレージ要素と組み合わされて動作する、例えば、プロセッサ1010、およびエンコーダ/デコーダ1030を含む、様々な処理要素に提供される。
【0151】
システム1000の様々な要素は、統合ハウジング内において提供することができる。統合ハウジング内においては、様々な要素は、相互接続され、適切な接続構成1140、例えば、I2Cバス、配線、およびプリント回路基板を含む、当技術分野において知られた内部バスを使用して、それらの間でデータを送信することができる。
【0152】
システム1000は、通信チャネル1060を介した他のデバイスとの通信を可能にする、通信インターフェース1050を含む。通信インターフェース1050は、通信チャネル1060上においてデータを送信および受信するように構成された、送受信機を含むことができるが、それに限定されない。通信インターフェース1050は、モデムまたはネットワークカードを含むことができるが、それらに限定されず、通信チャネル1060は、例えば、有線および/または無線媒体内において実施することができる。
【0153】
様々な実施形態においては、データは、IEEE802.11などの無線ネットワークを使用して、システム1000にストリーミングされる。これらの実施形態の無線信号は、例えば、Wi-Fi通信のために適合された、通信チャネル1060および通信インターフェース1050上において受信される。これらの実施形態の通信チャネル1060は、典型的には、ストリーミングアプリケーションおよび他のオーバザトップ通信を可能にするための、インターネットを含む外部ネットワークへのアクセスを提供する、アクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック1130のHDMI接続上においてデータを配信する、セットトップボックスを使用して、ストリーミングされるデータをシステム1000に提供する。さらに他の実施形態は、入力ブロック1130のRF接続を使用して、ストリーミングされるデータをシステム1000に提供する。
【0154】
システム1000は、出力信号を、ディスプレイ1100、スピーカ1110、および他の周辺デバイス1120を含む、様々な出力デバイスに提供することができる。実施形態の様々な例においては、他の周辺デバイス1120は、スタンドアロンDVR、ディスクプレーヤ、ステレオシステム、照明システム、およびシステム1000の出力に基づいた機能を提供する他のデバイスのうちの1つまたは複数を含む。様々な実施形態においては、AV.Link、CEC、またはユーザ介入ありもしくはなしのデバイス間制御を可能にする他の通信プロトコルなどのシグナリングを使用して、制御信号が、システム1000と、ディスプレイ1100、スピーカ1110、または他の周辺デバイス1120との間で通信される。出力デバイスは、それぞれのインターフェース1070、1080、および1090を通した専用接続を介して、システム1000に通信可能に結合することができる。あるいは、出力デバイスは、通信インターフェース1050を介して、通信チャネル1060を使用して、システム1000に接続することができる。ディスプレイ1100およびスピーカ1110は、電子デバイス、例えば、テレビにおいて、システム1000の他の構成要素とともに、単一のユニット内に統合することができる。様々な実施形態においては、ディスプレイインターフェース1070は、ディスプレイドライバ、例えば、タイミングコントローラ(T Con)チップを含む。
【0155】
あるいは、例えば、入力1130のRF部が、別個のセットトップボックスの一部である場合、ディスプレイ1100およびスピーカ1110は、他の構成要素のうちの1つまたは複数から分離していることができる。ディスプレイ1100およびスピーカ1110が外部構成要素である、様々な実施形態においては、出力信号は、例えば、HDMIポート、USBポート、またはCOMP出力を含む、専用出力接続を介して、提供することができる。
【0156】
実施形態は、プロセッサ1010によって実施されるコンピュータソフトウェアによって、もしくはハードウェアによって、またはハードウェアおよびソフトウェアの組合せによって、実行することができる。非限定的な例として、実施形態は、1つまたは複数の集積回路によって実施することができる。メモリ1020は、技術環境に対して適切な任意のタイプであることができ、非限定的な例として、光メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、およびリムーバブルメモリなどの、任意の適切なデータストレージ技術を使用して、実施することができる。プロセッサ1010は、技術環境に対して適切な任意のタイプであることができ、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づいたプロセッサのうちの1つまたは複数を包含することができる。
【0157】
様々な実施は、デコーディングを含む。本出願において使用される場合、「デコーディング」は、表示に適した最終出力を生成するために、例えば、受信されたエンコードされたシーケンスに対して実行される、プロセスのすべてまたは一部を包含することができる。様々な実施形態においては、そのようなプロセスは、典型的にはデコーダによって実行されるプロセス、例えば、エントロピデコーディング、逆量子化、逆変換、および差分デコーディングのうちの1つまたは複数を含む。様々な実施形態においては、そのようなプロセスは、本出願において説明される様々な実施のデコーダによって実行されるプロセス、例えば、様々なイントラ予測参照アレイのために使用される重みのインデックスを抽出することも含み、または代替として、それを含む。
【0158】
さらなる例として、一実施形態においては、「デコーディング」とは、エントロピデコーディングだけを指し、別の実施形態においては、「デコーディング」とは、差分デコーディングだけを指し、別の実施形態においては、「デコーディング」とは、エントロピデコーディングおよび差分デコーディングの組合せを指す。「デコーディングプロセス」という語句が、特定的に動作のサブセットを指すことを意図しているか、それとも一般的により広いデコーディングプロセスを指すことを意図しているかは、具体的な説明の文脈に基づいて明らかであり、当業者によく理解されると信じられる。
【0159】
様々な実施は、エンコーディングを含む。「デコーディング」についての上述の説明と同様に、本出願において使用される場合、「エンコーディング」は、エンコードされたビットストリームを生成するために、例えば、入力ビデオシーケンスに対して実行される、プロセスのすべてまたは一部を包含することができる。様々な実施形態においては、そのようなプロセスは、典型的にはエンコーダによって実行されるプロセス、例えば、分割、差分エンコーディング、変換、量子化、およびエントロピエンコーディングのうちの1つまたは複数を含む。様々な実施形態においては、そのようなプロセスは、本出願において説明される様々な実施のエンコーダによって実行されるプロセス、例えば、イントラ予測参照アレイの重み付けも含み、または代替として、それを含む。
【0160】
さらなる例として、一実施形態においては、「エンコーディング」とは、エントロピエンコーディングだけを指し、別の実施形態においては、「エンコーディング」とは、差分エンコーディングだけを指し、別の実施形態においては、「エンコーディング」とは、差分エンコーディングおよびエントロピエンコーディングの組合せを指す。「エンコーディングプロセス」という語句が、特定的に動作のサブセットを指すことを意図しているか、それとも一般的により広いエンコーディングプロセスを指すことを意図しているかは、具体的な説明の文脈に基づいて明らかであり、当業者によく理解されると信じられる。
【0161】
シンタックス要素は、本明細書において使用される場合、記述用語であることに留意されたい。そのため、それらは、他のシンタックス要素名の使用を排除しない。
【0162】
図が、フロー図として提示されるとき、それは、対応する装置のブロック図も提供することを理解されたい。同様に、図が、ブロック図として提示されるとき、それは、対応する方法/プロセスのフロー図も提供することを理解されたい。
【0163】
様々な実施形態は、レート歪み計算またはレート歪み最適化に言及する。エンコーディングプロセス中、しばしば計算複雑さの制約を与えられて、レートと歪みとの間のバランスまたはトレードオフが、通常、考慮される。レート歪み最適化は、通常、レートと歪みの加重和である、レート歪み関数を最小化することとして定式化される。レート歪み最適化問題を解決するための異なる手法が、存在する。例えば、手法は、その符号化コストならびに符号化およびデコーディング後の再構築された信号の関連する歪みの完全な評価を伴った、すべての検討されるモードまたは符号化パラメータ値を含む、すべてのエンコーディングオプションの広範なテストに基づくことができる。エンコーディング複雑さを省くために、特に、再構築されたものではなく、予測または予測残差信号に基づいた、近似された歪みの計算を用いる、より高速な手法を使用することもできる。可能なエンコーディングオプションのいくつかだけに対しては近似された歪みを使用し、他のエンコーディングオプションに対しては完全な歪みを使用することなどによって、これら2つの手法の混合を使用することもできる。他の手法は、可能なエンコーディングオプションのサブセットだけを評価する。より一般的には、多くの手法は、様々な技法のいずれかを利用して、最適化を実行するが、最適化は、必ずしも、符号化コストおよび関連する歪みの両方の完全な評価ではない。
【0164】
本明細書において説明される実施および態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号で実施することができる。実施の単一の形態との関連においてのみ説明された(例えば、方法としてのみ説明された)場合であっても、説明された特徴の実施は、他の形態(例えば、装置またはプログラム)でも実施することができる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実施することができる。方法は、例えば、一般に処理デバイスを指す、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブル論理デバイスを含む、プロセッサで実施することができる。プロセッサは、例えば、コンピュータ、セルフォン、ポータブル/パーソナルデジタルアシスタント(「PDA」)、およびエンドユーザ間の情報の通信を容易にする他のデバイスなど、通信デバイスも含む。
【0165】
「一実施形態」もしくは「実施形態」、または「一実施」もしくは「実施」、およびそれらの他の変形に対する言及は、実施形態との関連において説明される特定の特徴、構造、および特性などが、少なくとも1つの実施形態に含まれることを意味する。したがって、本文書全体の様々な場所に現れる、「一実施形態において」もしくは「実施形態において」という語句、または「一実施において」もしくは「実施において」という語句、および他の任意の変形の出現は、すべてが、必ずしも同じ実施形態に言及しているとは限らない。
【0166】
加えて、本文書は、様々な情報を「決定する」ことに言及することがある。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、またはメモリから情報を取り出すことのうちの1つまたは複数を含むことができる。
【0167】
さらに、本文書は、様々な情報に「アクセスする」ことに言及することがある。情報にアクセスすることは、例えば、情報を受信すること、(例えば、メモリから)情報を取り出すこと、情報を記憶すること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を決定すること、情報を予測すること、または情報を推定することのうちの1つまたは複数を含むことができる。
【0168】
加えて、本文書は、様々な情報を「受信する」ことに言及することがある。受信することは、「アクセスする」ことと同様、広義の用語であることが意図されている。情報を受信することは、例えば、情報にアクセスすること、または(例えば、メモリから)情報を取り出すことのうちの1つまたは複数を含むことができる。さらに、「受信する」ことは、典型的に、例えば、情報を記憶すること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、または情報を推定することなどの動作中に、様々な方法で含まれる。
【0169】
例えば、「A/B」、「Aおよび/またはB」、および「AおよびBの少なくとも一方」のケースにおける、以下の「/」、「および/または」、および「少なくとも一方」のいずれかの使用は、第1の列挙された選択肢(A)だけの選択、または第2の列挙された選択肢(B)だけの選択、または両方の選択肢(AおよびB)の選択を包含することが意図されていることを理解されたい。さらなる例として、「A、B、および/またはC」、および「A、B、およびCのうちの少なくとも1つ」のケースにおいては、そのような言い回しは、第1の列挙された選択肢(A)だけの選択、または第2の列挙された選択肢(B)だけの選択、または第3の列挙された選択肢(C)だけの選択、または第1および第2の列挙された選択肢(AおよびB)だけの選択、または第1および第3の列挙された選択肢(AおよびC)だけの選択、または第2および第3の列挙された選択肢(BおよびC)だけの選択、または3つの選択肢すべて(AおよびBおよびC)の選択を包含することが意図されている。これは、当業者および関連技術分野の技術者に明らかなように、列挙された数のアイテムだけ拡張することができる。
【0170】
また、本明細書において使用される場合、「signal(伝達する)」という語は、とりわけ、対応するデコーダに何かを示すことを指す。例えば、ある実施形態においては、エンコーダは、イントラ予測参照アレイのために使用される、複数の重みのうちの特定の1つを伝達する。このように、実施形態においては、同じパラメータが、エンコーダ側およびデコーダ側の両方において使用される。したがって、例えば、エンコーダは、デコーダが、同じ特定のパラメータを使用することができるように、特定のパラメータをデコーダに送信することができる(明示的なシグナリング)。逆に、デコーダが、特定のパラメータおよびその他のものをすでに有する場合、送信せずに、シグナリングを使用して、単にデコーダが特定のパラメータを知り、選択することを可能にすることができる(暗黙のシグナリング)。いずれかの実際の機能の送信を回避することによって、様々な実施形態において、ビット節約が、実現される。シグナリングは、様々な方法で達成することができることを理解されたい。例えば、様々な実施形態においては、情報を対応するデコーダに伝達するために、1つまたは複数のシンタックス要素、およびフラグなどが、使用される。上述のことは、「signal」という語の動詞形に関するが、「signal(信号)」という語は、本明細書において、名詞として使用することもできる。
【0171】
当業者に明らかであるように、実施は、例えば、記憶または送信することができる情報を運ぶようにフォーマットされた、様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または説明された実施のうちの1つによって生成されたデータを含むことができる。例えば、信号は、説明された実施形態のビットストリームを運ぶようにフォーマットすることができる。そのような信号は、例えば、(例えば、スペクトルの無線周波数部分を使用する)電磁波として、またはベースバンド信号として、フォーマットすることができる。フォーマッティングは、例えば、データストリームをエンコーディングすること、およびエンコードされたデータストリームを用いてキャリアを変調することを含むことができる。信号が運ぶ情報は、例えば、アナログ情報、またはデジタル情報であることができる。信号は、知られているように、様々な異なる有線または無線リンク上において送信することができる。信号は、プロセッサ可読媒体上に記憶することができる。
【0172】
実施形態は、様々な異なる請求項カテゴリおよびタイプにわたる、以下の特徴またはエンティティのうちの1つまたは複数を、単独で、または組み合わせて含むことができる。
【0173】
●AMVPおよびマージの間における、アフィンモード使用の異なる統計的発生を考慮した、アフィンモードのエンコーディングおよびデコーディング。
【0174】
●AMVPおよびマージモードにおいて、独立してアフィンフラグを符号化することによって、AMVPおよびマージの間における、アフィンモード使用の異なる統計的発生を考慮した、アフィンモードのエンコーディングおよびデコーディング。
【0175】
●AMVPおよびマージモードにおいて、独立してアフィンフラグを符号化することによって、AMVPおよびマージの間における、アフィンモード使用の異なる統計的発生を考慮した、アフィンモードのエンコーディングおよびデコーディングであって、アフィンフラグのためのCABACコンテキストの総数が、2倍になる、アフィンモードのエンコーディングおよびデコーディング。
【0176】
●AMVPおよびマージモードにおいて、独立してアフィンフラグを符号化することによって、AMVPおよびマージの間における、アフィンモード使用の異なる統計的発生を考慮した、アフィンモードのエンコーディングおよびデコーディングであって、アフィンフラグのためのCABACコンテキストの総数が、2倍になり、実際のアフィンフラグコンテキストモデリングが、3つの代わりに、6つのコンテキストを使用する、アフィンモードのエンコーディングおよびデコーディング。
【0177】
●空間アフィン近隣に基づいた、CABACコンテキストモデリングを取り除くこと。
【0178】
●ただ1つのコンテキストを使用して、空間アフィン近隣に基づいた、CABACコンテキストモデリングを取り除くこと。
【0179】
●空間近隣が利用可能かどうかだけを使用して、コンテキストをモデリングすること。
【0180】
●空間近隣が利用可能かどうかだけを使用して、コンテキストをモデリングすることであって、アフィン近隣が利用可能でないこと(コンテキスト0)、または少なくとも1つのアフィン近隣が利用可能であること(コンテキスト1)の、2つのコンテキストが、可能である、モデリングすること。
【0181】
●コンテキストモデリングにおいて、インターモードで符号化されているが、アフィンモードで符号化されていない、近隣CUから構築される、検討される仮想アフィン候補を構築すること。
【0182】
●コンテキストモデリングにおいて、インターモードで符号化されているが、アフィンモードで符号化されていない、近隣CUから構築される、検討される仮想アフィン候補を構築することであって、その場合、コンテキストは、
○インター近隣が利用可能でない場合は、0、
○インター近隣が利用可能であるが、アフィン近隣が利用可能でない場合は、1、
○アフィン近隣が利用可能である場合は、2
である、構築すること。
【0183】
●仮想時間候補の作成を可能にするために、インターピクチャである参照ピクチャの存在を検討すること。
【0184】
●仮想時間候補の作成を可能にするために、インターピクチャである参照ピクチャの存在を検討することであって、仮想時間候補は、インターモードで符号化された、時間的に併置されたCUから、構築することができる、検討すること。
【0185】
●仮想時間候補の作成を可能にするために、インターピクチャである参照ピクチャの存在を検討することであって、仮想時間候補は、インターモードで符号化された、時間的に併置されたCUから、構築することができ、コンテキストモデリングは、
○インター近隣が利用可能である、または参照ピクチャインデックス0を有するインター参照ピクチャが利用可能である
ことを含む、検討すること。
【0186】
●説明されたシンタックス要素のうちの1つもしくは複数、またはそれらの変形を含む、ビットストリームまたは信号。
【0187】
●デコーダが、エンコーダによって使用されるものに対応する方法で、アフィンモード処理を提供することを可能にする、シンタックス要素を、シグナリングに挿入すること。
【0188】
●これらのシンタックス要素に基づいて、デコーダにおいて適用するアフィンモード処理を選択すること。
【0189】
●説明されたシンタックス要素のうちの1つもしくは複数、またはそれらの変形を含む、ビットストリームまたは信号を作成し、および/または送信し、および/または受信し、および/またはデコードすること。
【0190】
●説明された実施形態のいずれかを実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
【0191】
●説明された実施形態のいずれかを実行し、結果の画像を(例えば、モニタ、スクリーン、または他のタイプのディスプレイを使用して)表示する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
【0192】
●エンコードされた画像を含む信号を受信するようにチャネルを(例えば、チューナを使用して)調整し、説明された実施形態のいずれかを実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
【0193】
●エンコードされた画像を含む信号を(例えばアンテナを使用して)無線で受信し、説明された実施形態のいずれかを実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
【0194】
●コンピュータによって実行されたときに、説明された実施形態のいずれかを実施する、プログラムコードを記憶する、コンピュータプログラム製品。
【0195】
●命令を実行するコンピュータに、説明された実施形態のいずれかを実施させる、実行可能なプログラム命令を含む、非一時的コンピュータ可読媒体。
【0196】
様々な他の一般化および特定化された実施形態も、本開示の全体にわたって、サポートおよび企図される。
【産業上の利用可能性】
【0197】
本発明は、ビデオ信号処理に利用することができる。