JP2021517394A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2021517394A5 JP2021517394A5 JP2020546138A JP2020546138A JP2021517394A5 JP 2021517394 A5 JP2021517394 A5 JP 2021517394A5 JP 2020546138 A JP2020546138 A JP 2020546138A JP 2020546138 A JP2020546138 A JP 2020546138A JP 2021517394 A5 JP2021517394 A5 JP 2021517394A5
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- grid
- code
- processor
- motion
- 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
Links
- UIIMBOGNXHQVGW-UHFFFAOYSA-M buffer Substances [Na+].OC([O-])=O UIIMBOGNXHQVGW-UHFFFAOYSA-M 0.000 claims description 39
- 230000001276 controlling effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 32
- 238000007906 compression Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000002123 temporal effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000002457 bidirectional Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000001131 transforming Effects 0.000 description 6
- 230000000875 corresponding Effects 0.000 description 5
- 230000002093 peripheral Effects 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000001702 transmitter Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000001413 cellular Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
- 230000003287 optical Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 210000002381 Plasma Anatomy 0.000 description 1
- 210000003813 Thumb Anatomy 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002441 reversible Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 230000003068 static Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000153 supplemental Effects 0.000 description 1
- 230000001052 transient Effects 0.000 description 1
Description
本出願は、35U.S.C. §119に基づき、2018年6月1日にてアメリカ特許商標庁に提出されたアメリカ仮出願62/679,580号の優先権を主張し、その全内容を参照により本明細書に組み込む。
本開示は、インターピクチャ予測符号化に関し、特に、マージモードに関する。追加の空間的又は時間的マージ候補を使用してマージ候補リストを生成し、マージ候補リストの生成を修正する。マージインデックスのシグナリング方式も提案されている。
高効率ビデオ符号化(HEVC)では、インターピクチャ予測のためのマージモードが導入されている。隣接ブロックからの候補動きパラメータのマージ候補リストを生成する。そして、インデックスは信号で示され、使用対象となる候補を標識する。マージモードは、以前に符号化されたピクチャから取得した候補をリストに含めることで、時間予測も可能である。図1を参照し、HEVCでは、1つ以上の空間的マージ候補(101)、(102)、(103)、(104)、及び/又は(105)、2つの時間的コロケート〔共位置〕ブロックから導出される1つの時間的マージ候補、及び/又は組み合わせた双方向予測候補とゼロ動きベクトル候補を含む追加のマージ候補に基づいて、現在のブロック(100)のマージ候補リストを生成する。
HEVCでは、スキップモードは、ブロックについて動きデータが信号で明確に示されるものではなく、推定されるものであることを指示するために使用され、また、予測残差がゼロであることを指示するために使用され、つまり、変換係数は送信されない。HEVCでは、インターピクチャ予測スライスにおける各符号化ユニット(CU)の先頭で、skip_flagを信号で示し、当該skip_flagは、CUが1つの予測ユニット(PU)(例えば、2N×2N)のみを含み、マージモードを使用して動きデータを導出し、及び/又はビットストリームに残差データが存在しないことを意味する。
共同ビデオ探査チーム(JVET)によって検討されたテストモデルソフトウェアである共同探査モデル7(JEM7)において、新しいマージ候補が導入される。サブCUモードを追加のマージ候補とすることを可能にし、これらのモードを信号で示すために追加の構文要素は必要ではない。2つの追加のマージ候補が、代替時間的動きベクトル予測(ATMVP)モードと時空間動きベクトル予測(STMVP)モードを示すために各CUのマージ候補リストに追加される。シーケンスパラメータセットが、ATMVPモードとSTMVPモードとを可能にすることを指示する場合、最大7つのマージ候補を使用する。追加のマージ候補の符号化ロジックは、HEVCにおけるマージ候補の符号化ロジックと同じであり、これは、予測(P)スライス又は双方向予測(B)スライスにおける各CUについて、これらの2つの追加のマージ候補に対してさらに2回のレート歪み(RD)チェックが必要である。JEMでは、插入されるマージ候補の順序はA、B、C、D、ATMVP、STMVP、E(リストにおけるマージ候補が6よりも小さい場合)、時間的動きベクトル予測(TMVP)、組み合わせられた双方向予測候補及びゼロ動きベクトル候補である。
JEMでは、マージインデックスの全てのバイナリビットは、コンテキスト適応型バイナリ算術符号化(CABAC)によってコンテキスト符号化される。HEVCでは、最初のバイナリビットのみをコンテキスト符号化し、残りのバイナリビットをコンテキストバイパス符号化する。JEMでは、マージ候補の最大数は7である。
マージ候補リスト生成処理では、現在のCUが符号化ツリーユニット(CTU)の垂直境界にある場合に、前のCTUの動きデータを参照することができる。そのため、前のCTUの最後の行の動きデータを記憶するラインバッファが存在する。動きデータの記憶には4×4グリッドを使用する。
図2は、マージ候補リスト生成の例を示す。例えば、このスキームは、8×8ブロックのステップサイズで、以前に符号化されたブロックからの候補動きベクトルにおいて検索することである。当該スキームは、現在のブロック(200)の最も近い空間近傍、即ち、すぐ隣接する上の行(201)、左の列(202)、右上隅(203)をカテゴリ1として定義する。他の近傍(204、205)、例えば、外側の領域(現在のブロックの境界から最大で3つの8×8ブロック離れている)、及び以前に符号化されたフレームにおける共位置のブロックは、カテゴリ2として分類する。リストから、異なる参照フレームに基づき予測された隣接ブロック、又はフレーム内の符号化された隣接ブロックを削除する。そして、残りの参照ブロックのそれぞれに重みを割り当てる。当該重みは、現在のブロックまでの距離に関する。
拡張マージモードでは、追加のマージ候補は次(NEXT)のマージ候補の直接拡張である。現在ブロックにすぐ隣接しない左、上、左下、右上、左上の候補をチェックする。図1は、チェックされる詳細な位置を示す。例として、マージ候補の最大数は10であり得る。
ATMVP及びマージモードでは、TMVPを使用するには、コロケートの参照ピクチャにおける動きデータ(動きベクトル、参照インデックス及び符号化モードを含む)を記憶する必要がある。動き表現の粒度を考慮して、動きデータを記憶するために必要なメモリサイズは重要になり得る。HEVCは動きデータストレージ縮減(MDSR)を採用して、参照ピクチャにおける動きデータをサブサンプリングすることで、動きデータバッファのサイズ、及び関連するメモリアクセス帯域幅を縮減する。HEVCは、16×16ブロックを使用し、なお、4×4グリッドをサブサンプリングする場合に、左上の4×4ブロックの情報を記憶する。当該サブサンプリングによって、MDSRは時間的予測の品質に影響を与える。また、コロケートに使用されるピクチャにおけるMVの位置とMDSRによって記憶されるMVの位置との間には密接な関連性がある。
本開示の一態様によれば、ビデオシーケンスを符号化又は復号化する動きベクトルバッファを制御するための方法は、前の符号化ツリーユニット(CTU)に関連付けられる動きベクトルセットを認識するステップであって、各動きベクトルがP×Qグリッドに関連付けられ、且つ、動きベクトルセットがN×Mグリッドに関連付けられるステップと、動きベクトルセットに基づいて動きベクトルを決定するステップと、N×Mグリッドに関連付けられる位置を含む候補ブロックに基づいて、動きベクトルバッファにおいて動きベクトルにアクセスするステップと、を含む。
本開示の一態様によれば、ビデオシーケンスを符号化又は復号化する動きベクトルバッファを制御するための装置であって、プログラムコードを記憶するように構成される少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードの指示に従って動作するように構成される少なくとも1つのプロセッサとを含み、当該プログラムコードは、少なくとも1つのプロセッサに、前の符号化ツリーユニット(CTU)に関連付けられる動きベクトルセットを認識させるように構成される認識コードであって、各動きベクトルがP×Qグリッドに関連付けられ、動きベクトルセットがN×Mグリッドに関連付けられる認識コードと、少なくとも1つのプロセッサに、動きベクトルセットに基づいて動きベクトルを決定させるように構成される決定コードと、少なくとも1つのプロセッサに、N×Mグリッドに関連付けられる位置を含む候補ブロックに基づいて、動きベクトルバッファにおいて動きベクトルにアクセスさせるように構成されるアクセスコードと、を含む。
本開示の一態様によれば、命令を記憶する非一時的なコンピュータ可読媒体であって、当該命令は1つ以上の命令を含み、1つ以上の命令は、装置の1つ以上のプロセッサによって実行される場合に、1つ以上のプロセッサに、以下の動作を実行させ、
前の符号化ツリーユニット(CTU)に関連付けられる動きベクトルセットを認識し、各動きベクトルはP×Qグリッドに関連付けられ、動きベクトルセットはN×Mグリッドに関連付けられ、
動きベクトルセットに基づいて動きベクトルを決定し、
N×Mグリッドに関連付けられる位置を含む候補ブロックに基づいて、動きベクトルバッファにおいて動きベクトルにアクセスする。
前の符号化ツリーユニット(CTU)に関連付けられる動きベクトルセットを認識し、各動きベクトルはP×Qグリッドに関連付けられ、動きベクトルセットはN×Mグリッドに関連付けられ、
動きベクトルセットに基づいて動きベクトルを決定し、
N×Mグリッドに関連付けられる位置を含む候補ブロックに基づいて、動きベクトルバッファにおいて動きベクトルにアクセスする。
本開示の一態様によれば、現在のCUは、現在のブロックについて、各4×4位置から検索することができる。検索範囲が現在のCTUを超えた場合、前のCTUの最後の行のMVデータを使用する。現在のCUの場合、各4×4位置について、現在のCTUの動きデータを記憶する。現在のCUが前のCTUからのMVデータにアクセスする必要がある場合に、現在のCUは前のCTUの最後の行からMVデータを取得することができる。現在のCUが前のCUからのMVデータへのアクセスを取得する必要があり、且つ、これらのCUが現在のCTU内にある場合、これらのCUのMVデータは各4×4位置に記憶される。前のCTUについて、現在のCUは、MVデータの最後の行へのアクセスのみを取得することができる。現在のCTU内のCUについて、4×4でMVデータを記憶する。オフセットx及びオフセットyは現在のCUに対する検索範囲である。
開示された主題の他の特徴、性質及び様々な利点は、以下の詳細な説明及び図面からより明確になり、図面において、
一実施例による空間的マージ候補の図である。
一実施例によるマージ候補リスト生成の図である。
一実施例による通信システムの概略的なブロック図である。
一実施例によるストリーミング環境の図である。
一実施例によるビデオ復号器のブロック図である。
一実施例によるビデオ符号器のブロック図である。
一実施例によるビデオシーケンスを符号化又は復号化する動きベクトルバッファを制御するための例示的な処理のフローチャートである。
一実施例による縮減ラインバッファ技術を示す図である。
一実施例による縮減ラインバッファ技術を示す図である。
一実施例による縮減ラインバッファ技術を示す図である。
一実施例による縮減ラインバッファ技術を示す図である。
一実施例によるコンピュータシステムの図である。
本明細書におけるいくつかの実現形態は、前のラインバッファの削減を可能にし、これにより、メモリリソースと他の計算リソースを節約できる。
図3は、本開示の一実施形態による通信システム(300)の概略的なブロック図を示す。システム(300)はネットワーク(350)を介して互いに接続された少なくとも2つの端末(310、320)を含むことができる。データの一方向送信について、第1の端末(310)は、ローカル位置でビデオデータを符号化して、ネットワーク(350)を介して別の端末(320)に送信することができる。第2の端末(320)は、ネットワーク(350)から、他方の端末の符号化されたビデオデータを受信し、当該符号化されたデータを復号化し、復元されたビデオデータを表示することができる。一方向のデータ送信はメディアサービスアプリケーションなどでは一般的である。
図3は、例えば、ビデオ会議中に発生する可能性がある符号化されたビデオの双方向送信をサポートするために提供される第2対の端末(330、340)を示す。データの双方向送信について、各端末(330、340)は、ローカル位置でキャプチャしたビデオデータを符号化して、ネットワーク(350)を介して他方の端末に送信することができる。各端末(330、340)はさらに、他方の端末から送信された、符号化されたビデオデータを受信し、当該符号化されたデータを復号化し、復元されたビデオデータをローカルディスプレイ機器に表示することができる。
図3において、端末(330〜340)は、サーバ、パソコンコンピュータ、スマートフォンとして例示され得るが、本開示の原理はそれに限定されない。本開示の実施例は、ラップトップコンピュータ、タブレット、メディアプレイヤー及び/又は専用のビデオ会議機器を含むがこれらに限定されない他の機器に適用することができる。ネットワーク(350)は、端末(310〜340)の間で符号化されたビデオデータを送信する任意の数のネットワークを表し、例えば有線及び/又は無線通信ネットワークを含む。通信ネットワーク(350)は、回線交換及び/又はパケット交換チャネルにおいてデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットが含まれる。本出願における論述の目的からすると、以下で解釈されない限り、ネットワーク(350)のアーキテクチャ及びトポロジは、本開示の動作にとって重要ではない場合がある。
開示された主題の適用例として、図4は、ストリーミング環境におけるビデオの符号器と復号器の配置を示す。開示された主題は、例えばビデオ会議、デジタルTVなどが含まれる、ビデオをサポートする他のアプリケーションに等価的に適用されることができ、CD、DVD、メモリースティックなどが含まれるデジタルメディアに圧縮されたビデオなどを記憶する。
ストリーミングシステムは、キャプチャサブシステム(413)を含むことができ、当該キャプチャサブシステムは、例えばデジタル撮影装置などの、非圧縮のビデオサンプルストリーム(402)を作成できるビデオソース(401)を含むことができる。符号化されたビデオビットストリームと比較してデータ量が多いことを強調するように、太い線として描画されるサンプルストリーム(402)は、撮影装置(401)に結合される符号器(403)によって処理されることができる。符号器(403)は、以下で詳細に説明される開示される主題の態様を実現又は実施するために、ハードウェア、ソフトウェア又はそれらの組み合わせを含むことができる。サンプルストリームと比較してデータ量が少ないことを強調するように、細い線として描画される符号化されたビデオビットストリーム(404)は、将来の使用のために、ストリーミングサーバ(405)に記憶されることができる。1つ以上のストリーミングクライアント(406、408)は、ストリーミングサーバ(405)にアクセスして、符号化されたビデオビットストリーム(404)のレプリカ(407、409)を検索することができる。クライアント(406)は、ビデオ復号器(410)を含むことができ、当該ビデオ復号器(410)は、符号化されたビデオビットストリームの着信コピー(407)を復号化し、ディスプレイ(412)又は他の表示機器(図示せず)に表示できる発信ビデオサンプルストリーム(411)を作成する。一部のストリーミングシステムでは、ビデオビットストリーム(404、407、409)は、あるビデオコーディング/圧縮規格に従って符号化され得る。これらの規格の例には、ITU-T H.465勧告書を含む。非公式に多用途ビデオ符号化(VVC)と呼ばれるビデオ符号化規格は開発中である。開示された主題は、VVCのコンテキストで使用されてもよい。
図5は、本発明の一実施例によるビデオ復号器(410)の機能ブロック図である。
受信機(510)は、ビデオ復号器(410)によって復号化される1つ以上の符号化されたビデオシーケンスを受信することができ、同じ実施例又は他の実施例では、一度に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は、他の符号化されたビデオシーケンスと独立している。符号化されたビデオシーケンスをチャネル(512)から受信することができ、チャネル(512)は、当該符号化されたビデオデータを記憶するための記憶装置へのハードウェア/ソフトウェアリンクであってもよい。受信機(510)は、符号化されたビデオデータ及び例えば、それぞれの使用エンティティ(図示せず)に転送され得る符号化されたオーディオデータ及び/又は補助データストリームなどの他のデータを受信することができる。受信機(510)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークのジッタを防止するために、バッファメモリ(515)は、受信機(510)とエントロピー復号器/パーサー(520)(以下、「パーサー」と呼ばれる)との間に結合されることができる。受信機(510)は、十分な帯域幅及び制御可能性を有する記憶/転送装置、又は等時性リアルタイムネットワークからデータを受信する際に、バッファ(515)を必要としない可能性があり、又は、バッファ(515)が小さくなってもよい。例えばインターネットなどのベストエフォート型パケットネットワークで使用するために、バッファ(515)を必要とする可能性があり、バッファ(515)は比較的大きく、有利に自己適応サイズを有することができる。
ビデオ復号器(410)は、エントロピー符号化されたビデオシーケンスに基づきシンボル(521)を再構築するように、パーサー(520)を含むことができる。図5に示すように、これらのシンボルのカテゴリには、復号器(410)の動作を管理するための情報、及びディスプレイ(412)などの表示機器を制御するための潜在情報が含まれ、当該表示機器は、復号器の構成部分ではないが復号器に結合され得る。(1つ以上の)表示機器のための制御情報は、補助拡張情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットセグメント(図示せず)という形であってもよい。パーサー(520)は、受信された、符号化されたビデオシーケンスを解析/エントロピー復号化することができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術又は規格に従って実行することができ、可変長符号化、ハフマン符号化(Huffman coding)、文脈依存の有無にかかわらず算術符号化などを含む当業者に知られている原理に従うことができる。パーサー(520)は、グループに対応する少なくとも1つのパラメータに基づき、符号化されたビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループのサブグループパラメータセットを抽出することができる。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。エントロピー復号器/パーサーはさらに、符号化されたビデオシーケンスから、変換係数、量子化器パラメータ値(QP)、動きベクトルなどの情報を抽出してもよい。
パーサー(520)は、バッファ(515)から受信されたビデオシーケンスに対してエントロピー復号化/解析操作を実行することで、シンボル(521)を作成することができる。パーサー(520)は符号化されたデータを受信し、特定のシンボル(521)を選択的に復号化してもよい。また、パーサー(520)は特定のシンボル(521)が動き補償予測ユニット(553)、スケーラ/逆変換ユニット(551)、イントラ予測ユニット(552)又はループフィルタ(556)に提供されるかどうかを決定してもよい。
シンボル(521)の再構築は、符号化されたビデオピクチャ又はその一部(例えば、インターピクチャとイントラピクチャ、インターブロックとイントラブロック)のタイプ及び他の要因によって、複数の異なるユニットに関わる。関与するユニット及び関与形態について、パーサー(520)が符号化されたビデオシーケンスから解析したサブグループ制御情報によって制御される。簡潔のために、パーサー(520)と以下の複数のユニットとの間の、このようなサブグループ制御情報の流れは図示されていない。
既に言及された機能ブロックに加えて、復号器(410)は、概念的には、以下で説明される複数の機能ユニットに細分化される。ビジネス上の制約の下で運行する実際の実現形態において、これらのユニットのうち複数のユニットは互いに密接に相互作用するとともに、少なくとも部分的に互いに統合することができる。しかしながら、開示された主題を説明するために、概念的に以下の機能ユニットに細分化されることは適切である。
第1のユニットはスケーラ/逆変換ユニット(551)である。当該スケーラ/逆変換ユニット(551)はパーサー(520)から(1つ以上の)シンボル(621)としての量子化変換係数及び制御情報を受信し、使用する変換方式、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む。スケーラ/逆変換ユニット(551)は、アグリゲーター(555)に入力され得るサンプル値を含むブロックを出力することができる。
いくつかの場合に、スケーラ/逆変換ユニット(551)の出力サンプルは、イントラ符号化ブロック、即ち、以前に再構築されたピクチャからの予測情報を使用していないが、現在ピクチャの以前に再構築された部分からの予測情報を使用することができるブロックに属する。このような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。いくつかの場合に、イントラピクチャ予測ユニット(552)は現在(部分的に再構築された)ピクチャ(556)から抽出された、周囲が再構築された情報を使用して、再構築中のブロックと同じサイズ及び形状のブロックを生成する。いくつかの場合に、アグリゲーター(555)は、各サンプルごとに、イントラ予測ユニット(552)から生成された予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
他の場合に、スケーラ/逆変換ユニット(551)の出力サンプルは、インター符号化された、潜在的に動き補償されたブロックに属することができる。このような場合に、動き補償予測ユニット(553)は参照ピクチャメモリ(557)にアクセスして、予測のためのサンプルを抽出することができる。当該ブロックに属するシンボル(521)に基づき、抽出されたサンプルに対して動き補償を行った後、これらのサンプルは、アグリゲーター(555)によって、スケーラ/逆変換ユニットの出力に追加される(この場合、残差サンプル又は残差信号と呼ばれる)ことで、出力サンプル情報が生成される。動き補償ユニットが予測サンプルを抽出するための参照ピクチャメモリ内のアドレスは動きベクトルによって制御され、動きベクトルはシンボル(521)の形で、動き補償ユニットによって使用され、シンボル(521)は、例えばX、Y及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルによって動きベクトルを正確に実行するときに参照ピクチャバッファ(457)から抽出されたサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
ループフィルタユニット(556)において、アグリゲーター(555)の出力サンプルに対して、様々なループフィルタリング技術を採用できる。ビデオ圧縮技術は、ループ内フィルタ技術を含むことができ、ループ内フィルタ技術は、符号化されたビデシーケンスに含まれる、パーサー(520)からのシンボル(521)として、ループフィルタユニット(556)に適用可能なパラメータによって制御され、しかしながら、ビデオ圧縮技術は、符号化されたピクチャ又は符号化されたビデオシーケンスの(復号化の順序で)前の部分を復号化する期間に取得されたメタ情報、及び、以前再構築されループフィルタリングによって処理されたサンプル値に応答することもできる。
ループフィルタユニット(556)の出力は、サンプルストリームであってもよく、サンプルストリームは、将来のインターピクチャ予測で使用されるために、表示機器(412)に出力され、参照ピクチャバッファ(556)に記憶されることができる。
ある符号化されたピクチャは完全に再構築されたら、将来の予測のための参照ピクチャとして使用される。例えば、符号化されたピクチャは完全に再構築され、さらに、符号化されたピクチャは(例えばパーサー(520)によって)参照ピクチャとして認識されると、現在の参照ピクチャ(656)は参照ピクチャバッファ(557)の一部になってもよく、その後の符号化されたピクチャの再構築を開始する前に、新たな現在ピクチャメモリを再割り当てる。
ビデオ復号器(410)は、例えばITU−T H.265勧告書に記録される規格における所定のビデオ圧縮技術に従って復号化動作を実行することができる。符号化されたビデオシーケンスがビデオ圧縮技術又は規格の構文に従う意味で、符号化されたビデオシーケンスは、ビデオ圧縮技術ドキュメント又は規格、特にそのプロファイルドキュメントで明確に指定されるように、使用されているビデオ圧縮技術又は規格によって指定される構文に準拠することができる。準拠性について、さらに、符号化されたビデオシーケンスの複雑さがビデオ圧縮技術又は規格のレベルによって限定される範囲にあるように要求される。いくつかの場合に、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構築サンプリングレート(例えば、メガサンプル/秒で測定する)、及び/又は最大参照ピクチャのサイズなどを制限する。いくつかの場合、レベルによって設置される制限は、仮想参照復号器(HRD)の仕様、及び符号化されたビデオシーケンスにおいて信号で示されるHRDバッファが管理するメタデータによってさらに限定される。
一実施例において、受信機(510)は追加の(冗長な)データと符号化されたビデオを受信できる。追加のデータは、(1つ以上の)符号化されたビデオシーケンスの一部として含まれてもよい。追加のデータは、ビデオ復号器(410)によって使用されることで、データを正確に復号化し、及び/又は元のビデオデータをより正確に再構築する。追加のデータは、例えば時間、空間又はSNR拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形であってもよい。
図6は、本開示の一実施形態によるビデオ符号器(403)の機能ブロック図であり得る。
符号器(403)は、ビデオソース(401)(符号器の一部ではない)からビデオサンプルを受信することができ、当該ビデオソースは、符号器(403)によって符号化される(1つ以上の)ビデオ画像をキャプチャすることができる。
ビデオソース(401)は、符号器(403)によって符号化される、デジタルビデオサンプルストリームの形であるソースビデオシーケンスを提供することができ、当該デジタルビデオサンプルストリームは、任意の適切なビット深さ(例えば:8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCb、RGB……)、及び任意の適切なサンプリング構成(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)を有してもよい。メディアサービスシステムにおいて、ビデオソース(401)は、以前に準備されたビデオを記憶するための記憶装置であってもよい。ビデオ会議システムにおいて、ビデオソース(403)は、ビデオシーケンスとして、ローカル画像情報をキャプチャするための撮影装置であってもよい。ビデオデータは、順番に見たときに、動きが付与される複数の個別のピクチャとして提供されることができる。これらのピクチャ自体は、空間画素アレイとして編成され、使用されているサンプリング構成、色空間などによって、各画素には1つ以上のサンプルが含まれてもよい。画素とサンプルとの間の関係は、当業者にとって、容易に理解することができる。以下の説明はサンプルに着目する。
一実施例によれば、ビデオ符号器(403)は、ソースビデオシーケンスのピクチャを、リアルタイムで、又はアプリケーションで必要とする他の任意の時間制約の下で、符号化されたビデオシーケンス(643)に符号化及び圧縮することができる。適切的な符号化速度で実行することは、コントローラ(650)の機能の1つである。コントローラは、以下で説明する他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。簡潔のために、結合は示されていない。コントローラによって設置されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値など)、ピクチャサイズ、ピクチャグループ(GOP)配置、最大動きベクトル検索範囲などを含んでもよい。当業者は、コントローラ(650)の他の機能を容易に認識することができ、これらの機能は特定のシステム設計に対して最適化されたビデオ符号器(403)に属し得る。
あるビデオ符号器は、当業者が容易に「符号化ループ」として認識するという方式で動作する。非常に簡単な説明として、符号化ループは、(符号化対象となる入力ピクチャと(1つ以上の)参照ピクチャに基づきシンボルストリームを作成することを担当する)符号器の符号化部分(630)(以下、「ソース符号器」と呼ばれる)と、符号器(403)に埋め込まれる(ローカル)復号器(633)とを含むことができる。当該復号器(633)はシンボルを再構築することで、(リモート)復号器も作成しようとするサンプルデータを作成する(なぜならば、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮は、開示された主題で考慮されるビデオ圧縮技術において可逆であるためである)。当該再構築されたサンプルストリームを参照ピクチャメモリ(634)に入力する。シンボルストリームの復号化により、復号器位置(ローカル又はリモート)と関係がないビットが正確である結果(bit−exact)を発生させるので、参照ピクチャバッファのコンテンツはローカル符号器とリモート符号器との間でもビットが正確である。言い換えれば、符号器の予測部分から「見る」参照ピクチャサンプルは、復号化中に予測を使用するときに復号器が「見る」サンプル値とまったく同じである。参照ピクチの同期性という基本原理(及び、例えばチャネル誤差のため同期性を維持できない場合に発生するドリフト)は当業者にとって公知である。
「ローカル」復号器(633)の動作は、例えば図5との関連で以上で詳しく説明した「リモート」復号器(410)の動作と同じであってもよい。ただし、さらに図6を簡単に参照し、シンボルは、使用可能で、エントロピー符号器(645)とパーサー(520)とがシンボルを符号化されたビデオシーケンスに無損失で符号化/復号化する場合、チャネル(512)、受信機(510)、バッファ(515)及びパーサー(520)を含む復号器(410)のエントロピー復号化部分は、ローカル復号器(633)で完全に実現されることができないおそれがある。
現時点で、復号器に存在する解析/エントロピー復号化に加えて、任意の復号器技術も、必然的に基本的に同じ機能形式で、対応する符号器に存在することが観察されることができる。符号器技術は、包括的に説明された復号器技術の逆であるため、符号器技術の説明を簡略化できる。より詳しい説明は、特定の領域でのみ必要であり、以下で提供される。
ソース符号器(630)の動作の一部として、ソース符号器(630)は動き補償予測符号化を実行することができ、動き補償予測符号化はビデオシーケンスからの、「参照フレーム」として指定される1つ以上の以前に符号化されたフレームを参照して、入力フレームを予測的に符号化する。このようにして、符号化エンジン(632)は入力フレームの画素ブロックと、入力フレームの(1つ以上の)予測参照として選択される(1つ以上の)参照フレームの画素ブロックとの間の差を符号化する。
ローカルビデオ復号器(633)はソース符号器(630)によって作成されるシンボルに基づき、参照フレームとして指定され得るフレームの符号化されたビデオデータを復号化することができる。符号化エンジン(632)の動作は有利的には、非可逆処理であってもよい。符号化されたビデオデータがビデオ復号器(図6には図示せず)で復号化される場合、再構築されたビデオシーケンスは、一般的に、多少の誤差を伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオ復号器(633)は、参照フレームに対してビデオ復号器によって実行される復号化処理を複製し、再構築された参照フレームを参照ピクチャキャッシュ(636)に記憶することができる。このようにして、ビデオ符号器(403)は、再構築された参照フレームのレプリカをローカルに記憶し、当該レプリカは、リモートビデオ復号器によって取得された、再構築される参照フレームと共通のコンテンツを有する(送信誤差がない)。
予測器(635)は符号化エンジン(632)に対して予測検索を実行してもよい。つまり、符号化対象となる新たなフレームに対して、予測器(635)は参照ピクチャメモリ(634)において、新たなフレームの適切な予測参照として使用され得るサンプルデータ(候補参照画素ブロックとする)、又は例えば参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを検索することができる。予測器(635)はサンプルブロックに基づき、画素ブロックごとに動作することで、適切な予測参照を見つけることができる。いくつかの場合、予測器(635)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶される複数の参照ピクチャから取得される予測参照を有してもよい。
コントローラ(650)は、例えばビデオデータを符号化するためのパラメータとサブグループパラメータの設置を含むビデオ符号器(630)の符号化動作を管理することができる。
エントロピー符号器(645)において、以上に言及された全ての機能ユニットの出力に対してエントロピー符号化を行うことができる。当該エントロピー符号器は、例えばハフマン符号化、可変長符号化、算術符号化などのような当業者に知られている技術に従って、シンボルに対して可逆圧縮を行うことで、各機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換する。
送信機(640)は、通信チャネル(660)を介した送信の準備をするように、エントロピー符号器(645)によって作成される(1つ以上の)符号化されたビデオシーケンスをバッファリングすることができ、通信チャネル(660)は、符号化されたビデオデータを記憶するための記憶装置へのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオ符号器(630)からの符号化されたビデオデータと、例えば符号化されたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)のような、送信対象となる他のデータとを、マージすることができる。
コントローラ(650)は、ビデオ符号器(403)の動作を管理することができる。符号化中に、コントローラ(650)は、各符号化されたピクチャに、対応するピクチャに適用される符号化技術に影響を与える可能性がある特定の符号化されたピクチャタイプを割り当てる。例えば、一般的に、ピクチャを次のフレームタイプのいずれかとして割り当ててもよい。
イントラピクチャ(Iピクチャ)は、シーケンス内の他のピクチャのいずれかを予測のソースとして使用せず、符号化及び復号化されるピクチャであってもよい。一部のビデオコーデックは、例えば独立復号器リフレッシュピクチャが含まれる異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのそれらの変形、及び対応する用途及び特徴を知っている。
予測ピクチャ(Pピクチャ)は、イントラ予測又はインター予測を使用して符号化及び復号化するピクチャであってもよく、当該イントラ予測又はインター予測は、多くとも1つの動きベクトルと参照インデックスを使用して各ブロックのサンプル値を予測する。
双方向予測ピクチャ(Bピクチャ)は、イントラ予測又はインター予測を使用して符号化及び復号化するピクチャであってもよく、当該イントラ予測又はインター予測は、多くとも2つの動きベクトルと参照インデックスを使用して各ブロックのサンプル値を予測する。同様に、複数の予測ピクチャは、2つを超える参照ピクチャ及び関連するメタデータを、単一のブロックの再構築に使用することができる。
ソースピクチャは一般的に、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8又は16×16個のサンプルのブロック)に細分化され、ブロックごとに符号化されることができる。これらのブロックは、他の(符号化された)ブロックを参照して、予測的に符号化されることができ、前記他のブロックは、ブロックの対応するピクチャに適用される符号化割当によって決定される。例えば、Iピクチャのブロックについて、非予測的に符号化するか、又はこれらのブロックを、同じピクチャの既に符号化されたブロックを参照して、予測的に符号化(空間予測又はイントラ予測)してもよい。Pピクチャの画素ブロックについて、以前に符号化された1つの参照ピクチャを参照して、空間的予測又は時間的予測を介して予測的に符号化してもよい。Bピクチャのブロックについて、以前に符号化された1つ又は2つの参照ピクチャを参照して、空間的予測又は時間的予測を介して非予測的に符号化してもよい。
ビデオ符号器(403)は、例えばITU−T H.265勧告書における所定のビデオ符号化技術又は規格に基づき符号化動作を実行することができる。ビデオ符号器(403)の動作において、ビデオ符号器(403)は、入力ビデオシーケンスにおける時間的と空間的冗長性を使用した予測符号化動作が含まれる様々な圧縮動作を実行することができる。従って、符号化されたビデオデータは、使用されているビデオ符号化技術又は規格によって指定される構文に準拠していることができる。
一実施例において、送信機(640)は、追加のデータと符号化されたビデオを送信することができる。ソース符号器(630)は、符号化されたビデオシーケンスの一部として、このようなデータを含んでもよい。追加のデータは、時間/空間/SNR拡張層、冗長ピクチャとスライスのような他の形式の冗長データ、補充拡張情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットフラグメントなどを含んでもよい。
本開示は、インターピクチャ予測符号化のための技術に関し、特に、マージモードに関する。現在のCUが前のCUのMVをマージ候補として使用する場合、別のCTUのいくつかのCUが存在する可能性がある。提案された技術は、以前に符号化されたCUのMV情報への高速アクセスに必要なラインバッファを減少する。本開示の技術は、マージ概念を使用する任意のビデオ符号化方法に拡張することができる。スキップモードはマージモードを使用して動き情報を導出するため、本開示の方法はスキップモードにも適用される。
図7は、一実施例によるビデオシーケンスを符号化又は復号化する動きベクトルバッファを制御するための例示的な処理のフローチャートである。いくつかの実施形態おいて、図7の1つ又は複数の処理ブロックは符号器403により実行されてもよい。いくつかの実施方式おいて、図7の1つ又は複数の処理ブロックは、符号器403とは別の、又は符号器403を含む別のデバイス又はデバイスのグループ、例えば符号器410によって実行されもよい。
図7に示すように、処理は、前の符号化ツリーユニット(CTU)に関連付けられる動きベクトルセットを認識し、各動きベクトルがP×Qグリッドに関連付けられ、且つ、動きベクトルセットがN×Mグリッドに関連付けられること(ブロック710)を含むことができる。
図7にさらに示されるように、処理は、動きベクトルセットに基づいて動きベクトルを決定すること(ブロック720)を含むことができる。
図7にさらに示されるように、処理は、N×Mグリッドに関連付けられる位置を含む候補ブロックに基づいて、動きベクトルバッファにおいて動きベクトルにアクセスすること(ブロック730)を含むことができる。
図7は、処理の例示的なブロックを示したが、いくつかの実現形態において、図7に図示されたこれらのブロックと比べて、処理は、追加のブロック、より少ないブロック、異なるブロック又は異なって配置されたブロックを含むことができる。追加又は代替として、処理の2つ以上のブロックは並行して実行されてもよい。
図8は、縮減ラインバッファ技術を示す図であり、現在のCUが前のCUにおいてマージ候補を検索する場合に、N×M(例えば、16×16)位置でMVにアクセスする。
例として、現在のCUについて、各N×M位置で他の前のCUの動き情報にアクセスする。現在のCUが前のCTUからのMVデータにアクセスする必要がある場合に、現在のCUは各N×M位置の情報を取得してもよく、その中、NとMは正の整数である。
他の例として、現在のCUについて、各N×16位置で他の前のCUの動き情報にアクセスする。現在のCUが前のCUからのMVデータにアクセスする必要がある場合に、現在のCUは、各N×16位置の情報を取得してもよく、その中、Nは正の整数、例えば4、8、12、16などである。従って、現在のフレームについて、MVデータをサブサンプリングする。全ての前のCUについて、N×16ユニットによりMVにアクセスする。オフセットxとオフセットyは現在のCUに対する検索範囲である。
N×16(Nの最小値が4である)ユニットにおけるMVデータに任意の数の方法でアクセスすることができる。MVデータを記憶する最小のユニットは4×4であるので、N×16 MVバッファには4つの最小のユニット行が存在する可能性がある。図9に示すように、各行は1つの数字で指示される。1つの方法では、行0におけるMVデータは他の行のMV情報を示すために使用されてもよい。従って、行0のMVデータのみにアクセスし、他の行の情報を無視することができる。ピクチャ全体に対して当該処理を実行することができる。従って、ピクチャの最初の行から、ある位置でMVデータにアクセスしてもよい。
他の実施例において、行1のMVデータは他の行のMV情報の全てを示すために使用されてもよい。更なる他の実施例において、行2のMVデータは他の行のMV情報の全てを示すために使用されてもよい。更なる他の実施例において、行3の情報は他の行のMV情報の全てを示すために使用されてもよい。
以下、修正された行番号の疑似コードを生成するための例を示す。当該例において、行0の情報は、4つの行全てのMY情報を示すために使用される。以下のコードでは、yは縦座標である。
if (y is in above CTU)
{
y=(y/16)*16;
}
if (y is in above CTU)
{
y=(y/16)*16;
}
他の実施例において、NはMに等しい。一実例において、NとMの両方は16である。本明細書の実施例は、16×16位置における動きデータを使用するために、様々な形態に適用できる。一実施例において、16×16グリッドにおける左上の4×4グリッドは、16×16ブロック全体を示すために使用される。
以下、修正された行番号の疑似コードを生成するための例を示す。当該例において、行0の情報はこれらの4つの行を示すために使用される。以下のコードでは、yは縦座標であり、xは横座標である。
if(y is in above CTU)
{
y=(y/16)*16;
x=(x/16)*16;
}
if(y is in above CTU)
{
y=(y/16)*16;
x=(x/16)*16;
}
他の実施例において、行0から行3までの平均MVは全ての行情報を示すために使用されてもよい。他の実施例において、行0から行3までの平均MVは全ての行情報を示すために使用されてもよい。上記の実施例において、NはM以下である。
他の実施例において、行に加えて、列に関連付けられて当該修正を実行してもよい。他の実施例において、参照ピクチャ方法におけるMVサブサンプリングを使用して現在ピクチャでアクセスされているMV位置を修正してもよい。
図10は、現在のCTUにおいて、現在のCUが、各4×4位置から現在のブロック(1000)を検索できる技術を示す図である。検索範囲が現在のCTUを超えた場合、N×M位置でMVにアクセスする。
当該方法において、現在のCUについて、各N×M位置で他の前のCTUの動き情報にアクセスする。現在のCUが前のCTUからのMVデータへのアクセスを取得する必要がある場合に、現在のCUは、各N×M(例えば16×16)位置(1009、1006、1003)に位置する情報を取得してもよく、NとMとは正の整数である。現在のCUが前のCUからのMVデータへのアクセスを取得する必要があり、且つこれらのCUが現在のCTU内にある場合に、これらのCUのMVデータは各4×4グリッドに位置する。
一実施例において、現在のCUについて、各N×16位置で他の前のCTUの動き情報にアクセスする。現在のCUが前のCTUからのMVデータへのアクセスを取得する必要がある場合に、現在のCUは各N×16に記憶されている情報を取得してもよく、その中、Nは正の整数である。現在のCUが前のCUからのMVデータへのアクセスを取得する必要があり、これらのCUが現在のCTU内にある場合、これらのCUのMVデータは各4×4位置(1001、1002、1007、1005、1008)に位置する。前のCTUにおけるCUについて、N×16ユニットでMVデータを記憶する。現在のCTU内のCUについて、4×4ユニットでMVデータを記憶する。オフセットx及びオフセットyは現在のCUに対する検索範囲である。上記の実施例において、NはM以下である。
図11は、現在のCTUにおいて、現在のCUが各4×4位置から現在ブロック(1000)を検索できる技術を示す図である。検索範囲が現在のCTUを超えた場合、前のCTUの最後の行(1101)からのMVデータを使用する。
当該方法では、現在のCUについて、各4×4位置に対して現在のCTUの動きデータを記憶する。現在のCUが前のCTUからのMVデータにアクセスする必要がある場合に、現在のCUは、前のCTUの最後の行からMVデータを取得してもよい。現在のCUが前のCUからのMVデータへのアクセスを取得する必要があり、これらのCUが現在のCTU内にある場合、これらのCUのMVデータは各4×4位置に記憶される。前のCTUについて、現在のCUはMVデータの最後の行へのアクセスのみを取得できる。現在のCTU内のCUについて、4×4でMVデータを記憶する。オフセットx及びオフセットyは現在のCUに対する検索範囲である。
一実施例によれば、他の4×4グリッド(N×M位置が示されない)における動き情報は修正又は破棄されないが、この動き情報を複製するためにラインバッファは必要とされない。ラインバッファはN×M位置での動き情報のみをコピーすることができる。
上記の技術はコンピュータ可読命令を使用してコンピュータソフトウェアとして実現され、1つ以上のコンピュータ可読媒体に物理的に記憶されてもよい。例えば、図12は開示された主題のいくつかの実施例を実現するのに適したコンピュータシステム(1200)を示す。
コンピュータソフトウェアは、任意の適切なマシンコード又はコンピュータ言語によって符号化することができ、任意の適切なマシンコード又はコンピュータ言語に対して、アセンブル、コンパイル、リンクなどのメカニズムを実行することで、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるか、又は解釈、マイクロコードなどによって実行される命令を含むコードを作成することができる。
当該命令は、例えばパーソナルコンピュータ、タブレット、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む、様々なタイプのコンピュータ又はそれらのコンポーネントで実行されることができる。
図12に示すコンピュータシステム1200のコンポーネントは、本質的に例示であり、本開示の実施形態を実現するためのコンピュータソフトウェアの使用範囲又は機能に制限を加えることを意図するものではない。コンポーネントの配置は、コンピュータシステム1200の例示的な実施形態に示めされたるコンポーネントのいずれか、又はそれらの組み合わせに関連する依存性又は要件を有するものとして解釈されるべきではない。
コンピュータシステム1200は、特定のヒューマンマシンインタフェース入力機器を含んでもよい。このようなヒューマンマシンインタフェース入力機器は、例えば触覚入力(例えば、キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば、音声、拍手)、視覚入力(例えば、姿勢)、嗅覚入力(図示せず)による1つ以上の人間のユーザーの入力に応答することができる。ヒューマンマシンインタフェース機器はさらに、例えば、オーディオ(例えば、音声、音楽、環境音)、画像(例えば、スキャンした画像、静的画像撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、ステレオビデオが含まれる3次元ビデオ)などの、人間の意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されることもできる。
ヒューマンマシンインタフェース入力機器は、キーボード1201、マウス1202、タッチパッド1203、タッチパネル1210、データグローブ1204、ジョイスティック1205、マイク1206、スキャナ1207及び撮影装置1208のうちの1つ以上を含んでもよい(それぞれが1つのみ図示される)。
コンピュータシステム1200はさらに特定のヒューマンマシンインタフェース出力機器を含んでもよい。このようなヒューマンマシンインタフェース出力機器は、例えば触覚出力、音、光及び匂い/味によって1つ以上の人間ユーザーの感覚を刺激することができる。このようなヒューマンマシンインタフェース出力機器は、触覚出力機器(例えば、タッチパネル1210、データグローブ1204又はジョイスティック1205による触覚フィードバックがあるが、入力機器として使用されない触覚フィードバック機器もある)、オーディオ出力機器(例えば、スピーカー1209、ヘッドフォン(図示せず))、視覚出力機器(例えば、スクリーン1212であって、陰極線管(CRT)スクリーン、液晶(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含み、それぞれはタッチスクリーン入力機能がある場合とない場合、触覚フィードバック機能がある場合とない場合があり、そのうちのいくつかは、ステレオグラフィック出力のような手段で、2次元の視覚出力又は3次元以上の出力を出力できる場合がある)、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))、プリンター(図示せず)を含むことができる。
コンピュータシステム1200はさらに人間がアクセス可能な記憶機器及びその関連する媒体を含んでもよく、例えば、CD/DVDなどの媒体1221を有するCD/DVD ROM/RW1220などの光学媒体、サムドライブ1222、取り外し可能なハードドライブ又はソリッドステートドライブ1223、磁気テープとフロッピーディスク(図示せず)のような従来の磁気媒体、セキュリティドングル(図示せず)などの専用ROM/ASIC/PLDによる機器などを含んでもよい。
また、当業者は、現在開示された主題に関連して使用される「コンピュータ可読可能な媒体」という用語には、送信媒体、搬送波又は他の一時的な信号が含まれていないことを理解するべきである。
コンピュータシステム1200はさらに1つ以上の通信ネットワークへのインタフェースを含んでもよい。ネットワークは、例えば無線、有線、光ネットワークであってもよい。ネットワークはさらに、ローカル、ワイドエリア、メトロポリタン、車載、産業用、リアルタイム、遅延耐性ネットワークなどであってもよい。ネットワークの例は、例えば、イーサネットなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、有線テレビ、衛星テレビ及び地上波テレビを含むテレビ有線又は無線ワイドエリアデジタルネットワーク、CANBusを含む車載及び産業用ネットワークなどを含む。一部のネットワークは一般的に、ある汎用データポート又は周辺バス(1249)(例えば、コンピュータシステム1200のUSBポート)の外部ネットワークインタフェースに接続されるアダプタを必要とし、他のネットワークは一般的に、以下のようなシステムバス(例えば、PCコンピュータシステムのイーサネットインタフェース、又はスマートフォンコンピュータシステムのセルラーネットワークインタフェース)に接続されることによって、コンピュータシステム1200のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム1200は他のエンティティと通信することができる。このような通信は、一方向、受信のみ(例えば、放送テレビ)、一方向送信のみ(例えば、あるCANbus機器へのCANbus)、又は双方向(例えば、ローカルエリア又はワイドエリアデジタルネットワークを使用して他のコンピュータシステムに達する)であってもよい。上記のようなこれらのネットワークとネットワークインタフェースのそれぞれに、特定のプロトコル及びプロトコルスタックを使用することができる。
上記のヒューマンマシンインタフェース機器、人間がアクセス可能な記憶装置及びネットワークインタフェースは、コンピュータシステム1200のコア1240に接続することができる。
コア1240は、1つ以上の中央処理ユニット(CPU)1241、グラフィック処理ユニット(GPU)1242、フィールドプログラム可能なゲートアレイ(FPGA)1243の形の専用のプログラム可能な処理ユニット、特定のタスクのためのハードウェアアクセラレータ1244などを含んでもよい。これらの機器は、読み取り専用メモリ(ROM)1245、ランダムアクセスメモリ1246、例えばユーザーがアクセスできない内部ハードディスクドライブ、ソリッドステートドライブ(SSD)などの内部大容量記憶装置1247とともに、システムバス1248を介して接続することができる。一部のコンピュータシステムにおいて、システムバス1248に1つ以上の物理プラグの形でアクセスできることで、追加のCPU、GPUなどによる拡張を可能にすることができる。周辺機器は、直接的又は周辺バス1249を介してコアのシステムバス1248に接続することができる。周辺バスのアーキテクチャは周辺コンポーネント相互接続(PCI)、USBなどを含む。
CPU1241、GPU1242、FPGA1243及びアクセラレータ1244は特定の命令を実行でき、これらの命令を組み合わせると、以上に言及されたコンピュータコードを構成することができる。当該コンピュータコードはROM1245又はRAM1246に記憶されてもよい。一時的なデータはRAM1246に記憶されることもでき、永久データは例えば内部大容量記憶装置1247に記憶されることができる。キャッシュメモリを使用することによって、記憶装置のいずれかへの高速ストレージ及び検索が可能になり、当該キャッシュメモリは1つ以上のCPU1241、GPU1242、大容量記憶装置1247、ROM1245、RAM1246などに密接に関連することができる。
コンピュータ可読媒体は、コンピュータが実現する様々な動作を実行するためのコンピュータコードをその上に有することができる。媒体とコンピュータコードは、本開示の目的のために、特別に設計及び構築される媒体とコンピュータコードであってもよいし、又は、コンピュータソフトウェアの当業者にとって周知であり、使用可能なタイプのものであってもよい。
限定ではなく例として、アーキテクチャ1200を有するコンピュータシステム、特に、コア1240は、(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形コンピュータ読み取り可能な媒体に実装されるソフトウェアを実行することで、機能を提供することができる。このようなコンピュータ読み取り可能な媒体は、上記のような、ユーザがアクセス可能な大容量記憶装置に関する媒体、及び例えばコア内部大容量記憶装置1247又はROM1245などの非一時的なコア1240の特定の記憶装置であってもよい。本開示の各実施形態を実現するのソフトウェアはこのような機器に記憶され、コア1240によって実行されることができる。特定のニーズに応じて、コンピュータ読み取り可能な媒体には1つ以上の記憶装置又はチップが含まれてもよい。ソフトウェアは、コア1240、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、本明細書では説明されている特定の処理又は特定の処理の特定の部分を実行させることができ、RAM1246に記憶されるデータ構成を限定すること、及びソフトウェアによって限定された処理によってこのようなデータ構成を修正することが含まれる。さらに又は代替として、コンピュータシステムは、ロジックハードワイヤード、又は他の形式で回路(例えば、アクセラレータ1244)に実装されることによって、機能を提供することができ、当該回路は、ソフトウェアの代わりに、又はソフトウェアとともに動作して、本明細書では説明されている特定の処理又は特定の処理の特定の部分を実行することができる。適切な場合、ソフトウェアに対する言及にはロジックが含まれ、逆に、ロジックに対する言及にはソフトウェアが含まれてもよい。適切な場合に、コンピュータ読み取り可能な媒体に対する言及には、実行のためのソフトウェアが記憶される回路(例えば、集積回路(IC))、実行のためのロジックを具現化する回路、又はそれらの両方が含まれてもよい。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを含む。
この開示は、いくつかの例示的な実施例を説明してきたが、本開示の範囲内に含まれる変更、置換、及び様々な代替均等物が存在する。従って、本明細書では明示的に示されていないか、又は記載されていないが、本開示の原理を具現化したのでその精神及び範囲内にある多数のシステム及び方法を当業者が考案できることは認識される。
付録A:頭字語:
高効率ビデオ符号化(HEVC)
符号化ユニット(CU)
予測ユニット(PU)
共同探査モデル(JEM7)
共同ビデオ探査グループ(JVET)
代替時間的動きベクトル予測(ATMVP)
時空間的動きベクトル予測(STMVP)
予測(P)スライス
双方向予測(B)スライス
レート歪み(RD)
時間的動きベクトル予測(TMVP)
コンテキスト適応型バイナリ算術符号化方式(CABAC)
多用途ビデオ符号化(VVC)
補助拡張情報(SEIメッセージ)
高効率ビデオ符号化(HEVC)
符号化ユニット(CU)
予測ユニット(PU)
共同探査モデル(JEM7)
共同ビデオ探査グループ(JVET)
代替時間的動きベクトル予測(ATMVP)
時空間的動きベクトル予測(STMVP)
予測(P)スライス
双方向予測(B)スライス
レート歪み(RD)
時間的動きベクトル予測(TMVP)
コンテキスト適応型バイナリ算術符号化方式(CABAC)
多用途ビデオ符号化(VVC)
補助拡張情報(SEIメッセージ)
Claims (20)
- ビデオシーケンスを符号化又は復号化する動きベクトルバッファを制御するための、プロセッサによって実行される方法であって、
前の符号化ツリーユニット(CTU)に関連付けられる動きベクトルセットを認識するステップであって、各動きベクトルがP×Qグリッドに関連付けられ、前記動きベクトルセットがN×Mグリッドに関連付けられるステップと、
前記動きベクトルセットに基づいて動きベクトルを決定するステップと、
前記N×Mグリッドに関連付けられる位置を含む候補ブロックに基づいて、前記動きベクトルバッファにおいて前記動きベクトルにアクセスするステップと、
を含む方法。 - 現在のCTUに関連付けられる別の動きベクトルを認識するステップであって、前記別の動きベクトルがP×Qグリッドに関連付けられるステップと、
前記P×Qグリッドに関連付けられる位置を含む候補ブロックに基づいて、前記動きベクトルバッファにおいて前記別の動きベクトルにアクセスするステップと、
をさらに含む請求項1に記載の方法。 - 前記動きベクトルセットの第1の行に関連付けられる第1の動きベクトルを認識するステップであって、前記動きベクトルセットが前記前のCTUに関連付けられるステップと、
前記動きベクトルを前記第1の動きベクトルとして決定するステップと、
をさらに含む請求項1又は2に記載の方法。 - 前記動きベクトルセットの各動きベクトルに基づいて平均動きベクトルを決定するステップと、
前記動きベクトルを前記平均動きベクトルとして決定するステップと、
をさらに含む請求項1又は2に記載の方法。 - 前記前のCTUの最後の行の最後行動きベクトルを決定するステップと、
前記動きベクトルを前記最後行動きベクトルとして決定するステップと、
をさらに含む請求項1又は2に記載の方法。 - N×Mは16×16である請求項1乃至5のうちいずれか一項に記載の方法。
- P×Qは4×4である請求項1乃至6のうちいずれか一項に記載の方法。
- NはMに等しくない請求項1乃至5及び7のうちいずれか一項に記載の方法。
- 前記動きベクトルセットに対して、変更された行番号を生成するステップと、
前記変更された行番号に基づいて、前記動きベクトルにアクセスするステップと、
をさらに含む請求項1又は2に記載の方法。 - アクセスされた動きベクトルは、前記動きベクトルを使用して前記ビデオシーケンスを符号化又は復号化することを可能にする請求項1乃至9のうちいずれか一項に記載の方法。
- ビデオシーケンスを符号化又は復号化する動きベクトルバッファを制御するための装置であって、
プログラムコードを記憶するように構成される少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードの指示に従って動作するように構成される少なくとも1つのプロセッサと、を含み、
前記プログラムコードは、
前記少なくとも1つのプロセッサに、前の符号化ツリーユニット(CTU)に関連付けられる動きベクトルセットを認識させるように構成される認識コードであって、各動きベクトルがP×Qグリッドに関連付けられ、前記動きベクトルセットがN×Mグリッドに関連付けられる認識コードと、
前記少なくとも1つのプロセッサに、前記動きベクトルセットに基づいて動きベクトルを決定させるように構成される決定コードと、
前記少なくとも1つのプロセッサに、前記N×Mグリッドに関連付けられる位置を含む候補ブロックに基づいて、前記動きベクトルバッファにおいて前記動きベクトルにアクセスさせるように構成されるアクセスコードと、
を含む装置。 - 前記プログラムコードが、前記少なくとも1つのプロセッサに、現在のCTUに関連付けられる別の動きベクトルを認識させるように構成される他の認識コードであって、前記別の動きベクトルがP×Qグリッドに関連付けられる他の認識コードをさらに含み、
前記アクセスコードは、前記少なくとも1つのプロセッサに、前記P×Qグリッドに関連付けられる位置を含む候補ブロックに基づいて、前記動きベクトルバッファにおいて前記別の動きベクトルにアクセスさせるように構成される、
請求項11に記載の装置。 - 前記プログラムコードが、前記少なくとも1つのプロセッサに、前記動きベクトルセットの第1の行に関連付けられる第1の動きベクトルを認識させるように構成される他の認識コードであって、前記動きベクトルセットが前記前のCTUに関連付けられる他の認識コードをさらに含み、
前記決定コードは、前記少なくとも1つのプロセッサに、前記動きベクトルを前記第1の動きベクトルとして決定させるように構成される、
請求項11又は12に記載の装置。 - 前記プログラムコードが、前記少なくとも1つのプロセッサに、前記動きベクトルセットの各動きベクトルに基づいて平均動きベクトルを決定させるように構成される他の決定コードをさらに含み、
前記決定コードは、前記少なくとも1つのプロセッサに、前記動きベクトルを前記平均動きベクトルとして決定させるように構成される、
請求項11又は12に記載の装置。 - 前記プログラムコードが、前記少なくとも1つのプロセッサに、前記前のCTUの最後の行の最後行動きベクトルを決定させるように構成される他の決定コードをさらに含み、
前記決定コードは、前記少なくとも1つのプロセッサに、前記動きベクトルを前記最後行動きベクトルとして決定させるように構成される、
請求項11又は12に記載の装置。 - N×Mは16×16である請求項11乃至15のうちいずれか一項に記載の装置。
- P×Qは4×4である請求項11乃至16のうちいずれか一項に記載の装置。
- NはMに等しくない請求項11乃至15及び17のうちいずれか一項に記載の装置。
- アクセスされた動きベクトルは、前記動きベクトルを使用して前記ビデオシーケンスを符号化又は復号化することを可能にする請求項11乃至18のうちいずれか一項に記載の装置。
- 1つ又は複数のプロセッサに、
前の符号化ツリーユニット(CTU)に関連付けられる動きベクトルセットを認識するステップであって、各動きベクトルはP×Qグリッドに関連付けられ、前記動きベクトルセットはN×Mグリッドに関連付けられる、ステップと、
前記動きベクトルセットに基づいて動きベクトルを決定するステップと、
前記N×Mグリッドに関連付けられる位置を含む候補ブロックに基づいて、前記動きベクトルバッファにおいて前記動きベクトルにアクセスするステップとを実行させるための、
コンピュータ・プログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862679580P | 2018-06-01 | 2018-06-01 | |
US62/679,580 | 2018-06-01 | ||
US16/233,953 US10798407B2 (en) | 2018-06-01 | 2018-12-27 | Methods and apparatus for inter prediction with a reduced above line buffer in video coding |
US16/233,953 | 2018-12-27 | ||
PCT/US2019/033445 WO2019231778A1 (en) | 2018-06-01 | 2019-05-22 | Methods and apparatus for inter prediction with a reduced above line buffer in video coding |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021517394A JP2021517394A (ja) | 2021-07-15 |
JP2021517394A5 true JP2021517394A5 (ja) | 2021-08-26 |
JP7061680B2 JP7061680B2 (ja) | 2022-04-28 |
Family
ID=68693407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020546138A Active JP7061680B2 (ja) | 2018-06-01 | 2019-05-22 | ビデオ符号化において縮減された前のラインバッファを使用するインター予測の方法及び装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10798407B2 (ja) |
EP (1) | EP3804326A4 (ja) |
JP (1) | JP7061680B2 (ja) |
KR (1) | KR102496419B1 (ja) |
CN (1) | CN112470475B (ja) |
WO (1) | WO2019231778A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3981157A4 (en) * | 2019-07-11 | 2022-07-06 | Huawei Technologies Co., Ltd. | MOTION FIELD STORAGE OPTIMIZATION FOR LINE BUFFER |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US20050259878A1 (en) * | 2004-05-20 | 2005-11-24 | Broadcom Corporation | Motion estimation algorithm |
US9100649B2 (en) * | 2010-02-10 | 2015-08-04 | Lg Electronics Inc. | Method and apparatus for processing a video signal |
WO2012174973A1 (en) * | 2011-06-20 | 2012-12-27 | Mediatek Inc. | Method and apparatus for line buffers reduction |
US9838684B2 (en) * | 2012-04-11 | 2017-12-05 | Qualcomm Incorporated | Wavefront parallel processing for video coding |
US9106922B2 (en) * | 2012-12-19 | 2015-08-11 | Vanguard Software Solutions, Inc. | Motion estimation engine for video encoding |
US10341638B2 (en) * | 2013-01-07 | 2019-07-02 | Mediatek Inc. | Method and apparatus of depth to disparity vector conversion for three-dimensional video coding |
CN108141603B (zh) * | 2015-09-25 | 2020-12-15 | 华为技术有限公司 | 视频编解码方法及视频编解码器 |
CN113612994B (zh) * | 2016-03-15 | 2023-10-27 | 寰发股份有限公司 | 具有仿射运动补偿的视频编解码的方法 |
JP6740549B2 (ja) * | 2016-03-16 | 2020-08-19 | 日本電気株式会社 | 動画像符号化装置、方法、プログラム、および動画像符号化システム |
WO2017210915A1 (en) * | 2016-06-09 | 2017-12-14 | Intel Corporation | Method and system of motion estimation with neighbor block pattern for video coding |
US11509930B2 (en) | 2016-07-12 | 2022-11-22 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and recording medium therefor |
US11638027B2 (en) * | 2016-08-08 | 2023-04-25 | Hfi Innovation, Inc. | Pattern-based motion vector derivation for video coding |
US10602180B2 (en) | 2017-06-13 | 2020-03-24 | Qualcomm Incorporated | Motion vector prediction |
-
2018
- 2018-12-27 US US16/233,953 patent/US10798407B2/en active Active
-
2019
- 2019-05-22 CN CN201980021965.XA patent/CN112470475B/zh active Active
- 2019-05-22 JP JP2020546138A patent/JP7061680B2/ja active Active
- 2019-05-22 WO PCT/US2019/033445 patent/WO2019231778A1/en unknown
- 2019-05-22 EP EP19812126.1A patent/EP3804326A4/en active Pending
- 2019-05-22 KR KR1020207029796A patent/KR102496419B1/ko active IP Right Grant
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7026249B2 (ja) | 映像復号化のための方法、装置及びコンピュータ・プログラム | |
JP7057448B2 (ja) | ビデオ圧縮における複数ラインのフレーム内予測のための方法および装置 | |
JP2021518088A (ja) | 小ブロックの予測と変換のための方法、装置、及びプログラム | |
JP7055485B2 (ja) | 映像符号化のための方法並びに、その、装置及びコンピュータプログラム | |
CN112806009B (zh) | 一种生成合并候选列表的方法和相关装置 | |
JP7027617B2 (ja) | ビデオエンコーディング及びデコーディングのための方法、装置、コンピュータプログラム、及び非一時的なコンピュータ可読媒体 | |
JP7457170B2 (ja) | サブブロックに基づく時間的動きベクトル予測のための方法並びにその機器及びコンピュータプログラム | |
CN110784711B (zh) | 生成用于视频序列编码或解码的合并候选列表的方法、装置 | |
JP2021519039A (ja) | 動画の符号化並びに復号の方法、装置及びコンピュータプログラム | |
JP2023126928A5 (ja) | ||
JP2021518091A (ja) | ビデオ符号化のための方法並びにその装置及びコンピュータプログラム | |
JP7420991B2 (ja) | ビデオ符号化のための方法、及び装置 | |
KR102637503B1 (ko) | 비디오 시퀀스의 디코딩 또는 인코딩을 위한 인트라-인터 예측 모드를 제어하기 위한 방법 및 장치 | |
KR102662633B1 (ko) | 네트워크 추상화 유닛 헤더에서의 타일 식별 | |
KR20220159464A (ko) | 디코더 측 인트라 모드 도출 | |
JP2021518093A (ja) | サブブロックの動きベクトル予測の方法、並びにその装置及びコンピュータプログラム | |
JP2024024115A5 (ja) | ||
JP2021516933A (ja) | ビデオ符号化の方法および装置 | |
JP2023547170A (ja) | 改善されたイントラ予測のための方法および装置 | |
JP2023126585A (ja) | マルチラインイントラ予測のためのモードリストを生成する方法、並びにその装置及びコンピュータプログラム | |
JP7189370B2 (ja) | Cuに基づく補間フィルタ選択のシグナリング | |
CN113728628B (zh) | 合并候选搜索方法和设备 | |
JP7061680B2 (ja) | ビデオ符号化において縮減された前のラインバッファを使用するインター予測の方法及び装置 | |
JP2023542333A (ja) | Dnnベースのクロスコンポーネント予測 | |
JP2021517394A5 (ja) |