JP2022526276A - 画像エンコーディングおよびデコーディングのための方法およびデバイス - Google Patents

画像エンコーディングおよびデコーディングのための方法およびデバイス Download PDF

Info

Publication number
JP2022526276A
JP2022526276A JP2021555855A JP2021555855A JP2022526276A JP 2022526276 A JP2022526276 A JP 2022526276A JP 2021555855 A JP2021555855 A JP 2021555855A JP 2021555855 A JP2021555855 A JP 2021555855A JP 2022526276 A JP2022526276 A JP 2022526276A
Authority
JP
Japan
Prior art keywords
motion vector
current block
available
reference image
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021555855A
Other languages
English (en)
Other versions
JP7448558B2 (ja
JPWO2020190655A5 (ja
Inventor
ガルピン フランク
ルルアンネック ファブリス
フランソワ エドゥアルド
Original Assignee
インターデイジタル ヴィーシー ホールディングス インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インターデイジタル ヴィーシー ホールディングス インコーポレイテッド filed Critical インターデイジタル ヴィーシー ホールディングス インコーポレイテッド
Publication of JP2022526276A publication Critical patent/JP2022526276A/ja
Publication of JPWO2020190655A5 publication Critical patent/JPWO2020190655A5/ja
Priority to JP2024029991A priority Critical patent/JP2024059909A/ja
Application granted granted Critical
Publication of JP7448558B2 publication Critical patent/JP7448558B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

時間動きベクトルプレディクタを取得するための方法が、開示される。新しい時間動きベクトルプレディクタは、コロケートされた画像内のブロックの動きベクトルを使用することによって、取得される。ブロックは、新しい時間動きベクトルプレディクタ(TMVP)プロセスに由来する動きベクトルによって、(現在のブロックの空間的ロケーションに関して)変位させられる。

Description

本実施形態のうちの少なくとも1つは、一般に、画像エンコーディングおよびデコーディングのための方法およびデバイスに関し、より詳細には、画像内の動きを表す情報をエンコードおよびデコードするための方法およびデバイスに関する。
高い圧縮効率を達成するために、ビデオ符号化スキームは、通常、予測および変換を利用して、ビデオコンテンツ内の空間的および時間的冗長性を活用する。エンコーディング中に、ビデオコンテンツの画像(image)は、ピクセルからなるブロックに分割され、これらのブロックは、その後、以下でオリジナルサブブロックと呼ばれる、1つまたは複数のサブブロックにパーティショニング(partitioning:分割)される。その後、イントラ画像相関性またはインター画像相関性を利用するために、イントラ予測またはインター予測が、各サブブロックに適用される。使用される予測方法が、何であれ(イントラであれ、またはインターであれ)、各オリジナルサブブロックに対して、プレディクタサブブロックが、決定される。その後、予測誤差サブブロック、予測残差サブブロック、または単に残差ブロックとしばしば呼ばれる、オリジナルサブブロックとプレディクタサブブロックとの差を表すサブブロックが、変換され、量子化され、エントロピ符号化されて、エンコードされたビデオストリームを生成する。ビデオを再構築するためには、変換、量子化、エントロピ符号化に対応する逆プロセスによって、圧縮されたデータが、デコードされる。
基本的に、インター予測を使用してエンコードされたサブブロック、すなわち、インターモードを使用してエンコードされたブロックは、残差ブロックと、プレディクタサブブロックを見つける場所を示す動き情報とによって、表される。前世代のビデオ圧縮規格においては(例えば、共同ビデオ専門家チーム(JVET)として知られる、ITU-TとISO/IECの専門家からなる共同協力チームによって開発中の、多用途ビデオ符号化(VVC)という名前の国際規格においては、または規格HEVC(ISO/IEC23008-2-MPEG-Hパート2、高効率ビデオ符号化/ITU-T H.265)においては)、サブブロックのテクスチャばかりでなく、動き情報も予測することによって、圧縮利得が、取得された。
動き情報予測は、サブブロックの動きは、一般に、それの近傍に配置された他のサブブロックの動きと相関があるという仮定に主に基づく。したがって、サブブロックの近傍の定義は、動き情報予測のキーポイントである。実際、この近傍は、最良の可能な動き情報プレディクタ(motion information predictor)が、この近傍内にあることを保証するために、十分に大きいものであるべきであるが、動き情報プレディクタをシグナリングするコストを制限するほど、大きすぎてはならない。
動き情報予測を改善することを可能にする、すなわち、使用される近傍が、動き情報予測のための最良の候補を含むことを保証する、解決策を提案することが望ましい
第1の態様においては、本実施形態のうちの1つまたは複数は、デコーディングのための方法を提供し、方法は、現在の画像(image)をデコードするために、現在のブロックとコロケートしている(collocated)、第1の参照画像(reference image)の、コロケート領域(collocated region:同一位置にある領域)と呼ばれる、領域を識別するステップと、前記コロケート領域内または前記コロケート領域の近傍内の位置から、第2の参照画像上をポイントしている、第1の動きベクトルを取得するステップと、第1の動きベクトルに基づいて、現在のブロック内の位置に変位(displacement:移動)を適用することによって、第2の参照画像内の、シフト位置と呼ばれる、位置を取得するステップと、第2の動きベクトルが、シフト位置において入手可能であるかどうかを決定するステップ、および入手可能である場合、現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることが意図された、第2の動きベクトルに基づいた、第3の動きベクトルを取得するステップとを含む。
第2の態様においては、本実施形態のうちの1つまたは複数は、エンコーディングのための方法を提供し、方法は、現在の画像のデコードするために、現在のブロックとコロケートしている、第1の参照画像の、コロケート領域と呼ばれる、領域を識別するステップと、前記コロケート領域内または前記コロケート領域の近傍内の位置から、第2の参照画像上をポイントしている、第1の動きベクトルを取得するステップと、第1の動きベクトルに基づいて、現在のブロック内の位置に変位(displacement:移動)を適用することによって、第2の参照画像内の、シフト位置と呼ばれる、位置を取得するステップと、第2の動きベクトルが、シフト位置において、入手可能であるかどうかを決定するステップ、および入手可能である場合、現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることが意図された、第2の動きベクトルに基づいた、第3の動きベクトルを取得するステップとを含む。
第1または第2の態様に従った方法の実施形態においては、第1の動きベクトルは、第1の動きベクトルが第2の参照画像上をポイントすることを保証するために、シフト位置を取得するために使用される前に、リスケールされる。
第1または第2の態様に従った方法の実施形態においては、シフト位置が制約エリア外にあるとき、シフト位置は、シフトエリア内に収まるように、クリップされる。
第1または第2の態様に従った方法の実施形態においては、シフト位置が制約エリア外にあるとき、第3の動きベクトルは、第1の動きベクトルに基づく。
第1または第2の態様に従った方法の実施形態においては、第2の参照画像上をポイントしている第1の動きベクトルを、前記コロケート領域内または前記コロケート領域の近傍内の位置から取得することができないとき、方法は、空間動きベクトルが、現在のブロックの動きベクトルをデコードするために使用される、動きベクトルプレディクタ候補のリスト内において、入手可能であるかどうかを決定するステップと、空間動きベクトルが入手可能である場合、第1の動きベクトルを、入手可能な空間動きベクトルに依存した値になるように修正するステップとを含む。
第1または第2の態様に従った方法の実施形態においては、第2の参照画像上をポイントしている第1の動きベクトルを、前記コロケート領域内または前記コロケート領域の近傍内の位置から取得することができないとき、方法は、第1の動きベクトルを、空間動きベクトルになるように修正するステップを含む。
第1または第2の態様に従った方法の実施形態においては、第1の動きベクトルは、前記コロケート領域の近傍内の位置から取得され、方法は、前記コロケート領域内の位置から、第2の参照画像上をポイントしている、第4の動きベクトルを取得するステップと、第4の動きベクトルに基づいて、現在のブロック内の位置に変位を適用することによって、第2の参照画像内の、第2のシフト位置と呼ばれる、位置を取得するステップと、第5の動きベクトルが、第2のシフト位置において入手可能であるかどうかを決定するステップ、および入手可能である場合、現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることが意図された、第5の動きベクトルに基づいた、第6の動きベクトルを取得するステップと、リスト内に挿入されるべき、動きベクトルの順序付けられたセット内の第1の入手可能な動きベクトルを選択するステップであって、前記順序付けられたセットは、少なくとも、第3の動きベクトルと、第6の動きベクトルと、第1の動きベクトルと、第4の動きベクトルとを、これらの動きベクトルが入手可能であるときに、含む、ステップをさらに含む。
第1または第2の態様に従った方法の実施形態においては、順序付けられたセットは、入手可能であるときは、前記コロケート領域内の位置から導出される動きベクトルをさらに含む。
第1または第2の態様に従った方法の実施形態においては、現在のブロックは、サブブロックに分割され、シフト位置を取得するステップは、各サブブロックについてのシフト位置を、第1の動きベクトルに基づいて、サブブロック内の位置に変位を適用することによって、取得するステップを含み、第3の動きベクトルは、各サブブロックについて、第2の動きベクトルが、前記サブブロックに対応するシフト位置において、入手可能である場合に、取得される。
第3の態様においては、本実施形態のうちの1つまたは複数は、デコーディングのためのデバイスを提供し、デバイスは、現在の画像をデコードするために、現在のブロックとコロケートしている、第1の参照画像の、コロケート領域と呼ばれる、領域を識別することと、前記コロケート領域内または前記コロケート領域の近傍内の位置から、第2の参照画像上をポイントしている、第1の動きベクトルを取得することと、第1の動きベクトルに基づいて、現在のブロック内の位置に変位を適用することによって、第2の参照画像内の、シフト位置と呼ばれる、位置を取得することと、第2の動きベクトルが、シフト位置において入手可能であるかどうかを決定すること、および入手可能である場合、現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることが意図された、第2の動きベクトルに基づいた、第3の動きベクトルを取得することとを行うために適合された電子回路を備える。
第4の態様においては、本実施形態のうちの1つまたは複数は、エンコーディングのためのデバイスを提供し、デバイスは、現在の画像をデコードするために、現在のブロックとコロケートしている、第1の参照画像の、コロケート領域と呼ばれる、領域を識別することと、前記コロケート領域内または前記コロケート領域の近傍内の位置から、第2の参照画像上をポイントしている、第1の動きベクトルを取得することと、第1の動きベクトルに基づいて、現在のブロック内の位置に変位を適用することによって、第2の参照画像内の、シフト位置と呼ばれる、位置を取得することと、第2の動きベクトルが、シフト位置において入手可能であるかどうかを決定すること、および入手可能である場合、現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることが意図された、第2の動きベクトルに基づいた、第3の動きベクトルを取得することとを行うために適合された電子回路を備える。
第3または第4の態様に従ったデバイスの実施形態においては、第1の動きベクトルは、第1の動きベクトルが第2の参照画像上をポイントすることを保証するために、シフト位置を取得するために使用される前に、リスケールされる。
第3または第4の態様に従ったデバイスの実施形態においては、シフト位置は制約エリア外にあり、シフト位置は、シフトエリア内に収まるように、クリップされる。
第3または第4の態様に従ったデバイスの実施形態においては、シフト位置が制約エリア外にあるとき、第3の動きベクトルは、第1の動きベクトルに基づく。
第3または第4の態様に従ったデバイスの実施形態においては、第2の参照画像上をポイントしている第1の動きベクトルを、前記コロケート領域内または前記コロケート領域の近傍内の位置から取得することができないとき、デバイスは、空間動きベクトルが、現在のブロックの動きベクトルをデコードするために使用される、動きベクトルプレディクタ候補のリスト内において、入手可能であるかどうかを決定することと、空間動きベクトルが、入手可能である場合、第1の動きベクトルを、入手可能な空間動きベクトルに依存した値になるように修正することとを行うために適合された電子回路を備える。
第3または第4の態様に従ったデバイスの実施形態においては、第2の参照画像上をポイントしている第1の動きベクトルを、前記コロケート領域内または前記コロケート領域の近傍内の位置から取得することができないとき、デバイスは、第1の動きベクトルを、空間動きベクトルになるように修正することを行うために適合された電子回路を備える。
第3または第4の態様に従ったデバイスの実施形態においては、第1の動きベクトルは、前記コロケート領域の近傍内の位置から取得され、デバイスは、前記コロケート領域内の位置から、第2の参照画像上をポイントしている、第4の動きベクトルを取得することと、第4の動きベクトルに基づいて、現在のブロック内の位置に変位を適用することによって、第2の参照画像内の、第2のシフト位置と呼ばれる、位置を取得することと、第5の動きベクトルが、第2のシフト位置において、入手可能であるかどうかを決定すること、および入手可能である場合、現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることが意図された、第5の動きベクトルに基づいた、第6の動きベクトルを取得することと、リスト内に挿入される、動きベクトルの順序付けられたセット内の第1の入手可能な動きベクトルを選択することであって、前記順序付けられたセットは、少なくとも、第3の動きベクトルと、第6の動きベクトルと、第1の動きベクトルと、第4の動きベクトルとを、これらの動きベクトルが入手可能であるときに、含む、選択することとを行うために適合された電子回路をさらに備える。
第3または第4の態様に従ったデバイスの実施形態においては、順序付けられたセットは、入手可能であるときは、前記コロケート領域内の位置から導出される動きベクトルをさらに含む。
第3または第4の態様に従ったデバイスの実施形態においては、現在のブロックは、サブブロックに分割され、シフト位置を取得することは、各サブブロックについてのシフト位置を、第1の動きベクトルに基づいて、サブブロック内の位置に変位を適用することによって、取得することを含み、第3の動きベクトルは、各サブブロックについて、第2の動きベクトルが、前記サブブロックに対応するシフト位置において入手可能である場合に、取得される。
第5の態様においては、本実施形態のうちの1つまたは複数は、第2の態様に従ったエンコーディングのための方法に従って、または第4の態様に従ったエンコーディングのためのデバイスによって生成されたデータを含む、信号を提供する。
第6の態様においては、本実施形態のうちの1つまたは複数は、第1または第2の態様に従った方法を実施するためのプログラムコード命令を含む、コンピュータプログラムを提供する。
第7の態様においては、本実施形態のうちの1つまたは複数は、第1の態様または第2の態様に従った方法を実施するためのプログラムコード命令をストアする、情報記憶手段を提供する。
オリジナルビデオのピクセルからなる画像が受けるパーティショニングの例を示す図である。 エンコーディングモジュールで実行される、ビデオストリームをエンコードする方法を概略的に示す図である。 エンコードされたビデオストリーム(ビットストリーム)をデコードする方法を概略的に示す図である。 様々な実施形態が実施されエンコーディングまたはデコーディングモジュールを実施できる処理モジュールハードウェアアーキテクチャを概略的に示す図である。 様々な実施形態が実施される、システムの例のブロック図である。 通常マージモードの候補のリストの内の時間動きベクトルプレディクタの位置を表す図である。 通常マージモードの候補のリストの内の時間動きベクトルプレディクタの動きベクトルスケーリングを表す図である。 サブブロック時間動きベクトル予測プロセスにおいて考慮される空間的に近隣するブロックを表す図である。 サブブロック時間動きベクトルプレディクタの導出を可能にするプロセス例を示す図である。 改善されたTMVP導出プロセス全体を概略的に示す図である。 改善されたTMVP導出プロセス全体の第1変形の概略を示す図である。 改善されたTMVP導出プロセス全体の第2変形の概略を示す図である。 クリッピングプロセスの例を概略的に示す図である。 改善されたTMVP導出プロセス全体の第3変形の概略を示す図である。 改善されたTMVP導出プロセス全体の第4変形の概略を示す図である。 改善されたTMVP導出プロセス全体の第5変形の概略を示す図である。
以下の説明においては、いくつかの実施形態は、VVCとの関連において、またはHEVCとの関連において開発されたツールを使用する。しかしながら、これらの実施形態は、VVCまたはHEVCに対応するビデオエン符号化/デコーディング方法に限定されず、他のビデオ符号化/デコーディング方法に適用され、そればかりか画像が別の画像から予測される任意の方法にも適用される。
図1は、オリジナルビデオ10のピクセル11からなる画像が受けるパーティショニングの例を例示している。ここでは、ピクセルは、3つの成分、すなわち、ルミナンス成分と、2つのクロミナンス成分とで構成されると考えられる。しかしながら、以下の実施形態は、別の数の成分を含むピクセルを構成要素とする画像、例えば、ピクセルが1つの成分を含むグレーレベル画像、または3つのカラー成分と透明度成分および/もしくは深度成分とを含むピクセルを構成要素とする画像に適合される。
画像は、複数の符号化エンティティに分割される。第1に、図1において参照13によって表されるように、画像は、符号化ツリーユニット(CTU)と呼ばれるブロックのグリッドに分割される。CTUは、クロミナンスサンプルの2つの対応するブロックと一緒に、ルミナンスサンプルのN×Nブロックで構成される。Nは、一般に、2の累乗であり、例えば、最大値「128」を有する。第2に、画像は、CTUの1つまたは複数のグループに分割される。例えば、それは、1つまたは複数のタイル行およびタイル列に分割することができ、タイルは、画像の長方形領域をカバーする、CTUの連なりである。いくつかのケースにおいては、タイルは、1つまたは複数のブリックに分割することができ、その各々は、タイル内のCTUの少なくとも1つの行から成る。タイルおよびブリックの概念の上に、スライスと呼ばれる、別のエンコーディングエンティティが、存在し、それは、画像の少なくとも1つのタイル、またはタイルの少なくとも1つのブリックを含むことができる。
図1における例においては、参照12によって表されるように、画像11は、3つのスライスS1、S2、S3に分割され、各々は、複数のタイル(表されず)を含む。
図1において参照14によって表されるように、CTUは、符号化ユニット(CU)と呼ばれる1つまたは複数のサブブロックの階層ツリーの形に、パーティショニングすることができる。CTUは、階層ツリーのルート(すなわち、親ノード)であり、複数のCU(すなわち、子ノード)にパーティショニングすることができる。各CUは、それが、より小さいCUにさらにパーティショニングされない場合、階層ツリーのリーフになり、またはそれが、さらにパーティショニングされる場合、より小さいCU(すなわち、子ノード)の親ノードになる。例えば、四分木、二分木、および三分木を含む、階層ツリーのいくつかのタイプを、適用することができる。四分木においては、CTU(またはCU)は、等しいサイズの「4個」の正方形CUにパーティショニングすることができる(すなわち、それらの親ノードであることができる)。二分木においては、CTU(またはCU)は、等しいサイズの「2個」の長方形CUに水平または垂直にパーティショニングすることができる。三分木においては、CTU(またはCU)は、「3個」の長方形CUに水平または垂直にパーティショニングすることができる。例えば、高さNおよび幅MのCUは、高さN(またはN/4)および幅M/4(またはM)の第1のCUと、高さN(またはN/2)および幅M/2(またはM)の第2のCUと、高さN(またはN/4)および幅M/4(またはM)の第3のCUとに垂直に(または水平に)分割される。
図1の例においては、CTU14は、最初に、四分木タイプのパーティショニングを使用して、「4個」の正方形CUにパーティショニングされる。左上CUは、それがさらにパーティショニングされないので、階層ツリーのリーフであり、すなわち、それは、他のいずれのCUの親ノードでもない。右上CUは、四分木タイプのパーティショニングを再び使用して、「4個」のより小さい正方形CUにさらにパーティショニングされる。右下CUは、二分木タイプのパーティショニングを使用して、「2個」の長方形CUに垂直にパーティショニングされる。左下CUは、三分木タイプのパーティショニングを使用して、「3個」の長方形CUに垂直にパーティショニングされる。
画像の符号化中、パーティショニングは、適応的なものであり、各CTUは、CTU基準の圧縮効率を最適化するために、パーティショニングされる。
いくつかの圧縮方法においては、予測ユニット(PU)および変換ユニット(TU)という概念が、出現した。そのケースにおいては、予測のために使用される符号化エンティティ(すなわち、PU)、および変換のために使用される符号化エンティティ(すなわち、TU)は、CUの細分化であることができる。例えば、図1において表されるように、サイズ2N×2NのCUは、サイズN×2Nまたはサイズ2N×NのPU1411に分割することができる。加えて、CUは、サイズN×Nの「4個」のTU1412、またはサイズ(N/2)×(N/2)の「16個」のTUに分割することができる。
本出願においては、「ブロック」または「画像ブロック」または「サブブロック」という用語は、CTU、CU、PU、およびTUのうちのいずれか1つを指すために、使用することができる。加えて、「ブロック」または「画像ブロック」という用語は、H.264/AVCまたは他のビデオ符号化規格において規定されるような、マクロブロック、パーティション、およびサブブロックを指すために、またより一般に、数々のサイズのサンプルのアレイを指すために、使用することができる。
本出願においては、「再構築される」と「デコードされる」という用語は、交換可能に使用することができ、「ピクセル」と「サンプル」という用語は、交換可能に使用することができ、「画像(image)」と「ピクチャ」と「サブピクチャ」と「スライス」と「フレーム」という用語は、交換可能に使用することができる。
図2は、エンコーディングモジュールによって実行される、ビデオストリームをエンコードするための方法を概略的に示している。エンコーディングのためのこの方法の変形が、企図されるが、明確にする目的で、すべての予想される変形を説明することなく、以下では、図2のエンコーディングのための方法が、説明される。
現在のオリジナル画像201のエンコーディングは、図1に関連して説明されたように、ステップ202の間に、現在のオリジナル画像201のパーティショニングから開始する。したがって、現在の画像201は、CTU、CU、PU、TUなどにパーティショニングされる。各ブロックについて、エンコーディングモジュールは、イントラ予測とインター予測との間で、符号化モードを決定する。
ステップ203によって表されるイントラ予測は、イントラ予測方法に従って、符号化される現在のブロックの因果関係がある近隣内に位置付けられた、再構築されたブロックのピクセルから導出される予測ブロックから、現在のブロックのピクセルを予測することから成る。イントラ予測の結果は、近隣内のブロックのどのピクセルを使用するかを示す予測方向、および現在のブロックと予測ブロックとの間の差の計算からもたらされる残差ブロックである。
インター予測は、現在の画像に先行または後続する画像(この画像は参照画像(reference image)と呼ばれる)の、参照ブロック(reference block)と呼ばれる、ピクセルのブロックから、現在のブロックのピクセルを予測することから成る。インター予測方法に従って、現在のブロックを符号化する間、類似性基準に従って、現在のブロックに最も近い、参照画像のブロックが、動き推定ステップ204によって決定される。ステップ204の間、参照画像内における参照ブロックの位置を示す動きベクトルが、決定される。その動きベクトルが、動き補償ステップ205の間に使用され、その間に、残差ブロックが、現在のブロックと参照ブロックとの間の差の形で計算される。
最初のビデオ圧縮規格においては、上で説明された単方向インター予測モードが、利用可能な唯一のインターモードであった。ビデオ圧縮規格が、進化するにつれて、インターモードのファミリは、著しく増大し、今では多くの異なるインターモードを含む。
選択ステップ206の間に、テストされた予測モード(イントラ予測モード、インター予測モード)の中で、レート/歪み基準(すなわち、RDO基準)に従って、圧縮性能を最適化する予測モードが、エンコーディングモジュールによって選択される。
予測モードが、選択されたとき、残差ブロックは、ステップ207の間に変換され、ステップ209の間に量子化される。エンコーディングモジュールは、変換をスキップし、変換されていない残差信号に直接的に量子化を適用することができることに留意されたい。
現在のブロックが、イントラ予測モードに従って、符号化されたとき、ステップ210の間に、予測方向と、変換および量子化された残差ブロックが、エントロピエンコーダによってエンコードされる。
現在のブロックが、インター予測モードに従って、エンコードされるとき、ステップ208において、このインター予測モードと関連付けられた動きデータが、符号化される。
一般に、動きデータをエンコードするために、それぞれ、AMVP(適応動きベクトル予測)およびマージと呼ばれる、2つのモードを使用することができる。
AMVPは、基本的に、現在のブロックを予測するために使用される参照画像、動きベクトルプレディクタインデックス、および(動きベクトル残差とも呼ばれる)動きベクトル差をシグナリングするというものである。
マージモードは、動きデータプレディクタのリスト内に収集された、いくつかの動きデータのインデックスをシグナリングするというものである。リストは、「5個」または「7個」の候補から作られ、デコーダ側とエンコーダ側において、同じ方法で構築される。したがって、マージモードは、マージリストから取得されるいくつかの動きデータを導出することを目的とする。マージリストは、一般に、現在のブロックが処理されているときに、再構築された状態で利用可能な、いくつかの空間的および時間的な近隣ブロックに関連付けられた、動きデータを含む。マージモードは、通常マージモードと、サブブロックマージモードとを含む、いくつかの形態を取ることができる。これら2つのマージモードの各々についての候補のリストは、時間動きベクトルプレディクタ(TMVP)を含む。
以下では、われわれは、動きデータ、動き情報、または動きベクトルという用語を区別せずに使用する。したがって、動きベクトルという用語は、1つの参照画像を表す少なくとも1つのインデックス、動きベクトルプレディクタを表すインデックスによって表される動きベクトル、および動きベクトルプレディクタと予測された動きベクトルとの間の差を含む、ブロックの動きを表すすべての情報を対象にし、または動きベクトルだけを対象にする。
図5は、通常マージモードの候補のリストのうちの、以下で通常時間動きベクトルプレディクタ(RTMVP)と呼ばれる、時間動きベクトルプレディクタの位置を表している。RTMVPは、現在のブロック50とコロケートしている(collocated:同一位置にある)ブロック51の右下隅に配置される、位置Hに対応する、動きベクトルから導出される。動きデータが、位置Hにおいて入手可能ではない場合、RTMVPは、コロケートされたブロック51の中心位置Cにおける動きデータから導出される。ブロック51は、コロケートされた画像(collocated image)と呼ばれる、スライスヘッダでシグナリングされた特定の参照画像に属する。RTMVPは、その場合、取得された動きベクトルをリスケールして、リスケールされた動きベクトルが、(参照219を有する以下でデコードピクチャバッファとも呼ばれる)参照画像バッファ内の第1の位置にある参照画像上をポイントするようにすることによって、取得される。
図6は、通常マージモードの候補のリストのうちの時間動きベクトルプレディクタの動きベクトルスケーリングを表している。
図6においては、現在の画像62は、エンコードする現在のブロック64を含む。現在のブロック64の動きデータは、コロケートされた(collocated:同一位置にある)画像63内のコロケートされた(collocated:同一位置にある)ブロック65の動きデータを使用して、通常マージモードでエンコードされる。コロケートされたブロック65の動きデータは、参照画像60内のエリアをポイントしている動きベクトル650を含む。動きベクトル640に対応するRTMVPは、動きベクトル650をリスケーリングすることによって、取得される。留意することができるように、RTMVP640は、動きベクトル650と同じ方向を有するが、画像61内の参照エリアをポイントする。画像61は、デコードピクチャバッファ219内の第1の画像である。
サブブロックマージモードは、サブブロック時間動きベクトル予測を使用して、サブブロック時間動きベクトルプレディクタ(SbTMVP)を生成する。SbTMVPは、以下の2つの主な態様において、RTMVPと異なる。
・RTMVPは、ブロックレベルで動きを予測するが、SbTMVPは、サブブロックレベルで動きを予測する。
・RTMVPは、コロケートされた画像内のコロケートされたブロックから導出されるが、コロケートされた画像の、現在のブロックのシフト位置とコロケートしているブロックから、SbTMVPを導出する前に、現在のブロックの位置が、最初にシフトされる。以下で動きシフトと呼ばれる、シフトは、現在のブロックに空間的に近隣するブロックの動きベクトルから取得される。
図8は、サブブロック時間動きベクトルプレディクタを導出することを可能にする、プロセスの例を例示している。
サブブロック動きベクトル予測は、2つのステップで、現在の画像81の現在のブロック810内のサブブロックの動きベクトルを予測する。
・第1のステップにおいては、現在のブロック810に空間的に近隣するブロックが、検査される。図7は、サブブロック時間動きベクトル予測プロセスにおいて検討される空間的に近隣するブロックを表している。図7において見ることができるように、4つのブロックが、検討され、それらは、ブロック810の左下隅に配置された2つのブロックA1、A0と、ブロック810の右上隅に配置された2つのブロックB1、B0である。空間的に近隣するブロックは、A1、B1、B0、A0の順序で検査される。この順序で、コロケートされた(collocated:同一位置にある)画像80をポイントしている動きベクトルを有する、空間的に近隣するブロックが、識別されるとすぐに、この動きベクトルが、選択されて、適用される動きシフトになる。そのような動きベクトルが、空間的に近隣するブロックA1、B1、B0、A0から識別されない場合、動きシフトは、(0、0)、すなわち、動きなしになるように設定される。
・第2のステップにおいては、第1のステップにおいて識別された動きシフトが、現在のブロック810の位置に適用される(すなわち、現在のブロック810’の座標に加算される)。その後、サブブロックレベルの動きデータ(動きベクトルおよび参照インデックス)が、現在のブロック810のシフトされた位置とコロケートしている、コロケートされた画像80のブロック800から導出される。図8の例においては、動きのシフトは、ブロックA1’の動きになるように設定されると仮定される。現在のブロック810の各サブブロックについて、ブロック800内における、それの対応するサブブロックの動きデータ(中央サンプルをカバーする最小の動きグリッド)が、現在のブロック810のサブブロックのための動きデータを導出するために使用される。その後、時間動きベクトルのスケーリングを、各サブブロックについて導出された動きベクトルに適用して、これらの導出された動きベクトルの参照画像を、現在のブロック810のそれにアライメントすることによって、SbTMVP導出が、完了される。
SbTMVPにおいて使用されるサブブロックサイズは、一般に、8×8である。そのケースにおいては、SbTMVPモードは、ブロックの幅および高さの両方が、「8」以上であるときだけ、ブロックに適用可能である。
上述のことから分かるように、通常マージモードが、現在の画像の現在のブロックに適用されるとき、RTMVPは、現在のブロックとコロケートしている、コロケートされた画像のブロックのリスケールされた動きベクトルである。したがって、RTMVPの導出は、現在の画像とコロケートされた画像との間のブロックの変位(displacement:移動)を考慮しない。
他方、SbTMVPは、現在のブロックをシフトすることによって取得された、シフトされたブロックとコロケートしている、コロケートされた画像のブロックから導出される。現在のブロックのシフトは、現在のブロックに空間的に近隣するブロックから決定される。この手法の難点は、現在のブロックに空間的に近隣するブロックが、(例えば、それらがイントラモードでエンコードされたために)動きデータを含まないことがあること、または(例えば、現在のブロックが現在の画像のエッジに配置されたときに)入手可能ではないことがあることである。
以下で説明される実施形態は、上述の難点を克服することを目的とする。
特に、以下で説明される少なくとも1つの実施形態は、新しい時間動きベクトルプレディクタを作成することを目的とする。
加えて、以下で説明される少なくとも1つの実施形態は、TMVPおよびSbTMVP両方の特徴を利用する。
少なくとも1つの実施形態は、通常マージモードにおいて、サブブロックマージモードに類似したプロセスを使用するが、動きベクトルを変位させるために、時間動きベクトル予測を使用する、変位された動きベクトルプレディクタを使用する。
少なくとも1つの実施形態は、上述の動きベクトルを導出することができないとき、デフォルトTMVPとして、フォールバック解決策を使用する。
少なくとも1つの実施形態は、動きベクトル導出プロセスの複雑さを制限するために、サブブロックマージモードにおいて、非サブブロック動きベクトル導出を使用する。
少なくとも1つの実施形態は、フォールバック解決策を使用するために、動きベクトル変位導出制約の条件を変化させる。
少なくとも1つの実施形態は、時間マージ候補のものに加えて、空間マージ候補を使用する、現在のブロックの中心変位のために、より多くの初期ベクトルを使用する。
少なくとも1つの実施形態は、時間マージ候補を、標準的なSbTMVPサブブロック処理のための代替的な初期ベクトルとして使用する。
ひとたび予測されると、動き情報は、次に、ステップ210の間に、変換および量子化された残差ブロックとともに、エントロピエンコーダによってエンコードされる。エンコーディングモジュールは、変換および量子化の両方をバイパスすることができること、すなわち、エントロピエンコーディングが、変換または量子化プロセスの適用なしに、残差に対して適用されることに留意されたい。エントロピエンコーディングの結果は、エンコードされたビデオストリーム(すなわち、ビットストリーム)211内に挿入される。
エントロピエンコーダは、コンテキスト適応バイナリ算術コーダ(CABAC)の形で、実施することができることに留意されたい。CABACは、バイナリシンボルをエンコードし、それは、複雑さを低く保ち、任意のシンボルのより頻繁に使用されるビットについての確率モデリングを可能にする。
量子化ステップ209の後、現在のブロックは、そのブロックに対応するピクセルを、将来の予測のために使用することができるように、再構築される。この再構築フェーズは、予測ループとも呼ばれる。したがって、ステップ212の間に、逆量子化が、変換および量子化された残差ブロックに適用され、ステップ213の間に、逆変換が、適用される。ステップ214の間に取得された、現在のブロックのために使用される予測モードに従って、現在のブロックの予測ブロックが、再構築される。現在のブロックが、インター予測モードに従って、エンコードされる場合、エンコーディングモジュールは、適切なときは、ステップ216の間に、現在のブロックの動き情報を使用して、動き補償を参照ブロックに適用する。現在のブロックが、イントラ予測モードに従って、エンコードされる場合、ステップ215の間に、現在のブロックに対応する予測方向が、現在のブロックの参照ブロックを再構築するために使用される。参照ブロックと再構築された残差ブロックは、再構築された現在のブロックを取得するために、加算される。
再構築に続いて、ステップ217の間に、エンコーディングアーティファクトを低減することを意図した、インループポストフィルタリングが、再構築されたブロックに適用される。このポストフィルタリングは、デコーダと同じ参照画像をエンコーダにおいて取得し、したがって、エンコードプロセスとデコードプロセスとの間のドリフトを回避するために、予測ループ内において行われるので、このポストフィルタリングは、インループポストフィルタリングと呼ばれる。例えば、インループポストフィルタリングは、デブロッキングフィルタリングと、SAO(サンプル適応オフセット)フィルタリングとを含む。
インループデブロッキングフィルタのアクティブ化または非アクティブ化、およびアクティブ化されたときの、そのインループデブロッキングフィルタの特性を表す、パラメータは、エントロピ符号化ステップ210の間に、エンコードされたビデオストリーム211内に導入される。
ブロックが、再構築されたとき、それは、ステップ218の間に、デコードピクチャバッファ(DPB)219内に記憶された、再構築された画像内に挿入される。このようにして記憶された再構築された画像は、その後、符号化される他の画像のための参照画像として、役立てることができる。
図3は、図2に関連して説明された方法に従ってエンコードされた、エンコードされたビデオストリーム(すなわち、ビットストリーム)211をデコードするための方法を概略的に示している。デコーディングのためのその方法は、デコーディングモジュールによって実行される。デコーディングのためのこの方法の変形が、企図されるが、明確にする目的で、すべての予想される変形を説明することなく、以下では、図3のデコーディングのための方法が、説明される。
デコーディングは、ブロックごとに行われる。現在のブロックについては、それは、ステップ310の間の、現在のブロックのエントロピデコーディングから始まる。エントロピデコーディングは、現在のブロックの予測モードを取得することを可能にする。
現在のブロックが、イントラ予測モードに従って、エンコードされている場合、エントロピデコーディングは、イントラ予測方向を表す情報と、残差ブロックとを取得することを可能にする。
現在のブロックが、インター予測モードに従って、エンコードされている場合、エントロピデコーディングは、動きデータを表す情報と、残差ブロックとを取得することを可能にする。適切なときは、ステップ308の間に、AMVPまたはマージモードに従って、現在のブロックのために、動きデータが、再構築される。マージモードにおいては、エントロピデコーディングによって取得された動きデータは、動きベクトルプレディクタ候補のリスト内におけるインデックスを含む。デコーディングモジュールは、エンコーディングモジュールと同じプロセスを適用して、通常マージモードおよびサブブロックマージモードのための候補リストを構築する。再構築されたリストおよびインデックスを用いて、デコーディングモジュールは、ブロックの動きベクトルを予測するために使用される、動きベクトルを取り出すことができる。
デコーディングのための方法は、ステップ312、313、315、316、317を含み、それらは、すべての点で、それぞれ、エンコーディングのための方法のステップ212、213、215、216、217と同一である。エンコーディングモジュールレベルにおいては、ステップ214は、レート歪み基準に従って、各モードを評価し、最良のモードを選択する、モード選択プロセスを含むが、ステップ314は、ビットストリーム211内の選択されたモードを表す情報を読むだけというものである。デコードされたブロックは、デコードされた画像内にセーブされ、デコードされた画像は、ステップ318において、DPB319内に記憶される。デコーディングモジュールが、与えられた画像をデコードするとき、DPB319内に記憶される画像は、その与えられた画像のエンコーディングの間に、エンコーディングモジュールによって、DPB219内に記憶された画像と同一である。デコードされた画像は、例えば、表示するために、デコーディングモジュールによって、出力することもできる。
図4Aは、異なる態様および実施形態に従って変更される、図2のエンコーディングのための方法、および図3のデコーディングのための方法をそれぞれ実施することが可能な、エンコーディングモジュールまたはデコーディングモジュールを実施することができる、処理モジュール40のハードウェアアーキテクチャの例を概略的に例示している。処理モジュール40は、非限定的な例として、1つまたは複数のマイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づいたプロセッサを包含する、プロセッサまたはCPU(中央処理ユニット)400と、ランダムアクセスメモリ(RAM)401と、リードオンリメモリ(ROM)402と、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、リードオンリメモリ(ROM)、プログラマブルリードオンリメモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、および/もしくは光ディスクドライブ、またはSD(セキュアデジタル)カードリーダ、および/もしくはハードディスクドライブ(HDD)などの記憶媒体リーダ、ならびに/またはネットワークアクセス可能記憶デバイスを含むが、それらに限定されない、不揮発性メモリおよび/または揮発性メモリを含むことができる、記憶ユニット403と、他のモジュール、デバイス、または機器とデータを交換するための、少なくとも1つの通信インターフェース404とを、通信バス405によって接続して、備える。通信インターフェース404は、通信チャネル上においてデータを送信および受信するように構成された送受信機を含むことができるが、それに限定されない。通信インターフェース404は、モデムまたはネットワークカードを含むことができるが、それに限定されない。
処理モジュール40が、デコーディングモジュールを実施する場合、通信インターフェース404は、例えば、処理モジュール40が、エンコードされたビデオストリームを受信し、デコードされたビデオストリームを提供することを可能にする。処理モジュール40が、エンコーディングモジュールを実施する場合、通信インターフェース404は、例えば、処理モジュール40が、エンコードするオリジナル画像データを受信し、エンコードされたビデオストリームを提供することを可能にする。
プロセッサ400は、ROM402から、外部メモリ(図示されず)から、記憶媒体から、または通信ネットワークから、RAM401にロードされた命令を実行することが可能である。処理モジュール40に電源が投入されたとき、プロセッサ400は、RAM401から命令を読み、それらを実行することが可能である。これらの命令は、例えば、図3に関連して説明されたようなデコーディング方法、または図2に関連して説明されたエンコーディング方法の、プロセッサ400による実施を引き起こす、コンピュータプログラムを形成し、デコーディング方法およびエンコーディング方法は、この文書において以下で説明される、様々な態様および実施形態を含む。
エンコーディング方法またはデコーディング方法のアルゴリズムおよびステップのすべてまたはいくつかは、DSP(デジタルシグナルプロセッサ)もしくはマイクロコントローラなどのプログラマブルマシンによる、命令のセットの実行によって、ソフトウェア形態で実施することができ、またはマシン、もしくはFPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)などの専用コンポーネントによって、ハードウェア形態で実施することができる。
図4Bは、様々な態様および実施形態がその中で実施される、システム4の例のブロック図を例示している。システム4は、以下で説明される様々なコンポーネントを含むデバイスとして具現化することができ、この文書において説明される態様および実施形態のうちの1つまたは複数を実行するように構成される。そのようなデバイスの例は、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビジョン受信機、パーソナルビデオ録画システム、接続された家電製品、およびサーバなどの、様々な電子デバイスを含むが、それらに限定されない。システム4の要素は、単独でまたは組み合わせて、単一の集積回路(IC)、複数のIC、および/または個別コンポーネントで具現化することができる。例えば、少なくとも1つの実施形態においては、システム4は、デコーディングモジュールまたはエンコーディングモジュールを実施する、1つの処理モジュール40を備える。しかし、別の実施形態においては、システム4は、デコーディングモジュールを実施する、第1の処理モジュール40と、エンコーディングモジュールを実施する、第2の処理モジュール40とを備え、またはデコーディングモジュールと、エンコーディングモジュールとを実施する、1つの処理モジュール40を備えることができる。様々な実施形態においては、システム40は、例えば、通信バスを介して、または専用の入力ポートおよび/もしくは出力ポートを通して、1つまたは複数の他のシステムまたは他の電子デバイスに通信可能に結合される。様々な実施形態においては、システム4は、この文書において説明される態様のうちの1つまたは複数を実施するように構成される。
システム4は、エンコーディングモジュールもしくはデコーディングモジュールの一方、または両方を実施することが可能な、少なくとも1つの処理モジュール40を備える。
処理モジュール40への入力は、ブロック42に示されるような、様々な入力モジュールを通して、提供することができる。そのような入力モジュールは、(i)例えば、放送局によって無線で送信された、RF信号を受信する、無線周波数(RF)モジュール、(ii)コンポーネント(COMP)入力モジュール(もしくはCOMP入力モジュールのセット)、(iii)ユニバーサルシリアルバス(USB)入力モジュール、および/または(iv)高精細マルチメディアインターフェース(HDMI)入力モジュールを含むが、それらに限定されない。図4Bに示されていない他の例は、コンポジットビデオを含む。
様々な実施形態においては、ブロック42の入力モジュールは、当技術分野で知られているように、関連付けられたそれぞれの入力処理要素を有する。例えば、RFモジュールは、(i)(信号を選択する、または信号を周波数の帯域に帯域制限するとも言われる)所望の周波数を選択すること、(ii)選択された信号をダウンコンバートすること、(iii)ある実施形態においてはチャネルと呼ばれることができる、(例えば)信号周波数帯域を選択するために、周波数のより狭い帯域に再び帯域制限すること、(iv)ダウンコンバートおよび帯域制限された信号を復調すること、(v)誤り訂正を実行すること、ならびに(vi)データパケットの所望のストリームを選択するために、逆多重化することを行うのに適した要素と関連付けることができる。様々な実施形態のRFモジュールは、これらの機能を実行するための1つまたは複数の要素、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、およびデマルチプレクサを含む。RF部は、例えば、受信された信号を、より低い周波数(例えば、中間周波数もしくはベースバンドに近い周波数)に、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実行する、チューナを含むことができる。セットトップボックスの一実施形態においては、RFモジュールと、それの関連付けられた入力処理要素は、有線(例えば、ケーブル)媒体上において送信されたRF信号を受信し、フィルタリング、ダウンコンバート、および再度のフィルタリングを行って、所望の周波数帯域にすることによって、周波数選択を実行する。様々な実施形態は、上で説明された(および他の)要素の順序を入れ替え、これらの要素のいくつかを取り除き、および/または類似の機能もしくは異なる機能を実行する他の要素を追加する。要素を追加することは、例えば、増幅器およびアナログ-デジタルコンバータを挿入するなど、既存の要素間に要素を挿入することを含むことができる。様々な実施形態においては、RFモジュールは、アンテナを含む。
加えて、USBおよび/またはHDMIモジュールは、USBおよび/またはHDMI接続を介して、システム4を他の電子デバイスに接続するための、それぞれのインターフェースプロセッサを含むことができる。入力処理の様々な態様、例えば、リード-ソロモン誤り訂正は、例えば、別個の入力処理IC内において、または必要に応じて、処理モジュール40内において、実施することができることが理解されるべきである。同様に、USBまたはHDMIインターフェース処理の態様は、別個のインターフェースIC内において、または必要に応じて、処理モジュール40内において、実施することができる。復調され、誤り訂正され、多重化されたストリームは、処理モジュール40に提供される。
システム4の様々な要素は、統合されたハウジング内において提供することができる。統合されたハウジング内において、様々な要素は、相互接続され、適切な接続構成、例えば、IC間(I2C)バスを含む当技術分野において知られるような内部バス、配線、およびプリント回路基板を使用して、それらの間でデータを送信することができる。例えば、システム4においては、処理モジュール40は、バス405によって、システム4の他の要素に相互接続される。
処理モジュール40の通信インターフェース404は、システム4が、通信チャネル41上において通信することを可能にする。通信チャネル41は、例えば、有線媒体および/または無線内において、実施することができる。
様々な実施形態においては、データは、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEとは電気電子技術者協会のことである)などの無線ネットワークを使用して、システム4にストリーミングされ、または他の方法で提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された、通信チャネル41および通信インターフェース404上において、受信される。これらの実施形態の通信チャネル41は、一般に、ストリーミングアプリケーションおよび他のオーバーザトップ通信を可能にするために、インターネットを含む外部ネットワークへのアクセスを提供する、アクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック42のHDMI接続上においてデータを配信するセットトップボックスを使用して、ストリーミングされたデータをシステム4に提供する。さらに他の実施形態は、入力ブロック42のRF接続を使用して、ストリーミングされたデータをシステム4に提供する。上で示されたように、様々な実施形態は、非ストリーミング方式で、データを提供する。加えて、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラーネットワークまたはBluetoothネットワークを使用する。
システム4は、ディスプレイ46、スピーカ47、および他の周辺デバイス48を含む、様々な出力デバイスに、出力信号を提供することができる。様々な実施形態のディスプレイ46は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、曲面ディスプレイ、および/または折り畳み式ディスプレイのうちの1つまたは複数を含む。ディスプレイ46は、テレビジョン、タブレット、ラップトップ、セルフォン(モバイルフォン)、または他のデバイス用であることができる。ディスプレイ46は、(例えば、スマートフォンにおけるように)他のコンポーネントと一体化すること、または別個である(例えば、ラップトップ用の外部モニタである)こともできる。実施形態の様々な例においては、他の周辺デバイス46は、スタンドアロンデジタルビデオディスク(もしくはデジタル多用途ディスク)(両方の用語に対してDVR)、ディスクプレーヤ、ステレオシステム、および/または照明システムのうちの1つまたは複数を含む。様々な実施形態は、システム4の出力に基づいた機能を提供する、1つまたは複数の周辺デバイス48を使用する。例えば、ディスクプレーヤは、システム4の出力を再生する機能を実行する。
様々な実施形態においては、AV.Link、家電制御(CEC)、またはユーザ介入を伴うもしくは伴わないデバイス間制御を可能にする他の通信プロトコルなどのシグナリングを使用して、制御信号が、システム4と、ディスプレイ46、スピーカ47、または他の周辺デバイス48との間で、伝達される。出力デバイスは、それぞれのインターフェース43、44、45を通した、専用接続を介して、システム4に通信可能に結合することができる。あるいは、出力デバイスは、通信インターフェース404を介して、通信チャネル41を使用して、システム4に接続することができる。ディスプレイ46およびスピーカ47は、例えば、テレビジョンなどの電子デバイス内において、システム4の他のコンポーネントとともに、単一のユニットに一体化することができる。様々な実施形態においては、ディスプレイインターフェース43は、例えば、タイミングコントローラ(T Con)チップなどの、ディスプレイドライバを含む。
あるいは、ディスプレイ46およびスピーカ47は、例えば、入力42のRFモジュールが、別個のセットトップボックスの一部である場合、他のコンポーネントのうちの1つまたは複数とは別個であることができる。ディスプレイ46およびスピーカ47が、外部コンポーネントである、様々な実施形態においては、出力信号は、例えば、HDMIポート、USBポート、またはCOMP出力を含む、専用の出力接続を介して、提供することができる。
様々な実施は、デコーディングを含む。本出願において使用される場合、「デコーディング」は、表示に適した最終出力を生成するために、例えば、受信されたエンコードされたシーケンスに対して実行される、プロセスのすべてまたは一部を包含することができる。様々な実施形態においては、そのようなプロセスは、典型的にはデコーダによって実行されるプロセス、例えば、エントロピデコーディング、逆量子化、逆変換、および予測のうちの1つまたは複数を含む。様々な実施形態においては、そのようなプロセスは、本出願において説明される様々な実施または実施形態のデコーダによって実行されるプロセス、例えば、マージモードに従ってエンコードする符号化ユニットのための時間動きベクトルプレディクタを決定するためのプロセスも含み、または代替として、それを含む。
さらなる例として、一実施形態においては、「デコーディング」は、エントロピデコーディング(図3のステップ310)だけを指す。「デコーディングプロセス」という語句が、特定的に操作のサブセットを指すことを意図しているか、それとも一般的により広いデコーディングプロセスを指すことを意図しているかは、具体的な説明の文脈に基づいて明らかであり、当業者によく理解されると信じられる。
様々な実施は、エンコーディングを含む。「デコーディング」についての上述の説明と同様に、本出願において使用される場合、「エンコーディング」は、エンコードされたビットストリームを生成するために、例えば、入力ビデオシーケンスに対して実行される、プロセスのすべてまたは一部を包含することができる。様々な実施形態においては、そのようなプロセスは、典型的にはエンコーダによって実行されるプロセス、例えば、パーティショニング、予測、変換、量子化、およびエントロピエンコーディングのうちの1つまたは複数を含む。様々な実施形態においては、そのようなプロセスは、本出願において説明される様々な実施または実施形態のエンコーダによって実行されるプロセス、例えば、マージモードに従ってエンコードする符号化ユニットのための時間動きベクトルプレディクタを決定するためのプロセスも含み、または代替として、それを含む。
さらなる例として、一実施形態においては、「エンコーディング」は、エンコーディングモード選択(図2のステップ206)およびエントロピエンコーディング(図2のステップ210)を指す。「エンコーディングプロセス」という語句が、特定的に操作のサブセットを指すことを意図しているか、それとも一般的により広いエンコーディングプロセスを指すことを意図しているかは、具体的な説明の文脈に基づいて明らかであり、当業者によく理解されると信じられる。
本明細書において使用される場合のシンタックス要素名、予測モード名、ツール名は、記述用語であることに留意されたい。そのため、それらは、他のシンタックス要素名、予測モード名、またはツール名の使用を排除しない。
図が、フロー図として提示されるとき、それは、対応する装置のブロック図も提供することを理解されたい。同様に、図が、ブロック図として提示されるとき、それは、対応する方法/プロセスのフロー図も提供することを理解されたい。
様々な実施形態は、レート歪み最適化に言及する。特に、エンコーディングプロセス中、レートと歪みとの間のバランスまたはトレードオフが、通常、考慮される。レート歪み最適化は、通常、レートと歪みの加重和である、レート歪み関数を最小化することとして定式化される。レート歪み最適化問題を解決するための異なる手法が、存在する。例えば、手法は、それらの符号化コストならびに符号化およびデコーディング後の再構築された信号の関連する歪みの完全な評価を伴った、すべての検討されるモードまたは符号化パラメータ値を含む、すべてのエンコーディングオプションの広範なテストに基づくことができる。エンコーディング複雑さを省くために、特に、再構築されたものではなく、予測または予測残差信号に基づいた、近似された歪みの計算を用いる、より高速な手法を使用することもできる。可能なエンコーディングオプションのいくつかだけに対しては近似された歪みを使用し、他のエンコーディングオプションに対しては完全な歪みを使用することなどによって、これら2つの手法の混合を使用することもできる。他の手法は、可能なエンコーディングオプションのサブセットだけを評価する。より一般的には、多くの手法は、様々な技法のいずれかを利用して、最適化を実行するが、最適化は、必ずしも、符号化コストおよび関連する歪み両方の完全な評価ではない。
本明細書において説明される実施および態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号で実施することができる。実施の単一の形態との関連においてのみ説明された(例えば、方法としてのみ説明された)場合であっても、説明された特徴の実施は、他の形態(例えば、装置またはプログラム)でも実施することができる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実施することができる。方法は、例えば、一般に処理デバイスを指す、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブル論理デバイスを含む、プロセッサで実施することができる。プロセッサは、例えば、コンピュータ、セルフォン、ポータブル/パーソナルデジタルアシスタント(「PDA」)、およびエンドユーザ間の情報の伝達を容易にする他のデバイスなどの、通信デバイスも含む。
「一実施形態」もしくは「実施形態」、または「一実施」もしくは「実施」、およびそれらの他の変形に対する言及は、実施形態との関連において説明される特定の特徴、構造、および特性などが、少なくとも1つの実施形態に含まれることを意味する。したがって、本出願全体の様々な場所に現れる、「一実施形態において」もしくは「実施形態において」という語句、または「一実施において」もしくは「実施において」という語句、および他の任意の変形の出現は、すべてが、必ずしも同じ実施形態に言及しているとは限らない。
加えて、本出願は、様々な情報を「決定する」ことに言及することがある。情報を決定することは、例えば、情報を推定すること、情報を計算すること、情報を予測すること、他の情報から情報を推測すること、メモリから情報を取り出すこと、または例えば、別のデバイス、モジュール、もしくはユーザから情報を取得することのうちの1つまたは複数を含むことができる。
さらに、本出願は、様々な情報に「アクセスする」ことに言及することがある。情報にアクセスすることは、例えば、情報を受信すること、(例えば、メモリから)情報を取り出すこと、情報をストアすること、情報を移動すること、情報をコピーすること、情報を計算すること、情報を決定すること、情報を予測すること、または情報を推定すること、情報を推測すること、または情報を推定することのうちの1つまたは複数を含むことができる。
加えて、本出願は、様々な情報を「受信する」ことに言及することがある。受信することは、「アクセスする」ことと同様、広義の用語であることが意図されている。情報を受信することは、例えば、情報にアクセスすること、または(例えば、メモリから)情報を取り出すことのうちの1つまたは複数を含むことができる。さらに、「受信する」ことは、一般に、例えば、情報をストアすること、情報を処理すること、情報を送信すること、情報を移動すること、情報をコピーすること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、情報を推測すること、または情報を推定することなどの操作中に、様々な方法で含まれる。
例えば、「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)の選択を包含することが意図されている。これは、当技術分野および関連技術分野の当業者に明らかなように、列挙されたアイテムの数だけ拡張することができる。
また、本明細書において使用される場合、「signal(シグナリングする)」という語は、とりわけ、対応するデコーダに何かを示すことを指す。例えば、ある実施形態においては、エンコーダは、マージモードでエンコードされた符号化ユニットのための動きベクトルのリスト内において選択された動きベクトルプレディクタに関連するシンタックス要素またはパラメータをシグナリングする。このように、実施形態においては、同じパラメータが、エンコーダ側およびデコーダ側の両方において使用される。したがって、例えば、エンコーダは、デコーダが、同じ特定のパラメータを使用することができるように、特定のパラメータをデコーダに送信することができる(明示的なシグナリング)。逆に、デコーダが、特定のパラメータその他をすでに有する場合、送信せずに、シグナリングを使用して、単にデコーダが特定のパラメータを知り、選択することを可能にすることができる(暗黙のシグナリング)。いずれの実際の機能の送信も回避することによって、様々な実施形態において、ビット節約が、実現される。シグナリングは、様々な方法で達成することができることを理解されたい。例えば、様々な実施形態においては、情報を対応するデコーダにシグナリングするために、1つまたは複数のシンタックス要素、およびフラグなどが、使用される。上述のことは、「signal」という語の動詞形に関連するが、「signal(信号)」という語は、本明細書において、名詞としても使用することができる。
当業者に明らかであるように、実施は、例えば、ストアまたは送信することができる情報を搬送するようにフォーマットされた、様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または説明された実施のうちの1つによって生成されたデータを含むことができる。例えば、信号は、説明された実施形態のエンコードされたビデオストリームを搬送するようにフォーマットすることができる。そのような信号は、例えば、(例えば、スペクトルの無線周波数部分を使用する)電磁波として、またはベースバンド信号として、フォーマットすることができる。フォーマッティングは、例えば、エンコードされたビデオストリームをエンコーディングすること、およびエンコードされたビデオストリームを用いてキャリアを変調することを含むことができる。信号が搬送する情報は、例えば、アナログ情報、またはデジタル情報であることができる。信号は、知られているように、様々な異なる有線または無線リンク上において送信することができる。信号は、プロセッサ可読媒体上に記憶することができる。
図9は、改善されたTMVP導出プロセス全体を概略的に示している。図9のプロセスは、処理モジュール40が、エンコーダまたはデコーダを実施するときに、処理モジュール40によって、現在のブロックに対して実行される。特に、TMVP導出プロセスは、ステップ208および308の間に実行される。図9のプロセスから導出された新しいTMVPは、例えば、通常マージモード用のTMVPとして、使用することができる。
TMVP導出プロセスを開始する前に、処理モジュール40は、現在のブロックとコロケートしている、コロケートされた画像(collocated image)内のブロックを識別する。
ステップ300において、処理モジュール40は、図5に関連して定義されたような、コロケートされた画像(collocated image:同一位置にある画像)内の、現在のブロックとコロケートしているブロック(同一位置にあるブロック)の位置Hから、動きベクトルmvを取得することができるかどうかを決定する。位置Hから、動きベクトルmvを導出することができる場合、この動きベクトルmvは、処理モジュール40によって、時間動きベクトルとして記憶され、ステップ300の後に、ステップ302が続く。
そうではない場合、ステップ300の後に、ステップ301が続き、それの間に、処理モジュール40は、図5に関連して定義されたような、コロケートされた画像(collocated image:同一位置にある画像)内の、現在のブロックとコロケートしているブロックの中心位置Cから、動きベクトルmvを導出することができるどうかを決定する。中心位置Cから、動きベクトルmvを導出することができる場合、この動きベクトルmvは、処理モジュール40によって、時間動きベクトルとして記憶され、ステップ301の後に、ステップ302が続く。ステップ300および301は、コロケートされた画像内の、現在のブロックとコロケートしているブロック内またはブロックの近傍内の位置から、時間動きベクトルを取得することが可能である。
ステップ300またはステップ301において、時間動きベクトルを決定することができない場合、処理モジュール40は、ステップ311において、TMVP導出プロセスを停止する。そのケースにおいては、TMVP導出プロセスによって、TMVPを導出することはできない。
ステップ302において、時間動きベクトルmvは、参照画像バッファ内の任意の画像上をポイントすることができるので、導出された時間動きベクトルmvは、この時間動きベクトルmvが、現在の参照画像を(すなわち、参照画像バッファ内の第1の位置にある参照画像を)ポイントすることを保証するために処理モジュール40によって、リスケールされる。
ステップ303において、処理モジュール40によって、リスケールされた時間動きベクトルmvを使用して、(位置Cによって表される)現在のブロックの中心を、ロケーションP=mv+Cに変位(displacement:移動)させる。
ステップ304において、処理モジュール40は、位置Pにクリッピングを適用して、事前定義されたエリアの外部をポイントすることを回避する(すなわち、例えば、位置Cを含むCTUの外部をポイントすることを回避する)。ステップ303およびステップ304は、時間動きベクトルmvに基づいて、現在のブロックの中心位置Cに変位を適用することによって、現在の参照画像内の位置Pを取得することを可能にする。
ステップ305において、処理モジュール40は、動きベクトルが位置Pにおいて入手可能であるかどうかを決定する。この動きベクトルは、「mv’」と呼ばれる。
動きベクトルmv’が、入手可能である場合、ステップ305の後に、ステップ307が続く。ステップ307の間に、動きベクトルmv’は、現在の参照画像をポイントするように、動きベクトルmv”としてリスケールされ、TMVP導出プロセスのための最終動きベクトル(すなわち、TMVP)として保持される。
動きベクトルmv’が、入手可能ではない場合、ステップ306において、動きベクトルmvが、最終動きベクトル(すなわち、TMVP)として保持される。
ステップ306およびステップ308の後に、ステップ311が続く。ステップ311において、TMVP導出プロセスから導出されたTMVPが、現在のブロックの動きベクトルをエンコードまたはデコードする(すなわち、再構築する)ために使用される、動きベクトルプレディクタ候補のリスト内に挿入される。
分かるように、ベクトルの入手可能性を与えられて、mvまたはmv”のどちらかが、TMVPとして使用される。
リスケーリングプロセスは、先に説明されたように、HEVCにおけるのと同じであることに留意されたい。
実施形態においては、(ステップ300でテストされた)位置Hにおける動きベクトルの入手可能性は、現在のブロックを含むCTUの境界(ボーダ)に依存する。位置Hに対応する右下サブブロックが、現在のCTUの外部にあるとき、動きベクトルは、入手可能ではないと見なされ、コロケートされた画像内において、位置Cにおける動きベクトルが、取得される。
変形においては、現在のCTUの右下隅に配置された現在のCTUのサブブロックを使用して、不必要なCTU境界制約をチェックすることを回避することができる。
別の変形においては、位置Cが、最初に検査される。
すべてのケースにおいて、動きベクトルが、コロケートされた画像内に存在しない(例えば、対応するサブブロックが、イントラモードにある場合)、(例えば、Hが最初にチェックされる位置であるときは、位置Cにある)次の候補が、検査される。
例えば、ステップ304において適用されるクリッピングプロセスは、与えられた制約エリア内に、位置Pをクリッピングするというものである。実施形態においては、制約エリアは、現在のブロックを含むCTUに、このCTUの右側のサブブロックの列が追加されたものに対応する(図12を参照)。位置Pに変位させられた中心Cは、制約エリア内に収まるようにクリップされて、位置P’を与える。その後、コロケートされた画像内の位置P’にあるサブブロックから、最終動きベクトル(すなわち、TMVP)が、抽出される。
図10は、改善されたTMVP導出プロセス全体の第1の変形を概略的に示している。図10のプロセスは、処理モジュール40が、エンコーダまたはデコーダを実施するとき、処理モジュール40によって、現在のブロックに対して実行される。特に、TMVP導出プロセスは、ステップ208およびステップ308の間に、実行される。
図10の変形は、ステップ300およびステップ301において、時間動きを見つけることができないときの、図9のプロセスを変更する。図9のブロック図と比較すると、ステップ301とステップ307との間に、2つの追加ステップ309および310が、追加される。やはり、図10のプロセスから導出される新しいTMVPは、例えば、通常マージモード用のTMVPとして、使用することができる。
ステップ309において、処理モジュール40は、位置Pとして中心位置Cを取得する。
ステップ310において、処理モジュール40は、コロケートされた画像内の位置Pにおける動きベクトルmv’の入手可能性をチェックする。
それが、入手可能である場合、ステップ307において、動きベクトルmv’をスケーリングして、動きベクトルmv”にする。そうではない場合、動きベクトルは、TMVP導出プロセスから取得されず、プロセスは、ステップ311において終了する。
図11は、改善されたTMVP導出プロセス全体の第2の変形を概略的に示している。図11のプロセスは、処理モジュール40が、エンコーダまたはデコーダを実施するとき、処理モジュール40によって、現在のブロックに対して実行される。特に、図11のTMVP導出プロセスは、ステップ208およびステップ308の間に、実行される。
図11の変形は、やはり、ステップ300およびステップ301において、時間動きベクトルを見つけることができないときの、図9のプロセスを変更する。そのケースにおいては、この変形において、マージプロセスの第1の入手可能な空間動きベクトル(またはそれが存在する場合は、マージプロセスの第1の候補)が、現在のブロックの中心を変位させるために、取得される。動きベクトルをついに見つけることができなかった場合、時間動きベクトルは、TMVP導出プロセスから取得されない。やはり、図11のプロセスから導出される新しいTMVPは、例えば、通常マージモード用のTMVPとして、使用することができる。
図11のプロセスは、以下で説明されるように、図9のプロセスとは異なる。
ステップ300およびステップ301において、時間動きベクトルが見つからないとき、ステップ301の後に、ステップ4000が続く。
ステップ4000において、処理モジュール40は、第1のマージ動きベクトル候補が、通常マージモードの動きベクトル候補のリスト内において、入手可能であるかどうかを決定する。通常マージモードの候補のリストの第1のマージ動きベクトルは、空間動きベクトルである。実施形態においては、第1のマージ動きベクトル候補が入手可能であるかどうかを決定する代わりに、処理モジュール40は、少なくとも1つの空間的候補が、通常マージリスト内において、入手可能であるかどうかを決定し、少なくとも1つの動きベクトル候補が、入手可能である場合、モジュール40は、そのリスト内の第1の位置にある動きベクトル候補を選択する。
第1のマージ動きベクトルが、入手可能ではない場合、ステップ4005において、処理モジュール40は、位置Pのために、現在のブロックの中心Cを使用する。
ステップ4006において、処理モジュール40は、位置Pにおける動きベクトルmv’が、入手可能かどうかを決定する。
mv’が、入手可能である場合、4007において、処理モジュール40は、mv’を使用して、現在のブロックの中心を変位させる。
その後、ステップ307において、処理モジュール40は、動きベクトルmv’をリスケールして、動きベクトルmv”を取得する。
ステップ4006において、mv’が、入手可能ではない場合、動きベクトルは、TMVP導出プロセスから取得されず、プロセスは、ステップ311において停止する。
ステップ4000において、第1のマージ動きベクトルが、入手可能である場合、処理モジュール40は、ステップ4001の間に、この動きベクトルをリスケールする。
ステップ4002において、処理モジュール40は、リスケールされた動きベクトルを使用して、現在のブロックの中心位置を位置Pに変位させる。
ステップ4003において、処理モジュール40は、変位させられた位置Pをクリップする。
ステップ4004の間に、処理モジュール40は、コロケートされた画像内の位置Pにおける、動きベクトルmv’の入手可能性をチェックする。動きベクトルmv’が、入手可能である場合、ステップ307において、それは、リスケールされて、動きベクトルmv”になる。動きベクトルmv’が、入手可能ではない場合、動きベクトルは、TMVP導出プロセスから取得されず、プロセスは、ステップ311において終了する。
図13は、改善されたTMVP導出プロセス全体の第3の変形を概略的に示している。図13のプロセスは、処理モジュール40が、エンコーダまたはデコーダを実施するとき、処理モジュール40によって、現在のブロックに対して実行される。特に、図13のTMVP導出プロセスは、ステップ208およびステップ308の間に、実行される。
やはり、図13の処理から導出される新しいTMVPは、例えば、通常マージモード用のTMVPとして、使用することができる。
クリッピングプロセスの代替プロセスは、変位させられたサブブロックが、制約エリアの外部にある場合、フォールバック動きベクトルプレディクタを使用するというものである。
図13は、クリッピングプロセスを回避する、TMVP導出プロセスの変形を示している。図13のこのプロセスにおいては、変位させられた中心が、制約エリアの外部にある場合、(それが選択されたときの)元の動きベクトルmvへのフォールバックが、使用される。図11と比較すると、2つのステップ(500と501)が、挿入され、それらは、位置Pが制約エリアの内部にあるかどうかをチェックするというものである。ステップ500は、ステップ303とステップ305/306との間に挿入される。ステップ500において、位置Pが、制約エリアの内部にある場合、処理モジュールは、ステップ305を実行する。そうではない場合、処理モジュールは、ステップ306を実行する。
ステップ501は、ステップ4002とステップ4004との間に挿入される。ステップ501において、位置Pが、制約エリアの内部にある場合、処理モジュールは、ステップ4004を実行する。そうではない場合、ステップ501の後に、ステップ311が続き、動きベクトルは、導出プロセスから取得されない。
図14は、改善されたTMVP導出プロセス全体の第4の変形を概略的に示す。図14のプロセスは、処理モジュール40が、エンコーダまたはデコーダを実施するとき、処理モジュール40によって、現在のブロックに対して実行される。特に、図14のTMVP導出プロセスは、ステップ208およびステップ308の間に、実行される。
やはり、図14のプロセスから導出される新しいTMVPは、例えば、通常マージモード用のTMVPとして、使用することができる。
ステップ1401において、処理モジュール40は、コロケートされた画像内の位置Hにおける動きベクトルmv0が、入手可能であるかどうかを決定する。
動きベクトルmv0が、位置Hにおいて入手可能である場合、ステップ1403において、処理モジュール40は、動きベクトルmv0をリスケールし、リスケールされた動きベクトルmv0が、現在の参照画像を(すなわち、参照画像バッファ内の第1の位置にある参照画像を)ポイントするようにする。
ステップ1404において、処理モジュール40は、現在のブロックの中心を、位置P=C+mv0にあるように変位させる。
ステップ1405において、位置Pが、制約エリアの外部にある場合、処理モジュール40は、位置Pをクリップする。
ステップ1406において、処理モジュール40は、コロケートされた画像内の位置Pにおける動きベクトルmv0’が、入手可能であるかどうかを決定する。
動きベクトルmv0’が、位置Pにおいて入手可能である場合、ステップ1408において、処理モジュールは、動きベクトルmv0’をリスケールして、動きベクトルmv0”を取得する。ステップ1408の後に、ステップ1421が続く。
ステップ1401において、動きベクトルが、位置Hにおいて入手可能ではない場合、処理モジュール40は、ステップ1402の間に、動きベクトルmv0およびmv0”が入手可能ではないと決定する。ステップ1402の後に、ステップ1421が続く。
ステップ1406において、動きベクトルmv0’が、位置Pにおいて入手可能ではない場合、処理モジュール40は、ステップ1407の間に、動きベクトルmv0”が入手可能ではないと決定する。ステップ1407の後に、ステップ1421が続く。
ステップ1401からステップ1408と並行して、またはそれらに続いて、処理モジュールは、ステップ1409からステップ1416を実行する。
ステップ1409において、処理モジュール40は、コロケートされた画像内の位置Cにおける動きベクトルmv1が、入手可能であるかどうかを決定する。
動きベクトルmv1が、位置Cにおいて入手可能である場合、ステップ1411において、処理モジュール40は、動きベクトルmv1をリスケールし、リスケールされた動きベクトルmv1が、現在の参照画像を(すなわち、参照画像バッファ内の第1の位置にある参照画像を)ポイントするようにする。
ステップ1412において、処理モジュール40は、現在のブロックの中心を、位置P=C+mv1にあるように変位させる。
ステップ1413において、位置Pが、制約エリアの外部にある場合、処理モジュール40は、位置Pをクリップする。
ステップ1414において、処理モジュール40は、コロケートされた画像内の位置Pにおける動きベクトルmv1’が、入手可能であるかどうかを決定する。
動きベクトルmv1’が、位置Pにおいて入手可能である場合、ステップ1416において、処理モジュールは、動きベクトルmv1’をリスケールして、動きベクトルmv1”を取得する。ステップ1416の後に、ステップ1421が続く。
ステップ1409において、動きベクトルが、位置Cにおいて入手可能ではない場合、処理モジュール40は、ステップ1410の間に、動きベクトルmv1およびmv1”が入手可能ではないと決定する。ステップ1410の後に、ステップ1421が続く。
ステップ1414において、動きベクトルmv1’が、位置Pにおいて入手可能ではない場合、処理モジュール40は、ステップ1415の間に、動きベクトルmv1”が入手可能ではないと決定する。ステップ1415の後に、ステップ1421が続く。
ステップ1401からステップ1408、および/もしくはステップ1409からステップ1416と並行して、またはそれらに続いて、処理モジュール40は、ステップ1417から1420を実行する。
ステップ1417において、処理モジュール40は、位置Pを現在のブロックの中心に決定する(P=C)。
ステップ1418において、処理モジュールは、コロケートされた画像内の位置Pにおいて、動きベクトルmv3”が、入手可能であるかどうかを決定する。動きベクトルが、位置Pにおいて入手可能である場合、ステップ1420の間に、処理モジュール40は、動きベクトルmv3”をリスケールする。
そうではない場合、ステップ1419の間に、処理モジュール40は、動きベクトルmv3”が入手可能ではないと決定する。ステップ1419およびステップ1420の後に、ステップ1421が続く。
ステップ1421の間に、処理モジュール40は、順序付けられたセット{mv0”,mv1”,mv3”,mv0,mv1,none}内の第1の入手可能な動きベクトルを、TMVPとして選択する。mv0”が、入手可能である場合、処理モジュール40は、mv0”をTMVPとして選択する。そうではなく、mv1”が、入手可能である場合、処理モジュール40は、mv1”をTMVPとして選択する。そうではなく、mv3”が、入手可能である場合、処理モジュール40は、mv3”をTMVPとして選択する。そうではなく、mv0が、入手可能である場合、処理モジュール40は、MV0をTMVPとして選択する。そうではなく、mv1が、入手可能である場合、処理モジュール40は、MV1をTMVPとして選択する。それ以外の場合、TMVPは、選択されず、すなわち、動きベクトルは、TMVP導出プロセスから取得されない。
図11に関連して先に説明されたように(ステップ4000)、マージプロセスの第1の入手可能な空間動きベクトル(または、それが存在する場合は、マージプロセスの第1の候補)が、初期動きベクトルとして使用されるとき、同じプロセスを適用することができる。
図15は、改善されたTMVP導出プロセス全体の第5の変形を概略的に示している。図15のプロセスは、処理モジュール40が、エンコーダまたはデコーダを実施するとき、処理モジュール40によって、現在のブロックに対して実行される。特に、図15のTMVP導出プロセスは、ステップ208およびステップ308の間に、実行される。
図15のプロセスから導出される新しいTMVPは、特に、サブブロックマージモードに適合される。
ステップ1501において、処理モジュール40は、動きベクトルmvが、コロケートされた画像内の位置Hにおいて入手可能であるかどうかを決定する。動きベクトルmvが、入手可能である場合、ステップ1501の後に、ステップ1503が続く。そうではない場合、処理モジュール40は、ステップ1502を実行し、その間に、処理モジュール40は、動きベクトルmvが、コロケートされた画像内の位置Cにおいて入手可能であるかどうかを決定する。動きベクトルmvが、入手可能である場合、ステップ1502の後に、ステップ1503が続く。
ステップ1502において、動きベクトルmvが、入手可能ではない場合、ステップ1502の後に、ステップ1508が続く。
ステップ1503において、動きベクトルmvは、処理モジュール40によって、リスケールされる。ステップ1503は、ステップ302と同じである。
ステップ1504において、処理モジュール40は、現在のブロックの各サブブロックiについて、位置Pi=Ci+mvを計算し、Ciは、現在のブロックの第iのサブブロックの中心の位置である。
ステップ1505において、処理モジュール40は、制約エリアの内部に収まるように、例えば、現在のブロックを含むCTUの内部に収まるように、各位置Piをクリップする。
ステップ1506において、処理モジュール40は、各サブブロックiについて、動きベクトルmv’iが、位置Piにおいて入手可能であるかどうかを決定する。
ステップ1507において、各入手可能な動きベクトルmv’iをリスケールして、動きベクトルmv”iを取得する。サブブロックiについて、動きベクトルmv’iが、入手可能ではないとき、ステップ1517において、サブブロックiは、デフォルトの動きベクトル、例えば、mv”i=(0,0)を与えられる。
ステップ4000と同じである、ステップ1508において、処理モジュール40は、第1のマージ動きベクトルmvが、入手可能であるかどうかを決定する。第1のマージ動きベクトルmvが、入手可能である場合、ステップ1509において、処理モジュール40は、この第1のマージ動きベクトルmvをリスケールする。
ステップ1510において、処理モジュール40は、現在のブロックの各サブブロックiについて、位置Pi=Ci+mvを計算する。
ステップ1511において、処理モジュール40は、制約エリアの内部に収まるように、各位置Piをクリップする。
ステップ1512において、処理モジュール40は、各サブブロックiについて、動きベクトルmv’iが、位置Piにおいて入手可能であるかどうかを決定する。
ステップ1513において、各入手可能な動きベクトルmv’iをリスケールして、動きベクトルmv”iを取得する。サブブロックiについて、動きベクトルmv’iが、入手可能ではないとき、ステップ1517において、サブブロックiは、デフォルトの動きベクトルを与えられる。
ステップ1508において、処理モジュール40が、第1のマージ動きベクトルmvが、入手可能ではないと決定した場合、ステップ1508の後に、ステップ1514に続く。
ステップ1514において、処理モジュール40は、現在のブロックの各サブブロックiについて、位置Pi=Ciを計算する。
ステップ1515において、処理モジュール40は、各サブブロックiについて、動きベクトルmv’iが、位置Piにおいて入手可能であるかどうかを決定する。ステップ1516において、各入手可能な動きベクトルmv’iをリスケールして、動きベクトルmv”iを取得する。サブブロックiについて、動きベクトルmv’iが、入手可能ではないとき、ステップ1517において、サブブロックiは、デフォルトの動きベクトルを与えられる。
本出願は、ツール、特徴、実施形態、モデル、手法などを含む、様々な態様について説明している。これらの態様の多くは、具体的に説明され、少なくとも、個々の特徴を示すために、限定的に聞こえることがある方式で、しばしば説明される。しかしながら、これは、説明における明確さのためであり、それらの態様の適用または範囲を限定しない。実際、異なる態様のすべては、さらなる態様を提供するために、組み合わせること、および交換することができる。さらに、態様は、先の出願において説明された態様とも同様に、組み合わせること、および交換することができる。
本出願において説明され、企図される態様は、多くの異なる形態で、実施することができる。図2、図3、図4A、および図4Bは、いくつかの実施形態を提供するが、他の実施形態が、企図され、図2、図3、図4A、および図4Bの説明は、実施の広がりを限定しない。態様のうちの少なくとも1つは、一般に、ビデオエンコーディングおよびデコーディングに関し、少なくとも1つの他の態様は、一般に、生成またはエンコードされたビットストリームを送信することに関する。これらの態様および他の態様は、方法、装置、説明された方法のいずれかに従ってビデオデータをエンコードもしくはデコードするための命令をその上に記憶するコンピュータ可読記憶媒体、および/または説明された方法のいずれかに従って生成されたビットストリームをその上に記憶するコンピュータ可読記憶媒体として実施することができる。
様々な方法が、本明細書において説明され、方法の各々は、説明された方法を達成するための1つまたは複数のステップまたはアクションを含む。方法の適切な動作のために、ステップまたはアクションの特定の順序が、必要とされない限り、特定のステップおよび/またはアクションの順序および/または使用は、変更すること、または組み合わせることができる。
本出願において説明される様々な方法および他の態様は、モジュールを、例えば、ビデオエンコーダの動きベクトル符号化ステップ208、および/またはデコーダの動きベクトルデコーディングステップ308を変更するために、使用することができる。さらに、本態様は、VVCまたはHEVCに限定されず、例えば、既存のものであるか、それとも将来開発されるものであるかに関わらず、他の規格および勧告に、ならびに(VVCおよびHEVCを含む)任意のそのような規格および勧告の拡張に適用することができる。別段の指摘がない限り、または技術的に排除されない限り、本出願において説明される態様は、個別にまたは組み合わせて、使用することができる。
本出願においては、様々な数値、様々な位置、および/または様々な制約エリアが、使用される。特定の値、位置、制約エリアは、例示を目的としたものあり、説明される態様は、これらの特定の値、位置、および制約エリアに限定されない。
さらに、実施形態は、様々な請求項のカテゴリおよびタイプにわたって、以下の特徴、デバイス、または態様のうちの1つまたは複数を、単独でまたは任意の組み合わせで、含むことができる。
・新しい時間動きベクトルプレディクタを提供すること。
・コロケートされた画像内のブロックの動きベクトルを使用することによって、新しい時間動きベクトルプレディクタを取得することであって、
ブロックは、元のTMVPプロセスに由来する動きベクトルMV0によって、(現在のブロックの空間的ロケーションに関して)変位させられること。
・新しい時間動きベクトルプレディクタは、おそらく、何らかの時間的リスケーリングを受けること。
・制約エリアの内部に収まるように、ブロックの変位をクリッピングすること。
・時間動きベクトルプレディクタが、いくつかの制約を満たさないケース、例えば、制約エリアの外部をポイントするケースにおいては、元のTMVPプロセスを適用すること。
・空間的に近隣するブロックの動きベクトルの代わりに、コロケートされた画像内のブロックの動きベクトルを初期動きベクトルとして使用することによって、新しいサブブロック時間動きベクトルプレディクタを取得すること。
・初期動きベクトルを各サブブロックに対して適用することによって、新しいサブブロック時間動きベクトルプレディクタを取得すること。
・使用する動きベクトル予測方法をデコーダが識別することを可能にするシンタックス要素をシグナリングに挿入すること。
・説明した実施形態のいずれかに従って生成された情報を伝えるシンタックスを含む、ビットストリームまたは信号。
・エンコーダによって使用されるものに対応する方式で、デコーダが動きベクトル予測を適合させることを可能にするシンタックス要素をシグナリングに挿入すること。
・説明されるシンタックス要素のうちの1つもしくは複数、またはその変形を含むビットストリームまたは信号を作成および/または送信および/または受信および/またはデコードすること。
・説明される実施形態のいずれかに従って、作成および/または送信および/または受信および/またはデコードすること。
・説明される実施形態のいずれかに従った、方法、プロセス、装置、命令をストアする媒体、データを記憶する媒体、または信号。
・説明される実施形態のいずれかに従って、動きベクトル予測の適合を実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
・説明される実施形態のいずれかに従って、動きベクトル予測の適合を実行し、結果として得られた画像を(例えば、モニタ、スクリーン、または他のタイプのディスプレイを使用して)表示する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
・エンコードされた画像を含む信号を受信するために(例えば、チューナを使用して)チャネルを選択し、説明される実施形態のいずれかに従って、動きベクトル予測の適合を実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。
・エンコードされた画像を含む信号を(例えば、アンテナを使用して)無線で受信し、説明される実施形態のいずれかに従って、動きベクトル予測の適合を実行する、テレビ、セットトップボックス、セルフォン、タブレット、または他の電子デバイス。

Claims (23)

  1. デコーディングのための方法であって、
    現在の画像をデコードするために、第1の参照画像の、現在のブロックとコロケートしているコロケート領域と呼ばれる領域を識別するステップと、
    前記コロケート領域内または前記コロケート領域の近傍内の位置から、第2の参照画像上をポイントしている、第1の動きベクトルを取得するステップ(300、301)と、
    前記第1の動きベクトルに基づいて、前記現在のブロック内の位置に変位を適用することによって、前記第2の参照画像内の、シフト位置と呼ばれる位置を取得するステップ(303、304)と、
    第2の動きベクトルが、前記シフト位置において入手可能であるかどうかを決定し(305)、および、入手可能である場合、前記現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることが意図された、前記第2の動きベクトルに基づいた、第3の動きベクトルを取得するステップ(307、308)と
    を備える方法。
  2. エンコーディングのための方法であって、
    現在の画像のデコードするために、第1の参照画像の、現在のブロックとコロケートしているコロケート領域と呼ばれる領域を識別するステップと、
    前記コロケート領域内または前記コロケート領域の近傍内の位置から、第2の参照画像上をポイントしている、第1の動きベクトルを取得するステップ(300、301)と、
    前記第1の動きベクトルに基づいて、前記現在のブロック内の位置に変位を適用することによって、前記第2の参照画像内の、シフト位置と呼ばれる位置を取得するステップ(303、304)と、
    第2の動きベクトルが、前記シフト位置において入手可能であるかどうかを決定し(305)、および、入手可能である場合、前記現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることが意図された、前記第2の動きベクトルに基づいた、第3の動きベクトルを取得するステップ(307、308)と
    を備える方法。
  3. 前記第1の動きベクトルは、前記第1の動きベクトルが前記第2の参照画像上をポイントすることを保証するために、前記シフト位置を取得するために使用される前に、リスケールされる請求項1または2に記載の方法。
  4. 前記シフト位置が制約エリア外にあるとき、前記シフト位置は、シフトエリア内に収まるようにクリップされる請求項1乃至3のいずれかに記載の方法。
  5. 前記シフト位置が制約エリア外にあるとき、前記第3の動きベクトルは、前記第1の動きベクトルに基づく請求項1乃至3のいずれかに記載の方法。
  6. 前記第2の参照画像上をポイントしている第1の動きベクトルを、前記コロケート領域内または前記コロケート領域の近傍内の位置から取得できないとき、前記方法は、
    前記現在のブロックの動きベクトルをデコードするために使用される、動きベクトルプレディクタ候補の前記リスト内において、空間動きベクトルが入手可能であるかどうかを決定するステップと、空間動きベクトルが入手可能である場合、前記第1の動きベクトルを、前記入手可能な空間動きベクトルに依存した値になるように修正するステップ(4001)と
    を備える請求項1乃至5のいずれかに記載の方法。
  7. 前記第2の参照画像上をポイントしている第1の動きベクトルを、前記コロケート領域内または前記コロケート領域の近傍内の位置から取得できないとき、前記方法は、
    前記第1の動きベクトルを、前記空間動きベクトルになるように修正するステップ(309)を備える請求項1乃至6のいずれかに記載の方法。
  8. 前記第1の動きベクトルは、前記コロケート領域の近傍内の位置から取得され、前記方法は、
    前記コロケート領域内の位置から、前記第2の参照画像上をポイントしている第4の動きベクトルを取得するステップ(1409、1411)と、
    前記第4の動きベクトルに基づいて、前記現在のブロック内の位置に変位を適用することによって、前記第2の参照画像内の、第2のシフト位置と呼ばれる位置を取得するステップ(1412、1413)と、
    第5の動きベクトルが前記第2のシフト位置において入手可能であるかどうかを決定すし(305)、および、入手可能である場合、前記現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることを意図された、前記第5の動きベクトルに基づいた第6の動きベクトルを取得するステップ(307、308)と、
    前記リスト内に挿入されことになる、動きベクトルの順序付けられたセット内の第1の入手可能な動きベクトルを選択するステップであって、前記順序付けられたセットは、少なくとも、前記第3の動きベクトルと、前記第6の動きベクトルと、前記第1の動きベクトルと、前記第4の動きベクトルとを、これらの動きベクトルが入手可能であるときに、含む、ステップと
    をさらに備える請求項1または2に記載の方法。
  9. 前記順序付けられたセットは、入手可能であるときは、前記コロケート領域内の前記位置から導出される動きベクトルをさらに含む請求項8に記載の方法。
  10. 前記現在のブロックは、サブブロックに分割され、
    シフト位置を取得する前記ステップは、前記第1の動きベクトルに基づいて、前記サブブロック内の位置に変位を適用することによって、各サブブロックについてのシフト位置を取得することを含み、
    各サブブロックについて、第2の動きベクトルが、前記サブブロックに対応する前記シフト位置において入手可能である場合に、第3の動きベクトルが取得される
    請求項1乃至7のいずれかに記載の方法。
  11. デコーディングのためのデバイスであって、
    現在の画像をデコードするために、第1の参照画像の、現在のブロックとコロケートしているコロケート領域と呼ばれる領域を識別し、
    前記コロケート領域内または前記コロケート領域の近傍内の位置から、第2の参照画像上をポイントしている、第1の動きベクトルを取得(300、301)し、
    前記第1の動きベクトルに基づいて、前記現在のブロック内の位置に変位を適用することによって、前記第2の参照画像内の、シフト位置と呼ばれる位置を取得(303、304)し、
    第2の動きベクトルが、前記シフト位置において入手可能であるかどうかを決定し(305)、および、入手可能である場合、前記現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることが意図された、前記第2の動きベクトルに基づいた、第3の動きベクトルを取得する(307,308)
    ために適合された電子回路
    を備えたデバイス。
  12. エンコーディングのためのデバイスであって、
    現在の画像のデコードするために、第1の参照画像の、現在のブロックとコロケートしているコロケート領域と呼ばれる領域を識別し、
    前記コロケート領域内または前記コロケート領域の近傍内の位置から、第2の参照画像上をポイントしている、第1の動きベクトルを取得し(300、301)、
    前記第1の動きベクトルに基づいて、前記現在のブロック内の位置に変位を適用することによって、前記第2の参照画像内の、シフト位置と呼ばれる位置を取得し(303、304)、
    第2の動きベクトルが、前記シフト位置において入手可能であるかどうかを決定し(305)、および、入手可能である場合、前記現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることが意図された、前記第2の動きベクトルに基づいた、第3の動きベクトルを取得する(307、308)
    ために適合された電子回路
    を備えたデバイス。
  13. 前記第1の動きベクトルは、前記第1の動きベクトルが前記第2の参照画像上をポイントすることを保証するために、前記シフト位置を取得するために使用される前に、リスケールされる請求項11または12に記載のデバイス。
  14. 前記シフト位置が制約エリア外にあるとき、前記シフト位置は、シフトエリア内に収まるようにクリップされる請求項11乃至13のいずれかに記載のデバイス。
  15. 前記シフト位置が制約エリア外にあるとき、前記第3の動きベクトルは、前記第1の動きベクトルに基づく請求項11乃至13のいずれかに記載のデバイス。
  16. 前記第2の参照画像上をポイントしている第1の動きベクトルを、前記コロケート領域内または前記コロケート領域の近傍内の位置から取得できないとき、前記デバイスは、
    前記現在のブロックの動きベクトルをデコードするために使用される、動きベクトルプレディクタ候補の前記リスト内において、空間動きベクトルが入手可能であるかどうかを決定し、空間動きベクトルが入手可能である場合、前記第1の動きベクトルを、前記入手可能な空間動きベクトルに依存した値になるように修正する(4001)よう適合された電子回路
    を備えた請求項11乃至15のいずれかに記載のデバイス。
  17. 前記第2の参照画像上をポイントしている第1の動きベクトルを、前記コロケート領域内または前記コロケート領域の近傍内の位置から取得できないとき、前記デバイスは、
    前記第1の動きベクトルを、前記空間動きベクトルになるように修正するよう適合された電子回路
    を備えた請求項11乃至16のいずれかに記載のデバイス。
  18. 前記第1の動きベクトルは、前記コロケート領域の近傍内の位置から取得され、前記デバイスは、
    前記コロケート領域内の位置から、前記第2の参照画像上をポイントしている第4の動きベクトルを取得し(1409、1411)、
    前記第4の動きベクトルに基づいて、前記現在のブロック内の位置に変位を適用することによって、前記第2の参照画像内の、第2のシフト位置と呼ばれる位置を取得し(1412、1413)、
    第5の動きベクトルが前記第2のシフト位置において入手可能であるかどうかを決定し(305)、および、入手可能である場合、前記現在のブロックの動きベクトルを再構築するために使用される、動きベクトルプレディクタ候補のリスト内に挿入されることを意図された、前記第5の動きベクトルに基づいた第6の動きベクトルを取得し(307、308)
    前記リスト内に挿入されことになる、動きベクトルの順序付けられたセット内の第1の入手可能な動きベクトルを選択し、前記順序付けられたセットは、少なくとも、前記第3の動きベクトルと、前記第6の動きベクトルと、前記第1の動きベクトルと、前記第4の動きベクトルとを、これらの動きベクトルが入手可能であるときに含む
    よう適合された電子回路
    を備えた請求項11または12に記載のデバイス。
  19. 前記順序付けられたセットは、入手可能であるときは、前記コロケート領域内の前記位置から導出される動きベクトルをさらに含む請求項18に記載のデバイス。
  20. 前記現在のブロックは、サブブロックに分割され、
    シフト位置を取得することは、前記第1の動きベクトルに基づいて、前記サブブロック内の位置に変位を適用することによって、各サブブロックについてのシフト位置を取得することを含み、
    各サブブロックについて、第2の動きベクトルが、前記サブブロックに対応する前記シフト位置において入手可能である場合に、第3の動きベクトルが取得される
    請求項11乃至17のいずれかに記載のデバイス。
  21. 請求項2乃至10いずれかに記載のエンコーディングのための方法、または、請求項12乃至20いずれかに記載のエンコーディングのためのデバイスにしたがって生成されるデータを含む信号。
  22. 請求項1乃至10いずれかに記載の方法を実施するためのプログラムコード命令を含むコンピュータプログラム。
  23. 請求項1乃至10いずれかに記載の方法を実施するためのプログラムコード命令をストアした情報ストレージ手段。
JP2021555855A 2019-03-15 2020-03-12 画像エンコーディングおよびデコーディングのための方法およびデバイス Active JP7448558B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024029991A JP2024059909A (ja) 2019-03-15 2024-02-29 画像エンコーディングおよびデコーディングのための方法およびデバイス

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19305318 2019-03-15
EP19305318.8 2019-03-15
PCT/US2020/022480 WO2020190655A1 (en) 2019-03-15 2020-03-12 Method and device for image encoding and decoding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024029991A Division JP2024059909A (ja) 2019-03-15 2024-02-29 画像エンコーディングおよびデコーディングのための方法およびデバイス

Publications (3)

Publication Number Publication Date
JP2022526276A true JP2022526276A (ja) 2022-05-24
JPWO2020190655A5 JPWO2020190655A5 (ja) 2023-03-22
JP7448558B2 JP7448558B2 (ja) 2024-03-12

Family

ID=67437179

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021555855A Active JP7448558B2 (ja) 2019-03-15 2020-03-12 画像エンコーディングおよびデコーディングのための方法およびデバイス
JP2024029991A Pending JP2024059909A (ja) 2019-03-15 2024-02-29 画像エンコーディングおよびデコーディングのための方法およびデバイス

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024029991A Pending JP2024059909A (ja) 2019-03-15 2024-02-29 画像エンコーディングおよびデコーディングのための方法およびデバイス

Country Status (5)

Country Link
US (1) US12041241B2 (ja)
EP (1) EP3939300A1 (ja)
JP (2) JP7448558B2 (ja)
CN (1) CN113826397A (ja)
WO (1) WO2020190655A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021047631A1 (en) 2019-09-13 2021-03-18 Beijing Bytedance Network Technology Co., Ltd. Derivation of collocated motion vectors
WO2023130285A1 (zh) * 2022-01-05 2023-07-13 Oppo广东移动通信有限公司 时域运动信息预测和构建候选列表的方法、装置和系统
EP4254948A1 (en) * 2022-03-31 2023-10-04 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture partitionned in ctu grids
WO2024151335A1 (en) * 2023-01-09 2024-07-18 Tencent America LLC Subblock based motion vector predictor with mv offset in amvp mode

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8358696B2 (en) 2008-12-31 2013-01-22 Intel Corporation Motion estimation techniques
JP2015536087A (ja) 2012-09-28 2015-12-17 サムスン エレクトロニクス カンパニー リミテッド インターレイヤ予測誤差を符号化するためのsaoオフセット補償方法及びその装置
US9762927B2 (en) * 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
US11477477B2 (en) * 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
WO2017087751A1 (en) 2015-11-20 2017-05-26 Mediatek Inc. Method and apparatus for global motion compensation in video coding system
US10306258B2 (en) 2016-01-29 2019-05-28 Google Llc Last frame motion vector partitioning
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US20220232219A1 (en) * 2019-06-11 2022-07-21 Lg Electronics Inc. Image or video coding based on temporal motion information in units of subblocks

Also Published As

Publication number Publication date
US20220159265A1 (en) 2022-05-19
US12041241B2 (en) 2024-07-16
JP7448558B2 (ja) 2024-03-12
CN113826397A (zh) 2021-12-21
WO2020190655A1 (en) 2020-09-24
JP2024059909A (ja) 2024-05-01
EP3939300A1 (en) 2022-01-19

Similar Documents

Publication Publication Date Title
TWI688262B (zh) 用於視訊寫碼之重疊運動補償
JP7448558B2 (ja) 画像エンコーディングおよびデコーディングのための方法およびデバイス
US11936868B2 (en) Quantization for video encoding or decoding based on the surface of a block
JP7420807B2 (ja) マージリストにおける動きベクトル予測子候補の順序付け
US20240205386A1 (en) Intra block copy with template matching for video encoding and decoding
JP7509763B2 (ja) ビデオエンコーディングおよびデコーディングにおけるアフィンモードシグナリング
CN110868587A (zh) 一种视频图像预测方法及装置
US20230164360A1 (en) Method and device for image encoding and decoding
KR20230145097A (ko) 공간 국소 조명 보상
EP3706421A1 (en) Method and apparatus for video encoding and decoding based on affine motion compensation
KR102407912B1 (ko) 양방향 인트라 예측 시그널링
US20220264147A1 (en) Hmvc for affine and sbtmvp motion vector prediction modes
TW202209889A (zh) 精細控制影像編碼及解碼程序方法及裝置
KR101540510B1 (ko) 추가적 예측 후보를 이용한 인트라 예측 방법 및 그 장치
RU2809558C2 (ru) Способ и устройство для кодирования и декодирования изображения
RU2820339C2 (ru) Hmvc для аффинного режима и режима предсказания вектора движения sbtmvp
RU2824658C2 (ru) Способ и устройство для кодирования и декодирования изображений
CN113170113B (zh) 用于视频编码和解码的三角形和多重假设组合
CN118339830A (zh) 用于图片编码和解码的方法与设备
RU2815092C2 (ru) Широкоугольное внутрикадровое предсказание с подразделами
US20240283924A1 (en) Intra prediction modes signaling
WO2024078896A1 (en) Template type selection for video coding and decoding
KR20240099324A (ko) 기준 픽처 리샘플링을 사용한 비디오 인코딩 및 디코딩
WO2023194103A1 (en) Temporal intra mode derivation
CN110677645A (zh) 一种图像预测方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240229

R150 Certificate of patent or registration of utility model

Ref document number: 7448558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150